:root{--bg:#071018;--panel:#0d1822;--panel2:#101e2a;--line:#1e3445;--text:#eaf4fb;--muted:#8fa8b8;--ice:#9fdcf3;--ice2:#d8f4ff;--danger:#ff8585;--ok:#8ce2b1;--shadow:0 20px 55px rgba(0,0,0,.28)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% -10%,#153a50 0,transparent 32%),linear-gradient(180deg,#071018,#08131c 45%,#050b10);color:var(--text);font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}.boot{padding:40px;color:var(--muted)}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{padding:22px 16px;border-right:1px solid var(--line);background:rgba(5,13,19,.86);position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin:2px 6px 26px}.brand-mark{width:44px;height:44px;border:1px solid #77c9eb;border-radius:14px;display:grid;place-items:center;font-weight:900;letter-spacing:-2px;color:var(--ice2);box-shadow:inset 0 0 20px rgba(159,220,243,.12)}.brand h2{font-size:16px;margin:0}.brand small{color:var(--muted)}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:var(--muted);text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer}.nav button:hover,.nav button.active{background:#102330;color:var(--text)}.sidebar-foot{position:absolute;bottom:18px;left:16px;right:16px;color:var(--muted)}.main{padding:30px;max-width:1500px;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{font-size:28px;margin:0}.muted{color:var(--muted)}.tiny{font-size:12px}.grid{display:grid;gap:18px}.cols-2{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)}.card{background:linear-gradient(180deg,rgba(16,30,42,.94),rgba(11,23,32,.96));border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.card h3{margin:0 0 14px;font-size:17px}.card h4{margin:18px 0 8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:grid;gap:6px;color:#bcd0dc;font-size:12px;font-weight:650}input,select,textarea{width:100%;background:#07131c;color:var(--text);border:1px solid #244051;border-radius:9px;padding:10px 11px;outline:none}textarea{min-height:150px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}input:focus,select:focus,textarea:focus{border-color:#6bb9d8;box-shadow:0 0 0 3px rgba(107,185,216,.1)}.btn{border:1px solid #31546a;background:#102635;color:var(--text);padding:9px 13px;border-radius:9px;cursor:pointer;font-weight:700}.btn:hover{filter:brightness(1.12)}.btn.primary{background:linear-gradient(180deg,#65b8d7,#3d8cab);color:#041017;border-color:#8ad3ec}.btn.danger{border-color:#714040;color:#ffb3b3}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pill{padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}.summary{position:sticky;top:28px;align-self:start;max-height:calc(100vh - 56px);overflow-y:auto;scrollbar-gutter:stable}.big-value{font-size:38px;font-weight:900;letter-spacing:-1.5px;margin:4px 0 14px;color:var(--ice2)}.kv{display:grid;grid-template-columns:1fr auto;gap:8px 14px;padding:8px 0;border-bottom:1px dashed #1b3343}.kv span:first-child{color:var(--muted)}.kv strong{font-variant-numeric:tabular-nums}.section-title{margin:18px 0 9px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#7393a7}.amenity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.amenity-row{display:flex;align-items:center;gap:8px;border:1px solid #1c3444;border-radius:9px;padding:8px;background:#091721}.amenity-row input[type=checkbox]{width:auto}.amenity-row input[type=number]{width:64px;padding:6px}.notice{padding:11px 12px;border-radius:10px;border:1px solid #31566b;background:#0a1b26;margin:10px 0}.notice.error{border-color:#743f48;color:#ffb5bb}.notice.success{border-color:#35644a;color:#a8efc3}.login-wrap,.install-body{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card,.install-card{width:min(420px,100%);background:rgba(10,22,31,.96);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.login-card h1,.install-card h1{margin:14px 0 4px}.stack{display:grid;gap:12px;margin-top:20px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:10px 12px;border-bottom:1px solid #18303f;text-align:left;vertical-align:top}.table th{color:#8fa8b8;font-size:11px;text-transform:uppercase;letter-spacing:.07em;background:#091720}.table tr:hover td{background:#0c1d28}.status{display:inline-flex;padding:4px 7px;border-radius:999px;background:#112a36;color:#9fdcf3;font-size:11px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);display:grid;place-items:center;padding:20px;z-index:20}.modal{width:min(720px,100%);max-height:88vh;overflow:auto;background:#0c1923;border:1px solid var(--line);border-radius:16px;padding:20px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tabs button{padding:7px 9px}.chartbox{height:230px;border:1px solid var(--line);border-radius:12px;background:#07131c;display:grid;place-items:center;overflow:hidden}.poly-svg{width:100%;height:100%}.split-note{display:flex;justify-content:space-between;gap:12px;align-items:center}.login-card .brand-mark,.install-card .brand-mark{width:54px;height:54px;font-size:18px}.danger-text{color:#ff9f9f}.ok-text{color:#9fe6bc}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{grid-template-columns:repeat(4,1fr)}.sidebar-foot{display:none}.main{padding:18px}.cols-2{grid-template-columns:1fr}.summary{position:relative;top:auto}}@media(max-width:640px){.form-grid,.form-grid.three,.amenity-list{grid-template-columns:1fr}.nav{grid-template-columns:repeat(2,1fr)}.topbar{align-items:flex-start;gap:12px;flex-direction:column}.big-value{font-size:30px}}

.zone-detection{margin-top:10px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#091721;display:grid;gap:8px}.zone-detection>div:first-child,.zone-detection-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.zone-detection strong{color:var(--text)}.zone-detection span{display:block;color:var(--muted);font-size:12px}.zone-detection.idle{opacity:.82}.zone-detection.loading{border-color:#31566b}.zone-detection.success{border-color:#35644a;background:rgba(31,74,52,.18)}.zone-detection.warning{border-color:#7c6934;background:rgba(91,72,22,.16)}.zone-detection.error{border-color:#743f48;background:rgba(91,35,43,.16)}.confidence-value{font-size:20px;font-weight:900;color:var(--ice2);font-variant-numeric:tabular-nums;white-space:nowrap}.confidence-track{height:7px;border-radius:999px;background:#071018;overflow:hidden;border:1px solid #17303e}.confidence-track span{height:100%;display:block;background:linear-gradient(90deg,#4b9cba,#9fdcf3);border-radius:999px}.zone-mapped{margin-top:2px}.zone-detail{font-size:11px!important}.btn:disabled{opacity:.55;cursor:wait}

.is-hidden{display:none!important}.table-actions{flex-wrap:nowrap}.table-actions .btn{white-space:nowrap}

/* NW-RE 1.2.0 */
.notice.warning{border-color:#80692f;color:#f1d786;background:rgba(107,84,25,.18)}
.notice.soft{border-color:#29495c;color:#b8d3e3;background:rgba(15,42,56,.5)}
.short-textarea{min-height:100px;font-family:inherit;font-size:13px}
.summary-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.workflow-card{margin:0 0 18px;background:linear-gradient(180deg,rgba(12,31,42,.96),rgba(8,21,29,.96));border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;gap:14px;align-items:center;box-shadow:var(--shadow)}
.status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;border:1px solid #31546a;background:#102635;color:#b9dceb;white-space:nowrap}
.status-badge.draft{color:#b9ceda}.status-badge.pending{border-color:#786a32;color:#f0d67b;background:#2b2614}.status-badge.approved,.status-badge.active{border-color:#35644a;color:#a8efc3;background:#10291d}.status-badge.rejected,.status-badge.cancelled{border-color:#743f48;color:#ffb5bb;background:#291317}.status-badge.completed{border-color:#34617a;color:#a9ddf2;background:#102633}.status-badge.archived,.status-badge.ended{border-color:#44515b;color:#bec8cf;background:#1a2228}
.filterbar{display:grid;grid-template-columns:minmax(240px,1fr) 220px;gap:10px;margin-bottom:12px}
.compare-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.compare-summary>div{border:1px solid #1d3646;border-radius:10px;padding:9px;background:#081722}.compare-summary span{display:block;color:var(--muted);font-size:11px}.compare-summary strong{display:block;margin-top:2px;font-size:15px}
.compare-list{display:grid;gap:6px;margin:8px 0}.compare-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #1d3646;background:#091721;color:var(--text);border-radius:10px;padding:9px 10px;text-align:left;cursor:pointer}.compare-item:hover{border-color:#37647d}.compare-item span{display:grid;gap:2px}.compare-item small{color:var(--muted)}
.plausibility-list{margin-top:10px}.plausibility-list .notice{margin:7px 0}
.registry-filter{margin-bottom:18px}.stats-row{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-bottom:18px}.stat-card{background:linear-gradient(180deg,rgba(16,30,42,.94),rgba(11,23,32,.96));border:1px solid var(--line);border-radius:13px;padding:13px}.stat-card span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.stat-card strong{display:block;font-size:24px;margin-top:3px}.registry-table{min-width:1120px}.registry-table td{vertical-align:middle}
.table-actions{display:flex;gap:6px;flex-wrap:wrap!important}.table-actions .btn{padding:7px 9px;font-size:12px}
.install-card a.btn{text-decoration:none;display:inline-block}
@media(max-width:1100px){.stats-row{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:980px){.workflow-card{align-items:flex-start;flex-direction:column}.summary{max-height:none}.filterbar{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:640px){.stats-row{grid-template-columns:1fr}.workflow-card .toolbar{width:100%}.workflow-card .btn{flex:1}.compare-summary{grid-template-columns:1fr}}


/* OTG branding hotfix 1.2.2 */
:root{--bg:#080605;--panel:#120f0b;--panel2:#18130d;--line:#3b2d16;--text:#f3ead7;--muted:#b8a789;--ice:#d9b970;--ice2:#f5d28a;--shadow:0 20px 55px rgba(0,0,0,.38)}
body{background:radial-gradient(circle at 80% -10%,rgba(132,92,22,.22) 0,transparent 32%),linear-gradient(180deg,#070605,#0b0907 45%,#050403)}
.brand-mark{border-color:#a98135;color:var(--ice2);box-shadow:inset 0 0 20px rgba(217,185,112,.12)}
.nav button:hover,.nav button.active{background:#1d160d;color:var(--text)}
input,select,textarea{border-color:#4a3920;background:#0c0906}
input:focus,select:focus,textarea:focus{border-color:#c49a4c;box-shadow:0 0 0 3px rgba(196,154,76,.12)}
.btn{border-color:#6b542a;background:#1a140c}.btn.primary{background:linear-gradient(180deg,#d7b169,#a67c2d);color:#1a1106;border-color:#e7c787}
.card,.workflow-card,.stat-card{background:linear-gradient(180deg,rgba(23,18,13,.95),rgba(14,10,7,.97))}
.pill,.status,.status-badge{border-color:#5a4520}
.sidebar{background:rgba(6,4,3,.9)}
.brand-stack{display:grid;gap:12px;justify-items:start}
.brand-logo{display:block;max-width:100%;height:auto}
.brand-logo-sidebar{width:190px;max-width:100%}
.brand-logo-login{width:240px;max-width:100%;margin:0 auto 8px}
.login-card.otg-center,.install-card{text-align:center}
.login-card.otg-center .stack,.install-card .stack{text-align:left}
.summary .big-value,.confidence-value{color:var(--ice2)}
.table tr:hover td{background:#16110b}
.notice{background:#100c08;border-color:#594520}
.notice.success{border-color:#5a7041;color:#cfe8b4}
.notice.error{border-color:#7b433f;color:#ffc2c2}
.notice.warning{border-color:#8a6932;color:#f4dd9c;background:rgba(96,72,30,.18)}
.zone-detection{background:#0d0906}.zone-detection.success{border-color:#5b7a4b;background:rgba(52,77,37,.18)}.zone-detection.warning{border-color:#8a6932;background:rgba(91,72,22,.16)}.zone-detection.error{border-color:#7b433f;background:rgba(91,35,43,.16)}
.compare-item,.amenity-row,.compare-summary>div,.stat-card{border-color:#423016;background:#0d0906}
