:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#020617;--panel:#0f172ae0;--panel-border:#94a3b838;--text:#e2e8f0;--muted:#94a3b8;--accent:#a3e635;--danger:#f87171;--app-height:100dvh;--vvh:100dvh;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;margin:0;overflow-x:hidden}body{min-height:var(--app-height);color:var(--text);overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--text);cursor:pointer;border:0;border-radius:14px;min-height:44px;padding:.75rem 1rem}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:var(--app-height);min-height:var(--vvh);padding:calc(var(--safe-top) + 72px) var(--safe-right) var(--safe-bottom) var(--safe-left);background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 18%, transparent), transparent 32rem), linear-gradient(160deg, var(--bg) 0%, #0f172a 62%, #111827 100%)}.topbar{z-index:20;height:calc(60px + var(--safe-top));padding:var(--safe-top) max(1rem, var(--safe-right)) 0 max(1rem, var(--safe-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#08111fc7;border-bottom:1px solid #94a3b829;align-items:center;gap:.75rem;display:flex;position:fixed;inset:0 0 auto}.topbar h1{letter-spacing:.02em;margin:0;font-size:1.05rem}.hamburger,.close-button,.ghost-button{background:#94a3b824}.hamburger,.close-button{place-items:center;width:44px;padding:0;font-size:1.4rem;display:grid}.overlay{z-index:30;opacity:0;pointer-events:none;background:#0206179e;transition:opacity .18s;position:fixed;inset:0}.overlay.visible{opacity:1;pointer-events:auto}.drawer{z-index:40;width:min(82vw,340px);padding:calc(var(--safe-top) + 1rem) 1rem calc(var(--safe-bottom) + 1rem) max(1rem, var(--safe-left));border-right:1px solid var(--panel-border);will-change:transform;background:#0f172afa;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:28px 0 70px #00000061}.drawer.open{transform:translate(0,0)}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.drawer-nav{gap:.75rem;display:grid}.drawer-link{text-align:left;background:color-mix(in srgb, var(--accent) 12%, transparent);width:100%}.page{width:min(100%,1120px);margin:0 auto;padding:1rem}.home-page{min-height:calc(var(--vvh) - 120px - var(--safe-bottom));color:var(--muted);text-align:center;place-items:center;display:grid}.welcome-card{gap:1rem;width:min(100%,560px);padding:clamp(1.25rem,6vw,2rem);display:grid}.welcome-card h2,.welcome-card h3,.welcome-card p{margin:0}.welcome-card h2{color:var(--text);font-size:clamp(1.8rem,9vw,2.7rem)}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:900}.placeholder-note{background:#0206173d;border:1px solid #94a3b824;border-radius:20px;gap:.45rem;margin-top:.5rem;padding:1rem;display:grid}.placeholder-note h3{color:var(--text)}.narrow-page{width:min(100%,680px)}.settings-card,.panel{border:1px solid var(--panel-border);background:var(--panel);border-radius:24px;box-shadow:0 24px 70px #00000040}.settings-card{padding:1rem}.sub-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.sub-header h2,.panel h3{margin:0}.primary-button{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 70%, #0284c7), var(--accent));color:#04111f;width:100%;margin-top:1rem;font-weight:800}.dev-page{padding-bottom:calc(var(--safe-bottom) + 2rem)}.page-blurred{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none}.update-overlay{z-index:100;min-height:var(--app-height);min-height:var(--vvh);padding:calc(var(--safe-top) + 1rem) max(1rem, var(--safe-right)) calc(var(--safe-bottom) + 1rem) max(1rem, var(--safe-left));-webkit-backdrop-filter:blur(14px);background:#020617c2;place-items:center;display:grid;position:fixed;inset:0}.update-overlay-card{text-align:center;background:#0f172af5;border:1px solid #94a3b847;border-radius:28px;justify-items:center;gap:1rem;width:min(100%,420px);padding:clamp(1.25rem,6vw,2rem);display:grid;box-shadow:0 30px 90px #0000006b}.update-overlay-card h2,.update-overlay-card p{margin:0}.update-overlay-card h2{font-size:clamp(1.35rem,6vw,1.8rem)}.update-overlay-card p{color:var(--muted);line-height:1.5}.update-overlay-card .primary-button{margin-top:0}.update-overlay-actions{gap:.75rem;width:100%;display:grid}.dot-spinner{--uib-size:2.8rem;--uib-speed:.9s;--uib-color:var(--accent);height:var(--uib-size);width:var(--uib-size);justify-content:flex-start;align-items:center;display:flex;position:relative}.dot-spinner__dot{justify-content:flex-start;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.dot-spinner__dot:before{content:"";background-color:var(--uib-color);opacity:.5;width:20%;height:20%;animation:pulse0112 calc(var(--uib-speed) * 1.111) ease-in-out infinite;box-shadow:0 0 20px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:50%;transform:scale(0)}.dot-spinner__dot:nth-child(2){transform:rotate(45deg)}.dot-spinner__dot:nth-child(2):before{animation-delay:calc(var(--uib-speed) * -.875)}.dot-spinner__dot:nth-child(3){transform:rotate(90deg)}.dot-spinner__dot:nth-child(3):before{animation-delay:calc(var(--uib-speed) * -.75)}.dot-spinner__dot:nth-child(4){transform:rotate(135deg)}.dot-spinner__dot:nth-child(4):before{animation-delay:calc(var(--uib-speed) * -.625)}.dot-spinner__dot:nth-child(5){transform:rotate(180deg)}.dot-spinner__dot:nth-child(5):before{animation-delay:calc(var(--uib-speed) * -.5)}.dot-spinner__dot:nth-child(6){transform:rotate(225deg)}.dot-spinner__dot:nth-child(6):before{animation-delay:calc(var(--uib-speed) * -.375)}.dot-spinner__dot:nth-child(7){transform:rotate(270deg)}.dot-spinner__dot:nth-child(7):before{animation-delay:calc(var(--uib-speed) * -.25)}.dot-spinner__dot:nth-child(8){transform:rotate(315deg)}.dot-spinner__dot:nth-child(8):before{animation-delay:calc(var(--uib-speed) * -.125)}@keyframes pulse0112{0%,to{opacity:.5;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.dev-grid{grid-template-columns:1fr;gap:1rem;display:grid}.panel{min-width:0;padding:1rem}.field{border-bottom:1px solid #94a3b81f;grid-template-columns:minmax(8rem,38%) minmax(0,1fr);gap:.75rem;padding:.65rem 0;display:grid}.field span{color:var(--muted)}.field strong{overflow-wrap:anywhere;font-weight:650}.token-panel{margin-bottom:1rem}.token-panel label{gap:.5rem;display:grid}.token-panel input{width:100%;color:var(--text);background:#0206177a;border:1px solid #94a3b842;border-radius:14px;min-height:44px;padding:.75rem 1rem}.token-panel p{color:var(--muted);margin-bottom:0}.actions-panel{gap:.75rem;display:grid}.actions-panel h3{margin-bottom:.25rem}.result-panel{margin-top:1rem}.output-grid{gap:1rem;margin-top:1rem;display:grid}.output-grid label{color:var(--muted);gap:.5rem;display:grid}pre{color:#dbeafe;white-space:pre-wrap;word-break:break-word;background:#020617b3;border-radius:16px;max-height:340px;margin:0;padding:1rem;overflow:auto}.error-box{color:#fecaca;background:#7f1d1d42;border:1px solid #f8717166;border-radius:16px;margin-bottom:1rem;padding:1rem}@media (width>=760px){.drawer{width:360px}.dev-grid,.output-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.login-page{min-height:var(--app-height);min-height:var(--vvh);padding:calc(var(--safe-top) + 1rem) max(1rem, var(--safe-right)) calc(var(--safe-bottom) + 1rem) max(1rem, var(--safe-left));background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 22%, transparent), transparent 28rem), linear-gradient(160deg, var(--bg) 0%, #0f172a 62%, #111827 100%);align-items:center;display:grid}.login-card{border:1px solid var(--panel-border);background:#0f172aeb;border-radius:28px;gap:1rem;width:min(100%,440px);margin:0 auto;padding:clamp(1rem,4vw,2rem);display:grid;box-shadow:0 28px 80px #00000057}.login-brand{align-items:center;gap:1rem;display:flex}.login-brand h1,.login-brand p{margin:0}.login-brand p,.settings-section p,.about-section p,.admin-toolbar p,.user-card p{color:var(--muted)}.login-logo{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 70%, #0284c7), var(--accent));color:#04111f;border-radius:18px;flex:0 0 58px;place-items:center;width:58px;height:58px;font-weight:900;display:grid}.login-card label,.modal-card label{color:var(--muted);gap:.45rem;display:grid}.login-card input,.modal-card input,.modal-card select{width:100%;color:var(--text);background:#0206177a;border:1px solid #94a3b842;border-radius:14px;min-height:46px;padding:.75rem 1rem}.login-error{margin:0}.settings-section{background:#0206173d;border:1px solid #94a3b824;border-radius:20px;gap:.75rem;margin:1rem 0;padding:1rem;display:grid}.settings-section h3,.settings-section p,.about-section h3,.about-section p,.admin-toolbar h3,.admin-toolbar p,.user-card h3,.user-card p{margin:0}.danger-button{color:#fecaca;background:#f871712e}.success-box{color:#bbf7d0;background:#14532d52;border:1px solid #22c55e61;border-radius:16px;margin-bottom:1rem;padding:1rem}.admin-users-page{padding-bottom:calc(var(--safe-bottom) + 2rem)}.admin-toolbar{gap:1rem;margin-bottom:1rem;display:grid}.users-grid{gap:1rem;display:grid}.user-card{border:1px solid var(--panel-border);background:var(--panel);border-radius:22px;min-width:0;padding:1rem;box-shadow:0 18px 54px #00000038}.user-card-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.status-pill{border-radius:999px;padding:.3rem .65rem;font-size:.85rem;font-weight:800}.status-pill.active{color:#bbf7d0;background:#22c55e2e}.status-pill.inactive{color:#cbd5e1;background:#94a3b82e}.card-actions{grid-template-columns:1fr;gap:.65rem;margin-top:1rem;display:grid}.notification-stack{inset:auto max(1rem, var(--safe-right)) calc(var(--safe-bottom) + 1rem) max(1rem, var(--safe-left));z-index:90;pointer-events:none;gap:.75rem;display:grid;position:fixed}.notification{pointer-events:auto;background:#0f172afa;border:1px solid #94a3b847;border-left-width:5px;border-radius:18px;grid-template-columns:1fr auto;align-items:start;gap:.75rem;width:min(100%,460px);margin:0 auto;padding:.85rem;display:grid;box-shadow:0 20px 64px #00000057}.notification strong,.notification p{margin:0}.notification p{color:var(--muted);margin-top:.25rem}.notification-success{border-left-color:#22c55e}.notification-error{border-left-color:var(--danger)}.notification-info{border-left-color:#38bdf8}.notification-warning{border-left-color:#facc15}.notification-close{background:#94a3b824;border-radius:12px;width:38px;min-height:38px;padding:0}.confirm-backdrop{z-index:80}.confirm-card{gap:1.2rem}.confirm-card p{color:var(--muted);line-height:1.5}.modal-backdrop{z-index:60;padding:calc(var(--safe-top) + 1rem) max(1rem, var(--safe-right)) calc(var(--safe-bottom) + 1rem) max(1rem, var(--safe-left));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020617b8;align-items:end;display:grid;position:fixed;inset:0}.modal-card{width:min(100%,540px);max-height:min(760px, calc(var(--vvh) - var(--safe-top) - var(--safe-bottom) - 2rem));border:1px solid var(--panel-border);background:#0f172afa;border-radius:26px;gap:1rem;margin:0 auto;padding:1rem;display:grid;overflow:auto}.modal-card h3,.modal-card p{margin:0}.checkbox-row{grid-template-columns:auto 1fr;align-items:center}.checkbox-row input{width:22px;min-height:22px}.modal-actions{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=600px){.card-actions,.modal-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-actions{grid-template-columns:1fr 1fr}.modal-backdrop{align-items:center}}@media (width>=900px){.users-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-toolbar{grid-template-columns:1fr auto;align-items:center}}.welcome-logo,.login-logo img{object-fit:contain;width:100%;height:100%}.welcome-logo{border-radius:24px;justify-self:center;width:96px;height:96px}.admin-section{grid-template-columns:1fr;gap:1rem;display:grid}.admin-section h3{grid-column:1/-1}.admin-section .primary-button{width:100%;min-height:44px;margin-top:0}.customization-page{padding-bottom:calc(var(--safe-bottom) + 2rem)}.customization-form,.customization-section{gap:1rem;display:grid}.customization-section h3,.customization-section p{margin:0}.customization-section label,.image-upload-row{color:var(--muted);gap:.45rem;display:grid}.customization-section input,.customization-section textarea{width:100%;color:var(--text);background:#0206177a;border:1px solid #94a3b842;border-radius:14px;min-height:46px;padding:.75rem 1rem}.customization-section textarea{resize:vertical}.customization-section input[type=color]{min-height:54px;padding:.35rem}.image-upload-row{border:1px solid #94a3b824;border-radius:18px;grid-template-columns:1fr;padding:1rem}.image-upload-row p{color:var(--muted);font-size:.92rem}.image-preview{width:104px;height:104px;color:var(--muted);text-align:center;background:#0206175c;border:1px dashed #94a3b85c;border-radius:20px;place-items:center;font-size:.85rem;display:grid}.image-preview img{object-fit:contain;max-width:86px;max-height:86px}.customization-actions{gap:.75rem;display:grid}@media (width>=600px){.admin-section{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:stretch}.customization-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.image-upload-row{grid-template-columns:1fr auto;align-items:center}}
