:root,[data-theme=night]{--bg: #000000;--bg-elev: #0a0f14;--bg-elev-2: #111827;--bg-card: rgba(10, 15, 20, .92);--border: #1f2937;--text: #f0fdfa;--text-dim: #94a3b8;--accent: #22d3ee;--accent-700: #06b6d4;--accent-soft: rgba(34, 211, 238, .14);--on-accent: #ecfeff;--green: #2dd4bf;--red: #fb7185;--radius: 12px;--radius-sm: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: var(--font);--shadow: 0 0 24px rgba(34, 211, 238, .08);--page-bg: radial-gradient(ellipse 80% 50% at 10% -10%, rgba(34, 211, 238, .1), transparent 55%), radial-gradient(ellipse 50% 40% at 100% 0%, rgba(34, 211, 238, .06), transparent 50%), #000000;--header-bg: linear-gradient(180deg, rgba(10, 15, 20, .96), rgba(0, 0, 0, .92));--chrome-height: 40px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--btn-primary-bg: #06b6d4;--select-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23f0fdfa' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");color-scheme:dark}[data-theme=pop]{--bg: #140018;--bg-elev: #24082f;--bg-elev-2: #35124a;--bg-card: rgba(42, 10, 58, .88);--border: #7a2cff;--text: #fff5ff;--text-dim: #d7b4ff;--accent: #ff2ec5;--accent-700: #7d5cff;--accent-soft: rgba(255, 46, 197, .2);--on-accent: #1a0018;--green: #b8ff3c;--red: #ff5ad5;--radius: 22px;--radius-sm: 16px;--font: "Trebuchet MS", "Avenir Next", "Segoe UI", sans-serif;--font-display: "Trebuchet MS", "Avenir Next", "Segoe UI", sans-serif;--shadow: 0 18px 50px rgba(255, 46, 197, .22);--page-bg: radial-gradient(circle at 12% 0%, rgba(255, 46, 197, .45), transparent 38%), radial-gradient(circle at 92% 8%, rgba(0, 240, 255, .32), transparent 34%), radial-gradient(circle at 50% 100%, rgba(125, 92, 255, .28), var(--bg) 58%);--header-bg: linear-gradient(180deg, rgba(58, 8, 78, .96), rgba(20, 0, 24, .92));--btn-primary-bg: linear-gradient(90deg, #ff2ec5, #7d5cff 55%, #00f0ff);--select-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff5ff' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");color-scheme:dark}[data-theme=atelier]{--bg: #f7f1e8;--bg-elev: #fffdf8;--bg-elev-2: #f3e9db;--bg-card: rgba(255, 252, 247, .78);--border: rgba(62, 48, 32, .12);--text: #241c16;--text-dim: #74685c;--accent: #ff5a3d;--accent-700: #ff8a4a;--accent-soft: rgba(255, 90, 61, .14);--on-accent: #fffaf3;--green: #2aa56a;--red: #e23b4a;--radius: 18px;--radius-sm: 12px;--font: "Gill Sans", "Gill Sans MT", "Avenir Next", "Segoe UI", sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;--shadow: 0 20px 48px rgba(80, 52, 28, .08);--page-bg: radial-gradient(ellipse 48% 40% at 4% 0%, rgba(255, 90, 61, .28), transparent 68%), radial-gradient(ellipse 42% 46% at 100% 6%, rgba(78, 148, 255, .22), transparent 66%), radial-gradient(ellipse 50% 42% at 92% 100%, rgba(168, 230, 96, .26), transparent 64%), radial-gradient(ellipse 44% 38% at 0% 92%, rgba(255, 204, 86, .24), transparent 66%), radial-gradient(ellipse 30% 28% at 52% 48%, rgba(168, 120, 255, .12), transparent 72%), #f7f1e8;--header-bg: rgba(255, 250, 243, .72);--btn-primary-bg: linear-gradient(135deg, #ff5a3d, #ff8a4a);--select-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23241c16' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");color-scheme:light}[data-theme=halo]{--bg: #eef1f8;--bg-elev: #ffffff;--bg-elev-2: #e4e9f4;--bg-card: rgba(255, 255, 255, .72);--border: rgba(70, 82, 120, .16);--text: #12151c;--text-dim: #5b6478;--accent: #4f46ff;--accent-700: #6366ff;--accent-soft: rgba(79, 70, 255, .12);--on-accent: #ffffff;--green: #0f9f6e;--red: #e5484d;--radius: 20px;--radius-sm: 14px;--font: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;--font-display: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;--shadow: 0 24px 60px rgba(47, 62, 120, .14);--page-bg: radial-gradient(ellipse at 8% -10%, rgba(99, 102, 241, .28), transparent 42%), radial-gradient(ellipse at 100% 0%, rgba(34, 211, 238, .22), transparent 36%), radial-gradient(ellipse at 82% 100%, rgba(244, 114, 182, .18), transparent 40%), linear-gradient(180deg, #f8f9fd 0%, #eef1f8 48%, #e7ebf6 100%);--header-bg: linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(248, 250, 255, .72));--btn-primary-bg: linear-gradient(135deg, #6366ff 0%, #4f46ff 48%, #22d3ee 140%);--select-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2312151c' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");color-scheme:light}[data-theme=robotic]{--bg: #d5e1ec;--bg-elev: rgba(245, 249, 252, .46);--bg-elev-2: rgba(228, 238, 246, .38);--bg-card: rgba(247, 251, 255, .36);--border: rgba(122, 154, 180, .32);--text: #143044;--text-dim: #5a7388;--accent: #00b7ff;--accent-700: #007fd4;--accent-soft: rgba(0, 183, 255, .16);--on-accent: #f3fcff;--green: #10c48c;--red: #e44568;--radius: 18px;--radius-sm: 12px;--font: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;--font-display: "Avenir Next Condensed", "Segoe UI", "Helvetica Neue", sans-serif;--shadow: 0 16px 36px rgba(36, 86, 124, .12), inset 0 1px 0 rgba(255, 255, 255, .92);--page-bg: radial-gradient(ellipse 48% 42% at 6% 4%, rgba(122, 240, 255, .34), transparent 58%), radial-gradient(ellipse 40% 36% at 98% 0%, rgba(0, 132, 255, .2), transparent 54%), radial-gradient(ellipse 50% 40% at 78% 100%, rgba(18, 183, 255, .2), transparent 56%), radial-gradient(ellipse 28% 22% at 42% 48%, rgba(255, 255, 255, .28), transparent 70%), repeating-linear-gradient(118deg, rgba(255, 255, 255, .1) 0 1px, transparent 1px 8px), repeating-linear-gradient(28deg, rgba(109, 132, 152, .07) 0 1px, transparent 1px 11px), linear-gradient(165deg, #f3f8fc 0%, #d5e3ef 38%, #c2d3e2 72%, #b7c8d8 100%);--header-bg: linear-gradient(180deg, rgba(255, 255, 255, .38), rgba(232, 242, 250, .22));--btn-primary-bg: linear-gradient(180deg, #8af6ff 0%, #00b7ff 46%, #0077ea 140%);--select-caret: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23143044' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");color-scheme:light}:root,[data-theme=night],[data-theme=pop],[data-theme=atelier],[data-theme=halo],[data-theme=robotic]{--panel: var(--bg-elev);--card: var(--bg-card);--muted: var(--text-dim);--danger: var(--red);--success: var(--green);--live: var(--green);--idle: var(--text-dim);--link: color-mix(in srgb, var(--accent) 72%, var(--text));--link-hover: var(--text);--green-soft: color-mix(in srgb, var(--green) 18%, transparent);--red-soft: color-mix(in srgb, var(--red) 16%, transparent);--radius-lg: var(--radius);--chrome-height: 40px;--tap: 2.5rem;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;font-size:15px;line-height:1.5;background:var(--page-bg);color:var(--text)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{-webkit-text-size-adjust:100%}body{position:relative;min-height:100vh;background:var(--page-bg);color:var(--text);font-family:var(--font);line-height:1.5;-webkit-tap-highlight-color:transparent}#root{position:relative;z-index:1}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input,select{font:inherit;color:inherit}a.btn{display:inline-flex;text-decoration:none;text-align:center}.btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);border-radius:var(--radius-sm);padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary,button.primary{background:var(--btn-primary-bg);border-color:transparent;color:var(--on-accent)}.btn.primary:hover:not(:disabled),button.primary:hover:not(:disabled){border-color:transparent}.btn.ghost,button.ghost{background:transparent;border-color:var(--border);color:var(--text-dim)}.btn.ghost:hover:not(:disabled),button.ghost:hover:not(:disabled){color:inherit;background:#ffffff0d;border-color:var(--border)}.btn.danger,button.danger{color:var(--danger)}.btn-danger,button.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.btn-danger:hover:not(:disabled),button.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.btn.small,button.small{min-height:32px;padding:4px 10px;font-size:12px}input[type=text],input[type=password],input[type=number],input[type=datetime-local],input:not([type]){width:100%;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:var(--radius-sm);padding:10px 12px}input:focus,select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;background-color:var(--bg-elev-2);background-image:var(--select-caret);background-repeat:no-repeat;background-position:right 10px center;background-size:12px;border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:10px 32px 10px 12px;font:inherit;font-weight:500}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim)}label.checkbox{flex-direction:row;align-items:center;gap:8px;color:var(--text)}.muted{color:var(--muted)}.small{font-size:.8rem}.error{color:var(--danger)}.success{color:var(--success)}.stack{display:grid;gap:.65rem}.row{display:flex;gap:.5rem;flex-wrap:wrap}.row label{flex:1;min-width:0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.login-overlay,.login-view{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:transparent}.login-card{width:100%;max-width:420px;padding:28px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-card h1{margin:0;font-size:24px}.login-card h2{margin:.85rem 0 .5rem;font-size:1.25rem}.login-card p,.subtitle{margin:0 0 6px;color:var(--text-dim);font-size:14px}.login-card a.btn,.login-card a.btn:hover{text-decoration:none}.brand-row{display:flex;align-items:center;gap:10px;min-width:0}.app-icon{width:28px;height:28px;border-radius:7px;flex-shrink:0;display:block}.app-chrome .app-icon{width:22px;height:22px;border-radius:6px}.brand{margin:0;font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:.2px}.brand span{color:var(--accent)}.section-title{margin:0;font-size:20px}.form-error{margin:0;color:var(--red);font-size:13px}.meta-list{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;margin:0;font-size:13px}.meta-list dt{color:var(--text-dim)}.meta-list dd{margin:0;word-break:break-word}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent)}.badge.user{color:var(--text-dim);background:var(--bg-elev-2)}.app-shell{min-height:100vh}.admin-view{display:flex;flex-direction:column;min-height:100%}.admin-body{width:100%;max-width:960px;padding:calc(var(--chrome-height) + env(safe-area-inset-top,0px) + 8px) 16px 32px}.app-chrome{position:fixed;top:0;left:0;right:0;z-index:70;height:calc(var(--chrome-height) + env(safe-area-inset-top,0px));display:flex;align-items:stretch;justify-content:space-between;gap:8px;padding:env(safe-area-inset-top,0px) max(8px,env(safe-area-inset-right,0px)) 0 max(8px,env(safe-area-inset-left,0px));background:var(--header-bg);border-bottom:1px solid var(--border);box-shadow:0 8px 24px #0000002e}.app-chrome-start{display:flex;align-items:center;min-width:0;flex:1;gap:6px}.app-chrome .brand-row{gap:8px;flex-shrink:0}.app-chrome-home{display:inline-flex;align-items:center;color:inherit;text-decoration:none;cursor:pointer}.app-chrome-home:hover .app-chrome-brand,.app-chrome-home:hover .brand{color:var(--accent)}.app-chrome-home:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.app-chrome-brand{display:flex;align-items:center;margin:0;padding:0 6px 0 2px;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.01em;white-space:nowrap}.app-chrome-brand span{color:var(--accent);margin-left:.3em}.app-chrome-end{display:flex;align-items:center;gap:6px;flex-shrink:0}.app-chrome .btn{min-height:28px;height:28px;padding:2px 8px;font-size:12px;text-decoration:none}.app-chrome .btn.active{border-color:var(--accent)}.app-chrome .btn.account{background:var(--text);color:var(--bg);border-color:var(--text);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-chrome a.btn.account:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.tabs{display:flex;align-items:center;flex-wrap:nowrap;gap:4px;height:auto;margin:0;padding:3px;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:fit-content}.tabs::-webkit-scrollbar{display:none}.tab,.app-chrome .tabs .btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--text-dim);min-height:26px;height:26px;padding:0 12px;font:inherit;font-size:12px;font-weight:600;letter-spacing:.01em;cursor:pointer;white-space:nowrap;box-shadow:none}.tab:hover:not(.active),.app-chrome .tabs .btn:hover:not(.active){color:var(--text)}.tab.active,.app-chrome .tabs .btn.active,.app-chrome .tabs .btn[aria-selected=true]{background:var(--bg-card);color:var(--text);box-shadow:var(--shadow)}.subtabs{display:flex;flex-wrap:nowrap;align-items:center;gap:0;margin:0 0 10px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--border);scrollbar-width:none;-webkit-overflow-scrolling:touch}.subtabs::-webkit-scrollbar{display:none}.subtab{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid transparent;border-bottom:none;background:transparent;color:var(--text-dim);border-radius:0;padding:6px 10px;margin-bottom:-1px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.subtab:hover:not(.active){color:var(--text);background:var(--bg-elev)}.subtab.active{background:var(--bg-card);border-color:var(--border);border-bottom-color:var(--bg-card);color:var(--text)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card+.card{margin-top:18px}.card h2{margin:0 0 16px;font-size:17px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h2{margin:0}.card-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.muted.compact{margin-top:8px;font-size:12px}.form-actions{display:flex;flex-wrap:wrap;gap:8px}.viewer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.viewer-row{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.viewer-row-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.viewer-row-link{flex:1;min-width:0;display:block;margin:0;padding:8px 12px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:calc(var(--radius-sm) - 4px)}.viewer-row-link:hover:not(:disabled){background:var(--accent-soft)}.viewer-row-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.viewer-row-meta strong{font-size:14px}.viewer-status{font-size:12px;color:var(--text-dim);text-transform:lowercase}.viewer-status.status-connected{color:var(--green)}.help-panel{display:flex;flex-direction:column;gap:16px}.help-hero{display:flex;align-items:center;gap:20px;padding:18px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.help-logo{width:132px;height:132px;flex-shrink:0;object-fit:contain;border-radius:var(--radius-sm);background:#000}.help-hero-text{min-width:0}.help-hero h2{margin:0 0 8px;font-size:22px}.help-lead{margin:0;color:var(--text-dim);font-size:15px;line-height:1.55}.help-content{display:flex;flex-direction:column;gap:14px}.help-card{padding:18px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.help-card h3{margin:0 0 12px;font-size:16px}.help-card p{margin:0 0 10px;color:var(--text-dim);font-size:14px;line-height:1.55}.help-card p:last-child{margin-bottom:0}.help-steps,.help-list{margin:0;padding-left:20px;color:var(--text-dim);font-size:14px;line-height:1.55}.help-steps li+li,.help-list li+li{margin-top:8px}@media(max-width:960px){:root,[data-theme=night],[data-theme=pop],[data-theme=atelier],[data-theme=halo],[data-theme=robotic]{--chrome-height: 36px}.app-chrome-brand{display:none}.tab{padding:0 10px}.subtab{padding:5px 8px;font-size:12px}.card{padding:14px}}@media(max-width:768px){.row label{min-width:calc(50% - .25rem)}.row.actions{flex-direction:column}.row.actions button,.form-actions .btn{width:100%}.url-field .url-row{flex-direction:column}.url-field .btn{width:100%}.metrics-grid{grid-template-columns:1fr}.metrics-header .pill{width:100%;text-align:center}}@media(max-width:640px){.admin-body{padding-left:10px;padding-right:10px}.app-chrome-end .btn{padding:2px 7px}.help-hero{flex-direction:column;align-items:flex-start}.help-logo{width:108px;height:108px}.viewer-row-main{display:flex;flex-direction:column;align-items:stretch}}.app-error{margin:0 0 .65rem;font-size:.85rem}.error.banner{padding:10px 14px;background:var(--red-soft);border-radius:var(--radius-sm)}h1{margin:0;font-size:1.35rem}h2{margin:0;font-size:1.1rem;font-weight:600}h3{margin:0;font-size:.95rem}.admin-panel{max-width:1100px}.admin-status{margin:0 0 .75rem}.admin-edit-row td{padding:.85rem 1rem 1rem;background:var(--accent-soft);border-bottom:1px solid var(--border)}.admin-edit-form{max-width:960px}.admin-user-id{margin-top:.15rem}.admin-consumers-summary{margin-bottom:1.25rem}.admin-consumers-summary h3{margin:0;font-size:1.05rem}.admin-consumers-table-wrap{margin-top:.5rem}.admin-consumers-table{min-width:640px}.admin-sessions-table{min-width:560px}.admin-stream-list{display:flex;flex-direction:column;gap:.5rem}.admin-stream-row{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-elev-2)}.admin-stream-summary-row{display:flex;align-items:stretch;gap:0}.admin-stream-summary-row .admin-stream-summary{flex:1 1 auto;min-width:0}.admin-stream-actions{display:flex;align-items:center;gap:.35rem;padding:0 .75rem 0 0;flex:0 0 auto}.admin-stream-actions .btn{min-height:2rem;padding:.25rem .55rem}@media(max-width:720px){.admin-stream-summary-row{flex-wrap:wrap}.admin-stream-actions{width:100%;justify-content:flex-end;padding:0 .75rem .65rem}}.admin-stream-row.expanded{border-color:var(--accent)}.admin-stream-summary{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.admin-stream-summary:hover{background:var(--accent-soft)}.admin-stream-chevron{flex:0 0 auto;width:1rem;color:var(--muted)}.admin-stream-name{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.1rem}.admin-stream-owner{display:block}.admin-stream-meta{flex:0 0 auto;white-space:nowrap}.admin-stream-detail{padding:0 1rem 1rem;border-top:1px solid var(--border)}.admin-stream-section+.admin-stream-section{margin-top:1rem}.admin-stream-section h4{margin:.75rem 0 .35rem;font-size:.95rem}.admin-tabs{margin-bottom:1rem}.preview-off{padding:.75rem 0}.preview-enabled .preview-toolbar{align-items:center;justify-content:space-between;margin-bottom:.25rem}.preview-toolbar-title{margin:0;font-size:1rem}.preview-enabled .preview h3{display:none}.admin-consumers-empty{margin:.5rem 0 0}.admin-consumers-user-panel h4{margin:0 0 .25rem}.history-col-actions{white-space:nowrap}.admin-sl-key{font-family:var(--mono);font-size:.78rem}.ip-address{position:relative;display:inline-flex;align-items:center}.ip-address-value{cursor:help;text-decoration:underline dotted;text-underline-offset:.15em}.ip-tooltip{position:fixed;z-index:10000;min-width:12rem;max-width:18rem;padding:.45rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-elev);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.15rem;font-size:.78rem;line-height:1.35;pointer-events:none}.ip-tooltip-line{display:block;white-space:normal}.pill.small-warn{font-size:.62rem;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);margin-left:.25rem}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.history-table{width:100%;border-collapse:collapse;min-width:720px}.history-table th,.history-table td{padding:.75rem .85rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.history-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:var(--bg-elev)}.history-table tr:last-child td{border-bottom:none}.history-row{transition:background .12s ease}.history-row:hover{background:var(--accent-soft)}.history-row.active td{background:color-mix(in srgb,var(--accent) 14%,transparent)}.history-col-actions{width:9rem;text-align:right;white-space:nowrap}.history-col-actions .btn+.btn{margin-left:.35rem}.history-empty{text-align:center;padding:1.25rem!important}.pill{font-size:.68rem;padding:.12rem .45rem;border-radius:999px;border:1px solid var(--border);text-transform:capitalize;white-space:nowrap}.pill.live{color:var(--live);border-color:color-mix(in srgb,var(--live) 35%,transparent)}.detail-placeholder{min-height:140px;display:grid;place-items:center;text-align:center;font-size:.85rem}.compact-panel h2{font-size:.9rem}.compact-panel p,.help p{margin:.15rem 0 0;font-size:.85rem}.metrics-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.metrics-header h3{font-size:.9rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.metric-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem;display:grid;gap:.35rem}.metric-card h4{margin:0;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.metric-row{display:grid;gap:.05rem}.metric-label{font-size:.72rem;color:var(--muted)}.metric-value{font-family:var(--mono);font-size:.82rem}.metric-hint{margin:0}.metric-status{display:flex;align-items:center;gap:.35rem;font-size:.82rem}.metric-dot{width:.45rem;height:.45rem;border-radius:999px;background:var(--idle);flex-shrink:0}.metric-status.ok .metric-dot{background:var(--live);box-shadow:0 0 0 2px var(--green-soft)}.metric-error{background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);border-radius:var(--radius);padding:.6rem;font-size:.85rem}.metric-error pre{margin:.25rem 0 0;white-space:pre-wrap;word-break:break-word;font-size:.78rem}.metric-log{word-break:break-word;font-size:.78rem}.obs-help{padding:.6rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.setup-steps{margin:.35rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem}.setup-steps code{margin:0 .15rem}.url-field-empty input:disabled{opacity:.75;font-style:italic}.preview h3,.settings-form h3{font-size:.9rem}.preview-players{display:grid;gap:.65rem}.hls-player-video{width:100%;max-width:960px}.hls-player{display:grid;gap:.3rem}.hls-player-label{font-size:.78rem;color:var(--muted)}.hls-player-media-frame{display:block;max-width:100%;overflow:hidden;background:#000;border-radius:var(--radius);border:1px solid var(--border)}.hls-player-media-frame .hls-player-media{display:block;width:100%;height:auto;max-height:min(70vh,720px);border:none;border-radius:0;background:#000;object-fit:contain}.hls-player-media-frame-crop .hls-player-media{object-fit:cover;object-position:center;max-height:min(70vh,720px)}.hls-player-media{display:block;max-width:100%;background:#000;border-radius:var(--radius);border:1px solid var(--border)}video.hls-player-media{height:auto;object-fit:contain}.hls-player-media-audio{display:none}.hls-player-audio{max-width:100%}.hls-audio-controls{display:flex;align-items:center;gap:.5rem}.hls-audio-volume{flex:1;min-width:0;accent-color:var(--accent)}.hls-audio-volume-value{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--muted);min-width:2.5rem;text-align:right}.hls-player-status{margin:0;font-size:.8rem}.detail-header{display:flex;justify-content:space-between;align-items:center;gap:.65rem}.detail-header h2{font-size:1rem}.stream-controls{display:grid;gap:.35rem}.stream-controls .success,.stream-controls .error{margin:0}.detail-preview{padding-bottom:.75rem;border-bottom:1px solid var(--border)}.detail-preview .preview h3{margin:0 0 .35rem}.detail-tabs{display:flex;gap:.25rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--border);padding-bottom:.45rem;margin:0 -.15rem;padding-left:.15rem;padding-right:.15rem}.detail-tabs::-webkit-scrollbar{display:none}.detail-tab{background:transparent;border:1px solid transparent;border-radius:var(--radius);padding:.35rem .7rem;font-size:.82rem;white-space:nowrap;flex-shrink:0;min-height:var(--tap)}.detail-tab.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.detail-tab-panel{display:grid;gap:.65rem}.url-field .url-row{display:flex;gap:.4rem}.url-field input{flex:1;min-width:0;font-family:var(--mono);font-size:.78rem}.url-field .ghost{flex-shrink:0;min-height:var(--tap)}.help ul{margin:.15rem 0 0;padding-left:1.1rem;font-size:.85rem}.label{color:var(--muted);font-size:.78rem}.row.actions{gap:.4rem}.row.actions button{min-height:var(--tap)}@media(max-width:400px){.row label{min-width:100%}}.theme-dock{position:fixed;top:max(6px,env(safe-area-inset-top,0px));right:max(8px,env(safe-area-inset-right,0px));z-index:110;display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0;min-width:0;padding:0;background:none;border:none;box-shadow:none;font-size:12px}.theme-dock-account,.theme-dock-theme{display:inline-flex;flex-direction:row;align-items:center;gap:6px;min-width:0;font-size:inherit}.theme-dock-label{flex-shrink:0;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;letter-spacing:.08em;text-transform:uppercase;text-align:right;color:var(--text-dim)}.theme-dock-user{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text);text-decoration:none}.theme-dock-user:hover{color:var(--accent)}.theme-dock select,.theme-dock .btn{box-sizing:border-box;width:auto;min-width:0;height:28px;min-height:28px;margin:0;padding:2px 8px;font:inherit;font-size:inherit;font-weight:600;line-height:1}.theme-dock select{-moz-appearance:auto;appearance:auto;-webkit-appearance:menulist;min-width:7.5rem;background:var(--bg-elev-2);background-image:none;border:1px solid var(--border);border-radius:6px;color:var(--text);font-weight:500;vertical-align:middle}.theme-dock .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}.theme-dock .btn.account{background:var(--text);color:var(--bg);border-color:var(--text)}.theme-dock a.btn.account:hover{background:var(--accent);color:var(--on-accent, var(--bg));border-color:var(--accent)}.theme-dock .btn.theme-dock-logout{background:transparent;color:var(--text-dim);border-color:var(--border)}.app-chrome .theme-dock{position:static;top:auto;right:auto;z-index:auto}[data-theme=pop] .brand span,[data-theme=pop] .app-chrome-brand span{background:linear-gradient(90deg,#ff2ec5,#7d5cff 50%,#00f0ff);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=pop] .btn.primary{box-shadow:0 0 0 1px #ffffff1f,0 8px 24px #ff2ec547}[data-theme=pop] .login-card,[data-theme=pop] .card,[data-theme=pop] .theme-dock,[data-theme=pop] .help-hero,[data-theme=pop] .help-card,[data-theme=pop] .metric-card{box-shadow:0 16px 40px #7d5cff2e,0 0 0 1px #ff2ec52e}[data-theme=atelier] .brand{font-weight:400;letter-spacing:.04em}[data-theme=atelier] .brand span,[data-theme=atelier] .app-chrome-brand span{font-style:italic;letter-spacing:.02em;background:linear-gradient(120deg,#ff5a3d,#4e94ff 52%,#8fd94a);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=atelier] .theme-dock-label{letter-spacing:.12em}[data-theme=atelier] .btn.primary{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}[data-theme=atelier] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='900' viewBox='0 0 1440 900' fill='none'%3E%3Ccircle cx='120' cy='70' r='210' fill='%23ff5a3d' fill-opacity='0.16'/%3E%3Crect x='1180' y='-80' width='280' height='360' rx='40' transform='rotate(16 1320 100)' fill='%234e94ff' fill-opacity='0.14'/%3E%3Cpath d='M1220 620c70-110 240-120 310 20 40 80-20 170-120 196-140 36-250-46-190-216z' fill='%238fd94a' fill-opacity='0.2'/%3E%3Ccircle cx='720' cy='470' r='88' fill='none' stroke='%23f0b429' stroke-width='22' stroke-opacity='0.18'/%3E%3Cpath d='M-20 640c180-90 320-20 460 90' fill='none' stroke='%23a878ff' stroke-width='28' stroke-linecap='round' stroke-opacity='0.14'/%3E%3Cpath d='M980 180c40 70-20 140-90 150' fill='none' stroke='%23ff5a3d' stroke-width='16' stroke-linecap='round' stroke-opacity='0.18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center top;background-size:cover}[data-theme=atelier] body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:linear-gradient(115deg,transparent 46%,rgba(255,255,255,.28) 47%,transparent 52%),radial-gradient(circle at 78% 24%,rgba(255,255,255,.45),transparent 22%)}[data-theme=atelier] .app-shell,[data-theme=atelier] .login-view{position:relative;z-index:1}[data-theme=atelier] .login-card,[data-theme=atelier] .card,[data-theme=atelier] .help-hero,[data-theme=atelier] .help-card,[data-theme=atelier] .metric-card{border-color:#241c1614;box-shadow:0 18px 40px #50341c14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}[data-theme=atelier] .app-chrome{overflow:visible;border-bottom-color:#241c1614;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}[data-theme=atelier] .app-chrome-brand{letter-spacing:.02em;font-weight:600}[data-theme=atelier] .tabs,[data-theme=atelier] .subtabs{gap:6px}[data-theme=atelier] .subtabs{border-bottom:0;padding:4px 2px 6px}[data-theme=atelier] .tab,[data-theme=atelier] .subtab{height:28px;margin-bottom:0;padding:0 10px;border-radius:999px;border-color:transparent;color:var(--text);background:#fffdf88c}[data-theme=atelier] .tab:hover:not(.active),[data-theme=atelier] .subtab:hover:not(.active){background:#ffffffeb}[data-theme=atelier] .tab.active,[data-theme=atelier] .subtab.active{color:var(--text);background:#fff;border-color:transparent;box-shadow:0 0 0 2px #ff5a3d,0 8px 18px #ff5a3d29}[data-theme=halo] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(79,70,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(79,70,255,.045) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 28%,transparent 78%);mask-image:radial-gradient(ellipse at 50% 0%,#000 28%,transparent 78%)}[data-theme=halo] .app-shell,[data-theme=halo] .login-view{position:relative;z-index:1}[data-theme=halo] .brand{font-weight:700;letter-spacing:-.04em}[data-theme=halo] .brand span,[data-theme=halo] .app-chrome-brand span{background:linear-gradient(120deg,#4f46ff 10%,#22d3ee 55%,#f472b6 120%);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=halo] .theme-dock,[data-theme=halo] .login-card,[data-theme=halo] .card,[data-theme=halo] .help-hero,[data-theme=halo] .help-card,[data-theme=halo] .app-chrome,[data-theme=halo] .metric-card{-webkit-backdrop-filter:blur(22px) saturate(1.35);backdrop-filter:blur(22px) saturate(1.35);box-shadow:0 18px 48px #2f3e781a,inset 0 1px #ffffffbf;border-color:#ffffffb3}[data-theme=halo] .btn.primary{box-shadow:0 10px 24px #4f46ff47}[data-theme=robotic]{overflow-x:hidden}[data-theme=robotic] body{letter-spacing:.015em}[data-theme=robotic] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:url(/themes/robotic/hud.svg),url(/themes/robotic/chassis.svg),url(/themes/robotic/circuit.svg),url(/themes/robotic/vents.svg),url(/themes/robotic/rivets.svg),url(/themes/robotic/diamond-plate.svg),url(/themes/robotic/hex-mesh.svg),url(/themes/robotic/carbon.svg),url(/themes/robotic/brushed.svg);background-repeat:no-repeat,no-repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat;background-position:center top,center top,18px 10px,0 6%,0 0,10px 8px,0 0,0 0,0 0;background-size:cover,cover,240px 240px,320px 104px,180px 120px,168px 168px,112px 64px,48px 48px,200px 200px;background-blend-mode:normal,normal,screen,multiply,overlay,multiply,overlay,multiply,overlay}[data-theme=robotic] body:after{content:"";position:fixed;top:-6%;right:-6%;bottom:-6%;left:-6%;pointer-events:none;z-index:0;background-image:url(/themes/robotic/coolant.svg),radial-gradient(circle at 12% 14%,rgba(18,120,210,.16),transparent 22%),radial-gradient(circle at 86% 18%,rgba(10,90,180,.14),transparent 24%),radial-gradient(circle at 70% 90%,rgba(0,70,160,.12),transparent 28%);background-repeat:no-repeat;background-position:50% 42%,0 0,0 0,0 0;background-size:cover,auto,auto,auto;animation:robotic-coolant-flow 22s ease-in-out infinite alternate}@keyframes robotic-coolant-flow{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-.7%,.5%,0) scale(1.012)}}@media(prefers-reduced-motion:reduce){[data-theme=robotic] body:after{animation:none}}@media(max-width:700px){[data-theme=robotic] body:before{background-image:url(/themes/robotic/hud.svg),url(/themes/robotic/chassis.svg),url(/themes/robotic/diamond-plate.svg),url(/themes/robotic/hex-mesh.svg),url(/themes/robotic/brushed.svg);background-repeat:no-repeat,no-repeat,repeat,repeat,repeat;background-position:center top,center top,10px 8px,0 0,0 0;background-size:cover,cover,168px 168px,112px 64px,200px 200px;background-blend-mode:normal,normal,multiply,overlay,overlay}}[data-theme=robotic] .app-shell,[data-theme=robotic] .login-view{position:relative;z-index:1}[data-theme=robotic] .brand{font-weight:700;letter-spacing:.08em;text-transform:uppercase}[data-theme=robotic] .brand span,[data-theme=robotic] .app-chrome-brand span{background:linear-gradient(120deg,#7af0ff 8%,#00b7ff 48%,#0066e0 120%);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=robotic] .app-chrome-brand{letter-spacing:.08em;text-transform:uppercase}[data-theme=robotic] .theme-dock,[data-theme=robotic] .login-card,[data-theme=robotic] .card,[data-theme=robotic] .help-hero,[data-theme=robotic] .help-card,[data-theme=robotic] .metric-card,[data-theme=robotic] .admin-stream-row,[data-theme=robotic] .viewer-row{background-color:var(--bg-card);background-image:linear-gradient(180deg,#ffffff47,#ecf4fa24 48%,#d6e4ef2e),url(/themes/robotic/rivets.svg);background-repeat:no-repeat;background-size:auto,100% 100%;border-color:#ffffff6b;box-shadow:0 18px 40px #24567c1a,inset 0 1px #ffffff8c,inset 0 -10px 18px #8caec614;backdrop-filter:blur(14px) saturate(1.18);-webkit-backdrop-filter:blur(14px) saturate(1.18)}[data-theme=robotic] .app-chrome{overflow:visible;border-bottom:0;box-shadow:0 12px 28px #24567c1a,inset 0 -2px #00b7ff8c,inset 0 1px #ffffffe6;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}[data-theme=robotic] .app-chrome:after{content:"";position:absolute;left:10%;right:10%;bottom:-7px;height:10px;border-radius:999px;background:linear-gradient(90deg,transparent,#7af0ff 18%,#00b7ff 50%,#0066e0 82%,transparent);opacity:.7;filter:blur(2px);pointer-events:none}[data-theme=robotic] .btn.primary{border:0;box-shadow:0 10px 24px #0096ff52,inset 0 1px #ffffff8c,inset 0 -8px 12px #0050b438}[data-theme=robotic] .btn,[data-theme=robotic] .tab,[data-theme=robotic] .subtab{border-radius:999px}[data-theme=robotic] .tabs,[data-theme=robotic] .subtabs{gap:6px}[data-theme=robotic] .subtabs{border-bottom:0;padding:4px 2px 6px}[data-theme=robotic] .tab,[data-theme=robotic] .subtab{height:28px;margin-bottom:0;padding:0 12px;border-color:transparent;background:#ffffff38;color:var(--text)}[data-theme=robotic] .tab:hover:not(.active),[data-theme=robotic] .subtab:hover:not(.active){background:#ffffff6b}[data-theme=robotic] .tab.active,[data-theme=robotic] .subtab.active{color:#06324c;background:linear-gradient(180deg,#d9f8ff,#8fe9ff 58%,#3ad4ff);border-color:transparent;box-shadow:0 0 0 1px #00b7ff59,0 8px 18px #0096ff38,inset 0 1px #fffc}[data-theme=atelier] select,[data-theme=halo] select,[data-theme=robotic] select{color-scheme:light}[data-theme=robotic] input[type=text],[data-theme=robotic] input[type=password],[data-theme=robotic] input[type=number],[data-theme=robotic] input[type=datetime-local],[data-theme=robotic] input:not([type]),[data-theme=robotic] select{background:linear-gradient(180deg,#ffffff6b,#e7f0f647);border-color:#96b4c861;box-shadow:inset 0 1px #ffffff8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme] .theme-dock{background:none;background-image:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;outline:none;padding:0}[data-theme] .theme-dock .theme-dock-label,[data-theme] .theme-dock .theme-dock-user,[data-theme] .theme-dock select,[data-theme] .theme-dock .btn{font-size:12px}
