:root{--brand-50:#f4f5f7;--brand-100:#e7eaee;--brand-200:#c9d0d8;--brand-300:#a3adb8;--brand-400:#7d8a98;--brand-500:#5f6e7d;--brand-600:#4a5662;--brand-700:#3a434d;--brand-800:#2c333b;--brand-900:#20252b;--primary:#f4f4f5;--primary-dark:#d4d4d8;--primary-hover:#fff;--primary-foreground:#18181b;--primary-soft:#ffffff1a;--primary-hover-foreground:#52525b;--accent:#d4d4d8;--cyan:#d4d4d8;--violet:#9ca3af;--background:#1c1c1c;--bg-alt:#212124;--foreground:#f4f4f5;--surface:#242428;--surface-2:#2b2b30;--surface-3:#33333a;--sidebar:#141416db;--border:#ffffff1f;--border-subtle:#ffffff14;--muted:#9d9daa;--text-subtle:#6b6b78;--success:#d4d4d8;--warning:#fbbf24;--danger:#f87171;--info:#9ca3af;--radius:10px;--radius-lg:14px;--shadow-soft:0 1px 2px 0 #00000059;--shadow-warm:0 8px 30px -8px #0000008c;--shadow-elev:inset 0 1px 0 0 #ffffff0f, 0 1px 2px #00000073, 0 20px 50px -12px #000000a6;--shadow-focus:0 0 0 3px #ffffff38;--glow-green:0 4px 18px -4px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--background:#f4f5f7;--bg-alt:#eceef1;--foreground:#16181d;--surface:#fff;--surface-2:#f1f3f5;--surface-3:#e7eaee;--sidebar:#ffffffeb;--border:#11182724;--border-subtle:#11182717;--muted:#5b616e;--text-subtle:#8a90a0;--shadow-soft:0 1px 2px 0 #10182814;--shadow-elev:inset 0 1px 0 0 #fff, 0 1px 2px #10182814, 0 18px 44px -12px #10182824;--shadow-warm:0 8px 30px -8px #1018282e;--shadow-focus:0 0 0 3px #ffffff40;--glow-green:0 4px 16px -4px #ffffff4d;--primary:#1c1c1c;--primary-dark:#000;--primary-hover:#333;--primary-foreground:#fff;--primary-soft:#1c1c1c12;--primary-hover-foreground:#fff;--accent:#52525b;--cyan:#52525b;--violet:#7c3aed;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=light] ::selection{background-color:#1c1c1c29}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Roboto,system-ui,sans-serif;display:flex}a{color:inherit;text-decoration:none}::selection{color:var(--brand-50);background-color:#ffffff47}input,textarea{accent-color:var(--primary)}button{-webkit-user-select:none;user-select:none}button:not(:disabled),[role=button]:not([aria-disabled=true]),label[for],summary,select{cursor:pointer}button:disabled,[role=button][aria-disabled=true]{cursor:not-allowed}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:local(Material Symbols Outlined),url(/fonts/ms-outlined.woff2?v=4)format("woff2")}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;direction:ltr;font-family:Material Symbols Outlined,sans-serif;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.material-symbols-outlined.fill-1{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}.ms-18{font-size:18px}.ms-20{font-size:20px}.ms-16{font-size:16px}.bg-vibrancy{-webkit-backdrop-filter:blur(20px);background:#262626b8}.card-soft{background-color:var(--surface);box-shadow:var(--shadow-soft);border-radius:var(--radius-lg)}.card-elev{background-color:var(--surface);box-shadow:var(--shadow-elev);border-radius:var(--radius-lg)}.dot-grid-bg{background-color:var(--background);background-image:radial-gradient(circle at 15% 20%,#a3a3aa24 0%,#0000 40%),radial-gradient(circle at 85% 80%,#a3a3aa14 0%,#0000 40%)}.landing-grid{background-image:linear-gradient(to right, var(--accent) 1px, transparent 1px), linear-gradient(to bottom, var(--accent) 1px, transparent 1px);opacity:.04;background-size:40px 40px}.card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-elev)}.card-header{border-bottom:1px solid var(--border-subtle);letter-spacing:.2px;background:0 0;padding:1rem 1.25rem;font-weight:600}.card-body{padding:1.25rem}.card-title{color:var(--foreground);letter-spacing:-.01em;font-weight:600}html[data-theme=light] .card-header,html[data-theme=light] .card-title{color:var(--foreground)}html[data-theme=light] .stat-label{color:var(--muted)}html[data-theme=light] .stat-value{color:var(--foreground)}.stat-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1.35rem 1.4rem;transition:transform .15s,border-color .15s;position:relative;overflow:hidden}.chart-card .card-header{padding:.9rem 1.1rem}.chart-card .card-body{padding:1rem 1.1rem 1.1rem}.stat-card:hover{box-shadow:var(--shadow-elev);border-color:#ffffff59;transform:translateY(-2px)}.stat-icon{background:var(--primary-soft);width:44px;height:44px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;display:flex}.stat-icon .material-symbols-outlined{font-size:22px}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.stat-value{letter-spacing:-.02em;font-size:1.65rem;font-weight:700;line-height:1.2}.app-sidebar{background:var(--sidebar);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border);z-index:40;flex-direction:column;flex-shrink:0;width:288px;height:100vh;min-height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-top{align-items:center;padding:1.1rem 1.25rem .9rem;display:flex}.brand{align-items:center;gap:12px;padding:0;display:flex}.brand-logo{flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex;position:relative}.brand-logo-ring{border:1px solid var(--border);border-radius:50%;animation:3.4s ease-in-out infinite brandRing;position:absolute;inset:0}.brand-logo-ring:after{content:"";background:var(--primary);border-radius:50%;width:5px;height:5px;position:absolute;top:-2px;left:50%;transform:translate(-50%);box-shadow:0 0 10px #ffffff80}.brand-logo-bars{justify-content:center;align-items:center;gap:4px;display:flex}.brand-logo-bar{background:linear-gradient(180deg, #fff 0%, var(--primary) 48%, #b9b9c2 100%);opacity:0;width:7px;height:30px;animation:brandBarIn .7s cubic-bezier(.22, 1, .36, 1) calc(.35s + var(--i) * .12s) both, brandWave 2.3s ease-in-out calc(.35s + var(--i) * .12s - .38s) infinite;border-radius:5px;box-shadow:0 0 10px #ffffff40}@keyframes brandRing{0%{opacity:.9;transform:scale(.78)}50%{opacity:.35;transform:scale(1.06)}to{opacity:.9;transform:scale(.78)}}@keyframes brandBarIn{0%{opacity:0;transform:scaleY(.2)translateY(14px)}to{opacity:1;transform:scaleY(1)translateY(0)}}@keyframes brandWave{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}html[data-theme=light] .brand-logo-bar{background:linear-gradient(180deg, #e4e4e7 0%, var(--primary) 48%, #3f3f46 100%);box-shadow:none}html[data-theme=light] .brand-logo-ring:after{background:#18181b;box-shadow:0 0 10px #0000004d}.brand-name{letter-spacing:-.015em;color:var(--foreground);font-size:1.25rem;font-weight:800}.nav-section{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;padding:1.1rem 1.25rem .45rem;font-size:.66rem;font-weight:600}.nav-link{color:var(--muted);border-radius:8px;align-items:center;gap:11px;margin:.1rem .75rem;padding:.55rem .85rem;font-size:.875rem;transition:all .12s;display:flex}.nav-link .material-symbols-outlined{color:var(--text-subtle);font-size:18px;transition:color .12s}.nav-link:hover{color:var(--foreground);background:#9ca3af12}.nav-link:hover .material-symbols-outlined{color:var(--foreground)}.nav-link.active{color:var(--foreground);background:#9ca3af1a;font-weight:600}.nav-link.active .material-symbols-outlined{color:var(--foreground)}.nav-dropdown{margin:.1rem 0}.nav-dropdown>.nav-link{width:auto;font:inherit;cursor:pointer;background:0 0;border:none;margin:.1rem .75rem}.nav-dropdown.active>.nav-dropdown-toggle{color:var(--foreground);background:#9ca3af1a;font-weight:600}.nav-dropdown.active>.nav-dropdown-toggle .material-symbols-outlined{color:var(--foreground)}.nav-dropdown-arrow{opacity:.7;transition:transform .15s}.nav-submenu{padding-left:.9rem;transition:max-height .2s;overflow:hidden}.nav-submenu-link{color:var(--muted);border-radius:7px;align-items:center;gap:9px;margin:.05rem .75rem;padding:.42rem .75rem .42rem 2.15rem;font-size:.8rem;transition:all .12s;display:flex;position:relative}.nav-submenu-link:before{content:"";background:var(--muted);opacity:.5;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:1.05rem}.nav-submenu-link:hover{color:var(--foreground);background:#9ca3af12}.nav-submenu-link.active{color:var(--foreground);box-shadow:inset 2.5px 0 0 var(--foreground);background:#9ca3af1a;font-weight:600}.nav-submenu-link.active:before{background:var(--foreground);opacity:1}.nav-badge{color:var(--primary);background:#ffffff26;border-radius:99px;margin-left:auto;padding:.1rem .45rem;font-size:.62rem;font-weight:700}.user-card{border-top:1px solid var(--border);align-items:center;gap:10px;padding:.85rem 1.25rem;display:flex}.user-avatar{width:34px;height:34px;color:var(--primary);background:#a3a3aa24;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.app-topbar{-webkit-backdrop-filter:blur(20px);z-index:50;color:var(--foreground);background:#1c1c1cb8;border-bottom:1px solid #ffffff1f;padding:.75rem 1.6rem;position:sticky;top:0}html[data-theme=light] .app-topbar{background:#1c1c1c;border-bottom:1px solid #ffffff14}html[data-theme=light] .app-topbar .page-title,html[data-theme=light] .app-topbar .icon-btn{color:#ededed}html[data-theme=light] .app-topbar .page-subtitle{color:#9ca3af}html[data-theme=light] .app-topbar .icon-btn{background:#ffffff14;border-color:#ffffff1f}html[data-theme=light] .app-topbar .icon-btn:hover{background:#ffffff24}html[data-theme=light] .app-topbar .badge-green{color:#d4d4d8;background:#ffffff29}.page-title{letter-spacing:-.02em;font-size:1.35rem;font-weight:700;line-height:1.2}.page-subtitle{color:var(--muted);font-size:.8rem}.icon-btn{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--muted);border-radius:9px;justify-content:center;align-items:center;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 2px #0000004d}.icon-btn:hover{color:var(--foreground);border-color:var(--border);background:var(--surface-2);transform:translateY(-1px);box-shadow:0 4px 12px -4px #00000080}.icon-btn:active{transform:translateY(0)scale(.94)}.icon-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.icon-btn .material-symbols-outlined{font-size:20px}.seg-tabs{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.seg-tab{color:var(--muted);background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:.45rem .95rem;font-size:.83rem;font-weight:600;transition:all .12s;display:inline-flex}.seg-tab .material-symbols-outlined{color:var(--text-subtle);font-size:18px;transition:color .12s}.seg-tab:hover,.seg-tab:hover .material-symbols-outlined{color:var(--foreground)}.seg-tab.active{color:var(--foreground);background:var(--surface-3);box-shadow:0 1px 2px #0000004d}.seg-tab.active .material-symbols-outlined{color:var(--primary)}.search-input-wrap{width:100%;position:relative}.search-input-wrap .material-symbols-outlined{color:var(--muted);pointer-events:none;font-size:16px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.app-card{background:var(--surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:12px;flex-direction:column;padding:.65rem .7rem;transition:transform .15s,border-color .15s,background .15s;display:flex;overflow:hidden}.app-card:hover{background:var(--surface-2);border-color:#a3a3aa66;transform:translateY(-2px)}.app-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.app-icon .material-symbols-outlined{font-size:16px}.app-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.45rem 0 0;font-size:.7rem;line-height:1.4;display:-webkit-box;overflow:hidden}.app-deploy-btn{transition:border-color .12s,color .12s}.app-deploy-btn .material-symbols-outlined{font-size:16px}.app-card:hover .app-deploy-btn{color:var(--primary);border-color:#a3a3aa80}.table{--bs-table-bg:transparent;--bs-table-color:var(--foreground);--bs-table-border-color:var(--border-subtle);--bs-table-hover-bg:#9ca3af0d;margin-bottom:0}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border-bottom-width:1px;font-size:.7rem;font-weight:600}.table td{vertical-align:middle;border-color:var(--border-subtle);font-size:.875rem}.table tbody tr:hover{background:#9ca3af0a}.badge-soft{letter-spacing:.02em;border-radius:100px;padding:.32rem .7rem;font-size:.72rem;font-weight:600}.badge-green{color:#d4d4d8;background:#ffffff24}.badge-amber{color:#fbbf24;background:#fbbf2424}.badge-red{color:#f87171;background:#ef444424}.badge-cyan{color:#d4d4d8;background:#ffffff24}.badge-blue{color:#d4d4d8;background:#9ca3af24}.badge-violet{color:#d4d4d8;background:#a3a3aa29}.badge-gray{color:#9ca3af;background:#9ca3af24}.btn{letter-spacing:-.01em;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:.875rem;font-weight:500;line-height:1;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn .material-symbols-outlined{font-size:16px;line-height:1}.btn-primary{background:var(--primary);color:var(--primary-foreground);box-shadow:0 1px 2px 0 #00000014, var(--glow-green);border:0;font-weight:600}.btn-primary:hover,.btn-primary:focus,.btn-primary:focus-visible,.btn-primary:active{background:var(--primary-hover);color:var(--primary-hover-foreground);box-shadow:0 1px 2px #0000001a,0 6px 20px -4px #ffffff8c}.btn-secondary{background:var(--surface-2);border:1px solid var(--border);color:var(--foreground);box-shadow:0 1px 2px #0000004d}.btn-secondary:hover{background:var(--surface-3);border-color:var(--border);color:var(--foreground);transform:translateY(-1px);box-shadow:0 6px 16px -6px #00000080}.btn-outline-light,.btn-outline-secondary{border:1px solid var(--border);color:var(--muted);box-shadow:none;background:0 0}.btn-outline-light:hover,.btn-outline-secondary:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--foreground) 30%, var(--border));color:var(--foreground);transform:translateY(-1px);box-shadow:0 6px 16px -6px #00000080}.btn-outline-primary{color:var(--primary);box-shadow:none;background:0 0;border:1px solid #ffffff59}.btn-outline-primary:hover{border-color:var(--primary);color:var(--primary);background:#ffffff1f;transform:translateY(-1px);box-shadow:0 6px 18px -6px #fff6}.btn-outline-danger{color:#f87171;box-shadow:none;background:0 0;border:1px solid #ef444459}.btn-outline-danger:hover{border-color:var(--danger);color:#f87171;background:#ef44441f;transform:translateY(-1px);box-shadow:0 6px 18px -6px #ef444466}.btn-outline-success{color:#d4d4d8;box-shadow:none;background:0 0;border:1px solid #ffffff59}.btn-outline-success:hover{border-color:var(--success);color:#d4d4d8;background:#ffffff1f;transform:translateY(-1px);box-shadow:0 6px 18px -6px #fff6}.btn-sm{border-radius:7px;gap:5px;height:30px;padding:0 10px;font-size:.8rem}.btn-sm .material-symbols-outlined{font-size:14px}.btn:active{filter:brightness(.96)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;filter:none!important;transform:none!important}.form-control,.form-select{background-color:var(--surface-2);border:1px solid var(--border);color:var(--foreground);border-radius:10px}.form-control:focus,.form-select:focus{background-color:var(--surface-2);color:var(--foreground);border-color:var(--primary);box-shadow:var(--shadow-focus)}.form-control::placeholder{color:var(--text-subtle)}.form-label{color:var(--muted);margin-bottom:.4rem;font-size:.8rem;font-weight:500}.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}.alert{border:1px solid var(--border);background:var(--surface-2);color:var(--foreground);border-radius:10px}.alert-danger{color:#f87171;background:#ef44441a;border-color:#ef44444d}.alert-success{color:#d4d4d8;background:#ffffff1a;border-color:#ffffff4d}.alert-warning{color:#fbbf24;background:#fbbf241a;border-color:#fbbf244d}.alert-info{color:#d4d4d8;background:#ffffff14;border-color:#ffffff29}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-elev)}.modal-header,.modal-footer{border-color:var(--border-subtle)}.modal-backdrop.show{opacity:.55}.dropdown-menu{background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-elev);border-radius:12px}.dropdown-item{color:var(--foreground)}.dropdown-item:hover{background:var(--surface-3);color:var(--foreground)}.dropdown-divider{border-color:var(--border)}.auth-shell{background:var(--background);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative;overflow:hidden}.auth-shell:before,.auth-shell:after{content:"";filter:blur(80px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.auth-shell:before{background:radial-gradient(circle,#f4f4f51a,#0000 60%);width:560px;height:560px;top:-180px;left:50%;transform:translate(-50%)}.auth-shell:after{background:radial-gradient(circle,#a3a3aa1f,#0000 60%);width:460px;height:460px;bottom:-160px;right:-120px}.auth-shell .landing-grid{pointer-events:none;z-index:0;opacity:.05;position:absolute;inset:0}.auth-wrap{z-index:10;width:100%;max-width:420px;animation:.55s cubic-bezier(.22,1,.36,1) both authIn;position:relative}@keyframes authIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-logo{justify-content:center;margin-bottom:1.5rem;display:flex}.auth-logo .brand-logo{width:56px;height:56px}.auth-logo .brand-logo-bars{gap:5px}.auth-logo .brand-logo-bar{width:9px;height:38px}.auth-title{text-align:center;margin-bottom:1.75rem}.auth-title h1{letter-spacing:-.02em;color:var(--foreground);margin-bottom:.45rem;font-size:1.65rem;font-weight:800}.auth-title p{color:var(--muted);font-size:.9rem}.auth-card{background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border);border-radius:18px;width:100%;padding:2rem 1.9rem;box-shadow:0 1px 2px #0006,0 24px 70px #00000073}.auth-field{margin-bottom:1.05rem}.auth-field .form-label{letter-spacing:.02em;color:var(--muted);margin-bottom:.45rem;font-size:.82rem;font-weight:600}.auth-input-wrap{position:relative}.auth-input-wrap .auth-icon{color:var(--muted);pointer-events:none;font-size:18px;transition:color .2s;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.auth-input-wrap .form-control{background:var(--surface);border:1px solid var(--border);height:46px;color:var(--foreground);border-radius:12px;padding:.6rem .9rem .6rem 42px;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background .2s}.auth-input-wrap .form-control::placeholder{color:var(--muted);opacity:.75}.auth-input-wrap .form-control:focus{border-color:var(--primary);background:var(--surface-2);box-shadow:0 0 0 3px #f4f4f51f}.auth-input-wrap:focus-within .auth-icon{color:var(--primary)}.auth-input-wrap .form-control:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--surface) inset;-webkit-text-fill-color:var(--foreground)}.auth-input-wrap .auth-toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;transition:color .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-input-wrap .auth-toggle:hover{color:var(--foreground)}.auth-input-wrap .auth-toggle .material-symbols-outlined{font-size:18px}.auth-input-wrap.has-toggle .form-control{padding-right:44px}.auth-submit{letter-spacing:.01em;width:100%;height:46px;color:var(--primary-foreground);background:var(--primary);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:.4rem;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:flex;box-shadow:inset 0 1px #ffffff59,0 10px 26px #0006}.auth-submit:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1.5px);box-shadow:inset 0 1px #fff6,0 14px 34px #00000080}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-submit .arrow{transition:transform .2s}.auth-submit:hover .arrow{transform:translate(3px)}.auth-alt{text-align:center;color:var(--muted);margin-top:1.6rem;font-size:.86rem}.auth-alt a{color:var(--foreground);font-weight:600;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.auth-foot{color:var(--muted);opacity:.85;letter-spacing:.02em;justify-content:center;align-items:center;gap:6px;margin-top:1.2rem;font-size:.74rem;display:flex}.auth-foot .material-symbols-outlined{font-size:14px}.auth-feats{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.5rem;display:flex}.auth-feat{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:100px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.72rem;display:inline-flex}.auth-alert{border:1px solid;border-radius:12px;align-items:center;gap:8px;margin-bottom:1.1rem;padding:.65rem .85rem;font-size:.85rem;display:flex}.auth-alert .material-symbols-outlined{flex-shrink:0;font-size:16px}.auth-alert.error{color:#f87171;background:#f8717114;border-color:#f8717140}.auth-alert.info{color:#38bdf8;background:#38bdf812;border-color:#38bdf838}html[data-theme=light] .auth-card{box-shadow:0 1px 2px #10182814,0 24px 60px #10182824}html[data-theme=light] .auth-shell:before{background:radial-gradient(circle,#1c1c1c0f,#0000 60%)}html[data-theme=light] .auth-shell:after{background:radial-gradient(circle,#1c1c1c0d,#0000 60%)}html[data-theme=light] .auth-input-wrap .form-control:focus{box-shadow:0 0 0 3px #1c1c1c1a}.progress{background-color:#9ca3af29;border-radius:100px;height:7px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:100px;box-shadow:0 0 10px #ffffff80}.spinner-border{color:var(--primary)}*{scrollbar-width:thin;scrollbar-color:#b4b4b44d transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#b4b4b44d;background-clip:padding-box;border:2px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:#b4b4b480}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.2s ease-out forwards fadeIn}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.slide-in-top{animation:.18s cubic-bezier(.22,1,.36,1) forwards slideInFromTop}@keyframes pulseGlow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.animate-pulse-glow{animation:3s ease-in-out infinite pulseGlow}@keyframes ctaShimmer{0%{transform:translate(-120%)skew(-20deg)}to{transform:translate(220%)skew(-20deg)}}@keyframes ctaGlowPulse{0%,to{box-shadow:0 8px 24px -8px #a3a3aa73,0 0 #a3a3aa80}50%{box-shadow:0 12px 32px -8px #a3a3aa99,0 0 0 8px #a3a3aa00}}.btn-cta{isolation:isolate;animation:2.4s ease-in-out infinite ctaGlowPulse;position:relative;overflow:hidden}.btn-cta:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:50%;height:100%;animation:2.8s ease-in-out infinite ctaShimmer;position:absolute;top:0;left:0}.btn-cta>*{z-index:2;position:relative}.text-muted{color:var(--muted)!important}.text-primary{color:var(--primary)!important}code{background:var(--bg-alt);border:1px solid var(--border-subtle);color:var(--brand-300);border-radius:5px;padding:.1rem .35rem;font-size:.85em}@media (min-width:993px){.app-sidebar{display:none}.app-sidebar.open{display:flex}.sidebar-backdrop{display:none}}@media (max-width:992px){.app-sidebar{z-index:1050;transition:left .2s;position:fixed;left:-288px}.app-sidebar.open{left:0}.sidebar-backdrop{z-index:1040;background:#0009;position:fixed;inset:0}}.db-shell{gap:1rem;min-height:calc(100vh - 9rem);display:flex}.db-sidebar{background:var(--surface);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;flex-shrink:0;gap:.85rem;width:280px;max-height:calc(100vh - 9rem);padding:.85rem;display:flex;position:sticky;top:5.5rem;overflow-y:auto;box-shadow:0 2px 8px #00000040,0 8px 32px -8px #00000059}.db-sidebar::-webkit-scrollbar{width:5px}.db-sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:99px}.db-main{flex:1;min-width:0}.db-identity{border-bottom:1px solid var(--border-subtle);align-items:center;gap:11px;padding:.4rem .5rem .7rem;display:flex}.db-identity-mark{width:40px;height:40px;color:var(--primary);background:linear-gradient(135deg,#ffffff1f,#ffffff0f);border:1px solid #ffffff24;border-radius:12px;justify-content:center;align-items:center;display:flex}.db-identity-mark .material-symbols-outlined{font-size:20px}.db-identity-name{letter-spacing:-.01em;font-size:.95rem;font-weight:750}.db-identity-status{color:var(--muted);align-items:center;gap:5px;font-size:.68rem;display:inline-flex}.db-identity-status .dot{background:#d4d4d8;border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #fff6}.db-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle);margin-bottom:.4rem;padding:0 .4rem;font-size:.62rem;font-weight:700}.db-list{flex-direction:column;gap:2px;display:flex}.db-item{width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:9px;padding:7px 10px;font-size:.82rem;font-weight:500;transition:all .12s;display:flex}.db-item .db-icon{color:var(--text-subtle);font-size:18px;transition:color .12s}.db-item:hover{color:var(--foreground);background:#ffffff0d}.db-item:hover .db-icon{color:var(--foreground)}.db-item:active{transform:scale(.98)}.db-item.active{color:var(--foreground);background:#ffffff14;border-color:#ffffff1f;font-weight:600;box-shadow:inset 0 0 0 1px #ffffff0f}.db-item.active .db-icon{color:var(--primary)}.db-item .db-count{color:var(--text-subtle);background:#ffffff0f;border-radius:99px;flex-shrink:0;margin-left:auto;padding:2px 7px;font-size:.62rem;font-weight:700}.db-item.active .db-count{color:var(--primary);background:#ffffff1f}.db-create{gap:6px;display:flex}.db-create .form-control{flex:1;min-width:0}.db-create.highlight .form-control{animation:1.2s ease-in-out infinite alternate dbGlow;border-color:var(--primary)!important}.db-create.highlight .btn{background:var(--primary);border-color:var(--primary);animation:1.2s ease-in-out infinite alternate dbGlow}@keyframes dbGlow{0%{box-shadow:0 0 0 3px #ffffff26}to{box-shadow:0 0 0 3px #fff6,0 0 16px #ffffff4d}}.db-create-hint{color:var(--muted);align-items:center;gap:5px;margin-top:6px;font-size:.7rem;font-weight:500;display:flex}.db-create-hint .material-symbols-outlined{font-size:14px}.db-quota{border-top:1px solid var(--border-subtle);padding-top:.75rem}.db-quota-legend{color:var(--muted);justify-content:space-between;margin-top:5px;font-size:.68rem;display:flex}.db-empty{text-align:center;color:var(--muted);padding:4rem 1rem}.db-empty .material-symbols-outlined{color:var(--text-subtle);opacity:.5;margin-bottom:.75rem;font-size:48px;display:block}.db-empty h4{color:var(--foreground);margin:0 0 .3rem;font-size:1rem;font-weight:700}.db-empty p{color:var(--muted);margin:0;font-size:.85rem}.min-w-0{min-width:0}.db-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.db-heading h1{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:1.45rem;font-weight:800;line-height:1.15}.db-heading p{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.studio-heading-tools{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.studio-heading-tools .studio-mode-switch{margin:0}.studio-status-line{flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:1.25rem;display:flex}.studio-launch-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.25rem}.db-hero{box-shadow:var(--shadow-elev), inset 0 1px 0 0 #ffffff0a;background:radial-gradient(1200px 300px at 15% -40%,#ffffff17,#0000 55%),radial-gradient(900px 260px at 90% -30%,#ffffff0f,#0000 55%),linear-gradient(135deg,#232329 0%,#1a1a1e 100%);border:1px solid #ffffff38;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;padding:1.5rem 1.6rem;display:flex;position:relative;overflow:hidden}.db-hero-glow{pointer-events:none;background:radial-gradient(closest-side,#ffffff2e,#0000 70%);height:180px;position:absolute;inset:auto -15% -70% 35%}.db-hero-body{z-index:1;min-width:0;position:relative}.db-hero-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--primary);align-items:center;gap:6px;margin-bottom:.5rem;font-size:.68rem;font-weight:700;display:inline-flex}.db-hero-kicker .material-symbols-outlined{font-size:14px}.db-hero-title{letter-spacing:-.025em;margin:0;font-size:1.55rem;font-weight:800;line-height:1.15}.db-hero-sub{color:var(--muted);max-width:46rem;margin:.35rem 0 0;font-size:.85rem}.db-hero-chips{flex-wrap:wrap;gap:.5rem;margin-top:.9rem;display:flex}.db-hero-refresh{z-index:1;flex-shrink:0;position:relative}.chip-green{color:#d4d4d8;background:#ffffff1a;border-color:#ffffff2e}.chip-red{color:#f87171;background:#ef44441a;border-color:#ef444433}.dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.metric-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-bottom:1.1rem;display:grid}.metric{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1rem 1.1rem;transition:border-color .15s,transform .15s}.metric:hover{border-color:#ffffff4d;transform:translateY(-1px)}.metric-head{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);align-items:center;gap:8px;margin-bottom:.75rem;font-size:.76rem;font-weight:600;display:flex}.metric-head .material-symbols-outlined{color:var(--primary);font-size:16px}.metric-value{letter-spacing:-.02em;font-size:1.5rem;font-weight:750;line-height:1.1}.metric-foot{color:var(--muted);margin-top:.4rem;font-size:.72rem}.studio-hero{align-items:flex-start}.studio-hero-actions{z-index:1;flex-direction:column;align-items:stretch;gap:.85rem;min-width:360px;display:flex;position:relative}.studio-metric-strip,.studio-chart-grid{margin-bottom:1rem}.studio-grid{grid-template-columns:minmax(0,1.8fr) minmax(320px,.95fr);align-items:start;gap:1rem;display:grid}.studio-main,.studio-side{flex-direction:column;gap:1rem;display:flex}.studio-surface{background:var(--surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:18px;padding:1.05rem 1.1rem}.studio-surface-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.studio-surface-title{letter-spacing:-.02em;color:var(--foreground);font-size:.98rem;font-weight:750;line-height:1.15}.studio-control-deck{z-index:1;grid-template-columns:minmax(0,1.35fr) minmax(340px,.95fr);align-items:stretch;gap:1rem;width:100%;display:grid;position:relative}.studio-mode-switch{flex-wrap:wrap;gap:.5rem;margin:1rem 0 .85rem;display:inline-flex}.studio-mode-btn{color:var(--muted);background:#ffffff09;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.45rem;padding:.52rem .8rem;font-size:.78rem;font-weight:700;display:inline-flex}.studio-mode-btn .material-symbols-outlined{font-size:16px}.studio-mode-btn.active{color:var(--foreground);background:#ffffff17;border-color:#ffffff29}.studio-lens-grid,.studio-launch-grid{gap:.7rem;display:grid}.studio-lens-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:1rem}.studio-lens-card,.access-card{background:linear-gradient(#ffffff0b,#ffffff06);border:1px solid #ffffff12;border-radius:15px;padding:.9rem}.studio-lens-card span,.studio-value-cluster span,.access-row-main small{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;display:block}.studio-lens-card strong,.studio-value-cluster strong{color:var(--foreground);margin-top:.22rem;font-size:.92rem;display:block}.studio-lens-card small{color:var(--muted);margin-top:.28rem;font-size:.73rem;display:block}.studio-value-cluster{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.studio-value-cluster>div{background:#ffffff0b;border:1px solid #ffffff0f;border-radius:14px;padding:.82rem .9rem}.studio-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-launch-card{text-align:left;min-height:122px;color:inherit;background:linear-gradient(#ffffff0d,#ffffff05);border:1px solid #ffffff14;border-radius:16px;padding:.95rem;text-decoration:none;transition:transform .12s,border-color .12s,background .12s}.studio-launch-card:hover{color:inherit;border-color:#ffffff26;text-decoration:none;transform:translateY(-1px)}.studio-launch-card.primary{background:linear-gradient(#ffffff1a,#ffffff0b);border-color:#ffffff2e}.studio-launch-card .material-symbols-outlined{color:var(--primary);font-size:18px}.studio-launch-card b{color:var(--foreground);margin-top:.7rem;font-size:.84rem;display:block}.studio-launch-card small{color:var(--muted);margin-top:.25rem;font-size:.74rem;display:block}.studio-hero-toolbar{justify-content:flex-end;display:flex}.studio-surface-sub{color:var(--muted);margin-top:.2rem;font-size:.78rem}.studio-rel-grid,.studio-db-grid,.studio-ops-grid,.studio-protocol-grid{gap:.8rem;display:grid}.studio-rel-grid,.studio-db-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.studio-ops-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.studio-protocol-grid{grid-template-columns:1fr}.studio-rel-card,.studio-db-card,.studio-op-card,.studio-protocol-card{background:linear-gradient(#ffffff0a,#ffffff05);border:1px solid #ffffff14;border-radius:15px}.studio-rel-card,.studio-db-card,.studio-protocol-card{padding:.9rem}.studio-op-card{color:inherit;padding:1rem;text-decoration:none;transition:transform .12s,border-color .12s,background .12s}.studio-rel-card:hover,.studio-db-card:hover,.studio-op-card:hover,.studio-protocol-card:hover{background:linear-gradient(#ffffff0e,#ffffff08);border-color:#ffffff24}.studio-op-card:hover{text-decoration:none;transform:translateY(-1px)}.studio-rel-top,.studio-db-card-head,.studio-protocol-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.studio-rel-link,.studio-mini-link{color:var(--muted);font-size:.72rem;font-weight:600;text-decoration:none}.studio-rel-link:hover,.studio-mini-link:hover{color:var(--foreground);text-decoration:none}.studio-rel-flow{grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem;margin-top:.75rem;display:grid}.studio-rel-flow .material-symbols-outlined{color:var(--muted);font-size:18px}.studio-rel-node{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;padding:.75rem}.studio-rel-node strong,.studio-db-card h3,.studio-hot-main strong{color:var(--foreground);margin:0;font-size:.86rem;font-weight:700;display:block}.studio-rel-node small,.studio-db-card p,.studio-hot-main small,.studio-op-card small,.studio-protocol-card p{color:var(--muted);margin-top:.2rem;font-size:.74rem;display:block}.studio-db-card-head h3{margin:0}.studio-db-card p,.studio-protocol-card p{margin-bottom:0}.studio-db-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.85rem;display:grid}.studio-db-stats div,.studio-hot-item,.studio-check-item{background:#ffffff09;border:1px solid #ffffff0d;border-radius:12px}.studio-db-stats div{padding:.65rem .75rem}.studio-db-stats span{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.22rem;font-size:.67rem;display:block}.studio-db-stats strong{color:var(--foreground);font-size:.82rem;display:block}.studio-db-actions{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.studio-mini-link{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;justify-content:center;align-items:center;min-width:64px;padding:.42rem .68rem;display:inline-flex}.studio-op-card .material-symbols-outlined,.studio-protocol-top .material-symbols-outlined,.studio-check-item .material-symbols-outlined{color:var(--primary);font-size:19px}.studio-op-card b{color:var(--foreground);margin-top:.75rem;font-size:.84rem;display:block}.studio-checklist,.studio-hot-list{flex-direction:column;gap:.65rem;display:flex}.studio-check-item,.studio-hot-item{align-items:center;gap:.8rem;padding:.75rem .8rem;display:flex}.studio-check-item strong{color:var(--foreground);font-size:.8rem;display:block}.studio-check-item small{color:var(--muted);font-size:.73rem}.studio-hot-rank{width:30px;height:30px;color:var(--foreground);background:#ffffff14;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.studio-hot-main{flex:1;min-width:0}.studio-empty{text-align:center;color:var(--muted);padding:2rem 1rem}.studio-empty .material-symbols-outlined{opacity:.45;margin-bottom:.45rem;font-size:32px;display:block}.create-mode-switch{margin:0 0 .9rem}.access-shell{grid-template-columns:minmax(0,1fr) minmax(300px,.36fr);align-items:start;gap:1rem;display:grid}.access-grid{flex-direction:column;gap:1rem;display:flex}.access-focus{box-shadow:var(--shadow-elev);border-color:#ffffff29}.access-toolbar{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.access-pills{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.access-pill{color:var(--muted);background:#ffffff0b;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .72rem;font-size:.73rem;display:inline-flex}.access-form-grid{grid-template-columns:minmax(0,1fr) 150px minmax(0,1.2fr) auto;align-items:center;gap:.65rem;display:grid}.access-list{flex-direction:column;gap:.65rem;display:flex}.access-row{background:#ffffff09;border:1px solid #ffffff0f;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:.55rem;padding:.8rem;display:grid}.access-row-main{min-width:0}.access-row-main strong{color:var(--foreground);font-size:.84rem;display:block}.access-inline-select{min-width:120px}.access-json{color:#d4d4d8;background:#17171a;border:1px solid #ffffff12;border-radius:14px;margin:0;padding:.9rem;font-size:.72rem;line-height:1.55;overflow:auto}@media (max-width:1100px){.studio-control-deck,.studio-grid,.access-shell{grid-template-columns:1fr}}@media (max-width:768px){.studio-hero-actions{width:100%;min-width:0}.studio-hero-actions .btn{justify-content:center;width:100%}.studio-launch-grid,.studio-value-cluster,.access-form-grid,.access-row,.studio-rel-flow{grid-template-columns:1fr}.studio-rel-flow .material-symbols-outlined{justify-self:center;transform:rotate(90deg)}}.panel{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin-bottom:1.1rem;padding:1.15rem 1.25rem}.panel-title{color:var(--foreground);align-items:center;gap:8px;margin-bottom:.9rem;font-size:.82rem;font-weight:700;display:flex}.panel-title .material-symbols-outlined{color:var(--primary);font-size:18px}.kv{align-items:center;gap:10px;padding:7px 0;display:flex}.nav-submenu-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle);padding:.7rem .75rem .25rem 2.15rem;font-size:.6rem;font-weight:700}.db-quick{border:1px solid var(--border);background:var(--surface-2);color:var(--foreground);border-radius:14px;align-items:center;gap:14px;height:100%;padding:1.1rem 1.2rem;text-decoration:none;transition:all .18s;display:flex}.db-quick:hover{color:var(--foreground);background:var(--surface-3);border-color:#ffffff59;text-decoration:none;transform:translateY(-2px);box-shadow:0 10px 24px -12px #00000080}.db-quick-icon{color:var(--primary);flex-shrink:0;font-size:30px}.db-quick b{font-size:.95rem;display:block}.db-quick small{color:var(--muted);margin-top:2px;font-size:.75rem;display:block}.db-empty{text-align:center;height:100%;min-height:320px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.db-empty .material-symbols-outlined{color:var(--text-subtle);margin-bottom:6px;font-size:42px}.db-empty h4{color:var(--foreground);margin:0;font-weight:700}.db-empty p{max-width:320px;margin:0;font-size:.85rem}.conn-row{border:1px solid var(--border);background:var(--surface-1);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;display:flex}.kv-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);flex-shrink:0;min-width:96px;font-size:.68rem;font-weight:700}.kv-value{color:var(--foreground);word-break:break-all;min-width:0;font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,monospace;font-size:.78rem}.conn-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem;display:grid}.conn-box{background:var(--bg-alt);border:1px solid var(--border-subtle);border-radius:12px;padding:.9rem 1rem;transition:border-color .15s}.conn-box:hover{border-color:#ffffff59}.conn-box-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.conn-box-name{align-items:center;gap:7px;font-size:.8rem;font-weight:700;display:inline-flex}.conn-box-name .material-symbols-outlined{font-size:16px}.conn-box-name small{color:var(--muted);font-weight:500}.conn-box code{color:var(--muted);word-break:break-all;white-space:pre-wrap;background:0 0;border:none;padding:0;font-size:.7rem;display:block}.code-editor{border:1px solid var(--border);color:#d4d4d8;resize:vertical;background:#17171a;border-radius:12px;width:100%;padding:.9rem 1rem;font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.6;box-shadow:inset 0 1px 4px #0006}.code-editor:focus{border-color:#ffffff80;outline:none;box-shadow:0 0 0 3px #ffffff26}.table-shell{border:1px solid var(--border-subtle);background:var(--surface);border-radius:14px;overflow:hidden;box-shadow:0 1px 4px #0003}.table-shell .table{margin:0}.table-shell thead th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);white-space:nowrap;border-bottom:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none;padding:.7rem .9rem;font-size:.65rem;font-weight:700}.table-shell td{border-color:var(--border-subtle);vertical-align:middle;color:var(--foreground);padding:.6rem .9rem;font-size:.8rem}.table-shell tbody tr{transition:background .1s}.table-shell tbody tr:hover{background:#ffffff09}.chip{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;background:#ffffff0f;border:1px solid #ffffff14;border-radius:99px;align-items:center;gap:4px;padding:2px 7px;font-size:.6rem;font-weight:700;display:inline-flex}.empty-state{text-align:center;color:var(--muted);padding:3.5rem 1rem}.empty-state .material-symbols-outlined{color:var(--text-subtle);opacity:.4;margin-bottom:.5rem;font-size:40px;display:block}.empty-state p{margin:0;font-size:.85rem}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.record-form{background:var(--surface);border:1px solid var(--border-subtle);border-radius:14px;margin-bottom:.75rem;padding:1rem 1.15rem;box-shadow:0 1px 4px #0003}.record-form-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:.75rem;font-size:.88rem;font-weight:700;display:flex}.sortable-th{color:inherit;font:inherit;cursor:pointer;letter-spacing:.01em;background:0 0;border:none;align-items:center;gap:2px;padding:0;font-weight:650;transition:color .12s;display:inline-flex}.sortable-th:hover{color:var(--primary)}.row-selected{background:#ffffff0f!important}.row-selected td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.search-input-wrap{align-items:center;display:flex;position:relative}.search-input-wrap .material-symbols-outlined{color:var(--text-subtle);pointer-events:none;font-size:17px;position:absolute;left:10px}.search-input-wrap .form-control{padding-left:34px}.schema-stack{flex-direction:column;gap:1rem;display:flex}.schema-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;display:grid}.schema-kpi,.schema-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 1px 4px #00000038,0 12px 30px -18px #00000080}.schema-kpi{padding:1rem 1.05rem}.schema-kpi-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);margin-bottom:.45rem;font-size:.66rem;font-weight:700}.schema-kpi-value{letter-spacing:-.03em;color:var(--foreground);font-size:1.35rem;font-weight:800;line-height:1.1}.schema-kpi-code{letter-spacing:-.01em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1rem}.schema-kpi-sub{color:var(--muted);margin-top:.35rem;font-size:.76rem}.schema-card{padding:1rem}.schema-card-head,.schema-inline-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.9rem;display:flex}.schema-card-title,.schema-inline-title{color:var(--foreground);letter-spacing:-.02em;font-size:.96rem;font-weight:750}.schema-card-sub,.schema-inline-sub,.schema-col-sub{color:var(--muted);font-size:.76rem}.fk-chain{border:1px solid var(--border-subtle);background:var(--surface-2);border-radius:8px;align-items:center;gap:6px;padding:3px 9px;font-size:.75rem;display:inline-flex}.fk-chain code{color:var(--foreground);font-size:inherit;background:0 0;padding:0}.fk-arrow{color:var(--muted)}.fk-badge{color:var(--text-subtle);align-items:center;gap:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:inline-flex;background:#ffffff14!important}.schema-inline-form{background:linear-gradient(#ffffff09,#ffffff05);border:1px solid #ffffff14;border-radius:14px;margin-bottom:1rem;padding:.95rem}.schema-preset-row{flex-wrap:wrap;gap:.45rem;display:flex}.schema-preset{color:var(--foreground);background:#ffffff0a;border:1px solid #ffffff17;border-radius:999px;padding:.34rem .7rem;font-size:.72rem;font-weight:600;transition:all .12s}.schema-preset:hover,.schema-preset.active{background:#ffffff1f;border-color:#ffffff2e}.schema-index-preview{color:var(--muted);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;margin-top:.8rem;padding:.7rem .8rem;font-size:.76rem}.schema-index-preview code,.schema-mini-item code,.schema-code,.schema-col-name{font-family:ui-monospace,SF Mono,Menlo,monospace}.schema-index-label,.schema-mini-label{color:var(--text-subtle);margin-right:.4rem;font-weight:700;display:inline-block}.schema-col-name{color:var(--foreground);font-size:.84rem}.schema-mini-list{flex-direction:column;gap:.65rem;display:flex}.schema-mini-item{color:var(--foreground);background:#ffffff09;border:1px solid #ffffff0d;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .75rem;font-size:.78rem;display:flex}.schema-code{white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);color:#d4d4d8;background:#17171a;border-radius:14px;max-height:420px;margin:0;padding:.9rem 1rem;font-size:.78rem;line-height:1.6;overflow:auto}.tab-bar{border-bottom:1px solid var(--border-subtle);gap:2px;margin-bottom:1.1rem;display:flex}.tab-bar button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:.6rem 1rem;font-size:.84rem;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.tab-bar button .material-symbols-outlined{opacity:.8;font-size:16px}.tab-bar button:hover{color:var(--foreground)}.tab-bar button.active{color:var(--primary);border-bottom-color:var(--primary)}@keyframes riseIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.rise-in{animation:.28s cubic-bezier(.22,1,.36,1) both riseIn}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:60;background:#000000a8;justify-content:center;align-items:center;padding:24px;animation:.16s ease-out both fadeIn;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface,#242428);border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;width:100%;max-width:720px;max-height:84vh;animation:.22s cubic-bezier(.22,1,.36,1) both riseIn;display:flex;overflow:hidden;box-shadow:0 24px 70px #0000008c}.modal-head{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.modal-panel>:last-child{border-radius:0 0 14px 14px}.ct-dialog{max-width:920px}.ct-head h5{letter-spacing:-.01em;margin:0;font-weight:700}.ct-sub{color:var(--muted);margin-top:2px;font-size:.72rem}.ct-name{flex:1;min-width:200px}.ct-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:.64rem;font-weight:700}.ct-grid-head,.ct-grid-row{grid-template-columns:1.25fr 1fr .55fr 1fr 44px 52px 30px;align-items:center;gap:8px;display:grid}.ct-grid-head{letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);padding:0 4px 4px;font-size:.6rem;font-weight:700}.ct-grid{flex-direction:column;gap:6px;max-height:336px;padding:2px;display:flex;overflow-y:auto}.ct-grid-row{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:10px;padding:6px 8px;transition:border-color .12s,background .12s}.ct-grid-row:hover{border-color:var(--border);background:var(--surface-3)}.ct-grid-row .form-control,.ct-grid-row .form-select{height:32px;padding:0 8px;font-size:.78rem}.ct-check{justify-content:center;align-items:center;display:flex}.ct-check input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}.ct-del{width:30px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.ct-del:hover{color:var(--danger);background:#f871711f}.ct-del .material-symbols-outlined{font-size:17px}.ct-sql{white-space:pre-wrap;font-size:.72rem;line-height:1.55}.section-title{letter-spacing:.02em;text-transform:uppercase;color:var(--muted,#94a3b8);align-items:center;gap:8px;margin-bottom:10px;font-size:.82rem;font-weight:700;display:flex}.mysql-users{flex-direction:column;gap:1.25rem;display:flex}.user-editor{background:linear-gradient(#ffffff0a,#ffffff05);border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:1rem;padding:1.1rem 1.2rem;display:flex}.user-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.user-editor-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.user-editor-row-stack{grid-template-columns:1fr}.user-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.user-field-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);justify-content:space-between;align-items:center;gap:.6rem;font-size:.72rem;font-weight:700;display:flex}.user-pass{align-items:center;gap:.45rem;display:flex}.user-pass .form-control{flex:1;min-width:0}.user-presets{gap:.35rem;display:inline-flex}.user-preset-btn{color:var(--muted);text-transform:none;letter-spacing:0;background:#ffffff0d;border:1px solid #ffffff17;border-radius:999px;align-items:center;gap:4px;padding:.22rem .55rem;font-size:.66rem;font-weight:700;transition:all .12s;display:inline-flex}.user-preset-btn:hover{color:var(--foreground);border-color:#fff3}.user-priv-block{flex-direction:column;gap:.55rem;display:flex}.user-priv-toggle{flex-wrap:wrap;gap:.4rem;display:flex}.priv-toggle-btn{letter-spacing:.02em;color:var(--muted);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:7px;padding:.32rem .6rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem;font-weight:800;transition:all .12s}.priv-toggle-btn:hover{color:var(--foreground);border-color:#ffffff38}.priv-toggle-btn.active{color:#1c1c1c;background:#f4f4f5;border-color:#f4f4f5}.user-scope{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.user-editor-sql{flex-direction:column;gap:.5rem;display:flex}.user-sql{color:var(--foreground);white-space:pre-wrap;background:#00000047;border:1px solid #ffffff14;border-radius:12px;margin:0;padding:.85rem 1rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.74rem;line-height:1.65;overflow-x:auto}.user-editor-actions{justify-content:flex-end;display:flex}.user-list{flex-direction:column;gap:.75rem;display:flex}.user-list-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.user-table-wrap{border:1px solid var(--border-subtle);background:var(--surface);border-radius:14px;overflow:hidden}.user-table{border-collapse:collapse;width:100%;font-size:.8rem}.user-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);border-bottom:1px solid var(--border-subtle);white-space:nowrap;background:#ffffff06;padding:.7rem .85rem;font-size:.66rem;font-weight:700}.user-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:.65rem .85rem}.user-table tbody tr:last-child td{border-bottom:none}.user-table tbody tr{transition:background .12s}.user-table tbody tr:hover{background:#ffffff08}.user-table tbody tr.editing{background:#ffffff0f}.user-login{color:var(--foreground);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem}.user-host{color:var(--text-subtle);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.72rem}.user-pass-cell{color:var(--muted);white-space:nowrap;align-items:center;gap:.3rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.74rem;display:inline-flex}.user-priv-chips{flex-wrap:wrap;gap:.25rem;display:inline-flex}.user-priv-chip{color:var(--muted);background:#ffffff12;border:1px solid #ffffff1a;border-radius:6px;padding:.15rem .4rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.62rem;font-weight:700}.user-muted{color:var(--text-subtle);font-size:.74rem}.user-scope-tag{color:var(--foreground);white-space:nowrap;background:#ffffff14;border:1px solid #ffffff24;border-radius:6px;padding:.18rem .45rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.68rem;font-weight:700;display:inline-block}.user-row-actions{gap:.35rem;display:inline-flex}@media (max-width:900px){.user-editor-row{grid-template-columns:1fr}.user-table-wrap{overflow-x:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
