:root{color-scheme:light;--color-primary: #5645d4;--color-primary-focus: #4534b3;--color-primary-deep: #3a2a99;--color-primary-on-dark: #b3a5ff;--color-on-primary: #ffffff;--color-nav-black: #0a1530;--color-ink: #1a1a1a;--color-ink-muted-80: #37352f;--color-ink-muted-48: #787671;--color-body-on-dark: #ffffff;--color-body-muted-dark: rgba(255, 255, 255, .72);--color-canvas: #ffffff;--color-canvas-parchment: #fafaf9;--color-surface-pearl: #f6f5f4;--color-surface-tile-1: #1a2a52;--color-surface-tile-2: #1f3268;--color-surface-chip: rgba(10, 21, 48, .08);--color-hairline: #e5e3df;--color-divider-soft: #ede9e4;--status-success: #1aae39;--status-success-bg: rgba(26, 174, 57, .1);--status-warning: #dd5b00;--status-warning-bg: rgba(221, 91, 0, .1);--status-danger: #e03131;--status-danger-bg: rgba(224, 49, 49, .1);--status-info: var(--color-primary);--status-info-bg: rgba(86, 69, 212, .1);--tf-page: var(--color-canvas-parchment);--tf-panel: var(--color-canvas);--tf-border: var(--color-hairline);--tf-border-soft: rgba(10, 21, 48, .08);--tf-text: var(--color-ink);--tf-muted: var(--color-ink-muted-48);--tf-subhead: var(--color-ink-muted-80);--tf-pearl: var(--color-surface-pearl);--tf-nav: var(--color-nav-black);--tf-glass-bg: rgba(255, 255, 255, .78);--tf-glass-border: rgba(10, 21, 48, .06);--tf-focus-ring: rgba(86, 69, 212, .2);--card-tint-peach: #ffe8d4;--card-tint-rose: #fde0ec;--card-tint-mint: #d9f3e1;--card-tint-lavender: #e6e0f5;--card-tint-sky: #dcecfa;--card-tint-yellow: #fef7d6;--card-tint-yellow-bold: #f9e79f;--card-tint-cream: #f8f5e8;--bg: var(--tf-page);--surface: var(--tf-pearl);--card: var(--tf-panel);--raised: var(--color-surface-pearl);--line: var(--tf-border);--line-2: var(--tf-border-soft);--line-3: var(--color-divider-soft);--t1: var(--tf-text);--t2: var(--tf-muted);--t3: var(--color-ink-muted-48);--green: var(--status-success);--green-bg: var(--status-success-bg);--yellow: var(--status-warning);--yellow-bg: var(--status-warning-bg);--red: var(--status-danger);--red-bg: var(--status-danger-bg);--indigo: var(--color-primary);--indigo-bg: var(--status-info-bg);--r: 8px;--r-lg: 11px;--r-xl: 18px;--r-pill: 9999px;--t: .12s ease;--font-display: "Inter", "Notion Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ui: "Inter", "Notion Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root[data-theme=dark]{color-scheme:dark;--color-primary: #8b75ff;--color-primary-focus: #a89aff;--color-primary-deep: #6856e6;--color-primary-on-dark: #b3a5ff;--color-on-primary: #ffffff;--color-nav-black: #050a1c;--color-ink: #f1f0ec;--color-ink-muted-80: #d4d3cf;--color-ink-muted-48: #9b9a93;--color-body-on-dark: #ffffff;--color-body-muted-dark: rgba(255, 255, 255, .65);--color-canvas: #1f1f1f;--color-canvas-parchment: #161616;--color-surface-pearl: #262626;--color-surface-tile-1: #1a1a1a;--color-surface-tile-2: #232323;--color-surface-chip: rgba(255, 255, 255, .1);--color-hairline: #373737;--color-divider-soft: #2a2a2a;--status-success: #2cc54a;--status-success-bg: rgba(44, 197, 74, .16);--status-warning: #ff8c3d;--status-warning-bg: rgba(255, 140, 61, .16);--status-danger: #ff5a5a;--status-danger-bg: rgba(255, 90, 90, .16);--status-info: var(--color-primary);--status-info-bg: rgba(139, 117, 255, .16);--tf-page: var(--color-canvas-parchment);--tf-panel: var(--color-canvas);--tf-border: var(--color-hairline);--tf-border-soft: rgba(255, 255, 255, .1);--tf-text: var(--color-ink);--tf-muted: var(--color-ink-muted-48);--tf-subhead: var(--color-ink-muted-80);--tf-pearl: var(--color-surface-pearl);--tf-nav: var(--color-nav-black);--tf-glass-bg: rgba(31, 31, 31, .78);--tf-glass-border: rgba(255, 255, 255, .08);--tf-focus-ring: rgba(139, 117, 255, .32)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{min-height:100%;background:var(--tf-page);color:var(--tf-text);font-family:var(--font-ui);font-size:17px;font-weight:400;line-height:1.47;letter-spacing:-.022em;-webkit-font-smoothing:antialiased;transition:background var(--t),color var(--t)}#root{min-height:100vh;display:flex;flex-direction:column}h1{font-family:var(--font-display);font-size:28px;font-weight:600;line-height:1.14;letter-spacing:-.02em;color:var(--tf-text)}h2{font-family:var(--font-display);font-size:21px;font-weight:600;line-height:1.19;letter-spacing:.01em;color:var(--tf-text)}h3{font-size:14px;font-weight:600;line-height:1.29;letter-spacing:-.016em;color:var(--tf-text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-hairline);border-radius:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 22px;border-radius:var(--r-pill);font-size:17px;font-weight:400;font-family:inherit;letter-spacing:-.022em;line-height:1;cursor:pointer;transition:transform var(--t),opacity var(--t),border-color var(--t),background var(--t),color var(--t);border:1px solid transparent;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--color-primary-focus);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-focus);border-color:var(--color-primary-focus)}.btn-ghost{background:var(--tf-panel);color:var(--color-primary);border:1px solid var(--tf-border-soft)}.btn-ghost:hover:not(:disabled){background:var(--tf-pearl);border-color:var(--tf-border);color:var(--color-primary-focus)}.btn-danger{background:var(--status-danger-bg);color:var(--status-danger);border-color:var(--status-danger-bg)}.btn-danger:hover:not(:disabled){background:var(--status-danger-bg);opacity:.85}.btn-sm{padding:8px 16px;font-size:14px;letter-spacing:-.016em}.btn-lg{padding:14px 28px;font-size:18px;font-weight:300}.btn-icon{padding:8px;border-radius:var(--r-lg)}.input,.select,textarea.input{width:100%;background:var(--tf-panel);color:var(--tf-text);border:1px solid var(--tf-border-soft);border-radius:var(--r-pill);padding:12px 20px;min-height:44px;font-size:17px;font-family:inherit;letter-spacing:-.022em;line-height:1.2;transition:border-color var(--t),box-shadow var(--t),background var(--t),color var(--t);outline:none}.input::placeholder{color:var(--tf-muted)}.input:focus,.select:focus,textarea.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--tf-focus-ring)}.select{cursor:pointer;border-radius:var(--r-lg);padding-inline:16px}.select option{background:var(--tf-panel);color:var(--tf-text)}textarea.input{resize:vertical;border-radius:var(--r-lg);line-height:1.47;min-height:100px}.card{background:var(--tf-panel);border:1px solid var(--tf-border);border-radius:var(--r-xl)}.tf-panel{background:var(--tf-panel);border:1px solid var(--tf-border);border-radius:var(--r-xl);overflow:hidden;transition:background var(--t),border-color var(--t)}.tf-panel-head{padding:13px 16px;border-bottom:1px solid var(--tf-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.tf-panel-body{padding:16px}.tf-stat-mini{padding:12px 14px;border:1px solid var(--tf-border);border-radius:var(--r-lg);background:var(--tf-panel);min-width:0}.badge{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:500;letter-spacing:-.01em}.badge-green{background:var(--green-bg);color:var(--green);border:1px solid transparent}.badge-yellow{background:var(--yellow-bg);color:var(--yellow);border:1px solid transparent}.badge-red{background:var(--red-bg);color:var(--red);border:1px solid transparent}.badge-indigo{background:var(--indigo-bg);color:var(--indigo);border:1px solid transparent}.badge-muted{background:var(--tf-pearl);color:var(--tf-muted);border:1px solid var(--tf-border)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn var(--t)}.modal{background:var(--tf-panel);border:1px solid var(--tf-border);border-radius:var(--r-xl);width:100%;max-width:460px;padding:24px;animation:modalIn .18s cubic-bezier(.2,0,0,1)}.tf-date-field .input-date,.tf-date-field .input-time,input.input-date[type=date],input.input-time[type=time]{color-scheme:light dark}input.input-date::-webkit-calendar-picker-indicator,input.input-time::-webkit-calendar-picker-indicator{opacity:.72;cursor:pointer}input.input-date::-webkit-calendar-picker-indicator:hover,input.input-time::-webkit-calendar-picker-indicator:hover{opacity:1}.divider{border:none;border-top:1px solid var(--tf-border);margin:0}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--tf-focus-ring);border-top-color:var(--color-primary);animation:spin .6s linear infinite}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:12px;font-weight:600;color:var(--tf-subhead);letter-spacing:-.01em}.form-error{font-size:14px;color:var(--status-danger)}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:52px 20px;color:var(--tf-muted);text-align:center}.tf-fab{position:fixed;bottom:28px;right:28px;z-index:40;width:52px;height:52px;border-radius:50%;background:var(--color-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--t),background var(--t);box-shadow:0 6px 18px -8px #5645d48c}.tf-fab:hover{background:var(--color-primary-focus)}.tf-fab:active{transform:scale(.95)}.tf-fab:focus-visible{outline:2px solid var(--color-primary-focus);outline-offset:3px}.tf-stat-row>div:last-child{border-right:none}.tf-nav-global{height:44px;background:var(--tf-nav);border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:0 22px;flex-shrink:0}.tf-subnav{min-height:52px;background:var(--tf-glass-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--tf-glass-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0;flex-wrap:wrap;gap:12px;transition:background var(--t),border-color var(--t)}.tf-table thead{background:var(--tf-pearl)}.tf-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--tf-muted);text-align:left;padding:10px 14px;border-bottom:1px solid var(--tf-border)}.tf-table td{padding:11px 14px;font-size:14px;border-bottom:1px solid var(--color-divider-soft)}.tf-row-hover:focus-within,.tf-row-hover:hover{background:var(--tf-pearl)}.tf-select-inline{background:var(--tf-pearl);border:1px solid var(--tf-border);color:var(--tf-text);border-radius:var(--r-lg);padding:6px 12px;font-size:13px;font-family:inherit;outline:none;cursor:pointer;transition:border-color var(--t),background var(--t),color var(--t)}.tf-select-inline:focus{border-color:var(--color-primary)}.tf-theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:36px;height:36px;border-radius:var(--r-lg);background:var(--tf-pearl);border:1px solid var(--tf-border);color:var(--tf-subhead);cursor:pointer;font-family:inherit;transition:background var(--t),color var(--t),border-color var(--t),transform var(--t)}.tf-theme-toggle:hover{color:var(--tf-text);border-color:var(--tf-border);background:var(--tf-panel)}.tf-theme-toggle:active{transform:scale(.94)}.tf-theme-toggle:focus-visible{outline:2px solid var(--color-primary-focus);outline-offset:2px}.tf-theme-toggle-on-dark{background:#ffffff1a;border-color:#ffffff2e;color:var(--color-body-on-dark)}.tf-theme-toggle-on-dark:hover{background:#ffffff29;border-color:#ffffff4d;color:var(--color-body-on-dark)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}
