:root{--ink-950: #0b0d11;--ink-900: #0f1217;--ink-870: #13171e;--ink-840: #181d26;--ink-800: #1d232e;--line: #283040;--line-soft: #1c232e;--text: #e8eaf0;--text-dim: #9aa4b6;--text-faint: #808a9d;--text-faint-solid: #808a9d;--accent: #e3a857;--accent-dim: #b9863f;--accent-ink: #2a1f0c;--live: #57c9bd;--live-dim: #2f6f69;--danger: #e0626a;--danger-dim: #6e2d33;--warn: #e3a857;--r-sm: 4px;--r-md: 7px;--r-lg: 11px;--shadow: 0 1px 0 #ffffff08 inset, 0 10px 30px -18px #000000cc;--font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--rail-w: 232px;--topbar-h: 56px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 28px;--space-7: 40px;--color-fg: var(--text);--color-fg-soft: var(--text-dim);--color-bg: var(--ink-900);--color-bg-elev: var(--ink-840);--color-rule: var(--line);--color-accent: var(--accent);--color-teal: var(--live);--color-gold: var(--accent);--color-vermilion: var(--danger);--font-display: var(--font-serif);--font-body: var(--font-sans)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink-900);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.mono{font-family:var(--font-mono);font-size:.85em}.dim{color:var(--text-dim)}.faint{color:var(--text-faint-solid)}.login-wrap{min-height:100%;display:grid;place-items:center;padding:var(--space-5);background:radial-gradient(1100px 500px at 50% -10%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 70%),var(--ink-950)}.login-card{width:100%;max-width:380px;background:var(--ink-840);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--space-7) var(--space-6);box-shadow:var(--shadow)}.login-mark{display:flex;align-items:baseline;gap:8px}.login-mark b{font-family:var(--font-serif);font-size:1.6rem;font-weight:600;letter-spacing:.01em}.login-mark .accent-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);transform:translateY(-3px)}.login-kicker{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint-solid);margin-top:4px}.login-sub{color:var(--text-dim);font-size:.9rem;margin:var(--space-4) 0 var(--space-5);line-height:1.55}.login-actions{display:flex;flex-direction:column;gap:10px}.login-foot{margin-top:var(--space-5);font-family:var(--font-mono);font-size:.68rem;color:var(--text-faint-solid);line-height:1.6}.shell{display:grid;grid-template-columns:var(--rail-w) 1fr;min-height:100%}.rail{background:var(--ink-950);border-right:1px solid var(--line-soft);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.rail-brand{display:flex;align-items:center;padding:0 8px}.rail-brand b{font-family:var(--font-serif);font-size:1.25rem;font-weight:600}.rail-brand .accent-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);transform:translateY(-2px)}.rail-logo{display:block;height:60px;width:auto}.rail-kicker{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint-solid);padding:4px 8px 0}.rail-watermark{position:fixed;left:0;bottom:16px;width:var(--rail-w);display:flex;justify-content:center;opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none}.rail-watermark img{width:58%;max-width:150px;height:auto}.rail-group{display:flex;flex-direction:column;gap:2px}.rail-group-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint-solid);padding:0 8px var(--space-1)}.rail-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:var(--r-md);border-left:2px solid transparent;color:var(--text-dim);font-size:.83rem;background:none;width:100%;text-align:left;cursor:pointer;transition:background-color .12s ease,color .12s ease}.rail-link:hover{background:var(--ink-840);color:var(--text)}.rail-link.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-left-color:var(--accent);color:var(--text)}.rail-link.is-soon{opacity:.5;cursor:default}.rail-link.is-soon:hover{background:none;color:var(--text-dim)}.rail-link--solo{font-weight:500}.tag-soon{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint-solid);border:1px solid var(--line);border-radius:var(--r-sm);padding:1px 4px}.topbar{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6);border-bottom:1px solid var(--line);background:var(--ink-870);position:sticky;top:0;z-index:5}.topbar-right{display:flex;align-items:center;gap:var(--space-5)}.switcher{display:flex;align-items:center;gap:8px}.switcher-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint-solid)}.combo{position:relative}.combo-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:220px;background:var(--ink-840);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);padding:6px 10px;font:inherit;font-size:.82rem;cursor:pointer}.combo-trigger:hover{border-color:var(--accent-dim)}.combo-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-pop{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;background:var(--ink-840);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);padding:8px;z-index:20}.combo-list{max-height:280px;overflow-y:auto;margin-top:8px;display:flex;flex-direction:column;gap:2px}.combo-item{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:none;border:none;border-radius:var(--r-sm);color:var(--text);font:inherit;font-size:.83rem;padding:7px 9px;cursor:pointer}.combo-item.is-hl{background:var(--ink-800)}.combo-item.is-selected{color:var(--accent)}.combo-item small{font-family:var(--font-mono);font-size:.68rem;color:var(--text-dim)}.combo-empty{padding:12px 9px;color:var(--text-dim);font-size:.8rem}.identity{display:flex;align-items:center;gap:8px}.identity-name{font-size:.82rem}.chip-super{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-dim);border-radius:var(--r-sm);padding:1px 5px}.input,.select{background:var(--ink-840);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);padding:6px 10px;font:inherit;font-size:.82rem}.input:focus,.select:focus{outline:none;border-color:var(--accent-dim)}.input::placeholder{color:var(--text-faint-solid)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--r-md);border:1px solid transparent;font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .15s ease,background-color .15s ease}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover:not(:disabled){opacity:.92}.btn--ghost{background:transparent;color:var(--text-dim);border-color:var(--line)}.btn--ghost:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.btn--lock{background:transparent;color:var(--text-dim);border-color:var(--line-soft);font-weight:500}.btn--lock:hover{color:var(--text);border-color:var(--line)}.lock-glyph{color:var(--text-faint-solid)}.main{padding:var(--space-6) var(--space-7)}.container{max-width:1080px;margin:0 auto}.page-head{margin-bottom:var(--space-5)}.page-title{font-family:var(--font-serif);font-size:1.65rem;font-weight:600;margin:0}.page-sub{color:var(--text-dim);font-size:.85rem;margin:6px 0 0}.card{background:var(--ink-840);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow)}.section-title{font-family:var(--font-serif);font-size:1.02rem;font-weight:600;margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--line-soft)}.kv{display:grid;grid-template-columns:max-content 1fr;gap:10px 24px;align-items:baseline}.kv dt{color:var(--text-dim);font-size:.78rem}.kv dd{margin:0}.seat{display:flex;flex-direction:column;gap:7px;min-width:180px}.seat-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.seat-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint-solid)}.seat-num{font-family:var(--font-mono);font-size:.82rem}.seat-bar{height:6px;background:var(--ink-800);border-radius:999px;overflow:hidden}.seat-fill{height:100%;background:var(--accent);border-radius:999px}.toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.toolbar .spacer{flex:1}.tbl{width:100%;border-collapse:collapse}.tbl thead th{text-align:left;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint-solid);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line)}.tbl tbody td{padding:12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.tbl tbody tr:hover{background:color-mix(in srgb,var(--ink-800) 50%,transparent)}.tbl .row--revoked{opacity:.62}.cell-name{display:flex;flex-direction:column;gap:2px}.cell-name b{font-weight:600;font-size:.88rem}.cell-name span{font-family:var(--font-mono);font-size:.72rem;color:var(--text-dim)}.cell-actions{display:flex;gap:8px;justify-content:flex-end}.pill{display:inline-flex;align-items:center;font-size:.68rem;font-weight:600;letter-spacing:.02em;padding:2px 9px;border-radius:999px;border:1px solid var(--line);color:var(--text-dim)}.pill--owner{color:var(--accent);border-color:var(--accent-dim);background:color-mix(in srgb,var(--accent) 10%,transparent)}.pill--admin{color:var(--live);border-color:var(--live-dim);background:color-mix(in srgb,var(--live) 10%,transparent)}.pill--member{color:var(--text-dim);border-color:var(--line)}.status{display:inline-flex;align-items:center;gap:7px;font-size:.78rem}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot--active{background:var(--live);box-shadow:0 0 0 3px color-mix(in srgb,var(--live) 22%,transparent)}.dot--revoked{background:var(--danger)}.dot--idle{background:var(--text-faint-solid)}.note{font-size:.78rem;color:var(--text-dim);border-left:2px solid var(--accent-dim);background:color-mix(in srgb,var(--accent) 6%,transparent);padding:10px 14px;border-radius:var(--r-sm);line-height:1.55}.note code{font-family:var(--font-mono);color:var(--accent);font-size:.92em}.note+.note{margin-top:var(--space-3)}.stub-icon{font-family:var(--font-mono);color:var(--text-faint-solid);font-size:.7rem;letter-spacing:.1em}.toast-stack{position:fixed;right:var(--space-5);bottom:var(--space-5);display:flex;flex-direction:column;gap:10px;z-index:50}.toast{background:var(--ink-800);border:1px solid var(--line);border-left-width:3px;border-radius:var(--r-md);padding:11px 15px;font-size:.82rem;max-width:380px;box-shadow:var(--shadow);animation:toast-in .16s ease}.toast--ok{border-left-color:var(--live)}.toast--err{border-left-color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.workspace-preview{border:1px dashed var(--line);border-radius:var(--r-md);padding:var(--space-5);color:var(--text-dim);font-size:.82rem;text-align:center}.prefs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4) var(--space-5)}.pref-row{display:flex;flex-direction:column;gap:7px}.pref-label{display:flex;flex-direction:column;gap:2px;font-size:.82rem;color:var(--text)}.pref-hint{color:var(--text-dim);font-size:.74rem;line-height:1.4}.pref-row .select{width:100%}.warn-text{color:var(--accent)}.tier-list{display:inline-flex;flex-wrap:wrap;gap:6px}.tier{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.02em;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--text-faint-solid)}.tier--on{color:var(--accent);border-color:var(--accent-dim);background:color-mix(in srgb,var(--accent) 10%,transparent)}.pill--watch{color:var(--danger);border-color:var(--danger-dim);background:color-mix(in srgb,var(--danger) 10%,transparent)}.prov-name{font-weight:600;font-size:.84rem;text-transform:none;letter-spacing:0}.card--collapsible{padding:0;overflow:hidden}.card-summary{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.card-summary::-webkit-details-marker{display:none}.card-summary::marker{content:""}.card-summary .section-title{margin:0}.card-summary-meta{font-size:.78rem;color:var(--text-dim)}.card-summary .chev{color:var(--text-faint-solid);transition:transform .18s ease;flex-shrink:0}.card--collapsible[open] .card-summary .chev{transform:rotate(180deg)}.card-summary:hover{background:color-mix(in srgb,var(--text) 3%,transparent)}.card-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-lg)}.card-body{padding:0 var(--space-5) var(--space-5)}.th-sort{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort--right{flex-direction:row-reverse}.th-sort .th-arrow{color:var(--text-faint-solid);font-size:.72em}.th-sort:hover,.th-sort.is-active{color:var(--text)}.th-sort.is-active .th-arrow{color:var(--accent)}.th-sort:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.profile{position:relative}.profile-trigger{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid transparent;border-radius:var(--r-md);padding:5px 8px;cursor:pointer;color:var(--text);font:inherit}.profile-trigger:hover{background:var(--ink-840)}.profile-trigger .chev{color:var(--text-faint-solid)}.profile-menu{position:absolute;right:0;top:calc(100% + 6px);width:280px;background:var(--ink-870);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);z-index:50;padding:var(--space-2)}.profile-head{padding:var(--space-3);border-bottom:1px solid var(--line-soft);margin-bottom:var(--space-2)}.profile-name{margin:0;font-weight:600;font-size:.9rem}.profile-email{margin:2px 0 0;font-size:.76rem;color:var(--text-dim)}.profile-section{background:var(--ink-900);border-radius:var(--r-md);padding:var(--space-3);margin-bottom:var(--space-2)}.profile-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.84rem;padding:3px 0}.profile-tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.profile-note{margin:6px 0 0;font-size:.72rem;color:var(--text-dim);line-height:1.45}.profile-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:none;border:none;text-align:left;padding:8px var(--space-3);border-radius:var(--r-md);cursor:pointer;color:var(--text);font:inherit;font-size:.86rem}.profile-item:hover{background:var(--ink-840)}.profile-item .faint{font-size:.72rem}.profile-item--danger{color:var(--danger)}.profile-item--danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.profile-divider{height:1px;background:var(--line-soft);margin:var(--space-2) 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000a;display:flex;align-items:center;justify-content:center;padding:var(--space-5);z-index:100}.modal{width:100%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;background:var(--ink-900);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line-soft)}.modal-title{margin:0;font-family:var(--font-serif);font-size:1.15rem}.modal-close{background:none;border:none;color:var(--text-dim);font-size:1.4rem;line-height:1;cursor:pointer;padding:0 4px}.modal-close:hover{color:var(--text)}.modal-body{padding:var(--space-5);overflow-y:auto;font-size:.88rem;line-height:1.6;color:var(--text-dim)}.modal-body h3{color:var(--text);font-size:.95rem;margin:var(--space-4) 0 var(--space-2)}.modal-body h3:first-child{margin-top:0}.modal-body p{margin:0 0 var(--space-3)}.modal-foot{padding:var(--space-3) var(--space-5);border-top:1px solid var(--line-soft);display:flex;justify-content:flex-end}.tn-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.75rem;font-weight:600;letter-spacing:.01em}.tn-badge-icon{width:.95rem;height:.95rem}.tn-badge-days{margin-left:var(--space-1);color:var(--color-fg-soft);font-weight:400}.hc-tone-ok{color:var(--color-teal)}.hc-tone-gold{color:var(--color-gold)}.hc-tone-bad{color:var(--color-vermilion)}.hc-tone-muted{color:var(--color-fg-soft)}.tn-panel{border:1px solid var(--color-rule);border-radius:.75rem;background:var(--color-bg-elev);padding:var(--space-4)}.tn-panel-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.tn-panel-name{font-family:var(--font-display);font-size:1rem;color:var(--color-fg)}.tn-panel-actions{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-rule)}.tn-confirm{border:1px solid color-mix(in srgb,var(--color-vermilion) 40%,transparent);background:color-mix(in srgb,var(--color-vermilion) 10%,var(--color-bg-elev));border-radius:.625rem;padding:var(--space-3)}.tn-confirm-head{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3)}.tn-confirm-icon{width:1.1rem;height:1.1rem;color:var(--color-vermilion);flex-shrink:0;margin-top:2px}.tn-confirm-title{font-weight:600;color:var(--color-fg);margin:0 0 var(--space-1)}.tn-confirm-body{font-size:.85rem;color:var(--color-fg-soft);margin:0;line-height:1.5}.tn-confirm-buttons{display:flex;gap:var(--space-2)}.tn-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-family:var(--font-body);font-size:.8rem;font-weight:600;padding:var(--space-2) var(--space-3);border-radius:.5rem;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:opacity .15s ease,background-color .15s ease}.tn-btn:disabled{opacity:.5;cursor:default}.tn-btn--primary{background:var(--color-accent);color:var(--accent-ink)}.tn-btn--primary:hover:not(:disabled){opacity:.9}.tn-btn--danger{background:var(--color-vermilion);color:#fff}.tn-btn--danger:hover:not(:disabled){opacity:.9}.tn-btn--ghost{background:transparent;color:var(--color-fg-soft);border-color:var(--color-rule)}.tn-btn--ghost:hover:not(:disabled){color:var(--color-fg);background:color-mix(in srgb,var(--color-fg) 6%,transparent)}.tn-btn--danger-link{background:transparent;color:var(--color-vermilion);padding:var(--space-1) var(--space-2)}.tn-btn--danger-link:hover{background:color-mix(in srgb,var(--color-vermilion) 12%,transparent)}.tn-link{color:var(--color-teal);text-decoration:none}.tn-link:hover{text-decoration:underline}.tn-block{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.tn-block-card{max-width:28rem;width:100%;text-align:center;background:var(--color-bg-elev);border:1px solid var(--color-rule);border-radius:1rem;padding:var(--space-7) var(--space-6)}.tn-block-icon{width:3rem;height:3rem;color:var(--color-fg-soft);margin:0 auto var(--space-4);display:block}.tn-block-title{font-family:var(--font-display);font-size:1.35rem;color:var(--color-fg);margin:0 0 var(--space-2)}.tn-block-body{font-size:.9rem;color:var(--color-fg-soft);line-height:1.6;margin:0 0 var(--space-4)}.tn-block-foot{font-size:.8rem;color:var(--color-fg-soft);margin:0}.tn-banner-wrap{padding:var(--space-4) 0 0}.tn-banner{display:flex;align-items:center;gap:var(--space-3);background:color-mix(in srgb,var(--color-vermilion) 12%,var(--color-bg-elev));border:1px solid color-mix(in srgb,var(--color-vermilion) 40%,transparent);border-radius:.75rem;padding:var(--space-3) var(--space-4)}.tn-banner-icon{width:1.25rem;height:1.25rem;color:var(--color-vermilion);flex-shrink:0}.tn-banner-text{flex:1;font-size:.85rem;color:var(--color-fg);margin:0;line-height:1.5}.tn-banner-btn{white-space:nowrap;flex-shrink:0}
