:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#132532;background:#f2f5f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{min-height:42px;border:0;border-radius:7px;background:#087f67;color:#fff;padding:10px 16px;font-weight:700;cursor:pointer}button:hover{filter:brightness(.94)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #39d6b3;outline-offset:2px}button:disabled{opacity:.6}.brand{display:flex;align-items:center;gap:12px}.brand div{display:flex;flex-direction:column}.brand small,.profile small,td small{display:block;color:#667887}.badge{display:grid;place-items:center;background:#39d6b3;color:#062d26;width:48px;height:48px;border-radius:9px;font-weight:900}.login{min-height:100vh;display:grid;grid-template-columns:1fr minmax(320px,520px);gap:8vw;align-items:center;padding:clamp(24px,7vw,100px);background:linear-gradient(135deg,#071722 0 50%,#eef4f5 50%)}.login>.brand{color:#fff;align-self:start}.login-card{background:#fff;padding:clamp(28px,5vw,52px);border-radius:16px;box-shadow:0 24px 70px #00141e3a}.login-card h1,.title h1{font-size:clamp(2rem,4vw,3rem);margin:5px 0 12px}.eyebrow{font-size:.75rem;color:#087f67;letter-spacing:.14em;font-weight:800}.login form,.form-grid{display:grid;gap:18px;margin-top:28px}label{display:grid;gap:7px;font-size:.85rem;font-weight:700}input,select{min-height:44px;border:1px solid #b8c5cc;border-radius:7px;padding:9px 11px;background:#fff;color:#132532}.error{color:#a72c2c;background:#fff0f0;padding:10px;border-radius:6px}.app{display:grid;grid-template-columns:245px 1fr;min-height:100vh}aside{background:#091c28;color:#fff;padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}nav{display:grid;gap:6px;margin-top:48px}nav button{background:transparent;text-align:left;color:#b9c8d1}nav button.selected{background:#173544;color:#fff;border-left:3px solid #39d6b3}.profile{margin-top:auto;padding:16px 10px;border-top:1px solid #29404d;display:flex;flex-direction:column;gap:3px}.text{padding:8px 0;background:transparent;color:#60dec3;text-align:left}.content{padding:clamp(24px,5vw,64px);max-width:1400px;width:100%;overflow:hidden}.title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.title label{min-width:230px}.count{color:#667887}.content section{background:#fff;border:1px solid #dce4e8;border-radius:11px;padding:24px;margin-bottom:22px}.content h2{margin-top:0}.row-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid fieldset{grid-column:1/-1;border:1px solid #d3dde2;border-radius:8px;display:flex;gap:20px}.check{display:flex;align-items:center;gap:7px}.check input{min-height:auto}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:#667887;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}th,td{padding:14px 10px;border-bottom:1px solid #e5eaed;vertical-align:middle}.actions{display:flex;gap:8px}.secondary{background:#e7eff1;color:#173744}.danger{background:#ae3434}.status{display:inline-block;padding:5px 8px;border-radius:99px;font-size:.72rem;font-weight:800}.status.active{background:#d9f6eb;color:#12674f}.status.suspended{background:#ffe4e2;color:#982d2d}.toast{background:#e1f6ef;color:#155b49;padding:12px 15px;border-radius:8px;margin-bottom:18px}.cards{display:grid;gap:12px}.cards article{display:grid;grid-template-columns:1fr auto auto;gap:15px;align-items:center;border:1px solid #e1e8eb;border-radius:8px;padding:15px}.cards h3,.cards p{margin:2px}.summary{display:grid;grid-template-columns:1fr 1fr;gap:20px}.summary section span{color:#667887}.summary section strong{font-size:1.5rem;display:block;margin-top:10px}.loading{padding:50px}.content>section p{line-height:1.6}@media(max-width:760px){.login{display:flex;flex-direction:column;justify-content:center;background:#eef4f5}.login>.brand{color:#132532;align-self:auto;margin-bottom:22px}.app{display:block}aside{position:static;height:auto;padding:16px}aside .brand{margin-bottom:14px}nav{display:flex;overflow-x:auto;margin:0;gap:5px}nav button{white-space:nowrap}.profile{margin-top:14px;display:grid;grid-template-columns:1fr auto}.profile small{grid-column:1}.profile .text{grid-column:2;grid-row:1/3}.content{padding:22px 15px}.title{align-items:stretch;flex-direction:column}.row-form,.form-grid,.summary{grid-template-columns:1fr}.form-grid fieldset{display:grid}.cards article{grid-template-columns:1fr auto}.cards article button{grid-column:1/-1}th,td{min-width:125px}}.single-action{grid-template-columns:minmax(240px,1fr) auto;max-width:720px}.help,.scope-note,.empty{color:#667887}.scope-note{background:#eef7f5;padding:12px;border-radius:7px}.form-grid label small{font-weight:400;color:#667887}@media(max-width:760px){.single-action{grid-template-columns:1fr}}.success{color:#155b49;background:#e1f6ef;padding:10px;border-radius:6px}.narrow{max-width:700px}.one-column{grid-template-columns:1fr}.editor{border-left:4px solid #087f67!important}.cards article>.actions{justify-content:flex-end}.brand-logo{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:9px;padding:3px}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:14px;align-items:end}.status.service{background:#fff0c9;color:#765800}.device-detail dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.device-detail dl div{padding:12px;background:#f4f7f8;border-radius:7px}.device-detail dt{font-size:.75rem;color:#667887;text-transform:uppercase}.device-detail dd{margin:5px 0 0;font-weight:700}.device-detail textarea{min-height:90px}textarea{font:inherit;border:1px solid #b8c5cc;border-radius:7px;padding:9px 11px;resize:vertical}@media(max-width:760px){.filter-grid,.device-detail dl{grid-template-columns:1fr}.device-detail .title{flex-direction:row}.cards article>.actions{grid-column:1/-1}}.uuid-value{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem}.timestamp{font-weight:800;white-space:nowrap}.timestamp small{display:block;margin-top:3px;color:#667887;font-size:.72rem;font-weight:500;white-space:nowrap}.connection-state{background:#e8f1f4;border-left:4px solid #28758f;padding:11px 14px;margin-bottom:16px;border-radius:6px}.live-panel{max-width:920px;margin-inline:auto;text-align:center}.live-status-row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.live-status,.reading-state{display:inline-block;padding:8px 13px;border:2px solid currentColor;border-radius:999px;font-weight:900;letter-spacing:.05em}.live-status.online{color:#087f67}.live-status.offline{color:#a72c2c}.live-status.weight_data_stale{color:#9a6200}.live-status.never_connected,.live-status.connecting{color:#526875}.reading-state{color:#173744}.weight-label{margin:38px 0 0;color:#526875;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.weight-value{display:flex;align-items:baseline;justify-content:center;gap:18px;margin:8px 0 26px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:0 4px}.weight-value strong{font-size:clamp(4rem,14vw,10rem);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 auto}.weight-value span{font-size:clamp(1.5rem,4vw,3rem);font-weight:800;white-space:nowrap;flex:0 0 auto}.last-warning{display:inline-block;background:#fff4d7;color:#754a00;border:1px solid #e6bd57;padding:10px 14px;border-radius:7px;font-weight:800}.live-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:left;margin-top:30px}.live-details div{padding:16px;border:1px solid #dce4e8;border-radius:8px}.live-details dt{color:#667887;font-size:.78rem;font-weight:800;text-transform:uppercase}.live-details dd{margin:7px 0 0;font-weight:800}.live-details small{display:block;color:#667887;margin-top:4px;font-weight:500}@media(max-width:800px){.app{grid-template-columns:1fr}aside{position:static;height:auto}.content{padding:20px}.login{grid-template-columns:1fr;background:#eef4f5}.login>.brand{color:#132532}nav{margin-top:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile{margin-top:24px}.form-grid,.row-form,.summary{grid-template-columns:1fr}.title{align-items:flex-start;flex-direction:column}.cards article{grid-template-columns:1fr}.live-details{grid-template-columns:1fr}.weight-value{flex-direction:row;align-items:baseline;gap:8px;justify-content:flex-start}.weight-value strong{font-size:clamp(2.5rem,14vw,5.5rem);letter-spacing:-.04em}.weight-value span{font-size:clamp(1.2rem,5vw,2rem)}}.command-panel{margin-top:28px;padding:20px;border-top:2px solid #dce4e8;text-align:left}.command-panel .actions{flex-wrap:wrap}.command-panel button{min-width:140px;min-height:48px}.command-progress{padding:12px;border-radius:7px;background:#e8f1f4}.command-progress.succeeded{background:#d9f6eb;color:#12674f}.command-progress.failed,.command-progress.rejected,.command-progress.expired{background:#fff0f0;color:#982d2d}.app.live-mode{height:100dvh;min-height:0;overflow:hidden}.live-page{height:100dvh;min-height:0;overflow:hidden;padding:clamp(8px,1.5vh,16px) clamp(12px,2.5vw,34px);display:flex;flex-direction:column}.live-page>.title{align-items:center;margin-bottom:5px;flex:0 0 auto}.live-page>.title h1{font-size:clamp(1.5rem,3vw,2.35rem);margin:2px 0}.live-page>.title p{margin:2px 0}.live-page>.connection-state{padding:5px 10px;margin-bottom:5px;flex:0 0 auto}.live-page>.error{margin:0 0 5px}.live-page>.live-panel{width:100%;min-height:0;flex:1;margin-bottom:0;padding:clamp(7px,1vh,12px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;align-items:center}.live-page .live-status-row{gap:8px}.live-page .live-status,.live-page .reading-state{padding:5px 10px}.live-page .weight-label{margin:4px 0 0}.live-page .weight-value{min-height:0;margin:0 0 3px;overflow:hidden}.live-page .weight-value strong{font-size:clamp(4rem,14vw,10rem)}.live-page .live-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:3px}.live-page .live-details div{padding:6px 8px}.live-page .live-details dd{margin-top:2px}.live-page .command-panel{width:100%;margin-top:4px;padding:5px 0 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.live-page .command-panel h2,.live-page .command-panel p{margin:0}.live-page .command-panel>p:not(.command-progress){font-size:.82rem;color:#667887}.live-page .command-panel .actions{flex-wrap:nowrap;justify-content:flex-end}.live-page .command-panel button{min-width:120px;min-height:44px}.live-page .command-progress{grid-column:1/-1;margin-top:0}@media(max-width:800px){.app.live-mode{display:block}.app.live-mode>aside{display:none}.live-page{padding:8px}.live-page>.title{flex-direction:row;align-items:center;gap:8px}.live-page>.title h1{font-size:1.35rem}.live-page>.title .eyebrow,.live-page>.title p:last-child{display:none}.live-page>.title button{min-height:38px;padding:7px 10px}.live-page>.live-panel{padding:6px}.live-page .weight-value{justify-content:center}.live-page .weight-value strong{font-size:clamp(2.5rem,14vw,5.5rem)}.live-page .live-details{grid-template-columns:repeat(2,minmax(0,1fr))}.live-page .command-panel{grid-template-columns:1fr}.live-page .command-panel h2,.live-page .command-panel>p:not(.command-progress){display:none}.live-page .command-panel .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.live-page .command-panel button{width:100%;min-width:0}}@media(max-height:700px){.live-page .command-panel>p:not(.command-progress){display:none}}
