@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*{padding:0;margin:0;box-sizing:border-box}a{text-decoration:none;color:inherit}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f4f6f9;color:#1a1d23;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;border:none;outline:none}input,select{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;outline:none}.loginPage{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1d23,#232731 60%,#1e2940);padding:16px}.loginPage .loginCard{background:#fff;border-radius:16px;padding:48px 32px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d}.loginPage .loginCard .loginHeader{text-align:center;margin-bottom:32px}.loginPage .loginCard .loginHeader .logoRow{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}.loginPage .loginCard .loginHeader .logoRow .logoIcon{width:40px;height:40px;background:#2ecc71;border-radius:6px;display:flex;align-items:center;justify-content:center}.loginPage .loginCard .loginHeader .logoRow .logoIcon svg{width:22px;height:22px;fill:#fff}.loginPage .loginCard .loginHeader .logoRow .logoText{font-size:20px;font-weight:700;color:#1a1d23;letter-spacing:-.3px}.loginPage .loginCard .loginHeader h1{font-size:22px;font-weight:600;color:#1a1d23;margin-bottom:4px}.loginPage .loginCard .loginHeader p{font-size:14px;color:#6b7280}.loginPage .loginCard .loginForm{display:flex;flex-direction:column;gap:16px}.loginPage .loginCard .loginForm .formGroup{display:flex;flex-direction:column;gap:4px}.loginPage .loginCard .loginForm .formGroup label{font-size:13px;font-weight:500;color:#1a1d23}.loginPage .loginCard .loginForm .formGroup input{height:44px;padding:0 16px;border:1.5px solid #e8ecf0;border-radius:6px;font-size:14px;color:#1a1d23;background:#fafbfc;transition:border-color .2s,box-shadow .2s}.loginPage .loginCard .loginForm .formGroup input::placeholder{color:#9ca3af}.loginPage .loginCard .loginForm .formGroup input:focus{border-color:#2ecc71;box-shadow:0 0 0 3px #2ecc711f;background:#fff}.loginPage .loginCard .loginForm .rememberRow{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.loginPage .loginCard .loginForm .rememberRow input[type=checkbox]{width:16px;height:16px;accent-color:#2ecc71;cursor:pointer}.loginPage .loginCard .loginForm .rememberRow span{font-size:13px;color:#6b7280}.loginPage .loginCard .loginForm .loginError{background:#e74c3c14;border:1px solid rgba(231,76,60,.2);border-radius:6px;padding:8px 16px;font-size:13px;color:#e74c3c;text-align:center}.loginPage .loginCard .loginForm .loginButton{height:46px;background:#2ecc71;color:#fff;border-radius:6px;font-size:15px;font-weight:600;letter-spacing:.2px;transition:background .2s,transform .1s}.loginPage .loginCard .loginForm .loginButton:hover:not(:disabled){background:#27ae60}.loginPage .loginCard .loginForm .loginButton:active:not(:disabled){transform:scale(.99)}.loginPage .loginCard .loginForm .loginButton:disabled{opacity:.6;cursor:not-allowed}.adminLayout{display:flex;min-height:100vh}.adminLayout .sidebar{width:240px;min-width:240px;background:#1a1d23;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;border-right:1px solid #2a2e38}.adminLayout .sidebar .sidebarHeader{padding:24px 16px;border-bottom:1px solid #2a2e38}.adminLayout .sidebar .sidebarHeader .logoRow{display:flex;align-items:center;gap:8px}.adminLayout .sidebar .sidebarHeader .logoRow .logoIcon{width:34px;height:34px;background:#2ecc71;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.adminLayout .sidebar .sidebarHeader .logoRow .logoIcon svg{width:18px;height:18px;fill:#fff}.adminLayout .sidebar .sidebarHeader .logoRow .logoText{font-size:15px;font-weight:700;color:#fff;letter-spacing:-.2px;line-height:1.2}.adminLayout .sidebar .sidebarHeader .logoRow .logoText span{display:block;font-size:10px;font-weight:400;color:#a0aab8;letter-spacing:.5px;text-transform:uppercase}.adminLayout .sidebar .sidebarNav{flex:1;padding:16px 0}.adminLayout .sidebar .sidebarNav .navItem{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#a0aab8;font-size:14px;font-weight:400;border-left:3px solid transparent;transition:all .15s}.adminLayout .sidebar .sidebarNav .navItem svg{width:18px;height:18px;flex-shrink:0;opacity:.7}.adminLayout .sidebar .sidebarNav .navItem.active{color:#fff;background:#22262f;border-left-color:#2ecc71;font-weight:500}.adminLayout .sidebar .sidebarNav .navItem.active svg{opacity:1}.adminLayout .sidebar .sidebarNav .navItem:hover:not(.active){background:#22262f;color:#fff}.adminLayout .sidebar .sidebarNav .navSection{padding:24px 16px 4px;font-size:10px;font-weight:600;color:#a0aab8;letter-spacing:1px;text-transform:uppercase;opacity:.5}.adminLayout .sidebar .sidebarFooter{padding:16px;border-top:1px solid #2a2e38}.adminLayout .sidebar .sidebarFooter .logoutButton{width:100%;display:flex;align-items:center;gap:8px;padding:8px 16px;background:none;color:#a0aab8;font-size:14px;border-radius:6px;transition:all .15s}.adminLayout .sidebar .sidebarFooter .logoutButton svg{width:16px;height:16px;flex-shrink:0}.adminLayout .sidebar .sidebarFooter .logoutButton:hover{background:#e74c3c1f;color:#e74c3c}.adminLayout .mainContent{margin-left:240px;flex:1;display:flex;flex-direction:column;min-width:0}.adminLayout .mainContent .topbar{height:64px;background:#fff;border-bottom:1px solid #e8ecf0;display:flex;align-items:center;padding:0 32px;position:sticky;top:0;z-index:50}.adminLayout .mainContent .topbar h1{font-size:17px;font-weight:600;color:#1a1d23}.adminLayout .mainContent .topbar .topbarRight{margin-left:auto;display:flex;align-items:center;gap:16px}.adminLayout .mainContent .topbar .topbarRight .daysSelector{display:flex;align-items:center;gap:8px}.adminLayout .mainContent .topbar .topbarRight .daysSelector label{font-size:13px;color:#6b7280;font-weight:500}.adminLayout .mainContent .topbar .topbarRight .daysSelector select{height:34px;padding:0 8px;border:1.5px solid #e8ecf0;border-radius:6px;font-size:13px;color:#1a1d23;background:#fff;cursor:pointer}.adminLayout .mainContent .topbar .topbarRight .daysSelector select:focus{border-color:#2ecc71}.adminLayout .mainContent .topbar .topbarRight .adminBadge{font-size:12px;font-weight:500;color:#6b7280;background:#f4f6f9;padding:4px 10px;border-radius:20px;border:1px solid #e8ecf0}.adminLayout .mainContent .pageContent{padding:32px;display:flex;flex-direction:column;gap:32px}.dashSection .sectionHeader{margin-bottom:24px}.dashSection .sectionHeader h2{font-size:16px;font-weight:600;color:#1a1d23;margin-bottom:2px}.dashSection .sectionHeader p{font-size:13px;color:#6b7280}.dashSection .chartsGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:1024px){.dashSection .chartsGrid{grid-template-columns:1fr}}.dashSection .builderControls{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.chartCard{background:#fff;border-radius:10px;padding:24px;border:1px solid #e8ecf0;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a}.chartCard .chartCardHeader{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.chartCard .chartCardHeader .chartTitle{font-size:14px;font-weight:600;color:#1a1d23;margin-bottom:4px}.chartCard .chartCardHeader .chartSubtitle{font-size:12px;color:#6b7280}.chartCard .chartCardHeader .totalBadge{font-size:22px;font-weight:700;color:#1a1d23}.chartCard .chartWrapper{height:220px}.chartCard .chartLoading,.chartCard .chartEmpty{height:220px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#9ca3af;background:#f4f6f9;border-radius:6px}.builderSelect{display:flex;align-items:center;gap:8px}.builderSelect label{font-size:13px;font-weight:500;color:#6b7280;white-space:nowrap}.builderSelect select{height:38px;padding:0 16px;border:1.5px solid #e8ecf0;border-radius:6px;font-size:14px;color:#1a1d23;background:#fff;min-width:200px;cursor:pointer;transition:border-color .2s}.builderSelect select:focus{border-color:#2ecc71;box-shadow:0 0 0 3px #2ecc711a}.sectionDivider{border:none;border-top:1px solid #e8ecf0;margin:0}.loadingOverlay{display:flex;align-items:center;justify-content:center;height:300px;color:#9ca3af;font-size:14px;gap:8px}.loadingOverlay .spinner{width:20px;height:20px;border:2px solid #e8ecf0;border-top-color:#2ecc71;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
