:root{font-family:Inter,"Noto Sans Devanagari",system-ui,Arial,sans-serif;color:#1c2c3b;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}header{background:#10344a;color:#fff;box-shadow:0 3px 16px #102a4030}.shell{max-width:1160px;margin:auto;padding:22px}.bar,.between{display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{color:white;text-decoration:none;font-size:20px;font-weight:800}.brand small{display:block;font-size:11px;font-weight:400;color:#c6dce8;letter-spacing:.1em}h1{font-size:clamp(23px,4vw,34px);margin:8px 0 10px}h2{font-size:19px;margin:0 0 18px}.muted{color:#66788b}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;color:#13817c;margin-top:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.panel{background:#fff;border:1px solid #e1e9f0;border-radius:16px;padding:22px;box-shadow:0 3px 16px #1a385009}.stats .panel span,.details span{display:block;color:#6a7c8b;font-size:13px}.stats strong{display:block;font-size:32px;margin-top:8px;color:#123c51}.ward-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.ward-card{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #e2eaf0;border-radius:12px;padding:15px;text-decoration:none;color:#1d3749;background:#fcfdff}.ward-card:hover{border-color:#168e8b;background:#effbfa}.ward-card span{display:block;font-weight:750}.ward-card small{display:block;color:#788996;font-size:11px;margin-top:6px}.ward-card strong{font-size:25px;color:#0e7577}.unassigned{display:block;margin-top:20px;color:#9a621a}.note{font-size:12px}.back,.link{color:#117e83;text-decoration:none;font-weight:700}.back{display:inline-block;margin:8px 0 18px}.records{padding:0;overflow:hidden}.record{padding:17px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8edf2;text-decoration:none;color:#223849}.record:hover{background:#f5fbfa}.record small{display:block;color:#6e8090;margin-top:4px}.record span{color:#117e83;font-size:13px}.search{display:flex;gap:10px;margin:18px 0}.search input{flex:1}.details{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.details b{display:block;margin-top:6px}.wrap{overflow-wrap:anywhere}input{width:100%;border:1px solid #cad7e2;border-radius:10px;padding:13px;font-size:15px}button,.button{cursor:pointer;border:0;border-radius:9px;padding:12px 16px;font-weight:750;text-decoration:none;display:inline-block}.primary{background:#087e80;color:white}.logout{background:#ffffff20;color:white;border:1px solid #ffffff50}.login{max-width:440px;margin:70px auto}.login label{display:block;margin:18px 0 7px;font-weight:700}.full{width:100%;margin-top:22px}.error{color:#b52222}footer{font-size:12px;color:#9aa9b5;text-align:center}@media(max-width:800px){.stats,.ward-grid{grid-template-columns:repeat(2,1fr)}.shell{padding:15px}}@media(max-width:430px){.brand{font-size:16px}.panel{padding:15px}.ward-card{padding:12px}.stats strong{font-size:26px}.details{grid-template-columns:1fr}.search{flex-direction:column}}
/* V2: 40-ward sequential table and alphabetical household list */
.ward-table-panel{padding:20px;overflow-x:auto}.ward-table{border-collapse:collapse;width:100%;font-size:15px}.ward-table th{text-align:left;background:#edf4f8;color:#163b54;font-weight:800;padding:13px 12px}.ward-table td{padding:12px;border-bottom:1px solid #e4edf3}.ward-table tr:hover{background:#f3fafb}.ward-table td a{color:#143d65;font-weight:700;text-decoration:none}.ward-table .right{text-align:right}.count-zero{color:#c62828;font-size:19px}.count-positive{color:#087e80;font-size:19px}.ward-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.ward-total{border:1px solid #dbe6ee;border-radius:13px;background:white;padding:13px 22px;text-align:center}.ward-total span{display:block;font-size:13px;color:#587085}.ward-total strong{font-size:32px;color:#103c61}.record{gap:15px}.record .serial{min-width:38px;font-size:16px;color:#4b6278;font-weight:800}.record-content{flex:1;min-width:0}.record .record-name{color:#103a73;font-size:19px;font-weight:800}.record .mobile-number{display:block;color:#c75b64;font-size:19px;font-weight:750;margin-top:7px;overflow-wrap:anywhere}.record .detail-link{color:#087e80;white-space:nowrap;font-size:13px}.records .empty{padding:18px}
@media(max-width:600px){.ward-table-panel{padding:10px}.ward-table{font-size:14px}.ward-table th,.ward-table td{padding:11px 6px}.record{padding:15px 12px;gap:8px}.record .serial{min-width:28px}.record .record-name{font-size:17px}.record .mobile-number{font-size:18px}.record .detail-link{font-size:12px}.ward-total{width:100%;text-align:left}.ward-total strong{font-size:27px}}
