.app-container{display:flex;height:100vh;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;margin-left:var(--sidebar-collapsed-width);transition:margin-left .3s ease}.main-content.sidebar-open{margin-left:var(--sidebar-width)}.content-wrapper{flex:1;overflow-y:auto;padding:24px;max-width:1200px}.sidebar{position:fixed;left:0;top:0;height:100vh;width:var(--sidebar-collapsed-width);background:var(--bg-primary);border-right:1px solid var(--border-color);transition:width .3s ease,transform .3s ease;overflow:hidden;z-index:1000;display:flex;flex-direction:column}.sidebar.open{width:var(--sidebar-width)}.sidebar-header{padding:12px 16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.sidebar-close-btn{display:none;background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:4px;transition:var(--transition)}.sidebar-close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.sidebar-backdrop{display:none}.sidebar-logo h2{font-size:18px;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.logo-subtitle{display:block;font-size:12px;color:var(--text-muted);margin-top:5px}.sidebar-nav{padding:8px 0;overflow-y:auto;flex:1}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;height:36px;color:var(--text-secondary);text-decoration:none;transition:var(--transition);white-space:nowrap;font-size:13px}.nav-item:hover{background-color:var(--bg-secondary);color:#667eea}.nav-item.active{background:var(--primary-gradient);color:#fff}.nav-icon{font-size:16px;min-width:16px}.app-header{height:var(--header-height);background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.menu-toggle{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-primary);padding:6px}.header-right{display:flex;align-items:center;gap:12px}.icon-button{position:relative;background:none;border:none;font-size:16px;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:50%;transition:var(--transition)}.icon-button:hover{background-color:var(--bg-secondary);color:#667eea}.notification-badge{position:absolute;top:5px;right:5px;background:#ef4444;color:#fff;font-size:10px;padding:2px 5px;border-radius:10px;min-width:18px;text-align:center}.notification-wrapper,.user-menu-wrapper{position:relative}.user-menu-button{display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;padding:5px;border-radius:8px;transition:var(--transition)}.user-menu-button:hover{background-color:var(--bg-secondary)}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px}.user-avatar.large{width:48px;height:48px;font-size:20px}.user-info{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.user-name{font-weight:600;color:var(--text-primary)}.user-role{font-size:12px;color:var(--text-muted)}.notifications-dropdown,.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:320px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000}.user-dropdown{width:280px}.dropdown-header{padding:10px 12px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.dropdown-header h3{font-size:14px;margin:0}.user-details{display:flex;flex-direction:column;gap:5px;margin-left:15px}.user-details strong{font-size:14px}.user-details span{font-size:12px;color:var(--text-muted)}.notifications-list{max-height:300px;overflow-y:auto}.notification-item{padding:10px 12px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:var(--transition)}.notification-item:hover{background-color:var(--bg-secondary)}.notification-item.unread{background-color:#667eea0d}.notification-item p{margin:0 0 4px;font-size:13px}.notification-time{font-size:12px;color:var(--text-muted)}.dropdown-menu{padding:8px 0}.dropdown-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 14px;background:none;border:none;text-align:left;cursor:pointer;font-size:13px;color:var(--text-primary);transition:var(--transition)}.dropdown-item:hover{background-color:var(--bg-secondary)}.dropdown-divider{height:1px;background-color:var(--border-color);margin:8px 0}.dropdown-footer{padding:10px;border-top:1px solid var(--border-color);text-align:center}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header h1{font-size:20px;font-weight:700;color:var(--text-primary)}.header-actions{display:flex;gap:10px}.filters-section{display:flex;gap:10px;margin-bottom:16px}.search-box{flex:1;position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:10px;color:var(--text-muted);font-size:14px}.search-box input{padding-left:32px}.filter-group{display:flex;align-items:center;gap:10px}.filter-group select{min-width:160px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--primary-gradient)}.login-container{width:100%;max-width:400px;padding:20px}.login-card{background:var(--bg-primary);padding:32px;border-radius:8px;box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:20px}.login-header h1{font-size:24px;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}.login-header p{color:var(--text-muted)}.login-form{margin-bottom:20px}.login-footer{text-align:center;color:var(--text-muted);font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.stat-card{background:var(--bg-primary);padding:16px;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;display:flex;gap:12px;min-height:80px}.stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}.stat-content{flex:1}.stat-content h3{font-size:12px;color:#6b7280;margin-bottom:4px}.stat-number{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.stat-change{font-size:12px}.stat-change.positive{color:#22c55e}.stat-change.negative{color:#ef4444}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:20px}.chart-card{background:var(--bg-primary);padding:16px;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d}.chart-card h2{font-size:14px;margin-bottom:12px}.activity-section{background:var(--bg-primary);padding:16px;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d}.activity-section h2{font-size:14px;margin-bottom:12px}.activity-list{display:flex;flex-direction:column;gap:8px}.activity-item{display:flex;gap:10px;padding:10px;background:var(--bg-secondary);border-radius:6px}.activity-icon{width:32px;height:32px;border-radius:50%;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px}.activity-content{flex:1}.activity-text{margin:0 0 5px;color:var(--text-primary)}.activity-time{font-size:12px;color:var(--text-muted)}.data-table-container{background:var(--bg-primary);border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;overflow:hidden}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background-color:var(--bg-secondary)}.data-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;height:40px}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{background-color:var(--border-color)}.th-content{display:flex;align-items:center;gap:8px}.sort-icon{font-size:14px}.data-table td{padding:8px 12px;border-top:1px solid var(--border-color);color:var(--text-primary);font-size:13px;height:40px}.data-table tbody tr:hover{background-color:var(--bg-secondary)}.table-loading,.table-empty{padding:40px 16px;text-align:center;color:var(--text-muted);font-size:13px}.table-pagination{padding:10px 12px;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.pagination-info{color:var(--text-secondary);font-size:12px}.pagination-controls{display:flex;align-items:center;gap:10px}.items-per-page{padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px}.pagination-buttons{display:flex;gap:4px}.btn-pagination{padding:4px 8px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:4px;cursor:pointer;font-size:12px;transition:var(--transition)}.btn-pagination:hover:not(:disabled){background:var(--primary-gradient);color:#fff;border-color:transparent}.btn-pagination.active{background:var(--primary-gradient);color:#fff;border-color:transparent}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal{background:var(--bg-primary);border-radius:8px;max-width:800px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:14px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:16px;margin:0}.modal-body{padding:20px;overflow-y:auto}.score-breakdown{margin-bottom:20px}.score-breakdown h3{font-size:14px;margin-bottom:10px}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.breakdown-item{padding:10px;background:var(--bg-secondary);border-radius:6px;display:flex;flex-direction:column;gap:4px}.breakdown-item span{font-size:11px;color:var(--text-muted)}.breakdown-item strong{font-size:16px;color:var(--text-primary)}.score-badge{display:inline-block;padding:2px 8px;border-radius:4px;color:#fff;font-weight:600;font-size:12px}.score-history h3{font-size:16px;margin-bottom:15px}.settings-container{display:grid;grid-template-columns:200px 1fr;gap:20px}.settings-sidebar{display:flex;flex-direction:column;gap:5px}.settings-tab{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-primary);border:none;border-left:3px solid transparent;text-align:left;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:var(--transition);border-radius:6px}.settings-tab:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.settings-tab.active{background:var(--bg-secondary);border-left-color:#667eea;color:#667eea;font-weight:600}.settings-content{background:var(--bg-primary);padding:20px;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d}.settings-section h2{font-size:18px;margin-bottom:8px}.section-description{color:var(--text-muted);margin-bottom:16px;font-size:13px}.weights-grid{display:flex;flex-direction:column;gap:14px}.weight-item label{display:block;margin-bottom:6px;font-weight:600;font-size:13px}.weight-input{display:flex;align-items:center;gap:10px}.weight-input input[type=range]{flex:1}.weight-value{min-width:50px;font-weight:600;color:#667eea}.total-weight{padding:10px;background:var(--bg-secondary);border-radius:6px;text-align:center;font-size:14px;font-weight:600;margin-top:14px}.reports-container{display:grid;grid-template-columns:2fr 1fr;gap:20px}.export-config-card,.quick-reports-card{background:var(--bg-primary);padding:16px;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d}.export-config-card h2,.quick-reports-card h2{font-size:16px;margin-bottom:16px;display:flex;align-items:center;gap:8px}.form-actions{display:flex;gap:8px;margin-top:16px}.quick-report-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border-radius:6px;margin-bottom:8px}.report-info h3{font-size:13px;margin-bottom:2px}.report-info p{font-size:12px;color:var(--text-muted);margin:0}.glass-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:var(--transition)}.glass-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #1f268740}.stat-card{overflow:hidden;position:relative}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--primary-gradient)}.stat-number{font-size:28px;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;color:#fff}.badge-success{background:var(--success-gradient)}.badge-warning{background:var(--warning-gradient)}.badge-danger{background:var(--danger-gradient)}.badge-info{background:var(--accent-blue)}.data-table{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.data-table th{text-transform:uppercase;letter-spacing:.5px;font-size:11px;border-bottom:2px solid transparent;border-image:var(--primary-gradient) 1}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border-color)}.data-table tbody tr:hover{background-color:#667eea0a;transform:translate(2px)}.search-input{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:50px;padding:10px 20px;font-size:13px;color:var(--text-primary);transition:var(--transition);width:100%}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea26}.btn-primary{background:var(--primary-gradient);color:#fff;border:none;border-radius:50px;padding:10px 24px;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-primary:hover{transform:scale(1.02);box-shadow:0 4px 15px #667eea66}.btn-danger{background:var(--danger-gradient);color:#fff;border:none;border-radius:50px;padding:10px 24px;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-danger:hover{transform:scale(1.02);box-shadow:0 4px 15px #ef444466}.btn-ghost{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);border-radius:50px;padding:10px 24px;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-ghost:hover{transform:scale(1.02);background:var(--bg-secondary);box-shadow:var(--shadow)}.animate-fade-in{animation:fadeInUp .5s ease-out forwards}.chart-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:24px}.chart-card h2{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.activity-timeline{position:relative;padding-left:32px}.activity-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border-color)}.activity-timeline-item{position:relative;padding-bottom:24px;opacity:0;animation:fadeInUp .5s ease-out forwards}.activity-timeline-item:nth-child(1){animation-delay:.1s}.activity-timeline-item:nth-child(2){animation-delay:.2s}.activity-timeline-item:nth-child(3){animation-delay:.3s}.activity-timeline-item:nth-child(4){animation-delay:.4s}.activity-timeline-item:nth-child(5){animation-delay:.5s}.activity-timeline-item:nth-child(6){animation-delay:.6s}.activity-timeline-item:before{content:"";position:absolute;left:-28px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--primary-gradient);border:2px solid var(--bg-primary);box-shadow:0 0 0 2px #667eea}.content-wrapper{max-width:1440px}@media (max-width: 1024px){.reports-container,.settings-container,.charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.sidebar{transform:translate(-100%);width:260px!important;box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:4px 0 24px #0003}.sidebar-close-btn{display:flex;align-items:center;justify-content:center}.sidebar-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:999}.main-content,.main-content.sidebar-open{margin-left:0}.content-wrapper{padding:16px}.app-header{padding:0 12px}.stats-grid,.charts-grid{grid-template-columns:1fr}.filters-section{flex-direction:column}.filter-group{flex-wrap:wrap}.table-pagination{flex-direction:column;gap:8px;align-items:flex-start}.pagination-controls{flex-wrap:wrap;width:100%}.page-header{flex-direction:column;align-items:flex-start;gap:8px}.header-actions{width:100%;flex-wrap:wrap}.settings-container,.reports-container{grid-template-columns:1fr}.user-info{display:none}.form-row{grid-template-columns:1fr}}@media (max-width: 480px){.content-wrapper{padding:10px}.chart-card,.activity-section,.stat-card{padding:12px}.data-table th,.data-table td{padding:6px 8px;font-size:12px}.pagination-buttons{flex-wrap:wrap}.notifications-dropdown{width:280px;right:-40px}}:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--success-gradient: linear-gradient(135deg, #4ade80, #22c55e);--warning-gradient: linear-gradient(135deg, #fbbf24, #f59e0b);--danger-gradient: linear-gradient(135deg, #f87171, #ef4444);--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-dark: #1a1a1a;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--border-color: #e0e0e0;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .15);--sidebar-width: 240px;--sidebar-collapsed-width: 56px;--header-height: 48px;--transition: all .3s ease;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-shadow: 0 8px 32px rgba(31, 38, 135, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--accent-blue: linear-gradient(135deg, #667eea, #4facfe);--accent-pink: linear-gradient(135deg, #f093fb, #f5576c);--accent-green: linear-gradient(135deg, #4ade80, #06b6d4);--accent-amber: linear-gradient(135deg, #fbbf24, #fa709a)}@media (prefers-color-scheme: dark){:root{--bg-primary: #2d2d2d;--bg-secondary: #252525;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--border-color: #404040;--shadow: 0 2px 8px rgba(0, 0, 0, .3);--glass-bg: rgba(45, 45, 45, .7);--glass-border: rgba(255, 255, 255, .1)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);font-size:13px;line-height:1.5}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:20px}.spinner{width:32px;height:32px;border:3px solid rgba(102,126,234,.1);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none}.btn-primary{background:var(--primary-gradient);color:#fff}.btn-secondary{background:#6c757d;color:#fff}.btn-success{background:var(--success-gradient);color:#fff}.btn-warning{background:var(--warning-gradient);color:#fff}.btn-danger{background:var(--danger-gradient);color:#fff}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-sm{padding:6px 10px;font-size:12px}.btn-block{width:100%;justify-content:center}.btn-icon{padding:6px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:var(--transition);font-size:14px}.btn-text{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:5px 10px}.btn-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center}input,select,textarea{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;height:32px;background-color:var(--bg-primary);color:var(--text-primary);transition:var(--transition)}textarea{height:auto;min-height:60px}input:focus,select:focus,textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:4px;font-weight:600;font-size:13px;color:var(--text-primary)}.form-help{font-size:12px;color:var(--text-muted);margin-top:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:10px}.radio-group label,.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer}.radio-group input[type=radio],.checkbox-group input[type=checkbox]{width:auto}.status-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600}.status-pending{background-color:#fff9e6;color:#f59e0b}.status-approved{background-color:#e6f9ed;color:#22c55e}.status-rejected{background-color:#ffe6e6;color:#ef4444}.status-suspended{background-color:#f3f4f6;color:#6b7280}.icon-success{color:#22c55e}.icon-danger{color:#ef4444}.icon-warning{color:#f59e0b}.text-success{color:#22c55e}.text-danger{color:#ef4444}.text-warning{color:#f59e0b}.alert{padding:15px;border-radius:8px;margin-bottom:20px}.alert-error{background-color:#fee;color:#c00;border:1px solid #fcc}.alert-success{background-color:#efe;color:#0c0;border:1px solid #cfc}.action-buttons{display:flex;gap:5px}@media (max-width: 1200px){:root{--sidebar-width: 200px}}@media (max-width: 768px){:root{--sidebar-width: 0px;--sidebar-collapsed-width: 0px}}@media (max-width: 480px){body{font-size:14px}}
