:root{--ink: #101a22;--ink-soft: #4a5b68;--ink-faint: #7c8b97;--paper: #f6f7f8;--surface: #ffffff;--surface-sunken: #eef1f3;--line: #e2e7ea;--line-strong: #cdd6db;--accent: #0e6a67;--accent-soft: #e6f1f0;--accent-ink: #0a4f4d;--attention: #8a5a12;--attention-soft: #fbf1e0;--danger: #8f2f2f;--danger-soft: #f8ebeb;--ok: #2f6b46;--ok-soft: #e8f1ec;--radius: 14px;--radius-sm: 9px;--radius-lg: 20px;--shadow: 0 1px 2px rgba(16, 26, 34, .06), 0 8px 24px rgba(16, 26, 34, .06);--shadow-nav: 0 -1px 0 var(--line);--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--nav-height: 62px;--safe-bottom: env(safe-area-inset-bottom, 0px)}@media (prefers-color-scheme: dark){:root[data-theme=system],:root[data-theme=dark]{--ink: #e8eef1;--ink-soft: #a8b7c0;--ink-faint: #7b8c96;--paper: #0d151b;--surface: #141f27;--surface-sunken: #1b2831;--line: #24333d;--line-strong: #33454f;--accent: #4bb3ad;--accent-soft: #10312f;--accent-ink: #7fd0cb;--attention: #d8a94f;--attention-soft: #2c2313;--danger: #e08585;--danger-soft: #2e1b1b;--ok: #6ec295;--ok-soft: #16281f;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .3)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app{min-height:100%;display:flex;flex-direction:column}.screen{flex:1;padding:var(--space-5) var(--space-4);padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-6));max-width:46rem;width:100%;margin:0 auto}.screen--plain{padding-bottom:var(--space-6);display:flex;flex-direction:column;justify-content:center;min-height:100dvh;max-width:26rem}.screen-head{margin-bottom:var(--space-5)}.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);margin:0 0 var(--space-2)}h1{font-size:1.55rem;line-height:1.2;letter-spacing:-.022em;font-weight:640;margin:0 0 var(--space-2)}h2{font-size:1.02rem;font-weight:620;letter-spacing:-.01em;margin:var(--space-6) 0 var(--space-3)}h3{font-size:.95rem;font-weight:600;margin:0 0 var(--space-1)}p{margin:0 0 var(--space-3)}.lead{color:var(--ink-soft)}.muted{color:var(--ink-faint);font-size:.86rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow);margin-bottom:var(--space-3)}.card--flat{box-shadow:none}.card--quiet{background:var(--surface-sunken);border-color:transparent;box-shadow:none}.card--danger{border-left:3px solid var(--danger, #b91c1c)}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.stack>*+*{margin-top:var(--space-3)}.row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.row--end{justify-content:flex-end}.spacer{flex:1}.metric{display:flex;align-items:baseline;gap:var(--space-2)}.metric-value{font-size:2rem;font-weight:560;letter-spacing:-.03em;font-variant-numeric:tabular-nums lining-nums}.metric-unit{font-size:.85rem;color:var(--ink-faint);font-family:var(--mono)}.tabular{font-variant-numeric:tabular-nums lining-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:46px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font:inherit;font-weight:560;cursor:pointer;text-decoration:none;transition:filter .15s ease,background .15s ease}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--block{width:100%}.btn--secondary{background:var(--surface);color:var(--accent-ink);border-color:var(--line-strong)}.btn--ghost{background:transparent;color:var(--accent-ink)}.btn--danger{background:var(--surface);color:var(--danger);border-color:var(--line-strong)}.btn--small{min-height:36px;padding:0 var(--space-3);font-size:.85rem}.field{margin-bottom:var(--space-4)}.field label{display:block;font-size:.82rem;font-weight:560;color:var(--ink-soft);margin-bottom:var(--space-2)}.field input,.field select{width:100%;min-height:46px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}textarea{width:100%;min-height:46px;padding:var(--space-2, 10px) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;line-height:1.5;resize:vertical}.field input[type=text].code{font-family:var(--mono);font-size:1.4rem;letter-spacing:.35em;text-align:center}.field-hint{font-size:.78rem;color:var(--ink-faint);margin-top:var(--space-2)}.field-error{font-size:.8rem;color:var(--danger);margin-top:var(--space-2)}.notice{border:1px solid;border-radius:var(--radius-sm);padding:var(--space-3);font-size:.88rem;margin-bottom:var(--space-3);display:flex;gap:var(--space-2);align-items:flex-start}.notice--info{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.notice--warn{background:var(--attention-soft);border-color:var(--attention);color:var(--attention)}.notice--error{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.notice-mark{font-weight:700;flex:0 0 auto}.check-list{list-style:none;padding:0;margin:0}.check{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);align-items:flex-start}.check:last-child{border-bottom:0}.mark{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;margin-top:1px}.mark--ok{background:var(--accent-soft);color:var(--accent-ink)}.mark--warning{background:var(--attention-soft);color:var(--attention);border-radius:4px}.mark--fail{background:var(--danger-soft);color:var(--danger);border-radius:3px;transform:rotate(45deg)}.mark--fail>span{transform:rotate(-45deg)}.mark--unknown{background:var(--surface-sunken);color:var(--ink-faint)}.check-title{font-weight:560;font-size:.92rem}.check-state{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint)}.check-detail{font-size:.84rem;color:var(--ink-soft);margin-top:2px}.spine{display:flex;gap:3px;margin:var(--space-3) 0 var(--space-4)}.spine-tick{flex:1;height:6px;border-radius:3px;background:var(--surface-sunken)}.spine-tick--ok{background:var(--accent)}.spine-tick--warning{background:var(--attention)}.spine-tick--fail{background:var(--danger)}.list{list-style:none;padding:0;margin:0}.list-item{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.list-item-main{flex:1;min-width:0}.list-item-title{font-size:.92rem;font-weight:520}.list-item-meta{font-size:.78rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}.badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:620;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink)}.codes{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);font-family:var(--mono);font-size:.95rem;margin:var(--space-3) 0}.codes span{background:var(--surface-sunken);border-radius:var(--radius-sm);padding:var(--space-2);text-align:center;-webkit-user-select:all;user-select:all}.qr{display:grid;place-items:center;padding:var(--space-3);background:#fff;border-radius:var(--radius)}.qr svg{max-width:240px;height:auto}.secret-text{font-family:var(--mono);font-size:1rem;letter-spacing:.08em;background:var(--surface-sunken);padding:var(--space-3);border-radius:var(--radius-sm);text-align:center;-webkit-user-select:all;user-select:all;word-break:break-all}.nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-nav);z-index:20}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;color:var(--ink-faint);font:inherit;font-size:10.5px;font-weight:560;letter-spacing:.01em;cursor:pointer;text-decoration:none;padding:0}.nav-item[aria-current=page]{color:var(--accent)}.nav-item svg{width:22px;height:22px}.nav-add{position:relative}.nav-add-button{width:46px;height:46px;border-radius:16px;background:var(--accent);color:#fff;border:0;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px #0e6a6752}@media (min-width: 900px){.app{flex-direction:row}.nav{position:sticky;top:0;bottom:auto;height:100dvh;width:232px;grid-template-columns:1fr;grid-auto-rows:max-content;align-content:start;gap:var(--space-1);padding:var(--space-5) var(--space-3);box-shadow:1px 0 0 var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}.nav-item{flex-direction:row;justify-content:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);font-size:.92rem}.nav-item[aria-current=page]{background:var(--accent-soft)}.screen{padding-bottom:var(--space-7)}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#101a2259;z-index:30;animation:fade .16s ease}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:31;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-4);padding-bottom:calc(var(--space-4) + var(--safe-bottom));animation:rise .2s cubic-bezier(.2,.7,.3,1);max-width:46rem;margin:0 auto}.sheet-handle{width:38px;height:4px;border-radius:2px;background:var(--line-strong);margin:0 auto var(--space-4)}.sheet-action{display:flex;width:100%;align-items:center;gap:var(--space-3);padding:var(--space-3);border:0;border-radius:var(--radius-sm);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.sheet-action:hover{background:var(--surface-sunken)}.sheet-action:disabled{color:var(--ink-faint);cursor:not-allowed}.sheet-action-note{font-size:.76rem;color:var(--ink-faint)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}.empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--ink-soft)}.empty-mark{width:44px;height:44px;border-radius:12px;background:var(--surface-sunken);display:grid;place-items:center;margin:0 auto var(--space-3);color:var(--ink-faint)}.skeleton{height:14px;border-radius:7px;background:linear-gradient(90deg,var(--surface-sunken),var(--line),var(--surface-sunken));background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.demo-banner{background:var(--attention-soft);color:var(--attention);font-size:.74rem;font-weight:620;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:var(--space-2)}.viewer{display:flex;flex-direction:column;gap:var(--space-2)}.viewer-canvas-wrap{overflow:auto;max-height:70vh;background:var(--surface-sunken, #f4f4f5);border-radius:var(--radius-sm, 6px);display:flex;justify-content:center}.viewer-canvas{max-width:100%;height:auto;display:block}.viewer-bar{display:flex;align-items:center;gap:var(--space-1, 4px);flex-wrap:wrap}.viewer-btn{min-width:2.75rem;min-height:2.75rem;padding:0 var(--space-2, 8px);border:1px solid var(--border, #d4d4d8);border-radius:var(--radius-sm, 6px);background:var(--surface, #fff);color:var(--text, #18181b);font-size:1rem;cursor:pointer}.viewer-btn:disabled{opacity:.4;cursor:default}.viewer-btn.active{border-color:var(--accent, #2563eb);color:var(--accent, #2563eb)}.viewer-page{font-size:.875rem;color:var(--text-muted, #52525b);padding:0 var(--space-2, 8px);white-space:nowrap}.viewer-sep{flex:1 1 auto}.category-choice{display:flex;flex-wrap:wrap;gap:var(--space-1, 6px);margin:var(--space-2, 8px) 0}.category-group{display:flex;flex-wrap:wrap;gap:var(--space-1, 6px);width:100%}.category-group-title{width:100%;margin:var(--space-2, 8px) 0 0;color:var(--muted, #71717a);font-size:.8125rem;font-weight:600;letter-spacing:.03em}.category-btn{min-height:2.75rem;padding:0 var(--space-3, 12px);border:1px solid var(--border, #d4d4d8);border-radius:999px;background:var(--surface, #fff);color:var(--text, #18181b);font-size:.9375rem;cursor:pointer}.category-btn.active{border-color:var(--accent, #2563eb);background:var(--accent-soft, #eff6ff);color:var(--accent, #2563eb);font-weight:600}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2, 8px);padding:var(--space-5, 28px) var(--space-3, 12px);margin:var(--space-2, 8px) 0;border:2px dashed var(--border, #d4d4d8);border-radius:var(--radius-md, 10px);background:var(--surface-sunken, #fafafa);color:var(--text-muted, #52525b);text-align:center;font-size:.9375rem;cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent, #2563eb)}.dropzone--over{border-color:var(--accent, #2563eb);background:var(--accent-soft, #eff6ff);color:var(--accent, #2563eb)}.dropzone-icon{font-size:1.5rem;line-height:1}.doc-list{list-style:none;margin:var(--space-3, 12px) 0 0;padding:0;display:grid;gap:var(--space-2, 10px)}.doc-card{display:grid;grid-template-areas:"badge  meta" "title  title" "snip   snip" "foot   foot";grid-template-columns:auto 1fr;gap:6px var(--space-2, 10px);width:100%;padding:var(--space-3, 14px);border:1px solid var(--border, #e4e4e7);border-radius:var(--radius-md, 10px);background:var(--surface, #fff);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.doc-card:hover,.doc-card:focus-visible{border-color:var(--accent, #2563eb);box-shadow:0 1px 4px #0000000f}.doc-badge{grid-area:badge;justify-self:start;padding:2px 10px;border-radius:999px;background:var(--accent-soft, #eef2ff);color:var(--accent, #2563eb);font-size:.75rem;font-weight:600;white-space:nowrap}.doc-title{grid-area:title;font-size:1rem;font-weight:600;color:var(--text, #18181b);line-height:1.35}.doc-meta{grid-area:meta;justify-self:end;font-size:.8125rem;color:var(--text-muted, #71717a);white-space:nowrap}.doc-foot{grid-area:foot;display:flex;align-items:center;gap:var(--space-2, 10px);flex-wrap:wrap;font-size:.8125rem;color:var(--text-muted, #71717a)}.doc-status{padding:2px 8px;border-radius:var(--radius-sm, 5px);background:var(--surface-sunken, #f4f4f5);font-weight:600}.doc-status.status-needs_review{background:#fef3c7;color:#92400e}.doc-status.status-confirmed{background:#dcfce7;color:#166534}.doc-status.status-failed{background:#fee2e2;color:#991b1b}.doc-count:before{content:"·";margin-right:var(--space-2, 10px);color:var(--border, #d4d4d8)}.doc-search{margin:var(--space-3, 12px) 0 0}.doc-search input[type=search]{width:100%}.doc-search-headline{margin:0 0 4px}.doc-search-scope{margin-top:var(--space-2, 10px)}.doc-search-scope ul{margin:2px 0 8px;padding-left:18px}.doc-snippet{grid-area:snip;border-left:3px solid var(--border, #d4d4d8);padding-left:var(--space-2, 10px);font-size:.8125rem;line-height:1.45;color:var(--text-muted, #52525b)}.doc-snippet-where{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted, #71717a)}.tag-button{border:1px solid transparent;cursor:pointer;font:inherit;font-size:.75rem}.tag-button:hover,.tag-button:focus-visible{border-color:currentColor}.revisions{padding:var(--space-2, 10px) 0}.revision-list{list-style:none;margin:var(--space-2, 10px) 0 0;padding:0;display:grid;gap:var(--space-2, 10px)}.revision{display:grid;gap:2px;border-left:3px solid var(--border, #d4d4d8);padding-left:var(--space-2, 10px);font-size:.8125rem}.revision-when{color:var(--text-muted, #71717a);font-size:.75rem}.revision-change{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.revision-field{font-weight:600}.revision-before{text-decoration:line-through;color:var(--text-muted, #71717a)}.revision-after{font-weight:600}.revision-arrow{color:var(--text-muted, #a1a1aa)}.revision-reason{color:var(--text-muted, #52525b);font-style:italic}.backup-items{list-style:none;margin:var(--space-3, 12px) 0;padding:0;display:grid;gap:var(--space-3, 12px)}.backup-item{display:grid;gap:4px}.backup-item-head{display:flex;align-items:center;gap:8px}.backup-item-label{font-weight:600}.backup-item-path{display:block;font-size:.78rem;word-break:break-all;background:var(--surface-sunken, #f4f4f5);border-radius:var(--radius-sm, 5px);padding:3px 6px}.backup-item--missing .backup-item-path{background:#fee2e2}.backup-verification{margin-top:var(--space-3, 12px)}.backup-verification ul{margin:4px 0 0;padding-left:18px}.picker-fraction{border-left:3px solid var(--attention, #b45309);padding-left:var(--space-2, 10px)}.key-facts{display:grid;gap:var(--space-2, 10px);margin:var(--space-3, 12px) 0}.key-facts dt{font-size:.8125rem;color:var(--text-muted, #71717a)}.key-facts dd{margin:2px 0 0}.key-fingerprint{font-size:1rem;letter-spacing:.08em;-webkit-user-select:all;user-select:all;background:var(--surface-sunken, #f4f4f5);border-radius:var(--radius-sm, 5px);padding:2px 8px}.key-alarm{color:var(--danger, #b91c1c);font-weight:600}.key-rotate{margin-top:var(--space-3, 12px);border-left:3px solid var(--danger, #b91c1c);padding-left:var(--space-3, 12px)}.key-rotate ul{margin:4px 0 var(--space-3, 12px);padding-left:18px}.key-history{margin-top:var(--space-3, 12px)}.key-history summary{cursor:pointer;font-size:.875rem}.chip-count{margin-left:6px;padding:0 6px;border-radius:999px;background:var(--surface-sunken, #f4f4f5);font-size:.75rem;font-weight:600}.chip--active .chip-count{background:#ffffff47}.param-list{list-style:none;margin:var(--space-3, 12px) 0 0;padding:0;display:grid;gap:var(--space-1, 6px)}.param-card{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3, 12px);width:100%;padding:var(--space-2, 10px) var(--space-3, 12px);border:1px solid var(--border, #e4e4e7);border-radius:var(--radius-sm, 8px);background:var(--surface, #fff);text-align:left;cursor:pointer}.param-card:hover{border-color:var(--accent, #2563eb)}.param-name{font-weight:600;color:var(--text, #18181b)}.param-meta{font-size:.8125rem;color:var(--text-muted, #71717a);white-space:nowrap}@media (max-width: 480px){.doc-card{grid-template-areas:"badge badge" "title title" "meta meta" "foot foot"}.doc-meta{justify-self:start}.param-card{flex-direction:column;align-items:flex-start;gap:2px}}.advisor-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4, 18px);margin-bottom:var(--space-3, 14px)}.advisor-list{margin:4px 0 0;padding-left:1.1rem;font-size:.875rem;line-height:1.6}.advisor-list--out li{color:#92400e}.advisor-list--kept li{color:#166534}.advisor-sample{margin-top:var(--space-2, 10px);padding:var(--space-3, 12px);background:var(--surface-sunken, #f4f4f5);border-radius:var(--radius-sm, 6px);font-size:.8125rem;line-height:1.6;overflow-x:auto;white-space:pre-wrap}.advisor-answer{margin-top:var(--space-3, 14px)}.advisor-answer-mark{margin:var(--space-2, 10px) 0 6px;font-size:.8125rem;color:var(--ink-soft, #52525b);line-height:1.5}.advisor-text{white-space:pre-wrap;line-height:1.65;padding:var(--space-3, 14px);background:var(--surface, #fff);border:1px dashed var(--line-strong, #a1a1aa);border-radius:var(--radius, 10px);margin-bottom:var(--space-2, 10px)}.advisor-stop{margin-top:var(--space-3, 14px);padding:var(--space-3, 14px);border-left:3px solid #d97706;background:var(--surface-sunken, #fafafa);border-radius:var(--radius-sm, 8px)}.advisor-stop .advisor-list{margin-top:var(--space-2, 10px)}.advisor-stop .row{margin-top:var(--space-3, 14px)}.advisor-text-sample{margin-top:var(--space-3, 14px);padding:var(--space-3, 12px);border:1px solid var(--border, #e4e4e7);border-radius:var(--radius-sm, 8px)}.advisor-text-sample .advisor-sample{margin-top:var(--space-1, 6px);max-height:14rem;overflow-y:auto}@media (max-width: 560px){.advisor-columns{grid-template-columns:1fr;gap:var(--space-2, 10px)}}.test-list,.report-list{list-style:none;margin:var(--space-3, 12px) 0 0;padding:0;display:grid;gap:var(--space-1, 6px)}.test-row,.report-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3, 12px);width:100%;padding:var(--space-2, 10px) var(--space-3, 12px);border:1px solid var(--border, #e4e4e7);border-radius:var(--radius-sm, 8px);background:var(--surface, #fff);text-align:left;cursor:pointer}.test-row:hover,.report-row:hover{border-color:var(--accent, #2563eb)}.test-name{font-weight:600;color:var(--text, #18181b)}.test-meta,.report-meta{display:flex;align-items:center;gap:var(--space-2, 8px);font-size:.8125rem;color:var(--text-muted, #71717a);white-space:nowrap}.report-list>li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3, 12px);padding:var(--space-2, 10px) var(--space-3, 12px);border:1px solid var(--border, #e4e4e7);border-radius:var(--radius-sm, 8px);background:var(--surface, #fff)}.report-date{font-weight:600;color:var(--text, #18181b)}.report-meta .tag{margin-left:var(--space-1, 4px)}@media (max-width: 480px){.test-row,.report-row,.report-list>li{flex-direction:column;align-items:flex-start;gap:2px}.test-meta,.report-meta{white-space:normal}}.report-conclusions{padding:var(--space-3, 14px);border-left:3px solid var(--accent, #2563eb);background:var(--accent-soft, #eff6ff);border-radius:0 var(--radius-sm, 8px) var(--radius-sm, 8px) 0;font-size:1.0625rem;line-height:1.6;white-space:pre-wrap;margin-bottom:var(--space-3, 14px)}.report-full{margin-top:var(--space-2, 10px);border-top:1px solid var(--border, #e4e4e7);padding-top:var(--space-2, 10px)}.report-full>summary{cursor:pointer;font-size:.9375rem;color:var(--accent, #2563eb);padding:var(--space-1, 6px) 0}.report-section{margin-top:var(--space-3, 14px)}.report-section-title{margin:0 0 4px;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #71717a)}.report-section-body{margin:0;line-height:1.6;white-space:pre-wrap}.selection-block{border:1px solid var(--border, #e4e4e7);border-radius:var(--radius-md, 10px);margin-bottom:var(--space-3, 14px);overflow:hidden}.selection-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3, 12px) var(--space-3, 14px);background:var(--surface-sunken, #fafafa);border:0;font:inherit;font-weight:600;color:var(--text, #18181b);text-align:left;cursor:pointer}.selection-toggle:hover{background:var(--accent-soft, #eff6ff)}.selection-caret{font-size:1.2rem;color:var(--text-muted, #71717a)}.selection-body{padding:var(--space-3, 14px);border-top:1px solid var(--border, #e4e4e7)}.selection-group{margin-top:var(--space-3, 14px)}.selection-group:first-of-type{margin-top:var(--space-2, 10px)}.selection-group-title{margin:0 0 var(--space-2, 8px);font-size:.8125rem;font-weight:600;color:var(--text-muted, #71717a);text-transform:uppercase;letter-spacing:.03em}.selection-chips{display:flex;flex-wrap:wrap;gap:var(--space-1, 6px)}.chip{padding:5px 12px;border:1px solid var(--border, #d4d4d8);border-radius:999px;background:var(--surface, #fff);font:inherit;font-size:.875rem;color:var(--text, #18181b);cursor:pointer;transition:border-color .12s,background .12s}.chip:hover{border-color:var(--accent, #2563eb)}.chip--active{background:var(--accent, #2563eb);border-color:var(--accent, #2563eb);color:#fff;font-weight:600}.study-conclusions{white-space:pre-wrap;line-height:1.65;font-size:1rem;color:var(--text, #18181b)}.study-symptom{margin:0;font-style:italic;color:var(--text-muted, #52525b);line-height:1.6}.doc-symptom{font-style:italic;color:var(--text-muted, #71717a)}.attach-block{margin-bottom:var(--space-3, 14px)}.attach-list{list-style:none;margin:var(--space-2, 10px) 0;padding:0;display:grid;gap:var(--space-1, 6px)}.attach-list>li{display:flex;align-items:center;gap:var(--space-2, 10px);flex-wrap:wrap;padding:var(--space-2, 8px) var(--space-2, 10px);border:1px solid var(--border, #e4e4e7);border-radius:var(--radius-sm, 6px)}.attach-row{display:flex;align-items:center;gap:var(--space-2, 10px);flex:1;cursor:pointer}.attach-name{font-size:.9375rem}.attach-date{color:var(--text-muted, #71717a);font-size:.8125rem}@media (max-width: 480px){.attach-list>li{flex-direction:column;align-items:stretch}}.upload-results{list-style:none;margin:0;padding:0;font-size:.9rem}.upload-results li{display:flex;align-items:baseline;gap:8px;padding:4px 0}.upload-mark{font-weight:700;width:1em}.upload-ok .upload-mark{color:var(--ok, #166534)}.upload-failed .upload-mark{color:var(--danger, #8f2f2f)}.upload-name{flex:1;word-break:break-all}.summary-period{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--ink-soft)}.summary-period select{min-height:36px;padding:0 8px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}.summary-sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);margin:var(--space-4) 0}.summary-head{border-bottom:1px solid var(--line);padding-bottom:var(--space-3);margin-bottom:var(--space-4)}.summary-head h2{margin:0 0 4px;font-size:1.15rem}.summary-disclaimer{font-size:.8rem;color:var(--ink-faint);margin-top:var(--space-2)}.summary-count{font-weight:400;color:var(--attention)}.summary-table{width:100%;border-collapse:collapse;font-size:.88rem}.summary-table th{text-align:left;font-weight:560;color:var(--ink-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;padding:6px 8px 6px 0;border-bottom:1px solid var(--line)}.summary-table td{padding:7px 8px 7px 0;border-bottom:1px solid var(--line);vertical-align:top}.summary-unit,.summary-date,.summary-range{color:var(--ink-faint);font-size:.82rem}.summary-trend{color:var(--ink-soft);font-size:.82rem}.summary-flag{color:var(--danger);font-weight:700}.summary-out-point{color:var(--danger)}.summary-out td:first-child{font-weight:560}.summary-patient{margin:var(--space-2) 0 var(--space-3)}.summary-patient-name{margin:0;font-size:1.05rem;font-weight:640}.summary-patient-label{font-weight:400;color:var(--ink-soft)}.summary-patient-meta{margin:2px 0 0;font-size:.86rem;color:var(--ink-soft)}.summary-unit-missing{color:var(--ink-faint);font-size:.78rem;font-style:italic}.summary-band{color:var(--ink-soft);font-size:.78rem}.summary-point-date{color:var(--ink-faint);font-size:.72rem}.summary-thinned{color:var(--ink-faint);font-size:.75rem;font-style:italic}.summary-excerpt-tag{font-weight:400;color:var(--attention);font-size:.78rem}.summary-check-distance{color:var(--ink-soft);font-size:.82rem}.summary-check-strong{font-weight:560}.summary-reports{list-style:none;padding:0;margin:0}.summary-reports li{padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.summary-reports li:last-child{border-bottom:0}.summary-report-head{font-weight:560;font-size:.9rem;margin:0 0 4px}.summary-report-body{margin:0;font-size:.9rem;white-space:pre-wrap}.summary-foot{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-faint)}@media print{.nav,.no-print,.notice,.screen-head .eyebrow{display:none!important}body{background:#fff}.screen{padding:0;max-width:none}.summary-sheet{border:0;box-shadow:none;padding:0;margin:0}.summary-table{font-size:10pt}.summary-reports li,.summary-table tr,.summary-year,.summary-year-list li,.summary-quiet li{break-inside:avoid}.summary-year-list,.summary-quiet{font-size:10pt}.summary-partial,.summary-draw,.summary-family{font-size:10pt;break-inside:avoid}}.shortcuts{list-style:none;margin:0;padding:0}.shortcuts li+li{border-top:1px solid var(--line)}.shortcut{display:block;width:100%;text-align:left;background:none;border:0;padding:var(--space-3) 0;font:inherit;color:inherit;cursor:pointer}.shortcut:hover .shortcut-label{color:var(--accent-ink)}.shortcut-label{display:block;font-weight:560;font-size:.95rem}.shortcut-note{display:block;font-size:.82rem;color:var(--ink-faint);margin-top:2px}.dropzone{border:2px dashed var(--line-strong);border-radius:var(--radius);padding:var(--space-5) var(--space-4);text-align:center;background:var(--surface-soft, var(--surface));transition:border-color .15s ease,background .15s ease}.dropzone--active{border-color:var(--accent);background:var(--accent-wash, var(--surface))}.dropzone-title{margin:0 0 4px;font-weight:600}.dropzone .hint{margin:0 0 var(--space-3)}.upload-progress{margin-top:var(--space-4)}.upload-summary{margin:var(--space-4) 0 var(--space-2);font-size:.92rem;color:var(--ink-soft)}.upload-failed-count{color:var(--danger, #8f2f2f);font-weight:600}.upload-rows{list-style:none;margin:0;padding:0}.upload-row{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--line)}.upload-row:first-child{border-top:0}.upload-row-body{flex:1;min-width:0;display:flex;flex-direction:column}.upload-row .upload-name{word-break:break-all;font-size:.95rem}.upload-row .hint{margin:0}.upload-row--stored .upload-mark{color:var(--ok, #166534)}.upload-row--duplicate .upload-mark{color:var(--ink-faint)}.upload-row--failed .upload-mark{color:var(--danger, #8f2f2f)}.upload-row--pending .upload-mark{color:var(--ink-faint)}.event-filter{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--ink-soft)}.event-filter select{min-height:36px;padding:0 8px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}.attachment-list{list-style:none;margin:0;padding:0}.attachment{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--line)}.attachment:first-child{border-top:0}.attachment-open{flex:1;min-width:0;display:flex;align-items:baseline;gap:var(--space-2);background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.attachment-open:hover .attachment-name,.attachment-open:focus-visible .attachment-name{text-decoration:underline}.attachment-role{flex-shrink:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-soft);background:var(--surface)}.attachment-role--primary_report{border-color:var(--accent);color:var(--accent-ink)}.attachment-name{color:var(--ink-soft);font-size:.92rem}.attachment-flag{font-size:.75rem;color:var(--ink-faint)}.attachment-actions{display:flex;gap:4px;flex-shrink:0}.attachment-actions select{min-height:32px;padding:0 6px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:.85rem}@media (max-width: 560px){.attachment{flex-direction:column;align-items:stretch}.attachment-actions{justify-content:flex-end}}.card--warning{border-left:3px solid var(--attention, #b45309)}.schema-pending{list-style:none;margin:var(--space-3) 0;padding:0;font-family:var(--mono, ui-monospace, monospace);font-size:.82rem;color:var(--ink-soft)}.schema-pending li{padding:2px 0}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-1, 6px);margin-bottom:var(--space-3, 14px)}.clinical-list{list-style:none;margin:0 0 var(--space-3, 14px);padding:0;display:flex;flex-direction:column;gap:var(--space-1, 6px)}.clinical-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2, 10px);padding:var(--space-2, 10px) var(--space-3, 14px);border:1px solid var(--border, #d4d4d8);border-radius:var(--radius, 10px);background:var(--surface, #fff)}.clinical-item--block{flex-direction:column;align-items:stretch}.clinical-main{min-width:0}.clinical-name{margin:0 0 2px;font-weight:600;color:var(--text, #18181b);overflow-wrap:anywhere}.clinical-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1, 6px);flex-shrink:0}.link-list{list-style:none;margin:var(--space-1, 6px) 0;padding:0;display:flex;flex-direction:column;gap:4px}.link-list li{display:flex;align-items:center;gap:var(--space-1, 6px);flex-wrap:wrap}.link-relation{font-size:.8125rem;color:var(--text-muted, #52525b);background:var(--surface-2, #f4f4f5);border-radius:999px;padding:2px 10px}@media (max-width: 560px){.clinical-item{flex-direction:column;align-items:stretch}}.summary-context{margin-bottom:var(--space-4, 20px)}.summary-context h3{margin-bottom:var(--space-2, 10px)}.summary-block{margin-bottom:var(--space-3, 14px)}.summary-block h4{margin:0 0 4px;font-size:.8rem;font-weight:560;color:var(--ink-soft, #52525b);text-transform:uppercase;letter-spacing:.03em}.summary-block ul{list-style:none;margin:0;padding:0;font-size:.9rem}.summary-block li{padding:3px 0;line-height:1.5;break-inside:avoid}.summary-source{margin:0;font-size:.78rem;color:var(--ink-faint, #71717a)}.timeline{list-style:none;margin:0 0 var(--space-4, 20px);padding:0;display:flex;flex-direction:column;gap:var(--space-1, 6px)}.timeline-row{display:grid;grid-template-columns:130px 1fr auto;align-items:start;gap:var(--space-2, 10px);padding:var(--space-2, 10px) var(--space-3, 14px);border:1px solid var(--line, #d4d4d8);border-radius:var(--radius, 10px);background:var(--surface, #fff);border-left-width:3px}.timeline-row--exam,.timeline-row--lab{border-left-color:var(--accent, #2563eb)}.timeline-row--procedure,.timeline-row--condition{border-left-color:var(--attention, #b45309)}.timeline-row--medication_start,.timeline-row--medication_end{border-left-color:var(--ink-soft, #52525b)}.timeline-row--symptom{border-left-color:var(--danger, #b91c1c)}.timeline-when{display:flex;flex-direction:column;gap:2px}.timeline-date{font-variant-numeric:tabular-nums;font-size:.875rem;color:var(--ink, #18181b)}.timeline-kind{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint, #71717a)}.timeline-what{min-width:0}.timeline-summary{margin:0;font-weight:560;overflow-wrap:anywhere}.timeline-meta{margin:2px 0 0;font-size:.8125rem;color:var(--ink-faint, #71717a)}.chip-count{font-variant-numeric:tabular-nums;opacity:.7}@media (max-width: 560px){.timeline-row{grid-template-columns:1fr auto}.timeline-when{grid-column:1 / -1;flex-direction:row;align-items:baseline;gap:var(--space-1, 6px)}}.fact-list{list-style:none;margin:0 0 var(--space-4, 20px);padding:0;display:flex;flex-direction:column;gap:var(--space-2, 10px)}.fact{padding:var(--space-3, 14px);border:1px solid var(--line, #d4d4d8);border-radius:var(--radius, 10px);background:var(--surface, #fff);border-left-width:3px}.fact--da_approfondire{border-left-color:var(--attention, #b45309)}.fact--dati_insufficienti{border-left-color:var(--line-strong, #a1a1aa)}.fact--coerente{border-left-color:var(--ok, #15803d)}.fact-head{display:flex;align-items:baseline;gap:var(--space-2, 10px);margin-bottom:6px}.fact-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:2px 10px;border-radius:999px;border:1px solid currentColor}.fact-badge--da_approfondire{color:var(--attention, #b45309)}.fact-badge--dati_insufficienti{color:var(--ink-soft, #52525b)}.fact-badge--coerente{color:var(--ok, #15803d)}.fact-date{font-variant-numeric:tabular-nums;font-size:.8125rem;color:var(--ink-faint, #71717a)}.fact-detail{margin:0 0 4px;line-height:1.55;overflow-wrap:anywhere}.fact-why{margin:0 0 var(--space-2, 10px);font-size:.8125rem;color:var(--ink-faint, #71717a)}.fact-list--quiet .fact{padding:var(--space-2, 10px);background:transparent}.summary-checks{list-style:none;margin:0 0 var(--space-2, 10px);padding:0;font-size:.9rem}.summary-checks li{padding:4px 0;line-height:1.55;break-inside:avoid}.summary-check-kind{display:inline-block;margin-right:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--attention, #b45309)}.summary-years{margin:0 0 var(--space-4, 18px)}.summary-year{margin:0 0 var(--space-3, 14px);break-inside:avoid}.summary-year-head{margin:0 0 2px;font-size:1rem;border-bottom:1px solid var(--line, #e4e4e7);padding-bottom:2px}.summary-year-list{list-style:none;margin:0;padding:0;font-size:.9rem}.summary-year-list li{padding:3px 0;line-height:1.55;break-inside:avoid}.summary-year-kind{display:inline-block;margin-right:6px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--attention, #b45309)}.doc-more{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2, 10px);padding:var(--space-3, 14px) 0 0}.link-events{list-style:none;margin:var(--space-2, 10px) 0 0;padding:0}.link-events li{padding:var(--space-2, 10px) 0}.link-events li+li{border-top:1px solid var(--line, #e4e4e7)}.report-part{margin:var(--space-3, 14px) 0 0}.summary-biopsy{display:block;padding:6px 0 4px}.summary-biopsy-part{display:block;margin:4px 0 0 12px;padding-left:8px;border-left:2px solid var(--line, #e4e4e7)}.summary-biopsy-label{display:block;font-size:.74rem;font-weight:600;letter-spacing:.02em;color:var(--ink-faint)}.summary-quiet-years{margin:var(--space-2, 10px) 0 0;font-size:.82rem;color:var(--ink-faint);line-height:1.5}.summary-partial{margin:var(--space-2, 10px) 0 0;padding:var(--space-2, 10px) var(--space-3, 14px);border:1px solid var(--line, #e4e4e7);border-left:3px solid var(--ink-faint, #71717a);border-radius:4px;font-size:.87rem;line-height:1.5}.summary-scope-group+.summary-scope-group{margin-top:var(--space-3, 14px)}.summary-scope-title{margin:0 0 var(--space-1, 6px);font-size:.8rem;font-weight:560;color:var(--ink-faint, #71717a)}.summary-family{margin:var(--space-3, 14px) 0 0}.summary-family h4{margin:0 0 var(--space-1, 6px);font-size:.85rem;font-weight:560}.summary-draw{margin:var(--space-2, 10px) 0 0;font-size:.87rem;line-height:1.5;break-inside:avoid}.summary-quiet{list-style:none;margin:0;padding:0;font-size:.87rem}.summary-quiet li{padding:2px 0;line-height:1.5;break-inside:avoid}.event-row{display:flex;flex-direction:column;gap:4px}.event-actions{display:flex;flex-wrap:wrap;gap:var(--space-1, 6px);padding:0 var(--space-2, 10px) var(--space-1, 6px)}.finding-block{margin:var(--space-2, 10px) 0 0;padding-left:var(--space-2, 10px);border-left:2px solid var(--line, #d4d4d8)}.finding-block h4{margin:0 0 2px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft, #52525b)}.finding-block ul{margin:0;padding-left:18px;font-size:.9rem;line-height:1.5}.finding-sources{margin:var(--space-2, 10px) 0 0;font-size:.8125rem;color:var(--ink-faint, #71717a)}.fact--dati_coerenti{border-left-color:var(--ok, #15803d)}.fact--possibile_discordanza{border-left-color:var(--danger, #b91c1c)}.fact--elemento_da_approfondire{border-left-color:var(--attention, #b45309)}.fact--dati_insufficienti,.fact--impossibile_valutare{border-left-color:var(--line-strong, #a1a1aa)}.fact-badge--dati_coerenti{color:var(--ok, #15803d)}.fact-badge--possibile_discordanza{color:var(--danger, #b91c1c)}.fact-badge--elemento_da_approfondire{color:var(--attention, #b45309)}.fact-badge--dati_insufficienti,.fact-badge--impossibile_valutare{color:var(--ink-soft, #52525b)}.mask-canvas{position:relative;display:inline-block;max-width:100%;line-height:0;touch-action:none;border-radius:var(--radius-sm, 9px);overflow:hidden;background:var(--surface-sunken, #f4f4f5)}.mask-canvas img{display:block;max-width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.mask-region{position:absolute;padding:0;border:2px dashed var(--attention, #b45309);background:transparent;cursor:pointer}.mask-region--on{background:#000;border-style:solid;border-color:#000}.mask-region--draft{border-style:solid;border-color:var(--accent, #2563eb);background:#00000059;pointer-events:none}.vital-last{margin:0 0 var(--space-2, 10px)}.vital-value{font-size:1.5rem;font-variant-numeric:tabular-nums}.vital-series{list-style:none;margin:var(--space-2, 10px) 0 0;padding:0}.vital-series li{padding:var(--space-2, 10px) 0;border-top:1px solid var(--line, #e4e4e7);font-variant-numeric:tabular-nums}.vital-form{margin-top:var(--space-3, 14px)}.drop-target{border:1px dashed var(--line-strong, #a1a1aa);border-radius:var(--radius-sm, 9px);padding:var(--space-3, 14px);margin-bottom:var(--space-3, 14px);text-align:center;transition:background .12s ease,border-color .12s ease}.drop-target--active{border-color:var(--accent, #2563eb);border-style:solid;background:var(--accent-soft, #eff6ff)}.drop-target p{margin:0}.summary-vitals{list-style:none;margin:var(--space-2, 10px) 0 0;padding:0;font-variant-numeric:tabular-nums}.summary-vitals li{padding:2px 0}.reading-list{list-style:none;margin:0 0 var(--space-4, 20px);padding:0;display:flex;flex-direction:column;gap:var(--space-3, 14px)}.reading-finding{padding:var(--space-3, 14px);border:1px dashed var(--line-strong, #a1a1aa);border-radius:var(--radius, 10px);background:var(--surface, #fff)}.reading-finding-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2, 10px);margin-bottom:6px}.reading-mark{font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint, #71717a);border:1px dashed var(--line-strong, #a1a1aa);border-radius:999px;padding:1px 8px}.reading-level{font-size:.8125rem;font-weight:600;color:var(--ink-soft, #52525b)}.reading-kind{font-size:.8125rem;color:var(--ink-faint, #71717a)}.reading-text{margin:0 0 var(--space-2, 10px)}.reading-sources{margin:0;font-size:.8125rem;color:var(--ink-faint, #71717a)}.reading-why{margin-top:var(--space-3, 14px);padding-left:var(--space-3, 14px);border-left:2px solid var(--line, #e4e4e7)}.reading-reasoning{margin:0 0 var(--space-2, 10px);color:var(--ink-soft, #52525b)}.reading-block{margin-bottom:var(--space-2, 10px)}.reading-block h4{margin:0 0 4px;font-size:.8125rem;color:var(--ink-faint, #71717a)}.reading-block ul{margin:0;padding-left:1.1rem;font-size:.875rem}.risk-mark{background:var(--attention-soft, #fef3c7);color:var(--attention, #b45309);border-radius:3px;padding:0 2px;font-weight:700}.risk-marks{margin:var(--space-2, 10px) 0 0;padding-left:1.1rem;font-size:.8125rem;color:var(--ink-soft, #52525b)}.risk-row{padding:var(--space-2, 10px) 0;border-top:1px solid var(--line, #e4e4e7)}.risk-row-value{margin:0 0 var(--space-2, 10px)}.tag-check{background:var(--attention-soft, #fef3c7);color:var(--attention, #b45309)}.link{background:none;border:0;padding:0;font:inherit;color:var(--accent-ink, #1d4ed8);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.link:hover{text-decoration-thickness:2px}.actions-primary{flex-wrap:wrap;gap:var(--space-2, 10px);margin:var(--space-3, 14px) 0}.filters{display:flex;flex-wrap:wrap;gap:var(--space-2, 10px);margin-bottom:var(--space-3, 14px)}.detail-list{margin:0}.detail-list>div{display:flex;flex-wrap:wrap;gap:var(--space-2, 10px);padding:6px 0;border-bottom:1px solid var(--line, #e4e4e7)}.detail-list dt{min-width:9rem;color:var(--ink-faint, #71717a);font-size:.875rem}.detail-list dd{margin:0}.row-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-2, 10px)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.results{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.results th,.results td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line, #e4e4e7);vertical-align:top}.results th{font-size:.8125rem;font-weight:600;color:var(--ink-faint, #71717a)}.results tr.out-of-range td{background:var(--danger-soft, #fee2e2)}.unit{color:var(--ink-faint, #71717a)}.tag{display:inline-block;margin-left:var(--space-1, 4px);padding:1px 8px;border-radius:999px;font-size:.75rem;white-space:nowrap}.tag-ok{background:var(--ok-soft, #dcfce7);color:var(--ok, #15803d)}.tag-out{background:var(--danger-soft, #fee2e2);color:var(--danger, #b91c1c)}.tag-warn{background:var(--attention-soft, #fef3c7);color:var(--attention, #b45309)}.tag-off{background:var(--line, #e5e7eb);color:var(--ink-soft, #4b5563)}.result-rejected{opacity:.62}.result-rejected td{text-decoration:none}.upload-type,.upload-type-label{display:inline-flex;align-items:center;gap:6px}.upload-type select{min-height:32px;padding:0 6px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:.85rem}.source-line{margin:var(--space-2, 10px) 0;font-size:.875rem}.source-line code{display:block;margin-top:4px;padding:8px 10px;border-radius:var(--radius-sm, 9px);background:var(--surface-sunken, #f4f4f5);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;overflow-x:auto}.suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 10px);margin:var(--space-2, 10px) 0}.select-list{list-style:none;margin:0;padding:0}.select-row{display:flex;align-items:baseline;gap:var(--space-2, 10px);padding:var(--space-2, 10px) 0;border-bottom:1px solid var(--line, #e4e4e7);cursor:pointer}.notes{margin:var(--space-2, 10px) 0 0;padding-left:1.1rem;font-size:.875rem;color:var(--ink-soft, #52525b)}.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-3, 14px)}.not-measured{color:var(--ink-faint, #71717a)}.progress{height:8px;border-radius:999px;background:var(--surface-sunken, #f4f4f5);overflow:hidden}.progress-bar{height:100%;background:var(--accent, #2563eb);transition:width .2s ease}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:var(--space-2, 10px);margin-bottom:var(--space-3, 14px)}.stat-grid.secondary{opacity:.85}.stat{padding:var(--space-2, 10px);border-radius:var(--radius-sm, 9px);background:var(--surface-sunken, #f4f4f5);display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}.stat.small{font-size:.875rem}.stat-label{font-size:.75rem;color:var(--ink-faint, #71717a)}.stat-value{font-size:1.25rem;font-weight:600}.stat-note{font-size:.75rem;color:var(--ink-faint, #71717a)}.trend{margin:0 0 var(--space-2, 10px);color:var(--ink-soft, #52525b)}.range-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-3, 14px)}.range-btn{padding:6px 12px;border:1px solid var(--line-strong, #a1a1aa);border-radius:999px;background:var(--surface, #fff);color:var(--ink, #18181b);font-size:.875rem;cursor:pointer}.range-btn.active{border-color:var(--accent, #2563eb);background:var(--accent-soft, #eff6ff);color:var(--accent-ink, #1d4ed8);font-weight:600}.chart-wrap{overflow-x:auto;margin-bottom:var(--space-3, 14px)}.chart{width:100%;min-width:280px;height:auto}.chart-band{fill:var(--ok-soft, #dcfce7)}.chart-axis{stroke:var(--line-strong, #a1a1aa);stroke-width:1}.chart-line{stroke:var(--accent, #2563eb);stroke-width:2}.chart-point{fill:var(--accent, #2563eb)}.chart-label{fill:var(--ink-faint, #71717a);font-size:10px}.viewer-image{display:block;max-width:100%;height:auto;margin:0 auto}.picker{margin:var(--space-3, 14px) 0}.picker-body{margin-top:var(--space-2, 10px);padding:var(--space-3, 14px);border:1px solid var(--line, #e4e4e7);border-radius:var(--radius, 10px);background:var(--surface-soft, #fafafa)}.picker-list{list-style:none;margin:0;padding:0}.picker-exam{padding:var(--space-2, 10px) 0;border-bottom:1px solid var(--line, #e4e4e7)}.picker-exam:last-child{border-bottom:none}.picker-row{display:flex;align-items:flex-start;gap:var(--space-2, 10px);margin-top:var(--space-2, 10px);cursor:pointer}.picker-row input[disabled]{cursor:not-allowed}.picker-row input[disabled]+span{color:var(--ink-faint, #71717a)}.report-editor{margin-top:var(--space-3, 14px)}.report-lines{list-style:none;margin:var(--space-2, 10px) 0;padding:0;max-height:460px;overflow-y:auto;border:1px solid var(--line, #e4e4e7);border-radius:var(--radius, 10px)}.report-line{border-bottom:1px solid var(--line, #e4e4e7)}.report-line:last-child{border-bottom:none}.report-line label{display:flex;align-items:flex-start;gap:var(--space-2, 10px);padding:6px var(--space-2, 10px);cursor:pointer;font-family:var(--mono, ui-monospace, monospace);font-size:.85rem;line-height:1.5}.report-line.is-dropped label span{text-decoration:line-through;color:var(--ink-faint, #71717a)}.reading{margin-bottom:var(--space-4, 20px)}.reading-head{display:flex;align-items:baseline;gap:var(--space-2, 10px);margin:0 0 var(--space-3, 14px)}.reading-group{margin-bottom:var(--space-4, 20px)}.reading-group-title{margin:0 0 var(--space-2, 10px);font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-faint, #71717a)}.doubt-list{list-style:none;margin:var(--space-3, 14px) 0;padding:0;display:grid;gap:var(--space-2, 10px)}.doubt-list li{padding:var(--space-2, 10px);background:var(--surface-soft, #f6f7f9);border-left:3px solid var(--attention, #b45309);border-radius:4px;overflow-wrap:anywhere}.doubt-list code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}.proposals{margin-top:var(--space-4, 18px)}.proposal{padding:var(--space-3, 14px);margin-bottom:var(--space-3, 14px);border:1px solid var(--line, #e3e5e8);border-radius:6px}.proposal code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.assisted-log{margin-top:var(--space-4, 18px)}.assisted-log summary{cursor:pointer;color:var(--accent-ink, #1f2937)}.assisted-log-entry{margin-top:var(--space-3, 14px)}.repair{margin:var(--space-3, 14px) 0;padding:var(--space-3, 14px);border:1px solid var(--accent, #0f766e);border-radius:6px;background:var(--surface-soft, #f6f7f9)}.repair p{margin:0 0 var(--space-2, 10px)}.correction{padding:var(--space-3, 14px);background:var(--surface-soft, #f6f7f9);border-radius:6px}.correction code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.scope-choice{margin:var(--space-3, 14px) 0;padding:var(--space-3, 14px);border:1px solid var(--line, #e3e5e8);border-radius:6px}.scope-choice label{display:block;margin:var(--space-2, 10px) 0;cursor:pointer}.scope-choice p{margin:0}.scope-choice p+label{margin-top:var(--space-2, 10px)}.bands{margin:0;padding:0;list-style:none;font-size:.8125rem;line-height:1.5}.band{display:flex;gap:var(--space-2, 10px);padding:1px 0 1px 6px;border-left:2px solid transparent}.band--here{border-left-color:var(--accent, #0e6a67);color:var(--ink, #101a22);font-weight:600}.band-range{min-width:5.5em;font-variant-numeric:tabular-nums;white-space:nowrap}.band-label{color:var(--ink-faint, #7c8b97)}.band--here .band-label{color:var(--ink-soft, #4a5b68)}.bands-block{margin:var(--space-3, 14px) 0 0;padding-top:var(--space-2, 10px);border-top:1px solid var(--line, #e2e7ea)}.bands-block .hint{margin:0 0 var(--space-1, 4px)}.tag-band{background:var(--accent-soft, #e6f1f0);color:var(--accent-ink, #0a4f4d)}.viewer-pages{display:flex;gap:var(--space-2, 10px);overflow-x:auto;padding:var(--space-2, 10px) 2px;margin-top:var(--space-2, 10px);border-top:1px solid var(--line, #e2e7ea);scrollbar-width:thin}.viewer-thumb{flex:0 0 auto;display:block;padding:2px;border:2px solid transparent;border-radius:var(--radius-sm, 6px);background:var(--surface-sunken, #eef1f3);cursor:pointer;line-height:0}.viewer-thumb img{display:block;width:46px;height:auto;border-radius:2px}.viewer-thumb span{display:block;padding-top:2px;font-size:.6875rem;line-height:1.2;text-align:center;color:var(--ink-faint, #7c8b97)}.viewer-thumb.current{border-color:var(--accent, #0e6a67)}.viewer-thumb.current span{color:var(--accent-ink, #0a4f4d);font-weight:600}.viewer-canvas-wrap.clipping{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.clip-box{position:absolute;border:2px solid var(--accent, #0e6a67);background:color-mix(in srgb,var(--accent, #0e6a67) 12%,transparent);pointer-events:none}.clip-panel{margin-top:var(--space-2, 10px);padding:var(--space-3, 14px);border:1px solid var(--accent, #0e6a67);border-radius:var(--radius-sm, 6px);background:var(--surface-soft, #f6f7f9)}.clip-panel .hint{margin:0 0 var(--space-2, 10px)}.clip-name{flex:1 1 12rem;min-width:0}.chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3, 14px);margin:var(--space-3, 14px) 0 0;padding:0;list-style:none}.chart-item{border:1px solid var(--line, #e2e7ea);border-radius:var(--radius-sm, 6px);padding:var(--space-2, 10px);background:var(--surface, #fff)}.chart-shot{display:block;width:100%;padding:0;border:0;background:var(--surface-sunken, #eef1f3);border-radius:4px;cursor:zoom-in;line-height:0;min-height:60px}.chart-shot img{display:block;width:100%;height:auto;border-radius:4px}.chart-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2, 10px);padding-top:var(--space-2, 10px);font-size:.8125rem}.chart-meta strong{flex:1 1 100%}.chart-full{display:block;width:100%;height:auto;margin-top:var(--space-2, 10px);border:1px solid var(--line, #e2e7ea);border-radius:4px;background:#fff}.link--danger{color:var(--danger, #b91c1c)}
