:root{--brand: #1f3a5f;--brand-2: #2c5282;--accent: #f5b942;--bg: #f3f5f9;--card: #fff;--line: #e1e6ee;--text: #1d2733;--muted: #6b7788;--ok: #1e8e5a;--warn: #c98a00;--err: #c0392b;--radius: 8px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Noto Sans Tamil,Arial,sans-serif}h1{font-size:20px;margin:0 0 14px}h2{font-size:16px;margin:18px 0 10px}h3{font-size:15px}a{color:var(--brand-2)}.page{padding:18px 22px;max-width:1400px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:12px}.toolbar .grow{flex:1}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.muted{color:var(--muted)}.small{font-size:12px}.right{text-align:right}.nowrap{white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px 14px}.grid .span2{grid-column:span 2}.grid .full{grid-column:1/-1}label.f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600}label.f.req>span:after{content:" *";color:var(--err)}label.chk{display:flex;gap:6px;align-items:center;font-size:13px;cursor:pointer}input,select,textarea{font:inherit;color:var(--text);padding:7px 9px;border:1px solid #c9d2de;border-radius:6px;background:#fff;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #b9d0ee;border-color:var(--brand-2)}input[type=checkbox]{width:16px;height:16px;padding:0}textarea{min-height:60px;resize:vertical}.btn{font:inherit;border:1px solid #c9d2de;background:#fff;color:var(--text);padding:7px 14px;border-radius:6px;cursor:pointer;white-space:nowrap}a.btn{text-decoration:none;display:inline-block}.btn:hover{background:#f0f3f8}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-2)}.btn.danger{color:var(--err);border-color:#e7b7b1}.btn.sm{padding:3px 9px;font-size:12px}.btn:disabled{opacity:.55;cursor:default}.link{background:none;border:0;color:var(--brand-2);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}table.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th,.tbl td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.tbl th{background:#f7f9fc;font-weight:600;color:#3d4a5c;position:sticky;top:0;z-index:1;white-space:nowrap}.tbl tr:hover td{background:#fafcff}.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}.tbl tfoot td{font-weight:700;background:#f7f9fc}.tbl.compact th,.tbl.compact td{padding:4px 6px}.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;background:#e8edf4;color:#3d4a5c}.badge.ok,.st-P,.st-OD,.st-WOP,.st-HOP{background:#dff3e8;color:#17714a}.badge.warn,.st-HD,.st-HL,.st-MIS{background:#fff1d1;color:#8a5d00}.badge.err,.st-A{background:#fbe1de;color:#a52a1d}.st-L{background:#e2e8ff;color:#2b3f9a}.st-WO,.st-HO{background:#eef0f3;color:#6b7788}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}.tabs button{background:none;border:0;padding:9px 14px;cursor:pointer;font:inherit;color:var(--muted);border-bottom:2px solid transparent}.tabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:14px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.stat b{display:block;font-size:24px;color:var(--brand)}.stat span{color:var(--muted);font-size:12px}.empty{padding:26px;text-align:center;color:var(--muted)}@media print{.no-print,app-toast{display:none!important}body,.page{background:#fff;padding:0}.card{border:0;padding:0}}
