:root{--ink:#242321;--muted:#716d67;--paper:#f6f5f2;--card:#fff;--line:#e5e2dc;--blue:#1671c4;--blue-soft:#edf6ff;--teal:#26897d;--orange:#c86b25;--orange-soft:#fff2e7;--shadow:rgba(0,0,0,.04) 0 4px 18px,rgba(0,0,0,.025) 0 2px 8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:"lnum"}body:before{content:"";display:block;height:5px;background:var(--ink)}button,input,textarea,select{font:inherit}button{border:1px solid transparent;border-radius:5px;padding:9px 15px;cursor:pointer;font-weight:650;transition:.15s ease}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9dccf4;outline-offset:2px}.primary{background:var(--blue);color:#fff}.primary:hover{background:#0f5b9e}.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.ghost:hover{background:#eceae5}.shell{max-width:1180px;margin:auto;padding:32px 28px 64px}.brand{font-size:12px;font-weight:750;letter-spacing:.13em;color:var(--ink)}.brand-mark{display:inline-block;color:var(--blue);font-size:16px;margin-right:5px}h1{font-size:clamp(42px,6vw,68px);line-height:1;letter-spacing:-2.1px;margin:14px 0 16px;font-weight:700}h1 em{font-style:normal;color:var(--blue)}h2{font-size:30px;line-height:1.15;letter-spacing:-.7px;margin:7px 0;font-weight:700}h3{font-size:21px;line-height:1.2;margin:7px 0;font-weight:700;letter-spacing:-.25px}h4{font-size:14px;margin:0;font-weight:650}.muted{color:var(--muted)}.intro{font-size:18px;max-width:460px}.small{font-size:13px}.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--muted);font-weight:750}.login{max-width:520px;margin:11vh auto}.login-form{margin-top:30px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:var(--shadow)}label{display:grid;gap:7px;font-size:13px;font-weight:650;margin:10px 0}input,textarea,select{width:100%;border:1px solid #d8d5cf;border-radius:5px;padding:10px 11px;color:var(--ink);background:#fff}textarea{min-height:76px;resize:vertical}.login-form button{width:100%;margin-top:10px;display:flex;justify-content:space-between}.error{color:#b4493e;font-size:13px;min-height:18px}.privacy-note{font-size:12px;color:var(--muted);margin-top:18px}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.top-subtitle{margin:3px 0 0;color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:15px}.secure-label{font-size:12px;color:var(--teal)}.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:70px 0 42px}.hero-row .muted{max-width:530px;font-size:17px}.hero-button{margin-bottom:8px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.stat,.focus-panel,.category,.records-section,.form-card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.stat{padding:17px 18px}.stat strong{display:block;font-size:27px;line-height:1.2;margin:8px 0 3px}.stat span:last-child{font-size:12px;color:var(--muted)}.stat-warn strong,.stat-warn .eyebrow{color:var(--orange)}.focus-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px;margin-bottom:54px;background:var(--blue-soft);border-color:#d8eafa}.focus-panel h2{font-size:24px}.focus-panel .muted{margin:6px 0 0}.focus-flags{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;max-width:580px}.flag{border-radius:999px;padding:8px 11px;font-size:12px}.flag.normal{color:var(--teal);background:#eaf8f4}.flag.warning{color:#9a5a20;background:var(--orange-soft)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.indicator-section{margin-bottom:50px}.section-head .muted{max-width:590px;margin:8px 0 0}.legend{display:flex;gap:14px;color:var(--muted);font-size:12px;white-space:nowrap}.legend span{display:flex;align-items:center;gap:6px}.dot,.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot.normal,.status-dot.normal{background:var(--teal)}.dot.warning,.status-dot.warning{background:var(--orange)}.category{margin-top:12px;overflow:hidden}.category-head{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;border-bottom:1px solid var(--line);background:#fbfaf8}.category-head>div{display:flex;align-items:center;gap:11px}.category-head h3{margin:0;font-size:18px}.category-index{font:12px ui-monospace,monospace;color:var(--blue)}.category-count{color:var(--muted);font-size:12px}.indicator-grid{display:grid;grid-template-columns:repeat(2,1fr)}.indicator{min-height:147px;padding:17px 18px;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.indicator:nth-child(odd){border-right:1px solid var(--line)}.indicator:nth-last-child(-n+2){border-bottom:0}.indicator-title{display:flex;align-items:center;gap:8px}.indicator-value{display:flex;align-items:baseline;gap:6px;margin-top:12px}.indicator-value strong{font-size:26px;letter-spacing:-.5px}.indicator-value span{font-size:12px;color:var(--muted)}.range{font-size:11px;color:var(--muted);margin-top:2px}.range b{color:var(--orange);font-weight:650}.mini-trend{width:128px;align-self:center;color:var(--blue)}.mini-trend svg{display:block;width:100%;height:42px;overflow:visible}.mini-trend circle{fill:var(--card);stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}.trend-label,.trend-dates{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.trend-label{margin-bottom:7px}.trend-dates{margin-top:4px}.no-history{align-self:center;text-align:right;color:#aaa49d;font-size:11px;line-height:1.4}.no-history span{font-size:10px}.is-warning .mini-trend{color:var(--orange)}.records-section{padding:21px;margin-bottom:20px}.record{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:17px 0}.record:first-of-type{border-top:0}.record h3{font-size:18px}.record p{margin:4px 0 0;color:var(--muted);font-size:13px}.date{font-size:11px;letter-spacing:.09em;color:var(--blue);font-weight:750}.record-meta{display:grid;grid-template-columns:auto auto;gap:0 8px;text-align:right;min-width:105px}.record-meta strong{font-size:20px}.record-meta span{color:var(--muted);font-size:11px}.record-status{grid-column:span 2;color:var(--teal)!important;margin-top:5px}.form-card{padding:22px;margin-top:20px}.grid{display:grid;grid-template-columns:1fr 2fr;gap:15px}.marker-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:7px;align-items:end;margin:8px 0}.marker-row input{font-size:12px;padding:9px}.marker-row button{padding:8px 11px;background:#f8ebe8;color:#a34c3d}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.upload-help{display:grid;gap:4px;padding:16px;background:var(--blue-soft);border:1px solid #d8eafa;border-radius:8px;font-size:13px}.upload-help span{color:var(--muted);font-size:12px}.upload-form{display:flex;align-items:flex-end;gap:14px;margin-top:14px}.upload-form label{flex:1;margin:0}.manual-divider{border-top:1px solid var(--line);margin:24px 0 10px;text-align:center}.manual-divider span{position:relative;top:-11px;padding:0 10px;background:#fff;color:var(--muted);font-size:11px}.date-control{display:none}.link-button{display:inline-block;text-decoration:none}.settings-page{max-width:820px;margin:12vh auto}.settings-card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:24px;margin-top:28px}.settings-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.status-badge{padding:7px 10px;border-radius:999px;font-size:12px;background:#eee;color:var(--muted)}.status-badge.connected{color:var(--teal);background:#eaf8f4}.status-badge.fallback{color:#7d67a7;background:#f5f1fa}.status-badge.error-badge{color:#a34c3d;background:#f8ebe8}.settings-link{margin:24px 0;text-align:right}.settings-link a{color:var(--blue);font-size:13px}.stale-key{background:#eadcf8}.upload-help{display:grid;gap:4px;padding:16px;background:var(--blue-soft);border:1px solid #d8eafa;border-radius:8px;font-size:13px}.upload-help span{color:var(--muted);font-size:12px}.upload-form{display:flex;align-items:flex-end;gap:14px;margin-top:14px}.upload-form label{flex:1;margin:0}.review-card{margin-top:20px;border:1px solid #b7d7f3;background:#fbfdff;border-radius:8px;padding:18px}.review-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.review-ai,.new-tag{background:#e4f2ff;color:var(--blue);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:750}.review-summary{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0;color:var(--muted);font-size:12px}.review-new{color:var(--blue)}.review-out{color:var(--orange)}.review-result{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;align-items:center;border-top:1px solid var(--line);padding:9px 0;font-size:12px}.review-result strong{text-align:right}.review-result strong small,.review-range{color:var(--muted);font-weight:400}.review-result-out{background:#fff0df;margin:0 -8px;padding-left:8px;padding-right:8px;color:#9a5a20}.review-result-name{display:flex;align-items:center;gap:7px}.review-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:12px}.manual-divider{border-top:1px solid var(--line);margin:24px 0 10px;text-align:center}.manual-divider span{position:relative;top:-11px;padding:0 10px;background:#fff;color:var(--muted);font-size:11px}.matrix-key{display:flex;gap:14px}.matrix-key span{display:inline-flex;align-items:center}.stale-key{background:#eadcf8}@media(max-width:760px){.upload-form{display:block}.upload-form button{width:100%;margin-top:10px}}.matrix-key{display:flex;gap:14px}.matrix-key span{display:inline-flex;align-items:center}.latest-column{font-weight:700}@media(max-width:760px){.upload-form{display:block}.upload-form button{width:100%;margin-top:10px}}footer{text-align:center;color:var(--muted);font-size:12px;margin-top:34px}.user-picker{display:grid;gap:2px;margin:0;min-width:150px}.user-picker span{font-size:10px;letter-spacing:.1em;color:var(--muted)}.user-picker select{padding:6px 8px}.admin-list{display:grid;gap:0}.admin-item{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);padding:12px 0}.admin-item>div:first-child{display:grid;gap:2px}.admin-item span{color:var(--muted);font-size:12px}.admin-actions{display:flex;align-items:center;gap:8px}.danger{background:#f8ebe8;color:#a34c3d;border-color:#f0d3cd}.admin-create{display:grid;grid-template-columns:2fr 1fr 100px auto;gap:8px;margin-top:15px}.settings-link{margin:24px 0;text-align:right}.settings-link a{color:var(--blue);font-size:13px}@media(max-width:760px){.admin-create{grid-template-columns:1fr 1fr}.admin-create input:first-child{grid-column:span 2}.admin-create button{grid-column:span 2}.user-picker{min-width:110px}}.review-card{margin-top:20px;border:1px solid #b7d7f3;background:#fbfdff;border-radius:8px;padding:18px}.review-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.review-ai,.new-tag{background:#e4f2ff;color:var(--blue);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:750}.review-summary{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0;color:var(--muted);font-size:12px}.review-new{color:var(--blue)}.review-out{color:var(--orange)}.review-result{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;align-items:center;border-top:1px solid var(--line);padding:9px 0;font-size:12px}.review-result strong{text-align:right}.review-result strong small,.review-range{color:var(--muted);font-weight:400}.review-result-out{background:#fff0df;margin:0 -8px;padding-left:8px;padding-right:8px;color:#9a5a20}.review-result-name{display:flex;align-items:center;gap:7px}.review-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:12px}.settings-link{margin:24px 0;text-align:right}.settings-link a{color:var(--blue);font-size:13px}@media(max-width:760px){.review-result{grid-template-columns:1fr 1fr}.review-result .review-range{grid-column:span 2}.review-actions{display:grid;grid-template-columns:1fr}.upload-form{display:block}.upload-form button{width:100%;margin-top:10px}}.review-card{margin-top:20px;border:1px solid #b7d7f3;background:#fbfdff;border-radius:8px;padding:18px}.review-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.review-ai,.new-tag{background:#e4f2ff;color:var(--blue);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:750}.review-summary{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0;color:var(--muted);font-size:12px}.review-new{color:var(--blue)}.review-out{color:var(--orange)}.review-result{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;align-items:center;border-top:1px solid var(--line);padding:9px 0;font-size:12px}.review-result strong{text-align:right}.review-result strong small,.review-range{color:var(--muted);font-weight:400}.review-result-out{background:#fff0df;margin:0 -8px;padding-left:8px;padding-right:8px;color:#9a5a20}.review-result-name{display:flex;align-items:center;gap:7px}.review-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:12px}.settings-link{margin:24px 0;text-align:right}.settings-link a{color:var(--blue);font-size:13px}@media(max-width:760px){.review-result{grid-template-columns:1fr 1fr}.review-result .review-range{grid-column:span 2}.review-actions{display:grid;grid-template-columns:1fr}.upload-form{display:block}.upload-form button{width:100%;margin-top:10px}}@media(max-width:760px){.shell{padding:24px 15px 45px}.hero-row{display:block;padding:48px 0 30px}.hero-button{margin-top:20px}.summary{grid-template-columns:repeat(2,1fr)}.focus-panel{display:block}.focus-flags{justify-content:flex-start;margin-top:17px}.section-head{display:block}.legend{margin-top:14px}.indicator-grid{grid-template-columns:1fr}.indicator:nth-child(odd){border-right:0}.indicator:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.indicator:last-child{border-bottom:0}.mini-trend{width:118px}.grid{grid-template-columns:1fr}.marker-row{grid-template-columns:1fr 1fr 1fr}.marker-row input:first-child{grid-column:span 3}.marker-row button{grid-column:span 3}.top-actions .secure-label{display:none}}@media(max-width:420px){h1{font-size:45px}.summary{gap:7px}.stat{padding:13px}.stat strong{font-size:23px}.indicator{display:block}.mini-trend{width:100%;margin-top:17px}.no-history{text-align:left;margin-top:15px}.record-meta{min-width:80px}}
/* Design direction: warm Notion-like neutrals, whisper borders, restrained blue CTA. */
/* Source: popular-web-designs/templates/notion.md */
.view-nav{display:flex;gap:4px;background:#eeece7;border-radius:6px;padding:3px}.nav-button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:6px 11px}.nav-button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #00000012}.hero-actions{display:flex;align-items:flex-end;gap:12px}.date-control{display:grid;gap:5px;margin:0;min-width:205px}.date-control span{font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:750}.date-control select{padding:9px 10px}.stat-stale strong,.stat-stale .eyebrow{color:#7d67a7}.indicator.is-stale{background:#f5f1fa;border-color:#e4d9f1}.status-dot.stale{background:#8e76b8}.stale-note{font-size:10px;color:#7d67a7;margin-top:5px}.matrix-view{margin-top:42px}.matrix-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.matrix-intro h2{margin-bottom:5px}.matrix-key{font-size:12px;color:var(--muted);white-space:nowrap}.cell-key{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}.warning-key{background:#ffe0c2}.matrix-scroll{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.matrix-table{width:100%;min-width:1020px;border-collapse:separate;border-spacing:0;font-size:12px}.matrix-table th,.matrix-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 11px;text-align:center;white-space:nowrap}.matrix-table thead th{background:#fbfaf8;color:var(--muted);font-size:11px;font-weight:700;position:sticky;top:0;z-index:2}.matrix-table thead th small{display:block;color:var(--blue);font-size:9px;margin-top:2px}.matrix-table .matrix-label{position:sticky;left:0;text-align:left;background:#fff;z-index:1;min-width:210px;font-weight:650}.matrix-table thead .matrix-label{z-index:3;background:#fbfaf8}.matrix-trend-column{position:sticky;left:210px;z-index:1;width:150px;min-width:150px;background:#fff}.matrix-table thead .matrix-trend-column{z-index:3;background:#fbfaf8}.matrix-table .latest-column{position:sticky;left:360px;z-index:1;background:#f1f8fe;box-shadow:5px 0 8px -8px #24232199}.matrix-table thead .latest-column{z-index:3;background:#f1f8fe}.matrix-trend-column svg{display:block;width:120px;height:34px;margin:auto;color:var(--blue)}.matrix-trend-column circle{fill:var(--card);stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}.trend-empty{color:#c5c0b9}.matrix-category th{position:relative;z-index:4}.matrix-category th{padding:9px 12px;background:#f3f1ed;color:var(--ink);text-align:left;font-size:11px;letter-spacing:.03em}.matrix-category th span{margin-right:8px}.matrix-category th small{color:var(--muted);font-weight:500}.matrix-table td strong{display:block;font-size:13px}.matrix-table td small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.matrix-table td.cell-warning{background:#fff0df;color:#9a5a20;box-shadow:inset 3px 0 var(--orange)}.matrix-table td.cell-warning small{color:#b97838}.matrix-table td.cell-empty{color:#c5c0b9}@media(max-width:760px){.topbar{flex-wrap:wrap}.view-nav{order:3;width:100%;justify-content:center}.hero-actions{display:block;margin-top:22px}.date-control{margin-bottom:10px}.hero-button{width:100%}.matrix-intro{display:block}.matrix-key{display:block;margin-top:12px}}
