:root{color:#15181c;font-synthesis:none;--ink:#15181c;--ink-soft:#3c434d;--muted:#646c78;--panel:#fff;--border:#d3d7dd;--border-strong:#b9c0c9;--amber:#f5a80c;--amber-ink:#8a6203;--run:#1e9e5a;--run-ink:#137347;--warn:#e8a200;--warn-ink:#8a6203;--fault:#d2373c;--fault-ink:#b02a32;--off:#687184;--off-ink:#4c5563;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;background:#e8eaed;font-family:Archivo,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:.02em;text-transform:uppercase;margin-bottom:.3rem;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:750;font-stretch:118%}h2{letter-spacing:-.01em;font-weight:700;font-stretch:112%}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.muted{color:var(--muted)}.eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.5rem;font-size:.7rem;font-weight:600}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--ink);color:#fff;flex-direction:column;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:.8rem;padding:0 .5rem 2rem;display:flex}.sidebar-brand div:last-child{flex-direction:column;gap:.1rem;display:flex}.sidebar-brand strong{letter-spacing:.06em;text-transform:uppercase;font-size:.92rem;font-weight:700;font-stretch:116%}.sidebar-brand span,.sidebar-footer span{color:#8b93a1;font-family:var(--mono);font-size:.72rem}.brand-logo{filter:invert();width:40px;height:40px}.sidebar nav{gap:.3rem;display:grid}.sidebar nav a{color:#aab2c0;border-radius:5px;align-items:center;gap:.75rem;padding:.75rem .9rem;font-weight:600;display:flex}.sidebar nav a svg{flex:none}.sidebar nav a:hover{color:#fff;background:#23282f}.sidebar nav a.active{color:#fff;box-shadow:inset 3px 0 0 var(--amber);background:#23282f}.sidebar-footer{border-top:1px solid #2a2f37;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding:1rem .5rem 0;display:flex}.sidebar-footer div{flex-direction:column;min-width:0;display:flex}.sidebar-footer strong{font-size:.88rem}.sidebar-footer span{white-space:nowrap;text-overflow:ellipsis;max-width:150px;overflow:hidden}.sidebar-footer button{color:#aab2c0;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:.4rem;display:grid}.sidebar-footer button:hover{color:#fff;background:#23282f}.language-picker{display:block}.language-picker select{width:auto;min-width:62px;font-family:var(--mono);padding:.4rem .5rem;font-size:.78rem}.sidebar-footer .language-picker select{color:#fff;background:#23282f;border-color:#3a414b}.mobile-language{justify-content:flex-end;margin-bottom:.75rem;display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.content{width:100%;max-width:1500px;padding:2.5rem clamp(1.5rem,4vw,4.5rem)}.page-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem;display:flex}.page-heading .muted{font-family:var(--mono);font-size:.72rem}.detail-heading{align-items:center}.page-heading select{width:auto}.heading-side{flex-direction:column;align-items:flex-end;gap:.55rem;display:flex}.fleet-chips{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.chip{border:1px solid var(--border);background:var(--panel);font-family:var(--mono);border-radius:4px;align-items:center;gap:.45rem;padding:.32rem .6rem;font-size:.74rem;font-weight:600;display:inline-flex}.chip-dot{background:var(--off);border-radius:50%;width:8px;height:8px}.chip.packing .chip-dot{background:var(--run)}.chip.paused .chip-dot{background:var(--warn)}.chip.error .chip-dot{background:var(--fault)}.fleet-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1.25rem;display:grid}.machine-card,.panel,.stat-grid article,.empty-state{background:var(--panel);border:1px solid var(--border);border-radius:6px}.machine-card{flex-direction:column;padding:1.35rem;display:flex}.machine-card:hover{border-color:var(--ink);box-shadow:0 6px 18px #15181c14}.machine-card-top{justify-content:space-between;gap:1rem;margin-bottom:1.2rem;display:flex}.machine-card h2{letter-spacing:.02em;text-transform:uppercase;margin:0 0 .45rem;font-size:1.28rem;font-stretch:118%}.machine-site{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem}.stack-light{background:var(--ink);border-radius:4px;flex-direction:column;flex:none;align-self:start;gap:3px;padding:5px 4px;display:inline-flex}.lamp{background:#3a4048;border-radius:50%;width:10px;height:10px}.stack-light.error .lamp.red{background:var(--fault);box-shadow:0 0 7px 1px #d2373c99}.stack-light.paused .lamp.amber{background:var(--warn);box-shadow:0 0 7px 1px #e8a20099}.stack-light.packing .lamp.green{background:var(--run);box-shadow:0 0 7px 1px #1e9e5a99}.stack-light.offline{opacity:.45}.state-pill{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:.72rem;font-weight:600;display:inline-flex}.state-pill.packing{color:var(--run-ink)}.state-pill.error{color:var(--fault-ink)}.state-pill.offline{color:var(--off-ink)}.state-pill.paused{color:var(--warn-ink)}.card-metrics{border-block:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-top:auto;padding:1rem 0;display:grid}.card-metrics div{border-left:1px solid var(--border);flex-direction:column;gap:.3rem;padding-left:.8rem;display:flex}.card-metrics div:first-child{border-left:0;padding-left:0}.card-metrics strong,.stat-grid strong{font-family:var(--mono);font-weight:600}.card-metrics span,.stat-grid span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.card-footer{color:var(--muted);font-family:var(--mono);justify-content:space-between;margin:1rem 0 0;font-size:.74rem;display:flex}.card-footer span{color:var(--ink);font-weight:600}.panel{margin-bottom:1.25rem;padding:1.4rem}.password-panel{max-width:560px;margin:6vh auto}.panel h2{margin-bottom:1rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.stat-grid article{flex-direction:column-reverse;gap:.45rem;padding:1.2rem;display:flex}.stat-grid strong{letter-spacing:-.02em;font-size:1.65rem}.bar-list{gap:.7rem;display:grid}.bar-row{font-family:var(--mono);grid-template-columns:minmax(130px,1fr) 3fr 52px;align-items:center;gap:.8rem;font-size:.76rem;display:grid}.bar-row>div{background:#eef0f2;border-radius:4px;height:12px;overflow:hidden}.bar-row i{background:var(--ink);border-radius:0 4px 4px 0;min-width:4px;height:100%;display:block}.bar-row strong{text-align:right;font-weight:600}.two-column,.settings-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1.25rem;display:grid}.lane-row,.alert-row,.registered-list div,.catalog-list div,.member-list>div{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:.85rem 0;display:flex}.lane-row input{border:0;width:100%;padding:0;font-weight:650}.lane-row p,.alert-row p{color:var(--muted);margin:.3rem 0 0;font-size:.78rem}.lane-row>span{color:var(--muted);font-family:var(--mono);font-size:.72rem}.alert-row{justify-content:flex-start;gap:.75rem}.alert-icon{width:28px;height:28px;color:var(--fault-ink);font-weight:700;font-family:var(--mono);background:#fdeaea;border-radius:50%;flex:0 0 28px;place-items:center;display:grid}.alert-icon.clear{color:var(--run-ink);background:#e4f5ec}.back-link{color:var(--ink-soft);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;margin-bottom:1.5rem;font-size:.78rem;font-weight:600;display:inline-flex}.back-link:hover{color:var(--ink)}.full-span{grid-column:1/-1}form{gap:1rem;display:grid}label{color:var(--ink-soft);gap:.4rem;font-size:.82rem;font-weight:600;display:grid}input,select{border:1px solid var(--border-strong);width:100%;color:var(--ink);background:#fff;border-radius:5px;padding:.7rem .8rem}input:focus,select:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #f5a80c40}button{cursor:pointer;border:1px solid #0000;border-radius:5px;padding:.7rem 1rem;font-weight:650}button:disabled{opacity:.55;cursor:default}.primary{color:#fff;background:var(--ink)}.primary:hover:not(:disabled){background:#2b313a}.secondary{color:var(--ink);border-color:var(--border-strong);background:#fff}.secondary:hover:not(:disabled){border-color:var(--ink)}.danger{color:var(--fault-ink);background:#fff;border-color:#eec3c5}.danger:hover:not(:disabled){border-color:var(--fault);background:#fdeaea}.small-button{padding:.45rem .65rem;font-size:.76rem}.full-width{width:100%}.text-button{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--amber);text-decoration-color:var(--amber);text-underline-offset:3px;background:0 0;border:0;padding:0}.forgot-password{justify-self:end;font-size:.82rem;margin-top:-.45rem!important}.button-link{border-radius:5px;margin-top:.5rem;padding:.7rem 1rem;font-weight:650;display:inline-block}.inline-form{grid-template-columns:2fr 1fr auto;align-items:end}.registered-machine-row{padding-block:1rem!important;display:block!important}.machine-details-form{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:.75rem;width:100%}.machine-row-actions{justify-content:flex-end;margin-top:.75rem}.registered-machine-row button{white-space:nowrap}.pairing-steps{color:var(--muted);padding-left:1.25rem;font-size:.86rem;line-height:1.65}.pairing-code{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:1.15rem;font-weight:600}.lane-name-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.credential-box{background:#fdf3d9;border:1px solid #ecd39a;border-radius:5px;margin-top:1rem;padding:1rem}.credential-box code{overflow-wrap:anywhere;font-family:var(--mono);color:var(--amber-ink);margin:.8rem 0;display:block}.credential-box p{color:var(--muted);margin:0;font-size:.8rem}.registered-list,.catalog-list{margin-top:1rem}.registered-list div,.catalog-list div{padding-inline:.25rem}.registered-list span,.catalog-list span{color:var(--muted)}.catalog-list span{font-family:var(--mono);font-size:.78rem}.registered-machine{flex-direction:column;gap:.2rem;display:flex}.registered-machine strong{color:var(--ink)}.registered-machine small{font-size:.76rem;font-family:var(--mono)}.list-heading{margin:1.5rem 0 0;font-size:.9rem}.machine-actions{flex-direction:row;gap:.45rem;display:flex}.archived-list{opacity:.78}.member-list{margin-top:1rem}.member-list label{width:150px}.empty-state{text-align:center;max-width:650px;margin:8vh auto;padding:4rem 1.5rem}.empty-state img{opacity:.85;width:44px;height:44px;margin-bottom:1.2rem}.error-banner,.success-banner{border-radius:5px;padding:.8rem 1rem}.error-banner{color:var(--fault-ink);border:1px solid #f2c9cb;border-left:3px solid var(--fault);background:#fdeaea}.success-banner{color:var(--run-ink);border:1px solid #c3e7d4;border-left:3px solid var(--run);background:#e4f5ec}.loading-screen{min-height:100vh;color:var(--muted);font-family:var(--mono);letter-spacing:.06em;place-items:center;font-size:.82rem;display:grid}.login-shell{background-color:var(--ink);background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:34px 34px;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-panel{background:#fff;border-radius:8px;width:min(430px,100%);padding:2.6rem 2.4rem 2.4rem;position:relative;overflow:hidden;box-shadow:0 30px 80px #0007}.login-panel:before{content:"";background:repeating-linear-gradient(-45deg, var(--amber) 0 10px, var(--ink) 10px 20px);height:6px;position:absolute;inset:0 0 auto}.login-logo{width:46px;height:46px;margin-bottom:1.2rem}.login-panel>.language-picker{float:right}.login-panel button{margin-top:.4rem}.invite-note{color:var(--muted);background:#f1f2f4;border-radius:5px;padding:.75rem;font-size:.8rem}@media (prefers-reduced-motion:no-preference){.machine-card{transition:border-color .15s,box-shadow .15s,transform .15s}.machine-card:hover{transform:translateY(-2px)}button,.sidebar nav a,input,select{transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.stack-light.error .lamp.red{animation:1.4s ease-in-out infinite beacon}@keyframes beacon{50%{filter:brightness(.55);box-shadow:0 0 2px #d2373c55}}}@media (width<=850px){.app-shell{grid-template-columns:1fr;padding-bottom:70px}.sidebar{z-index:10;border-top:1px solid #2a2f37;flex-direction:row;align-items:center;width:100%;height:68px;padding:.5rem;position:fixed;top:auto;bottom:0}.sidebar-brand,.sidebar-footer{display:none}.mobile-language{display:flex}.sidebar nav{grid-template-columns:1fr 1fr;width:100%}.sidebar nav a:only-child{grid-column:1/-1}.sidebar nav a{justify-content:center}.sidebar nav a.active{box-shadow:inset 0 3px 0 var(--amber)}.content{padding:1.5rem 1rem}.stat-grid{grid-template-columns:1fr 1fr}.two-column,.settings-grid{grid-template-columns:1fr}.full-span{grid-column:auto}}@media (width<=520px){.page-heading{flex-direction:column;align-items:start;gap:.8rem}.heading-side{align-items:flex-start}.fleet-chips{justify-content:flex-start}.fleet-grid{grid-template-columns:1fr}.stat-grid{gap:.6rem}.stat-grid strong{font-size:1.25rem}.inline-form,.lane-name-grid,.machine-details-form{grid-template-columns:1fr}.machine-row-actions{flex-wrap:wrap;justify-content:stretch;align-items:stretch}.machine-row-actions button{flex:140px}.card-footer{gap:.8rem}}
