*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--color-background);color:var(--color-ink);font:15px/1.6 var(--font-body)}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}a{color:var(--color-primary)}button:disabled,select:disabled{cursor:not-allowed;opacity:.55}button,input,select,textarea{border-radius:var(--radius-control)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font:600 31px/1.3 var(--font-display);margin-bottom:8px}h2{font:600 20px/1.4 var(--font-display);margin-bottom:6px}h3{font-size:17px}p{margin-bottom:12px}small,.small{font-size:12px;line-height:1.6}.muted{color:var(--color-muted)}.mono,.numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mono{font-size:12px;overflow-wrap:anywhere}.numeric{text-align:right}.eyebrow{font:11px/1.5 var(--font-mono);letter-spacing:1.2px;color:var(--color-muted);margin-bottom:10px}.skip{position:fixed;top:-80px;left:16px;z-index:100;padding:10px;background:var(--color-surface)}.skip:focus{top:10px}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:30px 18px 24px;background:var(--color-ink);color:var(--color-surface);display:flex;flex-direction:column;gap:40px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font:600 18px/1.4 var(--font-display)}.brand small{display:block;margin-top:5px;font:9px var(--font-mono);letter-spacing:1px}.brand-mark{display:grid;place-items:center;background:var(--color-primary);color:var(--color-surface);width:42px;height:46px;border-radius:var(--radius-control);font-size:25px;font-weight:700}.sidebar nav{display:grid;gap:8px}.button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);min-height:42px;padding:9px 16px;font-size:14px;line-height:22px;font-weight:600;white-space:nowrap;transition:background-color .12s,border-color .12s}.button:hover:not(:disabled){background:var(--color-background);border-color:var(--color-muted)}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary)}.button.primary:hover:not(:disabled){filter:brightness(.92);background:var(--color-primary)}.button.danger{background:var(--color-danger);color:var(--color-surface);border-color:var(--color-danger)}.button.text-danger{color:var(--color-danger);border-color:transparent;background:transparent}.button.quiet{border-color:transparent;background:transparent;padding:6px 9px;min-height:36px;font-size:13px}.button.nav-link{background:transparent;border:1px solid transparent;color:var(--color-surface);text-align:left;padding-left:16px;font-weight:400}.button.nav-link:hover:not(:disabled){background:color-mix(in srgb,var(--color-surface) 9%,var(--color-ink));border-color:transparent}.button.nav-link.selected{background:var(--color-surface);color:var(--color-primary);font-weight:600}.sidebar-bottom{margin-top:auto;display:grid;gap:14px}.sidebar-bottom small{opacity:.8}.sidebar-bottom .quiet{color:inherit;text-align:left;padding-left:0}.main{padding:0 36px 40px;min-width:0;max-width:1512px;width:100%;margin:auto}.room-bar{min-height:100px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:22px}.room-select{display:flex;align-items:center;gap:12px}.room-select label{font-size:12px;color:var(--color-muted);white-space:nowrap}.room-select select{max-width:340px;min-width:220px;font-weight:600}.room-info{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-right:auto}.status{display:flex;align-items:center;min-height:46px;padding:10px 0;font-size:13px;color:var(--color-muted);overflow-wrap:anywhere}.status.success{color:var(--color-success)}.status.error{color:var(--color-danger)}.status.warning{color:var(--color-warning)}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 26px;gap:20px}.page-heading p:last-child{margin-bottom:0}.page-heading>.button{align-self:center}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}.metric{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:22px 24px;display:grid;gap:8px}.metric>span{color:var(--color-muted);font-size:13px}.metric>strong{font:500 36px/1.3 var(--font-display);font-variant-numeric:tabular-nums}.metric>small{color:var(--color-muted)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);overflow:hidden;margin-bottom:24px;min-width:0}.panel-heading,.toolbar{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading p{margin-bottom:0;font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;line-height:20px;padding:3px 9px;border-radius:30px;background:var(--color-background);color:var(--color-muted);font-weight:600}.badge.success{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface))}.badge.warning{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 10%,var(--color-surface))}.table-scroll{overflow:auto;scrollbar-gutter:stable;max-width:100%;border-top:1px solid var(--color-border)}table{width:100%;border-collapse:collapse;white-space:nowrap}thead{background:var(--color-background)}th{font-size:12px;font-weight:500;color:var(--color-muted);padding:12px 20px;text-align:left}td{border-top:1px solid var(--color-border);padding:15px 20px;font-size:13px;height:62px}tbody tr:hover{background:color-mix(in srgb,var(--color-background) 55%,var(--color-surface))}td strong{font-size:14px;font-weight:600}td .small{color:var(--color-muted);margin-top:4px}.identity>div{display:flex;align-items:center;gap:8px}.identity .mono{max-width:260px;overflow:hidden;text-overflow:ellipsis}.identity .quiet{padding:2px 5px;min-height:24px;font-size:11px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.empty{display:grid;place-items:center;text-align:center;padding:64px 24px;min-height:280px}.empty h3{margin-bottom:10px}.empty p{color:var(--color-muted);max-width:520px;margin-bottom:20px}.loading{min-height:300px;display:grid;place-items:center;color:var(--color-muted)}.toolbar{padding:20px 24px}.search-control{display:flex;gap:8px;align-items:center;width:400px;max-width:100%}.search-control input{width:100%}input,select,textarea{min-height:44px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);padding:10px 12px;min-width:0}select{padding-right:30px}input:hover,select:hover,textarea:hover{border-color:var(--color-muted)}input[readonly]{background:var(--color-background)}textarea{resize:none;line-height:1.7;min-height:112px}.no-resize{resize:none}.pagination{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border);font-size:13px;color:var(--color-muted);gap:16px}.notice{margin:0 24px 24px;padding:12px 16px;border-left:3px solid var(--color-primary);background:var(--color-background);font-size:13px;color:var(--color-muted)}.gift-launch{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;padding:28px}.gift-launch>div:first-child{padding-right:24px;border-right:1px solid var(--color-border)}.gift-launch h2{font-size:25px}.gift-launch .actions{margin-top:20px}.login-background{min-height:100vh;padding:10vh 8vw;display:flex;align-items:center}.login-intro{max-width:510px}.login-intro .brand-mark{margin-bottom:35px}.login-intro h1{font-size:42px;line-height:1.5}.login-intro>p:last-child{color:var(--color-muted);margin-top:24px}.login-again{margin-left:8vw;margin-top:-15vh;position:relative}.boot-error{padding:60px;min-height:100vh}dialog{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);color:var(--color-ink);padding:28px;box-shadow:0 18px 90px color-mix(in srgb,var(--color-ink) 20%,transparent);max-height:calc(100dvh - 40px);overflow:auto;scrollbar-gutter:stable}dialog::backdrop{background:color-mix(in srgb,var(--color-ink) 38%,transparent)}.form-dialog{width:min(720px,calc(100% - 32px))}.confirm-dialog{width:min(460px,calc(100% - 32px))}.form-dialog h2{font-size:24px}.description{font-size:13px;color:var(--color-muted);max-width:620px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:12px}.field{display:flex;flex-direction:column;min-width:0}.field.wide{grid-column:1/-1}.field label{font-size:13px;font-weight:600;margin-bottom:7px}.field input,.field select,.field textarea{width:100%}.field-help,.field-error{font-size:12px;line-height:1.5;display:block}.field-help{color:var(--color-muted);margin-top:5px;min-height:18px}.field-error{color:var(--color-danger);min-height:18px;margin-top:2px}.field [aria-invalid=true]{border-color:var(--color-danger)}.form-error{min-height:24px;color:var(--color-danger);font-size:13px;overflow-wrap:anywhere}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border)}.dialog-actions .button[aria-busy=true]{min-width:120px}.form-dialog form>label{display:grid;gap:8px;margin:20px 0}.confirm-dialog p{color:var(--color-muted)}
@media(max-width:1150px){.main{padding-left:24px;padding-right:24px}.room-bar{flex-wrap:wrap;gap:12px;padding:18px 0}.room-info{order:3;width:100%}.room-select select{min-width:180px}.room-bar>.button{margin-left:auto}.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-left:14px;padding-right:14px}.metric{padding:20px}.metrics{gap:14px}}
@media(max-width:960px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:16px 24px;gap:20px}.sidebar nav{display:flex;overflow:auto;gap:8px}.sidebar .brand{font-size:17px}.sidebar .brand small{display:none}.sidebar-bottom{position:absolute;right:24px;top:20px;display:flex;align-items:center;gap:12px}.sidebar-bottom small{display:none}.sidebar-bottom .quiet{padding:4px}.sidebar nav .button{flex-shrink:0}.main{max-width:none}.room-bar{min-height:90px}.gift-launch{grid-template-columns:1fr 1.5fr;gap:24px}.login-background{align-items:flex-start}.login-intro h1{font-size:32px}}
@media(max-width:640px){.sidebar{padding:16px}.sidebar-bottom .badge{display:none}.sidebar-bottom{right:16px}.main{padding:0 16px 24px}.room-bar{align-items:stretch}.room-select{flex:1}.room-select label{display:none}.room-select select{min-width:0;width:100%;max-width:100%}.room-bar>.button{padding-left:10px;padding-right:10px}.page-heading{margin-top:16px;margin-bottom:20px}h1{font-size:27px}.page-heading .eyebrow{font-size:10px}.metrics{grid-template-columns:1fr;gap:10px}.metric{grid-template-columns:1fr auto;align-items:center;padding:16px 20px;gap:3px}.metric strong{grid-row:1/3;grid-column:2;font-size:31px}.panel-heading,.toolbar{padding:18px;align-items:flex-start;flex-wrap:wrap}.toolbar .search-control{width:100%}.toolbar>.button{margin-left:auto}.gift-launch{display:block;padding:22px}.gift-launch>div:first-child{border-right:0;border-bottom:1px solid var(--color-border);padding:0 0 20px;margin-bottom:20px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.form-dialog{padding:22px}.pagination{padding:14px;align-items:flex-start;flex-direction:column}.notice{margin:0 18px 18px}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{flex:1}.confirm-dialog{padding:24px}dialog{max-height:calc(100dvh - 24px)}.login-intro h1{font-size:27px}.login-intro{padding-top:20px}.status{font-size:12px;min-height:50px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[hidden]{display:none!important}

.simulation-form{padding:0 24px 24px}.simulation-form>.form-grid{margin-bottom:16px}.simulation-form>.muted{margin-top:0}
