/* ATLAS — dark pro-instrument workbench */
.atlas {
  --ink:#0C231B; --panel:#102b21; --panel-2:#0e271e; --hair:rgba(255,255,255,0.08);
  --hair-2:rgba(255,255,255,0.05); --txt:#E8EDEA; --txt-2:#9DB0A6; --txt-3:#6E837A;
  --amber:#FFB54C; --amber-soft:rgba(255,181,76,0.14);
  position:absolute; inset:0; display:flex; flex-direction:column;
  background:var(--ink); color:var(--txt);
  font-family:Inter,system-ui,sans-serif; font-size:13px; -webkit-font-smoothing:antialiased;
}
.atlas *{ box-sizing:border-box; }
.atlas .num,.atlas .a-big,.atlas .a-bar-v,.atlas .a-meas{ font-variant-numeric:tabular-nums; }

/* command bar */
.a-cmd{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px;
  height:50px; padding:0 14px; background:rgba(8,24,18,0.7); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--hair); flex:0 0 auto; }
.a-cmd-l{ display:flex; align-items:center; gap:10px; min-width:0; }
.a-mark{ display:inline-flex; width:26px; height:26px; align-items:center; justify-content:center; border-radius:7px;
  background:var(--amber); color:var(--ink); font-weight:800; font-size:13px; flex:0 0 auto; }
