:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f8;--surface:#fff;--surface-muted:#eceef2;--border:#dfe3e9;--text:#1b2330;--text-muted:#5b6572;--accent:#4f46e5;--accent-contrast:#fff;--accent-soft:#e9e8fd;--danger:#c2410c;--shadow:0 1px 3px #10182814}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1319;--surface:#1a2029;--surface-muted:#232b37;--border:#2c3542;--text:#e6e9ee;--text-muted:#9aa4b1;--accent:#7c74f5;--accent-contrast:#12101f;--accent-soft:#2a2747;--danger:#f97216;--shadow:0 1px 3px #0006}*,:before,:after{box-sizing:border-box}html{height:100%}body{min-height:100%;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.55}#app{flex-direction:column;min-height:100vh;display:flex}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.25rem}p{margin:0 0 1rem}.app-header{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);position:sticky;top:0}.app-header__inner{align-items:center;gap:1.25rem;max-width:1080px;height:3.5rem;margin:0 auto;padding:0 1.25rem;display:flex}.brand{color:var(--text);white-space:nowrap;font-size:1.05rem;font-weight:700}.brand:hover{text-decoration:none}.app-nav{flex:1;align-items:center;gap:.25rem;display:flex}.app-nav a{color:var(--text-muted);border-radius:.5rem;padding:.4rem .7rem;font-weight:500}.app-nav a:hover{color:var(--text);background:var(--surface-muted);text-decoration:none}.app-nav a.router-link-active{color:var(--accent);background:var(--accent-soft)}.app-header__right{align-items:center;gap:.75rem;display:flex}.app-main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:2rem 1.25rem 3rem}.app-footer{border-top:1px solid var(--border);background:var(--surface);text-align:center;color:var(--text-muted);padding:1rem 1.25rem;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.75rem;max-width:480px;padding:1.5rem}.card--wide{max-width:720px}.field{margin-bottom:1rem}.field label{margin-bottom:.3rem;font-size:.875rem;font-weight:600;display:block}.field input{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:.55rem .75rem;font-size:1rem}.field input:focus{outline:2px solid var(--accent);outline-offset:1px}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:.5rem;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface-muted)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn--primary:hover{filter:brightness(1.1);background:var(--accent)}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.muted{color:var(--text-muted)}.theme-toggle{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;display:inline-flex;overflow:hidden}.theme-toggle button{appearance:none;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:.35rem .65rem;font-size:.85rem;font-weight:600}.theme-toggle button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.field textarea{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:.5rem;padding:.55rem .75rem;font-family:inherit;font-size:1rem}.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.field-hint{margin:.3rem 0 0;font-size:.8125rem}.alert{border-radius:.5rem;margin-bottom:1rem;padding:.7rem .9rem;font-size:.9rem}.alert--error{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent)}.alert--success{background:#16a34a1f;border:1px solid #16a34a73}.alert--info{background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent)}.badge--ok{color:#16a34a;background:#16a34a24}.badge--warn{color:#d97706;background:#d9770624}.badge--danger{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.badge--muted{background:var(--surface-muted);color:var(--text-muted)}.btn--primary:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}.btn--ghost{background:0 0}.btn--ghost:hover{background:var(--surface-muted)}.btn--small{padding:.3rem .7rem;font-size:.85rem}.btn--danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn--danger:hover{filter:brightness(1.08);background:var(--danger)}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.55rem .75rem}.table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;font-size:.72rem}.table tr:last-child td{border-bottom:0}.text-right{text-align:right}.chips{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.chip{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:.25rem .85rem;font-size:.85rem}.code-reveal{margin-top:1rem}.code-box{background:var(--surface-muted);border:1px dashed var(--border);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:.5rem;padding:.75rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem}.row-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.kv{margin:0}.kv__row{border-bottom:1px solid var(--border);gap:1rem;padding:.45rem 0;display:flex}.kv__row:last-child{border-bottom:0}.kv__row dt{width:220px;color:var(--text-muted);flex:none;font-size:.875rem}.kv__row dd{margin:0}.sub-card{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.sub-card h2{margin-bottom:.75rem}.qr{margin:.5rem 0 1rem}.qr svg{border:1px solid var(--border);background:#fff;border-radius:.5rem;width:200px;height:200px;display:block}.admin-controls{flex-wrap:wrap;align-items:center;gap:1rem;margin:1rem 0 .5rem;display:flex}.admin-search{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-search input{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:.5rem;min-width:220px;padding:.5rem .75rem;font-size:.95rem}.admin-search input:focus{outline:2px solid var(--accent);outline-offset:1px}.check{cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.pagination{align-items:center;gap:.75rem;margin-top:1rem;display:flex}.dialog-overlay{z-index:50;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;width:min(420px,100vw - 2rem);padding:1.5rem;box-shadow:0 8px 30px #00000059}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
