:root{--primary: #0c2744;--primary-dark: #081a2e;--primary-light: #1a3a5c;--accent: #e9a31a;--accent-dark: #c98d14;--accent-light: #f5b93a;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--bg-dark: #0a1828;--bg-card: #0c2744;--bg-hover: #1a3a5c;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border: #1a3a5c;--gradient-primary: linear-gradient(135deg, #0c2744 0%, #1a3a5c 100%);--gradient-accent: linear-gradient(135deg, #e9a31a 0%, #c98d14 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-danger: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(233, 163, 26, .3)}[data-theme=light]{--bg-dark: #f5f0e8;--bg-card: #fdfbf7;--bg-hover: #ebe5da;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #7a7a7a;--border: #e0d8c8;--primary: #1e3a5f;--primary-dark: #0c2744;--primary-light: #3b5998;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable}body{min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-dark);color:var(--text-primary);line-height:1.6}button,input,select{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app{display:flex;min-height:100vh;background:var(--bg-dark)}.sidebar{position:fixed;top:0;left:0;display:flex;flex-direction:column;width:260px;height:100vh;padding:var(--space-lg);background:var(--bg-card);border-right:1px solid var(--border)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(255,255,255,.1);color:var(--accent);font-size:1.5rem;font-weight:700}.sidebar-logo img{width:80px;height:80px;border-radius:var(--radius-sm)}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:var(--space-xs)}.nav-link{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);text-align:left;transition:all .2s ease}.nav-link:hover{border-color:var(--accent);background:var(--bg-hover);color:var(--accent)}.nav-link.active{background:var(--gradient-accent);color:var(--primary-dark);box-shadow:var(--shadow-glow);font-weight:600}.nav-link svg,.sidebar-btn svg{width:20px;height:20px;flex-shrink:0}.sidebar-actions{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid rgba(255,255,255,.1)}.sidebar-btn{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);transition:all .2s ease}.sidebar-btn:hover{border-color:var(--accent);background:#ffffff14;color:var(--accent)}.sidebar-btn.logout:hover{border-color:var(--danger);color:var(--danger)}.sidebar-footer{margin-top:auto;padding-top:var(--space-lg);border-top:1px solid var(--border)}.version{color:var(--text-muted);font-size:.75rem}.main-content{flex:1;min-height:100vh;margin-left:260px;padding:var(--space-xl)}.page-header{margin-bottom:var(--space-xl)}.page-title{display:flex;align-items:center;gap:var(--space-sm);font-size:2rem;font-weight:700}.page-subtitle{margin-top:var(--space-xs);color:var(--text-secondary)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.card,.chart-container,.table-container,.filter-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.card,.chart-container{position:relative;overflow:hidden;padding:var(--space-lg)}.card:after,.chart-container:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(233,163,26,.05) 0%,transparent 50%);pointer-events:none}.card:hover,.chart-container:hover{border-color:var(--accent);box-shadow:var(--shadow-lg)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.stat-card.primary:before{background:var(--gradient-accent)}.stat-card.success:before{background:var(--gradient-success)}.stat-card.warning:before{background:var(--gradient-warning)}.stat-card.danger:before{background:var(--gradient-danger)}.stat-value{margin-bottom:var(--space-xs);font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.stat-label{color:var(--text-secondary);font-size:.875rem;letter-spacing:.05em;text-transform:uppercase}.chart-title{margin-bottom:var(--space-lg);font-size:1rem;font-weight:600}.bar-chart{display:flex;flex-direction:column;gap:var(--space-md)}.bar-item{display:flex;align-items:center;gap:var(--space-md)}.bar-label{width:120px;color:var(--text-secondary);font-size:.875rem}.bar-track{flex:1;overflow:hidden;height:28px;border-radius:var(--radius-sm);background:var(--bg-hover)}.bar-fill{height:100%;min-width:24px;border-radius:var(--radius-sm)}.bar-value{min-width:88px;color:var(--accent);font-weight:600;text-align:right}.feature-card h2,.callout-card h2{margin-bottom:var(--space-sm);font-size:1.1rem}.feature-card p,.callout-card p,.callout-list{color:var(--text-secondary)}.callout-card{display:flex;flex-direction:column;gap:var(--space-md)}.callout-list{padding-left:1rem}.filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-lg);margin-bottom:var(--space-lg);padding:var(--space-lg)}.filter-group{display:flex;flex-direction:column;gap:var(--space-sm)}.filter-title{color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.filter-input,.filter-select{min-width:0;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--text-primary)}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e9a31a2e}.btn-secondary{padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-hover);color:var(--text-secondary);transition:all .2s ease}.btn-secondary:hover{border-color:var(--accent);background:var(--accent);color:var(--primary-dark)}.table-container{overflow:hidden}table{width:100%;border-collapse:collapse}thead{background:var(--primary-dark)}th,td{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.th-content{display:flex;align-items:center;gap:var(--space-xs)}tbody tr:hover{background:var(--bg-hover)}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-success{background:#10b9812e;color:var(--success)}.badge-warning{background:#f59e0b2e;color:var(--warning)}.badge-danger{background:#ef44442e;color:var(--danger)}.badge-info{background:#e9a31a2e;color:var(--accent)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-lg);background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 50%,var(--primary-light) 100%)}.login-container{width:100%;max-width:420px;padding:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-card);box-shadow:var(--shadow-lg),0 0 60px #e9a31a26}.login-header{margin-bottom:var(--space-lg);text-align:center}.login-logo{width:120px;height:120px;margin-bottom:var(--space-sm);border-radius:var(--radius-md)}.login-header h1{margin-bottom:var(--space-xs);color:var(--accent);font-size:2rem;letter-spacing:.08em}.login-header p,.login-footer p{color:var(--text-secondary);font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-group input{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-dark);color:var(--text-primary)}.login-button{margin-top:var(--space-sm);padding:var(--space-md);border:none;border-radius:var(--radius-md);background:var(--gradient-accent);color:var(--primary-dark);font-size:1rem;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.login-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.login-footer{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--border);text-align:center}.mobile-menu-btn-fixed,.mobile-header,.mobile-overlay,.mobile-only{display:none}.mobile-cards{flex-direction:column;gap:var(--space-sm)}.mobile-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);padding:var(--space-md)}.mobile-card-header,.mobile-card-row{display:flex;justify-content:space-between;align-items:center}.mobile-card-header{margin-bottom:var(--space-sm)}.mobile-card-title{margin-bottom:var(--space-sm);font-size:1rem;font-weight:600}.mobile-card-row{padding:var(--space-xs) 0;border-bottom:1px solid var(--border)}.mobile-card-row:last-child{border-bottom:0}.mobile-card-label{color:var(--text-secondary);font-size:.8rem}.mobile-card-value{max-width:60%;color:var(--text-primary);font-size:.85rem;text-align:right;word-break:break-word}.mobile-card-day{color:var(--accent);font-size:.85rem;font-weight:600}.accent-text{color:var(--accent);font-weight:600}.sidebar-close-btn{display:none}.fade-in{animation:fadeIn .3s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{border-radius:4px;background:var(--border)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media(max-width:768px){.mobile-menu-btn-fixed{position:fixed;top:var(--space-sm);left:var(--space-sm);z-index:1002;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);background:var(--primary);color:var(--accent);padding:var(--space-sm)}.mobile-menu-btn-fixed svg{width:24px;height:24px}.mobile-header{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:center;height:56px;padding:0 var(--space-md) 0 60px;border-bottom:1px solid var(--border);background:var(--bg-card);transition:transform .3s ease}.mobile-header.header-hidden{transform:translateY(-100%)}.mobile-header-icon{position:absolute;right:var(--space-md);width:48px;height:48px}.mobile-header-title{margin-right:48px;color:var(--accent);font-size:1.3rem;font-weight:700}.mobile-overlay{position:fixed;inset:0;z-index:999;background:#00000080}.mobile-overlay.active{display:block}.sidebar{left:-280px;z-index:1001;width:280px;transition:left .3s ease}.sidebar.open{left:0}.sidebar-close-btn{display:block;align-self:flex-start;margin-bottom:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-hover);color:var(--text-secondary);padding:var(--space-xs) var(--space-sm)}.main-content{margin-left:0;padding:74px var(--space-md) var(--space-md)}.cards-grid,.charts-grid,.filter-panel{grid-template-columns:1fr}.page-title{font-size:1.5rem}.bar-label{width:90px;font-size:.75rem}.bar-value{min-width:70px;font-size:.75rem}.desktop-only{display:none!important}.mobile-only{display:block}.mobile-cards{display:flex}}
