:root{--ink:#0d2238;--sub:#566679;--line:#dce5ec;--paper:#f6f9fa;--card:#fff;--good:#0a7a5f;--bad:#b3261e;--warn:#a67c00;--accent:#0c447c;--on-accent:#fff;--soft:#e8f1f8;--vgood:#e9f8f3;--vbad:#fdf0ef;--mint:#1fc9a0;--mint-soft:#b9ecdf;--mark:#0c447c;--hero:#0c447c;--nav-h:62px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e6eef6;--sub:#92a5b8;--line:#1e3550;--paper:#08182a;--card:#0e2238;--good:#3fdcb4;--bad:#f0877e;--warn:#e0b84a;--accent:#4cd9b5;--on-accent:#062033;--soft:#12304a;--vgood:#0d2c33;--vbad:#2b1a1f;--mint:#2fd6ac;--mint-soft:#1c5f5c;--mark:#d7e8f8;--hero:#0c447c;color-scheme:dark}}:root[data-theme=dark]{--ink:#e6eef6;--sub:#92a5b8;--line:#1e3550;--paper:#08182a;--card:#0e2238;--good:#3fdcb4;--bad:#f0877e;--warn:#e0b84a;--accent:#4cd9b5;--on-accent:#062033;--soft:#12304a;--vgood:#0d2c33;--vbad:#2b1a1f;--mint:#2fd6ac;--mint-soft:#1c5f5c;--mark:#d7e8f8;--hero:#0c447c;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Public Sans,system-ui,sans-serif;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left);-webkit-text-size-adjust:100%;overscroll-behavior-y:none}h1,h2,h3{letter-spacing:-.01em}h2{font-size:22px;margin:0}.grow{flex:1;min-width:0}.between{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.sub{color:var(--sub)}label{display:flex;flex-direction:column;font-size:14px;color:var(--sub);gap:4px}input{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--card)}input[type=file]{padding:8px;max-width:100%}button{font:inherit;font-weight:500;padding:9px 16px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}button.ghost{background:var(--card);color:var(--accent)}button.ghost.danger{color:var(--bad);border-color:var(--bad)}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}button,input{min-height:44px}.link{background:none;border:0;color:var(--accent);padding:0;text-decoration:underline;font-weight:400;display:inline;min-height:0}.link.back{display:inline-flex;align-items:center;gap:2px;text-decoration:none;min-height:36px}.iconbtn{min-width:44px;padding:0;background:transparent;border:0;color:var(--sub);border-radius:50%}.iconbtn.on{color:var(--accent)}.err{color:var(--bad);margin:12px 0 0}.app{min-height:100vh;display:flex}.col{flex:1;min-width:0;display:flex;flex-direction:column}.side{display:none}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 8px) 16px 8px;background:var(--paper);border-bottom:1px solid var(--line)}.topbar h1{flex:1;margin:0;font-size:20px}.top-actions{display:flex;align-items:center;gap:4px}main{width:100%;max-width:960px;margin:0 auto;padding:18px 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 28px)}.lede{color:var(--sub);margin:0 0 20px;max-width:62ch}.hero{margin-bottom:4px}.hero-hi{font-size:26px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}.sec{margin:22px 0 10px}.bottom{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);background:var(--card);border-top:1px solid var(--line);padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.tabbtn{flex-direction:column;gap:2px;min-height:var(--nav-h);padding:6px 0;border:0;border-radius:0;background:transparent;color:var(--sub);font-size:11px;font-weight:500}.tabbtn.on{color:var(--accent)}.tabbtn.on svg{stroke-width:2.3}.avatar{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;min-height:0;padding:0;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:15px;border:0}.avatar.sm{width:36px;height:36px;font-size:13px;margin:4px 4px 4px 0}.avatar.sm.on{outline:2px solid var(--accent);outline-offset:2px}.avatar.big{width:68px;height:68px;font-size:24px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 14px);z-index:20;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:99px;font-size:14px;box-shadow:0 6px 20px #00000040;max-width:90vw}@media (min-width:900px){.side{display:flex;flex-direction:column;gap:4px;width:236px;flex:none;position:sticky;top:0;height:100vh;padding:20px 12px;background:var(--card);border-right:1px solid var(--line)}.side nav{display:flex;flex-direction:column;gap:2px}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;font-size:18px}.logo{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--accent);color:var(--on-accent)}.navbtn{justify-content:flex-start;gap:12px;width:100%;background:transparent;border:0;color:var(--ink);font-weight:500;padding:10px 12px}.navbtn:hover{background:var(--soft)}.navbtn.on{background:var(--soft);color:var(--accent)}.who{margin-top:auto;display:flex;gap:10px;align-items:center;justify-content:flex-start;text-align:left;background:transparent;border:1px solid var(--line);color:var(--ink);padding:8px 10px}.who small{display:block;color:var(--sub);font-weight:400;font-size:12px}.who b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom,.top-actions{display:none}.topbar{padding:18px 32px 6px;background:transparent;border:0;position:static;width:100%;max-width:960px;margin:0 auto}.topbar h1{font-size:26px}main{padding:8px 32px 56px}.toast{bottom:24px}}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}.card.nomargin{margin:0}.card.list-card{padding:4px 14px}.card.profile-head{display:flex;gap:16px;align-items:center}.step{font-weight:600;margin:0 0 10px}.hint{color:var(--sub);font-size:14px;margin:6px 0 0}.hint svg{vertical-align:-2px}.range{color:var(--sub);font-size:13px;margin:0 0 8px}.row{display:flex;gap:16px;flex-wrap:wrap;align-items:end}.form{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.notice{background:var(--soft);border-left:4px solid var(--accent);border-radius:6px;padding:10px 14px;margin:0 0 16px}.notice b{font-weight:600}.headline{font-size:26px;font-weight:600;margin:0 0 6px;letter-spacing:-.01em}.headline.good{color:var(--good)}.headline.bad{color:var(--bad)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0}.tiles.compact{grid-template-columns:repeat(3,1fr);gap:8px}.tiles.compact .tile{padding:10px}.tiles.compact .tile b{font-size:18px}.tiles.compact .tile small{font-size:12px}.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 12px}.kpis+.hint{margin:0 0 16px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 16px}@media (min-width:700px){.actions{display:flex;flex-wrap:wrap}}@media (min-width:700px){.kpis{grid-template-columns:repeat(4,1fr)}}.tile{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--card)}.tile small{color:var(--sub);display:block;line-height:1.35}.tile b{font-size:22px;font-weight:600;display:block}.tile b.good,.vcard .good{color:var(--good)}.tile b.bad,.vcard .bad{color:var(--bad)}.verdicts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:16px 0}.vcard{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--card)}.vcard h3{margin:0 0 4px;font-size:15px;color:var(--sub);font-weight:500}.vcard .big{font-size:22px;font-weight:600;margin:0 0 8px}.vcard.good{border-top:4px solid var(--good);background:var(--vgood)}.vcard.bad{border-top:4px solid var(--bad);background:var(--vbad)}.vcard.flat{border-top:4px solid var(--sub)}.vcard table td{border-top:0;padding:3px 0}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:8px 6px;border-top:1px solid var(--line);text-align:right}th:first-child,td:first-child,th:nth-child(2),td:nth-child(2){text-align:left}th{color:var(--sub);font-weight:500;border-top:0}.list{margin:6px 0 0;padding-left:18px}details summary{cursor:pointer;color:var(--accent);margin:8px 0}details.card{padding:6px 18px}.forest{overflow-x:auto}.forest svg{max-height:300px}.chk{display:flex;gap:8px;margin:6px 0}.dot{flex:none;width:10px;height:10px;border-radius:50%;margin-top:7px}.dot.ok{background:var(--good)}.dot.warn{background:var(--warn)}.dot.no{background:var(--bad)}.step-row{align-items:flex-start}.step-row .link{margin-left:auto}.struck{color:var(--sub);text-decoration:line-through}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:16px}.choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:16px;font-weight:400}.choice:hover{border-color:var(--accent)}.choice b{display:block;font-size:17px;margin:8px 0 4px;color:var(--accent)}.choice>span:last-child{color:var(--sub);font-size:14px}.choice-ico,.ico,.empty-ico{display:inline-grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--accent)}.choice-ico{width:40px;height:40px}.ico{width:40px;height:40px;flex:none}.progress{height:6px;background:var(--line);border-radius:3px;margin:4px 0 10px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);border-radius:3px}.seg{display:flex;gap:2px;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:3px}.seg button{flex:1;min-height:40px;background:transparent;border:0;color:var(--sub);padding:6px 8px;font-size:14px;border-radius:9px}.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #00000026}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;-webkit-overflow-scrolling:touch}.chip{flex:none;min-height:36px;padding:4px 14px;border-radius:99px;background:var(--card);color:var(--ink);border:1px solid var(--line);font-size:14px;font-weight:400}.chip.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.badge{display:inline-flex;font-size:12px;padding:1px 9px;border-radius:99px;border:1px solid var(--line);color:var(--sub);white-space:nowrap}.badge.good{color:var(--good);border-color:var(--good)}.badge.bad{color:var(--bad);border-color:var(--bad)}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.item{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line)}.item:first-child{border-top:0}.item-main{flex:1;min-width:0;display:flex;gap:12px;align-items:center;text-align:left;padding:12px 0;background:transparent;color:var(--ink);border:0;border-radius:0;font-weight:400;justify-content:flex-start}.item-main .t{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-main small{display:block;font-size:13px}.chev{color:var(--sub);display:grid}.time{white-space:nowrap}.searchbox{display:flex;align-items:center;gap:8px;padding:0 12px;margin-bottom:10px;background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--sub)}.searchbox input{flex:1;border:0;background:transparent;padding:8px 0;min-width:0}.detail-head h2{margin:0}.empty{text-align:center;padding:16px 8px}.empty-ico{width:56px;height:56px;border-radius:50%}.empty h3{margin:12px 0 4px;font-size:18px}.empty p{color:var(--sub);margin:0 auto 16px;max-width:42ch}.stack{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--line)}.stack i{display:block;height:100%}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--sub);margin:8px 0 0}.legend s{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;text-decoration:none}.hbars{display:grid;gap:10px}.hb{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;gap:10px;align-items:center;font-size:14px}.hb .track{height:10px;background:var(--line);border-radius:5px;overflow:hidden}.hb .track i{display:block;height:100%;border-radius:5px}@media (max-width:600px){h1{font-size:24px}input,select{font-size:16px;width:100%!important}input[type=file],input[type=search]{width:100%!important}label{flex:1 1 140px}.row{gap:12px}.row>button{flex:1 1 100%}.hero-hi{font-size:23px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.headline{font-size:22px}.tile b,.vcard .big{font-size:20px}.seg button svg{display:none}.card.profile-head{gap:12px}}@media (display-mode:standalone){.link{padding:6px 0}}body{font-family:Avenir Next,Segoe UI,Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}h1,h2,h3,.headline,.hero-hi{letter-spacing:-.02em}.mark{display:block;flex:none}.wordmark{display:inline-flex;align-items:center;gap:10px;font-weight:650;color:var(--ink)}.avatar{background:var(--hero);color:#fff}.hero{position:relative;overflow:hidden;background:var(--hero);color:#fff;border-radius:20px;padding:22px 20px 96px;margin-bottom:18px}.hero>*{position:relative;z-index:1}.hero .lede{color:#ffffffd1;margin:0;max-width:40ch}.hero-curve{position:absolute!important;left:0;bottom:0;width:100%;height:92px;z-index:0!important}.tabbtn{position:relative}.tabbtn.on:before{content:"";position:absolute;top:0;width:30px;height:3px;border-radius:0 0 3px 3px;background:var(--mint)}.progress{background:var(--soft)}.progress i{background:var(--mint)}.notice{border-left-color:var(--mint)}.dot.ok{background:var(--mint)}.vcard.good{border-top-color:var(--mint)}.choice:hover{border-color:var(--mint)}.choice-ico,.empty-ico{background:var(--mint-soft);color:var(--mark)}.badge.good{border-color:var(--mint)}@media (min-width:900px){.topbar .wordmark svg,.topbar .wordmark{display:none}.hero{padding:28px 28px 100px}}@media (prefers-reduced-motion:no-preference){.hero-curve .draw{stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 1.1s .15s ease-out forwards}@keyframes draw{to{stroke-dashoffset:0}}}@media print{:root,:root[data-theme]{--ink:#000;--sub:#444;--line:#ccc;--paper:#fff;--card:#fff;--good:#0b6e4f;--bad:#b3261e;--warn:#8a6d00;--accent:#0c447c;--soft:#eef2f6;--vgood:#fff;--vbad:#fff;color-scheme:light}.side,.bottom,.topbar,.noprint,.toast{display:none!important}.app{display:block}main{padding:0;max-width:none}.card,.vcard{break-inside:avoid}}
