:root{color-scheme:light;--bg:#f8f1e2;--surface:#fffdf8;--surface-strong:#14342b;--border:#e4d6c0;--text:#17372d;--muted:#61756c;--accent:#0f766e;--accent-soft:#e2f3ef;--warning:#c46c12;--warning-soft:#fff3df;--success:#11845b;--success-soft:#e7f8f0;--danger:#b34545;--danger-soft:#fbe7e7}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:linear-gradient(180deg,#fbf5e9 0,var(--bg) 100%);color:var(--text);font-family:Avenir Next,Segoe UI,sans-serif}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.page-shell{min-height:100vh;padding:32px 20px 48px}.dashboard-shell{display:grid;grid-gap:20px;gap:20px;max-width:1180px;margin:0 auto}.hero-card,.metric-card,.nav-card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:28px;box-shadow:0 10px 30px rgba(20,52,43,.06)}.hero-card{padding:28px;display:grid;grid-gap:18px;gap:18px}.hero-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}.hero-title{margin:0;font-size:2.2rem;line-height:1.1}.hero-subtitle{margin:8px 0 0;color:var(--muted);font-size:1rem;line-height:1.7;max-width:680px}.chart-stats,.form-grid,.hero-actions,.inline-actions,.metric-grid,.nav-links,.range-switcher,.task-summary{display:flex;gap:12px;flex-wrap:wrap}.button,.button-muted,.button-secondary,.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:16px;border:none;cursor:pointer;transition:.16s ease}.button{background:var(--surface-strong);color:#fffdf8;font-weight:700}.button-secondary{background:var(--accent-soft);color:var(--accent);font-weight:700}.button-muted,.nav-link{background:#f1e8d8;color:#355449;font-weight:700}.nav-link.active{background:var(--surface-strong);color:#fffdf8}.grid-2{grid-gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{display:grid;gap:20px}.grid-3{grid-gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card,.nav-card,.panel{padding:22px}.empty-text,.helper-text,.meta,.metric-label,.panel-kicker,.small-text{color:var(--muted)}.metric-value{margin-top:8px;font-size:2rem;font-weight:800}.panel{display:grid;grid-gap:16px;gap:16px}.metric-card h3,.panel h2,.panel h3{margin:0}.stack{display:grid;grid-gap:14px;gap:14px}.list{display:grid;grid-gap:10px;gap:10px}.alert-row,.list-row,.rule-row,.schedule-row,.task-row{display:grid;grid-gap:6px;gap:6px;padding:14px 0;border-top:1px solid #eee4d4}.alert-row:first-child,.list-row:first-child,.rule-row:first-child,.schedule-row:first-child,.task-row:first-child{border-top:none;padding-top:0}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;font-size:.9rem;font-weight:700}.badge.pending{background:var(--warning-soft);color:var(--warning)}.badge.done{background:var(--success-soft);color:var(--success)}.badge.overdue{background:var(--danger-soft);color:var(--danger)}.field{display:grid;grid-gap:8px;gap:8px}.field label{color:var(--muted);font-size:.95rem}.input,.select,.textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:#fffaf2;color:var(--text)}.textarea{min-height:110px;resize:vertical}.banner{padding:14px 16px;border-radius:16px;font-weight:700}.banner.success{background:var(--success-soft);color:var(--success)}.banner.error{background:var(--danger-soft);color:var(--danger)}.chart-wrap{display:grid;grid-gap:16px;gap:16px}.chart-scroll{overflow-x:auto;padding-bottom:6px}.bar-chart{display:flex;flex-direction:row-reverse;align-items:flex-end;gap:12px;min-height:280px;min-width:max-content}.bar-col{width:42px;display:grid;grid-gap:8px;gap:8px;justify-items:center}.bar-value{font-size:.85rem;font-weight:700}.bar-track{width:20px;height:180px;border-radius:999px;background:#efe5d5;display:flex;align-items:flex-end;overflow:hidden}.bar-fill{width:100%;border-radius:999px}.bar-fill.in-range{background:var(--accent)}.bar-fill.out-range{background:var(--warning)}.bar-label{text-align:center;font-size:.78rem;color:var(--muted);line-height:1.4}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,480px);background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:28px;box-shadow:0 10px 30px rgba(20,52,43,.08);display:grid;grid-gap:18px;gap:18px}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}.page-shell{padding:20px 14px 40px}.hero-card,.metric-card,.nav-card,.panel{border-radius:22px;padding:18px}.hero-title{font-size:1.8rem}}