:root{
  --bg:#f5f7f7;--surface:#fff;--ink:#172321;--muted:#66736f;--line:#dce5e2;
  --brand:#0f766e;--brand-dark:#115e59;--brand-soft:#dff5f1;
  --danger:#b42318;--danger-soft:#fde8e7;--warn:#9a6700;--warn-soft:#fff4cf;
  --good:#147a4b;--good-soft:#e3f6eb;--shadow:0 8px 28px rgba(18,45,41,.09);
  --radius:18px;
}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}
.topbar{position:sticky;top:0;z-index:20;height:64px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(14px,calc((100vw - 760px)/2));gap:10px}
.brand{min-width:0;flex:1}.brand strong{display:block;font-size:15px}.brand span{display:block;color:var(--muted);font-size:11px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icon-btn{border:0;background:transparent;border-radius:12px;width:42px;height:42px;font-size:21px;color:var(--ink)}.icon-btn:hover{background:#edf2f1}
main{max-width:760px;margin:0 auto;padding:20px 16px 160px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
.hero{padding:26px 22px;margin-bottom:14px}.hero h1{margin:0 0 8px;font-size:28px;letter-spacing:-.5px}.hero p{margin:0;color:var(--muted);line-height:1.5}
.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.primary,.secondary,.danger-btn,.ghost{min-height:50px;border-radius:14px;border:1px solid transparent;font-weight:750;padding:0 16px}
.primary{background:var(--brand);color:#fff}.primary:hover{background:var(--brand-dark)}
.secondary{background:var(--brand-soft);color:var(--brand-dark);border-color:#bfe8e2}.ghost{background:#fff;border-color:var(--line);color:var(--ink)}.danger-btn{background:var(--danger-soft);color:var(--danger);border-color:#f4c6c2}
.field{display:grid;gap:7px;margin:14px 0}.field label{font-weight:700;font-size:13px}.field input,.field textarea{width:100%;border:1px solid #cdd9d6;background:#fff;border-radius:12px;padding:13px;outline:none}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.section-label{color:var(--brand-dark);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.progress-wrap{display:flex;align-items:center;gap:10px;margin-bottom:16px}.progress{height:8px;background:#e4ecea;border-radius:99px;overflow:hidden;flex:1}.progress>span{display:block;height:100%;background:var(--brand);border-radius:99px;transition:width .25s}.progress-text{font-size:12px;color:var(--muted);font-weight:700;white-space:nowrap}
.check-card{padding:22px}.check-number{font-size:12px;color:var(--muted);font-weight:750}.check-title{font-size:25px;line-height:1.2;margin:7px 0 18px;letter-spacing:-.35px}.severity{display:inline-flex;align-items:center;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:850;margin-bottom:10px;background:#eef2f1;color:#52615d}.severity.critical{background:#fde8e7;color:#9f2218}.severity.major{background:#fff4cf;color:#855900}.severity.minor{background:#e8f3ff;color:#1d5f8a}
.bullets{margin:0;padding-left:20px}.bullets li{margin:0 0 11px;line-height:1.45}.info-note{background:#f3f7f6;border-radius:12px;padding:10px 12px;color:var(--muted);font-size:12px;margin-top:12px}
.action-dock{position:fixed;bottom:0;left:0;right:0;z-index:15;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:8px max(14px,calc((100vw - 760px)/2));padding-bottom:max(8px,env(safe-area-inset-bottom));display:grid;gap:7px}.nav-dock{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:7px}.answer-dock{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0}.answer-dock button{min-height:48px}
.answer{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.answer button{min-height:58px;border-radius:14px;border:2px solid var(--line);background:#fff;font-weight:850;color:var(--ink)}.answer button.selected.yes{border-color:var(--good);background:var(--good-soft);color:var(--good)}.answer button.selected.no{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.answer button.selected.na{border-color:#6b5bb5;background:#eeeaff;color:#58489d}
.answer button:disabled{opacity:.4;cursor:not-allowed}
.meta-row{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:14px 0}.autosave{display:flex;align-items:center;gap:5px}
.dashboard-stat{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.dashboard-stat:last-child{border-bottom:0}.stat-value{font-size:20px;font-weight:850}
.history-list{display:grid;gap:10px}.history-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.history-item .grow{flex:1;min-width:0}.history-item strong{display:block}.history-item small{color:var(--muted)}.score-pill{min-width:64px;text-align:center;border-radius:12px;padding:8px;font-weight:850}.score-pill.pass{background:var(--good-soft);color:var(--good)}.score-pill.fail{background:var(--danger-soft);color:var(--danger)}
.result{text-align:center;padding:28px 18px}.score-ring{width:174px;height:174px;margin:4px auto 18px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--score)*1%),#e5ecea 0)}.score-ring>div{width:136px;height:136px;background:#fff;border-radius:50%;display:grid;place-items:center}.score-ring b{font-size:34px}.status{display:inline-block;border-radius:99px;padding:8px 14px;font-weight:900}.status.pass{background:var(--good-soft);color:var(--good)}.status.fail{background:var(--danger-soft);color:var(--danger)}
.alert{padding:14px;border-radius:14px;text-align:left;margin:16px 0;font-weight:750}.alert.warn{background:var(--warn-soft);color:#725000}.alert.danger{background:var(--danger-soft);color:#8c1c13}.compare{padding:15px;border-radius:14px;background:#f3f7f6;margin-top:12px;text-align:left}.up{color:var(--good)}.down{color:var(--danger)}
.bar-row{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:10px;align-items:center;margin:12px 0}.bar{height:9px;background:#e6edeb;border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;background:var(--brand)}.empty{padding:28px;text-align:center;color:var(--muted)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.menu-action{width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:15px 4px;font-weight:750}.file-action{display:block;cursor:pointer}.file-action input{display:none}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.5}
dialog{border:0;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.22);width:min(92vw,430px);padding:18px}dialog::backdrop{background:rgba(9,28,25,.45)}
.kicker{font-size:12px;color:var(--muted);font-weight:750}.list-clean{margin:0;padding:0;list-style:none}.list-clean li{padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:520px){.grid.two{grid-template-columns:1fr}.hero h1{font-size:25px}.check-title{font-size:22px}.answer-dock button{min-height:48px;font-size:13px}.nav-dock button{padding:0 8px;font-size:13px}}

.dock-hint{display:grid;place-items:center;color:var(--muted);font-size:11px;font-weight:700;text-align:center}
