:root{--bg: #f7f8f9;--surface: #ffffff;--column-bg: #f1f2f4;--card-hover: #f7f8f9;--text: #172b4d;--text-subtle: #5e6c84;--border: #dfe1e6;--border-strong: #c1c7d0;--hover: rgba(9, 30, 66, .08);--selected: #e9f2ff;--primary: #0c66e4;--primary-hover: #0055cc;--danger: #c9372c;--danger-bg: #ffeceb;--success: #216e4e;--success-bg: #dcfff1;--input-bg: #ffffff;--shadow-sm: 0 1px 1px rgba(9, 30, 66, .25), 0 0 1px rgba(9, 30, 66, .31);--shadow-lg: 0 8px 24px rgba(9, 30, 66, .25), 0 0 1px rgba(9, 30, 66, .31);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1d2125;--surface: #22272b;--column-bg: #161a1d;--card-hover: #2c333a;--text: #dee4ea;--text-subtle: #9fadbc;--border: #38414a;--border-strong: #596773;--hover: rgba(161, 189, 217, .1);--selected: #1c2b41;--primary: #579dff;--primary-hover: #85b8ff;--danger: #f87168;--danger-bg: #42221f;--success: #7ee2b8;--success-bg: #1c3329;--input-bg: #1d2125;--shadow-sm: 0 1px 1px rgba(0, 0, 0, .5), 0 0 1px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);color-scheme:dark}}:root[data-theme=dark]{--bg: #1d2125;--surface: #22272b;--column-bg: #161a1d;--card-hover: #2c333a;--text: #dee4ea;--text-subtle: #9fadbc;--border: #38414a;--border-strong: #596773;--hover: rgba(161, 189, 217, .1);--selected: #1c2b41;--primary: #579dff;--primary-hover: #85b8ff;--danger: #f87168;--danger-bg: #42221f;--success: #7ee2b8;--success-bg: #1c3329;--input-bg: #1d2125;--shadow-sm: 0 1px 1px rgba(0, 0, 0, .5), 0 0 1px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.43}h1,h2,h3{color:var(--text);font-weight:600}input:not([type=color]),select,textarea{font:inherit;color:var(--text);background:var(--input-bg);border:2px solid var(--border);border-radius:4px;padding:6px 8px;outline:none;transition:border-color .15s}input:not([type=color]):hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:not([type=color]):focus,select:focus,textarea:focus{border-color:var(--primary)}textarea{resize:vertical;line-height:1.5}.field{display:flex;flex-direction:column;gap:4px}.field>span{font-size:12px;font-weight:600;color:var(--text-subtle)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:none;border-radius:4px;font:inherit;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .1s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-primary{color:#1d2125}}.btn-subtle{background:var(--hover);color:var(--text)}.btn-subtle:hover:not(:disabled){background:#091e4224}.btn-danger-subtle{background:var(--danger-bg);color:var(--danger)}.btn-danger-subtle:hover:not(:disabled){filter:brightness(.96)}.btn-link{background:none;color:var(--primary);padding:0 4px;height:auto}.btn-link:hover{text-decoration:underline}.btn-block{width:100%;height:40px}.btn-icon{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:none;color:var(--text-subtle);font-size:16px;cursor:pointer}.btn-icon:hover{background:var(--hover);color:var(--text)}.spacer{flex:1}.alert{padding:10px 12px;border-radius:4px;background:var(--danger-bg);color:var(--danger);font-size:14px}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#091e428a;animation:fade-in .12s ease-out}.modal{width:100%;max-width:480px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--surface);border-radius:6px;box-shadow:var(--shadow-lg);overflow:hidden}.modal-lg{max-width:860px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 8px}.modal-header h2{margin:0;font-size:20px}.modal-body{padding:12px 24px 16px;overflow-y:auto}.modal-footer{display:flex;align-items:center;gap:8px;padding:12px 24px 20px}@keyframes fade-in{0%{opacity:0}}@media print{.topbar{display:none!important}body{background:#fff}}
