:root{--bg-app: #0a0a1a;--bg-app-secondary: #0d1025;--surface-1: rgba(15, 23, 42, .8);--surface-2: rgba(20, 30, 50, .6);--surface-3: rgba(30, 41, 59, .5);--surface-hover: rgba(51, 65, 85, .4);--surface-active: rgba(59, 130, 246, .15);--glass-bg: rgba(15, 23, 42, .75);--glass-bg-light: rgba(30, 41, 59, .5);--glass-border: rgba(255, 255, 255, .08);--glass-border-light: rgba(255, 255, 255, .12);--border-1: rgba(255, 255, 255, .06);--border-2: rgba(255, 255, 255, .1);--border-3: rgba(255, 255, 255, .15);--border-focus: rgba(59, 130, 246, .5);--text-1: #f1f5f9;--text-2: #cbd5e1;--text-3: #94a3b8;--text-muted: #64748b;--text-placeholder: #475569;--accent-primary: #3b82f6;--accent-primary-hover: #2563eb;--accent-success: #10b981;--accent-success-hover: #059669;--accent-warning: #f59e0b;--accent-danger: #ef4444;--accent-info: #06b6d4;--table-header-bg: rgba(30, 41, 59, .8);--table-row-bg: transparent;--table-row-alt-bg: rgba(15, 23, 42, .3);--table-row-hover: rgba(59, 130, 246, .1);--table-border: rgba(255, 255, 255, .06);--input-bg: rgba(15, 23, 42, .6);--input-border: rgba(255, 255, 255, .1);--input-border-hover: rgba(255, 255, 255, .2);--input-border-focus: rgba(59, 130, 246, .5);--input-text: #f1f5f9;--input-placeholder: #64748b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-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:var(--bg-app);color:var(--text-1);min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#1a1a2e;border-radius:10px}::-webkit-scrollbar-thumb{background:#334155;border-radius:10px;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:#475569}.dark-card{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--shadow-lg)}.dark-card-inner{background:var(--surface-2);border:1px solid var(--border-1);border-radius:12px}.dark-table{width:100%;border-collapse:separate;border-spacing:0}.dark-table thead{background:var(--table-header-bg)}.dark-table thead th{color:var(--text-2);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;text-align:left;border-bottom:1px solid var(--table-border)}.dark-table tbody tr{background:var(--table-row-bg);transition:background-color .15s ease}.dark-table tbody tr:nth-child(2n){background:var(--table-row-alt-bg)}.dark-table tbody tr:hover{background:var(--table-row-hover)}.dark-table tbody td{color:var(--text-1);padding:12px 16px;border-bottom:1px solid var(--table-border);font-size:.875rem}.dark-input,.dark-select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;color:var(--input-text);padding:10px 14px;font-size:.875rem;transition:all .2s ease;width:100%}.dark-input::placeholder{color:var(--input-placeholder)}.dark-input:hover,.dark-select:hover{border-color:var(--input-border-hover)}.dark-input:focus,.dark-select:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 3px #3b82f61a}.dark-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:10px;font-weight:500;font-size:.875rem;transition:all .2s ease;cursor:pointer;border:none}.dark-btn-primary{background:var(--accent-primary);color:#fff}.dark-btn-primary:hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-glow)}.dark-btn-success{background:var(--accent-success);color:#fff}.dark-btn-success:hover{background:var(--accent-success-hover)}.dark-btn-secondary{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border-2)}.dark-btn-secondary:hover{background:var(--surface-hover);color:var(--text-1)}.dark-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:var(--surface-2);border:1px dashed var(--border-2);border-radius:12px;color:var(--text-muted)}.dark-empty-state svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.dark-empty-state p{font-size:.875rem;font-weight:500}.dark-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500;background:var(--surface-3);color:var(--text-2);border:1px solid var(--border-1)}.dark-toggle-group{display:inline-flex;background:var(--surface-2);border:1px solid var(--border-1);border-radius:10px;padding:4px}.dark-toggle-item{padding:8px 16px;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .2s ease}.dark-toggle-item:hover{color:var(--text-2)}.dark-toggle-item.active{background:var(--surface-1);color:var(--text-1);box-shadow:var(--shadow-sm)}.dark-dropdown{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border-light);border-radius:12px;box-shadow:var(--shadow-xl);overflow:hidden}.dark-dropdown-item{padding:10px 16px;color:var(--text-2);font-size:.875rem;cursor:pointer;transition:all .15s ease}.dark-dropdown-item:hover{background:var(--surface-hover);color:var(--text-1)}.dark-dropdown-item.selected{background:var(--surface-active);color:var(--accent-primary)}.dark-modal-overlay{background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dark-modal{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--shadow-xl)}.dark-section-header{color:var(--text-1);font-weight:700;font-size:1.25rem;margin-bottom:4px}.dark-section-subtitle{color:var(--text-muted);font-size:.875rem}.no-print{display:block}@media print{.no-print{display:none!important}}.admin-panel{padding:20px;max-width:1400px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-header h1{font-size:28px;color:#2c3e50;margin:0}.btn-add-user{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #667eea40}.btn-add-user:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea59}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.alert-error{background:#fee;color:#c33;border:1px solid #fcc}.alert-success{background:#efe;color:#3c3;border:1px solid #cfc}.users-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.users-table table{width:100%;border-collapse:collapse}.users-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px;text-align:left;font-weight:600;font-size:14px}.users-table td{padding:16px;border-bottom:1px solid #eee;font-size:14px}.users-table tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background:#f8f9fa}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.role-badge.admin{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.role-badge.user{background:#e3f2fd;color:#1976d2}.module-permissions{display:flex;flex-wrap:wrap;gap:6px}.perm-badge{display:inline-block;padding:4px 8px;background:#e8f5e9;color:#2e7d32;border-radius:6px;font-size:11px;font-weight:500}.action-buttons{display:flex;gap:8px}.btn-edit,.btn-reset,.btn-delete{padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-edit{background:#2196f3;color:#fff}.btn-edit:hover{background:#1976d2}.btn-reset{background:#ff9800;color:#fff}.btn-reset:hover{background:#f57c00}.btn-delete{background:#f44336;color:#fff}.btn-delete:hover{background:#d32f2f}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;padding:32px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-content h2{margin:0 0 24px;color:#2c3e50;font-size:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:600;font-size:14px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.form-group small{display:block;margin-top:4px;color:#666;font-size:12px}.checkbox-group{display:flex;flex-direction:column;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px}.checkbox-group label{display:flex;align-items:center;gap:8px;margin:0;font-weight:500;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px}.btn-cancel,.btn-submit{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#e0e0e0;color:#666}.btn-cancel:hover{background:#d0d0d0}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 6px #667eea40}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea59}.access-denied{background:#fff;border-radius:16px;padding:48px;text-align:center;box-shadow:0 4px 12px #0000001a;max-width:500px;margin:100px auto}.access-denied h2{color:#f44336;margin:0 0 16px}.access-denied p{color:#666;margin:0}.loading{text-align:center;padding:100px;font-size:18px;color:#666}
