:root{--blue:#1f4e8c;--blue-d:#163a69;--bg:#f3f6fb;--card:#fff;--ink:#1c2733;--mut:#6b7a8c;--line:#dbe3ee;
--ok:#1b7f4b;--warn:#b86e00;--bad:#b3261e;--r:12px}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Devanagari",sans-serif;background:var(--bg);color:var(--ink);font-size:15px}
.hi{color:var(--mut);font-size:.82em;margin-left:4px}
header.top{background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff;padding:14px 16px 0}
header.top .row{display:flex;align-items:center;justify-content:space-between;gap:10px}
header.top h1{font-family:Georgia,"Noto Serif Devanagari",serif;font-size:1.25rem;margin:0;font-weight:600}
header.top small{opacity:.8;display:block;font-size:.78rem}
header.top select,header.top button{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:6px 8px;font-size:.85rem}
header.top select option{color:#000}
header.top select{min-width:92px}
nav.tabs{display:flex;gap:4px;overflow-x:auto;margin-top:12px;scrollbar-width:none}
nav.tabs a{color:#dbe7f7;text-decoration:none;padding:10px 14px;border-radius:10px 10px 0 0;white-space:nowrap;font-size:.92rem;cursor:pointer}
nav.tabs a.on{background:var(--bg);color:var(--blue-d);font-weight:600}
main{max-width:1100px;margin:0 auto;padding:16px}
.grid{display:grid;gap:12px}
.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;cursor:pointer}
.tile .n{font-size:1.9rem;font-weight:700;color:var(--blue-d);line-height:1.1}
.tile.bad .n{color:var(--bad)}.tile.warn .n{color:var(--warn)}.tile.ok .n{color:var(--ok)}
.tile .l{font-size:.82rem;color:var(--mut);margin-top:4px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.card h2{font-size:1rem;margin:0 0 10px;color:var(--blue-d)}
.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);font-size:.88rem;vertical-align:top}
th{color:var(--mut);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}
tr.click{cursor:pointer}tr.click:hover{background:#f0f5fc}
.scroll{overflow-x:auto}
.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.74rem;font-weight:600;background:#e5edf8;color:var(--blue-d);white-space:nowrap}
.badge.ok{background:#dff3e8;color:var(--ok)}.badge.warn{background:#fdf0d8;color:var(--warn)}.badge.bad{background:#fbe3e1;color:var(--bad)}
.badge.hold{background:var(--bad);color:#fff}
label{display:block;font-size:.82rem;color:var(--mut);margin:10px 0 4px}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:1rem;background:#fff;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid #9bbbe6;border-color:var(--blue)}
.btn{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:11px 18px;font-size:.95rem;font-weight:600;cursor:pointer}
.btn.sec{background:#e5edf8;color:var(--blue-d)}.btn.bad{background:var(--bad)}.btn.ok{background:var(--ok)}
.btn:disabled{opacity:.5;cursor:default}
.btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 12px}
.login{max-width:380px;margin:9vh auto;padding:0 16px}
.login .card{padding:22px}
.login h1{font-family:Georgia,"Noto Serif Devanagari",serif;color:var(--blue-d);margin:0 0 4px}
.err{background:#fbe3e1;color:var(--bad);padding:9px 12px;border-radius:8px;margin-top:10px;font-size:.9rem}
#toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#1c2733;color:#fff;padding:11px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.25s;max-width:92vw;z-index:50}
#toast.show{opacity:1}#toast.bad{background:var(--bad)}
.modal{position:fixed;inset:0;background:rgba(20,30,45,.55);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:16px;z-index:40}
.modal .box{background:var(--bg);border-radius:14px;max-width:820px;width:100%;padding:16px;margin:auto}
.modal .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.timeline{border-left:3px solid var(--line);margin-left:6px;padding-left:14px}
.timeline .ev{margin-bottom:12px;position:relative}
.timeline .ev:before{content:"";position:absolute;left:-21px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--blue)}
.timeline small{color:var(--mut)}
.imgs{display:flex;gap:8px;flex-wrap:wrap}
.imgs img{height:110px;border-radius:8px;border:1px solid var(--line);cursor:zoom-in;background:#fff}
.search{display:flex;gap:8px;margin-bottom:12px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filters>*{width:auto;min-width:130px}
.empty{color:var(--mut);padding:18px;text-align:center}
.steps{display:flex;gap:6px;margin:6px 0 12px;font-size:.78rem;flex-wrap:wrap}
.steps span{padding:4px 10px;border-radius:99px;background:#e5edf8;color:var(--mut)}
.steps span.on{background:var(--blue);color:#fff}
.check{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid var(--line)}
.check input{width:22px;height:22px;flex:none}
.photo{border:2px dashed #9bbbe6;border-radius:12px;padding:14px;text-align:center;background:#f7faff}
@media(max-width:600px){main{padding:10px}.tile .n{font-size:1.6rem}}

b.code{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:600px){th,td{padding:8px 4px}.card{padding:12px}}
