:root{color-scheme:dark;--bg: #0b0f14;--panel: #141b24;--panel-2: #1b2430;--border: #2a3440;--text: #e8edf2;--muted: #8ba0b4;--accent: #f4c430;--off: #4da3ff;--on: #5ad1a0;--tr: #f4c430;--sb: #e8694a;--danger: #e8694a}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}#app{max-width:520px;margin:0 auto;padding-bottom:72px;min-height:100vh}@media (min-width: 860px){#app,.tabbar{max-width:1400px}.screen{column-width:420px;column-gap:16px}.screen>.panel{break-inside:avoid;margin:0 0 16px}}h1,h2,h3{margin:0 0 8px}h1{font-size:1.2rem}h2{font-size:1rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;position:sticky;top:0;background:var(--bg);z-index:5;border-bottom:1px solid var(--border)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px;margin:12px}.row{display:flex;align-items:center;gap:8px}.row.between{justify-content:space-between}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field label{font-size:.78rem;color:var(--muted)}input,select,textarea{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px;font-size:.95rem;width:100%;font-family:inherit}textarea{resize:vertical}button{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 14px;font-size:.9rem;cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#1a1400;font-weight:600}button.danger{border-color:var(--danger);color:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed}button.icon{padding:8px 10px}.grid-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.day-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--panel-2);border:1px solid var(--border);font-size:.82rem;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.day-cell.off{background:color-mix(in srgb,var(--off) 30%,var(--panel-2));border-color:var(--off)}.day-cell.on{background:color-mix(in srgb,var(--on) 30%,var(--panel-2));border-color:var(--on)}.day-cell.tr{background:color-mix(in srgb,var(--tr) 30%,var(--panel-2));border-color:var(--tr)}.day-cell.sb{background:color-mix(in srgb,var(--sb) 30%,var(--panel-2));border-color:var(--sb)}.day-cell .loc{position:absolute;bottom:2px;font-size:.5rem;color:var(--muted)}.brushes{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.brush-btn{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);font-size:.8rem}.brush-btn.active{outline:2px solid var(--text)}.brush-btn.off.active{background:var(--off);color:#06111c}.brush-btn.on.active{background:var(--on);color:#061c14}.brush-btn.tr.active{background:var(--tr);color:#1a1400}.brush-btn.sb.active{background:var(--sb);color:#1a0a04}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--panel);border-top:1px solid var(--border);max-width:520px;margin:0 auto}.tabbar button{flex:1;background:none;border:none;border-radius:0;padding:12px 4px;color:var(--muted);font-size:.78rem}.tabbar button.active{color:var(--accent)}.muted{color:var(--muted);font-size:.85rem}.pipeline{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0}.pill{padding:4px 10px;border-radius:999px;font-size:.75rem;background:var(--panel-2);border:1px solid var(--border);color:var(--muted)}.pill.done{background:var(--on);border-color:var(--on);color:#061c14}table{width:100%;border-collapse:collapse;font-size:.85rem}td,th{padding:6px 4px;border-bottom:1px solid var(--border);text-align:left}th{color:var(--muted);font-weight:500}.total-row td{font-weight:600;border-top:1px solid var(--border);border-bottom:none}.job-card{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--border);padding:8px 14px;border-radius:8px;font-size:.85rem;z-index:20}
