:root{--ink:#0e1b2a;--ink-soft:#5a6b82;--accent:#2b5ce6;--accent-soft:#e8eefc;--line:#dce4f1;--surface:#f4f8fd;--card:#fff;--danger:#b42318;--danger-soft:#fdecea;--ok:#15783f;--ok-soft:#e7f5ec;--warn:#8a5300;--warn-soft:#fff4e0;--radius:14px}*{box-sizing:border-box}body{background:var(--surface);min-height:100vh;color:var(--ink);-webkit-text-size-adjust:100%;margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}h1{margin:0;font-size:24px;line-height:1.2}h2{margin:0;font-size:17px}h3{color:var(--ink-soft);margin:0;font-size:13px;font-weight:600}.muted{color:var(--ink-soft)}.small{font-size:13px}.lead{color:var(--ink-soft);margin:0 0 16px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}input:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.card{border:1px solid var(--line);background:var(--card);border-radius:18px;width:100%;max-width:420px;padding:32px}.brand{color:var(--ink-soft);margin:0 0 24px;font-size:14px;font-weight:600}.brand strong{color:var(--ink)}.card h1{margin:0 0 8px}label{margin-bottom:6px;font-size:14px;font-weight:600;display:block}input,select{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:12px;padding:12px 14px}button{background:var(--accent);color:#fff;width:100%;font:inherit;cursor:pointer;border:0;border-radius:999px;margin-top:16px;padding:12px 16px;font-weight:600}button[disabled]{opacity:.6;cursor:wait}.link{width:auto;color:var(--accent);background:0 0;margin-top:12px;padding:0;font-weight:500}.link.danger{color:var(--danger);margin:0}.message{color:var(--ink-soft);margin-top:16px;font-size:14px}.error{color:var(--danger)}.qr{width:200px;height:200px;margin:0 auto 12px;display:block}.secret{word-break:break-all;font-family:ui-monospace,monospace;font-size:13px}.locale{border:1px solid var(--line);background:var(--card);border-radius:999px;gap:2px;padding:2px;display:inline-flex}.locale-option{width:auto;color:var(--ink-soft);background:0 0;border-radius:999px;margin:0;padding:3px 10px;font-size:13px;font-weight:600}.locale-option[aria-pressed=true]{background:var(--accent);color:#fff}.card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.card-top .brand{margin:0}.app{max-width:1240px;margin:0 auto;padding:0 16px 32px}.top{z-index:2;background:var(--surface);border-bottom:1px solid var(--line);padding-top:12px;position:sticky;top:0}.top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.top .brand{white-space:nowrap;margin:0}.who{align-items:center;gap:12px;margin-left:auto;display:flex}.who .link{white-space:nowrap;margin:0;font-size:14px}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600}.badge-hypothesis{background:var(--warn-soft);color:var(--warn);vertical-align:middle;white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.5;display:inline-block}.tabs,.chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.chips::-webkit-scrollbar{display:none}.tabs{margin-top:10px}.tabs a{color:var(--ink-soft);border-bottom:3px solid #0000;flex:none;padding:10px 12px;font-size:15px;font-weight:600;text-decoration:none}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.chips a{border:1px solid var(--line);background:var(--card);color:var(--ink);white-space:nowrap;border-radius:999px;flex:none;padding:6px 12px;font-size:14px;text-decoration:none}.chips a[aria-current=true]{border-color:var(--accent);background:var(--accent);color:#fff}.banner{border-radius:var(--radius);background:var(--warn-soft);color:var(--warn);margin:12px 0 0;padding:10px 14px;font-size:14px;font-weight:600}.content{padding-top:20px}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.title-row .chips{max-width:100%}.period-range{margin:8px 0 20px;font-size:14px}.legend{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:32px;padding-top:16px;font-size:13px}.legend p{margin:0}.danger-zone{margin-top:12px}.danger-zone summary{cursor:pointer;width:fit-content;color:var(--danger);font-weight:600}.legend .danger-zone p{max-width:620px;color:var(--ink);margin:8px 0}.button-danger{background:var(--danger);width:auto;margin:0;padding:8px 14px;font-size:14px}.section{margin-top:24px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;display:flex}.button-link{background:var(--accent);color:#fff;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600;text-decoration:none}.notice{border-radius:var(--radius);margin:0 0 12px;padding:10px 14px;font-size:14px}.notice-info{background:var(--accent-soft);color:var(--ink)}.prototype{margin-top:10px}.prototype-button{border:1px dashed var(--accent);background:var(--surface);width:auto;color:var(--accent);margin:0 0 10px;padding:8px 16px;font-size:14px}.prototype .notice p{margin:0 0 6px}.prototype .notice p:last-child{margin-bottom:0}.prototype-title{font-weight:700}.prototype-nothing{color:var(--ink-soft)}.notice-warn{background:var(--warn-soft);color:var(--warn)}.notice-alert{background:var(--danger-soft);color:var(--danger);font-weight:600}.notice-ok{background:var(--ok-soft);color:var(--ok)}.disabled{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);max-width:520px;padding:24px}.disabled p{color:var(--ink-soft)}.disabled button{width:auto}.kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:12px;display:grid}.kpi{grid-row:span 3;grid-template-rows:subgrid;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);align-content:start;row-gap:4px;padding:14px 16px;display:grid}@supports not (grid-template-rows:subgrid){.kpi{grid-row:auto;display:block}.kpi h3{min-height:2.8em}}.kpi-value{letter-spacing:-.01em;margin:0;font-size:26px;font-weight:700;line-height:1.25}.kpi-meta{margin:0;font-size:13px}.value-masked{color:var(--ink-soft);font-weight:600}.value-detail{letter-spacing:0;color:var(--ink-soft);margin-top:2px;font-size:12px;font-weight:500;display:block}.definitions{color:var(--ink-soft);margin-top:10px;font-size:13px}.definitions summary{cursor:pointer;width:fit-content;color:var(--accent);font-weight:600}.definitions dl{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);gap:6px;margin:8px 0 0;padding:12px 14px;display:grid}.definitions dl div{grid-template-columns:minmax(0,1fr);gap:0 16px;display:grid}.definitions dt{color:var(--ink);font-weight:600}.definitions dd{margin:0}@media (min-width:720px){.definitions dl div{grid-template-columns:220px minmax(0,1fr)}}.value-pending,.value-none{color:var(--ink-soft);font-weight:500}.value-missing{color:var(--warn);font-weight:600}.kpi-value .value-masked{font-size:.85em}.kpi-value .value-missing{font-size:.6em}.delta{color:var(--ink-soft);font-weight:600}.delta-good{color:var(--ok)}.delta-bad{color:var(--danger)}.totals{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:12px;margin-bottom:8px;display:grid}.total{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:2px;padding:12px 14px;font-size:14px;display:flex}.total strong{font-size:20px}.funnel{gap:14px;margin:0;padding:0;list-style:none;display:grid}.funnel-label{justify-content:space-between;gap:12px;font-size:15px;display:flex}.funnel-track{background:var(--accent-soft);border-radius:999px;height:12px;margin-top:4px;overflow:hidden}.funnel-bar{background:var(--accent);border-radius:999px;height:100%}.funnel-bar-masked{background:repeating-linear-gradient(45deg, var(--ink-soft) 0 4px, transparent 4px 8px);opacity:.5}.funnel-rate{margin:4px 0 0;font-size:13px}.pill-progress{background:var(--warn-soft);color:var(--warn);margin-left:0}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}th,td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);padding:10px 12px}th{color:var(--ink-soft);background:var(--surface);font-size:13px;font-weight:600}th a{color:inherit;text-decoration:none}th.text,td.text{text-align:left}tbody tr:last-child td{border-bottom:0}tfoot th,tfoot td{border-top:2px solid var(--line);background:var(--card);border-bottom:0;font-weight:600}th:first-child,td:first-child{background:var(--card);z-index:1;text-overflow:ellipsis;max-width:46vw;position:sticky;left:0;overflow:hidden}thead th:first-child{background:var(--surface)}tbody th{color:var(--ink);background:var(--card);font-size:14px;font-weight:500}.path{white-space:normal;min-width:140px}.path-parent{color:var(--ink-soft);font-size:12px;display:block}.path-name{font-weight:600;display:block}.row-alert td,.row-alert th{background:var(--danger-soft)}.heatmap td:not(:first-child){min-width:64px}.heatmap td.cell-pending{background:var(--surface)}.heatmap td.heat-1{background:color-mix(in srgb, var(--accent) 7%, var(--card))}.heatmap td.heat-2{background:color-mix(in srgb, var(--accent) 14%, var(--card))}.heatmap td.heat-3{background:color-mix(in srgb, var(--accent) 21%, var(--card))}.heatmap td.heat-4{background:color-mix(in srgb, var(--accent) 28%, var(--card))}.heatmap td.heat-5{background:color-mix(in srgb, var(--accent) 36%, var(--card))}.pill{border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.pill-alert{background:var(--danger);color:#fff}td form{display:inline}.list{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 14px;font-size:14px;display:flex}.list li:last-child{border-bottom:0}.form-grid{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;padding:16px;display:grid}.form-grid label{color:var(--ink-soft);margin:0;font-size:13px;font-weight:600}.form-grid input,.form-grid select{margin-top:4px}.form-grid .wide{grid-column:1/-1}.form-grid button{align-self:end;margin-top:0}.form-inline{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.form-inline input{width:auto;max-width:100%}.form-inline button{width:auto;margin-top:0}@media (min-width:720px){h1{font-size:28px}.app{padding:0 24px 40px}}.status{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-block}.status-complete{background:var(--ok-soft);color:var(--ok)}.status-to_check{background:var(--warn-soft);color:var(--warn)}.status-alert{background:var(--danger-soft);color:var(--danger)}.button-secondary{border:1px solid var(--line);background:var(--card);color:var(--ink);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600;text-decoration:none}.day-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin:8px 0 16px;display:flex}.day-head p{margin:0}.appointments{gap:12px;margin:0;padding:0;list-style:none;display:grid}.appointment{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:14px 16px;display:grid}.appointment-time{font-variant-numeric:tabular-nums;font-weight:700}.appointment-who{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.appointment-who strong{font-size:16px}.appointment-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.panels{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-width:0;padding:16px}.panel h2{margin-bottom:12px}.facts{grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0;font-size:14px;display:grid}.facts dt{color:var(--ink-soft)}.facts dd{overflow-wrap:anywhere;margin:0}.signals{gap:10px;margin:0;padding:0;list-style:none;display:grid}.signal{border-radius:var(--radius);border-left:4px solid var(--warn);background:var(--warn-soft);padding:12px 14px}.signal-attention{border-left-color:var(--danger);background:var(--danger-soft)}.signal-head{flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.signal p{margin:4px 0 0;font-size:14px}.notes{gap:12px;margin:0;padding:0;list-style:none;display:grid}.note{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:12px 14px}.note p{white-space:pre-wrap;margin:6px 0 0;font-size:14px}.note .meta{color:var(--ink-soft);margin:0;font-size:13px}.stack{gap:14px;max-width:760px;display:grid}.stack button{justify-self:start;width:auto}.filters{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:12px 16px;margin:0 0 20px;display:grid}.filters button{justify-self:start;width:auto}textarea{border:1px solid var(--line);width:100%;min-height:160px;font:inherit;color:var(--ink);resize:vertical;background:#fff;border-radius:12px;padding:12px 14px}fieldset{border:1px solid var(--line);border-radius:12px;margin:0;padding:12px 14px}legend{padding:0 6px;font-size:14px;font-weight:600}.choice{align-items:center;gap:10px;margin:8px 0;font-weight:500;display:flex}.choice input{width:auto;margin:0}.hint{color:var(--ink-soft);margin:4px 0 0;font-size:13px}td.wrap,th.wrap{white-space:normal;min-width:180px}@media (max-width:640px){.appointment{grid-template-columns:1fr}.appointment-actions{justify-content:flex-start}}.panel h3{margin:16px 0 8px}.appointment-next{border:2px solid var(--accent);padding:13px 15px}.appointment-time{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.appointment-time .pill{white-space:nowrap;margin-left:0}.appointment-hours{white-space:nowrap}.appointment-when{color:var(--ink-soft);font-size:13px;font-weight:500}.pill-next{background:var(--accent);color:#fff}.pill-now{background:var(--ok);color:#fff}.past-appointments{margin-bottom:12px}.past-appointments summary{cursor:pointer;width:fit-content;color:var(--ink-soft);margin-bottom:8px;font-size:14px;font-weight:600}.past-appointments .appointment{background:var(--surface)}.reasons{gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.reason{border-left:3px solid var(--warn);padding-left:8px}.reason-attention{border-left-color:var(--danger)}.reason-more{color:var(--ink-soft);border-left-color:#0000}.today-card{border:2px solid var(--accent);border-radius:var(--radius);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:0 0 16px;padding:12px 16px;display:flex}.today-card p{margin:0}.reasons-panel{border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:var(--radius);background:var(--card);margin:0 0 16px;padding:14px 16px}.reasons-panel-alert{border-left-color:var(--danger)}.reasons-panel h2{margin-bottom:8px;font-size:15px}.reasons-panel .reasons{font-size:14px}.reasons-panel a{margin-top:10px;font-size:14px;font-weight:600;display:inline-block}.weight-summary{margin:0 0 12px;font-size:15px}@media (max-width:900px){.appointment{grid-template-columns:124px minmax(0,1fr)}.appointment-actions{grid-column:2;justify-content:flex-start}}@media (max-width:640px){.appointment{grid-template-columns:1fr}.appointment-actions{grid-column:auto}}.status-document-scanning{background:var(--warn-soft);color:var(--warn)}.status-document-rejected{background:var(--danger-soft);color:var(--danger)}.document-upload{margin-top:16px}.document-upload p{margin:0}
