:root{color-scheme:light;--background:#f5f1eb;--foreground:#0f1c2e;--muted:#5c6b7a;--panel:#ffffff;--panel-soft:#faf7f2;--line:#ddd3c4;--accent:#b4975a;--accent-strong:#8a7344;--accent-soft:#ede4d3;--warning:#a35f0f;--danger:#a33b2f;--brand-navy:#1b365d}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-hero{width:min(1120px,100%);display:grid;grid-template-columns:1.1fr 420px;grid-gap:32px;gap:32px;align-items:center}.login-hero h1{max-width:720px;margin:0 0 18px;font-size:52px;line-height:1.05}.login-hero p{max-width:640px;margin:0;color:var(--muted);font-size:20px;line-height:1.45}.login-card,.main-panel,.side-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px}.login-card{padding:28px;display:grid;grid-gap:16px;gap:16px}.login-card h2{margin:0;font-size:32px}.hint{color:var(--muted);font-size:14px;line-height:1.4}.app-shell{min-height:100vh}.app-topbar{min-height:76px;background:var(--panel);border-bottom:1px solid var(--line);padding:14px 28px;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{font-size:20px;font-weight:800}.topbar-subtitle{color:var(--muted);font-size:14px;margin-top:2px}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.user-badge{border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:var(--panel-soft);color:var(--muted)}.workspace{width:min(1320px,calc(100% - 32px));margin:0 auto;padding:28px 0;display:grid;grid-template-columns:310px 1fr;grid-gap:20px;gap:20px;align-items:start}.main-panel,.side-panel{padding:22px}.side-panel{position:-webkit-sticky;position:sticky;top:92px}.eyebrow,.panel-title{color:var(--accent);font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}.main-panel h1,.side-panel h2{margin:8px 0 18px}.metric{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.metric span,.summary-list span,.task-meta{color:var(--muted)}.metric strong{font-size:24px}.progress{height:10px;border-radius:8px;background:#dfe6dc;overflow:hidden;margin:14px 0 18px}.progress div{height:100%;background:var(--accent)}.summary-list{display:grid;grid-gap:12px;gap:12px}.summary-list div{display:grid;grid-gap:4px;gap:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-head h1{margin:4px 0 0;font-size:32px}.task-card,.task-list{display:grid;grid-gap:12px;gap:12px}.task-card{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:14px}.task-card.done{border-color:#9bc9b8;background:#f3fbf7}.task-main{display:grid;grid-template-columns:112px 1fr 44px;grid-gap:14px;gap:14px;align-items:start}.time-chip{color:var(--warning);font-weight:800}.task-text{font-size:17px;line-height:1.35}.task-meta{margin-top:6px;font-size:14px}.check-action{width:40px;height:40px;border:1px solid var(--accent);border-radius:8px;background:white;color:var(--accent);font-size:24px;line-height:1}.check-action.checked{background:var(--accent);color:white}.task-tools{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;grid-gap:10px;gap:10px;align-items:center}.field input,.field select,.task-tools input{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 12px;background:white}.file-button,.ghost-button,.link-button,.secondary,.small-button{border-radius:8px;border:1px solid var(--line);background:white;color:var(--foreground);padding:10px 12px}.file-button{position:relative;overflow:hidden;text-align:center}.file-button input{position:absolute;inset:0;opacity:0}.file-name{color:var(--muted);font-size:14px}.link-button{color:var(--danger)}.primary{border:0;border-radius:8px;padding:12px 14px;background:var(--accent);color:white;font-weight:800}.ghost-button:hover,.link-button:hover,.primary:hover,.secondary:hover,.small-button:hover{filter:brightness(.96)}.secondary{background:var(--accent-soft);border-color:#b6d8ca;color:var(--accent-strong);font-weight:700}.field{display:grid;grid-gap:7px;gap:7px}.field span{color:var(--muted);font-size:14px}.tabs{display:grid;grid-gap:8px;gap:8px}.tabs button{width:100%;border:1px solid var(--line);border-radius:8px;background:white;padding:12px;text-align:left}.tabs button.active{background:var(--accent);border-color:var(--accent);color:white}.admin-form{display:grid;grid-template-columns:1.2fr .8fr 180px auto;grid-gap:12px;gap:12px;align-items:end;margin-bottom:18px}.table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.table-row{display:grid;grid-template-columns:1fr .7fr .7fr;grid-gap:12px;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);align-items:center;background:white}.table-row:last-child{border-bottom:0}.table-row span{color:var(--muted)}.checklist-admin-row{grid-template-columns:120px 1fr auto}.export-box{border:1px solid var(--line);border-radius:8px;background:#111827;color:#e5e7eb;padding:16px;overflow:auto}.export-box pre{margin:0;font-size:13px;line-height:1.45}@media (max-width:920px){.admin-form,.login-hero,.workspace{grid-template-columns:1fr}.side-panel{position:static}.task-tools{grid-template-columns:1fr 84px}.file-name,.link-button{grid-column:1/-1}}@media (max-width:640px){.login-page{padding:12px}.login-hero h1{font-size:36px}.app-topbar,.section-head{align-items:stretch;flex-direction:column}.topbar-actions{justify-content:flex-start}.workspace{width:min(100% - 20px,1320px);padding:18px 0}.task-main{grid-template-columns:82px 1fr 40px}.checklist-admin-row,.table-row{grid-template-columns:1fr}}.offline-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,rgba(180,151,90,.18),transparent 42%),var(--background)}.offline-card{width:min(520px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:32px;display:grid;grid-gap:16px;gap:16px;box-shadow:0 18px 40px rgba(15,28,46,.08)}.offline-brand{margin:0;color:var(--accent);font-size:13px;letter-spacing:.14em;text-transform:uppercase}.offline-card h1{margin:0;color:var(--brand-navy);font-size:28px}.offline-card p{margin:0;color:var(--muted);line-height:1.5}