@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap");:root{--vio-primary:#7c3aed;--vio-primary-dark:#5b21b6;--vio-primary-light:#a78bfa;--vio-accent:#06b6d4;--vio-accent-dark:#0891b2;--vio-gold:#f59e0b;--vio-gold-dark:#d97706;--vio-diamond:#06b6d4;--vio-success:#10b981;--vio-danger:#ef4444;--vio-warning:#f59e0b;--bg-base:#0a0a0f;--bg-surface:#12121a;--bg-elevated:#1a1a26;--bg-card:#1e1e2e;--bg-card-hover:#252538;--bg-border:#2a2a3e;--bg-muted:#16161f;--text-primary:#f1f0ff;--text-secondary:#a9a8c4;--text-muted:#6b6a88;--text-inverse:#0a0a0f;--gradient-brand:linear-gradient(135deg,#7c3aed,#06b6d4);--gradient-gold:linear-gradient(135deg,#f59e0b,#f97316);--gradient-diamond:linear-gradient(135deg,#06b6d4,#a78bfa);--gradient-surface:linear-gradient(180deg,#1a1a26,#12121a);--gradient-hero:radial-gradient(ellipse at 50% 0%,rgba(124,58,237,.15) 0%,transparent 70%);--glow-primary:0 0 40px rgba(124,58,237,.3);--glow-accent:0 0 40px rgba(6,182,212,.3);--glow-gold:0 0 30px rgba(245,158,11,.25);--shadow-sm:0 1px 3px rgba(0,0,0,.4);--shadow-md:0 4px 16px rgba(0,0,0,.5);--shadow-lg:0 8px 32px rgba(0,0,0,.6);--shadow-card:0 4px 24px rgba(0,0,0,.4),0 0 0 1px hsla(0,0%,100%,.04);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--font-sans:"Inter",system-ui,sans-serif;--font-display:"Space Grotesk",system-ui,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--bg-base);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--bg-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:clamp(1.25rem,2vw,1.5rem)}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{color:var(--text-secondary)}a{color:var(--vio-primary-light);text-decoration:none}a:hover{color:var(--vio-primary)}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.gradient-text{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text}.gradient-text,.gradient-text-gold{-webkit-text-fill-color:transparent}.gradient-text-gold{background:var(--gradient-gold);-webkit-background-clip:text;background-clip:text}.glass{background:hsla(0,0%,100%,.04);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.08)}.glow-primary{box-shadow:var(--glow-primary)}.glow-accent{box-shadow:var(--glow-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.875rem;font-weight:600;line-height:1;cursor:pointer;border:none;transition:all var(--transition-base);white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:0 4px 16px rgba(124,58,237,.4)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px rgba(124,58,237,.6)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--bg-border)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--vio-primary);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-card);color:var(--text-primary)}.btn-danger{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover:not(:disabled){background:rgba(239,68,68,.25);transform:translateY(-1px)}.btn-gold{background:var(--gradient-gold);color:#0a0a0f;box-shadow:var(--glow-gold)}.btn-gold:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px rgba(245,158,11,.5)}.btn-sm{padding:.4rem .875rem;font-size:.8125rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn-lg,.btn-xl{border-radius:var(--radius-lg)}.btn-xl{padding:1.125rem 2.25rem;font-size:1.0625rem}.btn-full{width:100%}.btn-icon{padding:.625rem;width:2.5rem;height:2.5rem}.card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card);transition:all var(--transition-base)}.card:hover{border-color:rgba(124,58,237,.3)}.card-elevated{background:var(--bg-elevated);border:1px solid var(--bg-border);border-radius:var(--radius-xl);padding:2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-input{background:var(--bg-surface);border:1px solid var(--bg-border);border-radius:var(--radius-md);padding:.75rem 1rem;font-family:var(--font-sans);font-size:.9375rem;color:var(--text-primary);transition:all var(--transition-fast);width:100%;outline:none}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--vio-primary);box-shadow:0 0 0 3px rgba(124,58,237,.15)}.form-input:invalid:not(:placeholder-shown){border-color:var(--vio-danger)}textarea.form-input{resize:vertical;min-height:100px}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.badge-free{background:hsla(220,9%,46%,.2);color:#9ca3af;border:1px solid hsla(220,9%,46%,.3)}.badge-gold{background:rgba(245,158,11,.15);color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.badge-diamond{background:rgba(6,182,212,.15);color:#06b6d4;border:1px solid rgba(6,182,212,.3)}.badge-success{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.3)}.badge-danger{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.badge-warning{background:rgba(245,158,11,.15);color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.badge-purple{background:rgba(124,58,237,.15);color:#a78bfa;border:1px solid rgba(124,58,237,.3)}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--bg-border)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{background:var(--bg-elevated);color:var(--text-muted);font-weight:600;text-align:left;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--bg-border)}.table td,.table th{padding:.875rem 1rem}.table td{color:var(--text-secondary);border-bottom:1px solid rgba(42,42,62,.5);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:rgba(124,58,237,.04)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(124,58,237,.3)}50%{box-shadow:0 0 40px rgba(124,58,237,.6)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-fade-in-left{animation:fadeInLeft .4s ease forwards}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-spin{animation:spin .7s linear infinite}.animate-float{animation:float 3s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-elevated) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:fadeIn .25s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bg-border)}.modal-body,.modal-header{padding:1.5rem}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 1.5rem;border-top:1px solid var(--bg-border)}.stat-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:all var(--transition-base);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-brand);opacity:0;transition:opacity var(--transition-base)}.stat-card:hover:before{opacity:1}.stat-card:hover{border-color:rgba(124,58,237,.3);transform:translateY(-2px)}.stat-label{font-size:.8125rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-family:var(--font-display);font-size:1.875rem;font-weight:700;color:var(--text-primary)}.stat-change{font-size:.8125rem;color:var(--vio-success);display:flex;align-items:center;gap:.25rem}.stat-change.negative{color:var(--vio-danger)}.layout-dashboard{display:flex;min-height:100vh}.sidebar{width:260px;min-width:260px;background:var(--bg-surface);border-right:1px solid var(--bg-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;transition:transform var(--transition-base)}.sidebar-logo{padding:1.5rem;border-bottom:1px solid var(--bg-border);display:flex;align-items:center;gap:.75rem}.sidebar-logo-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--font-display);color:#fff;font-size:1.125rem;box-shadow:var(--glow-primary)}.sidebar-logo-text{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--text-primary)}.sidebar-nav{padding:1rem .75rem;flex:1 1;overflow-y:auto}.sidebar-section-label{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:.5rem .75rem;margin-top:.5rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:all var(--transition-fast);cursor:pointer;text-decoration:none;margin-bottom:.125rem}.sidebar-link:hover{background:var(--bg-card);color:var(--text-primary)}.sidebar-link.active{background:rgba(124,58,237,.15);color:var(--vio-primary-light);border:1px solid rgba(124,58,237,.2)}.sidebar-link .icon{width:18px;height:18px;flex-shrink:0}.sidebar-footer{padding:1rem .75rem;border-top:1px solid var(--bg-border)}.main-content{flex:1 1;margin-left:260px;min-height:100vh;background:var(--bg-base)}.page-header{padding:1.5rem 2rem;border-bottom:1px solid var(--bg-border);background:var(--bg-surface);display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-header h1{font-size:1.375rem}.page-body{padding:2rem}.alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem}.alert-info{background:rgba(124,58,237,.1);border:1px solid rgba(124,58,237,.3);color:var(--vio-primary-light)}.alert-success{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#10b981}.alert-warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#f59e0b}.alert-danger{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444}.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;inset:0;background:var(--bg-border);border-radius:var(--radius-full)}.toggle-slider,.toggle-slider:before{position:absolute;transition:var(--transition-base)}.toggle-slider:before{content:"";width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%}.toggle input:checked+.toggle-slider{background:var(--vio-primary)}.toggle input:checked+.toggle-slider:before{transform:translateX(20px)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.online{background:var(--vio-success);box-shadow:0 0 6px var(--vio-success)}.status-dot.offline{background:var(--vio-danger)}.status-dot.pending{background:var(--vio-warning)}@media (max-width:1024px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0}}@media (max-width:640px){.card,.page-body,.page-header{padding:1rem}}.catalog-page{background:var(--bg-base);min-height:100vh}.product-card-btn{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--radius-lg);padding:0;overflow:hidden;cursor:pointer;transition:all var(--transition-base);text-decoration:none;color:unset}.product-card-btn:hover{border-color:var(--vio-primary);transform:translateX(4px);box-shadow:-4px 0 20px rgba(124,58,237,.2)}.cart-drawer{position:fixed;right:0;top:0;bottom:0;width:360px;max-width:100vw;background:var(--bg-surface);border-left:1px solid var(--bg-border);z-index:200;display:flex;flex-direction:column;transform:translateX(100%);transition:transform var(--transition-base);box-shadow:var(--shadow-lg)}.cart-drawer.open{transform:translateX(0)}@media (max-width:640px){.cart-drawer{right:0;top:auto;bottom:0;width:100vw;height:85vh;border-left:none;border-top:1px solid var(--bg-border);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);transform:translateY(100%)}.cart-drawer.open{transform:translateY(0)}}