:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f0f2f5;--border:#dde1e7;--text:#16191d;--muted:#5f6b7a;--primary:#1f3a93;--primary-hover:#182e76;--on-primary:#fff;--danger:#b3261e;--good-bg:#e6f4ea;--good-fg:#1e6b34;--warn-bg:#fff4e0;--warn-fg:#8a5300;--bad-bg:#fdecea;--bad-fg:#9b1c14;--radius:10px;--focus:0 0 0 3px color-mix(in srgb, var(--primary) 35%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#111418;--surface:#1a1e24;--surface-2:#232830;--border:#2e343d;--text:#e8eaed;--muted:#9aa4b1;--primary:#7d9bff;--primary-hover:#97afff;--on-primary:#0b1020;--danger:#ff8a80;--good-bg:#173a24;--good-fg:#8fd6a4;--warn-bg:#3a2c12;--warn-fg:#f1c27a;--bad-bg:#3d1a17;--bad-fg:#ffb4ab;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:4px 0 0;font-size:26px;line-height:1.2}h2{margin:0;font-size:16px}h3{margin:0 0 6px;font-size:15px}a{color:var(--primary)}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;min-height:44px;padding:10px 12px}input:focus,select:focus,button:focus-visible{box-shadow:var(--focus);border-color:var(--primary);outline:none}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;min-height:44px;padding:10px 16px;font-weight:600}.btn.primary{background:var(--primary);color:var(--on-primary)}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn.secondary:hover:not(:disabled){background:var(--surface-2)}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{color:var(--muted);background:0 0}.btn:disabled{opacity:.55;cursor:default}.link{color:var(--primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:20px;display:flex}.row{align-items:flex-end;gap:10px;display:flex}.row>.field,.row>input{flex:1}.inset{background:var(--surface-2);border-radius:var(--radius);margin-top:8px;padding:12px}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:13px;font-weight:600}.field-hint{color:var(--muted);font-size:12px}.banner{border-radius:8px;padding:10px 12px;font-size:14px}.banner ul{margin:6px 0 0;padding-left:18px}.banner.error{background:var(--bad-bg);color:var(--bad-fg)}.banner.warn{background:var(--warn-bg);color:var(--warn-fg)}.banner.good{background:var(--good-bg);color:var(--good-fg)}.badge{background:var(--surface-2);color:var(--muted);vertical-align:middle;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.good{background:var(--good-bg);color:var(--good-fg)}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.badge.bad{background:var(--bad-bg);color:var(--bad-fg)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.card-actions{gap:8px;display:flex}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);padding:6px 8px;font-size:12px}.table td{border-bottom:1px solid var(--border);padding:10px 8px}.table.compact td{padding:6px 8px;font-size:14px}.list{flex-direction:column;gap:6px;margin:0 0 6px;padding:0;list-style:none;display:flex}.site+.site{border-top:1px solid var(--border);padding-top:12px}.facts{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.grid-2{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:20px;display:grid}@media (width<=860px){.grid-2{grid-template-columns:1fr}}.shell{grid-template-columns:232px minmax(0,1fr);height:100dvh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden auto}.sidebar-brand{color:var(--text);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;padding:16px 18px 10px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.brand-mark{background:var(--primary);width:30px;height:30px;color:var(--on-primary);letter-spacing:0;border-radius:9px;flex:none;place-items:center;font-size:12px;font-weight:900;display:grid}.sidebar-nav{flex-direction:column;padding:4px 10px;display:flex}.nav-group{flex-direction:column;gap:1px;display:flex}.nav-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap;padding:14px 10px 4px;font-size:11px;font-weight:700}.nav-item{color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.nav-item svg{flex:none;width:20px;height:20px}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:color-mix(in srgb, var(--primary) 11%, transparent);color:var(--primary)}.sidebar-user{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:auto;padding:10px;display:flex}.sidebar-user .name{text-overflow:ellipsis;white-space:nowrap;padding:6px 10px 2px;font-size:13px;font-weight:600;overflow:hidden}.main{min-width:0;height:100%;overflow-y:auto}.content{max-width:1240px;min-height:100%;margin:0 auto;padding:22px 28px 56px}.page-loading{text-align:center;color:var(--muted);padding:40px}@media (width<=1100px){.shell{grid-template-columns:62px minmax(0,1fr)}.sidebar-brand span:not(.brand-mark),.nav-label,.nav-item span,.sidebar-user .name{display:none}.sidebar-brand{justify-content:center;padding:14px 0 6px}.nav-group{padding-top:8px}.nav-item{justify-content:center;padding:10px}.content{padding:18px 20px 48px}}@media (width<=640px){.shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;overflow:auto hidden}.sidebar-nav{flex-direction:row;padding:4px 6px}.nav-group{flex-direction:row;padding-top:0}.sidebar-user{border-top:0;flex-direction:row;margin-top:0;margin-left:auto;padding:4px 6px}.content{padding:14px 14px 40px}}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:16px;width:100%;max-width:400px;padding:28px 24px;display:flex}.code-input{letter-spacing:.3em;text-align:center;font:600 26px/1 ui-monospace,Cascadia Mono,monospace}.qr{background:#fff;border-radius:8px;align-self:center;padding:6px}.secret{background:var(--surface-2);word-break:break-all;border-radius:8px;margin-top:8px;padding:10px;display:block}.recovery-codes{columns:2;margin:0;padding-left:22px;font-family:ui-monospace,monospace}.activate{min-height:100vh;padding:20px 16px 40px}.activate-inner{flex-direction:column;gap:20px;max-width:480px;margin:0 auto;display:flex}.user-code-input{letter-spacing:.12em;text-align:center;text-transform:uppercase;font:700 30px/1 ui-monospace,Cascadia Mono,monospace}.user-code-display{letter-spacing:.1em;text-align:center;background:var(--surface);border:2px solid var(--primary);border-radius:12px;margin:0;padding:18px;font:700 40px/1 ui-monospace,Cascadia Mono,monospace}.picker{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.picker-item{text-align:left;width:100%;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;gap:2px;min-height:64px;padding:14px 16px;display:grid}.picker-item:hover:not(:disabled){border-color:var(--primary)}.picker-main{font-size:17px;font-weight:700}.picker-sub{color:var(--muted);font-size:14px}.picker-badges{gap:6px;margin-top:4px;display:flex}.success-mark{background:var(--good-bg);width:64px;height:64px;color:var(--good-fg);border-radius:50%;place-items:center;font-size:34px;font-weight:700;display:grid}.diagram{background:var(--surface-2);border-radius:var(--radius);gap:3px;margin-inline:auto;padding:8px;display:grid}.cell{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;min-width:0;font-size:12px;display:flex}.cell.panel{background:color-mix(in srgb, var(--primary) 12%, var(--surface));border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}.cell.disabled{opacity:.4;background:repeating-linear-gradient(45deg, var(--surface), var(--surface) 6px, var(--surface-2) 6px, var(--surface-2) 12px)}.cell-name{font-weight:700}.cell-size{color:var(--muted);font-size:11px}.cell{line-height:1.15;overflow:hidden;container-type:size}@container (height<=34px){.cell-size{display:none}}@container (height<=18px){.cell-name{font-size:10px}}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}a.btn{align-items:center;text-decoration:none;display:inline-flex}.branding{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:20px;display:grid}@media (width<=1100px){.branding{grid-template-columns:1fr}}.preview-sticky{position:sticky;top:72px}.kiosk-frame{background:#000;border-radius:14px;width:100%;position:relative;overflow:hidden;box-shadow:0 0 0 10px #1c1f24,0 18px 40px #00000040}.kiosk-frame iframe{transform-origin:0 0;border:0;position:absolute;top:0;left:0}.content:has(>.studio){max-width:none;height:100%;padding:0}.studio{flex-direction:column;height:100%;display:flex}.studio-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;display:flex}.studio-title{flex-direction:column;gap:2px;min-width:0;display:flex}.studio-title h1{flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:20px;display:flex}.studio-actions{align-items:center;gap:8px;display:flex}.studio-body{flex:1;grid-template-columns:minmax(360px,440px) minmax(0,1fr);min-height:0;display:grid}.studio-editor{overscroll-behavior:contain;background:var(--bg);border-right:1px solid var(--border);flex-direction:column;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.studio-stage{background:radial-gradient(circle at 50% 40%, var(--surface) 0%, var(--surface-2) 75%);flex-direction:column;gap:12px;min-width:0;min-height:0;padding:16px 24px 12px;display:flex}.studio-stage-bar{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.studio-stage-bar .screen-tabs{scrollbar-width:thin;flex-wrap:nowrap;max-width:100%;padding-bottom:2px;overflow-x:auto}.studio-stage-bar .screen-tabs button{flex:none}.kiosk-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;min-height:0;display:flex}.kiosk-stage .kiosk-frame{flex:none;margin-top:12px}.kiosk-scale{font-variant-numeric:tabular-nums}@media (width<=1000px){.studio-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.studio-stage{border-bottom:1px solid var(--border);order:-1;height:44vh;padding:10px 12px 6px}.studio-editor{border-right:0}.studio-stage-bar>.muted{display:none}}.screen-tabs{flex-wrap:wrap;gap:4px;display:flex}.screen-tabs button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.screen-tabs button.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.template-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.template-option{font:inherit;text-align:left;color:inherit;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;gap:4px;padding:12px;display:grid}.template-option span{color:var(--muted);font-size:13px}.template-option.selected{border-color:var(--primary);box-shadow:var(--focus)}.row.wrap{flex-wrap:wrap}.colour-input{align-items:center;gap:6px;display:flex}.colour-input input[type=color]{cursor:pointer;width:48px;min-height:44px;padding:2px}.colour-input .mono{width:110px}.token-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:12px;display:grid}.image-slot{grid-template-columns:120px 1fr;align-items:start;gap:16px;display:grid}.image-slot+.image-slot{border-top:1px solid var(--border);padding-top:14px}.image-thumb{background:repeating-conic-gradient(var(--surface-2) 0 25%, var(--surface) 0 50%) 0 0 / 16px 16px;border:1px solid var(--border);border-radius:8px;place-items:center;width:120px;height:80px;display:grid;overflow:hidden}.image-thumb img{object-fit:contain;max-width:100%;max-height:100%}details summary{cursor:pointer;font-weight:600}.block-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:6px;padding:10px 12px;display:grid}.block-head{justify-content:space-between;align-items:center;font-size:13px;display:flex}.block-tools{gap:10px;display:flex}.danger-text{color:var(--danger)}textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:8px;width:100%;padding:10px 12px}.chip{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:13px}.chip:hover{border-color:var(--primary)}.variables{flex-wrap:wrap;gap:6px;display:flex}.email-frame{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.email-frame iframe{background:#eef0f3;border:0;width:100%;height:640px}.email-frame.tall iframe{height:760px}.email-meta{border-bottom:1px solid var(--border);gap:2px;padding:10px 14px;display:grid}.mail-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.mail-item{font:inherit;color:inherit;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;gap:2px;width:100%;padding:10px 12px;display:grid}.mail-item.active{border-color:var(--primary);box-shadow:var(--focus)}.mail-subject{font-weight:600}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline-item{border-left:2px solid var(--border);grid-template-columns:120px 1fr;gap:12px;padding:10px 0 10px 16px;display:grid;position:relative}.timeline-item:before{content:"";background:var(--primary);border-radius:50%;width:10px;height:10px;position:absolute;top:15px;left:-6px}.timeline-item.email:before{background:var(--surface);border:2px solid var(--primary);width:6px;height:6px}.timeline-when{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:2px;padding:14px 16px;display:grid}.stat-value{font-size:28px;font-weight:800}.stat-label{color:var(--muted);font-size:13px}.stat.good .stat-value{color:var(--good-fg)}.stat.warn .stat-value{color:var(--warn-fg)}.stat.bad .stat-value{color:var(--bad-fg)}.dot{vertical-align:middle;background:var(--muted);border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.dot.good{background:#22a55b}.dot.warn{background:#f0a020}.dot.bad{background:#d93025}.alert-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.alert-item{background:var(--warn-bg);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.alert-item.critical{background:var(--bad-bg)}.alert-dot{background:var(--warn-fg);border-radius:50%;flex:none;width:8px;height:8px}.alert-item.critical .alert-dot{background:var(--bad-fg)}.alert-text{flex:1}.log-view{background:var(--surface-2);border-radius:8px;gap:1px;max-height:420px;padding:8px;font-size:12px;display:grid;overflow:auto}.log-line{border-radius:4px;grid-template-columns:70px 38px 140px 1fr;gap:8px;padding:2px 4px;display:grid}.log-line.warning{background:var(--warn-bg)}.log-line.error,.log-line.critical{background:var(--bad-bg)}.log-time,.log-level,.log-cat{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.log-msg{word-break:break-word}.engineer-code{align-items:center;gap:18px;display:flex}.engineer-code img{background:#fff;border-radius:8px;padding:4px}.engineer-code-text{letter-spacing:.08em;font-size:34px}.kiosk-screenshot{border:1px solid var(--border);border-radius:10px;width:100%;margin-top:8px}.channels{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:20px;display:grid}.channel-title{text-transform:none}.channel-now{margin:8px 0 4px}.mono.big{font-size:1.5rem;font-weight:650}.rollout-bar{background:var(--surface-2);border-radius:4px;height:8px;margin:6px 0;overflow:hidden}.rollout-bar>span{background:var(--primary);height:100%;display:block}.commission{max-width:640px;margin-inline:auto}.progress{background:var(--surface-2);border-radius:5px;height:10px;margin-top:8px;overflow:hidden}.progress>span{background:var(--good-fg);height:100%;transition:width .3s;display:block}.big-step{margin:0 0 12px;font-size:1.35rem;font-weight:650}.big-step.good{color:var(--good-fg)}.big-step.bad{color:var(--bad-fg)}.btn.huge{min-width:9em;padding:18px 28px;font-size:1.25rem}.choice-row{flex-wrap:wrap;gap:10px;display:flex}.door-title{font-size:1.5rem}.door-step{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.door-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.door-row{border:1px solid var(--border);background:var(--surface);width:100%;font:inherit;text-align:left;cursor:pointer;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.door-row.current{border-color:var(--primary);box-shadow:var(--focus)}.just-checked{border-radius:var(--radius);background:var(--good-bg);color:var(--good-fg);margin:0;padding:10px 14px;font-weight:650}.just-checked.noted{background:var(--warn-bg);color:var(--warn-fg)}:root{--accent:var(--primary);--on-accent:#fff;--accent-2:#e8912d;--on-accent-2:#1a1a1a}.insights{flex-direction:column;gap:20px;display:flex}.insights-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.insights-top h1{margin:0}.insights-top p{margin:4px 0 0}.insights-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.insights-controls select{width:auto;min-width:180px}.tabs{background:var(--surface-2);border-radius:999px;gap:2px;padding:4px;display:inline-flex}.tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600}.tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0f141e1f}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:4px;padding:18px 20px;display:flex}.kpi-label{color:var(--muted);font-size:13px;font-weight:600}.kpi-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1.1}.kpi-sub{font-size:13px}.delta{font-size:13px;font-weight:650}.delta.good{color:var(--good-fg)}.delta.bad{color:var(--bad-fg)}.delta.flat{color:var(--muted);font-weight:500}.efficiency{color:#fff;background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--accent) 92%, #fff 8%), color-mix(in srgb, var(--accent) 80%, #000 20%));box-shadow:0 18px 44px -18px color-mix(in srgb, var(--accent) 70%, transparent);border-radius:20px;padding:26px 28px;position:relative;overflow:hidden}.efficiency:after{content:"";background:color-mix(in srgb, var(--accent-2) 55%, transparent);filter:blur(60px);opacity:.55;border-radius:50%;width:280px;height:280px;position:absolute;top:-80px;right:-80px}.eff-head{z-index:1;position:relative}.eff-head h2{margin:0;font-size:22px}.eff-head p{opacity:.85;margin:4px 0 18px}.eff-stats{z-index:1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid;position:relative}.eff-stat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border-radius:14px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.eff-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1}.eff-value.out{color:color-mix(in srgb, var(--accent-2) 60%, #fff)}.eff-label{font-weight:650}.efficiency .muted{color:#ffffffb8;font-size:13px}.panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=900px){.panels{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;min-width:0;padding:18px 20px;display:flex}.panel.wide{grid-column:1/-1}.panel header h2{margin:0;font-size:17px}.panel header p{margin:4px 0 0;font-size:14px}.panel.empty{text-align:center;padding:40px}.chart{flex-direction:column;gap:8px;margin:0;display:flex}.chart svg{width:100%;height:auto;overflow:visible}.chart .grid{stroke:var(--border);stroke-width:1px}.chart .axis{fill:var(--muted);font-size:11px}.chart .hit{fill:#0000}.chart .bar.in{fill:var(--accent)}.chart .bar.out{fill:var(--accent-2)}.chart .line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.chart .line.thin{stroke-width:2px}.chart .line.in{stroke:var(--accent)}.chart .line.out{stroke:var(--accent-2)}.chart .line.waiting{stroke:var(--text);stroke-dasharray:1 5;stroke-width:2.5px;opacity:.55}.chart .cursor{stroke:var(--text);stroke-opacity:.25}.chart .stop-in{stop-color:var(--accent)}.chart .stop-out{stop-color:var(--accent-2)}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:13px;display:flex}.key{align-items:center;gap:6px;display:inline-flex}.key:before{content:"";background:currentColor;border-radius:3px;width:12px;height:12px}.key.in:before{background:var(--accent)}.key.out:before{background:var(--accent-2)}.key.waiting:before{background:var(--text);opacity:.55;border-radius:2px;height:3px}.heat-grid{align-items:center;gap:3px;display:grid}.heat-cell{aspect-ratio:1;background:color-mix(in srgb, var(--accent) calc(var(--heat) * 100%), var(--surface-2));border-radius:4px}.heat-day,.heat-hour{color:var(--muted);font-size:11px}.heat-hour{text-align:center}.hbars{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hbars li{grid-template-columns:minmax(110px,38%) 1fr auto;align-items:center;gap:10px;font-size:14px;display:grid}.hbar-track{background:var(--surface-2);border-radius:6px;height:12px;overflow:hidden}.hbar-fill{background:var(--accent);border-radius:6px;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.hbar-fill.out{background:var(--accent-2)}.hbar-fill.warn{background:#d97706}.hbar-value{font-variant-numeric:tabular-nums;text-align:right;min-width:5em;font-weight:650}.rings{flex-wrap:wrap;gap:18px;display:flex}.ring{align-items:center;gap:12px;display:flex}.ring svg{width:84px;height:84px}.ring-track{fill:none;stroke:var(--surface-2);stroke-width:8px}.ring-value{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}.ring-value.in{stroke:var(--accent)}.ring-value.out{stroke:var(--accent-2)}.ring-value.good{stroke:var(--good-fg)}.ring-text{fill:var(--text);font-size:16px;font-weight:800}.ring-label{font-weight:650}.ring-detail{font-size:13px}.door-heat{background:var(--surface-2);border-radius:12px;gap:3px;margin-inline:auto;padding:8px;display:grid}.door-cell{background:color-mix(in srgb, var(--accent) calc(12% + var(--heat) * 88%), var(--surface));color:var(--text);border-radius:4px;place-items:center;font-size:11px;display:grid;overflow:hidden}.door-cell b{font-weight:700}.door-cell.kiosk{background:repeating-linear-gradient(45deg, var(--surface), var(--surface) 5px, var(--surface-2) 5px, var(--surface-2) 10px)}.door-cell.off{opacity:.35}.insights-table tr.clickable{cursor:pointer}.insights-table tr.clickable:hover td{background:var(--surface-2)}.use-cell{width:22%}.use-bar{background:var(--accent);border-radius:4px;min-width:4px;height:8px;display:block}.share-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.share-panel header{justify-content:space-between;align-items:center;display:flex}.share-panel h2{margin:0;font-size:18px}.share-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.share-form .field{flex:1;min-width:200px}.share-made{background:var(--good-bg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.share-made input{flex:1;min-width:280px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.share-made p{width:100%;margin:0}.share-page{background:var(--bg);min-height:100vh}.share-hero{color:#fff;background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 88%, #000), var(--accent));position:relative}.share-page.has-image .share-hero{background:linear-gradient(90deg, #000000b8, #00000040), var(--hero-image) center / cover no-repeat}.share-hero-inner{flex-wrap:wrap;align-items:flex-end;gap:24px;max-width:1180px;margin:0 auto;padding:36px 24px 56px;display:flex}.share-logo{background:#fff;border-radius:14px;align-items:center;height:72px;padding:12px 18px;display:flex;box-shadow:0 10px 30px -10px #00000080}.share-logo img{object-fit:contain;width:auto;max-width:220px;height:100%}.share-title{flex:1;min-width:240px}.share-title h1{letter-spacing:-.03em;margin:0;font-size:40px}.share-title p{opacity:.88;margin:4px 0 0}.share-title .share-kicker{text-transform:uppercase;letter-spacing:.12em;opacity:.8;margin:0 0 6px;font-size:12px;font-weight:700}.share-hero .tabs{background:#ffffff2e}.share-hero .tab{color:#ffffffd9}.share-hero .tab.active{color:#111;background:#fff}.share-body{max-width:1180px;margin:-28px auto 0;padding:0 24px 40px;position:relative}.share-footer{text-align:center;margin-top:24px}.share-gone{text-align:center;max-width:520px;margin:18vh auto;padding:24px}@media (width<=600px){.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:14px}.kpi-value{font-size:26px}.share-title h1{font-size:30px}.share-logo{height:56px}.eff-value{font-size:32px}.efficiency{padding:20px}.share-body,.share-hero-inner{padding-left:14px;padding-right:14px}}.report-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.report-item{border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.report-main{flex-direction:column;gap:3px;min-width:0;display:flex}.report-actions{align-items:center;gap:12px;display:flex}.report-form{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.check{align-items:center;gap:8px;font-weight:600;display:inline-flex}.good-text{color:var(--good-fg);font-weight:600}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 20px;margin-bottom:20px;display:flex}.page-header-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.crumb{color:var(--muted);font-size:13px;text-decoration:none}.crumb:hover{text-decoration:underline}.page-header h1{letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:26px;display:flex}.page-subtitle{margin:0;font-size:14px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-header-below{width:100%}.stack-lg>.page-header{margin-bottom:0}.tabbar{border-bottom:1px solid var(--border);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tabbar button{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:600;display:inline-flex}.tabbar button:hover{color:var(--text)}.tabbar button.active{color:var(--primary);border-bottom-color:var(--primary)}.tabbar .count{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:12px;font-weight:700}.tabbar button.active .count{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary)}.tabbar .dot{margin-right:0}.tab-panel{flex-direction:column;gap:20px;padding-top:20px;display:flex}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 20px;display:flex}.empty h3{margin:0;font-size:16px}.empty p{max-width:46ch;margin:0}.search{flex:1;min-width:200px;display:block;position:relative}.search svg{width:18px;height:18px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search input{padding-left:38px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar .search{flex:1}.chips{flex-wrap:wrap;gap:6px;display:flex}.table tbody tr:hover td{background:color-mix(in srgb, var(--surface-2) 55%, transparent)}.table td:first-child,.table th:first-child{padding-left:4px}.table tbody tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.scroll-panel{max-height:min(62vh,640px);overflow:auto}.scroll-panel thead th{background:var(--surface);z-index:1;position:sticky;top:0}.facts.tidy{row-gap:8px}.facts.tidy dt{font-size:13px}.grid-2.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid-2.narrow-right{grid-template-columns:minmax(0,7fr) minmax(320px,4fr)}@media (width<=860px){.grid-2.even,.grid-2.narrow-right{grid-template-columns:1fr}}.glance{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.glance-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;min-width:0;padding:10px 14px;display:flex}.glance-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.glance-value{flex-wrap:wrap;align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.site-block{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.site-head{background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.site-head h3{align-items:baseline;gap:8px;margin:0;display:flex}.locker-rows{margin:0;padding:0;list-style:none}.locker-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.locker-row a{font-weight:600;text-decoration:none}.locker-row a:hover{text-decoration:underline}.locker-row .badges{flex-wrap:wrap;gap:6px;display:flex}.site-foot{border-top:1px solid var(--border);padding:8px 14px}.workspace{grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;height:calc(100dvh - 176px);min-height:460px;display:grid}.workspace-list{overscroll-behavior:contain;flex-direction:column;gap:6px;min-height:0;padding:2px 6px 2px 2px;display:flex;overflow-y:auto}.workspace-main{flex-direction:column;min-width:0;min-height:0;display:flex}.workspace-main .email-frame{flex:1;min-height:0}.workspace-main .email-frame iframe{flex:1;height:auto;min-height:0}.workspace-main .empty{margin:auto}@media (width<=900px){.workspace{grid-template-rows:minmax(0,2fr) minmax(0,3fr);grid-template-columns:1fr;height:calc(100dvh - 140px)}}.studio.wide-editor .studio-body{grid-template-columns:minmax(380px,540px) minmax(0,1fr)}.email-stage{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.email-stage .email-frame{flex:1;width:100%;max-width:760px;min-height:0;margin:0 auto;box-shadow:0 18px 40px -24px #00000059}.email-stage .email-frame iframe{flex:1;height:auto;min-height:0}@media (width<=1000px){.studio.wide-editor .studio-body{grid-template-columns:1fr}}.commission{grid-template-areas:"head""step""side""finish";gap:20px;max-width:640px;margin-inline:auto;display:grid}.commission-head{grid-area:head}.commission-step{flex-direction:column;grid-area:step;gap:12px;display:flex}.commission-side{flex-direction:column;grid-area:side;gap:16px;display:flex}.commission-finish{grid-area:finish}@media (width>=1000px){.commission{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head""step side""finish side";align-items:start;max-width:1100px}}.checks{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.insights-sticky{z-index:2;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);flex-direction:column;gap:10px;margin:-22px -28px 0;padding:14px 28px 12px;display:flex;position:sticky;top:0}@media (width<=1100px){.insights-sticky{margin:-18px -20px 0;padding:12px 20px 10px}}@media (width<=640px){.insights-sticky{margin:-14px -14px 0;padding:10px 14px}}.section-links{flex-wrap:wrap;gap:4px;display:flex}.section-links a{color:var(--muted);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;text-decoration:none}.section-links a:hover{background:var(--surface-2);color:var(--text)}.insights [id]{scroll-margin-top:120px}@media (width<=640px){.page-header{align-items:stretch}.page-actions{width:100%}.page-actions .search{min-width:0}.page-header h1{font-size:22px}}.steps{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.step{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:14px;display:grid}.step-num{background:var(--primary);width:36px;height:36px;color:var(--on-primary);border-radius:50%;place-items:center;margin-top:10px;font-weight:800;display:grid}.step .card{min-width:0}.download-latest{flex-wrap:wrap;align-items:center;gap:14px;display:flex}@media (width<=640px){.step{grid-template-columns:1fr}.step-num{display:none}}.row-between{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.badge .dot{width:8px;height:8px;margin-right:6px}.gsearch{margin:6px 10px 2px;position:relative}.gsearch>svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.gsearch input{background:var(--surface-2);border-color:#0000;border-radius:8px;min-height:36px;padding:6px 30px 6px 32px;font-size:14px}.gsearch input:focus{background:var(--surface);border-color:var(--primary)}.gsearch-key{color:var(--muted);border:1px solid var(--border);background:var(--surface);pointer-events:none;border-radius:4px;padding:2px 5px;font:600 11px/1 ui-monospace,monospace;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.gsearch input:focus~.gsearch-key{display:none}.gsearch-results{background:var(--surface);border:1px solid var(--border);z-index:20;border-radius:10px;flex-direction:column;gap:2px;width:100%;margin:0;padding:6px;list-style:none;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px -12px #00000059}.gsearch-results li{cursor:pointer;border-radius:6px;flex-direction:column;gap:1px;min-width:0;padding:7px 10px;display:flex}.gsearch-results li.active{background:color-mix(in srgb, var(--primary) 10%, transparent)}.gsearch-kind{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px;font-weight:700}.gsearch-label{font-weight:600}.gsearch-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.gsearch-none{color:var(--muted);padding:8px 10px;font-size:13px;display:block}@media (width<=1100px){.gsearch{display:none}}.journey{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:12px 16px;display:flex}.journey.live{padding:8px 16px}.journey-steps{flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0;padding:0;list-style:none;display:flex}.journey-step{color:var(--muted);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.journey-step.done{color:var(--text)}.journey-step.next{color:var(--primary)}.journey-step+.journey-step:before{content:"";background:var(--border);width:14px;height:1px;margin-right:10px}.journey-tick{background:var(--surface-2);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.journey-step.done .journey-tick{background:var(--good-bg);color:var(--good-fg)}.journey-step.next .journey-tick{background:var(--primary);color:var(--on-primary)}.journey-next{flex-wrap:wrap;align-items:center;gap:14px;font-size:14px;display:flex}.journey-next .btn{min-height:38px;padding:8px 14px}.auth-card .brand{color:var(--text);align-items:center;gap:10px;font-weight:800;display:flex}.drawer-root{z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-veil{background:#0a0e1461;animation:.15s ease-out veil-in;position:absolute;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:min(460px,100%);height:100%;animation:.18s ease-out drawer-in;display:flex;position:relative;box-shadow:-24px 0 60px -30px #00000073}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.drawer-head h2{font-size:18px}.drawer-close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font:400 24px/1 inherit}.drawer-close:hover{background:var(--surface-2);color:var(--text)}.drawer-body{flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.drawer-body .row{align-items:center}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes veil-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.drawer,.drawer-veil{animation:none}}.locker-row-main{align-items:baseline;gap:10px;min-width:0;display:flex}.glance-value .dot{margin:0}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--primary);margin:0;padding:0}.check{cursor:pointer}.drawer.wide{width:min(680px,100%)}.engineer-qr{background:#fff;border-radius:10px;align-self:flex-start;padding:6px}.stage-link{text-decoration:none}.stage-link .badge{cursor:pointer}.stage-link:hover .badge{filter:brightness(.96);text-decoration:underline}.badge.emulated{color:#5c4300;background:#fff1c2}.badge.emulated:before{content:"";vertical-align:-1px;background:repeating-linear-gradient(-45deg,#1a1a1a 0 3px,#ffc107 3px 6px);border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}@media (prefers-color-scheme:dark){.badge.emulated{color:#ffd66b;background:#3a2e0a}}.emulated-note{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;display:flex}.fieldset{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin:0;padding:10px 12px 12px;display:flex}.fieldset legend{padding:0 4px;font-size:13px;font-weight:600}.narrow-page{max-width:640px;margin-inline:auto}.narrow-page h1{margin:4px 0 0}.fieldset legend .link{font-weight:500}.fieldset legend .legend-action{margin-left:10px}.control .studio-title h1{gap:12px}.live-pill{background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:13px;font-weight:600;display:inline-flex}.live-pill.good{background:var(--good-bg);color:var(--good-fg)}.live-pill.warn{background:var(--warn-bg);color:var(--warn-fg)}.live-pill.bad{background:var(--bad-bg);color:var(--bad-fg)}.live-pill .dot{margin:0}.live-pill.good .dot{background:#22a55b;animation:2s infinite live-pulse;box-shadow:0 0 0 4px #22a55b40}@keyframes live-pulse{0%,to{box-shadow:0 0 0 3px #22a55b4d}50%{box-shadow:0 0 0 6px #22a55b14}}.outcome{align-items:center;gap:8px;max-width:380px;font-size:14px;display:inline-flex}.control-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(380px,460px);min-height:0;display:grid}.control-stage{background:radial-gradient(circle at 50% 30%, var(--surface) 0%, var(--surface-2) 80%);flex-direction:column;gap:14px;min-width:0;min-height:0;padding:20px 28px 28px;display:flex;overflow-y:auto}.control-side{overscroll-behavior:contain;border-left:1px solid var(--border);background:var(--bg);flex-direction:column;gap:14px;min-height:0;padding:16px;display:flex;overflow-y:auto}.control-empty{text-align:center;padding:60px 20px}@media (width<=1000px){.control-body{grid-template-rows:auto auto;grid-template-columns:1fr;overflow-y:auto}.control-stage,.control-side{min-height:auto;overflow:visible}}.live-wrap{flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.diagram.live{background:#1c1f24;border-radius:16px;padding:12px;box-shadow:0 0 0 8px #14161a,0 24px 60px -30px #0009}.diagram.live .cell{font:inherit;cursor:default;transition:transform .12s,box-shadow .12s,background .2s}.diagram.live .cell.free{color:#d5dae2;background:#2a2f37;border-color:#3a404a}.diagram.live .cell.free .cell-size{color:#8a93a0}.diagram.live .cell.occupied{background:color-mix(in srgb, var(--primary) 55%, #1c1f24);border-color:color-mix(in srgb, var(--primary) 70%, #fff);color:#fff}.diagram.live .cell.occupied .cell-size{color:#ffffffbf}.diagram.live .cell.open{color:#fff;background:#1f7a3f;border-color:#6fdc8c;animation:1.4s infinite door-open;box-shadow:0 0 0 3px #6fdc8c59,0 0 24px #6fdc8c73}.diagram.live .cell.open .cell-size{color:#d6ffe1}@keyframes door-open{0%,to{box-shadow:0 0 0 3px #6fdc8c59,0 0 24px #6fdc8c73}50%{box-shadow:0 0 0 5px #6fdc8c26,0 0 32px #6fdc8cb3}}.diagram.live .cell.fault{color:#ffb4ab;background:repeating-linear-gradient(45deg,#5a1f1b,#5a1f1b 6px,#3a1512 6px 12px);border-color:#ff8a80}.diagram.live .cell.disabled{opacity:.35;color:#8a93a0;background:repeating-linear-gradient(45deg,#2a2f37,#2a2f37 6px,#1c1f24 6px 12px);border-color:#3a404a}.diagram.live .cell.panel{color:#b9c6ec;background:#0f1a3a;border-color:#35508f}.diagram.live .cell.panel .cell-size{color:#7f93c9}.diagram.live .cell:not(:disabled){cursor:pointer}.diagram.live .cell:not(:disabled):hover{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 60%, #fff), 0 12px 24px -12px #000000b3;z-index:1;transform:scale(1.03)}.diagram.live .cell.picked{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--primary);z-index:2}.door-popover{z-index:3;background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;width:min(100% - 24px,380px);padding:16px 18px;animation:.14s ease-out pop-in;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 60px -20px #0000008c,inset 0 0 0 1px #fff6}.door-popover strong{font-size:18px}@keyframes pop-in{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}.diagram.live.dimmed .cell:not(.picked){filter:brightness(.55)}.studio-title h1 .muted{font-size:13px;font-weight:500}@media (width<=700px){.control .studio-actions{flex-wrap:wrap}.control-stage{padding:16px}}.control-legend{justify-content:center}.key.free:before{background:#2a2f37;border:1px solid #3a404a}.key.occupied:before{background:var(--primary)}.key.open:before{background:#1f7a3f;box-shadow:0 0 6px #6fdc8c}.key.fault:before{background:repeating-linear-gradient(45deg,#5a1f1b,#5a1f1b 3px,#ffb4ab 3px 6px)}.screen-panel .kiosk-shot{flex-direction:column;align-items:center;gap:6px;margin:0;display:flex}.screen-panel .kiosk-shot img{background:#000;border:6px solid #1c1f24;border-radius:12px;width:100%;max-width:720px;box-shadow:0 20px 50px -30px #0009}.screen-panel header.row-between{align-items:center}.scan-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.scan-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.scan-who{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.scan-code{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.scan-code:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.scan-code:disabled{opacity:.5;cursor:default}.scan-go{color:var(--primary);font-size:11px}.cmd-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.cmd-list li{grid-template-columns:auto 1fr auto;align-items:baseline;gap:10px;display:grid}.cmd-what{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.eng-issued{align-items:flex-start;gap:14px;display:flex}.eng-issued img{background:#fff;border-radius:8px;flex:none;padding:4px}.eng-issued .engineer-code-text{font-size:26px}.log-view.compact{max-height:240px;font-size:11px}.control .panel{border-radius:12px;padding:14px 16px}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.chip.active .muted{color:#fffc}.wizard{flex-direction:column;gap:16px;max-width:640px;margin-inline:auto;padding-bottom:80px;display:flex}.wizard-head h1{margin:4px 0 10px}.wizard-steps{scrollbar-width:none;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.wizard-step{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 10px 6px 6px;font-size:13px;font-weight:600;display:inline-flex}.wizard-step .wizard-num{background:var(--surface-2);width:20px;height:20px;color:var(--muted);border-radius:50%;place-items:center;font-size:11px;display:grid}.wizard-step.done{color:var(--good-fg)}.wizard-step.done .wizard-num{background:var(--good-fg);color:#fff}.wizard-step.current{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.wizard-step.current .wizard-num{background:var(--primary);color:#fff}.wizard-step:disabled{cursor:default;opacity:.6}.wizard-body{flex-direction:column;gap:12px;display:flex}.wizard-foot{z-index:5;padding:10px 16px;padding-bottom:max(10px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=900px){.wizard-foot{left:230px}}.tiles{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.tile{aspect-ratio:1.15;width:100%;font:inherit;border:2px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;transition:transform .12s;display:flex}.tile strong{font-size:14px}.tile span{color:var(--muted);font-size:11px}.tile:disabled{cursor:default}.tile:not(:disabled):active{transform:scale(.97)}.tile.ok{background:var(--good-bg);border-color:var(--good-fg)}.tile.ok span{color:var(--good-fg)}.tile.bad{background:var(--bad-bg);border-color:var(--bad-fg)}.tile.bad span{color:var(--bad-fg)}.tile.open{background:var(--warn-bg);border-color:#f0b44c}.tile.open span{color:var(--warn-fg)}.tile.open.live{animation:1.2s ease-in-out infinite tile-open}@keyframes tile-open{0%,to{box-shadow:0 0 #f0b44c99}50%{box-shadow:0 0 0 6px #f0b44c00}}.tile.pending{border-style:dashed;border-color:var(--primary)}.tile.off{opacity:.45;background:repeating-linear-gradient(45deg, var(--surface), var(--surface) 6px, var(--surface-2) 6px, var(--surface-2) 12px)}.key.tile-ok:before{background:var(--good-fg)}.key.tile-open:before{background:#f0b44c}.key.tile-bad:before{background:var(--bad-fg)}.key.tile-off:before{background:var(--surface-2);border:1px solid var(--border)}.summary-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.summary-list li>span:first-child{border-radius:50%;place-items:center;width:20px;height:20px;margin-right:6px;font-size:12px;font-weight:700;display:inline-grid}.summary-list li.good>span:first-child{background:var(--good-fg);color:#fff}.summary-list li.warn>span:first-child{background:var(--warn-fg);color:#fff}.var-field{flex-direction:column;display:flex;position:relative}.var-field>input,.var-field>textarea{padding-right:40px}.insert{position:absolute;top:4px;right:4px}.insert-btn{letter-spacing:-.04em;border:1px solid var(--border);background:var(--surface);width:28px;height:26px;color:var(--muted);cursor:pointer;border-radius:6px;font:700 11px/1 ui-monospace,Consolas,monospace}.insert-btn:hover,.insert-btn.open{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.insert-pop{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;width:min(320px,80vw);max-height:320px;padding:8px;animation:.12s ease-out pop-in-down;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 16px 40px -16px #00000059}.insert-pop>p{margin:2px 6px 6px}.insert-item{font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:1px;padding:6px 8px;font-size:13px;display:flex}.insert-item:hover{background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.insert-item .mono{color:var(--primary);font-size:12px}@keyframes pop-in-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.designer.dragging,.designer.dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.designer .studio-editor.tray{padding-bottom:80px}.bricks{flex-wrap:wrap;align-items:flex-end;gap:10px;padding:6px 2px;display:flex}.brick{font:inherit;cursor:grab;touch-action:none;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}.brick-face{width:72px;height:calc(14px + var(--h) * 4px);color:#e6e9ef;background:linear-gradient(#343a44,#23272e);border:1px solid #4a515c;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;line-height:1.1;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 6px 0 -2px #14161a,0 8px 14px -8px #0009}.brick-face strong{font-size:12px}.brick-face small{color:#9aa3b0;font-size:10px}.brick:hover .brick-face{transform:translateY(-2px);box-shadow:0 8px 0 -2px #14161a,0 14px 20px -10px #000000b3}.brick:active .brick-face{transform:translateY(1px)scale(.98)}.brick.armed .brick-face{outline:2px solid var(--primary);outline-offset:2px}.brick.panel .brick-face{color:#c7d2f4;background:linear-gradient(#1a2a5a,#0f1a3a);border-color:#35508f}.brick.placed{opacity:.4;cursor:default}.brick.placed .brick-face{transform:none!important}.tips{color:var(--muted);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;display:flex}.btn-group{gap:2px;display:inline-flex}.designer-stage{--unit:22px;flex:1;align-items:flex-start;gap:14px;min-height:0;padding:12px 8px 80px;display:flex;position:relative;overflow:auto}.front-empty{border:2px dashed var(--border);color:var(--muted);text-align:center;border-radius:16px;flex-direction:column;align-self:center;align-items:center;gap:6px;margin:auto;padding:40px 48px;transition:border-color .12s,background .12s;display:flex}.front-empty.over{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 6%, transparent);color:var(--primary)}.dcol{width:calc(4 * var(--unit) + 16px);flex-direction:column;flex:none;gap:6px;display:flex}.dcol-head{color:var(--muted);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 8px;padding:0 2px;font-size:12px;display:grid}.dcol-head strong{color:var(--text)}.dcol-head .units{font-variant-numeric:tabular-nums;text-align:right}.dcol-head .units.good{color:var(--good-fg)}.dcol-head .units.over{color:var(--bad-fg);font-weight:700}.dcol-head .meter{background:var(--surface-2);border-radius:2px;grid-column:1/-1;height:4px;display:block;overflow:hidden}.dcol-head .meter b{background:var(--primary);height:100%;transition:width .16s;display:block}.dcol-head .units.good~.meter b{background:var(--good-fg)}.dcol-head .units.over~.meter b{background:var(--bad-fg)}.dcol-body{background:#1c1f24;border-radius:12px;flex-direction:column;gap:3px;padding:6px;transition:box-shadow .12s;display:flex;box-shadow:0 0 0 5px #14161a}.dcol.over .dcol-body{box-shadow:0 0 0 5px #14161a, 0 0 0 8px color-mix(in srgb, var(--primary) 60%, transparent)}.dcell{font:inherit;color:#d5dae2;cursor:grab;touch-action:none;background:linear-gradient(#2f353e,#262b33);border:1px solid #3a404a;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:100%;min-height:0;padding:0;line-height:1.1;transition:box-shadow .12s,transform .12s,height .16s;display:flex;overflow:hidden}.dcell strong{font-size:12px}.dcell span{color:#8a93a0;font-size:10px}.dcell.panel{color:#b9c6ec;background:linear-gradient(#172a5f,#0f1a3a);border-color:#35508f}.dcell.off{opacity:.45;background:repeating-linear-gradient(45deg,#2a2f37,#2a2f37 6px,#1c1f24 6px 12px)}.dcell.bad{border-color:#ff8a80;box-shadow:inset 0 0 0 1px #ff8a80}.dcell:hover{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 70%, #fff);z-index:1}.dcell.selected{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--primary);z-index:2}.dcell.landed{animation:.42s cubic-bezier(.2,1.4,.4,1) landed}@keyframes landed{0%{filter:brightness(1.6);transform:scale(.92)}to{filter:none;transform:none}}.dcell.placeholder{border:2px dashed color-mix(in srgb, var(--primary) 80%, #fff);background:color-mix(in srgb, var(--primary) 25%, transparent);cursor:grabbing;animation:.12s ease-out placeholder-in}@keyframes placeholder-in{0%{opacity:0;transform:scaleY(.6)}to{opacity:1;transform:none}}.dcell.gap{color:#8a93a0;cursor:pointer;background:0 0;border:1px dashed #4a515c}.dcell.gap strong{color:#a9b1bc;font-size:11px}.dcell.gap:hover{border-color:var(--primary);color:#fff;box-shadow:none}.dcol-foot{opacity:.55;justify-content:center;gap:2px;transition:opacity .12s;display:flex}.dcol:hover .dcol-foot{opacity:1}.dcol-foot .link{padding:2px 6px;font-size:12px}.dcol.add{align-self:stretch}.add-col{font:inherit;border:2px dashed var(--border);width:100%;height:100%;min-height:120px;color:var(--muted);cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:border-color .12s,background .12s,color .12s;display:flex}.add-col strong{font-size:26px;line-height:1}.add-col span{font-size:12px}.add-col:hover,.dcol.add.over .add-col{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb, var(--primary) 6%, transparent)}.bin{opacity:0;pointer-events:none;color:#ffb4ab;z-index:6;background:#1c1f24;border:2px dashed #ff8a80;border-radius:999px;padding:12px 22px;font-size:14px;font-weight:700;transition:transform .16s,opacity .16s,background .12s;position:absolute;bottom:14px;left:50%;transform:translate(-50%,30px)}.bin.show{opacity:1;transform:translate(-50%)}.bin.over{color:#fff;background:#5a1f1b;border-style:solid;transform:translate(-50%)scale(1.06)}.designer .studio-stage{position:relative}.drag-ghost{z-index:100;pointer-events:none;color:#fff;box-shadow:0 24px 40px -16px #000000b3, 0 0 0 2px color-mix(in srgb, var(--primary) 70%, #fff);background:linear-gradient(#3b424d,#262b33);border:1px solid #5a6270;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:22px;line-height:1.1;display:flex;position:fixed;transform:translate(-50%,-50%)rotate(2deg)}.drag-ghost strong{font-size:12px}.drag-ghost span{color:#c9d1dc;font-size:10px}.confetti{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:8px;height:12px;animation:linear forwards confetti-fall;position:absolute;top:-12px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.2;transform:translateY(110vh)rotate(720deg)}}.rule-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.issue-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.issue-list li{background:var(--bad-bg);color:var(--bad-fg);border-radius:8px;padding:6px 10px}.systems-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.system-card{flex-direction:column;gap:10px;display:flex}.system-card .diagram{width:100%!important}.system-card h3{margin:0}.system-card .cell-name{font-size:10px}.system-card .cell-size{display:none}
