:root{
  --bg:#f4f7fb;--surface:#fff;--text:#17212b;--muted:#637083;--line:#dbe3ec;
  --primary:#16324f;--primary2:#285b86;--accent:#ff8a3d;--danger:#b42318;
  --shadow:0 10px 30px rgba(20,45,70,.08);--radius:16px
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.topbar h1{margin:0;font-size:1.2rem}.topbar p{margin:2px 0 0;color:var(--muted);font-size:.82rem}
.tabs{position:sticky;top:67px;z-index:9;display:flex;gap:4px;overflow:auto;padding:8px 12px;background:#fff;border-bottom:1px solid var(--line)}
.tabs button{border:0;background:transparent;padding:10px 14px;border-radius:10px;white-space:nowrap;color:var(--muted)}
.tabs button.active{background:var(--primary);color:#fff}
main{max-width:1200px;margin:auto;padding:22px}.view{display:none}.view.active{display:block}
.hero{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:30px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-radius:22px;box-shadow:var(--shadow)}
.hero h2{font-size:clamp(1.7rem,4vw,3rem);max-width:760px;margin:8px 0}.hero p{max-width:700px;color:#d9e7f2}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:#a9d1ee}
.primary,.secondary,.danger,.file-label{border-radius:10px;padding:10px 14px;border:1px solid transparent;font-weight:650;display:inline-flex;align-items:center;justify-content:center}
.primary{background:var(--accent);color:#23170f}.secondary{background:#fff;color:var(--primary);border-color:var(--line)}.danger{background:var(--danger);color:#fff}.file-label input{display:none}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat,.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.stat{padding:18px}.stat strong{display:block;font-size:1.8rem}.stat span{color:var(--muted)}
.panel{padding:20px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-head h2{margin:0}.section-head p{margin:4px 0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.card{padding:18px}.card h3{margin:0 0 6px}.meta{color:var(--muted);font-size:.9rem}.tag{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef4f8;color:var(--primary);font-size:.75rem;font-weight:700;margin:6px 4px 0 0}
.card-actions,.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.card-actions button{padding:7px 10px}
.empty{padding:35px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}.empty strong,.empty span{display:block}.empty strong{color:var(--text);margin-bottom:5px}
dialog{border:0;padding:0;border-radius:18px;width:min(760px,calc(100% - 24px));max-height:90vh;box-shadow:0 30px 90px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(9,20,31,.58)}
.modal-card{padding:0}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0}.icon-btn{border:0;background:transparent;font-size:1.7rem}
#modalBody{padding:20px;overflow:auto;max-height:75vh}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}
label{font-weight:650;font-size:.9rem;display:block}input,textarea,select{width:100%;padding:10px 11px;border:1px solid #cbd6e1;border-radius:9px;margin-top:5px;background:#fff}textarea{min-height:90px;resize:vertical}
.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.inline-form{display:flex;gap:8px}.inline-form input{margin:0}.list-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.inspection-runner .point{border:1px solid var(--line);border-radius:12px;padding:14px;margin:10px 0}.inspection-runner h3{margin-top:24px}.point-title{display:flex;justify-content:space-between;gap:10px}.progress{height:10px;background:#e8edf3;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent)}
.note-box{background:#f7f9fc;padding:10px;border-radius:10px;margin-top:10px}.report{background:#fff;color:#111;padding:24px}.report table{width:100%;border-collapse:collapse}.report th,.report td{border:1px solid #ccc;padding:7px;text-align:left}.report .section{margin-top:20px}
@media(max-width:720px){main{padding:14px}.hero{align-items:stretch;flex-direction:column}.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.section-head{align-items:flex-start;flex-direction:column}.section-head button{width:100%}}
@media print{body>*:not(dialog){display:none!important}dialog{position:static;display:block!important;width:100%;max-height:none;box-shadow:none}.modal-head,.form-actions,.no-print{display:none!important}#modalBody{max-height:none;overflow:visible;padding:0}}
