:root{
  --wine:#7b2638;
  --wine2:#5e1c2a;
  --olive:#7d8664;
  --ink:#10213a;
  --muted:#617086;
  --cream:#f4f0e8;
  --line:#d7e2ef;
  --white:#fff;
  --success:#eaf7ef;
  --warn:#fff5df;
  --navy:#03152c;
  --navy-2:#082544;
  --action:#0b84ff;
  --action-2:#36a3ff;
  --surface:#f4f7fb;
}
*{box-sizing:border-box}
html{background:var(--surface)}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,"Nirmala UI",sans-serif;
  background:
    radial-gradient(circle at 82% 7%,rgba(11,132,255,.10),transparent 28rem),
    linear-gradient(180deg,#f8fbff 0%,#f3f6fa 55%,#eef3f8 100%);
  color:var(--ink);
  font-size:15px;
  line-height:1.55;
}
a{color:#086ed6;text-underline-offset:3px;transition:color .18s ease}
a:hover{color:var(--action)}
.topbar{
  background:linear-gradient(115deg,#020f20 0%,#061a33 58%,#082744 100%);
  color:#fff;
  padding:0;
  border-bottom:1px solid rgba(56,163,255,.26);
  box-shadow:0 8px 28px rgba(3,21,44,.14);
}
.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.topbar .wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{
  font-size:19px;
  font-weight:850;
  letter-spacing:.11em;
  color:#fff;
  position:relative;
  padding-left:18px;
}
.brand:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:5px;
  height:30px;
  border-radius:999px;
  transform:translateY(-50%);
  background:linear-gradient(180deg,var(--action-2),var(--action));
  box-shadow:0 0 20px rgba(11,132,255,.55);
}
.nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.nav a{
  color:#dceaff;
  text-decoration:none;
  margin:0;
  padding:9px 12px;
  border-radius:9px;
  font-size:13px;
  font-weight:700;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.nav a:hover,.nav a:focus-visible{color:#fff;background:rgba(11,132,255,.20);transform:translateY(-1px)}
.card{
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  border-radius:16px;
  padding:26px;
  box-shadow:0 18px 55px rgba(16,33,58,.09);
}
.login-shell{
  max-width:440px;
  margin:64px auto;
  position:relative;
  overflow:hidden;
}
.login-shell:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,var(--action),var(--action-2));
}
.login-shell h1{margin:2px 0 8px;font-size:clamp(1.8rem,4vw,2.25rem);line-height:1.1;letter-spacing:-.025em}
.login-shell .muted{margin-top:0;font-size:14px}
.field{margin:16px 0}
.field label{display:block;font-weight:750;margin-bottom:7px;color:#172942;font-size:13px}
.field input,.field select,.field textarea{
  width:100%;
  min-height:46px;
  padding:11px 13px;
  border:1px solid #c9d7e7;
  border-radius:10px;
  background:#fbfdff;
  color:var(--ink);
  font:inherit;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.field textarea{min-height:94px;resize:vertical}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#8dbce9;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--action);
  background:#fff;
  box-shadow:0 0 0 4px rgba(11,132,255,.14);
}
input[type=file]{padding:9px;background:#f7faff}
input[type=file]::file-selector-button{
  border:0;
  border-radius:8px;
  background:#e9f4ff;
  color:#075ead;
  padding:9px 12px;
  font-weight:750;
  margin-right:10px;
  cursor:pointer;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border:1px solid transparent;
  border-radius:10px;
  padding:10px 18px;
  background:linear-gradient(135deg,var(--action),#076bd8);
  color:#fff;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
  box-shadow:0 9px 22px rgba(11,132,255,.20);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.btn:hover,.btn:focus-visible{
  color:#fff;
  transform:translateY(-2px);
  background:linear-gradient(135deg,var(--action-2),var(--action));
  box-shadow:0 13px 28px rgba(11,132,255,.28);
}
.btn.secondary{background:#53657a;box-shadow:none}
.btn.secondary:hover{background:#3c5068}
.btn.light{background:#eef5fd;color:#075ead;border-color:#c9dff5;box-shadow:none}
.btn.light:hover{background:var(--action);border-color:var(--action);color:#fff}
.alert{padding:12px 14px;border-radius:10px;background:var(--warn);border:1px solid #f0dca8;margin:14px 0;color:#5c4714}
.alert.good{background:var(--success);border-color:#c7e7d1;color:#17643a}
.dashboard{padding:34px 0 52px}
.dashboard h1{font-size:clamp(1.85rem,4vw,2.6rem);letter-spacing:-.03em;line-height:1.08;margin:0 0 8px}
.dashboard>.wrap>p{margin-top:0}
.grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px;margin-top:25px}
.module{border-top:4px solid var(--action)}
.card h2{font-size:1.25rem;line-height:1.2;margin:0 0 14px;letter-spacing:-.015em}
.muted{color:var(--muted)}
hr{border:0;border-top:1px solid var(--line);margin:20px 0}
table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden}
th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #e6edf5;font-size:13px;vertical-align:middle}
th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5a6c82;background:#f6f9fc}
tr:hover td{background:#f4f9ff}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.small{font-size:12px}
.toolbar{max-width:210mm;margin:20px auto 0;display:flex;gap:10px;justify-content:flex-end}
.lang-hi{font-family:"Nirmala UI",Mangal,Arial,sans-serif}
@media(max-width:800px){
  .wrap{width:min(100% - 28px,1120px)}
  .topbar .wrap{min-height:68px;align-items:flex-start;padding-top:16px;padding-bottom:14px;flex-direction:column;gap:10px}
  .brand{font-size:16px}
  .nav{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .nav a{white-space:nowrap;padding:8px 10px}
  .login-shell{margin:28px 14px;max-width:none;padding:22px}
  .grid{grid-template-columns:1fr}
  table{display:block;overflow-x:auto;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
.report-page{width:210mm;min-height:297mm;margin:20px auto;background:#fff;padding:15mm 14mm 12mm;box-shadow:0 5px 30px rgba(0,0,0,.12);position:relative}.report-top-rule{height:8px;background:var(--wine);position:absolute;left:0;right:0;top:0}.report-header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--wine);padding:10px 4px 11px}.report-brand{font-size:25px;color:var(--wine);font-weight:800}.report-title{text-align:right}.report-title h1{font-size:23px;margin:0}.report-title p{margin:5px 0 0;color:var(--muted);font-size:11px}.meta{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:14px;background:var(--cream);border:1px solid var(--line)}.meta div{padding:9px 12px;border-right:1px solid var(--line);font-size:10px}.meta div:last-child{border-right:0}.meta strong{display:block;margin-bottom:3px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #bbb4aa;margin-top:12px}.kpi{text-align:center;padding:11px 5px;border-right:1px solid #ddd}.kpi:last-child{border-right:0}.kpi span{font-size:9px;color:var(--muted);display:block}.kpi b{font-size:18px;display:block;margin-top:6px}.charts{display:grid;grid-template-columns:1fr 1fr 1.25fr;border:1px solid #e1ddd7;margin-top:14px}.chart{padding:10px;border-right:1px solid #e1ddd7}.chart:last-child{border-right:0}.chart h3{text-align:center;font-size:11px;margin:0 0 6px}.donut{width:115px;height:115px;border-radius:50%;margin:10px auto;display:grid;place-items:center;position:relative}.donut:after{content:"";width:66px;height:66px;border-radius:50%;background:#fff;position:absolute}.donut b{z-index:1;font-size:17px}.bars .row{display:grid;grid-template-columns:98px 1fr 36px;align-items:center;gap:5px;margin:7px 0;font-size:8px}.bartrack{height:12px;background:#eee}.barfill{height:100%;background:var(--wine)}.columns{display:flex;align-items:flex-end;justify-content:space-around;height:110px;border-bottom:1px solid #999;padding-top:10px}.col{width:33px;background:var(--wine);position:relative}.col.olive{background:var(--olive)}.col.gray{background:#aaa29a}.col b{position:absolute;top:-16px;font-size:8px;left:50%;transform:translateX(-50%)}.collabels{display:flex;justify-content:space-around;font-size:7px;text-align:center;margin-top:5px}.bodycols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:13px}.section h2{font-size:14px;color:var(--wine);margin:8px 0}.section p{font-size:10.2px;line-height:1.45;text-align:justify;margin:0 0 12px}.note{border:1px solid #c9b99d;background:#faf7ef;padding:8px 10px;font-size:9px;line-height:1.35;margin-top:8px}.view{border:1px solid var(--olive);background:#f0f1e8}.disclaimer{font-size:7.7px;color:#666;line-height:1.35;margin-top:10px}.prepared{font-size:8.5px;margin-top:7px;font-weight:700}.report-footer{position:absolute;bottom:8mm;left:14mm;right:14mm;border-top:1px solid #ddd;padding-top:6px;display:flex;justify-content:space-between;font-size:8px}.toolbar{max-width:210mm;margin:20px auto 0;display:flex;gap:10px;justify-content:flex-end}.lang-hi{font-family:"Nirmala UI",Mangal,Arial,sans-serif}@media(max-width:800px){.grid{grid-template-columns:1fr}.report-page{width:100%;min-height:auto;margin:0;padding:20px}.bodycols,.charts{grid-template-columns:1fr}.report-footer{position:static;margin-top:20px}.toolbar{padding:10px}.meta,.kpis{grid-template-columns:1fr 1fr}}@media print{body{background:#fff}.topbar,.toolbar{display:none!important}.report-page{box-shadow:none;margin:0;width:210mm;height:297mm;overflow:hidden}.report-footer{bottom:7mm}@page{size:A4;margin:0}}
