  :root{
    --navy:#0c1733; --navy2:#13234d; --navy3:#1c356e;
    --saffron:#e07a1f; --saffronD:#c2660f;
    --blue:#1d4ed8; --blueL:#3b82f6;
    --green:#16a34a; --greenBg:#dcfce7;
    --amber:#d97706; --amberBg:#fef3c7;
    --red:#dc2626; --redBg:#fee2e2;
    --ink:#0f172a; --muted:#64748b; --line:#e2e8f0;
    --bg:#f1f5f9; --card:#ffffff;
    --shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px rgba(15,23,42,.06);
    --shadowL:0 2px 6px rgba(12,23,51,.12),0 18px 40px rgba(12,23,51,.10);
    /* MMG font-set (27 Jun: Poppins=English/numbers, Noto Sans Devanagari=Hindi — unicode-range se auto per-glyph; self-host fonts/fonts.css) */
    --font-head:'Poppins','Noto Sans Devanagari','Nirmala UI',sans-serif;
    --font-body:'Poppins','Noto Sans Devanagari','Nirmala UI','Segoe UI',sans-serif;
    --font-num:'Poppins','Noto Sans Devanagari','Segoe UI',sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{
    font-family:var(--font-body);
    background:var(--bg); color:var(--ink); -webkit-font-smoothing:antialiased; font-size:15.5px;
  }
  .hi{font-weight:600}
  .en{font-size:.78em; color:var(--muted); font-style:italic; font-weight:500}
  /* ---------- layout ---------- */
  .app{display:grid; grid-template-columns:262px 1fr; min-height:100vh}
  /* ---------- sidebar ---------- */
  .side{background:linear-gradient(185deg,var(--navy),#091025); color:#c7d2e6; position:sticky; top:0; height:100vh; display:flex; flex-direction:column}
  .brand{display:flex; gap:12px; align-items:center; padding:18px 18px 16px; border-bottom:1px solid rgba(255,255,255,.08)}
  .crest{width:64px;height:64px;flex:0 0 64px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
  .brand h1{font-size:15px; color:#fff; line-height:1.25; font-weight:700}
  .brand small{display:block; color:#8aa0c7; font-size:10.5px; font-weight:500; letter-spacing:.3px; margin-top:2px}
  .nav{padding:12px 10px; overflow-y:auto; flex:1}
  .nav .grp{font-size:10px; text-transform:uppercase; letter-spacing:1.2px; color:#5e729a; padding:14px 12px 6px}
  .nav a{display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:10px; color:#c7d2e6; text-decoration:none; font-size:13.5px; cursor:pointer; transition:.15s; margin-bottom:2px}
  .nav a .ic{width:18px;height:18px;flex:0 0 18px; opacity:.85}
  .nav a:hover{background:rgba(255,255,255,.06); color:#fff}
  .nav a.active{background:linear-gradient(90deg,var(--saffron),var(--saffronD)); color:#fff; box-shadow:0 6px 16px rgba(224,122,31,.35)}
  .nav a.active .ic{opacity:1}
  .sidefoot{padding:12px 16px; border-top:1px solid rgba(255,255,255,.08); font-size:10.5px; color:#7d92ba}
  .sidefoot b{color:#e8b774}
  /* ---------- main ---------- */
  .main{display:flex; flex-direction:column; min-width:0}
  .top{background:var(--card); border-bottom:1px solid var(--line); padding:12px 24px; display:flex; align-items:center; gap:16px; position:sticky; top:0; z-index:20}
  .pgtitle{flex:1}
  .pgtitle h2{font-size:17px; font-weight:700}
  .pgtitle p{font-size:12px; color:var(--muted); margin-top:1px}
  .search{display:flex; align-items:center; gap:8px; background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:8px 12px; width:240px}
  .search input{border:0; background:transparent; outline:0; width:100%; font-size:13px; font-family:inherit}
  .topbtn{display:flex;align-items:center;gap:7px; background:var(--navy2); color:#fff; border:0; padding:9px 14px; border-radius:10px; font-size:12.5px; font-weight:600; cursor:pointer; font-family:inherit}
  .topbtn.ghost{background:#fff; color:var(--navy2); border:1px solid var(--line)}
  .topbtn.btnlogout{background:#fff; color:#dc2626; border:1px solid #fecaca; padding:9px 16px; transition:.15s}
  .topbtn.btnlogout:hover{background:#dc2626; color:#fff; border-color:#dc2626; box-shadow:0 4px 12px rgba(220,38,38,.28)}
  .user{display:flex; align-items:center; gap:10px}
  .avatar{width:38px;height:38px;border-radius:50%; background:linear-gradient(135deg,var(--saffron),var(--blue)); color:#fff; display:grid; place-items:center; font-weight:700; font-size:14px}
  .user .nm{font-size:12.5px; font-weight:700; line-height:1.2}
  .user .rl{font-size:10.5px; color:var(--muted)}
  .content{padding:22px 24px 40px; overflow-y:auto; overflow-x:auto; min-width:0}
  .page{display:none; animation:fade .25s ease; min-width:0; max-width:100%}
  .page.show{display:block}
  /* wide children (tables/panels) scroll INSIDE the content area, never break the page width */
  .content .panel, .content .row, .content .kpis, .content .nig-head, .content .cmp-head, .content .subtabs{max-width:100%; min-width:0}
  @keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  /* ---------- alert banner ---------- */
  .banner{display:flex; align-items:center; gap:12px; background:linear-gradient(90deg,#fff7ed,#fffbeb); border:1px solid #fcd9a8; border-left:4px solid var(--saffron); border-radius:12px; padding:13px 16px; margin-bottom:18px}
  .banner .dot{width:9px;height:9px;border-radius:50%; background:var(--saffron); box-shadow:0 0 0 4px rgba(224,122,31,.18); animation:pulse 1.8s infinite}
  @keyframes pulse{50%{box-shadow:0 0 0 8px rgba(224,122,31,0)}}
  .banner b{color:var(--saffronD)}
  /* ---------- KPI cards ---------- */
  .kpis{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:18px}
  .kpis .kpi .kn{font-size:32px}
  .kpi{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px; box-shadow:var(--shadow); position:relative; overflow:hidden; transition:.18s}
  .kpi:hover{transform:translateY(-3px); box-shadow:var(--shadowL)}
  .kpi .kicon{width:34px;height:34px;border-radius:9px; display:grid;place-items:center; margin-bottom:10px}
  .kpi .kn{font-size:26px; font-weight:800; letter-spacing:-.5px}
  .kpi .kl{font-size:11.5px; font-weight:600; margin-top:2px}
  .kpi .ke{font-size:10px; color:var(--muted); font-style:italic}
  .kpi::after{content:''; position:absolute; right:-20px; top:-20px; width:80px;height:80px; border-radius:50%; opacity:.1}
  .c-blue .kicon{background:#dbeafe;color:var(--blue)} .c-blue::after{background:var(--blue)}
  .c-amber .kicon{background:var(--amberBg);color:var(--amber)} .c-amber::after{background:var(--amber)}
  .c-red .kicon{background:var(--redBg);color:var(--red)} .c-red::after{background:var(--red)}
  .c-green .kicon{background:var(--greenBg);color:var(--green)} .c-green::after{background:var(--green)}
  .c-navy .kicon{background:#e0e7ff;color:var(--navy3)} .c-navy::after{background:var(--navy3)}
  .c-saf .kicon{background:#ffedd5;color:var(--saffronD)} .c-saf::after{background:var(--saffron)}
  /* IMD-style polish: colored top-accent + colored number + soft colored card tint (27 Jun, client "card color change") */
  .kpi{border-top-width:3px}
  .c-blue{border-top-color:var(--blue);background:linear-gradient(135deg,#eff6ff 0%,#fff 62%)} .c-blue .kn{color:var(--blue)}
  .c-amber{border-top-color:var(--amber);background:linear-gradient(135deg,#fffbeb 0%,#fff 62%)} .c-amber .kn{color:var(--amber)}
  .c-red{border-top-color:var(--red);background:linear-gradient(135deg,#fef2f2 0%,#fff 62%)} .c-red .kn{color:var(--red)}
  .c-green{border-top-color:var(--green);background:linear-gradient(135deg,#f0fdf4 0%,#fff 62%)} .c-green .kn{color:var(--green)}
  .c-navy{border-top-color:var(--navy3);background:linear-gradient(135deg,#eef2ff 0%,#fff 62%)} .c-navy .kn{color:var(--navy3)}
  .c-saf{border-top-color:var(--saffron);background:linear-gradient(135deg,#fff7ed 0%,#fff 62%)} .c-saf .kn{color:var(--saffronD)}
  .c-saf{border-top-color:var(--saffron)} .c-saf .kn{color:var(--saffronD)}
  .c-purple{border-top:3px solid #7c3aed} .c-purple .kn{color:#7c3aed}
  .c-orange{border-top:3px solid #ea580c} .c-orange .kn{color:#ea580c}
  /* IMD 7-card row (Total · 60 · 90 · Green · Yellow · Orange · Red) */
  .kpis7{display:grid; grid-template-columns:repeat(7,1fr); gap:11px; margin-bottom:18px}
  .kpis7 .kpi{padding:13px 10px; text-align:center}
  .kpis7 .kpi .kn{font-size:23px}
  .kpis7 .kpi .kl{font-size:10.5px; color:var(--muted); font-weight:600; margin-top:3px; min-height:26px; display:flex; align-items:center; justify-content:center; line-height:1.2}
  .kpis7 .kpi .kp{font-size:10px; color:#94a3b8; margin-top:2px}
  @media(max-width:1150px){.kpis7{grid-template-columns:repeat(4,1fr)}}
  /* 6-card IMD row (3-zone model: green/yellow/red, orange dropped) */
  .kpis6{display:grid; grid-template-columns:repeat(6,1fr); gap:11px; margin-bottom:18px}
  .kpis6 .kpi{padding:18px 12px; text-align:center}
  .kpis6 .kpi .kn{font-size:34px; font-weight:800; line-height:1.1}
  .kpis6 .kpi .kl{font-size:13.5px; color:var(--muted); font-weight:600; margin-top:6px; min-height:34px; display:flex; align-items:center; justify-content:center; line-height:1.25}
  .kpis6 .kpi .kp{font-size:13px; font-weight:700; color:#64748b; margin-top:5px}
  @media(max-width:1150px){.kpis6{grid-template-columns:repeat(3,1fr)}}
  /* 6-card row = bold full-colour cards (gradient-fill + white text) — Gaurav 27 Jun "andar poora colour badiya sa" */
  .kpis6 .kpi{border-top:0; color:#fff; box-shadow:0 6px 18px rgba(15,23,42,.16)}
  .kpis6 .kpi .kn{color:#fff}
  .kpis6 .kpi .kl{color:rgba(255,255,255,.93)}
  .kpis6 .kpi .kp{color:rgba(255,255,255,.82)}
  .kpis6 .kpi::after{opacity:.16; background:#fff}
  .kpis6 .kpi.c-navy{background:linear-gradient(135deg,#2a4684,#0c1733)}
  .kpis6 .kpi.c-blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}
  .kpis6 .kpi.c-purple{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
  .kpis6 .kpi.c-green{background:linear-gradient(135deg,#22c55e,#15803d)}
  .kpis6 .kpi.c-amber{background:linear-gradient(135deg,#f59e0b,#c2620a)}
  .kpis6 .kpi.c-red{background:linear-gradient(135deg,#ef4444,#b91c1c)}
  .kpis6 .kpi.c-orange{background:linear-gradient(135deg,#f97316,#c2410c)}
  .kpis6 .kpi .kvd{display:none}
  /* LMD (02 Jul): रिपोर्ट Part-PI कार्ड = dashboard के .kpi कार्ड हूबहू (corner-circle+gradient+hover-lift), 4-column */
  /* nig-head अब सिर्फ PI कार्ड रखता है → पुराना navy score-strip frame हटाया (clean bg) */
  .nig-head{background:none; box-shadow:none; padding:0; overflow:visible; display:block; margin-bottom:18px}
  .nig-head::before{display:none}
  .nig-head .pi-title{font-size:21px;font-weight:800;color:#fff;letter-spacing:.3px;margin:0 0 15px}
  .nig-head .pi-title span{font-size:14px;font-weight:600;color:rgba(255,255,255,.72)}
  .nig-pi-cards.kpis6{grid-template-columns:repeat(5,1fr); width:100%}
  @media(max-width:640px){.nig-pi-cards.kpis6{grid-template-columns:repeat(2,1fr)}}
  /* PI कार्ड बड़े (Gaurav "bada kar do") */
  .nig-pi-cards .kpi{padding:26px 18px}
  .nig-pi-cards .kn{font-size:48px}
  .nig-pi-cards .kl{font-size:16px; min-height:auto; margin-top:8px}
  .nig-pi-cards .kp{font-size:16px; margin-top:6px}
  @media(max-width:640px){.kpis6{grid-template-columns:repeat(2,1fr)}}
  /* ---------- grid cards ---------- */
  .row{display:grid; gap:16px; margin-bottom:16px}
  .row.r2{grid-template-columns:1.6fr 1fr}
  .row.r2b{grid-template-columns:1fr 1.4fr}
  .panel{background:var(--card); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow)}
  .panel .ph{display:flex; align-items:center; justify-content:space-between; padding:15px 18px; border-bottom:1px solid var(--line)}
  .panel .ph h3{font-size:14px; font-weight:700}
  .panel .ph .sub{font-size:11px;color:var(--muted)}
  .pb{padding:18px}
  .tag{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px}
  .tag.g{background:var(--greenBg);color:#15803d} .tag.a{background:var(--amberBg);color:#b45309} .tag.r{background:var(--redBg);color:#b91c1c} .tag.b{background:#dbeafe;color:#1e40af} .tag.gray{background:#f1f5f9;color:#475569}
  /* charts */
  .bars{display:flex; align-items:flex-end; gap:10px; height:190px; padding-top:10px}
  .bars .b{flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; justify-content:flex-end}
  .bars .b .bar{width:60%; border-radius:6px 6px 0 0; background:linear-gradient(180deg,var(--blueL),var(--blue)); transition:.3s; position:relative}
  .bars .b .bar:hover{filter:brightness(1.1)}
  .bars .b .bar span{position:absolute; top:-18px; left:50%; transform:translateX(-50%); font-size:10px; font-weight:700; color:var(--navy3)}
  .bars .b small{font-size:10px;color:var(--muted)}
  .donutwrap{display:flex; align-items:center; gap:20px}
  .legend{display:flex;flex-direction:column;gap:11px;font-size:12.5px}
  .legend .li{display:flex;align-items:center;gap:9px}
  .legend .sw{width:11px;height:11px;border-radius:3px}
  .legend b{margin-left:auto;font-weight:800}
  /* circle bars */
  .cbar{margin-bottom:15px}
  .cbar:last-child{margin-bottom:0}
  .cbar .ct{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}
  .cbar .ct b{font-weight:800}
  .track{height:9px;background:#eef2f7;border-radius:6px;overflow:hidden}
  .track i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--saffron),var(--saffronD))}
  /* priority list */
  .plist .pit{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
  .plist .pit:last-child{border:0}
  .plist .pn{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:12px;flex:0 0 40px}
  .plist .pi{flex:1;min-width:0}
  .plist .pi .t{font-size:13px;font-weight:700}
  .plist .pi .s{font-size:11px;color:var(--muted)}
  /* table */
  .tbl{width:100%; border-collapse:collapse; font-size:12.5px}
  .tbl th{background:#f8fafc; text-align:left; padding:11px 12px; font-size:11px; text-transform:uppercase; letter-spacing:.4px; color:#64748b; border-bottom:1px solid var(--line); white-space:nowrap}
  .tbl td{padding:11px 12px; border-bottom:1px solid #f1f5f9; vertical-align:middle}
  .tbl tr:hover td{background:#fafbff}
  .tbl .fir{font-weight:800;color:var(--navy3)}
  .days{font-weight:800}
  .days.neg{color:var(--red)} .days.low{color:var(--amber)} .days.ok{color:var(--green)}
  .act{display:inline-flex;gap:5px}
  .act button{border:0;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}
  .act .e{background:#e0e7ff;color:#3730a3} .act .d{background:var(--redBg);color:#b91c1c} .act .v{background:var(--greenBg);color:#15803d}
  /* filters */
  .filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
  .filters select,.filters input{padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-size:12.5px;font-family:inherit;background:#fff;outline:0}
  .filters select:focus,.filters input:focus{border-color:var(--blue)}
  /* form */
  .form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .fg{display:flex;flex-direction:column;gap:6px}
  .fg.full{grid-column:1/-1}
  .fg label{font-size:12px;font-weight:600}
  .fg label span{color:var(--muted);font-weight:500;font-style:italic;font-size:11px}
  .fg input,.fg select,.fg textarea{padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:13px;font-family:inherit;outline:0}
  .fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,216,.1)}
  .savebar{grid-column:1/-1;display:flex;gap:10px;margin-top:4px}
  .btn{padding:11px 22px;border:0;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
  .btn.primary{background:linear-gradient(90deg,var(--navy3),var(--navy2));color:#fff}
  .btn.s2{background:linear-gradient(90deg,var(--saffron),var(--saffronD));color:#fff}
  .btn.ghost{background:#fff;color:var(--navy2);border:1px solid var(--line)}
  /* report cards */
  .reps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  .rep{border:1px solid var(--line);border-radius:13px;padding:18px;background:linear-gradient(180deg,#fff,#fafbff)}
  .rep h4{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
  .rep p{font-size:12px;color:var(--muted);margin:6px 0 13px}
  .rep .btns{display:flex;gap:8px}
  .rep .btns button{font-size:11.5px;padding:7px 12px;border-radius:8px;border:0;cursor:pointer;font-weight:600;font-family:inherit}
  .x-excel{background:#dcfce7;color:#15803d} .x-pdf{background:var(--redBg);color:#b91c1c} .x-csv{background:#dbeafe;color:#1e40af}
  /* notif preview */
  .wa{background:#0b141a;border-radius:16px;padding:16px;max-width:330px;color:#e9edef;font-size:12.5px;line-height:1.55;box-shadow:var(--shadowL)}
  .wa .h{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.1)}
  .wa .h .lg{width:30px;height:30px;border-radius:50%;background:#25d366;display:grid;place-items:center;font-size:15px}
  .wa .bub{background:#005c4b;border-radius:10px;padding:11px 13px;position:relative}
  .wa .bub .tm{font-size:9.5px;color:#8aa9a0;text-align:right;margin-top:5px}
  .secnote{display:flex;gap:10px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:11px;padding:13px 15px;margin-top:16px;font-size:12.5px;color:#065f46}
  /* upload */
  .drop{border:2px dashed var(--line);border-radius:14px;padding:38px;text-align:center;background:#fafbff}
  .drop .ic{font-size:34px}
  .rules{background:#fafbff;border:1px solid var(--line);border-radius:13px;padding:18px}
  .rules li{font-size:12.5px;margin-bottom:9px;list-style:none;display:flex;gap:8px}
  .rules li::before{content:'✓';color:var(--green);font-weight:800}
  .ribbon{position:fixed;top:16px;right:-42px;transform:rotate(45deg);background:var(--saffron);color:#fff;font-size:11px;font-weight:800;padding:6px 50px;z-index:99;box-shadow:0 4px 12px rgba(0,0,0,.2);letter-spacing:1px}
  .pfoot{text-align:center;padding:18px;color:var(--muted);font-size:11.5px;border-top:1px solid var(--line);margin-top:8px}
  .pfoot b{color:var(--navy3)}
  @media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.row.r2,.row.r2b{grid-template-columns:1fr}.reps{grid-template-columns:1fr}}
  @media(max-width:1050px){ .pgtitle p{display:none} }
  @media(max-width:900px){ .user .unm{display:none} .search{max-width:230px} }
  @media(max-width:760px){
    .app{grid-template-columns:1fr}
    .side{position:static;height:auto;flex-direction:column}
    .nav{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:8px 8px;gap:4px}
    .nav .grp{display:none}
    .nav a{white-space:nowrap;margin-bottom:0;flex:0 0 auto}
    .sidefoot{display:none}
    .form{grid-template-columns:1fr}
    .kpis{grid-template-columns:repeat(2,1fr)}
    .top{flex-wrap:wrap;gap:8px;row-gap:9px}
    .search{width:100%;order:10;max-width:none}
    .user{margin-left:auto}
    .btnlogout .btnlogout-t{display:none}
    .btnlogout{padding:9px 11px}
  }

  .crest{object-fit:contain}
  .uplogo{height:38px;width:auto;flex:0 0 auto}
  .hdiv{width:1px;height:34px;background:var(--line);flex:0 0 auto}
  /* ---------- login ---------- */
/* ===== ETAWAH LOGIN (05-Jul-2026) — KMD premium card, image-free ===== */
.login{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:radial-gradient(1100px 560px at 72% -8%,rgba(30,58,107,.55),transparent 60%),linear-gradient(160deg,#0a1830,#091025 55%,#0c1c3d);overflow:auto;padding:24px}
.lg-stage{display:flex;align-items:center;justify-content:center;width:100%}
.login .box{position:relative;width:100%;max-width:420px;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.5);padding:34px 34px 26px;text-align:center;display:block;overflow:hidden}
.login .box::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#ff9933 0 33%,#e8edf5 33% 66%,#138808 66%)}
.login .lg-av{width:98px;height:98px;margin:0 auto 8px}
.login .lg-av img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(15,33,71,.25))}
.login .lg-h1{font-size:24px;color:#0f2147;font-weight:800}
.login .sub{font-size:13px;color:#64748b;margin:6px 0 22px}
.lg-fld{position:relative;text-align:left;margin-bottom:13px}
.lg-fld .fi{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;display:flex}
.login .lg-fld input{width:100%;padding:12px 40px;border:1px solid #dbe1ea;border-radius:12px;font-size:14px;font-family:inherit;outline:0;box-sizing:border-box;background:#fff}
.login .lg-fld input:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px rgba(29,78,216,.12)}
.lg-fld .eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:#94a3b8;user-select:none;display:flex}
.lg-row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#475569;margin:2px 0 16px}
.lg-row a{color:#1d4ed8;text-decoration:none;cursor:pointer;font-weight:600}
.lg-row label{display:flex;align-items:center;gap:7px;cursor:pointer;margin:0;font-weight:600;white-space:nowrap}
.login .lg-btn{width:100%;padding:13px;border:0;border-radius:12px;background:linear-gradient(90deg,#1e3a6b,#132a54);color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:9px;margin:0}
.login .lg-btn:hover{filter:brightness(1.12)}
.lg-or{display:flex;align-items:center;gap:12px;color:#94a3b8;font-size:12px;margin:13px 0}
.lg-or::before,.lg-or::after{content:'';flex:1;height:1px;background:#e2e8f0}
.login .lg-sso{width:100%;padding:12px;border:1.5px solid #c7d0e0;border-radius:12px;background:#fff;color:#1e3a6b;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:9px}
.login .lg-sso:hover{background:#f4f7fc}
.login .err{font-size:12.5px;margin-top:10px;min-height:0;color:#dc2626}
.login .lg-mmg{font-size:11.5px;color:#8a97ab;margin-top:15px;line-height:1.5}
.login .lg-mmg b{color:#1e3a6b}
@media(max-width:480px){.login .box{padding:26px 20px}}


  /* ---------- collapse + language ---------- */
  .iconbtn{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--navy2);cursor:pointer;flex:0 0 auto;transition:.15s}
  .iconbtn:hover{background:var(--bg)}
  .langbtn{display:inline-flex;align-items:center;gap:2px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:3px;cursor:pointer;font-family:inherit;flex:0 0 auto}
  .langbtn span{padding:4px 9px;border-radius:6px;color:var(--muted);font-size:12px;font-weight:700}
  .langbtn span.on{background:linear-gradient(90deg,var(--saffron),var(--saffronD));color:#fff}
  /* single-language view — default Hindi (body without .en) */
  .l-en{display:none}
  body.en .l-hi{display:none}
  body.en .l-en{display:revert}
  /* collapsed sidebar — icons only */
  .app.mini{grid-template-columns:74px 1fr}
  .app.mini .lbl,.app.mini .nav .grp,.app.mini .brand .btxt,.app.mini .sidefoot{display:none}
  .app.mini .brand{justify-content:center;padding:16px 0}
  .app.mini .nav a{justify-content:center;padding:11px 0}
  @media(max-width:760px){.app.mini{grid-template-columns:1fr}.app.mini .lbl{display:revert}}
  /* ---------- professional header ---------- */
  .top{position:relative}
  .top::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#FF9933 0 33.3%,#fff 33.3% 66.6%,#138808 66.6% 100%)}
  .uplogo{height:44px}
  .pgtitle{flex:1;min-width:0}
  .pgtitle .kicker{font-size:10px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:var(--saffronD);line-height:1.2;margin-bottom:3px}
  .pgtitle h2{font-size:18.5px;font-weight:800;letter-spacing:-.3px;color:var(--navy);line-height:1.15}
  .pgtitle p{font-size:12px;color:var(--muted);margin-top:2px}
  .top .hdiv{height:40px}
  .user .avatar{box-shadow:0 3px 10px rgba(29,78,216,.28)}
  @media(max-width:620px){.top .kicker{display:none}.uplogo{height:38px}}
  /* responsive header (after base .pgtitle overrides) — mobile/tablet logout+user always visible */
  @media(max-width:1050px){.pgtitle p{display:none}}
  /* tablet + mobile: deterministic header order so notif/avatar/logout are ALWAYS visible */
  @media(max-width:900px){
    .top{flex-wrap:wrap;gap:8px 10px;padding:10px 14px}
    .top>*{order:5}
    .top>.iconbtn{order:1}
    .top>.pgtitle{order:2;flex:1 1 auto;min-width:50px;margin:0}
    .top>button[onclick*="notif"]{order:3}
    .top>.user{order:4;margin:0}
    .top>.search{order:8;flex:1 1 auto;min-width:150px;width:auto;max-width:none}
    .top>.langbtn{order:9}
    .user .unm{display:none}
  }
  @media(max-width:560px){
    /* phone: keep all header controls on row 1; title doesn't grow, search fills leftover.
       NOTE: avoid flex-basis:100% / flex-wrap:nowrap / display:none on .search here — each triggers a
       Chromium flex-wrap quirk that hides the preceding items (notif/avatar/logout). */
    .top>.pgtitle{flex:0 1 auto;min-width:0}
    .top>.search{flex:1 1 70px;min-width:56px;max-width:none}
    .btnlogout .btnlogout-t{display:none}
    .btnlogout{padding:9px 11px}
  }

  /* ============================================================
     MMG READABILITY / FONT OVERHAUL (22 Jun 2026) — "bada-mota, fit-to-screen"
     Headline+Title = Algerian · Body = Sitka Display · Numbers = Bahnschrift
     (per-glyph fallback → हिंदी bold Devanagari, English/digits = Latin font)
     ============================================================ */
  /* headings & titles */
  h1,h2,h3,h4,
  .brand h1, .pgtitle h2, .panel .ph h3, .rep h4, .login h1,
  .nig-band, #nigModalTitle, #dashModalTitle, .mh h3 {
    font-family:var(--font-head); font-weight:800; letter-spacing:.2px;
  }
  .pgtitle h2{font-size:21px}
  .brand h1{font-size:16.5px}
  .panel .ph h3{font-size:16.5px}
  .rep h4{font-size:15.5px}
  /* numbers (digits) = Bahnschrift, big & bold */
  .kpi .kn, .kpis .kpi .kn, .nig-stat b, .nig-ring text, .cbar .ct b, .legend b,
  .plist .pn, .days, .tag b,
  #cat60Open,#cat60Within,#cat60Warn,#cat60Exp,#cat90Open,#cat90Within,#cat90Warn,#cat90Exp,
  #nigCat60Open,#nigCat60Within,#nigCat60Warn,#nigCat60Exp,#nigCat90Open,#nigCat90Within,#nigCat90Warn,#nigCat90Exp {
    font-family:var(--font-num); font-weight:700; letter-spacing:0;
  }
  .kpi .kn, .kpis .kpi .kn{font-size:34px}
  /* bada-mota: readable sizes up across the app */
  .kpi .kl{font-size:13px; font-weight:700}
  .nav a{font-size:14.5px; font-weight:600}
  .tbl{font-size:14px}
  .tbl th{font-size:12px}
  .tbl td{padding:12px 12px}
  .legend{font-size:13.5px}
  .cbar .ct{font-size:13.5px}
  .plist .pi .t{font-size:14.5px}
  .plist .pi .s{font-size:12px}
  .tag{font-size:11.5px}
  .banner{font-size:14.5px}
  .btn{font-size:14px}
  .filters select,.filters input{font-size:13.5px}
  .fg label{font-size:13px}
  .secnote,.rules li{font-size:13px}
