.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);border:none;cursor:pointer;transition:var(--transition-base);outline:none;text-decoration:none;min-height:44px;position:relative;padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base);background-color:transparent;color:var(--color-text-primary)}.button--full-width{width:100%}.button--size-sm{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.button--size-md{padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base)}.button--size-lg{padding:var(--space-lg) var(--space-xl);font-size:var(--font-size-lg);min-height:48px}.button--variant-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.button--variant-primary:hover:not(:disabled),.button--variant-primary:focus-visible{background-color:var(--color-primary-dark)}.button--variant-primary:active:not(:disabled){background-color:var(--color-primary-active)}.button--variant-secondary{background-color:transparent;color:var(--color-primary);border:1.5px solid var(--color-border)}.button--variant-secondary:hover:not(:disabled),.button--variant-secondary:focus-visible{background-color:var(--color-bg-hover);border-color:var(--color-primary)}.button--variant-secondary:active:not(:disabled){background-color:var(--color-primary-surface);color:var(--color-primary)}.button--variant-subtle{background-color:transparent;color:var(--color-text-secondary)}.button--variant-subtle:hover:not(:disabled),.button--variant-subtle:focus-visible{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.button:disabled{cursor:not-allowed;opacity:.6;background-color:var(--color-bg-secondary);color:var(--color-text-muted)}.button:disabled.button--variant-secondary{border-color:var(--color-border);background-color:transparent}.button:focus-visible{box-shadow:0 0 0 3px var(--color-focus-default)}.button__icon{display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.button__spinner{display:inline-flex;width:16px;height:16px;animation:button-spinner 1s linear infinite}.button__spinner svg{width:16px;height:16px}.button--loading{pointer-events:none}@keyframes button-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background-color:var(--color-overlay);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:modal-overlay-fade .2s var(--transition-base) forwards;overflow:hidden;overscroll-behavior:contain;touch-action:none}.modal-overlay--sheet{align-items:flex-end;padding:0}.modal-overlay--keyboard{align-items:flex-start;padding-top:var(--space-xl)}.modal-content{background-color:var(--color-bg-card);color:var(--color-text-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modal-slide-up .3s var(--transition-base) forwards;outline:none;min-height:0;position:relative}.modal-content--sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:100%;animation:modal-slide-up-mobile .35s cubic-bezier(.32,.72,0,1) forwards;touch-action:pan-y}.modal-content--keyboard{margin-top:var(--space-lg);max-height:calc(100dvh - var(--space-2xl))}.modal-content--sm{max-width:24rem}.modal-content--md{max-width:32rem}.modal-content--lg{max-width:48rem;border-radius:28px;box-shadow:0 24px 48px #2a2a281f,0 8px 16px #2a2a2814;background:linear-gradient(135deg,var(--color-bg-card) 0%,var(--color-secondary-50, #faf9f7) 100%)}.modal-content--xl{max-width:64rem}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl);border-bottom:1px solid var(--color-border);gap:var(--space-md);flex-shrink:0}.modal-content--sheet .modal-header{padding:calc(var(--space-lg) + env(safe-area-inset-top,0px)) var(--space-lg) var(--space-md)}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.modal-close-button{background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-xs);min-width:44px;min-height:44px;border-radius:var(--radius-md);transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}.modal-close-button:hover,.modal-close-button:focus-visible{background-color:var(--color-bg-hover);color:var(--color-text-primary);outline:none}.modal-body{padding:var(--space-xl);flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0}.modal-content--sheet .modal-body{padding:var(--space-lg);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px))}.modal-footer{padding:var(--space-xl);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-md);flex-wrap:wrap;flex-shrink:0}.modal-content--sheet .modal-footer{padding:var(--space-md) var(--space-lg) calc(var(--space-lg) + env(safe-area-inset-bottom,0px))}@media (max-width: 767px){.modal-content{max-width:100%}.modal-content:not(.modal-content--sheet){margin:0 var(--space-xs)}.modal-content--lg{border-radius:0;background:var(--color-bg-card);box-shadow:none}}@keyframes modal-overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modal-slide-up-mobile{0%{transform:translateY(100%) translateZ(0);opacity:0}to{transform:translateY(0) translateZ(0);opacity:1}}.container{width:100%;max-width:100%;margin:0 auto;padding:0 var(--space-lg);box-sizing:border-box}@media (max-width: 767px){.container{padding:0 var(--space-md)}}@media (max-width: 480px){.container{padding:0 var(--space-sm)}}@media (max-width: 360px){.container{padding:0 var(--space-xs)}}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.tabs__tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background-color:transparent;color:var(--color-text-secondary);border:1.5px solid var(--color-border);cursor:pointer;transition:var(--transition-fast);min-height:44px;min-width:44px;outline:none}.tabs__tab:hover:not(.tabs__tab--active),.tabs__tab:focus-visible:not(.tabs__tab--active){background-color:var(--color-bg-hover);color:var(--color-text-primary)}.tabs__tab:focus-visible{box-shadow:0 0 0 3px var(--color-focus-default)}.tabs__tab--active{background-color:var(--color-bg-card);color:var(--color-primary);border-color:var(--color-primary)}.tabs__icon{display:inline-flex;align-items:center;justify-content:center}.toast-container{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:var(--z-index-toast);display:flex;flex-direction:column;gap:var(--space-sm);align-items:flex-end}.toast{background-color:var(--color-bg-card);color:var(--color-text-primary);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-md);min-width:280px;max-width:400px;border-left:4px solid var(--color-border);transition:var(--transition-base)}.toast--visible{opacity:1;transform:translate(0)}.toast--hidden{opacity:0;transform:translate(100%)}.toast__icon{width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-white);flex-shrink:0}.toast--success{border-left-color:var(--color-success)}.toast--success .toast__icon{background-color:var(--color-success)}.toast--error{border-left-color:var(--color-error)}.toast--error .toast__icon{background-color:var(--color-error)}.toast--warning{border-left-color:var(--color-warning)}.toast--warning .toast__icon{background-color:var(--color-warning)}.toast--info{border-left-color:var(--color-info)}.toast--info .toast__icon{background-color:var(--color-info)}.toast__message{margin:0;flex:1;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.toast__close-button{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-xs);font-size:var(--font-size-xl);line-height:1;transition:var(--transition-fast);min-width:32px;min-height:32px;border-radius:var(--radius-md)}.toast__close-button:hover,.toast__close-button:focus-visible{color:var(--color-text-primary);background-color:var(--color-bg-hover);outline:none}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:max(100dvh,calc(var(--app-vh, 1vh) * 100));padding:var(--space-3xl);background-color:var(--color-bg);text-align:center}.error-boundary__content{display:flex;flex-direction:column;gap:var(--space-lg);max-width:640px;width:100%}.error-boundary__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.error-boundary__description{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}.error-boundary__details{margin:0;text-align:left}.error-boundary__details summary{cursor:pointer;margin-bottom:var(--space-sm);font-weight:var(--font-weight-medium)}.error-boundary__stack{padding:var(--space-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);overflow:auto;font-size:var(--font-size-sm);margin:0}@media (max-width: 767px){.copy-field-wrapper>div{flex-direction:column!important}.copy-field-wrapper>div>div:last-child{width:100%!important}.copy-field-wrapper button{flex:1}}.form-actions{position:sticky;bottom:0;width:100%;padding:var(--space-lg);padding-bottom:calc(var(--space-lg) + max(env(safe-area-inset-bottom,0px),var(--safe-area-bottom, 0px)));background-color:var(--color-bg-card);border-top:1px solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;z-index:var(--z-index-base);box-shadow:var(--shadow-md)}.form-actions--end{justify-content:flex-end}@media (max-width: 767px){.form-actions{margin-bottom:env(safe-area-inset-bottom,0px);padding:var(--space-md);padding-bottom:calc(var(--space-md) + max(env(safe-area-inset-bottom,0px),var(--safe-area-bottom, 0px)))}.form-actions.keyboard-visible{margin-bottom:0}}*{word-wrap:break-word;overflow-wrap:break-word;text-wrap:balance}html,body{overflow-x:hidden;max-width:100%}@media (max-width: 767px){[class*=card]{min-width:0;max-width:100%}}@media (max-width: 767px){h1{font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}h2{font-size:var(--font-size-xl);line-height:var(--line-height-tight)}h3{font-size:var(--font-size-lg);line-height:var(--line-height-normal)}p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}}@media (max-width: 480px){h1,h2,h3{margin-bottom:var(--space-md)}p{margin-bottom:var(--space-sm)}}:root{--color-primary: #8b6f5f;--color-primary-light: #a68a79;--color-primary-dark: #6b5244;--color-primary-hover: #6e5647;--color-primary-active: #513d32;--color-primary-surface: #f6f1eb;--color-primary-50: #f6f1eb;--color-primary-100: #ede9e4;--color-primary-200: #ddd4cc;--color-secondary: #b8a389;--color-secondary-light: #ccbca8;--color-secondary-dark: #a08d6f;--color-secondary-soft: #ccbca8;--color-secondary-50: #faf9f7;--color-secondary-100: #f5f2ee;--color-accent-purple: #7a7a65;--color-accent-pink: #7a7a65;--color-accent: #7a7a65;--color-success: #6e8b59;--color-success-soft: #7f9666;--color-success-hover: #4d6239;--color-success-active: #3e4d2e;--color-success-surface: #f2f5f0;--color-error: #c46a55;--color-error-soft: #dc8c77;--color-error-hover: #a84f3a;--color-error-active: #863e2e;--color-error-surface: #fcf5f3;--color-warning: #c8954a;--color-warning-soft: #d8ad77;--color-warning-surface: #fcf9f3;--color-info: #587089;--color-info-surface: #f3f5f7;--color-bg: #f6f1eb;--color-bg-secondary: #f5f5f3;--color-bg-card: #ffffff;--color-bg-elevated: #ffffff;--color-bg-hover: #f5f5f3;--color-text: #2e2a27;--color-text-primary: #2e2a27;--color-text-secondary: #5f5852;--color-text-muted: #8c847c;--color-text-tertiary: #b8b8b2;--color-text-inverse: #ffffff;--color-border: rgba(0, 0, 0, .1);--color-border-hover: #d4d4cf;--color-border-light: #f5f5f3;--color-border-dark: #d4d4cf;--color-moved-surface: #f8f1e3;--color-active-surface: #f2f5f0;--color-slot-free: #22c55e;--color-slot-busy: #ef4444;--color-slot-break: #f59e0b;--color-slot-non-working: #9ca3af;--color-overlay: rgba(42, 42, 40, .5);--color-overlay-light: rgba(42, 42, 40, .3);--color-overlay-dark: rgba(42, 42, 40, .75);--color-focus-primary: rgba(139, 111, 95, .12);--color-focus-success: rgba(95, 122, 72, .15);--color-focus-error: rgba(201, 101, 74, .15);--color-focus-default: rgba(139, 111, 95, .12);--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f6f1eb;--color-gray-100: #f5f5f3;--color-gray-200: rgba(0, 0, 0, .1);--color-gray-300: #d4d4cf;--color-gray-400: #b8b8b2;--color-gray-500: #8c847c;--color-gray-600: #787873;--color-gray-700: #5f5852;--color-gray-800: #42423f;--color-gray-900: #2e2a27;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--space-4xl: 64px;--space-5xl: 96px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 24px;--radius-full: 9999px;--radius-pill: 10px;--shadow-sm: 0 1px 3px 0 rgba(42, 42, 40, .06), 0 1px 2px -1px rgba(42, 42, 40, .06);--shadow-md: 0 4px 6px -1px rgba(42, 42, 40, .08), 0 2px 4px -2px rgba(42, 42, 40, .08);--shadow-lg: 0 10px 15px -3px rgba(42, 42, 40, .1), 0 4px 6px -4px rgba(42, 42, 40, .1);--shadow-xl: 0 20px 25px -5px rgba(42, 42, 40, .1), 0 8px 10px -6px rgba(42, 42, 40, .1);--shadow-primary: 0 4px 14px 0 rgba(139, 111, 95, .15);--shadow-primary-hover: 0 6px 20px 0 rgba(139, 111, 95, .2);--font-family-base: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-base: .2s cubic-bezier(.16, 1, .3, 1);--transition-slow: .3s cubic-bezier(.16, 1, .3, 1);--z-index-base: 1;--z-index-dropdown: 100;--z-index-nav: 1000;--z-index-modal: 1050;--z-index-toast: 1070}[data-theme=dark]{--color-bg: #2a2a28;--color-bg-secondary: #42423f;--color-bg-card: #42423f;--color-bg-elevated: #5e5e59;--color-bg-hover: #5e5e59;--color-text: #fafaf9;--color-text-primary: #fafaf9;--color-text-secondary: #d4d4cf;--color-text-muted: #b8b8b2;--color-text-tertiary: #969690;--color-text-inverse: #2a2a28;--color-border: #5e5e59;--color-border-hover: rgba(255, 255, 255, .12);--color-border-light: #787873;--color-border-dark: #42423f;--color-primary: #b09888;--color-primary-light: #c9b9ad;--color-primary-dark: #8b6f5f;--color-primary-hover: #8b6f5f;--color-primary-active: #6b5244;--color-primary-surface: #261f19;--color-secondary: #ccbca8;--color-secondary-light: #ddd2c3;--color-secondary-dark: #b8a389;--color-success: #7f9666;--color-success-soft: #a5b890;--color-success-surface: #1f2818;--color-error: #dc8c77;--color-error-soft: #e8b2a3;--color-error-surface: #4f2319;--color-warning: #d8ad77;--color-warning-soft: #e5c9a3;--color-warning-surface: #4d3519;--color-info: #7790a8;--color-info-surface: #1d262f;--color-overlay: rgba(0, 0, 0, .75);--color-overlay-light: rgba(0, 0, 0, .5);--color-overlay-dark: rgba(0, 0, 0, .85);--color-slot-free: #22c55e;--color-slot-busy: #ef4444;--color-slot-break: #f59e0b;--color-slot-non-working: #9ca3af;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .5), 0 1px 2px -1px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .6), 0 2px 4px -2px rgba(0, 0, 0, .6);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .7), 0 4px 6px -4px rgba(0, 0, 0, .7);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .8), 0 8px 10px -6px rgba(0, 0, 0, .8);--shadow-primary: 0 4px 14px 0 rgba(139, 111, 95, .3);--shadow-primary-hover: 0 6px 20px 0 rgba(139, 111, 95, .4)}html{scroll-behavior:smooth}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary-surface);color:var(--color-primary)}:root{--app-vh: 1vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-tap-highlight-color:var(--color-focus-primary);overflow-x:hidden;min-height:100dvh}@media (max-width: 767px){button,a,input[type=button],input[type=submit],[role=button]{min-height:44px;min-width:44px}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.fade-in{animation:fadeIn .4s ease-out}button,a,input,textarea,select{transition:all var(--transition-base)}input,textarea{font-size:16px!important}@media (min-width: 768px){input[size=lg],textarea[size=lg]{font-size:1.125rem!important}}@media (max-width: 767px){html{height:100%;height:-webkit-fill-available}body{min-height:100%;min-height:-webkit-fill-available}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}
