
:root{
  --blue:#005baa;--blue-dark:#003b70;--orange:#f58220;--bg:#f3f6f9;
  --card:#fff;--text:#17202b;--muted:#667085;--line:#d8e1e8;
  --green:#15803d;--amber:#b45309;--red:#b42318;--gray:#475467;
  --shadow:0 3px 14px rgba(24,51,77,.08)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
header{background:linear-gradient(115deg,var(--blue-dark),var(--blue));color:#fff;border-bottom:5px solid var(--orange);position:sticky;top:0;z-index:30}
.header-inner{max-width:1550px;margin:auto;padding:13px 20px;display:flex;align-items:center;gap:13px}
.brand-mark{width:50px;height:50px;border-radius:12px;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:25px;font-weight:900;box-shadow:0 4px 12px #0003}
h1{font-size:20px;margin:0 0 3px}
.header-sub{font-size:13px;opacity:.9}
.nav{margin-left:auto;display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.nav button{border:0;border-radius:8px;background:#ffffff17;color:#fff;padding:9px 11px;font-weight:700}
.nav button.active,.nav button:hover{background:#fff;color:var(--blue-dark)}
main{max-width:1550px;margin:auto;padding:16px}
.page{display:none}.page.active{display:block}
.cards{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:11px;margin-bottom:14px}
.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.card{padding:15px}.card-label{font-size:12px;color:var(--muted)}.card-value{font-size:26px;font-weight:800;margin-top:7px}
.card.good .card-value{color:var(--green)}.card.warn .card-value{color:var(--amber)}.card.bad .card-value{color:var(--red)}
.panel{padding:14px;margin-bottom:14px}
.panel-title{font-size:16px;font-weight:800;margin:0 0 12px;color:#163b5b}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.toolbar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(135px,1fr));gap:8px}
input,select,textarea{width:100%;border:1px solid #c9d4de;border-radius:8px;padding:10px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid #93c5fd;border-color:var(--blue)}
.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.btn{border:0;border-radius:8px;padding:9px 12px;font-weight:700}
.btn-primary{background:var(--blue);color:#fff}.btn-orange{background:var(--orange);color:#fff}
.btn-soft{background:#eaf2f8;color:var(--blue-dark)}.btn-danger{background:#fee4e2;color:var(--red)}
.btn-success{background:#dcfae6;color:var(--green)}.btn-gray{background:#eef2f6;color:var(--gray)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.table-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:66vh}
table{border-collapse:collapse;width:100%;min-width:1220px}
th,td{border-bottom:1px solid #e8edf2;padding:8px 9px;text-align:left;font-size:13px;vertical-align:middle}
th{position:sticky;top:0;background:#eaf2f8;color:#153b5d;z-index:3;white-space:nowrap}
tr:hover td{background:#f8fbfd}
.code{font-family:Consolas,monospace;color:#174f7c;font-weight:800}
.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;white-space:nowrap}
.badge-good{background:#dcfae6;color:var(--green)}
.badge-maint{background:#fef0c7;color:var(--amber)}
.badge-bad{background:#fee4e2;color:var(--red)}
.badge-unknown{background:#eef2f6;color:var(--gray)}
.badge-info{background:#eaf2f8;color:var(--blue-dark)}
.mini{padding:6px 8px;font-size:12px}
.footer-line{display:flex;justify-content:space-between;gap:10px;margin-top:9px;color:var(--muted);font-size:12px}
.notice{background:#eff8ff;border:1px solid #b2ddff;color:#184b73;border-radius:9px;padding:10px;margin-bottom:11px}
.warning{background:#fffaeb;border:1px solid #fedf89;color:#7a2e0e;border-radius:9px;padding:10px;margin-bottom:11px}
.bar-row{display:grid;grid-template-columns:minmax(110px,1fr) 4fr 42px;align-items:center;gap:8px;margin:8px 0;font-size:13px}
.bar-track{height:12px;background:#edf2f6;border-radius:99px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--blue),#43a4df);border-radius:99px}
.empty{text-align:center;color:var(--muted);padding:34px}
dialog{border:0;border-radius:14px;padding:0;width:min(820px,calc(100% - 24px));box-shadow:0 24px 80px #0005}
dialog::backdrop{background:#102030a6}
.modal-head{background:var(--blue);color:#fff;padding:14px 17px;display:flex;justify-content:space-between;align-items:center}
.modal-head h2{font-size:18px;margin:0}.modal-close{border:0;background:transparent;color:#fff;font-size:24px}
.modal-body{padding:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.full{grid-column:1/-1}
label{font-size:13px;font-weight:700;color:#344054}label input,label select,label textarea{margin-top:5px;font-weight:400;color:var(--text)}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:11px}
.qr-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center;break-inside:avoid}
.qr-card img{width:125px;height:125px;image-rendering:pixelated}.qr-code{font:700 12px Consolas,monospace;word-break:break-all}
.qr-area{font-size:12px;color:var(--muted);margin:4px 0}.note{font-size:12px;color:var(--muted);line-height:1.55}
.kpi-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kpi-item{padding:10px;border:1px solid var(--line);border-radius:9px}
.kpi-item b{font-size:20px;display:block}.kpi-item span{font-size:12px;color:var(--muted)}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-item{border:1px solid var(--line);border-radius:8px;padding:9px}
.check-item label{display:flex;gap:8px;align-items:center}.check-item input{width:auto;margin:0}
.history{max-height:360px;overflow:auto}.history-item{border-left:4px solid var(--blue);padding:8px 10px;margin:9px 0;background:#f8fbfd;border-radius:6px}
.settings-block{max-width:950px}
@media(max-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}.toolbar{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
  header{position:static}.header-inner{align-items:flex-start;flex-wrap:wrap}.nav{width:100%;margin:8px 0 0}
  .cards{grid-template-columns:1fr 1fr}.grid-2,.form-grid,.toolbar,.check-grid{grid-template-columns:1fr}.full{grid-column:auto}
  main{padding:9px}.actions .btn{flex:1}.footer-line{flex-direction:column}.bar-row{grid-template-columns:95px 1fr 35px}
}
@media print{
  header,.no-print,.actions,.toolbar,.footer-line{display:none!important}
  body{background:#fff}main{max-width:none;padding:0}.panel{border:0;box-shadow:none;padding:0}
  .table-wrap{max-height:none;overflow:visible;border:0}th{position:static}table{min-width:0}
  th,td{font-size:9px;padding:4px}.page{display:none!important}.page.print-target{display:block!important}
  .qr-grid{grid-template-columns:repeat(4,1fr);gap:5mm}.qr-card{border:1px solid #444;padding:3mm}.qr-card img{width:28mm;height:28mm}
}
