:root{--ink:#15283e;--muted:#728197;--navy:#102943;--navy2:#173857;--gold:#e7b36b;--gold2:#fff0d8;--teal:#167c80;--tealsoft:#e4f5f2;--bg:#f3f6fa;--white:#fff;--border:#e4eaf0;--red:#c54f5e;--redsoft:#fff0f0;--shadow:0 12px 32px rgba(20,43,67,.06)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"Noto Sans Bengali","Hind Siliguri",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted)}.spin{border:3px solid #d9e5eb;border-top-color:var(--teal);width:32px;height:32px;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.brand-icon{height:43px;width:43px;background:linear-gradient(145deg,#f7d69c,#c89147);border-radius:13px;color:#20344c;display:grid;place-items:center;box-shadow:0 9px 22px #0002}.brand-icon svg{width:24px;height:24px}.brand{text-align:left;display:flex;gap:12px;align-items:center}.brand strong{display:block;font-size:18px;line-height:1.3;white-space:nowrap}.brand small{font-size:11px;color:#9fbbca;letter-spacing:1.6px;text-transform:uppercase}
.login-layout{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.login-art{background:radial-gradient(ellipse at 15% 85%,#1b5065 0%,transparent 44%),linear-gradient(135deg,#102942,#102840 48%,#1b3e59);color:#fff;padding:clamp(28px,5vw,82px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:before,.login-art:after{content:"";position:absolute;border:1px solid #ffffff1c;border-radius:50%;height:580px;width:580px;right:-250px;top:10%}.login-art:after{height:420px;width:420px;right:-170px;top:23%}.login-art>*{position:relative;z-index:1}.hero-copy{max-width:590px}.eyebrow{display:inline-flex;gap:8px;align-items:center;color:#efc887;letter-spacing:2px;font-size:11px;font-weight:800;text-transform:uppercase}.hero-copy h1{font-size:clamp(38px,4.4vw,66px);letter-spacing:-2px;line-height:1.24;margin:18px 0 20px;font-weight:800}.hero-copy h1 span{color:#efc887}.hero-copy p{color:#c6d3de;max-width:460px;font-size:16px}.hero-points{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px}.hero-points span{display:flex;gap:8px;align-items:center;color:#dbe7ec;font-size:12px}.hero-points svg{color:#f1ca8b}.login-footer{font-size:12px;color:#aec3d0}.login-right{display:flex;align-items:center;justify-content:center;padding:35px 24px}.login-box{width:100%;max-width:450px;background:#fff;border:1px solid #e7edf1;box-shadow:var(--shadow);border-radius:26px;padding:clamp(24px,4vw,48px)}.login-box .smalltop{color:var(--teal);letter-spacing:2px;font-size:11px;font-weight:800;text-transform:uppercase}.login-box h2{font-size:27px;line-height:1.3;margin:8px 0}.login-box p{color:var(--muted);margin:0 0 25px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field label{font-size:12px;font-weight:800;color:#33465a}.field input,.field select,.field textarea{width:100%;min-height:45px;padding:10px 13px;border:1px solid #dce5eb;border-radius:11px;background:#fbfcfe;color:#243b53;outline:none}.field textarea{min-height:80px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#43a7a5;box-shadow:0 0 0 3px #3db4a515}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--navy);color:#fff;padding:11px 18px;min-height:42px;border-radius:11px;font-weight:750;transition:transform .18s,background .18s}.button:hover{background:#214761;transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button svg{width:16px;height:16px}.button.gold{background:#e1a957;color:#172c41}.button.gold:hover{background:#f2bf74}.button.ghost{background:#fff;border:1px solid var(--border);color:var(--ink)}.button.ghost:hover{background:#f4f8fa}.button.red{background:#b84b53}.button.full{width:100%}.button.sm{padding:7px 11px;min-height:34px;font-size:12px}.login-divider{display:flex;align-items:center;gap:14px;color:#a7b1bc;margin:19px 0;font-size:11px}.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--border);flex:1}.warning{padding:12px 14px;border-radius:10px;background:#fff8e9;border:1px solid #f6e5bd;color:#775627;font-size:12px}.error{background:var(--redsoft);border:1px solid #f6d6d8;color:#9c3642;padding:11px 13px;border-radius:11px;margin:12px 0;font-size:12px}.success{background:#e7f7ef;border:1px solid #d4edda;color:#246d51;padding:11px 13px;border-radius:11px;margin:12px 0;font-size:12px}
.shell{display:flex;min-height:100vh}.sidebar{background:linear-gradient(180deg,#102942 0%,#15334d 100%);color:#dce8ef;width:258px;flex:0 0 258px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:50;padding:26px 14px}.sidebar .brand{padding:0 12px 28px}.side-section{color:#829bb0;padding:20px 16px 7px;font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:800}.nav-link{border:0;background:none;color:#b5c8d6;display:flex;align-items:center;gap:12px;border-radius:12px;padding:12px 14px;margin:2px 0;text-align:left;font-size:13px;font-weight:650;width:100%}.nav-link:hover{background:#ffffff10;color:white}.nav-link.active{background:#e7b56c1c;color:#f8d9a5;border-left:3px solid var(--gold)}.nav-link svg{width:19px;height:19px}.side-bottom{margin-top:auto;border-top:1px solid #ffffff20;padding-top:15px}.side-tag{font-size:11px;padding:10px 14px;color:#a9bbc9}.content{flex:1;min-width:0}.topbar{background:#fff;display:flex;justify-content:space-between;align-items:center;padding:20px clamp(18px,3vw,42px);border-bottom:1px solid var(--border);gap:16px}.topbar .crumb{display:flex;flex-direction:column;gap:3px}.topbar .crumb small{color:#96a3b0;font-size:11px}.topbar .crumb strong{font-size:18px}.right-actions{display:flex;align-items:center;gap:12px}.pill{padding:6px 10px;border-radius:30px;background:#eef7f5;color:#187776;font-size:11px;font-weight:800}.pill.goldpill{background:#fff2d9;color:#94601d}.avatar{height:40px;width:40px;border-radius:50%;display:grid;place-items:center;background:#deeaee;color:#1a5561;font-weight:900;font-size:12px}.icon-button{background:white;border:1px solid var(--border);border-radius:11px;display:grid;place-items:center;width:39px;height:39px;color:#60788b}.mobile-hamb{display:none}.main{max-width:1510px;margin:auto;padding:30px clamp(16px,3vw,44px) 55px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:24px;flex-wrap:wrap}.page-heading h1{font-size:clamp(22px,2.3vw,30px);margin:0 0 5px;line-height:1.3}.page-heading p{margin:0;color:var(--muted);font-size:13px}.page-actions{display:flex;flex-wrap:wrap;gap:8px}.banner{padding:13px 16px;background:#fff6e6;border:1px solid #f0daa9;border-radius:13px;color:#88611d;margin-bottom:20px;font-size:12px;display:flex;gap:10px;align-items:center}.banner svg{color:#b98b3d}.grid{display:grid;gap:17px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.kpi{background:white;border:1px solid var(--border);border-radius:17px;padding:21px 20px;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi .kpi-label{font-size:12px;color:#65788b;font-weight:650}.kpi .kpi-value{font-size:clamp(20px,2vw,27px);font-weight:850;letter-spacing:-.5px;margin:10px 0 4px;white-space:nowrap}.kpi .kpi-foot{font-size:11px;color:#8ca1b0}.kpi .kpi-icon{position:absolute;right:16px;top:19px;color:var(--teal);background:#e9f7f4;width:37px;height:37px;border-radius:11px;display:grid;place-items:center}.kpi.navy{background:linear-gradient(130deg,#112e4c,#1b5167);color:white;border-color:transparent}.kpi.navy .kpi-label,.kpi.navy .kpi-foot{color:#bad4e0}.kpi.navy .kpi-icon{background:#ffffff24;color:#f0cb8d}.kpi.goldish .kpi-icon{background:#fff4dc;color:#bd8c3b}.sections{display:grid;grid-template-columns:1.35fr .95fr;gap:18px;margin-bottom:22px}.panel{background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow);min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}.panel-title h2{font-size:16px;margin:0}.panel-title p{color:var(--muted);font-size:12px;margin:4px 0 0}.small-link{border:0;background:none;color:#137d82;font-weight:750;font-size:12px}.stat-line{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #edf0f3;padding:11px 0}.stat-line:last-child{border:0}.stat-line span{color:#708497;font-size:12px}.stat-line strong{font-size:13px}.bar-group{display:grid;gap:15px}.bar-title{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.bar-title span{color:#6d8295}.bar{background:#f0f4f6;height:9px;border-radius:20px;overflow:hidden}.bar i{display:block;height:100%;background:#1d8290;border-radius:20px}.bar.gold i{background:#edba74}.bar.red i{background:#cf8182}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.shortcut{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:#fff;border-radius:12px;padding:15px 11px;text-align:left}.shortcut:hover{background:#f8fbfd}.shortcut .shortcut-icon{border-radius:10px;background:#ebf4f4;color:#167c80;padding:9px;display:grid;place-items:center}.shortcut strong{font-size:12px}.shortcut small{display:block;color:var(--muted);font-size:10px}
.data-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#8190a0;font-weight:800;background:#f7f9fb;padding:12px}.data-table td{padding:13px 12px;border-bottom:1px solid #edf1f4;font-size:12px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdfe}.table-wrap{overflow:auto;border-radius:12px;border:1px solid #eef1f4}.table-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 15px}.mini-select,.mini-input{border:1px solid #dce6e9;background:#fff;padding:10px 11px;min-height:39px;border-radius:10px;font-size:12px;color:var(--ink)}.right{text-align:right}.smalltag{border-radius:20px;padding:4px 9px;font-size:10px;font-weight:800;background:#eaf7ed;color:#1f7654}.smalltag.negative{background:#fff0ef;color:#ad5961}.smalltag.muted{background:#eff2f4;color:#5e7180}.smalltag.purple{background:#f2eafe;color:#7c5dad}.muted{color:var(--muted)}.number{font-variant-numeric:tabular-nums;font-weight:750}.summary-inline{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.summary-inline>div{flex:1;min-width:185px;background:#f8fafb;padding:14px;border:1px solid #ecf0f2;border-radius:13px}.summary-inline span{color:var(--muted);display:block;font-size:12px}.summary-inline strong{font-size:19px}.forms-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-panel{border:1px solid var(--border);padding:20px;border-radius:17px;background:#fff}.form-panel h3{margin:0 0 14px}.form-panel .button{margin-top:6px}.admin-tabbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.admin-tabbar button{padding:10px 14px;border-radius:10px;background:#fff;border:1px solid var(--border);color:var(--muted);font-weight:750}.admin-tabbar button.active{background:#173a55;color:#fff;border-color:#173a55}.info-box{background:#edf8f9;color:#426775;padding:13px 15px;font-size:12px;border:1px solid #d4ebea;border-radius:12px}.note{font-size:12px;color:var(--muted);margin-top:12px}.empty-state{text-align:center;color:#8297a8;padding:35px 10px}.empty-state svg{width:40px;height:40px;margin-bottom:8px}.empty-state h3{color:var(--ink);margin:3px 0}.empty-state p{font-size:12px}.report-cover{background:linear-gradient(130deg,#122e4b,#21576a);color:#fff;border-radius:17px;padding:26px;margin-bottom:19px}.report-cover h2{font-size:23px;margin:5px 0}.report-cover p{color:#c4dbe0}.report-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.report-card{border:1px solid var(--border);border-radius:14px;padding:20px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px}.report-card h3{margin:0 0 4px;font-size:14px}.report-card p{margin:0;color:var(--muted);font-size:12px}.user-card{display:flex;gap:16px;align-items:center;padding:21px;border:1px solid var(--border);border-radius:15px}.user-card .avatar{height:60px;width:60px;font-size:18px}.toast{position:fixed;bottom:25px;right:25px;background:#193b52;color:white;border-radius:12px;padding:13px 17px;z-index:100;box-shadow:0 10px 30px #0002;max-width:min(450px,calc(100vw - 40px));font-size:13px}.mobile-nav{display:none}.printing-title{display:none}.footerline{text-align:center;color:#9aaab5;font-size:11px;padding-top:14px}
@media(max-width:1190px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.sections{grid-template-columns:1fr}.feature-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.sidebar{width:225px;flex-basis:225px}.main{padding:23px 18px 50px}.topbar{padding:15px 18px}.brand strong{font-size:16px}.hero-copy h1{font-size:38px}.login-art{padding:40px 28px}.feature-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:710px){body{font-size:13px}.login-layout{grid-template-columns:1fr}.login-art{min-height:290px;padding:28px 24px}.hero-copy h1{font-size:34px;margin:12px 0}.hero-copy p{font-size:13px}.hero-points{margin-top:14px;gap:12px}.login-footer{display:none}.login-right{padding:20px 16px 45px;align-items:flex-start}.login-box{padding:26px 21px;border-radius:21px}.sidebar{position:fixed;left:-290px;transition:left .2s;top:0;width:260px;height:100vh;box-shadow:20px 0 70px #0004}.sidebar.open{left:0}.mobile-hamb{display:grid}.content{width:100%}.topbar{padding:13px 17px}.topbar .crumb strong{font-size:15px}.topbar .crumb small{font-size:10px}.right-actions{gap:7px}.topbar .pill{font-size:10px}.main{padding:20px 13px 90px}.page-heading{margin-bottom:17px}.page-heading h1{font-size:23px}.kpi-grid{gap:10px}.kpi{padding:16px 14px;border-radius:15px}.kpi .kpi-value{font-size:20px;margin-top:13px}.kpi .kpi-label{font-size:11px}.kpi .kpi-icon{width:31px;height:31px;right:10px;top:13px}.kpi .kpi-icon svg{width:16px}.panel{padding:16px 13px}.sections{gap:12px}.forms-grid{grid-template-columns:1fr}.report-list{grid-template-columns:1fr}.feature-list{grid-template-columns:1fr 1fr;gap:9px}.shortcut{padding:11px 8px}.shortcut small{font-size:9px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);padding:8px 4px max(8px,env(safe-area-inset-bottom));z-index:20;box-shadow:0 -4px 20px #102c4010}.mobile-nav button{border:0;background:none;color:#8295a5;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;padding:4px 2px;font-weight:650}.mobile-nav button.active{color:#116f74}.mobile-nav button svg{width:20px;height:20px}.footerline{padding-bottom:10px}}
@media print{body{background:white;color:#000}.sidebar,.mobile-nav,.topbar,.page-actions,.admin-tabbar,.button,.table-toolbar,.toast,.no-print{display:none!important}.main{padding:0;max-width:100%}.content{width:100%}.panel,.kpi,.report-cover{box-shadow:none;break-inside:avoid}.report-cover{background:white;color:#000;border:1px solid #000}.report-cover p{color:#333}.printing-title{display:block}.page-heading{margin-top:0}.kpi-grid{grid-template-columns:repeat(4,1fr)}.kpi.navy{background:#f5f5f5;color:#000}.kpi.navy .kpi-label,.kpi.navy .kpi-foot{color:#555}.kpi-icon{display:none!important}.table-wrap{overflow:visible}.data-table{white-space:normal}.data-table td,.data-table th{font-size:9px}}
