:root{color-scheme:light;--background:#f7f8fb;--panel:#ffffff;--panel-muted:#f1f4f8;--text:#17202e;--muted:#647084;--border:#d8dee8;--accent:#16756f;--accent-strong:#105d59;--warning:#b45309;--danger:#b42318;--blue:#2f67d8;--shadow:0 10px 30px rgba(24,33,48,0.08)}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:var(--accent-strong);font-weight:700;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;min-height:100vh;grid-template-columns:260px minmax(0,1fr)}.sidebar{border-right:1px solid var(--border);background:#101820;color:#f8fafc;padding:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:750;letter-spacing:0}.brand-mark{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:var(--accent);color:white}.workspace-block{margin-top:26px}.eyebrow{margin:0 0 8px;color:#94a3b8;font-size:12px;font-weight:650;text-transform:uppercase}.workspace-select{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.08);color:#f8fafc;padding:10px 12px}.nav-list{display:grid;grid-gap:4px;gap:4px;margin-top:24px}.nav-item{display:flex;align-items:center;gap:10px;border-radius:8px;color:#cbd5e1;padding:10px 12px}.nav-item.active{background:rgba(255,255,255,.1);color:#ffffff}.main{min-width:0}.topbar{justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.88);padding:16px 24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search,.topbar{display:flex;align-items:center}.search{min-width:min(520px,100%);gap:10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:9px 12px;color:var(--muted)}.search input{width:100%;border:0;outline:0}.toolbar{display:flex;align-items:center;gap:8px}.icon-button,.primary-button,.secondary-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:0 12px}.icon-button{width:38px;background:var(--panel);color:var(--muted);padding:0}.primary-button{border-color:var(--accent);background:var(--accent);color:white;font-weight:700}.secondary-button{background:var(--panel);color:var(--text)}.content{display:grid;grid-gap:18px;gap:18px;padding:22px 24px 32px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.page-header h1{margin:0;font-size:28px;line-height:1.2}.page-header p{margin:6px 0 0;color:var(--muted)}.view-tabs{display:flex;flex-wrap:wrap;gap:6px}.view-tab{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:8px 10px;color:var(--muted);font-weight:650}.view-tab.active{border-color:rgba(22,117,111,.32);background:#e7f4f2;color:var(--accent-strong)}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:18px;gap:18px}.panel{border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:14px 16px}.panel-header h2{margin:0;font-size:15px}.task-list,.task-row{display:grid}.task-row{grid-template-columns:28px minmax(0,1fr) 100px 120px;align-items:center;grid-gap:12px;gap:12px;border-bottom:1px solid var(--border);padding:12px 16px}.task-row:last-child{border-bottom:0}.check{width:18px;height:18px;border:2px solid var(--border);border-radius:50%}.task-title{min-width:0}.task-title span,.task-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta,.task-title span{color:var(--muted);font-size:13px}.badge{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;border-radius:999px;background:var(--panel-muted);padding:4px 8px;color:var(--muted);font-size:12px;font-weight:700}.badge.warning{background:#fff7ed;color:var(--warning)}.badge.danger{background:#fef3f2;color:var(--danger)}.side-stack{display:grid;grid-gap:18px;gap:18px}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;padding:16px}.metric{border:1px solid var(--border);border-radius:8px;background:var(--panel-muted);padding:14px}.metric strong{display:block;font-size:24px}.metric span{color:var(--muted);font-size:13px}.note-list{display:grid;grid-gap:10px;gap:10px;padding:16px}.note{border:1px solid var(--border);border-radius:8px;padding:12px}.note strong{display:block;margin-bottom:4px}.surface-state{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:12px;color:var(--muted)}.surface-state span,.surface-state strong{display:block}.surface-state strong{color:var(--text)}.surface-state.permission-denied{border-color:#fedf89;background:#fffbeb}.surface-state.retryable-error{border-color:#fecdca;background:#fef3f2}.auth-page{display:grid;min-height:100vh;place-items:center;padding:24px}.auth-card{display:grid;width:min(420px,100%);grid-gap:20px;gap:20px;border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:24px;box-shadow:var(--shadow)}.auth-brand{color:var(--text)}.auth-card h1{margin:0;font-size:26px}.auth-card p{margin:6px 0 0;color:var(--muted)}.auth-form{display:grid;grid-gap:14px;gap:14px}.auth-status{background:var(--panel-muted)}.auth-status p{color:var(--muted)}.auth-status-error{color:var(--danger)!important}.auth-status-success{color:var(--accent-strong)!important}.auth-form label{color:var(--text);font-size:14px;font-weight:700}.auth-form input{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px}.auth-form .primary-button{width:100%}.auth-status{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:12px}.auth-status p{margin:0;font-size:13px}.auth-state-copy{color:var(--text);font-weight:600}.auth-status-error{color:#b42318}.auth-status-success{color:#067647}.auth-links{display:flex;justify-content:space-between;gap:12px;font-size:14px}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:680px){.page-header,.topbar{align-items:stretch;flex-direction:column}.toolbar{justify-content:space-between}.content{padding:18px 14px 28px}.task-row{grid-template-columns:24px minmax(0,1fr)}.task-row .badge,.task-row .meta{grid-column:2}}