:root{color-scheme:light dark;--bg:light-dark(#f4f5f7,#121619);--panel:light-dark(#fff,#1c2227);--text:light-dark(#222c33,#ebeff2);--muted:light-dark(#626e79,#a5b0b9);--border:light-dark(#dfe5e8,#35414a);--accent:light-dark(#245b48,#9ecfb9);--accent-bg:light-dark(#e8f0ec,#283f34);--danger:light-dark(#b33f3f,#ffaaa2);--shadow:0 8px 35px light-dark(#1d35400a,#00000025)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,p{margin:0}h1{font-size:30px;font-weight:600;letter-spacing:-.03em}h2{font-size:16px;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{border:1px solid var(--border);background:var(--panel);color:var(--text);padding:8px 13px;border-radius:8px;cursor:pointer;min-height:40px}button:hover{background:var(--accent-bg)}button:disabled{cursor:wait;opacity:.65}input,select{width:100%;min-height:42px;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:8px 10px;border-radius:7px}input[type=date]{width:auto}input[type=file]{font-size:12px}label{display:grid;gap:7px}small,.small{font-size:12px}.muted{color:var(--muted)}.error{color:var(--danger)}.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.primary:hover{background:var(--accent);filter:brightness(1.1)}.quiet{border:0;background:transparent;padding:5px 8px}.full{width:100%;margin-top:12px}.brand{font-size:13px;letter-spacing:.05em;color:var(--accent);font-weight:600}.badge{border-radius:5px;padding:3px 8px;background:var(--accent-bg);color:var(--accent);font-size:12px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:15px 4%;background:var(--panel);border-bottom:1px solid var(--border)}.top-actions{display:flex;align-items:center;gap:18px;color:var(--muted)}.app-main{max-width:1320px;margin:auto;padding:32px 32px 22px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.eyebrow{color:var(--muted);font-size:12px}.page-heading h1{margin:5px 0}.page-heading p{color:var(--muted)}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.summary,.panel{border:1px solid var(--border);background:var(--panel);border-radius:12px;box-shadow:var(--shadow)}.summary{padding:18px 22px}.summary>span{color:var(--muted)}.summary strong{font-size:30px;font-weight:500;display:block;margin:6px 0;font-variant-numeric:tabular-nums}.summary small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:22px}.panel{padding:20px;margin-bottom:20px;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:13px}.section-heading>.muted{font-size:12px}.empty{padding:15px 0;color:var(--muted);font-size:13px}.task{display:flex;gap:12px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--border)}.task:last-child{border-bottom:0}.task-body{flex:1;min-width:0}.task-title{font-size:14px;font-weight:500;overflow-wrap:anywhere}.task-meta{font-size:12px;color:var(--muted);margin-top:5px;display:flex;gap:10px;flex-wrap:wrap}.task button{min-width:76px;font-size:12px;flex-shrink:0}.task.selected button{background:var(--accent-bg);color:var(--accent)}.task.completed .task-title{text-decoration:line-through;color:var(--muted)}.task-checklist{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:12px}.overdue{color:var(--danger)}.health-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.health-row>span{color:var(--muted)}.health-row>b{font-weight:500;font-variant-numeric:tabular-nums}.panel>.small{margin-top:10px}.source{padding:12px 0;border-bottom:1px solid var(--border)}.source-heading{display:flex;justify-content:space-between;gap:10px}.source small{display:block;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.status-ok{color:var(--accent)}.status-pending{color:var(--muted)}.status-error{color:var(--danger)}#verification-result{padding-top:14px}#notice{padding:12px 15px;background:var(--accent-bg);border-radius:8px;margin-bottom:18px}#notice.error{background:var(--panel);border:1px solid var(--danger)}summary{cursor:pointer;font-weight:500}footer{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;padding:8px 0;flex-wrap:wrap}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,420px);padding:32px;border:1px solid var(--border);background:var(--panel);border-radius:15px;box-shadow:var(--shadow);display:grid;gap:19px}.login-card h1{font-size:25px}.login-card>p{color:var(--muted)}dialog{width:min(520px,calc(100% - 30px));background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:25px}dialog::backdrop{background:#0008}dialog form{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:850px){.page-heading{align-items:flex-start;flex-direction:column}.dashboard-grid{grid-template-columns:1fr}.app-main{padding:24px 18px}.summary-grid{gap:10px}.summary{padding:14px}.summary strong{font-size:25px}}
@media(max-width:480px){.summary-grid{grid-template-columns:1fr}.summary{display:grid;grid-template-columns:1fr auto;align-items:center}.summary strong{margin:0}.summary small{grid-column:1/-1;margin-top:4px}.toolbar{width:100%}.toolbar input{flex:1;min-width:130px}.panel{padding:16px}.task{gap:8px}.task button{min-width:65px;padding:7px}.form-grid{grid-template-columns:1fr}.topbar{padding:13px 18px}.top-actions{gap:5px}button{min-height:44px}input,select{font-size:16px}}
