:root{color-scheme:light;--bg: #f4f5f7;--surface: #ffffff;--surface-2: #eceef1;--surface-3: #e2e5e9;--border: #d8dbe0;--border-strong: #b9bec6;--text: #16181d;--text-muted: #61666e;--text-faint: #8b9099;--primary: #3b5bdb;--primary-hover: #314cc0;--primary-soft: #e5e9fb;--on-primary: #ffffff;--danger: #d63939;--danger-soft: #fbe6e6;--success: #2f9e44;--success-soft: #e3f5e7;--warning: #e8940c;--warning-soft: #fdf0da;--today: #fff4d6;--shadow-1: 0 1px 2px rgb(16 18 22 / 8%), 0 1px 3px rgb(16 18 22 / 6%);--shadow-2: 0 10px 30px rgb(16 18 22 / 14%), 0 2px 8px rgb(16 18 22 / 8%);--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--header-height: 56px;--nav-height: 60px;--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #101216;--surface: #191c21;--surface-2: #21252b;--surface-3: #2a2f36;--border: #2e333a;--border-strong: #414750;--text: #e7e9ec;--text-muted: #9ba1aa;--text-faint: #757c86;--primary: #7d95f7;--primary-hover: #93a7f9;--primary-soft: #232a45;--on-primary: #0f1218;--danger: #f06a6a;--danger-soft: #3a2225;--success: #58c46f;--success-soft: #1e3225;--warning: #f0aa3c;--warning-soft: #3a2f1c;--today: #33301f;--shadow-1: 0 1px 2px rgb(0 0 0 / 40%);--shadow-2: 0 12px 32px rgb(0 0 0 / 55%)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}h1,h2,h3,h4{margin:0;font-weight:650;line-height:1.25}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font-size:13px;font-weight:600;color:var(--text-muted)}.input,.select,.textarea{width:100%;padding:11px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:16px;transition:border-color .15s ease}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);outline:none}.textarea{min-height:90px;resize:vertical}.checkbox{display:flex;gap:10px;align-items:center;padding:8px 0;font-size:15px;cursor:pointer}.checkbox input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);flex:none}.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:42px;padding:0 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-icon{min-width:42px;padding:0 10px}.btn-sm{min-height:34px;padding:0 10px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.chip{display:inline-flex;gap:6px;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.muted{color:var(--text-muted)}.empty{padding:40px 20px;color:var(--text-muted);text-align:center}.page{padding:14px}.page-title{font-size:20px}.row{display:flex;gap:10px;align-items:center}.spread{display:flex;gap:10px;align-items:center;justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.grow{flex:1;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cdk-drag-preview{border-radius:var(--radius-sm);box-shadow:var(--shadow-2);opacity:.95}.cdk-drag-placeholder{opacity:.35}.cdk-drag-animating,.cdk-drop-list-dragging .cdk-drag:not(.cdk-drag-placeholder){transition:transform .2s cubic-bezier(0,0,.2,1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
