@tailwind base;@tailwind components;@tailwind utilities;html,body{background:#f1f5f9;height:100%;font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}#root{min-height:100vh}.sidebar{z-index:50;background:linear-gradient(#0f172a 0%,#1e293b 100%);flex-direction:column;width:270px;min-height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:4px 0 20px #0003}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}.sidebar-brand{border-bottom:1px solid #ffffff0f;padding:28px 24px}.sidebar-brand h1{color:#fff;letter-spacing:-.5px;font-size:22px;font-weight:700}.sidebar-brand h1 span{color:#60a5fa}.sidebar-brand small{color:#94a3b8;letter-spacing:.3px;margin-top:2px;font-size:12px;font-weight:400;display:block}.sidebar-nav{flex-direction:column;flex:1;display:flex}.nav-logout{margin-top:auto!important}.nav-section{color:#64748b;text-transform:uppercase;letter-spacing:.6px;padding:16px 24px 6px;font-size:11px;font-weight:600}.nav-item{color:#cbd5e1;cursor:pointer;border-left:3px solid #0000;border-radius:8px;align-items:center;gap:14px;margin:2px 8px;padding:10px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#60a5fa;background:#60a5fa26;border-left-color:#60a5fa}.nav-item .icon{text-align:center;width:22px;font-size:17px}.main-content{width:calc(100% - 270px);min-height:100vh;margin-left:270px;padding:28px 36px 40px;overflow-x:hidden}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.page-header h2{color:#0f172a;letter-spacing:-.5px;font-size:28px;font-weight:700}.page-header .subtitle{color:#64748b;margin-top:4px;font-size:14px;font-weight:400}.upload-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.upload-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#0f172a;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #0f172a33}.upload-btn:hover{background:#1e293b;transform:translateY(-2px);box-shadow:0 6px 20px #0f172a40}.upload-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.upload-btn input{display:none}.card{background:#fff;border:1px solid #e9edf2;border-radius:16px;width:1100px;padding:18px 20px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.card:hover{box-shadow:0 4px 12px #0000000d}.card-title{color:#0f172a;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:15px;font-weight:600;display:flex}.file-name{color:#94a3b8;margin-left:6px;font-size:13px;font-weight:400}.stat-card{background:#fff;border:1px solid #e9edf2;border-radius:14px;padding:20px 24px;transition:all .2s;box-shadow:0 1px 3px #0000000a}.stat-card:hover{box-shadow:0 4px 12px #0000000f}.stat-card .label{color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;font-size:13px;font-weight:500}.stat-card .value{color:#0f172a;margin-top:4px;font-size:30px;font-weight:700;line-height:1.2}.grid-2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:24px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.chart-grid{flex-wrap:wrap;gap:24px;margin-top:24px;display:flex}.chart-grid--no-show{grid-template-columns:1fr}.chart-grid--vertical{flex-direction:column}.table-wrap{border:1px solid #e9edf2;border-radius:12px;max-width:100%;margin-top:12px;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:600px;font-size:13px}.table-wrap th{color:#475569;text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;background:#f8fafc;border-bottom:1px solid #e9edf2;padding:12px 18px;font-size:12px;font-weight:600}.table-wrap td{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #f1f5f9;max-width:200px;padding:10px 18px;overflow:hidden}.table-wrap tr:hover td{background:#f8fafc}.table-wrap .empty-state{text-align:center;color:#94a3b8;padding:60px 20px;font-size:14px}.chart-container{width:100%;height:280px;position:relative}.tab-bar{background:#f1f5f9;border-radius:10px;flex-wrap:wrap;gap:4px;margin:20px 0 24px;padding:4px;display:flex}.tab-bar button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.tab-bar button.active{color:#0f172a;background:#fff;box-shadow:0 2px 8px #00000014}.tab-bar button:hover:not(.active){color:#0f172a}.date-picker-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.date-picker-group label{color:#475569;font-size:13px;font-weight:500}.date-picker-group input[type=date]{color:#0f172a;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;padding:8px 14px;font-size:13px;transition:border .2s,box-shadow .2s}.date-picker-group input[type=date]:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26}.date-picker-group .apply-btn{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:8px;padding:8px 22px;font-size:13px;font-weight:600;transition:background .2s}.date-picker-group .apply-btn:hover{background:#1e293b}.badge{border-radius:20px;padding:2px 12px;font-size:11px;font-weight:600;display:inline-block}.badge-success{color:#16a34a;background:#dcfce7}.badge-warning{color:#d97706;background:#fef3c7}.badge-danger{color:#dc2626;background:#fee2e2}.badge-info{color:#2563eb;background:#dbeafe}.badge-neutral{color:#64748b;background:#f1f5f9}.insight-badge{border-radius:24px;align-items:center;gap:6px;padding:6px 16px;font-size:13px;font-weight:500;display:inline-flex}.toast{color:#fff;z-index:999;opacity:0;background:#0f172a;border-radius:12px;padding:14px 28px;font-size:14px;font-weight:500;transition:all .4s cubic-bezier(.4,0,.2,1);position:fixed;bottom:30px;right:30px;transform:translateY(80px);box-shadow:0 8px 30px #00000040}.toast.show{opacity:1;transform:translateY(0)}.toast-success{background:#16a34a}.toast-error{background:#dc2626}.mobile-toggle{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:8px;padding:8px 18px;font-size:22px;transition:background .2s;display:none}.mobile-toggle:hover{background:#1e293b}.overlay{z-index:40;background:#0000004d;display:none;position:fixed;inset:0}.overlay.active{display:block}@media (width<=1024px){.grid-2,.grid-3,.grid-4,.chart-grid{grid-template-columns:1fr 1fr}.main-content{padding:20px 24px}}@media (width<=768px){.sidebar{width:280px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{width:100%;margin-left:0;padding:16px 18px}.mobile-toggle{display:block}.grid-2,.grid-3,.grid-4,.chart-grid{grid-template-columns:1fr}.page-header h2{font-size:22px}.stat-card .value{font-size:24px}.date-picker-group{flex-wrap:wrap}.overlay.active{display:block}.upload-actions{justify-content:flex-start;width:100%}.upload-actions .upload-btn{flex:auto;justify-content:center;min-width:120px}.page-header{flex-direction:column;align-items:stretch}}@media (width<=480px){.main-content{padding:12px}.card{padding:14px 16px}.chart-container{height:220px}.upload-btn{padding:8px 14px;font-size:12px}}.dashboard-shell{box-sizing:border-box;color:#17332f;background:radial-gradient(at 100% 0,#bedcdc66,#0000 34%),#f2f6f3;width:100%;min-height:100vh;padding:28px clamp(18px,3vw,38px) 44px}.dashboard-header{border-bottom:1px solid #d9e6e0;padding-bottom:22px;margin-bottom:22px!important}.dashboard-header>div:first-child{border-left:3px solid #267761;padding-left:16px}.dashboard-header h2{line-height:1.15;color:#17332f!important;font-size:30px!important;font-weight:700!important}.dashboard-header>div:first-child>div{color:#687a74!important;margin-top:7px!important;font-size:13px!important}.dashboard-actions{flex-wrap:wrap;align-items:center;gap:9px!important}.dashboard-actions button{min-height:40px;transition:background-color .16s,border-color .16s,transform .16s;border:1px solid #0000!important;border-radius:8px!important;padding:9px 15px!important;font-size:12px!important}.dashboard-actions .dashboard-export-primary{box-shadow:0 3px 8px #176b5929;background:#176b59!important}.dashboard-actions .dashboard-export-primary:hover:not(:disabled){transform:translateY(-1px);background:#105344!important}.dashboard-actions .dashboard-export-secondary{color:#425a54!important;background:#fff!important;border-color:#d4e1dc!important}.dashboard-actions .dashboard-export-secondary:hover:not(:disabled){background:#f5faf8!important;border-color:#a8c4b8!important}.dashboard-shell .report-filters{box-shadow:0 3px 12px #133c3309;background:#fff!important;border:1px solid #dce8e4!important;border-radius:10px!important;gap:12px!important;margin-bottom:22px!important;padding:16px!important}.dashboard-shell .report-filters>div{gap:7px!important}.dashboard-shell .report-filters label{color:#536862!important;font-size:11px!important;font-weight:650!important}.dashboard-shell .report-filters input,.dashboard-shell .report-filters select,.dashboard-shell .report-filters button{min-height:36px;color:#203b35!important;background-color:#fbfdfc!important;border:1px solid #dce8e4!important;border-radius:7px!important;padding:7px 10px!important;font-size:12px!important}.dashboard-shell .report-filters .apply-btn{color:#fff!important;background-color:#0b8e72!important;border-color:#075e4b!important}.dashboard-shell .report-filters .apply-btn:hover:not(:disabled){background-color:#075e4b!important;border-color:#0b8e72!important}.dashboard-shell .report-filters input:focus,.dashboard-shell .report-filters select:focus,.dashboard-shell .report-filters button:focus-visible{outline-offset:1px;outline:2px solid #26776138;border-color:#6eaa96!important}.dashboard-report-section{transition:box-shadow .18s;background:#fff!important;border:1px solid #dce8e4!important;border-radius:10px!important;padding:22px!important;box-shadow:0 5px 18px #133c330b!important}.dashboard-report-section:hover{box-shadow:0 8px 24px #133c3313!important}@media (width<=760px){.dashboard-shell{padding:20px 14px 32px}.dashboard-header{padding-bottom:18px;align-items:flex-start!important}.dashboard-header h2{font-size:26px!important}.dashboard-actions{width:100%}.dashboard-shell .report-filters>div{flex:145px}.dashboard-shell .report-filters select,.dashboard-shell .report-filters input,.dashboard-shell .report-filters button{max-width:100%}.dashboard-report-section{margin-bottom:18px!important;padding:16px!important}}@media (prefers-reduced-motion:reduce){.dashboard-actions button,.dashboard-report-section{transition:none}}.dashboard-report-section{border-radius:8px!important;padding:20px!important}.dashboard-report-heading{border-bottom:1px solid #e6eeea;padding-bottom:14px}.dashboard-report-title{line-height:1.35;color:#17332f!important;font-size:17px!important;font-weight:650!important}.dashboard-collapse-control{color:#56766b;background:#f0f6f3;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;display:inline-flex}.dashboard-kpi-grid{border-bottom:1px solid #e6eeea;padding:14px 0 16px;gap:12px!important;margin-bottom:0!important}.dashboard-kpi-card{min-height:76px;transition:border-color .16s,box-shadow .16s,transform .16s;box-shadow:none!important;background:#f8fbf9!important;border:1px solid #e2ebe6!important;border-left:3px solid #7da995!important;border-radius:7px!important;padding:12px 14px!important}.dashboard-kpi-card:hover{transform:translateY(-2px);border-color:#bfd5c9!important;box-shadow:0 6px 14px #173c3312!important}.dashboard-kpi-value{font-variant-numeric:tabular-nums;line-height:1.2;font-size:20px!important}.dashboard-report-heading button{min-height:34px;font-weight:600;transition:background-color .15s,border-color .15s;color:#31594c!important;background:#f8fbf9!important;border:1px solid #d6e3dc!important;border-radius:7px!important;padding:6px 11px!important;font-size:12px!important}.dashboard-report-heading button:hover:not(:disabled){background:#edf5f0!important;border-color:#b8d0c3!important}.dashboard-report-heading button:focus-visible,.dashboard-collapse-control:focus-visible{outline-offset:2px;outline:2px solid #26776159}@media (width<=760px){.dashboard-report-section{padding:16px!important}.dashboard-report-title{font-size:15px!important}.dashboard-kpi-grid{padding:12px 0 14px}.dashboard-kpi-card{min-height:68px;padding:10px!important}}@media (prefers-reduced-motion:reduce){.dashboard-kpi-card,.dashboard-report-heading button{transition:none}}.login-screen{z-index:200;box-sizing:border-box;isolation:isolate;background-color:#173a37;background-image:linear-gradient(112deg,#0c2027a8,#0f30343d 50%,#0a302b7a),url(/assets/MIS_Vision_bg_Image-CsTKi3IM.png);background-position:50%;background-repeat:no-repeat;background-size:cover;place-items:center;min-height:100svh;padding:28px;display:grid;position:fixed;inset:0;overflow-y:auto}.login-backdrop{z-index:-1;background:linear-gradient(#06161a14,#06161a33);position:absolute;inset:0}.login-panel{box-sizing:border-box;background:#fffffff7;border:1px solid #ffffffc7;border-radius:12px;width:min(100%,420px);padding:42px 40px 38px;animation:.42s ease-out both login-panel-enter;position:relative;overflow:hidden;box-shadow:0 28px 72px #081b1d47,0 4px 14px #081b1d1f}.login-panel:before{content:"";background:#267761;height:3px;position:absolute;top:0;left:34px;right:34px}.login-brand{text-align:center;flex-direction:column;align-items:center;margin-bottom:30px;display:flex}.login-brand img{width:126px;height:auto;margin:0 auto 22px;display:block}.login-eyebrow{color:#267761;letter-spacing:1.2px;margin-bottom:8px;font-size:10px;font-weight:700}.login-brand h1{color:#19332f;margin:0;font-size:27px;font-weight:700;line-height:1.2}.login-brand p{color:#687a74;margin-top:8px;font-size:14px}.login-form{flex-direction:column;gap:18px;display:flex}.login-field label{color:#344d47;margin-bottom:7px;font-size:12px;font-weight:650;display:block}.login-field input{box-sizing:border-box;color:#203b35;width:100%;min-height:46px;font:inherit;background:#fbfdfc;border:1px solid #d5e1dc;border-radius:7px;outline:none;padding:11px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:block}.login-field input::placeholder{color:#96a59f}.login-field input:hover{border-color:#b7cbc1}.login-field input:focus{background:#fff;border-color:#438b73;box-shadow:0 0 0 3px #26776124}.login-password-control{position:relative}.login-field input.login-password-input{padding-right:44px}.login-password-toggle{color:#60756d;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:32px;height:32px;padding:0;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-password-toggle:hover{color:#267761;background:#edf4f0}.login-password-toggle:focus-visible{outline-offset:1px;outline:2px solid #438b73}.login-password-toggle svg{width:18px;height:18px}.login-error{color:#a43d36;background:#fff6f5;border:1px solid #f0d0cd;border-radius:7px;padding:10px 12px;font-size:12px;line-height:1.45}.login-submit{color:#fff;min-height:46px;font:inherit;cursor:pointer;background:#176b59;border:1px solid #176b59;border-radius:7px;justify-content:center;align-items:center;margin-top:2px;padding:11px 16px;font-size:14px;font-weight:650;transition:background-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.login-submit:hover:not(:disabled){background:#105344;transform:translateY(-1px);box-shadow:0 5px 12px #176b5933}.login-submit:focus-visible{outline-offset:3px;outline:3px solid #26776147}.login-submit:disabled{cursor:wait;opacity:.72}@keyframes login-panel-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.login-screen{padding:18px}.login-panel{padding:34px 24px 28px}.login-brand{margin-bottom:26px}}@media (prefers-reduced-motion:reduce){.login-panel,.login-field input,.login-submit{transition:none;animation:none}}
