/* ============================================================
   UI V4 - Government of West Bengal / CMO visual parity
   Functionality and statutory print templates are unchanged.
   ============================================================ */
:root{
  --cmo-blue:#075a9c;
  --cmo-blue-dark:#073b68;
  --cmo-blue-soft:#eaf4fb;
  --cmo-sky:#f4f9fd;
  --cmo-green:#168657;
  --cmo-orange:#ef8c23;
  --cmo-ink:#182331;
  --cmo-muted:#687787;
  --cmo-border:#dce7ef;
  --cmo-white:#ffffff;
  --cmo-shadow:0 8px 28px rgba(30,72,108,.08);
  --navy:var(--cmo-blue-dark);
  --blue:var(--cmo-blue);
  --blue2:#2c83be;
  --green:var(--cmo-green);
  --gold:var(--cmo-orange);
  --bg:#f5f8fb;
  --card:#fff;
  --text:var(--cmo-ink);
  --muted:var(--cmo-muted);
  --line:var(--cmo-border);
  --shadow:var(--cmo-shadow);
}
html{scroll-behavior:smooth}
body{
  background:
    linear-gradient(90deg,var(--cmo-orange) 0 33.33%,#fff 33.33% 66.66%,var(--cmo-green) 66.66% 100%) top/100% 4px no-repeat,
    #f5f8fb;
  color:var(--cmo-ink);
  font-family:"Segoe UI",Arial,sans-serif;
}
body::before{
  content:"";
  position:fixed;inset:0 0 auto 0;height:4px;z-index:100;
  background:linear-gradient(90deg,#f49a34 0 33.333%,#fff 33.333% 66.666%,#168657 66.666%);
  box-shadow:0 1px 0 rgba(0,0,0,.03)
}

/* LOGIN */
.login-screen{
  background:
    radial-gradient(circle at 85% 12%,rgba(20,117,179,.10),transparent 32%),
    radial-gradient(circle at 8% 92%,rgba(22,134,87,.08),transparent 28%),
    linear-gradient(180deg,#ffffff 0,#f2f8fc 100%);
}
.login-card{
  border-radius:22px;
  padding:34px;
  border:1px solid #dce9f2;
  box-shadow:0 22px 60px rgba(20,72,110,.13);
  position:relative;overflow:hidden;
}
.login-card::before{
  content:"";
  position:absolute;inset:0 0 auto;height:5px;
  background:linear-gradient(90deg,var(--cmo-orange),#fff,var(--cmo-green));
}
.login-card::after{
  content:"";
  display:block;margin-top:18px;padding-top:14px;border-top:1px solid var(--cmo-border);
  text-align:center;font-size:11px;letter-spacing:.03em;color:var(--cmo-muted);
}
.login-card h1{color:var(--cmo-blue-dark);font-size:25px;letter-spacing:-.02em}
.login-card .gov{color:#758492}
.login-card .brandmark{
  width:52px;height:52px;border-radius:50%!important;
  background:#fff!important;color:var(--cmo-blue-dark)!important;
  border:2px solid var(--cmo-blue);
  box-shadow:inset 0 0 0 4px #edf6fc;
  font-size:15px;
}

/* GOVERNMENT HEADER */
.topbar{
  min-height:84px;
  position:sticky;top:4px;
  background:rgba(255,255,255,.97);
  color:var(--cmo-ink);
  border-bottom:1px solid #dce7ef;
  box-shadow:0 4px 18px rgba(32,68,94,.06);
  padding:12px 24px;
  backdrop-filter:blur(12px);
}
.topbar::after{
  content:"";
  position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--cmo-blue) 0 72%,var(--cmo-green) 72% 88%,var(--cmo-orange) 88%);
  opacity:.9
}
.topbar .brandmark{
  width:54px;height:54px;border-radius:50%;
  background:#fff;color:var(--cmo-blue-dark);
  border:2px solid var(--cmo-blue);
  box-shadow:inset 0 0 0 4px #eef7fc;
}
.brandtext h1{
  color:#133e63;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.01em;
  font-weight:750;
}
.brandtext p{
  color:#6f7d89;
  opacity:1;
  font-size:12px;
  margin-top:4px;
}
.top-actions .pill{
  background:#eef7fc;
  color:#075a9c;
  border:1px solid #d3e8f5;
  padding:8px 12px;
}
.top-actions .btn{
  background:#fff;border-color:#cbdce8;color:#244b68;
}

/* LAYOUT / NAV */
.layout{grid-template-columns:265px minmax(0,1fr);min-height:calc(100vh - 88px)}
.sidebar{
  top:88px;height:calc(100vh - 88px);
  background:#fff;
  color:#3e5366;
  padding:18px 13px;
  border-right:1px solid var(--cmo-border);
  box-shadow:4px 0 16px rgba(37,77,105,.025);
}
.menu-title{
  color:#8a99a6;opacity:1;
  font-size:10px;font-weight:800;letter-spacing:.12em;
  padding:17px 12px 6px;
}
.navbtn{
  color:#526677;
  border:1px solid transparent;
  padding:10px 12px;
  border-radius:9px;
  font-weight:600;
  transition:.16s ease;
}
.navbtn:hover{
  background:#f1f7fb;color:var(--cmo-blue);
  border-color:#e3eef6;
}
.navbtn.active{
  background:linear-gradient(90deg,#e8f4fb,#f7fbfe);
  color:var(--cmo-blue);
  border-color:#cfe5f2;
  box-shadow:inset 3px 0 0 var(--cmo-blue);
}
.navbtn.active::after{content:"›";float:right;font-size:17px;line-height:14px}

/* MAIN APP */
.main{
  padding:26px 28px 34px;
  background:
    radial-gradient(circle at 90% 0,rgba(7,90,156,.035),transparent 26%),
    #f5f8fb;
}
.header-row{
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid #dde8ef;
}
.header-row h2{
  color:#173f61;
  font-size:25px;
  font-weight:760;
  letter-spacing:-.025em;
}
.header-row h2::after{
  content:"";
  display:block;width:44px;height:3px;margin-top:9px;border-radius:5px;
  background:linear-gradient(90deg,var(--cmo-blue),var(--cmo-green));
}
.header-row .muted{margin-top:8px;color:#748392}

/* CARDS / DASHBOARD */
.card{
  border:1px solid #dce8f0;
  border-radius:14px;
  box-shadow:0 7px 24px rgba(26,74,107,.055);
  padding:18px;
  background:#fff;
}
.card:hover{border-color:#cee0eb}
.kpi{
  position:relative;overflow:hidden;
  min-height:126px;
}
.kpi::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cmo-blue);
}
.kpi:nth-child(2)::before{background:var(--cmo-green)}
.kpi:nth-child(3)::before{background:var(--cmo-orange)}
.kpi:nth-child(4)::before{background:#7450a8}
.kpi .n{
  color:#173f61;
  font-size:30px;
  letter-spacing:-.035em;
}
.kpi .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.055em;font-weight:750;color:#738391}
.kpi .trend{color:#5b778d;font-size:11px}
.section-title{
  color:#214b6a;
  font-size:16px;
  font-weight:760;
}
.rule-box{
  background:#f8fbfd;
  border-color:#dce9f1;
}
.rule-box b{color:#38566e}

/* BUTTONS */
.btn{
  border-radius:7px;
  padding:9px 14px;
  font-weight:680;
  box-shadow:none;
  transition:.15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn.primary{
  background:var(--cmo-blue);
  border-color:var(--cmo-blue);
  box-shadow:0 4px 10px rgba(7,90,156,.14);
}
.btn.primary:hover{background:#064d87}
.btn.success,.btn.approve{
  background:var(--cmo-green);border-color:var(--cmo-green)
}
.btn.danger{background:#fff5f4}
.actions{gap:7px}

/* FORMS */
label{
  color:#405b70;
  font-weight:720;
  font-size:11.5px;
  letter-spacing:.012em;
}
input,select,textarea{
  min-height:40px;
  border:1px solid #cfdde7;
  border-radius:7px;
  background:#fff;
  color:#21394d;
  padding:9px 11px;
}
textarea{min-height:68px}
input:hover,select:hover,textarea:hover{border-color:#aec8d9}
input:focus,select:focus,textarea:focus{
  border-color:#2580bd;
  box-shadow:0 0 0 3px rgba(37,128,189,.10);
}
.notice{
  border:1px solid #cae2f2;
  border-left:4px solid var(--cmo-blue);
  background:#f2f9fd;
  color:#36556c;
  border-radius:8px;
  line-height:1.5;
}
.notice.good{background:#effaf5;border-color:#caeadc;border-left-color:var(--cmo-green);color:#356451}
.notice.warn{background:#fff8ee;border-color:#f5ddbd;border-left-color:var(--cmo-orange);color:#72542f}
.notice.bad{background:#fff4f2;border-color:#f1d1cd;border-left-color:#b42318;color:#763e38}

/* TABLES */
.tablewrap{
  border:1px solid #dce7ee;
  border-radius:10px;
  box-shadow:none;
}
table{background:#fff}
th{
  background:#eef5f9;
  color:#36566d;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.035em;
  border-bottom:1px solid #d5e3ec;
}
td{
  color:#334b5e;
  border-bottom:1px solid #e8eef3;
  padding:10px;
}
tbody tr:hover td{background:#f8fbfd}
.status{
  border-radius:5px;
  padding:5px 8px;
  font-size:10px;
  letter-spacing:.02em;
}

/* TOOLBARS / PAGE CONTROLS */
.toolbar{
  background:#fff;
  border:1px solid #dce8f0;
  border-radius:10px;
  padding:10px;
  margin-bottom:12px;
}
.toolbar input,.toolbar select{background:#fbfdfe}
.small.muted{color:#7a8b99}

/* FORM-A SPONSORSHIP */
#sponsorship > .card:first-of-type{
  border-top:3px solid var(--cmo-blue);
}
#sponsorship > .card:nth-of-type(2){
  border-top:3px solid var(--cmo-green);
}
#sponsorship > .card:nth-of-type(3){
  border-top:3px solid var(--cmo-orange);
}

/* MASTERS */
#masters .grid.two .card:first-child{border-top:3px solid var(--cmo-green)}
#masters .grid.two .card:last-child{border-top:3px solid var(--cmo-blue)}

/* REPORT TILES */
#reportCards .card{
  min-height:135px;
  border-top:3px solid #2d78aa;
  position:relative;
}
#reportCards .card:nth-child(3n+2){border-top-color:var(--cmo-green)}
#reportCards .card:nth-child(3n){border-top-color:var(--cmo-orange)}

/* FOOTER */
.footer-note{
  color:#758696;
  border-top:1px solid #dfe8ee;
  padding-top:15px;
  margin-top:34px;
}

/* PRINT: do not alter statutory Form A / B */
@media print{
  body{background:#fff!important}
  body::before{display:none}
  .stat-page,.stat-a,.stat-b{border:0!important}
}

/* MOBILE */
@media(max-width:1100px){
  .layout{grid-template-columns:235px minmax(0,1fr)}
  .main{padding:22px}
}
@media(max-width:780px){
  body{background:#f5f8fb}
  .topbar{top:4px;min-height:76px;padding:10px 14px}
  .topbar .brandmark{width:44px;height:44px}
  .brandtext h1{font-size:14px}
  .brandtext p{font-size:10px}
  .layout{display:block}
  .sidebar{
    height:auto;top:0;padding:8px 10px;border-right:0;border-bottom:1px solid var(--cmo-border);
    background:#fff;
  }
  .navbtn{border-radius:7px}
  .navbtn.active{box-shadow:inset 0 -3px 0 var(--cmo-blue)}
  .navbtn.active::after{display:none}
  .main{padding:15px}
  .header-row h2{font-size:22px}
  .login-card{padding:26px 22px}
}
