@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0c10;--surface:#111318;--surface2:#1a1d24;--surface3:#22262f;--border:#2a2f3a;--border-light:#363b48;--text-primary:#f0f2f5;--text-secondary:#8b92a5;--text-muted:#555c6e;--brand:#00d4ff;--brand-dim:#00d4ff1f;--brand-purple:#7b61ff;--brand-orange:#ff6b35;--success:#22c55e;--success-dim:#22c55e1f;--danger:#ef4444;--danger-dim:#ef44441f;--warning:#f59e0b;--warning-dim:#f59e0b1f;--radius:10px;--radius-lg:16px;--shadow:0 4px 24px #0006;--sidebar-w:260px}html,body{background:var(--bg);height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif}.app-layout{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-w);flex:1;max-width:100%;padding:2rem;overflow-x:hidden}@media (max-width:768px){.main-content{margin-left:0;padding:1rem}}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-logo{border-bottom:1px solid var(--border);padding:1.5rem 1.25rem}.logo-badge{align-items:center;gap:.75rem;display:flex}.logo-icon{background:linear-gradient(135deg, var(--brand), var(--brand-purple));color:#000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:800;display:flex}.logo-text{color:var(--text-primary);font-size:.95rem;font-weight:700}.logo-sub{color:var(--brand);text-transform:uppercase;letter-spacing:.08em;margin-top:1px;font-size:.65rem;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:1rem .75rem;display:flex}.nav-section{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:.75rem .5rem .25rem;font-size:.65rem;font-weight:700}.nav-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.625rem;width:100%;padding:.6rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{background:var(--surface2);color:var(--text-primary)}.nav-item.active{background:var(--brand-dim);color:var(--brand)}.nav-item svg{flex-shrink:0}.sidebar-footer{border-top:1px solid var(--border);padding:1rem 1.25rem}.user-chip{align-items:center;gap:.625rem;display:flex}.user-avatar{background:linear-gradient(135deg, var(--brand), var(--brand-purple));color:#000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.user-name{color:var(--text-primary);font-size:.8rem;font-weight:600}.user-role{color:var(--brand);font-size:.7rem;font-weight:500}.logout-btn{border:1px solid var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;margin-top:.75rem;padding:.5rem;font-size:.8rem;transition:all .15s}.logout-btn:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-dim)}.page-header{margin-bottom:1.75rem}.page-title{color:var(--text-primary);font-size:1.5rem;font-weight:800}.page-sub{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem}.page-actions{align-items:center;gap:.75rem;display:flex}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.card-sm{padding:1rem}.card-hover{cursor:pointer;transition:border-color .15s,box-shadow .15s}.card-hover:hover{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand-dim)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.75rem;font-weight:600}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:800;line-height:1}.stat-trend{color:var(--text-secondary);font-size:.75rem}.stat-icon{border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:.25rem;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--brand);color:#000}.btn-primary:hover{background:#22dcff;box-shadow:0 0 20px #00d4ff4d}.btn-secondary{background:var(--surface2);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--border-light);background:var(--surface3)}.btn-danger{background:var(--danger-dim);color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #0000}.btn-ghost:hover{background:var(--surface2);color:var(--text-primary);border-color:var(--border)}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.btn-icon{border-radius:8px;padding:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.table-wrap{border-radius:var(--radius-lg);border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--surface2);border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.75rem;font-weight:700}td{color:var(--text-primary);border-bottom:1px solid var(--border);padding:.875rem 1rem;font-size:.875rem}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface2)}.td-actions{align-items:center;gap:.5rem;display:flex}.badge{border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-green{background:var(--success-dim);color:var(--success)}.badge-red{background:var(--danger-dim);color:var(--danger)}.badge-blue{background:var(--brand-dim);color:var(--brand)}.badge-purple{color:var(--brand-purple);background:#7b61ff26}.badge-orange{color:var(--brand-orange);background:#ff6b3526}.badge-gray{background:var(--surface3);color:var(--text-secondary)}.form-grid{gap:1rem;display:grid}.form-grid-2{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:1fr 1fr 1fr}@media (max-width:640px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:.375rem;display:flex}label{color:var(--text-secondary);font-size:.8rem;font-weight:600}input,select,textarea{border:1px solid var(--border);background:var(--surface2);color:var(--text-primary);border-radius:8px;width:100%;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim);outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}select option{background:var(--surface2)}textarea{resize:vertical;min-height:80px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow);overflow-y:auto}.modal-lg{max-width:720px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{font-size:1rem;font-weight:700}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem}.modal-close:hover{color:var(--text-primary);background:var(--surface2)}.toggle-wrap{flex-direction:column;gap:.75rem;display:flex}.toggle-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.toggle-info{flex-direction:column;gap:.125rem;display:flex}.toggle-name{font-size:.875rem;font-weight:600}.toggle-desc{color:var(--text-muted);font-size:.75rem}.toggle{width:44px;height:24px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:var(--surface3);border:1px solid var(--border);border-radius:999px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--text-muted);border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;bottom:2px;left:2px}.toggle input:checked+.toggle-slider{background:var(--brand);border-color:var(--brand)}.toggle input:checked+.toggle-slider:before{background:#000;transform:translate(20px)}.color-field{align-items:center;gap:.5rem;display:flex}.color-field input[type=color]{cursor:pointer;border-radius:6px;flex-shrink:0;width:36px;height:36px;padding:2px}.color-field input[type=text]{flex:1}.logo-upload{border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;padding:2rem;transition:all .15s}.logo-upload:hover{border-color:var(--brand);background:var(--brand-dim)}.logo-preview{object-fit:contain;background:var(--surface2);border-radius:8px;width:80px;height:80px}.breadcrumb{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.8rem;display:flex}.breadcrumb a{color:var(--text-secondary);text-decoration:none}.breadcrumb a:hover{color:var(--brand)}.breadcrumb-sep{color:var(--text-muted)}.login-bg{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative;overflow:hidden}.login-bg:before{content:"";background:radial-gradient(circle,#00d4ff0f 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-200px}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow);padding:2.5rem}.login-logo{text-align:center;margin-bottom:2rem}.login-title{font-size:1.5rem;font-weight:800}.login-sub{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem}.login-brand{color:var(--brand);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700}.divider{background:var(--border);height:1px;margin:1.5rem 0}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 2rem}.empty-state svg{opacity:.3;margin-bottom:1rem}.empty-state p{font-size:.875rem}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem;font-size:.875rem;font-weight:700}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-brand{color:var(--brand)}.w-full{width:100%}.branding-preview{border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.preview-sidebar{background:#111318;border-right:1px solid #2a2f3a;width:180px;min-height:200px;padding:1rem}.preview-logo{margin-bottom:1rem;font-size:.8rem;font-weight:800}.preview-nav-item{color:#8b92a5;border-radius:6px;margin-bottom:2px;padding:.4rem .5rem;font-size:.75rem}.preview-active{color:var(--preview-brand,#00d4ff);background:#00d4ff1f}
