:root{color:#e5e9e9;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--muted:#849194;--border:#263033;--amber:#ffb643;--green:#7cdbb6;background:#090c0d;font-family:Inter,Heebo,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--amber);outline-offset:4px}a{color:inherit;text-decoration:none}button{transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:#647276}h1,h2,p{margin:0}.app{flex-direction:column;min-height:100dvh;display:flex}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;height:92px;padding:0 38px;display:flex}.brand{letter-spacing:2px;align-items:center;gap:13px;font-size:11px;font-weight:700;display:flex}.brand small{color:var(--muted);letter-spacing:1.7px;margin-top:6px;font-size:9px;display:block}.brand-mark{letter-spacing:-9px;color:#53b8de;padding-right:10px;font-size:48px;font-weight:800;line-height:1}.brand-mark span{color:#eaf3f5}.header-actions{align-items:center;gap:24px;display:flex}.header-tag{letter-spacing:1.6px;color:var(--muted);font-size:9px}.header-tag span{color:#cad1d3;margin-left:10px}.button{color:#dee5e6;background:#182024;border:1px solid #354145;border-radius:7px;justify-content:center;align-items:center;gap:10px;min-height:40px;padding:11px 15px;font-size:12px;font-weight:600;display:flex}.button.primary{background:var(--amber);border-color:var(--amber);color:#191207}.button.primary:hover{background:#ffca74}.button.quiet{color:var(--muted);background:0 0;justify-content:space-between;width:100%;margin-top:10px}.workspace{flex:1;grid-template-columns:minmax(0,1fr) 340px;gap:36px;width:100%;max-width:2000px;margin:auto;padding:34px 38px;display:grid}.preview-area{flex-direction:column;min-width:0;display:flex}.preview-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:1.8px;color:var(--muted);font-size:9px;font-weight:600}.preview-header h2{letter-spacing:-.7px;margin-top:9px;font-size:22px;font-weight:500}.status-pill{white-space:nowrap;border:1px solid var(--border);color:var(--muted);background:#111718;border-radius:100px;align-items:center;gap:7px;padding:8px 11px;font-size:10px;display:flex}.status-pill i,.small-dot{background:#6f7d82;border-radius:50%;width:5px;height:5px;display:inline-block}.status-pill.online{color:var(--green);border-color:#24443b}.status-pill.online i{background:var(--green);box-shadow:0 0 8px #7cdbb64d}.status-pill.demo{color:#ffce86}.status-pill.demo i{background:var(--amber)}.led-frame{background:linear-gradient(140deg,#222729,#101415);border:1px solid #40484b;border-radius:12px;width:100%;margin:auto 0;padding:12px;position:relative;box-shadow:0 28px 65px #0006,inset 0 1px #ffffff12;container-type:inline-size}.frame-top,.frame-bottom{letter-spacing:1.5px;color:#879296;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px 17px;font-family:monospace;font-size:9px;display:flex}.frame-bottom{letter-spacing:1px;padding:17px 9px 6px;font-size:8px}.led-face{min-height:420px;color:var(--amber);background-color:#040706;background-image:radial-gradient(#23302066 .8px,#0000 1px);background-size:6px 6px;border:2px solid #07090a;border-radius:4px;flex-direction:column;padding:clamp(20px,3.5cqw,60px);font-family:Heebo,Arial,sans-serif;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #000}.sign-heading{border-bottom:1px solid #ffb64330;align-items:center;gap:24px;padding-bottom:24px;display:flex}.parking-symbol{text-align:center;text-shadow:0 0 10px #ffb64366;border:2px solid #ffb64399;border-radius:7px;min-width:65px;height:68px;font-family:Inter,Arial,sans-serif;font-size:44px;font-weight:800;line-height:64px}.sign-heading p{color:#d19643;letter-spacing:1px;overflow-wrap:anywhere;margin-bottom:5px;font-size:12px}.sign-heading h1{text-shadow:0 0 12px #ffb64333;overflow-wrap:anywhere;font-size:clamp(20px,4cqw,50px);font-weight:800;line-height:1.25}.sign-values{flex:1;grid-template-columns:1.25fr 1fr;align-items:center;min-height:200px;padding:30px 0;display:grid}.sign-values.single{grid-template-columns:1fr}.sign-metric{text-align:center;min-width:0}.sign-metric+.sign-metric{border-inline-start:1px solid #ffb64330}.sign-metric h2{letter-spacing:1px;font-size:clamp(12px,2.5cqw,30px);font-weight:600}.led-number{width:100%;height:auto;min-height:72px;margin:16px 0 6px;display:block;overflow:visible}.metric-caption{color:#d79e48;letter-spacing:1px;justify-content:center;align-items:center;gap:9px;font-size:clamp(9px,1.4cqw,17px);display:flex}.led-dot{background:var(--amber);border-radius:50%;width:6px;height:6px;box-shadow:0 0 9px #ffb64366}.sign-metric.full,.sign-metric.full .metric-caption{color:#ff6555}.sign-metric.full .led-dot{background:#ff6555;box-shadow:0 0 9px #ff655566}.sign-bottom{letter-spacing:1px;color:#c18b3d;border-top:1px solid #ffb64330;justify-content:space-between;align-items:center;gap:15px;padding-top:18px;font-size:clamp(9px,1.3cqw,15px);display:flex}.direction{color:var(--amber);align-items:center;gap:12px;font-size:clamp(12px,1.8cqw,22px);font-weight:700;display:flex}.standby{min-height:420px}.standby-message{text-align:center;color:#c59b5b;direction:ltr;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;min-height:330px;display:flex}.standby-message h2{font-size:24px}.standby-message p{color:#8c857a;font-size:13px}.welcome-only{text-align:center;grid-column:1/-1;font-size:28px}.preview-footer{color:var(--muted);letter-spacing:.2px;justify-content:space-between;gap:12px;margin-top:24px;font-family:monospace;font-size:10px;display:flex}.preview-footer .small-dot{background:var(--green);margin-right:8px}.controls{border:1px solid var(--border);background:#101617;border-radius:10px;align-self:start;padding:24px}.controls-title{color:#a9b7bb;align-items:center;gap:10px;margin-bottom:22px;display:flex}.controls-title h2{color:#e0e8ea;font-size:13px;font-weight:600}.mode-tabs{background:#070b0c;border:1px solid #202c2f;border-radius:7px;gap:3px;margin-bottom:17px;padding:4px;display:flex}.mode-tabs button{color:#849194;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;padding:9px 3px;font-size:11px;font-weight:500}.mode-tabs button.active{color:#f2f5f5;background:#253033;border-color:#354246}.helper{color:#8d9a9e;margin:12px 0 20px;font-size:11px;line-height:1.8}.field{color:#aebbc0;flex-direction:column;gap:9px;margin:17px 0;font-size:10px;font-weight:500;display:flex}.field input,.field select{color:#e8edef;background:#0b1113;border:1px solid #303c40;border-radius:5px;width:100%;min-width:0;min-height:42px;padding:10px 11px;font-size:12px}.field-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.toggle-row{color:#b3bfc2;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:43px;font-size:11px;display:flex;position:relative}.toggle-row input{opacity:0;cursor:pointer;width:34px;height:20px;position:absolute;right:0}.toggle-track{background:#303a3e;border:1px solid #445057;border-radius:20px;flex-shrink:0;width:32px;height:18px;transition:background .2s}.toggle-track:after{content:"";background:#a8b4b9;border-radius:50%;width:12px;height:12px;margin:2px;transition:transform .2s;display:block}.toggle-row input:checked+.toggle-track{background:#b77d27;border-color:#d69c47}.toggle-row input:checked+.toggle-track:after{background:#ffdc9e;transform:translate(12px)}.toggle-row input:focus-visible+.toggle-track{outline:2px solid var(--amber);outline-offset:4px}.scope-note{border-top:1px solid var(--border);margin-top:25px;padding-top:21px}.scope-note p{color:#7f8e93;margin-top:9px;font-size:10px;line-height:1.8}.account-card{border:1px solid var(--border);background:#0c1213;border-radius:6px;flex-direction:column;gap:12px;padding:15px;display:flex}.account-card strong{overflow-wrap:anywhere;font-size:12px;font-weight:500}.account-card .button{min-height:34px;padding:8px}.connection-details{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:20px 0 10px;padding:10px 0}.connection-details div{color:var(--muted);justify-content:space-between;gap:10px;padding:9px 0;font-size:10px;display:flex}.connection-details strong{color:#bfcbd0;font-weight:500}.connection-details strong.success-text{color:var(--green)}.error-message{color:#f4b1a3;background:#3b211e;border:1px solid #7a403c;border-radius:5px;margin:18px 0 0;padding:12px;font-size:11px;line-height:1.7}.warning-text{color:#ffba55}.app-footer{letter-spacing:1.3px;color:#697b80;border-top:1px solid #1b2427;justify-content:space-between;padding:21px 38px;font-family:monospace;font-size:9px;display:flex}.kiosk{background:#000;height:100dvh;min-height:0}.kiosk .workspace{max-width:none;height:100%;padding:0;display:flex}.kiosk .preview-area{width:100%;height:100%}.kiosk .led-frame{height:100%;box-shadow:none;background:#050706;border:0;border-radius:0;flex-direction:column;padding:12px;display:flex}.kiosk .led-face{flex:1;min-height:0;padding:clamp(16px,4vh,60px) clamp(20px,5vw,100px)}.kiosk .frame-top{padding-bottom:10px}.kiosk .frame-bottom{padding-top:10px}.kiosk .sign-heading h1{font-size:clamp(24px,5vmin,75px)}.kiosk .sign-heading p{font-size:clamp(12px,1.8vmin,25px)}.kiosk .sign-metric h2{font-size:clamp(18px,3.5vmin,50px)}.kiosk .led-number{min-height:0;max-height:35vh;margin:12px 0}.kiosk .metric-caption{font-size:clamp(12px,2vmin,30px)}.kiosk .sign-bottom{font-size:clamp(10px,1.8vmin,22px)}.kiosk .direction{font-size:clamp(14px,2.4vmin,32px)}.kiosk-exit{z-index:5;color:#d5e0e4;opacity:.18;background:#162023dd;border:1px solid #425158;border-radius:5px;align-items:center;gap:7px;padding:7px 9px;font-size:10px;transition:opacity .2s;display:flex;position:fixed;top:8px;right:12px}.kiosk-exit:hover,.kiosk-exit:focus-visible{opacity:1}@media (width>=1500px){.workspace{grid-template-columns:minmax(0,1fr) 370px;gap:50px;padding:45px 60px}.led-face{min-height:570px}.controls{padding:28px}.sign-values{padding:40px 0}.led-number{min-height:130px}}@media (width<=1050px){.workspace{grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding:26px}.controls{padding:18px}.app-header{padding:0 26px}.header-tag{display:none}.preview-header{flex-direction:column;align-items:flex-start}.led-face{min-height:370px;padding:24px 16px}.sign-heading{gap:14px}.parking-symbol{min-width:48px;height:50px;font-size:33px;line-height:47px}.sign-values{grid-template-columns:1fr 1fr}.frame-top,.frame-bottom{letter-spacing:.4px;font-size:7px}.preview-footer{font-size:8px}}@media (width<=780px){.app-header{height:78px;padding:0 18px}.brand{font-size:9px}.brand small{font-size:8px}.brand-mark{font-size:40px}.header-actions .button{padding:10px;font-size:10px}.workspace{grid-template-columns:1fr;gap:30px;padding:24px 18px}.preview-header{flex-direction:row;align-items:center;margin-bottom:20px}.preview-header h2{font-size:18px}.status-pill{padding:7px;font-size:8px}.controls{width:100%}.led-face{min-height:350px}.preview-footer{margin-top:18px}.app-footer{gap:14px;padding:18px;font-size:8px}.kiosk .sign-heading{padding-bottom:12px}.kiosk .sign-values{padding:16px 0}.kiosk .sign-bottom{padding-top:12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.assignment-card{border:1px solid var(--border);background:#0c1213;border-radius:6px;margin:20px 0;padding:16px}.assignment-card dl{margin:12px 0 0}.assignment-card dl div{flex-direction:column;gap:5px;padding:8px 0;display:flex}.assignment-card dt{color:var(--muted);font-size:10px}.assignment-card dd{overflow-wrap:anywhere;color:#d6e2e5;margin:0;font-size:12px}.account-card form .field{margin-top:0}.account-card form .button{width:100%}.led-face{color:var(--display-color);background-color:var(--display-background);background-image:radial-gradient(var(--display-grid) .8px,transparent 1px)}.led-face .sign-heading,.led-face .sign-metric+.sign-metric,.led-face .sign-bottom{border-color:var(--display-divider)}.led-face .parking-symbol{border-color:var(--display-color);text-shadow:0 0 10px var(--display-glow)}.led-face .sign-heading h1{text-shadow:0 0 12px var(--display-glow)}.led-face .sign-heading p,.led-face .metric-caption,.led-face .sign-bottom,.led-face .direction,.led-face .standby-message,.led-face .standby-message p{color:var(--display-color)}.led-face .led-dot{background:var(--display-color);box-shadow:0 0 9px var(--display-glow)}.led-face .sign-metric.full .metric-caption{color:#ff6555}.led-face .sign-metric.full .led-dot{background:#ff6555;box-shadow:0 0 9px #ff655566}.field input[type=color]{cursor:pointer;padding:5px}.appearance-summary{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:18px;font-size:10px;display:flex}.appearance-summary span:last-of-type{align-items:center;gap:5px;font-family:monospace;display:flex}.appearance-summary i{border:1px solid #879296;border-radius:3px;width:12px;height:12px;display:inline-block}.appearance-summary p{width:100%;line-height:1.7}.led-frame.portrait{aspect-ratio:9/16;flex-direction:column;width:min(100%,540px,max(220px,56.25dvh - 135px));max-width:100%;margin:auto;display:flex}.portrait .led-face{flex:1;min-height:0;padding:clamp(12px,3cqw,24px)}.portrait .frame-top,.portrait .frame-bottom{letter-spacing:.3px;flex-wrap:wrap;padding:8px 3px;font-size:7px}.portrait .sign-heading{gap:12px;padding-bottom:14px}.portrait .parking-symbol{min-width:40px;height:43px;font-size:28px;line-height:39px}.portrait .sign-heading h1{font-size:clamp(16px,5cqw,30px)}.portrait .sign-heading p{font-size:clamp(9px,2.6cqw,13px)}.portrait .sign-values{grid-template-columns:1fr;gap:14px;min-height:0;padding:14px 0}.portrait .sign-metric+.sign-metric{border-inline-start:0;border-top:1px solid var(--display-divider);padding-top:14px}.portrait .sign-metric h2{font-size:clamp(12px,3.8cqw,24px)}.portrait .led-number{min-height:0;max-height:160px;margin:8px 0}.portrait .metric-caption{font-size:clamp(9px,2.6cqw,14px)}.portrait .sign-bottom{text-align:center;flex-wrap:wrap;justify-content:center;padding-top:12px;font-size:clamp(8px,2.2cqw,12px)}.portrait .direction{font-size:clamp(12px,3cqw,18px)}.portrait .standby-message{min-height:0}.kiosk .preview-area:has(.portrait){justify-content:center;align-items:center}.kiosk .led-frame.portrait{flex-shrink:0;width:min(100%,56.25dvh);height:auto;max-height:100dvh;margin:0}.kiosk .portrait .led-face{padding:clamp(12px,3cqw,30px)}.kiosk .portrait .sign-heading h1{font-size:clamp(16px,5cqw,36px)}.kiosk .portrait .sign-heading p{font-size:clamp(9px,2.6cqw,16px)}.kiosk .portrait .sign-metric h2{font-size:clamp(12px,3.8cqw,28px)}.kiosk .portrait .led-number{max-height:18dvh}.kiosk .portrait .metric-caption{font-size:clamp(9px,2.6cqw,18px)}.kiosk .portrait .sign-bottom{font-size:clamp(8px,2.2cqw,15px)}.kiosk .portrait .direction{font-size:clamp(12px,3cqw,22px)}.sign-heading>div,.sign-metric,.sign-bottom>span{overflow-wrap:anywhere;min-width:0}.sign-bottom>span{max-width:100%}.parking-symbol{overflow-wrap:anywhere;justify-content:center;align-items:center;max-width:30%;padding:4px;font-size:clamp(12px,3cqw,40px);line-height:1.1;display:flex}.controls details summary{cursor:pointer;margin:16px 0}.controls details .field{margin-top:12px}