.a-job{ min-width:0; }
.a-job-t{ font-size:13px; font-weight:650; letter-spacing:-0.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.a-job-m{ font-size:11px; color:var(--txt-3); margin-top:1px; }
.a-cmd-c{ justify-self:center; }
.a-cmdk{ display:inline-flex; align-items:center; gap:8px; height:32px; padding:0 12px; min-width:300px;
  background:var(--panel); border:1px solid var(--hair); border-radius:8px; color:var(--txt-3);
  font-size:12px; font-weight:500; cursor:pointer; transition:border-color 140ms,background 140ms; }
.a-cmdk:hover{ border-color:rgba(255,255,255,0.16); }
.a-cmdk kbd{ margin-left:auto; font-size:10px; font-weight:600; color:var(--txt-2); background:rgba(255,255,255,0.06); border-radius:4px; padding:2px 5px; font-family:inherit; }
.a-cmd-r{ display:flex; align-items:center; gap:10px; justify-self:end; }
.a-route-pill{ display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600;
  padding:5px 11px; border-radius:9999px; color:var(--rc); border:1px solid color-mix(in srgb, var(--rc) 35%, transparent); background:color-mix(in srgb, var(--rc) 12%, transparent); }
.a-route-pill i{ width:7px; height:7px; border-radius:9999px; background:var(--rc); }
.a-save{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; color:var(--txt-3); }
.a-save i{ width:6px; height:6px; border-radius:9999px; background:#3FB67C; }

.a-btn{ display:inline-flex; align-items:center; gap:7px; height:32px; padding:0 12px; border-radius:7px;
  font-size:12.5px; font-weight:650; border:1px solid transparent; cursor:pointer; white-space:nowrap; transition:all 150ms; }
.a-btn.primary{ background:var(--amber); color:var(--ink); }
.a-btn.primary:hover{ box-shadow:0 6px 18px -7px rgba(255,181,76,0.6); transform:translateY(-1px); }
.a-btn.amber{ background:var(--amber); color:var(--ink); width:100%; justify-content:center; }
.a-btn.ghost{ background:transparent; border-color:var(--hair); color:var(--txt); width:100%; justify-content:center; }
.a-btn.ghost:hover{ background:rgba(255,255,255,0.04); }

.a-iconbtn{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px;
  border-radius:7px; border:1px solid var(--hair); background:rgba(255,255,255,0.02); color:var(--txt-2); cursor:pointer; transition:all 140ms; }
.a-iconbtn:hover{ background:rgba(255,255,255,0.07); color:var(--txt); }

.a-body{ flex:1; display:flex; min-height:0; }

/* tool rail */
.a-rail{ width:56px; flex:0 0 56px; display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:12px 0; background:var(--panel-2); border-right:1px solid var(--hair); }
.a-rail-g{ display:flex; flex-direction:column; gap:4px; }
.a-rail-div{ width:24px; height:1px; background:var(--hair); margin:2px 0; }
.a-rail-sp{ flex:1; }
.a-tool{ position:relative; width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:9px; border:1px solid transparent; background:transparent; color:var(--txt-2); cursor:pointer; transition:all 140ms; }
.a-tool:hover{ background:rgba(255,255,255,0.06); color:var(--txt); }
.a-tool.on{ background:var(--amber); color:var(--ink); box-shadow:0 4px 14px -5px rgba(255,181,76,0.5); }
.a-tool.sig{ color:var(--amber); border-color:color-mix(in srgb,var(--amber) 35%,transparent); background:var(--amber-soft); }
.a-tool.danger:hover{ background:rgba(255,90,99,0.14); color:#FF5A63; }
.a-tool:disabled{ opacity:0.3; cursor:default; }
.a-tool[data-tip]:hover::after{ content:attr(data-tip); position:absolute; left:calc(100% + 9px); top:50%; transform:translateY(-50%);
  background:#000; color:#fff; font-size:11px; font-weight:500; padding:5px 8px; border-radius:6px; white-space:nowrap; z-index:50; box-shadow:0 6px 20px rgba(0,0,0,0.5); }

/* canvas */
.a-canvas{ position:relative; flex:1; min-width:0; overflow:hidden; background:var(--ink); }
.a-canvas>svg{ display:block; width:100%; height:100%; }

.a-dock{ position:absolute; top:14px; left:50%; transform:translateX(-50%); max-width:calc(100% - 40px);
  display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:11px;
  background:rgba(10,26,20,0.82); backdrop-filter:blur(20px); border:1px solid var(--hair); box-shadow:0 12px 36px -12px rgba(0,0,0,0.7); z-index:20; }
.a-dock-l{ font-size:10px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--txt-3); flex:0 0 auto; }
.a-dock-chips{ display:flex; gap:5px; overflow-x:auto; }
.a-dchip{ display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:7px; white-space:nowrap;
  border:1px solid var(--hair); background:rgba(255,255,255,0.03); color:var(--txt-2); font-size:11.5px; font-weight:600; cursor:pointer; transition:all 130ms; }
.a-dchip:hover{ background:rgba(255,255,255,0.08); color:var(--txt); }
.a-dchip.on{ background:#fff; color:var(--ink); border-color:#fff; }
.a-sw{ width:14px; height:3.5px; border-radius:2px; flex:0 0 auto; }
.a-sw.dash{ height:0; border-top:3px dashed currentColor; border-radius:0; background:none!important; }

.a-img-pop{ position:absolute; left:14px; top:14px; width:200px; padding:12px; border-radius:11px; z-index:20;
  background:rgba(10,26,20,0.92); backdrop-filter:blur(20px); border:1px solid var(--hair); box-shadow:0 14px 40px -12px rgba(0,0,0,0.7); display:grid; gap:10px; }
.a-slider{ display:grid; gap:5px; font-size:11px; color:var(--txt-2); }
.a-slider input{ width:100%; accent-color:var(--amber); }

/* inspector (floating glass) */
.a-inspector{ position:absolute; top:14px; right:14px; width:288px; max-height:calc(100% - 28px); overflow:hidden;
  display:flex; flex-direction:column; border-radius:13px; z-index:20;
  background:rgba(13,32,25,0.9); backdrop-filter:blur(24px); border:1px solid var(--hair); box-shadow:0 18px 50px -14px rgba(0,0,0,0.75); }
.a-insp-head{ display:flex; align-items:center; gap:8px; padding:12px 12px; border-bottom:1px solid var(--hair); }
.a-insp-kicker{ display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:600; color:var(--txt-3); text-transform:uppercase; letter-spacing:0.04em; }
.a-insp-kicker b{ color:var(--txt); text-transform:none; letter-spacing:0; font-size:13px; }
.a-meas{ margin-left:auto; font-size:12px; font-weight:700; color:var(--amber); }
.a-insp-body{ padding:12px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; }
.a-insp-label{ font-size:10px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--txt-3); }
.a-chipwrap{ display:flex; flex-wrap:wrap; gap:5px; }
.a-chip{ display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border-radius:6px; font-size:11px; font-weight:600;
  border:1px solid var(--hair); background:rgba(255,255,255,0.03); color:var(--txt-2); cursor:pointer; transition:all 120ms; }
.a-chip:hover{ background:rgba(255,255,255,0.08); color:var(--txt); }
.a-chip.on{ background:#fff; color:var(--ink); border-color:#fff; }
.a-field{ display:grid; gap:4px; font-size:11px; }
.a-field>span{ color:var(--txt-3); font-weight:600; }
.a-2col{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.a-input,.a-select select{ width:100%; height:30px; padding:0 9px; border-radius:7px; border:1px solid var(--hair);
  background:rgba(255,255,255,0.04); color:var(--txt); font-size:12px; font-family:inherit; outline:none; }
.a-input:focus,.a-select select:focus{ border-color:var(--amber); box-shadow:0 0 0 3px var(--amber-soft); }
.a-select{ position:relative; }
.a-select select{ appearance:none; padding-right:26px; cursor:pointer; }
.a-select>svg{ position:absolute; right:8px; top:50%; transform:translateY(-50%) rotate(90deg); color:var(--txt-3); pointer-events:none; }
.a-check{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--txt-2); cursor:pointer; }
.a-check input{ accent-color:var(--amber); }
.a-note{ display:flex; gap:7px; font-size:11px; line-height:1.4; color:#F4B454; background:rgba(244,180,84,0.1); border:1px solid rgba(244,180,84,0.22); border-radius:7px; padding:8px; }
.a-insp-foot{ display:flex; align-items:center; justify-content:space-between; padding-top:10px; border-top:1px solid var(--hair); }
.a-conf{ display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; color:var(--txt-2); }
.a-conf i{ width:7px; height:7px; border-radius:9999px; }
.a-del{ display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:600; color:#FF5A63; background:transparent; border:none; cursor:pointer; }
.a-del:hover{ text-decoration:underline; }

/* status + zoom */
.a-status{ position:absolute; left:14px; bottom:14px; display:flex; align-items:center; gap:14px; padding:7px 12px; border-radius:9px;
  background:rgba(10,26,20,0.82); backdrop-filter:blur(14px); border:1px solid var(--hair); font-size:11.5px; pointer-events:none; }
.a-status-mode{ display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--txt); }
.a-status-hint{ color:var(--txt-3); }
.a-status-snap{ color:var(--amber); font-weight:600; }
.a-zoom{ position:absolute; right:14px; bottom:14px; display:flex; gap:5px; }

/* right rail */
.a-side{ width:344px; flex:0 0 344px; display:flex; flex-direction:column; background:var(--panel-2); border-left:1px solid var(--hair); min-height:0; }
.a-tabs{ display:flex; gap:3px; padding:8px; border-bottom:1px solid var(--hair); }
.a-tab{ flex:1; padding:8px; border-radius:7px; border:none; background:transparent; color:var(--txt-3); font-size:12px; font-weight:650; cursor:pointer; transition:all 130ms; }
.a-tab:hover{ color:var(--txt); }
.a-tab.on{ background:var(--amber); color:var(--ink); }
.a-side-scroll{ flex:1; overflow-y:auto; padding:12px; }
.a-stack{ display:flex; flex-direction:column; gap:12px; }

.a-hero{ padding:14px; border-radius:12px; background:linear-gradient(160deg,rgba(255,181,76,0.08),rgba(255,255,255,0.01)); border:1px solid var(--hair); }
.a-hero-row{ display:flex; align-items:baseline; justify-content:space-between; }
.a-hero-row span{ font-size:12px; color:var(--txt-2); font-weight:600; }
.a-big{ font-size:34px; font-weight:700; letter-spacing:-0.03em; line-height:1; }
.a-big i{ font-size:14px; font-weight:600; color:var(--txt-3); margin-left:4px; font-style:normal; }
.a-hero-sub{ display:flex; justify-content:space-between; margin-top:10px; font-size:11.5px; color:var(--txt-3); }
.a-pitch{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid var(--hair); font-size:11px; color:var(--txt-2); }

.a-card{ border-radius:12px; background:var(--panel); border:1px solid var(--hair); padding:12px; }
.a-card-h{ font-size:10.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--txt-3); margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.a-warnc{ font-style:normal; font-weight:600; letter-spacing:0; text-transform:none; color:#F4B454; }

.a-bars{ display:flex; flex-direction:column; gap:8px; }
.a-bar{ display:grid; grid-template-columns:96px 1fr auto; align-items:center; gap:9px; }
.a-bar-l{ display:inline-flex; align-items:center; gap:7px; font-size:11.5px; color:var(--txt-2); }
.a-bar-track{ height:5px; border-radius:9999px; background:rgba(255,255,255,0.06); overflow:hidden; }
.a-bar-track i{ display:block; height:100%; border-radius:9999px; }
.a-bar-v{ font-size:12px; font-weight:700; color:var(--txt); }
.a-bar-v em{ font-size:10px; font-weight:500; color:var(--txt-3); font-style:normal; margin-left:2px; }

.a-objs{ display:flex; flex-wrap:wrap; gap:8px; }
.a-obj{ display:flex; flex-direction:column; min-width:62px; padding:8px 10px; border-radius:9px; background:rgba(255,255,255,0.03); border:1px solid var(--hair); font-size:11px; color:var(--txt-3); }
.a-obj b{ font-size:18px; font-weight:700; color:var(--txt); line-height:1.1; }

.a-banner{ display:flex; gap:8px; align-items:flex-start; font-size:11.5px; line-height:1.45; color:#F4D199;
  background:rgba(244,180,84,0.09); border:1px solid rgba(244,180,84,0.2); border-radius:10px; padding:10px 11px; }
.a-banner b{ color:#FFD79A; }

.a-table{ width:100%; border-collapse:collapse; }
.a-table td{ padding:7px 0; border-top:1px solid var(--hair-2); font-size:12px; color:var(--txt-2); vertical-align:middle; }
.a-table tr:first-child td{ border-top:none; }
.a-table td:first-child{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.a-table td.num{ text-align:right; font-weight:700; color:var(--txt); white-space:nowrap; }
.a-table td.unit{ color:var(--txt-3); font-size:10.5px; width:1%; white-space:nowrap; padding-left:6px; }
.a-table tr.excl td{ opacity:0.45; }
.a-tag{ font-style:normal; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--txt-3); border:1px solid var(--hair); border-radius:9999px; padding:1px 5px; }
.a-dot{ width:8px; height:8px; border-radius:9999px; display:inline-block; }

.a-qa{ display:flex; flex-direction:column; gap:2px; }
.a-qa-row{ display:flex; gap:9px; padding:7px 0; border-top:1px solid var(--hair-2); }
.a-qa-row:first-child{ border-top:none; }
.a-qa-ic{ width:17px; height:17px; border-radius:9999px; display:inline-flex; align-items:center; justify-content:center; color:#0C231B; flex:0 0 auto; margin-top:1px; }
.a-qa-ic.pass{ background:#3FB67C; } .a-qa-ic.warn{ background:#F4B454; } .a-qa-ic.fail{ background:#FF5A63; }
.a-qa-l{ font-size:12px; color:var(--txt); display:flex; align-items:center; gap:7px; }
.a-req{ font-style:normal; font-size:9px; font-weight:700; text-transform:uppercase; color:var(--txt-3); border:1px solid var(--hair); border-radius:9999px; padding:1px 5px; }
.a-qa-note{ font-size:11px; color:#F4B454; margin-top:2px; }

.a-routes{ display:flex; flex-direction:column; gap:6px; }
.a-route{ display:flex; align-items:center; gap:9px; padding:10px 11px; border-radius:9px; border:1px solid var(--hair);
  background:rgba(255,255,255,0.02); color:var(--txt-2); font-size:12px; font-weight:600; cursor:pointer; text-align:left; transition:all 130ms; }
.a-route:hover{ background:rgba(255,255,255,0.05); }
.a-route.on{ color:var(--txt); background:rgba(255,255,255,0.05); }
.a-route i{ width:11px; height:11px; border-radius:9999px; border:1.5px solid; flex:0 0 auto; }
.a-actions{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }

.a-evi{ display:flex; flex-direction:column; }
.a-evi-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; border-top:1px solid var(--hair-2); }
.a-evi-row:first-child{ border-top:none; }
.a-evi-l{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--txt-3); }
.a-evi-v{ font-size:12px; color:var(--txt); margin-top:2px; }
