:root{--bg:#f4f6f8;--surface:#fff;--ink:#172033;--muted:#697386;--line:#e3e7ec;--soft:#f8fafc;--accent:#e96b2c;--accent-soft:#fff4ed;--nav:#111827;--good:#087a55;--warn:#a16207;--bad:#b42318;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg)}button,input,select{font:inherit}.boot{min-height:100vh;display:grid;place-items:center;color:var(--muted)}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#eef1f4}.login-art{display:flex;flex-direction:column;justify-content:space-between;padding:52px;background:linear-gradient(145deg,#111827,#1f2937);color:#fff}.login-art h1{font-size:42px;line-height:1.1;margin:18px 0 14px;max-width:580px}.login-art p{max-width:540px;color:#cbd5e1;line-height:1.7}.brand{display:flex;align-items:center;gap:12px}.brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.brand strong{font-size:20px}.brand small{display:block;color:#cbd5e1;margin-top:3px}.login-panel{display:grid;place-items:center;padding:28px}.login-card{width:min(100%,430px);background:#fff;border:1px solid var(--line);border-radius:10px;padding:30px;box-shadow:0 6px 18px rgba(15,23,42,.04)}.login-card h2{font-size:26px;margin:7px 0 8px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:11px;font-weight:800}.sub{color:var(--muted);line-height:1.55}.field{display:block;font-size:13px;font-weight:700;margin-top:16px}.field input{width:100%;height:46px;margin-top:7px;border:1px solid #d7dce3;border-radius:6px;padding:0 12px;outline:0}.field input:focus{border-color:#9ca3af;box-shadow:0 0 0 3px rgba(17,24,39,.05)}.primary{width:100%;height:46px;border:0;border-radius:6px;background:var(--nav);color:#fff;font-weight:800;margin-top:20px;cursor:pointer}.primary:disabled{opacity:.6}.alert{display:none;margin-top:15px;padding:11px 12px;border-radius:6px;background:#fff1f0;border:1px solid #ffd4d0;color:var(--bad);font-size:13px}.alert.show{display:block}.secure-note{text-align:center;color:var(--muted);font-size:12px;margin-top:16px}
.shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#fff;border-right:1px solid var(--line);padding:17px 11px;display:flex;flex-direction:column;z-index:30}.side-brand{display:flex;gap:10px;align-items:center;padding:4px 8px 17px;border-bottom:1px solid var(--line)}.side-brand img{width:39px;height:39px;object-fit:contain}.side-brand strong{display:block}.side-brand small{color:var(--muted)}.nav{display:grid;gap:3px;padding-top:13px}.nav-btn{height:42px;border:0;border-radius:5px;background:transparent;color:#5f6878;display:flex;align-items:center;gap:11px;padding:0 12px;font-weight:700;cursor:pointer;text-align:left}.nav-btn:hover{background:#f4f6f8;color:var(--ink)}.nav-btn.active{background:#eef1f4;color:var(--nav);box-shadow:inset 3px 0 0 var(--accent)}.nav-btn .ico{width:20px;text-align:center}.side-footer{margin-top:auto;border-top:1px solid var(--line);padding:14px 6px 0}.admin-chip{display:flex;align-items:center;gap:9px}.admin-avatar{width:34px;height:34px;border-radius:7px;background:#edf1f5;display:grid;place-items:center;font-weight:800}.admin-chip strong,.admin-chip small{display:block}.admin-chip small{color:var(--muted);font-size:11px}.logout{width:100%;margin-top:11px;height:36px;border:1px solid #ffd8c7;background:#fff8f4;color:#b84b19;border-radius:5px;font-weight:750;cursor:pointer}.workspace{grid-column:2;min-width:0}.topbar{height:68px;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar h1{font-size:18px;margin:0}.topbar p{font-size:12px;color:var(--muted);margin:3px 0 0}.top-actions{display:flex;align-items:center;gap:8px}.live{font-size:12px;color:var(--good);font-weight:750}.live:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#10b981;margin-right:6px}.btn{height:36px;border:1px solid var(--line);background:#fff;border-radius:5px;padding:0 12px;font-weight:750;cursor:pointer;color:#374151}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.content{padding:22px;max-width:1680px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.page-head h2{font-size:24px;margin:5px 0}.toolbar{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.filters{display:flex;flex-wrap:wrap;gap:7px}.search,.select,.date{height:38px;border:1px solid var(--line);border-radius:5px;padding:0 10px;background:#fff}.search{min-width:235px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:15px}.metrics.six{grid-template-columns:repeat(6,minmax(0,1fr))}.metric{background:#fff;border:1px solid var(--line);border-radius:7px;padding:15px;box-shadow:0 1px 4px rgba(15,23,42,.02)}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:22px;margin:5px 0}.metric small{color:#8a93a1;font-size:11px}.metric.warn-card{border-left:3px solid #d99b1b}.metric.good-card{border-left:3px solid #16a36f}.metric.bad-card{border-left:3px solid #d34b40}.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:13px}.panel{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:0 1px 4px rgba(15,23,42,.02)}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line)}.panel-head h3{margin:0;font-size:15px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:950px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #edf0f3;font-size:12px;white-space:nowrap}th{background:#fafbfc;color:#667085;font-size:10px;text-transform:uppercase;letter-spacing:.055em;position:sticky;top:0}tbody tr:hover{background:#fcfcfd}.muted{color:var(--muted)}.status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800;background:#f1f3f5;color:#596273}.status.good{background:#eaf8f2;color:var(--good)}.status.warn{background:#fff7df;color:var(--warn)}.status.bad{background:#fff0ef;color:var(--bad)}.empty{text-align:center!important;padding:30px!important;color:var(--muted)}.table-title{font-weight:800}.save-mini{height:32px;border:0;border-radius:5px;background:var(--nav);color:#fff;font-weight:750;padding:0 10px;cursor:pointer}.link-btn{border:0;background:transparent;color:#c15422;font-weight:800;cursor:pointer}.summary-list{padding:5px 16px}.summary-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #eef0f3}.summary-row:last-child{border-bottom:0}.summary-row span{color:var(--muted);font-size:12px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.profile-card{padding:18px}.profile-card h3{margin:0 0 14px}.kv{display:grid;grid-template-columns:150px 1fr;padding:10px 0;border-bottom:1px solid #eef0f3;font-size:13px}.kv span{color:var(--muted)}.notice{padding:13px 14px;border:1px solid #dbe7e1;background:#f5fbf8;border-radius:6px;color:#47645a;font-size:12px;line-height:1.55}.bars{padding:16px}.bar-row{display:grid;grid-template-columns:90px 1fr 30px;gap:9px;align-items:center;margin-bottom:13px;font-size:12px}.bar-row>div{height:8px;background:#eef1f4;border-radius:99px;overflow:hidden}.bar-row i{display:block;height:100%;background:#ea6a2a;border-radius:99px}.city-toolbar{margin-bottom:12px;justify-content:flex-start}.city-list{display:grid;gap:10px}.city-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.city-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.city-card summary::-webkit-details-marker{display:none}.city-card summary strong,.city-card summary small{display:block}.city-card summary small{color:var(--muted);font-size:11px;margin-top:3px}.city-card summary>span{font-size:11px;color:var(--good);font-weight:800}.city-content{border-top:1px solid var(--line);padding:14px}.bonus-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bonus-grid section{border:1px solid var(--line);border-radius:6px;padding:12px}.bonus-grid h4{margin:0 0 10px}.bonus-rule{display:grid;grid-template-columns:80px 90px 110px 150px auto;gap:8px;align-items:end;padding:9px 0;border-top:1px solid #eef0f3}.bonus-rule:first-of-type{border-top:0}.bonus-rule label{font-size:10px;color:var(--muted)}.bonus-rule input{width:100%;height:33px;margin-top:4px;border:1px solid var(--line);border-radius:4px;padding:0 7px}.donut-wrap{display:flex;align-items:center;gap:28px}.donut{--p:50;width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--p)*1%),#26364f 0);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;width:96px;height:96px;border-radius:50%;background:#fff}.donut span{position:relative;z-index:1;font-size:25px;font-weight:800}.legend{display:grid;gap:12px}.legend div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center}.legend i{width:10px;height:10px;border-radius:2px}.legend .food{background:var(--accent)}.legend .insta{background:#26364f}.export-box{margin-top:14px;padding:18px}.mobile-nav{display:none}.modal{position:fixed;inset:0;background:rgba(15,23,42,.38);display:grid;place-items:center;padding:20px;z-index:70}.modal-card{width:min(100%,560px);background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h3{margin:0}.close{border:0;background:#f1f3f5;width:32px;height:32px;border-radius:5px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{font-size:12px;font-weight:700}.form-grid input,.form-grid select{width:100%;height:40px;margin-top:6px;border:1px solid var(--line);border-radius:5px;padding:0 9px}.form-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
@media(max-width:1250px){.metrics.six{grid-template-columns:repeat(3,1fr)}.bonus-rule{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.bonus-grid{grid-template-columns:1fr}}
@media(max-width:760px){body{padding-bottom:68px}.shell{display:block}.sidebar{display:none}.workspace{grid-column:auto}.topbar{height:62px;padding:0 13px}.topbar p{display:none}.content{padding:13px}.page-head{flex-direction:column}.toolbar,.filters{justify-content:flex-start;width:100%}.search{min-width:0;flex:1}.metrics,.metrics.six{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:13px}.metric strong{font-size:19px}.profile-grid{grid-template-columns:1fr}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;height:66px;background:#fff;border-top:1px solid var(--line);z-index:50;overflow-x:auto;align-items:stretch;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{min-width:82px;flex:1;border:0;background:#fff;color:#707887;font-size:10px;font-weight:750;display:grid;place-items:center;gap:2px;padding:7px 4px}.mobile-nav button span{font-size:17px}.mobile-nav button.active{color:var(--accent);border-top:2px solid var(--accent)}.live{display:none}.login-page{display:block}.login-art{display:none}.login-panel{min-height:100vh}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.bonus-rule{grid-template-columns:1fr 1fr}.donut-wrap{justify-content:center}.date{width:140px}}
@media(max-width:430px){.metrics,.metrics.six{grid-template-columns:1fr}.login-card{padding:22px}.top-actions .btn:not(.accent){display:none}.bonus-rule{grid-template-columns:1fr}.donut-wrap{flex-direction:column}.search{width:100%}}
/* V9 production visual layer */
:root{--bg:#f5f7fb;--surface:#fff;--ink:#101828;--muted:#667085;--line:#e4e7ec;--soft:#f8fafc;--accent:#f26a2e;--accent-dark:#d9551e;--accent-soft:#fff2eb;--nav:#0f172a;--nav-soft:#172033;--good:#039855;--warn:#dc6803;--bad:#d92d20;--shadow:0 10px 30px rgba(16,24,40,.06)}
body{background:radial-gradient(circle at 85% -10%,#fff0e8 0,transparent 24%),var(--bg)}
.sidebar{background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);box-shadow:4px 0 24px rgba(16,24,40,.035)}
.side-brand{padding:8px 10px 20px}.side-brand img{width:44px;height:44px}.side-brand strong{font-size:17px}.nav{gap:6px;padding-top:18px}.nav-btn{height:46px;border-radius:10px;font-size:14px}.nav-btn.active{background:linear-gradient(90deg,var(--accent-soft),#fff);box-shadow:inset 3px 0 0 var(--accent);color:#b54708}.topbar{height:76px;padding:0 28px;backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(16,24,40,.04)}.topbar h1{font-size:20px}.content{padding:28px}.page-head{margin-bottom:22px}.page-head h2{font-size:30px;letter-spacing:-.03em}.metric{border-radius:14px;padding:18px;box-shadow:var(--shadow);transition:.2s transform,.2s box-shadow}.metric:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(16,24,40,.09)}.metric strong{font-size:26px;letter-spacing:-.03em}.panel,.city-card{border-radius:14px;box-shadow:var(--shadow)}.btn{border-radius:9px;height:40px}.btn.accent{background:linear-gradient(135deg,var(--accent),var(--accent-dark));box-shadow:0 8px 18px rgba(242,106,46,.22)}.search,.select,.date{height:42px;border-radius:9px}.city-list{gap:14px}.city-card summary{padding:18px 20px}.city-card summary strong{font-size:16px}.city-card summary>span{background:#ecfdf3;color:#027a48;border:1px solid #abefc6;padding:6px 10px;border-radius:999px}.city-content{padding:18px}.bonus-grid section{border-radius:12px;background:#fcfcfd;padding:15px}.type-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.type-head h4{margin:0}.type-pill{font-size:10px;font-weight:800;color:#b54708;background:#ffeadf;border-radius:999px;padding:5px 8px}.bonus-rule{grid-template-columns:95px 95px 110px 150px minmax(150px,auto);padding:12px 0}.bonus-rule input{height:36px;border-radius:7px;background:#fff}.save-mini{height:36px;border-radius:8px;background:linear-gradient(135deg,#1d2939,#101828);padding:0 13px}.history-strip{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 14px;border:1px dashed #d0d5dd;border-radius:10px;background:#fff}.history-strip span{font-size:12px;color:var(--muted)}.city-notice{margin:0 0 16px;border-radius:10px}.city-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.table-wrap{border-radius:0 0 14px 14px}th{background:#f8fafc}tbody tr{transition:background .15s}.login-card{border-radius:16px;box-shadow:0 24px 70px rgba(16,24,40,.13)}
@media(max-width:1250px){.city-metrics{grid-template-columns:repeat(2,1fr)}.bonus-rule{grid-template-columns:repeat(2,minmax(0,1fr))}.save-mini{grid-column:1/-1}}
@media(max-width:760px){.content{padding:14px}.page-head h2{font-size:25px}.city-metrics{grid-template-columns:1fr 1fr}.history-strip{align-items:flex-start;flex-direction:column;gap:4px}.topbar{padding:0 14px}}
@media(max-width:430px){.city-metrics{grid-template-columns:1fr}.bonus-rule{grid-template-columns:1fr}.save-mini{grid-column:auto}}
/* V11 final production modules */
.click-row{cursor:pointer}.click-row:hover{background:#fff7f2}.cell-sub{display:block;color:var(--muted);font-size:10px;margin-top:4px}.progress-line{height:8px;background:#eef1f4;border-radius:99px;overflow:hidden;min-width:150px}.progress-line span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#ff9b6a);border-radius:inherit}.progress-line.big{height:12px;margin-top:18px}.progress-copy{text-align:right;color:var(--muted);font-size:11px}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:12px}.pager>div{display:flex;gap:8px}.tab-strip{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.tab-strip button{height:36px;padding:0 14px;border:1px solid var(--line);background:#fff;border-radius:999px;color:var(--muted);font-weight:800;cursor:pointer}.tab-strip button.active{background:var(--nav);color:#fff;border-color:var(--nav)}.mini-chart{height:180px;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;padding:20px 10px 4px}.mini-chart>div{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}.mini-chart i{display:block;width:min(42px,70%);background:linear-gradient(180deg,var(--accent),#ffb28f);border-radius:8px 8px 3px 3px;min-height:8px}.mini-chart strong{font-size:11px}.mini-chart span{font-size:10px;color:var(--muted)}.report-bottom{margin-top:14px}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.referral-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.referral-summary>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.referral-summary span{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.timeline{margin-top:10px}.timeline>div{display:flex;gap:12px;position:relative;padding:0 0 18px}.timeline>div:not(:last-child):after{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:#d0d5dd}.timeline i{width:14px;height:14px;border-radius:50%;background:#d0d5dd;z-index:1}.timeline .done i{background:var(--good)}.timeline strong,.timeline small{display:block}.timeline small{color:var(--muted);margin-top:3px}.password-form{display:grid;gap:12px;margin-bottom:14px}.password-form label{font-size:12px;font-weight:750}.password-form input{width:100%;height:42px;border:1px solid var(--line);border-radius:8px;padding:0 10px;margin-top:6px}
@media(max-width:760px){.referral-summary{grid-template-columns:1fr 1fr}.pager{align-items:flex-start;gap:10px;flex-direction:column}.mini-chart{gap:5px}.mini-chart i{width:28px}}


/* V11.1 clean layout and immediate sign-out feedback */
.login-art{justify-content:flex-start;gap:clamp(90px,18vh,180px);padding:56px 64px}
.login-hero-copy{margin:auto 0;max-width:650px}
.login-hero-copy h1{margin-bottom:0}
.brand strong{font-size:22px}
.side-footer{padding:14px 6px 4px;border-top:1px solid var(--line)}
.logout{margin-top:0;height:42px;border-radius:9px;transition:background .15s,color .15s,opacity .15s}
.logout:hover{background:#fff0e8;color:#9f3e13}
.logout:disabled{opacity:.7;cursor:wait}
.topbar{height:70px}
.topbar>h1{font-size:20px}
.top-actions{margin-left:auto}
.refresh-btn{min-width:94px}
.signout-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(15,23,42,.46);backdrop-filter:blur(4px)}
.signout-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;box-shadow:0 22px 70px rgba(15,23,42,.22)}
.signout-spinner{width:20px;height:20px;border:3px solid #f1d2c4;border-top-color:var(--accent);border-radius:50%;animation:signoutSpin .7s linear infinite}
@keyframes signoutSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.login-art{display:none}.topbar{height:62px}.refresh-btn{display:inline-flex!important}.top-actions .btn{display:inline-flex!important}}

/* V11.2: City bonus is read-only and fully synced from Mitra. */
.bonus-rule-readonly {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto !important;
  align-items: end;
}
.bonus-rule-readonly input[readonly] {
  background: #f8fafc;
  color: #111827;
  cursor: default;
}
.auto-sync-pill {
  align-self: center;
  justify-self: end;
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #15803d;
  border-radius: 999px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .bonus-rule-readonly {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .auto-sync-pill {
    justify-self: start;
  }
}
.policy-card{margin:18px 0;background:#fff;border:1px solid #e9e5e2;border-radius:18px;overflow:hidden}.policy-card>summary{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer}.policy-card>summary div{display:grid;gap:4px}.policy-card>summary small{color:#73778a}.policy-card>summary span{font-size:12px;background:#fff3ea;color:#b84f18;padding:7px 10px;border-radius:999px}.policy-body{border-top:1px solid #eee;padding:18px}.slab-switches{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:18px}.slab-switches label{display:grid;gap:7px;font-size:12px;color:#6a6f80}.slab-switches input[type=number]{border:1px solid #ddd8d5;border-radius:10px;padding:10px}.switch-row{display:flex!important;align-items:center;justify-content:space-between;background:#faf8f7;border:1px solid #eee8e4;border-radius:12px;padding:12px!important}.switch-row input{width:20px;height:20px}.cycle-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cycle-grid-wide{grid-template-columns:1fr}.cycle-band{border:1px solid #ece7e4;border-radius:14px;padding:14px}.cycle-band h4{margin:0}.cycle-title{display:grid;gap:4px;margin-bottom:12px}.cycle-title small{color:#777b8c;line-height:1.4}.cycle-table{display:grid;gap:8px}.cycle-head,.cycle-row{display:grid;grid-template-columns:54px repeat(4,minmax(88px,1fr));gap:8px;align-items:center}.cycle-head{font-size:11px;color:#777b8c}.cycle-row input{width:100%;border:1px solid #ddd8d5;border-radius:9px;padding:9px}.policy-body>.notice{margin:16px 0}
@media(max-width:900px){.slab-switches{grid-template-columns:1fr 1fr}.cycle-grid{grid-template-columns:1fr}.cycle-head,.cycle-row{grid-template-columns:48px repeat(4,minmax(86px,1fr));min-width:520px}.cycle-table{overflow-x:auto}}
/* V11.4 Slab Payout */
.table-wrap td strong{display:block}.table-wrap td small{display:block;margin-top:3px;color:var(--muted)}

/* V15.5 — Professional Admin UI overhaul (visual only; logic untouched) */
:root{
  --bg:#f6f7fb;
  --surface:#ffffff;
  --surface-2:#fbfcfe;
  --ink:#172033;
  --muted:#6b7280;
  --line:#e7eaf0;
  --accent:#e8632f;
  --accent-dark:#c94d1e;
  --accent-soft:#fff3ed;
  --nav:#121826;
  --nav-2:#1a2233;
  --good:#0b7a53;
  --warn:#a85f00;
  --bad:#bf2c23;
  --shadow-sm:0 2px 10px rgba(16,24,40,.04);
  --shadow-md:0 10px 28px rgba(16,24,40,.07);
  --shadow-lg:0 24px 60px rgba(16,24,40,.13);
}
html{background:var(--bg)}
body{background:linear-gradient(180deg,#f8f9fc 0%,#f4f6fa 100%);color:var(--ink)}
button,input,select{font-family:inherit}
button{transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease}
button:active{transform:translateY(1px)}

/* Login */
.login-page{grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);background:#f3f5f8}
.login-art{position:relative;overflow:hidden;padding:64px 72px;background:linear-gradient(145deg,#0e1525 0%,#172238 56%,#24314b 100%)}
.login-art:before{content:"";position:absolute;right:-120px;top:-100px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(232,99,47,.24),rgba(232,99,47,0) 70%)}
.login-art:after{content:"";position:absolute;left:-120px;bottom:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.09),rgba(255,255,255,0) 72%)}
.login-art>*{position:relative;z-index:1}
.login-art h1{font-size:clamp(40px,4vw,64px);letter-spacing:-.045em;max-width:720px}
.login-art p{font-size:17px;max-width:650px;color:#c7d0df}
.brand img{width:54px;height:54px;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.brand strong{font-size:24px}
.login-panel{padding:48px}
.login-card{width:min(100%,470px);padding:38px;border-radius:20px;border:1px solid rgba(231,234,240,.95);box-shadow:var(--shadow-lg)}
.login-card h2{font-size:31px;letter-spacing:-.03em;margin-top:10px}
.field{font-size:13px;color:#344054}
.field input{height:50px;border-radius:11px;border-color:#d9dee7;background:#fff}
.field input:focus{border-color:#f1a27d;box-shadow:0 0 0 4px rgba(232,99,47,.12)}
.primary{height:50px;border-radius:11px;background:linear-gradient(135deg,var(--nav),#222c42);box-shadow:0 9px 20px rgba(18,24,38,.18)}
.primary:hover{box-shadow:0 12px 26px rgba(18,24,38,.24);transform:translateY(-1px)}

/* App shell */
.shell{grid-template-columns:260px minmax(0,1fr)}
.sidebar{width:260px;padding:18px 14px;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);box-shadow:8px 0 28px rgba(16,24,40,.045)}
.side-brand{padding:8px 10px 21px}
.side-brand img{width:46px;height:46px;border-radius:12px}
.side-brand strong{font-size:18px;letter-spacing:-.015em}
.nav{gap:6px;padding-top:18px}
.nav-btn{height:46px;border-radius:11px;padding:0 13px;font-size:13px;font-weight:760;color:#596273}
.nav-btn:hover{background:#f6f7f9;color:#273247}
.nav-btn.active{background:linear-gradient(90deg,#fff2eb 0%,#fff8f4 100%);color:#b64818;box-shadow:inset 3px 0 0 var(--accent),0 4px 14px rgba(232,99,47,.05)}
.nav-btn .ico{width:22px;font-size:15px}
.side-footer{padding:15px 6px 2px}
.admin-avatar{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#fff0e9,#ffe3d5);color:#b64818}
.logout{height:40px;border-radius:10px}
.workspace{grid-column:2;background:transparent}
.topbar{height:74px;padding:0 30px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,231,236,.9);box-shadow:0 1px 0 rgba(16,24,40,.02)}
.topbar h1{font-size:21px;letter-spacing:-.02em}
.topbar p{font-size:12px}
.live{padding:7px 10px;border:1px solid #ccebdd;background:#f0fbf5;border-radius:999px}
.btn{height:40px;border-radius:10px;padding:0 14px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.03)}
.btn:hover{border-color:#cfd5df;background:#fcfcfd;box-shadow:0 4px 12px rgba(16,24,40,.06)}
.btn.accent{background:linear-gradient(135deg,var(--accent),var(--accent-dark));box-shadow:0 8px 18px rgba(232,99,47,.22)}
.btn.accent:hover{box-shadow:0 12px 24px rgba(232,99,47,.28)}
.content{max-width:1720px;padding:30px 32px 40px}
.page-head{align-items:center;margin-bottom:24px}
.page-head h2{font-size:30px;letter-spacing:-.035em;margin:4px 0}
.eyebrow{font-size:10px;letter-spacing:.14em}
.sub{font-size:13px}
.toolbar,.filters{gap:9px}
.search,.select,.date{height:42px;border-radius:10px;border-color:#dfe3e9;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.02)}
.search:focus,.select:focus,.date:focus{outline:0;border-color:#ef9f79;box-shadow:0 0 0 4px rgba(232,99,47,.09)}
.search{min-width:260px}

/* Cards and panels */
.metrics{gap:14px;margin-bottom:18px}
.metric{position:relative;overflow:hidden;border-radius:16px;padding:18px 19px;border:1px solid #e9ecf1;box-shadow:var(--shadow-sm);background:linear-gradient(180deg,#fff 0%,#fdfdfe 100%)}
.metric:after{content:"";position:absolute;right:-28px;top:-28px;width:78px;height:78px;border-radius:50%;background:rgba(232,99,47,.045)}
.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.metric span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:750}
.metric strong{font-size:28px;margin:7px 0 4px}
.metric.warn-card,.metric.good-card,.metric.bad-card{border-left-width:4px}
.grid2{gap:16px}
.panel,.city-card,.policy-card{border-radius:16px;border:1px solid #e8ebf0;box-shadow:var(--shadow-sm);background:#fff}
.panel-head{padding:16px 18px;background:linear-gradient(180deg,#fff,#fdfdfe)}
.panel-head h3{font-size:16px;letter-spacing:-.01em}
.table-wrap{background:#fff}
table{min-width:980px}
th,td{padding:12px 14px;font-size:12px}
th{font-size:10px;background:#f8fafc;color:#697386;border-bottom:1px solid #e9edf2}
tbody tr{transition:background .14s ease}
tbody tr:hover{background:#fff8f4}
.status{padding:5px 9px;font-size:10px;border:1px solid transparent}
.status.good{border-color:#c8eadc}
.status.warn{border-color:#f5dca5}
.status.bad{border-color:#f4c8c3}
.tab-strip{gap:7px;margin-bottom:16px}
.tab-strip button{height:36px;border-radius:10px;padding:0 13px;background:#fff}
.tab-strip button.active{background:linear-gradient(135deg,var(--nav),#273149);box-shadow:0 7px 14px rgba(18,24,38,.14)}
.notice{border-radius:12px;padding:14px 16px}
.city-card summary{padding:17px 19px}
.city-card summary strong{font-size:15px}
.city-content{padding:17px}
.bonus-grid section{background:#fbfcfe;border-radius:13px}
.save-mini{border-radius:9px;height:36px}
.progress-line{height:9px;background:#edf0f4}
.progress-line span{background:linear-gradient(90deg,var(--accent),#f59a6e)}
.link-btn{color:#bd4d1d}
.modal{background:rgba(15,23,42,.48);backdrop-filter:blur(6px)}
.modal-card{border-radius:18px;padding:22px;box-shadow:var(--shadow-lg)}
.close{border-radius:9px}
.profile-card{padding:20px}
.kv{padding:12px 0}

/* Reports */
.mini-chart{height:195px;padding-top:24px}
.mini-chart i{background:linear-gradient(180deg,#f07a43,#f6ad88);box-shadow:0 6px 13px rgba(232,99,47,.12)}
.donut{background:conic-gradient(var(--accent) calc(var(--p)*1%),#1f2937 0);box-shadow:inset 0 0 0 1px rgba(0,0,0,.02)}

/* Responsive */
@media(max-width:1200px){
  .shell{grid-template-columns:228px minmax(0,1fr)}
  .sidebar{width:228px}
  .content{padding:24px}
  .metrics.six{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .shell{display:block}
  .sidebar{transform:translateX(-100%)}
  .workspace{grid-column:auto}
  .topbar{padding:0 18px}
  .content{padding:18px 16px 88px}
  .mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;height:68px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(14px);z-index:40;justify-content:space-around;align-items:center;box-shadow:0 -8px 24px rgba(16,24,40,.08)}
  .metrics,.metrics.six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid2,.profile-grid{grid-template-columns:1fr}
  .page-head{align-items:flex-start;flex-direction:column}
  .toolbar,.filters{width:100%;justify-content:flex-start}
}
@media(max-width:760px){
  .login-page{display:block;background:#f6f7fb}
  .login-panel{min-height:100vh;padding:20px}
  .login-card{padding:26px;border-radius:17px}
  .topbar{height:64px}
  .topbar h1{font-size:18px}
  .content{padding:16px 12px 84px}
  .page-head h2{font-size:26px}
  .metrics,.metrics.six{grid-template-columns:1fr 1fr;gap:10px}
  .metric{padding:14px;border-radius:13px}
  .metric strong{font-size:23px}
  .search,.select,.date{width:100%;min-width:0}
  .toolbar,.filters{display:grid;grid-template-columns:1fr 1fr}
  .panel,.city-card,.policy-card{border-radius:14px}
  .panel-head{padding:14px}
}
@media(max-width:480px){
  .metrics,.metrics.six{grid-template-columns:1fr}
  .toolbar,.filters{grid-template-columns:1fr}
  .login-card{padding:22px}
}

/* V15.21 — Super Saathi AI knowledge assistant (isolated visual layer only) */
.ss-ai-launcher{position:fixed;left:18px;bottom:18px;z-index:120;width:72px;height:44px;border:1px solid rgba(232,99,47,.32);border-radius:14px;background:linear-gradient(135deg,#172033,#273149);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:800;letter-spacing:.02em;box-shadow:0 14px 30px rgba(16,24,40,.2);cursor:pointer}
.ss-ai-launcher:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(16,24,40,.24)}
.ss-ai-star{font-size:16px;color:#ffb38e}
.ss-ai-panel{position:fixed;left:18px;bottom:72px;z-index:121;width:min(390px,calc(100vw - 36px));height:min(620px,calc(100vh - 105px));display:grid;grid-template-rows:auto 1fr auto auto auto;background:#fff;border:1px solid #e4e7ec;border-radius:20px;box-shadow:0 28px 70px rgba(16,24,40,.24);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(12px) scale(.985);transform-origin:left bottom;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.ss-ai-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.ss-ai-head{display:flex;align-items:flex-start;justify-content:space-between;padding:17px 17px 14px;background:linear-gradient(145deg,#121826,#202b42);color:#fff}
.ss-ai-head>div{display:grid;gap:2px}.ss-ai-head strong{font-size:18px;letter-spacing:-.02em}.ss-ai-head small{font-size:11px;color:#cbd5e1}.ss-ai-kicker{font-size:9px;letter-spacing:.12em;color:#ffb38e;font-weight:850}
.ss-ai-head button{width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.07);color:#fff;font-size:21px;line-height:1;cursor:pointer}
.ss-ai-messages{overflow:auto;padding:16px;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);display:flex;flex-direction:column;gap:11px}
.ss-ai-msg{display:flex}.ss-ai-msg.user{justify-content:flex-end}.ss-ai-bubble{max-width:88%;padding:11px 12px;border-radius:14px;font-size:12.5px;line-height:1.55;border:1px solid #e5e9ef;background:#fff;color:#263044;box-shadow:0 3px 10px rgba(16,24,40,.04)}
.ss-ai-msg.user .ss-ai-bubble{background:#fff1ea;border-color:#ffd8c5;color:#8f3d17;border-bottom-right-radius:5px}.ss-ai-msg.ai .ss-ai-bubble{border-bottom-left-radius:5px}
.ss-ai-quick{padding:10px 12px;display:flex;gap:7px;overflow-x:auto;border-top:1px solid #eef0f3;background:#fff}.ss-ai-quick button{flex:0 0 auto;border:1px solid #e4e7ec;border-radius:999px;background:#fff;padding:7px 10px;font-size:10.5px;color:#515b6e;cursor:pointer}.ss-ai-quick button:hover{border-color:#f1a27d;background:#fff7f3;color:#a44217}
.ss-ai-form{padding:11px 12px;display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid #eef0f3;background:#fff}.ss-ai-form textarea{resize:none;min-height:48px;max-height:110px;border:1px solid #dfe3e9;border-radius:12px;padding:10px 11px;font:inherit;font-size:12.5px;line-height:1.4;outline:0}.ss-ai-form textarea:focus{border-color:#ef9f79;box-shadow:0 0 0 4px rgba(232,99,47,.09)}.ss-ai-form button{align-self:stretch;border:0;border-radius:12px;background:linear-gradient(135deg,#e8632f,#c94d1e);color:#fff;padding:0 15px;font-weight:800;cursor:pointer}
.ss-ai-foot{padding:8px 12px 10px;text-align:center;font-size:9.5px;color:#8a93a3;background:#fff}
@media(max-width:900px){.ss-ai-launcher{left:12px;bottom:78px;width:58px;height:42px}.ss-ai-panel{left:12px;bottom:128px;width:min(390px,calc(100vw - 24px));height:min(590px,calc(100vh - 150px))}}
@media(max-width:480px){.ss-ai-panel{right:12px;width:auto}.ss-ai-bubble{max-width:92%}}

/* V15.23 — Admin login visual upgrade only */
.login-page{
  min-height:100dvh;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  background:#f7f8fa;
}
.login-art{
  padding:52px clamp(42px,5vw,78px);
  background:
    radial-gradient(circle at 15% 18%,rgba(255,255,255,.08),transparent 28%),
    radial-gradient(circle at 86% 82%,rgba(242,106,46,.18),transparent 30%),
    linear-gradient(145deg,#101827 0%,#172236 58%,#1f2c43 100%);
}
.login-art:before{
  width:460px;height:460px;right:-170px;top:-150px;
  background:radial-gradient(circle,rgba(242,106,46,.18),rgba(242,106,46,0) 70%);
}
.login-art:after{
  width:420px;height:420px;left:-190px;bottom:-190px;
  background:radial-gradient(circle,rgba(255,255,255,.06),rgba(255,255,255,0) 72%);
}
.login-art .brand{gap:13px}
.login-art .brand img{
  width:48px;height:48px;padding:3px;
  border-radius:14px;
  background:rgba(255,255,255,.96);
  box-shadow:0 4px 14px rgba(0,0,0,.08);
}
.login-art .brand strong{font-size:20px;letter-spacing:-.02em}
.login-hero-copy{max-width:690px}
.login-hero-copy .eyebrow{
  display:inline-flex;align-items:center;min-height:30px;padding:0 11px;
  border:1px solid rgba(255,255,255,.13);border-radius:999px;
  background:rgba(255,255,255,.06);color:#ffd7c4;letter-spacing:.11em;
}
.login-art h1{
  max-width:680px;margin:18px 0 0;
  font-size:clamp(38px,4vw,60px);line-height:1.04;
  letter-spacing:-.045em;font-weight:850;
}
.login-panel{
  position:relative;padding:42px;
  background:
    radial-gradient(circle at 90% 10%,rgba(242,106,46,.055),transparent 24%),
    linear-gradient(180deg,#fbfbfc 0%,#f6f7f9 100%);
}
.login-card{
  width:min(100%,450px);
  padding:38px 36px 34px;
  border:1px solid #e5e8ed;
  border-radius:22px;
  background:rgba(255,255,255,.98);
  box-shadow:0 6px 24px rgba(16,24,40,.055);
}
.login-card>.eyebrow{
  display:inline-flex;align-items:center;min-height:28px;padding:0 10px;
  border-radius:999px;background:#fff3ec;color:#c64e1c;
  letter-spacing:.1em;
}
.login-card h2{
  margin:15px 0 7px;
  font-size:30px;line-height:1.08;letter-spacing:-.035em;color:#152033;
}
.login-card .sub{
  margin:0 0 24px;color:#748094;font-size:13.5px;line-height:1.55;
}
.login-card form{display:grid;gap:16px}
.login-card .field{
  margin:0;color:#344054;font-size:12.5px;font-weight:760;
}
.login-card .field input{
  height:52px;margin-top:7px;padding:0 14px;
  border:1px solid #dfe3e9;border-radius:12px;
  background:#fbfcfd;color:#182230;font-size:14px;
  box-shadow:none;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.login-card .field input:hover{border-color:#cfd5dd;background:#fff}
.login-card .field input:focus{
  background:#fff;border-color:#ee8a5b;
  box-shadow:0 0 0 3px rgba(242,106,46,.09);
}
.login-card .primary{
  height:52px;margin-top:3px;border-radius:12px;
  background:linear-gradient(135deg,#e96128 0%,#f06d33 100%);
  color:#fff;font-size:14px;font-weight:820;letter-spacing:.01em;
  box-shadow:0 4px 12px rgba(232,99,47,.13);
}
.login-card .primary:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(232,99,47,.17);
  background:linear-gradient(135deg,#dd5822 0%,#ea642c 100%);
}
.login-card .primary:focus-visible{outline:3px solid rgba(242,106,46,.16);outline-offset:2px}
.login-card .alert{
  margin:0 0 16px;padding:11px 12px;border-radius:10px;
  box-shadow:none;
}
@media(max-width:980px){
  .login-page{grid-template-columns:minmax(0,.9fr) minmax(400px,1.1fr)}
  .login-art{padding:42px}
  .login-art h1{font-size:42px}
  .login-panel{padding:28px}
}
@media(max-width:760px){
  .login-page{
    display:grid;place-items:center;min-height:100dvh;padding:20px;
    background:
      radial-gradient(circle at 50% -10%,rgba(242,106,46,.10),transparent 31%),
      linear-gradient(180deg,#f9fafb 0%,#f4f6f8 100%);
  }
  .login-art{display:none}
  .login-panel{width:100%;min-height:0;padding:0;background:transparent}
  .login-card{
    width:min(100%,440px);margin:auto;padding:31px 25px 27px;
    border-radius:20px;box-shadow:0 5px 20px rgba(16,24,40,.05);
  }
  .login-card:before{
    content:"Super Saathi";display:flex;align-items:center;justify-content:center;
    min-height:38px;margin:0 0 23px;padding-left:46px;
    background:url('./assets/brand-logo.webp') left center/36px 36px no-repeat;
    color:#172033;font-size:18px;font-weight:850;letter-spacing:-.025em;
  }
  .login-card h2{font-size:27px}
  .login-card .sub{margin-bottom:21px}
}
@media(max-width:430px){
  .login-page{padding:14px}
  .login-card{padding:27px 20px 23px;border-radius:18px}
  .login-card .field input,.login-card .primary{height:50px}
}
@media(prefers-reduced-motion:reduce){
  .login-card .field input,.login-card .primary{transition:none}
  .login-card .primary:hover{transform:none}
}

/* V15.30 — Clean referral table + isolated compact right-side popup */
.referrals-view-only-table table{min-width:1080px}
body.rv30-open{overflow:hidden!important}
.referral-view-overlay-v1530{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  width:100vw!important;
  height:100vh!important;
  padding:20px 24px!important;
  margin:0!important;
  box-sizing:border-box!important;
  background:rgba(15,23,42,.32)!important;
  backdrop-filter:blur(3px);
  overflow:auto!important;
}
.referral-view-card-v1530{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  flex:0 0 auto!important;
  width:min(460px,calc(100vw - 48px))!important;
  max-width:460px!important;
  max-height:72vh!important;
  margin:0!important;
  padding:13px 14px!important;
  overflow:auto!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:1px solid #e6e8ec!important;
  border-radius:13px!important;
  box-shadow:0 7px 24px rgba(15,23,42,.09)!important;
}
.rv30-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.rv30-head h3{margin:3px 0 2px;font-size:16px;line-height:1.18;color:#172033}
.rv30-head>div>small{color:#7c8798;font-size:9.5px}
.rv30-eyebrow{display:block;color:#c55222;font-size:8.5px;font-weight:850;letter-spacing:.11em}
.rv30-close{width:28px;height:28px;border:0;border-radius:7px;background:#f3f4f6;color:#374151;cursor:pointer;font-size:17px;line-height:1}
.rv30-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}
.rv30-summary>div{padding:8px 9px;border:1px solid #e7e9ed;border-radius:9px;background:#fbfcfd}
.rv30-summary>div.rv31-primary{background:#fff8f3;border-color:#f3d8c9;height:auto!important;min-height:60px!important;margin:0!important;color:inherit!important;cursor:default!important;overflow:visible!important}
.rv30-summary small,.rv30-kv small,.rv30-slab-grid small{display:block;color:#7d8797;font-size:7.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.rv30-summary strong{display:block;margin-top:2px;font-size:14px;color:#172033}
.rv30-summary .rv31-primary strong{color:#c55222}
.rv30-summary span{display:block;margin-top:1px;color:#8b95a5;font-size:8.5px}
.rv30-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:3px 0 8px}
.rv30-kv>div{padding:7px 8px;border:1px solid #edf0f3;border-radius:8px;background:#fff}
.rv30-kv strong,.rv30-kv .status{margin-top:3px}
.rv30-progress-head{display:flex;align-items:center;justify-content:space-between;padding:6px 1px 4px;border-top:1px solid #eef0f3}
.rv30-progress-head strong{display:block;font-size:11.5px;color:#172033}
.rv30-progress-head small{display:block;margin-top:1px;color:#8b95a5;font-size:8.5px}
.rv30-slabs{display:grid;gap:6px}
.rv30-slab{padding:8px 9px;border:1px solid #e5e8ed;border-radius:9px;background:#fff;box-shadow:none}
.rv30-slab.good{border-left:3px solid #3a9b62}.rv30-slab.warn{border-left:3px solid #d89a34}.rv30-slab.bad{border-left:3px solid #d66059}
.rv30-slab-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.rv30-slab-top small{display:block;color:#8a94a4;font-size:7.5px;font-weight:850;letter-spacing:.08em}
.rv30-slab-top strong{display:block;margin-top:1px;font-size:10.5px;color:#1a2433}
.rv30-slab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:6px;padding-top:6px;border-top:1px solid #edf0f3}
.rv30-slab-grid strong{display:block;margin-top:1px;font-size:9.5px;color:#293548}
.rv30-empty{padding:10px;text-align:center;color:#7d8797;font-size:9.5px;border:1px dashed #d9dde4;border-radius:9px}
@media(max-width:760px){
  .referral-view-overlay-v1530{justify-content:center!important;padding:10px!important}
  .referral-view-card-v1530{width:min(100%,430px)!important;max-width:430px!important;max-height:82vh!important;padding:12px!important}
}

/* V15.31 — Fix Eligible Bonus card clipping caused by global .primary class collision */
.rv30-summary>div{height:auto!important;min-height:60px!important;overflow:visible!important;box-sizing:border-box!important}
.rv30-summary>div.rv31-primary{width:auto!important;padding:8px 9px!important}
.rv30-summary>div.rv31-primary small,.rv30-summary>div.rv31-primary strong,.rv30-summary>div.rv31-primary span{position:static!important;white-space:normal!important;overflow:visible!important;line-height:1.25!important}
.rv30-summary>div.rv31-primary span{padding-bottom:1px!important}

/* V15.32: admin referral popup status now mirrors user dashboard effective slab state. */

/* V15.34 — referral sync diagnostics */
.rv34-health{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 4px;padding-top:8px;border-top:1px solid #edf0f3}
.rv34-health>div{padding:9px 10px;border:1px solid #e8ebef;border-radius:10px;background:#fbfcfd}
.rv34-health small{display:block;color:#7d8797;font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}
.rv34-health strong{display:block;color:#1f2937;font-size:11px;line-height:1.35}
.rv34-health .rv34-reason{grid-column:1/-1;background:#fffaf6;border-color:#f2dfd2}
@media(max-width:520px){.rv34-health{grid-template-columns:1fr}.rv34-health .rv34-reason{grid-column:auto}}


/* V15.36 — V15.35 styles preserved; referral status/install logic updated in JS */
.rv35-head-actions{display:flex;align-items:center;gap:6px}
.rv35-view-user{height:28px;padding:0 9px;border:1px solid #f1c9b5;border-radius:7px;background:#fff8f3;color:#b64d20;font-size:9px;font-weight:850;cursor:pointer;white-space:nowrap}
.rv35-view-user:hover{background:#fff1e9}
body.vu35-open{overflow:hidden!important}
.vu35-overlay{position:fixed;inset:0;z-index:100500;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.52);backdrop-filter:blur(4px);overflow:auto}
.vu35-shell{width:min(500px,calc(100vw - 28px));max-height:94vh;display:flex;flex-direction:column;background:#fff;border:1px solid #e6e8ec;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.24);overflow:hidden}
.vu35-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #eceff3;background:#fff}
.vu35-topline strong,.vu35-topline small{display:block}.vu35-topline strong{font-size:13px;color:#172033}.vu35-topline small{margin-top:2px;font-size:9px;color:#8791a1}
.vu35-close{width:30px;height:30px;border:0;border-radius:8px;background:#f3f4f6;color:#364152;font-size:18px;cursor:pointer}
.vu35-support{padding:8px 14px;background:#f8fafc;border-bottom:1px solid #eceff3}.vu35-support span,.vu35-support strong{display:block}.vu35-support span{font-size:8px;font-weight:850;letter-spacing:.08em;color:#b45309;text-transform:uppercase}.vu35-support strong{margin-top:2px;font-size:9.5px;color:#667085}
.vu35-phone{width:min(420px,calc(100% - 24px));margin:12px auto 14px;border:1px solid #e7e9ee;border-radius:24px;overflow:hidden;background:#f8f9fb;box-shadow:0 5px 18px rgba(15,23,42,.06)}
.vu35-brand{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;background:#e66a31;color:#fff}.vu35-brand>div{display:flex;align-items:center;gap:9px}.vu35-brand img{width:31px;height:31px;object-fit:contain;filter:brightness(0) invert(1)}.vu35-brand strong{font-size:14px}.vu35-brand>span{padding:5px 8px;border:1px solid rgba(255,255,255,.45);border-radius:999px;font-size:8px;font-weight:800}
.vu35-main{max-height:68vh;overflow:auto;padding:12px;background:#f7f8fa}
.vu35-hero,.vu35-progress{background:#fff;border:1px solid #eceef2;border-radius:18px;padding:14px;margin-bottom:10px}.vu35-hero>small,.vu35-progress>small{font-size:8px;font-weight:850;letter-spacing:.08em;color:#b45309}.vu35-hero h3{margin:5px 0 4px;font-size:20px;line-height:1.15;color:#172033}.vu35-hero p,.vu35-progress p{margin:0;color:#7c8798;font-size:10.5px;line-height:1.5}.vu35-pills{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.vu35-pills span{padding:6px 9px;border:1px solid #f1d3c4;border-radius:999px;background:#fff9f6;color:#c55222;font-size:8.5px;font-weight:800}
.vu35-reward{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #e7eaee;border-radius:14px;background:#fff}.vu35-reward small,.vu35-reward strong,.vu35-reward span{display:block}.vu35-reward small{font-size:8px;font-weight:850;color:#6f8a77;letter-spacing:.06em}.vu35-reward strong{margin-top:2px;font-size:20px;color:#3d8548}.vu35-reward span{margin-top:1px;font-size:9px;color:#8b95a5}.vu35-reward b{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#fff7e9;border:6px solid #ffd18c;color:#172033;font-size:10px}
.vu35-progress h4{margin:4px 0 2px;font-size:15px;color:#172033}.vu35-target{margin-top:9px;padding:10px;border:1px solid #e6e9ee;border-radius:13px;background:#fff}.vu35-target.expired{border-left:4px solid #e05d56}.vu35-target.done{border-left:4px solid #4b9b62}.vu35-target.active{border-left:4px solid #d89a34}.vu35-target-head{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center}.vu35-stage{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff1eb;color:#d45426;font-weight:850}.vu35-target-head small{display:block;color:#7d8797;font-size:7.5px;font-weight:850;letter-spacing:.06em}.vu35-target-head strong{display:block;margin-top:1px;font-size:11px;color:#172033}.vu35-state{padding:5px 7px;border-radius:999px;background:#f4f5f7;color:#586273;font-size:7.5px;font-weight:850}.vu35-target.expired .vu35-state{background:#fff0ef;color:#c94943}.vu35-target.done .vu35-state{background:#edf8f0;color:#3d7f50}.vu35-target.active .vu35-state{background:#fff7e8;color:#9b5d0b}.vu35-line{height:6px;margin:8px 0;background:#eceeef;border-radius:99px;overflow:hidden}.vu35-line i{display:block;height:100%;background:#e86b32;border-radius:inherit}.vu35-target.done .vu35-line i{background:#59a86c}.vu35-target-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.vu35-target-grid>div{padding:7px;border:1px solid #edf0f3;border-radius:10px;text-align:center}.vu35-target-grid small,.vu35-target-grid strong{display:block}.vu35-target-grid small{font-size:7.5px;color:#8791a1}.vu35-target-grid strong{margin-top:2px;font-size:10px;color:#172033}.vu35-no-targets{margin-top:9px;padding:13px;border:1px dashed #d9dde4;border-radius:11px;text-align:center;color:#7d8797;font-size:9.5px}
.vu35-account-check{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:3px}.vu35-account-check>div{padding:8px;border:1px solid #e5e8ed;border-radius:11px;background:#fff}.vu35-account-check small,.vu35-account-check strong{display:block}.vu35-account-check small{font-size:7px;text-transform:uppercase;letter-spacing:.05em;color:#8b95a5}.vu35-account-check strong{margin-top:3px;font-size:8.5px;color:#374151}
.vu35-footer{height:54px;display:grid;grid-template-columns:repeat(4,1fr);background:#e66a31;color:#fff}.vu35-footer span{display:grid;place-items:center;align-content:center;font-size:15px}.vu35-footer small{display:block;font-size:7px;margin-top:1px}
@media(max-width:560px){.vu35-overlay{padding:8px}.vu35-shell{width:min(100%,470px);max-height:96vh}.vu35-phone{width:calc(100% - 16px);margin:8px auto 10px}.vu35-main{max-height:72vh}.vu35-account-check{grid-template-columns:1fr}.rv35-view-user{height:27px;padding:0 7px}}


/* Saathi Short Admin V1 */
html,body{min-height:100%;background:#f7f8fa}
body{margin:0}
.boot{min-height:100vh;display:grid;place-items:center;font:600 14px/1.4 Inter,system-ui,sans-serif;color:#475569}
.short-login{min-height:100dvh;display:grid;place-items:center;padding:20px;background:#f7f8fa}
.short-login-card{width:min(100%,390px);background:#fff;border:1px solid #e5e7eb;padding:24px;border-radius:18px;box-shadow:0 16px 44px rgba(15,23,42,.08)}
.short-login-logo{width:54px;height:54px;object-fit:contain;display:block;margin:0 0 14px}
.short-login-card h1{font-size:28px;line-height:1.15;margin:0;color:#0f172a}.short-login-card>p{margin:6px 0 22px;color:#64748b}
.short-login-card .field{display:grid;gap:7px;margin:0 0 14px;font-weight:700;color:#334155}.short-login-card .field input{width:100%;min-height:48px;border:1px solid #dbe1e8;border-radius:10px;padding:0 13px;font:inherit;box-sizing:border-box;background:#fff;color:#0f172a}.short-login-card .primary{width:100%;min-height:50px;border:0;border-radius:10px;background:#0f172a;color:#fff;font-weight:800;font-size:15px;cursor:pointer}.short-login-card .primary:disabled{opacity:.65}
.short-shell{min-height:100dvh;background:#f7f8fa;padding-bottom:24px}.short-top{position:sticky;top:0;z-index:20;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #e5e7eb}.short-brand{display:flex;align-items:center;gap:9px;color:#0f172a}.short-brand img{width:31px;height:31px;object-fit:contain}.short-brand strong{font-size:17px}.short-logout{border:1px solid #dbe1e8;background:#fff;color:#b42318;border-radius:9px;padding:9px 12px;font-weight:800}
.short-tabs{position:sticky;top:58px;z-index:19;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;background:#f7f8fa;border-bottom:1px solid #e5e7eb}.short-tab{min-height:44px;border:1px solid #dbe1e8;border-radius:10px;background:#fff;color:#475569;font-weight:800;display:flex;justify-content:center;align-items:center;gap:7px}.short-tab.active{background:#0f172a;color:#fff;border-color:#0f172a}
.short-content{width:min(100%,1180px);margin:0 auto;padding:12px}.short-page-head{display:block;margin:0 0 12px}.short-page-head>div:first-child{margin-bottom:10px}.short-page-head h2{font-size:22px}.short-page-head .filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.short-page-head .filters .search{grid-column:1/-1}.short-page-head .filters input,.short-page-head .filters select{min-width:0;width:100%;box-sizing:border-box}
.short-content .panel{border-radius:12px}.short-content .table-wrap{border-radius:10px}.short-content .notice{border-radius:10px}
@media(max-width:700px){.short-content{padding:10px}.short-login-card{padding:20px;border-radius:14px}.short-page-head .filters{grid-template-columns:1fr 1fr}.short-content table{font-size:12px}.short-content th,.short-content td{white-space:nowrap}.short-content .page-head{gap:8px}.short-content .panel{padding:10px}.modal-card,.referral-view-card-v1530{max-width:calc(100vw - 16px)}}
@media(min-width:701px){.short-content{padding:18px}.short-tabs{max-width:1180px;margin:0 auto;border-bottom:0}.short-page-head .filters{grid-template-columns:minmax(220px,1fr) repeat(4,minmax(120px,auto))}}


/* Saathi Short Admin V2 — mobile full-width, no horizontal scrolling */
html,body,#app{width:100%;max-width:100%;overflow-x:hidden}
.short-shell,.short-top,.short-tabs,.short-content{max-width:100%;box-sizing:border-box}
.short-content *{max-width:100%}

@media(max-width:700px){
  body{overflow-x:hidden!important}
  .short-shell{width:100%;overflow-x:hidden;padding-bottom:18px}
  .short-top{width:100%;height:56px;padding:0 10px}
  .short-brand{min-width:0}
  .short-brand strong{font-size:16px}
  .short-logout{flex:0 0 auto;padding:8px 10px}
  .short-tabs{top:56px;width:100%;padding:8px 9px;gap:7px}
  .short-tab{min-width:0;min-height:42px;padding:0 8px}
  .short-content{width:100%!important;max-width:100%!important;margin:0!important;padding:9px!important;overflow-x:hidden!important}
  .short-page-head{width:100%;overflow:hidden}
  .short-page-head h2{font-size:20px;margin:4px 0}
  .short-page-head .filters{grid-template-columns:1fr!important;width:100%;gap:7px}
  .short-page-head .filters .search{grid-column:auto!important;min-width:0!important}
  .short-page-head .filters input,.short-page-head .filters select{width:100%!important;min-width:0!important;max-width:100%!important}
  .toolbar,.filters{width:100%;max-width:100%}
  .notice{font-size:11px;padding:10px 11px}
  .tab-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}
  .tab-strip button{width:100%;min-width:0;padding:0 6px;font-size:10px;height:34px}
  .short-content .panel{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding:0!important;overflow:hidden!important;border-radius:11px}
  .short-content .panel-title,.short-content .panel-head{padding:11px 12px}

  /* Turn wide admin tables into stacked mobile cards. */
  .short-content .table-wrap{width:100%!important;max-width:100%!important;overflow:visible!important;border-radius:0!important}
  .short-content table,.short-content .referrals-view-only-table table{
    display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;border-collapse:separate!important
  }
  .short-content table thead{display:none!important}
  .short-content table tbody{display:grid!important;width:100%!important;max-width:100%!important;gap:8px;padding:8px}
  .short-content table tbody tr{
    display:block!important;width:100%!important;max-width:100%!important;background:#fff;border:1px solid #e7eaf0;border-radius:10px;padding:8px 10px;overflow:hidden
  }
  .short-content table tbody tr:hover{background:#fff}
  .short-content table tbody td{
    display:flex!important;align-items:flex-start;justify-content:space-between;gap:12px;width:100%!important;max-width:100%!important;min-width:0!important;
    padding:7px 0!important;border:0!important;border-bottom:1px solid #f0f2f5!important;white-space:normal!important;text-align:right!important;
    overflow-wrap:anywhere!important;word-break:break-word!important;font-size:11px!important
  }
  .short-content table tbody td:last-child{border-bottom:0!important}
  .short-content table tbody td::before{
    content:attr(data-label);display:block;flex:0 0 38%;max-width:38%;text-align:left;color:#7b8493;font-size:9px;font-weight:800;line-height:1.35;text-transform:uppercase;letter-spacing:.04em
  }
  .short-content table tbody td>*{max-width:60%;min-width:0}
  .short-content table tbody td .table-title,.short-content table tbody td strong,.short-content table tbody td small{white-space:normal!important;overflow-wrap:anywhere!important}
  .short-content table tbody td .status,.short-content table tbody td .save-mini,.short-content table tbody td .link-btn{flex:0 0 auto;max-width:60%}
  .short-content table tbody td.empty{display:block!important;text-align:center!important;padding:22px 10px!important;border:0!important;color:#6b7280}
  .short-content table tbody td.empty::before{display:none!important;content:none!important}
  .progress-line{min-width:0!important;width:100%;max-width:180px;margin-left:auto}
  .pager{width:100%;padding:0 1px;margin-top:10px}
  .pager>div{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:7px}
  .pager .btn{width:100%;padding:0 8px}

  /* Modal/detail screens must also remain inside the phone viewport. */
  .modal,.vu35-overlay{width:100%!important;max-width:100%!important;padding:8px!important;overflow-x:hidden!important}
  .modal-card,.referral-view-card-v1530,.vu35-shell{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
  .form-grid{grid-template-columns:1fr!important}
  .form-grid .full{grid-column:auto!important}
  .rv30-overlay{width:100%!important;max-width:100%!important;inset:0!important;padding:8px!important;overflow-x:hidden!important}
  .referral-view-card-v1530{max-height:92dvh!important}
  .rv30-kv,.rv30-summary,.rv34-health{grid-template-columns:1fr!important}
  .rv30-slab-grid{grid-template-columns:1fr!important}
}

@media(max-width:380px){
  .short-login{padding:12px}
  .short-login-card{padding:18px 15px;border-radius:12px}
  .short-content{padding:7px!important}
  .short-tabs{padding:7px}
  .short-tab{font-size:12px}
  .tab-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .short-content table tbody{padding:6px}
  .short-content table tbody tr{padding:7px 8px}
  .short-content table tbody td{gap:8px;font-size:10.5px!important}
}

/* Saathi Short Admin V3 — compact referral rows on mobile */
.referral-row-click{cursor:pointer}
@media(max-width:700px){
  /* Referrals stay as one compact 5-column row: Sl No | Name | Mobile | Status | Details */
  .short-content .referrals-view-only-table{width:100%!important;max-width:100%!important;overflow:hidden!important;border-radius:8px!important}
  .short-content .referrals-view-only-table table{
    display:table!important;width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important
  }
  .short-content .referrals-view-only-table thead{display:table-header-group!important}
  .short-content .referrals-view-only-table tbody{display:table-row-group!important;padding:0!important;width:auto!important}
  .short-content .referrals-view-only-table tr{
    display:table-row!important;width:auto!important;max-width:none!important;background:#fff!important;border:0!important;border-radius:0!important;padding:0!important;overflow:visible!important
  }
  .short-content .referrals-view-only-table th,
  .short-content .referrals-view-only-table td{
    display:table-cell!important;max-width:none!important;min-width:0!important;height:42px!important;padding:6px 3px!important;border:0!important;border-bottom:1px solid #edf0f3!important;vertical-align:middle!important;text-align:left!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.15!important
  }
  .short-content .referrals-view-only-table th{
    background:#f8fafc!important;color:#667085!important;font-size:8px!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important;position:static!important
  }
  .short-content .referrals-view-only-table td{font-size:9.5px!important;color:#1f2937!important}
  .short-content .referrals-view-only-table td::before{display:none!important;content:none!important}
  .short-content .referrals-view-only-table td>*{max-width:100%!important;min-width:0!important}
  .short-content .referrals-view-only-table .table-title{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:9.5px!important}
  .short-content .referrals-view-only-table .status{display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;padding:3px 3px!important;border-radius:5px!important;font-size:7.5px!important;text-align:center!important}
  .short-content .referrals-view-only-table .link-btn{display:block!important;width:100%!important;max-width:100%!important;padding:4px 1px!important;font-size:8.5px!important;text-align:center!important}

  /* Hide Type, City, Date and App Install on mobile; they remain inside Details popup. */
  .short-content .referrals-view-only-table th:nth-child(4),
  .short-content .referrals-view-only-table td:nth-child(4),
  .short-content .referrals-view-only-table th:nth-child(5),
  .short-content .referrals-view-only-table td:nth-child(5),
  .short-content .referrals-view-only-table th:nth-child(6),
  .short-content .referrals-view-only-table td:nth-child(6),
  .short-content .referrals-view-only-table th:nth-child(7),
  .short-content .referrals-view-only-table td:nth-child(7){display:none!important}

  .short-content .referrals-view-only-table th:nth-child(1),.short-content .referrals-view-only-table td:nth-child(1){width:9%;text-align:center!important}
  .short-content .referrals-view-only-table th:nth-child(2),.short-content .referrals-view-only-table td:nth-child(2){width:27%}
  .short-content .referrals-view-only-table th:nth-child(3),.short-content .referrals-view-only-table td:nth-child(3){width:25%}
  .short-content .referrals-view-only-table th:nth-child(8),.short-content .referrals-view-only-table td:nth-child(8){width:25%}
  .short-content .referrals-view-only-table th:nth-child(9),.short-content .referrals-view-only-table td:nth-child(9){width:14%;text-align:center!important}
  .short-content .referrals-view-only-table tbody tr:active{background:#f8fafc!important}
  .short-content .referrals-view-only-table td.empty{display:table-cell!important;width:auto!important;height:auto!important;padding:22px 8px!important;text-align:center!important}
}
@media(max-width:380px){
  .short-content .referrals-view-only-table th{font-size:7.3px!important;padding:5px 2px!important}
  .short-content .referrals-view-only-table td,.short-content .referrals-view-only-table .table-title{font-size:8.7px!important;padding-left:2px!important;padding-right:2px!important}
  .short-content .referrals-view-only-table .status{font-size:6.8px!important}
  .short-content .referrals-view-only-table .link-btn{font-size:8px!important}
}

/* Saathi Short Admin V4 — Eligible-only + mobile Call action */
.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
.call-btn,.rv35-call{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:6px;background:#16803c;color:#fff;font-weight:850;cursor:pointer;white-space:nowrap}
.call-btn{padding:6px 9px;font-size:10px;line-height:1}
.call-btn.disabled{opacity:.45;pointer-events:none}
.rv35-call{height:28px;padding:0 10px;font-size:9px}
@media(max-width:700px){
  .short-tabs{grid-template-columns:1fr!important}
  .short-content .referrals-view-only-table th,
  .short-content .referrals-view-only-table td{height:54px!important}
  .short-content .referrals-view-only-table th:nth-child(1),.short-content .referrals-view-only-table td:nth-child(1){width:8%}
  .short-content .referrals-view-only-table th:nth-child(2),.short-content .referrals-view-only-table td:nth-child(2){width:25%}
  .short-content .referrals-view-only-table th:nth-child(3),.short-content .referrals-view-only-table td:nth-child(3){width:24%}
  .short-content .referrals-view-only-table th:nth-child(8),.short-content .referrals-view-only-table td:nth-child(8){width:23%}
  .short-content .referrals-view-only-table th:nth-child(9),.short-content .referrals-view-only-table td:nth-child(9){width:20%;text-align:center!important}
  .short-content .referrals-view-only-table .row-actions{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;width:100%!important;max-width:100%!important}
  .short-content .referrals-view-only-table .link-btn,
  .short-content .referrals-view-only-table .call-btn{display:flex!important;width:100%!important;max-width:100%!important;min-height:20px!important;padding:3px 1px!important;font-size:7.7px!important;border-radius:4px!important;align-items:center!important;justify-content:center!important}
}
@media(max-width:380px){
  .short-content .referrals-view-only-table th:nth-child(2),.short-content .referrals-view-only-table td:nth-child(2){width:24%}
  .short-content .referrals-view-only-table th:nth-child(3),.short-content .referrals-view-only-table td:nth-child(3){width:24%}
  .short-content .referrals-view-only-table th:nth-child(8),.short-content .referrals-view-only-table td:nth-child(8){width:24%}
  .short-content .referrals-view-only-table th:nth-child(9),.short-content .referrals-view-only-table td:nth-child(9){width:20%}
  .short-content .referrals-view-only-table .link-btn,
  .short-content .referrals-view-only-table .call-btn{font-size:7px!important}
}

/* Saathi Short Admin V5 — mobile name/mobile detail-open + Call-only action */
.referral-open-cell{cursor:pointer}
.referral-open-cell:focus-visible{outline:2px solid #e8632f;outline-offset:-2px}
@media(max-width:700px){
  /* Mobile: View text/button is hidden; Details column shows Call only. */
  .short-content .referrals-view-only-table .link-btn{display:none!important}
  .short-content .referrals-view-only-table .row-actions{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:100%!important}
  .short-content .referrals-view-only-table .call-btn{display:flex!important;width:100%!important;max-width:100%!important;min-height:32px!important;padding:5px 2px!important;font-size:9px!important;border-radius:6px!important;align-items:center!important;justify-content:center!important}
  .short-content .referrals-view-only-table .referral-open-cell{cursor:pointer!important}
  .short-content .referrals-view-only-table .referral-open-cell:active{background:#f4f7fa!important}
}
@media(max-width:380px){
  .short-content .referrals-view-only-table .call-btn{font-size:8.2px!important}
}

/* Saathi Short Admin V6 — tighter mobile columns + compact Call + WhatsApp */
.whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;background:#1f9d55;color:#fff;cursor:pointer}
.whatsapp-btn svg{width:17px;height:17px;display:block;fill:currentColor}
.whatsapp-btn.disabled{opacity:.42;pointer-events:none}
@media(max-width:700px){
  .short-content .referrals-view-only-table th,
  .short-content .referrals-view-only-table td{height:48px!important;padding-left:2px!important;padding-right:2px!important}

  /* Pull Mobile Number and Status closer together, while reserving room for 2 actions. */
  .short-content .referrals-view-only-table th:nth-child(1),.short-content .referrals-view-only-table td:nth-child(1){width:7%!important}
  .short-content .referrals-view-only-table th:nth-child(2),.short-content .referrals-view-only-table td:nth-child(2){width:24%!important}
  .short-content .referrals-view-only-table th:nth-child(3),.short-content .referrals-view-only-table td:nth-child(3){width:21%!important}
  .short-content .referrals-view-only-table th:nth-child(8),.short-content .referrals-view-only-table td:nth-child(8){width:21%!important}
  .short-content .referrals-view-only-table th:nth-child(9),.short-content .referrals-view-only-table td:nth-child(9){width:27%!important}

  .short-content .referrals-view-only-table .row-actions{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;
    width:100%!important;max-width:100%!important;padding-right:1px!important
  }
  .short-content .referrals-view-only-table .call-btn{
    display:inline-flex!important;width:40px!important;max-width:40px!important;min-width:40px!important;height:28px!important;min-height:28px!important;
    padding:0!important;font-size:8.5px!important;border-radius:5px!important;align-items:center!important;justify-content:center!important
  }
  .short-content .referrals-view-only-table .whatsapp-btn{
    display:inline-flex!important;width:30px!important;max-width:30px!important;min-width:30px!important;height:28px!important;min-height:28px!important;
    padding:0!important;border-radius:5px!important;align-items:center!important;justify-content:center!important
  }
  .short-content .referrals-view-only-table .whatsapp-btn svg{width:16px!important;height:16px!important}
  .short-content .referrals-view-only-table .status{padding:3px 2px!important;font-size:7.2px!important}
}
@media(max-width:380px){
  .short-content .referrals-view-only-table th:nth-child(2),.short-content .referrals-view-only-table td:nth-child(2){width:23%!important}
  .short-content .referrals-view-only-table th:nth-child(3),.short-content .referrals-view-only-table td:nth-child(3){width:21%!important}
  .short-content .referrals-view-only-table th:nth-child(8),.short-content .referrals-view-only-table td:nth-child(8){width:20%!important}
  .short-content .referrals-view-only-table th:nth-child(9),.short-content .referrals-view-only-table td:nth-child(9){width:29%!important}
  .short-content .referrals-view-only-table .call-btn{width:37px!important;max-width:37px!important;min-width:37px!important;height:27px!important;min-height:27px!important;font-size:8px!important}
  .short-content .referrals-view-only-table .whatsapp-btn{width:28px!important;max-width:28px!important;min-width:28px!important;height:27px!important;min-height:27px!important}
  .short-content .referrals-view-only-table .whatsapp-btn svg{width:15px!important;height:15px!important}
}


/* Saathi Short Admin V7 — no single-tab bar + tighter action alignment */
@media(min-width:701px){
  /* Desktop: remove the large blank space before View in Details. */
  .short-content .referrals-view-only-table th:nth-child(9),
  .short-content .referrals-view-only-table td:nth-child(9){
    width:146px!important;
    padding-left:4px!important;
    padding-right:6px!important;
  }
  .short-content .referrals-view-only-table .row-actions{
    justify-content:flex-start!important;
    gap:6px!important;
  }
}

@media(max-width:700px){
  /* Single Eligible Data tab is removed, so content starts directly below header. */
  .short-content{padding-top:9px!important}

  /* Mobile: move Call left and keep a clear gap before WhatsApp. */
  .short-content .referrals-view-only-table .row-actions{
    justify-content:flex-start!important;
    gap:7px!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

@media(max-width:380px){
  .short-content .referrals-view-only-table .row-actions{gap:6px!important}
}


/* Saathi Short Admin V9 — apply requested mobile layout fixes */
.eligible-head .eligible-title{
  width:100%;
  text-align:center;
  margin-bottom:10px!important;
}
.eligible-head .eligible-title h2{
  margin:4px 0!important;
  text-align:center!important;
  font-weight:900!important;
}
.eligible-head .eligible-title .sub{
  margin:0!important;
  text-align:center!important;
}

@media(max-width:700px){
  /* Row 1: Search + All Types. Row 2: From + To. Equal sizes. */
  .short-content .eligible-head .filters{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
  }
  .short-content .eligible-head .filters .search,
  .short-content .eligible-head .filters .select,
  .short-content .eligible-head .filters .date{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:44px!important;
    box-sizing:border-box!important;
    font-size:14px!important;
  }

  /* Keep Call where V7 placed it; push only WhatsApp to the right edge. */
  .short-content .referrals-view-only-table .row-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    gap:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .short-content .referrals-view-only-table .call-btn{
    margin-left:0!important;
    margin-right:0!important;
  }
  .short-content .referrals-view-only-table .whatsapp-btn{
    margin-left:auto!important;
    margin-right:0!important;
  }
}

@media(max-width:380px){
  .short-content .eligible-head .filters{gap:7px!important}
  .short-content .eligible-head .filters .search,
  .short-content .eligible-head .filters .select,
  .short-content .eligible-head .filters .date{
    height:42px!important;
    font-size:13px!important;
  }
}

/* Saathi Short Admin V10 — Call slightly right + clear gap between date boxes */
@media(max-width:700px){
  /* Keep WhatsApp at the right edge; move only Call a little to the right. */
  .short-content .referrals-view-only-table .call-btn{
    margin-left:7px!important;
    margin-right:0!important;
  }
  .short-content .referrals-view-only-table .whatsapp-btn{
    margin-left:auto!important;
    margin-right:0!important;
  }

  /* Two equal date boxes on the second row with visible space between them. */
  .short-content .eligible-head .filters{
    column-gap:12px!important;
    row-gap:8px!important;
  }
  .short-content .eligible-head .filters .date{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}
@media(max-width:380px){
  .short-content .referrals-view-only-table .call-btn{margin-left:5px!important}
  .short-content .eligible-head .filters{column-gap:10px!important}
}


/* Saathi Short Admin V11 — mobile full-page login */
@media(max-width:700px){
  .short-login{
    position:relative;
    min-height:100dvh;
    width:100%;
    padding:0!important;
    display:block;
    background:#fff;
    overflow:hidden;
  }
  .short-login::before{
    content:"";
    position:absolute;
    inset:0;
    background:url('./assets/brand-logo.webp') center 28% / min(62vw,260px) auto no-repeat;
    opacity:.065;
    pointer-events:none;
  }
  .short-login-card{
    position:relative;
    z-index:1;
    width:100%!important;
    min-height:100dvh;
    max-width:none!important;
    margin:0!important;
    padding:clamp(48px,11vw,76px) 22px 34px!important;
    box-sizing:border-box;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .short-login-logo{
    display:none!important;
  }
  .short-login-card h1,
  .short-login-card>p{
    text-align:center;
  }
  .short-login-card h1{
    font-size:30px;
    margin:0;
  }
  .short-login-card>p{
    margin:7px 0 26px;
    font-size:16px;
  }
  .short-login-card form,
  .short-login-card .alert{
    width:100%;
    max-width:430px;
    margin-left:auto;
    margin-right:auto;
  }
}
@media(max-width:380px){
  .short-login{padding:0!important}
  .short-login-card{padding:34px 18px 28px!important;border-radius:0!important}
}
