@font-face{font-family:system;src:local("Segoe UI")}*{box-sizing:border-box} :root{--ink:#182522;--green:#2e5345;--paper:#f4f3ee;--line:#dedfd6;--muted:#6d776f;--accent:#edb36b;--red:#a3372c}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system,"Segoe UI",Arial,sans-serif}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #518c72;outline-offset:4px}h1,h2,p{margin:0}h1,h2{font-weight:550;letter-spacing:-.045em;line-height:1.13}h1{font-size:48px}h2{font-size:29px}[hidden]{display:none!important}.topbar{height:90px;background:var(--ink);color:white;display:flex;align-items:center;padding:0 max(5vw,24px);gap:24px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:23px;letter-spacing:.025em;font-weight:750}.brand-light{font-weight:350;margin-left:5px}.top-caption{font-size:10px;letter-spacing:.17em;color:#aebdb4;margin-left:32px}.user-name{margin-left:auto;font-size:13px;color:#d3ddd7}.topbar #logout{order:3;color:#d3ddd7}main{max-width:1280px;padding:0 40px;margin:auto;min-height:calc(100vh - 190px)}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--muted)}.login-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center;min-height:690px;padding:75px 0}.intro h1{font-size:clamp(44px,4.8vw,67px);margin:24px 0}.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:390px}.intro-details{display:flex;flex-direction:column;gap:15px;margin:36px 0;font-size:11px;letter-spacing:.04em;color:#9b8261}.intro-details b{margin-left:20px;font-size:13px;font-weight:500;color:var(--ink)}.brand-line{height:3px;width:56px;background:var(--accent);margin-top:45px}.login-card{background:#fff;border:1px solid var(--line);padding:44px;box-shadow:0 15px 50px #18252206}.mini-shield{width:45px;height:45px;display:grid;place-items:center;background:#edf1e9;color:var(--green);font-size:28px;margin-bottom:32px}.login-card h2{margin:15px 0}.login-card p:not(.eyebrow){color:var(--muted);font-size:14px}.login-card .button{margin-top:27px}.login-foot{border-top:1px solid var(--line);margin-top:32px;padding-top:20px;font-size:11px;color:var(--muted)}.tiny-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:7px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid transparent;min-height:50px;padding:12px 21px;font-size:13px;font-weight:600;text-decoration:none;border-radius:3px;transition:background .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--ink);color:white}.primary:hover:not(:disabled){background:var(--green)}.secondary{background:transparent;border-color:#c5cec3;color:var(--ink)}.secondary:hover:not(:disabled){background:#eef1e8}.wide{width:100%}.quiet{border:0;background:transparent;padding:6px 0;color:var(--green);font-size:12px;text-decoration:none}.quiet:hover{text-decoration:underline}.browser-code{margin-top:25px;background:var(--paper);padding:16px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.browser-code strong{font:600 24px/1.1 ui-monospace,monospace;letter-spacing:.12em}.browser-code+p{margin-top:16px}#login-status{margin:16px 0 4px}.small{font-size:12px}.muted{color:var(--muted)}.error{color:var(--red)!important}#login-error:not(:empty){margin-top:18px}.page-title{display:flex;align-items:center;justify-content:space-between;padding:42px 0 28px}.page-title h1{font-size:38px;margin-top:8px}.refresh{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px}.icon-button{border:1px solid var(--line);background:white;width:36px;height:36px;border-radius:50%;font-size:23px;color:var(--green)}.hero-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px}.status-card{background:white;border:1px solid var(--line);padding:30px 35px;min-height:348px}.card-top{display:flex;justify-content:space-between;align-items:center}.pill{font-size:11px;background:#eeeee8;padding:5px 11px;border-radius:20px;color:var(--muted)}.pill.online{background:#eaf1e7;color:#3e684c}.pill.online:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#5e8c66;margin-right:6px}.status-symbol{font-size:45px;line-height:1.2;color:var(--green);margin-top:18px}.status-card h2{font-size:39px;margin:8px 0 10px}.status-card>p{color:var(--muted);font-size:13px}.status-card.alarming{border-color:#c36c4f}.status-card.alarming .status-symbol,.status-card.alarming h2{color:var(--red)}.actions{display:flex;gap:12px;margin:25px 0 10px;flex-wrap:wrap}#command-result{min-height:20px}.connection-card{background:var(--ink);color:white;padding:32px 35px;position:relative;overflow:hidden}.connection-card:after{content:"";position:absolute;width:180px;height:180px;border:1px solid #41534a;border-radius:50%;right:-100px;top:55px;pointer-events:none}.connection-card .eyebrow{color:#a6b8ab}.connection-card h2{font-size:35px;margin:18px 0 25px}.connection-card dl{margin:0}.connection-card dl div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #ffffff16;font-size:11px}.connection-card dt{color:#a9b9ae}.connection-card dd{margin:0;max-width:65%;text-align:right;overflow-wrap:anywhere}.light{color:var(--accent);margin-top:17px}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.panel{background:white;border:1px solid var(--line);padding:29px 32px;min-width:0}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:23px}.panel-heading h2{font-size:25px;margin-top:8px}.coordinate-box{display:flex;gap:18px;align-items:center;background:var(--paper);min-height:112px;padding:20px}.coordinate-box strong{display:block;font-size:16px;overflow-wrap:anywhere}.coordinate-box .small{display:block;margin-top:5px}.crosshair{font-size:37px;font-family:Arial;color:#8e9c89}.map-link{display:inline-block;font-size:12px;color:var(--green);margin:12px 0}.live-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:21px;margin-top:20px;gap:15px}.live-row b{font-size:13px;font-weight:600}.live-row p{margin-top:3px}.compact{min-height:36px;padding:6px 16px;font-size:12px}.events{list-style:none;padding:0;margin:0;max-height:330px;overflow:auto}.events li{padding:13px 0;border-bottom:1px solid #eceee7;display:flex;gap:13px;font-size:13px}.events .event-dot{height:7px;width:7px;margin-top:7px;background:#9cae99;border-radius:50%;flex-shrink:0}.events .alarm-dot{background:#c05944}.events time{font-size:10px;color:var(--muted);display:block;margin-top:3px}.events .empty{display:block;color:var(--muted);padding:33px 0}.track svg{display:block;width:100%;height:100px;margin-top:10px}.track .small{margin-top:6px}.wiring{margin:24px 0 42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.wiring summary{cursor:pointer;padding:19px 0;list-style:none;display:flex;justify-content:space-between}.wiring summary span{font-size:19px}.wiring[open] summary span{transform:rotate(45deg)}.wiring-content{padding:0 0 25px;color:var(--muted);max-width:800px}.wiring-content p{margin:0 0 12px}.wiring-content a{color:var(--green)}.notice{padding:12px 16px;border:1px solid #e2bfb1;background:#fff3ec;margin-bottom:18px;font-size:12px}footer{max-width:1200px;margin:0 auto;padding:25px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}footer>span:first-child{font-weight:750;letter-spacing:.15em}footer a{text-decoration:none}dialog{border:1px solid var(--line);padding:40px;width:min(420px,calc(100% - 32px));background:white;color:var(--ink)}dialog::backdrop{background:#14201999;backdrop-filter:blur(3px)}dialog h2{margin:16px 0}dialog p{font-size:13px;color:var(--muted)}dialog label{display:block;font-size:12px;margin-top:24px}dialog input{width:100%;margin:8px 0 20px;padding:12px;border:1px solid #b7c4b4;font:24px ui-monospace,monospace;letter-spacing:.2em}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:26px;color:var(--muted)}@media(max-width:900px){.login-layout{gap:35px;min-height:650px}.login-card{padding:30px}.hero-grid{grid-template-columns:1.3fr 1fr}.status-card,.connection-card{padding:25px}.actions .button{width:100%}.panel{padding:24px}footer{margin:0 40px}.status-card h2{font-size:33px}}@media(max-width:650px){.topbar{height:72px;padding:0 20px;gap:12px}.brand{font-size:19px}.brand img{width:27px;height:31px}.top-caption{display:none}main{padding:0 20px}.login-layout{grid-template-columns:1fr;gap:35px;padding:45px 0}.intro h1{font-size:44px;margin:18px 0}.lead{font-size:16px}.intro-details{display:none}.brand-line{margin-top:22px}.login-card{padding:28px}.page-title{padding:28px 0 22px;gap:12px}.page-title h1{font-size:30px}.refresh>span{display:none}.hero-grid,.lower-grid{grid-template-columns:1fr;gap:16px}.status-card{padding:25px}.status-card h2{font-size:33px}.actions{flex-direction:column}.connection-card h2 br{display:none}.connection-card h2{font-size:27px;margin:14px 0}.connection-card{padding:26px}.lower-grid{margin-top:16px}.panel{padding:24px}.wiring{margin-bottom:28px}footer{margin:0 20px;padding:22px 0;flex-wrap:wrap}footer>span:nth-child(2){order:3;width:100%}.coordinate-box{padding:17px;gap:12px}.coordinate-box strong{font-size:14px}.button{min-height:48px}}

.connection-actions{display:flex;gap:20px;flex-wrap:wrap}
