@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2ae47f08-module__h69qWW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2ae47f08-module__h69qWW__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_eb58308d-module__w_p2Lq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_eb58308d-module__w_p2Lq__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
*{box-sizing:border-box;margin:0;padding:0;font-family:Segoe UI,sans-serif}body{min-height:100vh}.login-wrapper{background:linear-gradient(135deg,#667eea,#764ba2);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);color:#fff;background:#ffffff26;border-radius:15px;width:100%;max-width:380px;margin:3%;padding:40px;animation:.8s ease-in-out fadeIn;box-shadow:0 25px 50px #00000040}.login-card h2{text-align:center;margin-bottom:10px}.login-card p{text-align:center;opacity:.8;margin-bottom:30px;font-size:14px}.input-group{margin-bottom:25px;position:relative}.input-group input{color:#fff;background:0 0;border:none;border-bottom:2px solid #fff6;outline:none;width:100%;padding:12px 10px;font-size:16px}.input-group label{color:#ffffffb3;pointer-events:none;font-size:14px;transition:all .3s;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.input-group input:focus+label,.input-group input:valid+label{color:#fff;font-size:12px;top:-6px}.input-group input:focus{border-bottom-color:#fff}.login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#43cea2,#185a9d);border:none;border-radius:25px;width:100%;margin-top:10px;padding:12px;font-size:16px;font-weight:700;transition:all .3s}.login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000004d}.error{color:#ffb3b3;text-align:center;margin-bottom:10px;font-size:14px;display:block}.footer-text{text-align:center;margin-top:20px;font-size:13px;display:block}.footer-text a{color:#fff;text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-wrapper{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px;display:grid}.kpi-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);text-align:center;background:#ffffff26;border-radius:15px;padding:20px}.kpi-card h4{opacity:.8;font-size:14px}.kpi-card p{margin-top:10px;font-size:28px;font-weight:700}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;display:grid}.chart-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff26;border-radius:15px;padding:25px}.dashboard-title{text-align:center;margin-bottom:30px}.filter-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff26;border-radius:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;margin-bottom:40px;padding:20px;display:grid}.filter-group{flex-direction:column;font-size:14px;display:flex}.filter-group label{opacity:.8;margin-bottom:5px}.filter-group input,.filter-group select{border:none;border-radius:8px;outline:none;padding:10px}.fetch-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#43cea2,#185a9d);border:none;border-radius:25px;align-self:end;padding:12px;font-weight:700;transition:all .3s}.fetch-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0000004d}.error-message{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);color:#ffb3b3;text-align:center;background:#ef476f33;border:1px solid #ef476f66;border-radius:10px;margin-top:-25px;margin-bottom:30px;padding:12px 20px;font-size:14px;animation:.3s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.no-data-message{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);text-align:center;color:#fffc;background:#ffffff1a;border:1px solid #fff3;border-radius:15px;padding:40px 20px;font-size:16px}.kpi-card span{opacity:.8;font-size:14px}.kpi-card strong{margin-top:5px;font-size:30px}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#ffffff1a 25%,#fff3 50%,#ffffff1a 75%) 0 0/200% 100%;border-radius:8px;animation:1.5s infinite skeleton-loading}.skeleton-kpi{width:100%;height:80px}.skeleton-chart{border-radius:15px;width:100%;height:300px}.skeleton-title{width:150px;height:24px;margin-bottom:20px}@media (max-width:768px){.dashboard-wrapper{padding:20px 15px}.dashboard-title{margin-bottom:20px;font-size:24px}.filter-card{grid-template-columns:1fr;gap:15px;padding:15px}.fetch-btn{width:100%}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:25px}.kpi-card{padding:15px}.kpi-card h4{font-size:12px}.kpi-card p,.kpi-card strong{font-size:20px}.kpi-card span{font-size:12px}.charts-grid{grid-template-columns:1fr;gap:20px}.chart-card{padding:15px}.chart-card h3{margin-bottom:15px;font-size:16px}.login-card{margin:20px;padding:30px 25px}.error-message{padding:10px 15px;font-size:13px}.no-data-message{padding:30px 15px;font-size:14px}}@media (max-width:480px){.dashboard-wrapper{padding:15px 10px}.dashboard-title{font-size:20px}.kpi-grid{grid-template-columns:1fr}.kpi-card,.filter-card,.chart-card{padding:12px}.login-card{margin:15px;padding:25px 20px}.login-card h2{font-size:22px}.login-card p{font-size:13px}}
