:root{--primary:#ffbf00;--primary-hover:#e5ab00;--bg-light:#f9fafb;--card-bg:#fff;--text-main:#111827;--text-muted:#6b7280;--error:#dc2626;--success:#059669;--border-subtle:#e5e7eb;--accent-brown:#5d4037}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{background-color:var(--bg-light);color:var(--text-main);flex-direction:column;min-height:100vh;display:flex}#root{flex-direction:column;flex:1;width:100%;display:flex}.loading-screen{height:100vh;color:var(--primary);background-color:var(--bg-dark);justify-content:center;align-items:center;font-size:1.5rem;display:flex}.fade-in{animation:.5s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-container{background:radial-gradient(circle at top right, #fffde7, var(--bg-light));justify-content:center;align-items:center;min-height:100vh;display:flex}.login-glass-card{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:24px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{background:linear-gradient(90deg,#f59e0b,#ffbf00);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:800}.login-header p{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.9rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-main);font-size:.875rem;font-weight:500}.form-group input{border:1px solid var(--border-subtle);color:var(--text-main);background:#fff;border-radius:12px;outline:none;padding:.75rem 1rem;transition:all .2s}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ffbf001a}.error-message{color:var(--error);text-align:center;font-size:.875rem}.login-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:.75rem;font-weight:600;transition:background .2s}.login-button:hover{background:var(--primary-hover)}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-footer{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.login-footer p{color:var(--text-muted);font-size:.75rem}.env-badge{text-transform:uppercase;letter-spacing:.05em;color:#b45309;background:#fef3c7;border-radius:9999px;padding:.25rem .75rem;font-size:.7rem;font-weight:700}.sidebar{background:var(--card-bg);border-right:1px solid var(--border-subtle);flex-direction:column;width:260px;height:100vh;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;overflow-x:hidden}.sidebar.collapsed{width:70px}.sidebar-header{align-items:center;gap:1rem;min-height:80px;padding:1.5rem 1.25rem;display:flex}.hamburger-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:4px;min-width:36px;padding:8px;transition:background .2s;display:flex}.hamburger-btn:hover{background:var(--bg-light)}.bar{background-color:var(--text-main);border-radius:2px;width:20px;height:2px}.brand-name{color:var(--primary);white-space:nowrap;font-size:1.25rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1rem .75rem;display:flex}.nav-item{color:var(--text-muted);white-space:nowrap;border-radius:12px;align-items:center;gap:1rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{background:var(--bg-light);color:var(--text-main)}.nav-item.active{color:#856404;background:#fff9c4;font-weight:600}.nav-icon{justify-content:center;min-width:24px;font-size:1.25rem;display:flex}.sidebar-footer{border-top:1px solid var(--border-subtle);flex-direction:column;gap:1rem;padding:1.5rem .75rem;display:flex}.env-info{align-items:center;gap:.5rem;padding:0 1rem;font-size:.75rem;display:flex}.env-label{color:var(--text-muted)}.env-badge{color:#b45309;text-transform:uppercase;background:#fef3c7;border-radius:6px;padding:.2rem .5rem;font-weight:700}.logout-icon{min-width:24px;font-size:1.25rem}.admin-layout{background-color:var(--bg-light);min-height:100vh;display:flex}.layout-content{flex-direction:column;flex:1;min-width:0;display:flex}.top-header{border-bottom:1px solid var(--border-subtle);z-index:10;background:#fff;align-items:center;height:64px;padding:0 2rem;display:flex;position:sticky;top:0}.header-spacer{flex:1}.header-actions{position:relative}.settings-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;font-size:1.5rem;transition:background .2s;display:flex}.settings-toggle:hover{background:var(--bg-light);color:var(--text-main)}.settings-dropdown{border:1px solid var(--border-subtle);z-index:20;background:#fff;border-radius:12px;width:240px;margin-top:.5rem;padding:.5rem;position:absolute;top:100%;right:0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.dropdown-info{flex-direction:column;padding:.75rem 1rem;display:flex}.dropdown-info strong{color:var(--text-main);font-size:.9rem}.dropdown-info span{color:var(--text-muted);font-size:.75rem}.dropdown-divider{background:var(--border-subtle);height:1px;margin:.5rem 0}.dropdown-item{width:100%;color:var(--text-main);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:background .2s;display:flex}.dropdown-item:hover{background:var(--bg-light)}.dropdown-item.logout{color:#dc2626}.dropdown-item.logout:hover{background:#fef2f2}.item-icon{font-size:1.1rem}.admin-main{flex:1;padding:0}.dashboard-content{padding:2.5rem}.page-header h1{color:var(--text-main);margin-bottom:.5rem;font-size:2rem;font-weight:700}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.stat-card{border:1px solid var(--border-subtle);background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000000d}.stat-card h3{color:var(--text-muted);margin-bottom:1rem;font-size:.875rem}.stat-value{margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.stat-change{font-size:.75rem}.positive{color:var(--success)}.stat-indicator{border-radius:50%;width:12px;height:12px;margin-left:.5rem;display:inline-block}.online{background:var(--success);box-shadow:0 0 10px var(--success)}.placeholder-section{border:2px dashed var(--border-subtle);background:#fff;border-radius:24px;justify-content:center;align-items:center;padding:4rem;display:flex}.placeholder-card{text-align:center}.placeholder-card h2{color:var(--text-main);margin-bottom:1rem}.placeholder-card p{color:var(--text-muted)}.users-page{padding:2.5rem}.page-header{margin-bottom:2.5rem}.page-header h1{color:var(--text-main);margin:0;font-size:2rem;font-weight:700}.header-search{margin-top:1.5rem}.search-form{gap:.75rem;max-width:600px;display:flex}.search-input-wrapper{flex:1;align-items:center;display:flex;position:relative}.search-icon{color:var(--text-muted);font-size:.9rem;position:absolute;left:1rem}.search-input{border:1px solid var(--border-subtle);width:100%;color:var(--text-main);background:#fff;border-radius:12px;outline:none;padding:.75rem 1rem .75rem 2.5rem;font-size:.9rem;transition:all .2s}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ffbf001a}.clear-search{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;right:1rem}.search-btn{background:var(--primary);color:#000;cursor:pointer;border:none;border-radius:12px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.search-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.table-footer{border-top:1px solid var(--border-subtle);background:#f9fafb;justify-content:flex-end;padding:1rem 1.5rem;display:flex}.pagination-controls{align-items:center;gap:1rem;display:flex}.pag-btn{border:1px solid var(--border-subtle);color:var(--text-main);cursor:pointer;background:#fff;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.pag-btn:hover:not(:disabled){border-color:var(--primary);background:#fffde7}.pag-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--text-muted);text-align:center;min-width:60px;font-size:.85rem}.spinner{border:3px solid #ffbf001a;border-top:3px solid var(--primary);border-radius:50%;width:24px;height:24px;margin:0 auto 1rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.subtitle{color:var(--text-muted);font-size:.95rem}.table-card{border:1px solid var(--border-subtle);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);background:#f9fafb;padding:1rem 1.5rem;font-size:.75rem;font-weight:600}.admin-table td{color:var(--text-main);border-bottom:1px solid var(--border-subtle);padding:1rem 1.5rem;font-size:.9rem}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover{background:#fdfdfd}.uid-cell{color:var(--text-muted);white-space:nowrap;font-family:monospace;font-size:.8rem}.status-badge{border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.status-badge.active{color:#2e7d32;background:#e8f5e9}.table-loader,.error-card,.no-data{text-align:center;color:var(--text-muted);padding:4rem}.error-card{color:#dc2626;background:#fef2f2;border:1px solid #fee2e2;border-radius:12px}.subscriptions-page{max-width:1400px;margin:0 auto;padding:3rem 4rem}.page-header{flex-direction:column;gap:1rem;margin-bottom:3.5rem;display:flex}.header-main{justify-content:space-between;align-items:flex-end;display:flex}.page-header h1{color:var(--text-main);letter-spacing:-.02em;font-size:2.5rem;font-weight:900}.add-tier-btn{background:var(--primary);color:#000;cursor:pointer;border:none;border-radius:14px;align-items:center;gap:.75rem;padding:.85rem 1.75rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 10px 15px -3px #ffbf0033}.add-tier-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 20px 25px -5px #ffbf0040}.tiers-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2.5rem;display:grid}.tier-card{border:1px solid var(--border-subtle);background:#fff;border-radius:32px;flex-direction:column;padding:2.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.tier-card:before{content:"";background:var(--primary);opacity:0;height:6px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.tier-card:hover{border-color:#0000;transform:translateY(-8px);box-shadow:0 30px 60px -12px #00000014}.tier-card:hover:before{opacity:1}.tier-card.inactive{filter:grayscale(.8)opacity(.7)}.inactive-badge{color:#6b7280;text-transform:uppercase;border:1px solid var(--border-subtle);background:#f3f4f6;border-radius:10px;padding:.35rem .85rem;font-size:.7rem;font-weight:800;position:absolute;top:1.5rem;left:2.5rem}.tier-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.tier-level-tag{color:#b45309;text-transform:uppercase;background:#fef3c7;border-radius:12px;padding:.4rem .85rem;font-size:.75rem;font-weight:700}.tier-actions{gap:.75rem;display:flex}.action-btn{background:var(--bg-light);border:1px solid var(--border-subtle);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;transition:all .2s;display:flex}.action-btn:hover{border-color:var(--primary);background:#fff;transform:scale(1.05)}.action-btn.delete:hover{color:#ef4444;border-color:#ef4444}.tier-info{margin-bottom:2rem}.tier-name{color:var(--text-main);margin-bottom:.5rem;font-size:1.75rem;font-weight:900}.tier-subtitle{color:var(--text-muted);min-height:3rem;font-size:1rem;line-height:1.5}.type-indicator{align-items:center;gap:.5rem;margin-bottom:2rem;display:flex}.type-dot{border-radius:50%;width:8px;height:8px}.type-dot.free{background:#10b981}.type-dot.paid{background:#f59e0b}.type-label{text-transform:uppercase;color:var(--text-muted);font-size:.8rem;font-weight:700}.entitlement-card{border:1px solid var(--border-subtle);background:#f9fafb;border-radius:20px;margin-bottom:2rem;padding:1.25rem}.entitlement-card label{color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem;font-size:.7rem;font-weight:800;display:block}.entitlement-card code{color:#111827;font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:700}.features-section h4{color:var(--text-main);margin-bottom:1.25rem;font-size:.9rem;font-weight:800}.features-list{flex-direction:column;gap:1rem;display:flex}.feature-item{color:var(--text-muted);align-items:center;gap:1rem;font-size:.95rem;display:flex}.check-icon{color:#10b981;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:900;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#0006;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:40px;flex-direction:column;width:100%;max-width:650px;max-height:85vh;animation:.4s cubic-bezier(.4,0,.2,1) modalEnter;display:flex;box-shadow:0 40px 100px -20px #0000004d}@keyframes modalEnter{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{justify-content:space-between;align-items:center;padding:2.5rem 3rem 1.5rem;display:flex}.modal-header h2{letter-spacing:-.01em;font-size:1.75rem;font-weight:900}.close-btn{background:var(--bg-light);cursor:pointer;width:44px;height:44px;color:var(--text-muted);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.close-btn:hover{color:#ef4444;background:#fee2e2;transform:rotate(90deg)}.modal-body{scrollbar-width:thin;padding:0 3rem 2.5rem;overflow-y:auto}.tier-form{flex-direction:column;gap:2rem;display:flex}.form-section{flex-direction:column;gap:1.25rem;display:flex}.form-label{color:var(--text-main);font-size:.95rem;font-weight:700;display:block}.input-field{border:2px solid var(--border-subtle);background:#f9fafb;border-radius:18px;width:100%;padding:1rem 1.25rem;font-size:1rem;transition:all .3s}.input-field:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 4px #ffbf0026}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.features-builder{border:2px dashed var(--border-subtle);background:#f9fafb;border-radius:24px;padding:1.5rem}.feature-input-group{gap:.75rem;margin-bottom:.75rem;display:flex}.remove-feature-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.5rem;transition:background .2s}.remove-feature-btn:hover{background:#fee2e2}.add-feature-btn{border:2px dashed var(--border-subtle);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:16px;margin-top:.5rem;padding:1rem;font-weight:700;transition:all .2s}.add-feature-btn:hover{border-color:var(--primary);color:var(--primary-hover);background:#fff}.toggle-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:1rem;display:flex}.switch-rail{background:#e5e7eb;border-radius:99px;width:50px;height:28px;transition:background .3s;position:relative}.switch-knob{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0000001a}.toggle-switch input{display:none}.toggle-switch input:checked+.switch-rail{background:var(--primary)}.toggle-switch input:checked+.switch-rail .switch-knob{transform:translate(22px)}.modal-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:1rem;padding:1.5rem 3rem 2.5rem;display:flex}.btn-secondary{cursor:pointer;background:#f3f4f6;border:none;border-radius:18px;padding:1rem 2rem;font-weight:700}.btn-primary{color:#fff;cursor:pointer;background:#000;border:none;border-radius:18px;padding:1rem 2.5rem;font-weight:700;transition:all .3s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
