@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary: #0f1117;--bg-secondary: #171923;--bg-tertiary: #1e2231;--bg-card: rgba(30, 34, 49, .8);--bg-card-hover: rgba(40, 45, 65, .9);--bg-glass: rgba(255, 255, 255, .04);--bg-glass-hover: rgba(255, 255, 255, .08);--bg-input: rgba(255, 255, 255, .06);--border-primary: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--border-focus: #6366f1;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--accent-primary: #6366f1;--accent-primary-hover: #818cf8;--accent-primary-glow: rgba(99, 102, 241, .25);--accent-secondary: #8b5cf6;--accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a78bfa 100%);--success: #22c55e;--success-bg: rgba(34, 197, 94, .1);--success-border: rgba(34, 197, 94, .3);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--warning-border: rgba(245, 158, 11, .3);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .1);--danger-border: rgba(239, 68, 68, .3);--info: #3b82f6;--info-bg: rgba(59, 130, 246, .1);--info-border: rgba(59, 130, 246, .3);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--accent-primary-glow);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--font-4xl: 2.5rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 260px;--sidebar-collapsed: 72px;--topbar-height: 64px}body[data-theme=light]{--bg-primary: #f4f7fb;--bg-secondary: #ffffff;--bg-tertiary: #eef2ff;--bg-card: rgba(255, 255, 255, .88);--bg-card-hover: rgba(248, 250, 252, .96);--bg-glass: rgba(15, 23, 42, .04);--bg-glass-hover: rgba(15, 23, 42, .08);--bg-input: rgba(15, 23, 42, .04);--border-primary: rgba(15, 23, 42, .09);--border-hover: rgba(15, 23, 42, .16);--border-focus: #4f46e5;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-inverse: #f8fafc;--accent-primary-glow: rgba(79, 70, 229, .14);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--shadow-md: 0 10px 24px rgba(15, 23, 42, .1);--shadow-lg: 0 18px 48px rgba(15, 23, 42, .14)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;width:100%}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;transition:background-color var(--transition-base),color var(--transition-base)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.app-layout{display:flex;min-height:100vh;overflow-x:hidden;width:100%}.main-area{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;transition:margin-left var(--transition-base);overflow-x:hidden;max-width:100%;min-width:0}.page-content{flex:1;padding:var(--space-lg);padding-top:calc(var(--topbar-height) + var(--space-lg));max-width:1400px;margin:0 auto;overflow-x:hidden;box-sizing:border-box;width:100%}.app-footer{margin-top:auto;border-top:1px solid var(--border-primary);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-secondary) 94%,transparent),color-mix(in srgb,var(--bg-primary) 90%,transparent));color:var(--text-muted);padding:var(--space-md) var(--space-lg);letter-spacing:.02em}.app-footer-content{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);flex-wrap:wrap;font-size:var(--font-sm)}.app-footer-copy{color:var(--text-primary);font-weight:600}.app-footer-credit{color:var(--text-muted);opacity:.9}.app-footer-credit:before{content:"•";margin-right:var(--space-xs);color:var(--border-hover)}@media (max-width: 640px){.app-footer{padding:var(--space-md)}.app-footer-content{flex-direction:column;gap:.25rem}.app-footer-credit:before{display:none}}.page-header{margin-bottom:var(--space-xl)}.page-header h1{font-size:var(--font-3xl);font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-xs)}.page-header p{color:var(--text-secondary);font-size:var(--font-sm)}.sidebar{width:var(--sidebar-width);position:fixed;left:0;top:0;bottom:0;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;z-index:100;transition:all var(--transition-base)}.sidebar-brand{padding:var(--space-lg);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;gap:var(--space-md);width:100%;border:none;background:transparent;text-align:left;color:inherit;cursor:pointer}.sidebar-brand .brand-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-size:var(--font-xl);font-weight:800;color:#fff;flex-shrink:0}.brand-logo-image{width:100%;height:100%;object-fit:cover;border-radius:inherit}.sidebar-brand .brand-text{display:flex;flex-direction:column}.sidebar-brand .brand-name{font-size:var(--font-sm);font-weight:700;color:var(--text-primary);line-height:1.2}.sidebar-brand .brand-sub{font-size:var(--font-xs);color:var(--text-muted)}.sidebar-nav{flex:1;padding:var(--space-md);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-xs)}.nav-section-label{font-size:var(--font-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-md) var(--space-md) var(--space-sm)}.nav-link{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);font-weight:500;transition:all var(--transition-fast);cursor:pointer;border:none;background:none;width:100%;text-align:left}.nav-link:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.nav-link.active{background:var(--accent-primary-glow);color:var(--accent-primary-hover);font-weight:600}.nav-link .nav-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-lg)}.nav-link .nav-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-full);min-width:20px;text-align:center}.sidebar-footer{padding:var(--space-md);border-top:1px solid var(--border-primary)}.user-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm);border-radius:var(--radius-md);transition:background var(--transition-fast)}.user-card:hover{background:var(--bg-glass-hover)}.user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-sm);color:#fff;flex-shrink:0}.user-info{flex:1;min-width:0}.user-info .user-name{font-size:var(--font-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .user-role{font-size:var(--font-xs);color:var(--text-muted);text-transform:capitalize}.topbar{position:fixed;top:0;right:0;left:var(--sidebar-width);height:var(--topbar-height);background:var(--bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;padding:0 var(--space-lg);z-index:90;transition:left var(--transition-base)}.topbar-left{display:flex;align-items:center;gap:var(--space-md)}.topbar-brand{display:flex;align-items:center;gap:var(--space-md);border:none;background:transparent;padding:0;color:inherit;cursor:pointer}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-md);justify-content:flex-end}.topbar-date{display:block;text-align:right;white-space:nowrap}.theme-toggle{display:inline-flex;align-items:center;gap:var(--space-sm);border:1px solid var(--border-primary);background:var(--bg-glass);color:var(--text-primary);border-radius:var(--radius-full);padding:6px 12px;font-size:var(--font-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.theme-toggle:hover{background:var(--bg-glass-hover);border-color:var(--border-hover)}.icon{display:inline-block;vertical-align:middle;flex:0 0 auto}.theme-toggle,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm)}.recent-activity-card .section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.recent-activity-card .section-heading h3{margin:0;font-weight:600}.recent-activity-card .section-heading p{margin:4px 0 0;color:var(--text-muted);font-size:var(--font-xs)}.activity-list{display:flex;flex-direction:column}.activity-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border-top:1px solid var(--border-primary)}.activity-icon{display:grid;place-items:center;width:38px;height:38px;color:var(--accent-primary);background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.activity-details{min-width:0;flex:1}.activity-title{font-size:var(--font-sm);font-weight:600}.activity-meta{margin-top:3px;color:var(--text-muted);font-size:var(--font-xs)}.mobile-toggle{display:none;background:none;border:none;color:var(--text-primary);font-size:var(--font-xl);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md)}.mobile-toggle:hover{background:var(--bg-glass-hover)}.topbar-brand{display:none;align-items:center;gap:var(--space-sm)}.topbar-brand-logo{width:28px;height:28px;border-radius:var(--radius-sm);object-fit:cover}.topbar-brand-text{font-size:var(--font-sm);font-weight:700;color:var(--text-primary);white-space:nowrap}.brand-short,.date-short{display:none}.card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-base)}.card:hover{border-color:var(--border-hover)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.stat-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;align-items:flex-start;gap:var(--space-md);transition:all var(--transition-base);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient);opacity:0;transition:opacity var(--transition-base)}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card:hover:before{opacity:1}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.stat-icon.purple{background:var(--accent-primary-glow);color:var(--accent-primary-hover)}.stat-icon.green{background:var(--success-bg);color:var(--success)}.stat-icon.orange{background:var(--warning-bg);color:var(--warning)}.stat-icon.red{background:var(--danger-bg);color:var(--danger)}.stat-icon.blue{background:var(--info-bg);color:var(--info)}.stat-content{flex:1}.stat-label{font-size:var(--font-xs);color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-xs)}.stat-value{font-size:var(--font-2xl);font-weight:800;color:var(--text-primary);line-height:1.2}.stat-sub{font-size:var(--font-xs);color:var(--text-muted);margin-top:var(--space-xs)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-primary);background:var(--bg-card)}.data-table{width:100%;border-collapse:collapse}.data-table thead th{padding:var(--space-md) var(--space-lg);text-align:left;font-size:var(--font-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-primary);background:var(--bg-glass);white-space:nowrap}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-glass-hover)}.data-table tbody td{padding:var(--space-md) var(--space-lg);font-size:var(--font-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-primary);white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:600;letter-spacing:.02em}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge-info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.badge-neutral{background:var(--bg-glass);color:var(--text-secondary);border:1px solid var(--border-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-sm);font-weight:600;cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast);white-space:nowrap;line-height:1.5}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-gradient);color:#fff;border-color:transparent}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-glass);color:var(--text-primary);border-color:var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-glass-hover);border-color:var(--border-hover)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-glass-hover);color:var(--text-primary)}.btn-sm{padding:4px 10px;font-size:var(--font-xs)}.btn-lg{padding:var(--space-md) var(--space-lg);font-size:var(--font-base)}.btn-group{display:flex;gap:var(--space-sm)}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-size:var(--font-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-sm);transition:all var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-primary-glow)}.form-input::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:80px}.form-select{cursor:pointer}.form-select option{background:var(--bg-secondary);color:var(--text-primary)}.form-error{font-size:var(--font-xs);color:var(--danger);margin-top:var(--space-xs)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--space-md);animation:fadeIn var(--transition-fast) ease-out}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-base) ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border-primary)}.modal-header h2{font-size:var(--font-lg);font-weight:700}.modal-close{background:none;border:none;color:var(--text-muted);font-size:var(--font-xl);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.modal-body{padding:var(--space-lg)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-primary)}.toast-container{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:300;display:flex;flex-direction:column;gap:var(--space-sm)}.toast{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:500;box-shadow:var(--shadow-lg);animation:slideRight var(--transition-base) ease-out;display:flex;align-items:center;gap:var(--space-md);min-width:280px;max-width:420px}.toast-success{background:#166534;color:#dcfce7;border:1px solid var(--success-border)}.toast-error{background:#991b1b;color:#fecaca;border:1px solid var(--danger-border)}.toast-info{background:#1e3a5f;color:#bfdbfe;border:1px solid var(--info-border)}.toast-warning{background:#713f12;color:#fef3c7;border:1px solid var(--warning-border)}.toast-close{margin-left:auto;background:none;border:none;color:inherit;opacity:.7;cursor:pointer;font-size:var(--font-lg)}.chart-container{padding:var(--space-lg) 0}.bar-chart{display:flex;align-items:flex-end;gap:var(--space-md);height:180px;padding:0 var(--space-sm)}.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);height:100%;justify-content:flex-end}.bar-track{width:100%;max-width:48px;height:120px;display:flex;align-items:flex-end}.bar-fill{width:100%;flex:0 0 auto;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--accent-gradient);transition:height var(--transition-slow);min-height:4px;position:relative}.bar-fill:hover{box-shadow:var(--shadow-glow)}.bar-value{font-size:var(--font-xs);color:var(--text-muted);font-weight:600}.bar-label{font-size:var(--font-xs);color:var(--text-muted)}.table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-bar{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;align-items:center;width:100%}.search-input-wrapper{position:relative;flex:1;min-width:200px}.search-input-wrapper .search-icon{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-input-wrapper .form-input{padding-left:40px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--space-lg);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,var(--accent-primary-glow) 0%,transparent 70%);top:-200px;right:-200px;pointer-events:none}.login-page:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(139,92,246,.15) 0%,transparent 70%);bottom:-150px;left:-150px;pointer-events:none}.login-card{width:100%;max-width:420px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-2xl);position:relative;z-index:1;box-shadow:var(--shadow-lg)}.login-card .brand-header{text-align:center;margin-bottom:var(--space-xl)}.login-card .brand-header .logo{width:56px;height:56px;margin:0 auto var(--space-md);background:var(--accent-gradient);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--font-2xl);font-weight:800;color:#fff;overflow:hidden}.login-card .brand-header .logo img{width:100%;height:100%;object-fit:cover}.login-card .brand-header h1{font-size:var(--font-xl);font-weight:700;margin-bottom:var(--space-xs)}.login-card .brand-header p{color:var(--text-muted);font-size:var(--font-sm)}.login-card .form-input{padding:var(--space-md)}.login-card .btn-primary{width:100%;padding:var(--space-md);font-size:var(--font-base);margin-top:var(--space-sm)}.login-card .login-footer{text-align:center;margin-top:var(--space-lg)}.login-card .login-footer a{font-size:var(--font-sm);color:var(--accent-primary)}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.empty-state .empty-icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.empty-state h3{font-size:var(--font-lg);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm)}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl)}.spinner{width:32px;height:32px;border:3px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-lg)}.pagination .btn{min-width:36px;height:36px;padding:0}.pagination .page-info{font-size:var(--font-sm);color:var(--text-muted);padding:0 var(--space-md)}.file-upload{border:2px dashed var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;transition:all var(--transition-fast);cursor:pointer}.file-upload:hover,.file-upload.dragover{border-color:var(--accent-primary);background:var(--accent-primary-glow)}.file-upload .upload-icon{font-size:2rem;color:var(--text-muted);margin-bottom:var(--space-sm)}.file-upload p{font-size:var(--font-sm);color:var(--text-muted)}.file-upload .file-name{font-size:var(--font-sm);color:var(--accent-primary-hover);margin-top:var(--space-sm);font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.portal-tabs{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap}.portal-tab-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-sm);font-weight:600;cursor:pointer;border:1px solid var(--border-primary);background:var(--bg-glass);color:var(--text-secondary);transition:all var(--transition-fast);white-space:nowrap;line-height:1.5;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.portal-tab-btn:hover{background:var(--bg-glass-hover);border-color:var(--border-hover);color:var(--text-primary)}.portal-tab-btn.active{background:var(--accent-gradient);color:#fff;border-color:transparent;box-shadow:var(--shadow-glow)}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-area{margin-left:0}.topbar{left:0}.topbar-right{margin-left:auto;justify-content:flex-end;min-width:0;flex:1}.topbar-date{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-xs)!important}.brand-full,.date-full{display:none}.brand-short,.date-short{display:inline}.mobile-toggle,.topbar-brand{display:flex}.page-content{padding:var(--space-md);padding-top:calc(var(--topbar-height) + var(--space-md))}.stats-grid{grid-template-columns:1fr;gap:var(--space-sm)}.form-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;gap:var(--space-sm)}.filter-bar .form-select,.filter-bar .form-input,.filter-bar .btn{width:100%!important;min-width:0!important}.search-input-wrapper{min-width:100%}.page-header{flex-direction:column!important;align-items:flex-start!important}.page-header h1{font-size:var(--font-2xl)}.page-header .btn{width:100%}div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}.modal-content{max-width:100%;margin:var(--space-sm);max-height:95vh}.modal-overlay{padding:var(--space-sm)}.mobile-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;width:100%}.data-table{min-width:600px}.data-table thead th,.data-table tbody td{padding:var(--space-sm) var(--space-md);font-size:var(--font-xs)}.card{padding:var(--space-md);max-width:100%!important}.toast-container{left:var(--space-sm);right:var(--space-sm);top:var(--space-sm)}.toast{min-width:0;max-width:100%}.btn-group,.pagination,div[style*="display: flex"][style*="gap: var(--space-sm)"]{flex-wrap:wrap}div[style*=gridTemplateColumns]{grid-template-columns:1fr!important}.bar-chart{gap:var(--space-sm);height:140px}.bar-track{height:90px}.bar-value{font-size:.6rem}}@media (max-width: 480px){.stat-card{padding:var(--space-md)}.stat-value{font-size:var(--font-xl)}.stat-icon{width:40px;height:40px;font-size:1.2rem}.page-content{padding:var(--space-sm);padding-top:calc(var(--topbar-height) + var(--space-sm))}.page-header h1{font-size:var(--font-xl)}.page-header p{font-size:var(--font-xs)}.login-card{padding:var(--space-lg)}.btn-lg{padding:var(--space-sm) var(--space-md);font-size:var(--font-sm)}.topbar{padding:0 var(--space-md)}.sidebar-brand{padding:var(--space-md)}.sidebar-brand .brand-name{font-size:var(--font-xs)}}
