/* ARIA Engineering — full-viewport workspace popup (entire Engineering UI) */
.eng-canvas.eng-host{
  position:fixed !important;
  inset:0 !important;
  z-index:1100 !important;
  display:flex !important;
  align-items:stretch;
  justify-content:stretch;
  padding:clamp(8px,1.2vw,14px);
  margin:0;
  background:rgba(17,17,17,.55);
  backdrop-filter:blur(10px);
  overflow:hidden;
  animation:eng-in .18s ease;
}
.eng-canvas.eng-host.hidden{display:none !important}
.eng-shell{
  position:relative;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  min-width:0;
  min-height:0;
  background:linear-gradient(165deg,#f7f6f4 0%,#fff 42%,#faf7f7 100%);
  border-radius:14px;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 28px 90px rgba(0,0,0,.4);
  overflow:hidden;
  container-type:inline-size;
  container-name:engcanvas;
}
.eng-top{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.97);backdrop-filter:blur(10px);flex-wrap:wrap;flex:0 0 auto}
.eng-brand-mark{font:800 11px/1 Manrope;letter-spacing:.08em;text-transform:uppercase;color:#171717;white-space:nowrap}
.eng-brand-mark span{color:#e30613;margin-right:4px}
.eng-nav{display:flex;gap:4px;flex-wrap:wrap}
.eng-nav-btn{border:0;background:transparent;padding:7px 10px;border-radius:8px;font:700 11px Manrope;color:#666;cursor:pointer}
.eng-nav-btn:hover{background:#f3f3f2;color:#171717}
.eng-nav-btn.active{background:#171717;color:#fff}
.eng-search{display:flex;gap:6px;margin-left:auto}
.eng-search input{border:1px solid #e2e2e2;border-radius:9px;padding:8px 10px;font:12px DM Sans;min-width:180px;background:#fff}
.eng-search button,.eng-close{border:1px solid #e2e2e2;background:#fff;border-radius:9px;padding:8px 12px;font:700 11px Manrope;cursor:pointer}
.eng-search button{background:#e30613;color:#fff;border:0}
.eng-close{font-weight:800}
.eng-body{flex:1;overflow:auto;padding:18px 20px 24px;min-height:0}
.eng-body.eng-body-enter{animation:eng-in .32s ease}
@keyframes eng-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* kill any legacy panel-embedded layout */
.eng-canvas:not(.eng-host){display:none !important}
.eng-canvas{background:transparent;overflow:visible}
.eng-hero-line{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.eng-hero-line small{font:800 9px Manrope;letter-spacing:.16em;color:#999}
.eng-hero-line h2{font:800 22px/1.15 Manrope;margin:4px 0 6px;letter-spacing:-.02em}
.eng-hero-line p{margin:0;font-size:12px;color:#6f7074;max-width:36ch;line-height:1.45}
.eng-hero-line code{font-size:11px;background:#fff0f1;color:#b8000b;padding:1px 5px;border-radius:4px}
.eng-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.eng-stats div{background:#fff;border:1px solid #ebebeb;border-radius:12px;padding:12px 10px;text-align:center}
.eng-stats b{display:block;font:800 20px Manrope}
.eng-stats span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#999;font-weight:700}
.eng-section-label{font:800 9px Manrope;letter-spacing:.16em;color:#999;margin:14px 0 8px}
.eng-product-grid{display:grid;grid-template-columns:1fr;gap:8px}
.eng-product-card{text-align:left;border:1px solid #e8e8e8;background:#fff;border-radius:12px;padding:12px 14px;cursor:pointer;transition:.18s}
.eng-product-card:hover{border-color:rgba(227,6,19,.45);transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.05)}
.eng-product-card b{display:block;font:700 13px Manrope}
.eng-product-card span,.eng-product-card small{display:block;font-size:11px;color:#777;margin-top:3px}
.eng-product-card small{font-size:10px;color:#999}
.eng-product-head{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;margin-bottom:12px}
.eng-crumb{font-size:11px;color:#888;line-height:1.4}
.eng-back{border:0;background:none;color:#e30613;font:700 11px Manrope;cursor:pointer;padding:0}

.eng-canvas{container-type:normal}
.eng-canvas-header{align-items:flex-start}
.eng-header-meta{min-width:0;flex:1}
.eng-header-meta h2{font:800 18px/1.2 Manrope;margin:2px 0 4px}
.eng-workstation{display:grid;grid-template-columns:120px minmax(0,1fr);grid-template-rows:minmax(260px,1fr) minmax(160px,34%);min-height:420px;border:1px solid #e6e6e6;border-radius:14px;overflow:hidden;background:#fff}
.eng-navigator{grid-row:1/-1;background:#fafafa;border-right:1px solid #eee;padding:12px 8px;display:flex;flex-direction:column;gap:4px;min-width:0;overflow:auto}
.eng-stage{grid-column:2;grid-row:1;padding:10px;background:#f0eeeb;overflow:auto;min-width:0;min-height:0}
.eng-inspector{grid-column:2;grid-row:2;background:#fff;border-top:1px solid #eee;border-left:0;padding:12px;overflow:auto;min-width:0;min-height:0}
@container engcanvas (min-width: 860px){
  .eng-workstation{grid-template-columns:132px minmax(0,1fr) minmax(220px,260px);grid-template-rows:minmax(360px,1fr)}
  .eng-navigator{grid-row:1}
  .eng-stage{grid-column:2;grid-row:1}
  .eng-inspector{grid-column:3;grid-row:1;border-top:0;border-left:1px solid #eee}
}
.eng-navigator>small,.eng-inspector>small{display:block;font:800 9px Manrope;letter-spacing:.14em;color:#999;margin:0 6px 8px}
.eng-side-nav{border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;font:700 11px Manrope;color:#555;cursor:pointer}
.eng-side-nav:hover{background:#f0f0ef;color:#171717}
.eng-side-nav.active{background:#171717;color:#fff}
.eng-board-frame{background:linear-gradient(160deg,#1c2220 0%,#141816 55%,#2a181a 100%);border:1px solid #2c3330;border-radius:12px;padding:12px;color:#fff;min-height:100%;box-sizing:border-box}
.eng-board-frame-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.eng-board-frame-top small{display:block;font:800 9px Manrope;letter-spacing:.14em;color:#ff8a90}
.eng-board-frame-top strong{display:block;font:800 14px Manrope;margin-top:3px;color:#fff}
.eng-board-codes{display:block;margin-top:4px;font:600 11px ui-monospace,monospace;color:#ffb4b8;font-style:normal}
.eng-board-stats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.eng-board-stats span{font:700 10px Manrope;color:#cfd4d1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:4px 8px}
.eng-3d-launch{border:0;background:#e30613;color:#fff;border-radius:9px;padding:8px 12px;font:800 11px Manrope;cursor:pointer;flex:0 0 auto}
.eng-3d-launch:hover{filter:brightness(1.05)}
.eng-stage-hint{margin:0 0 10px;font-size:11px;color:rgba(255,255,255,.55)}
.eng-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.eng-module{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px;cursor:pointer;transition:border-color .15s}
.eng-module:hover,.eng-module.is-active{border-color:rgba(227,6,19,.7);background:rgba(227,6,19,.1)}
.eng-module header{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}
.eng-module header b{font:800 11px Manrope;color:#f2f2f2}
.eng-module header span{font:700 10px Manrope;color:#9aa19d}
.eng-module-signals{display:flex;flex-wrap:wrap;gap:4px}
.eng-node{border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.25);border-radius:6px;padding:4px 7px;font:700 10px ui-monospace,monospace;cursor:pointer;color:#eee}
.eng-node:hover,.eng-node.is-focus{border-color:#e30613;color:#fff;background:rgba(227,6,19,.25)}
.eng-chip{border:1px solid #e4e4e4;background:#fff;border-radius:8px;padding:6px 10px;font:700 10px Manrope;cursor:pointer}
.eng-chip:hover{border-color:rgba(227,6,19,.5);color:#b8000b}
.eng-chip i,.eng-chip em{font-style:normal;color:#999;margin-left:4px}
.eng-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.eng-inspector h3{font:800 15px Manrope;margin:0 0 10px}
.eng-inspector dl{margin:0 0 10px}
.eng-inspector dl div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #f0f0f0;font-size:11px}
.eng-inspector dt{color:#888}.eng-inspector dd{margin:0;font-weight:700;text-align:right;word-break:break-all}
.eng-inspector-actions{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.eng-inspector-actions .primary,.eng-inspector-actions .ghost{width:100%;border-radius:9px;padding:8px 10px;font:700 11px Manrope;cursor:pointer}
.eng-inspector-actions .primary{background:#e30613;color:#fff;border:0}
.eng-inspector-actions .ghost{background:#fff;border:1px solid #e2e2e2}
.eng-muted{color:#888;font-size:12px;line-height:1.45}
.eng-modes{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto;max-width:380px;justify-content:flex-end}
.eng-mode{border:1px solid #e2e2e2;background:#fff;border-radius:8px;padding:5px 7px;font:800 8px Manrope;letter-spacing:.04em;cursor:pointer;color:#666}
.eng-mode.active{background:#171717;color:#fff;border-color:#171717}
.eng-mode-3d{border-color:rgba(227,6,19,.4);color:#e30613;font-weight:800}

/* Dossier header — full width, no squeezed column */
.eng-dossier-bar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #eee}
.eng-dossier-bar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.eng-modes-dossier{margin-left:0;max-width:none;flex:1;justify-content:flex-end}
.eng-modes-dossier .eng-mode{padding:7px 11px;font-size:10px;border-radius:9px}
.eng-dossier-title{min-width:0;width:100%}
.eng-dossier-title small{display:block;font:800 9px Manrope;letter-spacing:.14em;color:#999}
.eng-dossier-title h2{font:800 22px/1.2 Manrope;margin:4px 0 6px;letter-spacing:-.02em;color:#171717;word-break:break-word}
.eng-dossier-title .eng-crumb{display:block;margin:0;max-width:none;font-size:12px;color:#6f7074;line-height:1.45;white-space:normal}

.eng-proc-explorer .eng-list-head{align-items:flex-start;flex-wrap:wrap}
.eng-proc-explorer .eng-list-head>div{flex:1;min-width:220px}
.eng-proc-explorer .eng-list-head h2{margin-bottom:4px}
.eng-proc-explorer .eng-list-head .eng-muted{max-width:52ch;margin:0}
.eng-proc-group{background:#fff;border:1px solid #ebebeb;border-radius:14px;padding:12px;margin:12px 0}
.eng-proc-group>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.eng-proc-group>header small{display:block;font:800 9px Manrope;letter-spacing:.12em;color:#999}
.eng-proc-group>header h3{font:800 15px Manrope;margin:3px 0}
.eng-proc-group>header span{font-size:11px;color:#888}
.eng-proc-open-product{border:1px solid #e2e2e2;background:#fff;border-radius:8px;padding:7px 10px;font:700 10px Manrope;cursor:pointer}
.eng-proc-list{display:flex;flex-direction:column;gap:6px}
.eng-proc-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:start;text-align:left;border:1px solid #ececec;background:#fafafa;border-radius:10px;padding:10px 12px;cursor:pointer}
.eng-proc-row:hover{border-color:rgba(227,6,19,.4);background:#fff}
.eng-proc-id{font:800 12px ui-monospace,monospace;color:#e30613;padding-top:1px}
.eng-proc-main b{display:block;font:700 12px Manrope;color:#171717;line-height:1.35;word-break:break-word}
.eng-proc-main span{display:inline-block;margin-top:4px;font:800 9px Manrope;letter-spacing:.08em;text-transform:uppercase;color:#888}

.eng-dossier-summary-4{grid-template-columns:repeat(2,minmax(0,1fr))}
@container engcanvas (min-width: 720px){
  .eng-dossier-summary-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.eng-id-grid-tight{margin:10px 0 12px}
.eng-pill-live{background:#171717;color:#fff;border-radius:999px;padding:5px 9px;font:800 9px Manrope;letter-spacing:.08em}
.eng-station{display:flex;flex-direction:column;gap:12px}
.eng-station-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}
.eng-station-kpis div{background:#fafafa;border:1px solid #ececec;border-radius:10px;padding:10px 8px;text-align:center}
.eng-station-kpis b{display:block;font:800 18px Manrope}
.eng-station-kpis span{display:block;margin-top:3px;font:800 9px Manrope;letter-spacing:.08em;text-transform:uppercase;color:#999}
.eng-station-meta{margin-top:8px;font-size:11px}
.eng-station-charts,.eng-station-tables{display:grid;grid-template-columns:1fr;gap:12px}
@container engcanvas (min-width: 820px){
  .eng-station-charts,.eng-station-tables{grid-template-columns:1fr 1fr}
}
.eng-table-wrap{overflow:auto;max-height:420px;border:1px solid #eee;border-radius:10px}
.eng-table{width:100%;border-collapse:collapse;font-size:11px}
.eng-table th,.eng-table td{padding:8px 10px;border-bottom:1px solid #f0f0f0;text-align:left;white-space:nowrap}
.eng-table th{font:800 9px Manrope;letter-spacing:.08em;text-transform:uppercase;color:#888;background:#fafafa;position:sticky;top:0}
.eng-table-runs tr.eng-run-row{cursor:pointer}
.eng-table-runs tr.eng-run-row:hover{background:#fff5f6}
.eng-status-passed{color:#171717;font-weight:800}
.eng-status-failed,.eng-status-error{color:#e30613;font-weight:800}
.eng-status-stopped{color:#6f7074;font-weight:800}
.eng-panel-block h3{font:800 12px Manrope;margin:0 0 8px}

/* Product dossier — one product, clear sections */
.eng-dossier{display:flex;flex-direction:column;gap:12px;min-height:0}
.eng-dossier-body{min-height:0}
.eng-dossier-overview{display:flex;flex-direction:column;gap:14px}
.eng-id-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@container engcanvas (min-width: 720px){
  .eng-id-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.eng-id-grid>div{background:#fff;border:1px solid #ebebeb;border-radius:12px;padding:10px 12px}
.eng-id-grid span{display:block;font:800 9px Manrope;letter-spacing:.12em;text-transform:uppercase;color:#999}
.eng-id-grid b{display:block;margin-top:4px;font:700 12px ui-monospace,monospace;color:#171717;word-break:break-all}
.eng-dossier-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.eng-dossier-actions .ghost{border:1px solid #e2e2e2;background:#fff;border-radius:9px;padding:8px 12px;font:700 11px Manrope;cursor:pointer}
.eng-dossier-actions .ghost:hover{border-color:rgba(227,6,19,.45);color:#b8000b}
.eng-dossier-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.eng-sum-card{border:1px solid #ebebeb;background:#fff;border-radius:12px;padding:14px 12px;text-align:center;cursor:pointer}
.eng-sum-card:hover{border-color:rgba(227,6,19,.4)}
.eng-sum-card b{display:block;font:800 22px Manrope;color:#171717}
.eng-sum-card span{display:block;margin-top:4px;font:800 9px Manrope;letter-spacing:.1em;text-transform:uppercase;color:#999}
.eng-dossier-cols{display:grid;grid-template-columns:1fr;gap:14px}
@container engcanvas (min-width: 760px){
  .eng-dossier-cols{grid-template-columns:1fr 1fr}
}
.eng-dossier-cols section h3{font:800 12px Manrope;margin:0 0 8px;letter-spacing:.02em}
.eng-doc-cards{display:flex;flex-direction:column;gap:8px}
.eng-doc-card{text-align:left;border:1px solid #ececec;background:#fff;border-radius:12px;padding:12px 14px;cursor:pointer}
.eng-doc-card:hover{border-color:rgba(227,6,19,.4)}
.eng-doc-card-static{cursor:default}
.eng-doc-card em{display:block;font:800 9px Manrope;letter-spacing:.1em;text-transform:uppercase;color:#e30613;font-style:normal}
.eng-doc-card b{display:block;margin-top:4px;font:700 12px Manrope;color:#171717;word-break:break-word}
.eng-doc-card span{display:block;margin-top:4px;font-size:11px;color:#888}
.eng-doc-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.eng-doc-card-actions .ghost,.eng-doc-card-actions .eng-file-link{border:1px solid #e2e2e2;background:#fff;border-radius:8px;padding:6px 10px;font:700 10px Manrope;cursor:pointer;color:#444;text-decoration:none}
.eng-rows-compact .eng-row{padding:8px 10px}
.eng-panel-block{background:#fff;border:1px solid #ebebeb;border-radius:14px;padding:14px}
.eng-module-grid-light{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:10px}
.eng-module-light{border:1px solid #ececec;border-radius:12px;padding:10px;background:#fafafa}
.eng-module-light header{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}
.eng-module-light header b{font:800 11px Manrope}
.eng-module-light header span{font:700 10px Manrope;color:#999}
.eng-node-light{border:1px solid #e4e4e4;background:#fff;border-radius:6px;padding:4px 7px;font:700 10px ui-monospace,monospace;cursor:pointer;color:#333}
.eng-node-light:hover{border-color:#e30613;color:#b8000b}

/* 3D board preview popup */
.eng-3d-overlay{position:fixed;inset:0;z-index:1200;background:rgba(23,23,23,.45);backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px;animation:eng-in .2s ease}
.eng-3d-modal{width:min(920px,96vw);height:min(640px,90vh);background:#fff;border-radius:16px;border:1px solid #e6e6e6;box-shadow:0 28px 80px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
.eng-3d-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid #eee}
.eng-3d-head small{display:block;font:800 9px Manrope;letter-spacing:.14em;color:#e30613}
.eng-3d-head strong{display:block;font:800 16px Manrope;margin-top:3px}
.eng-3d-head span{display:block;font-size:11px;color:#777;margin-top:3px}
.eng-3d-close{border:1px solid #e2e2e2;background:#fff;border-radius:10px;width:36px;height:36px;font-size:20px;cursor:pointer;line-height:1}
.eng-3d-status{padding:8px 16px;font:600 12px DM Sans;color:#666;background:#fff8f8;border-bottom:1px solid #f0e0e0}
.eng-3d-status.hidden{display:none!important}
.eng-3d-canvas-wrap{flex:1;min-height:0;background:linear-gradient(180deg,#f7f6f4,#efece8)}
.eng-3d-canvas-wrap canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.eng-3d-canvas-wrap canvas:active{cursor:grabbing}
.eng-3d-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid #eee;font-size:11px;color:#888;flex-wrap:wrap}
.eng-3d-pages{display:flex;align-items:center;gap:8px}
.eng-3d-pages button{border:1px solid #e2e2e2;background:#fff;border-radius:8px;padding:6px 10px;font:700 11px Manrope;cursor:pointer}
.eng-3d-pages button:hover{border-color:rgba(227,6,19,.45);color:#b8000b}

.eng-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.eng-list-head h2{font:800 18px Manrope;margin:0}
.eng-list-head input{border:1px solid #e2e2e2;border-radius:9px;padding:8px 10px;font:12px DM Sans;min-width:140px}
.eng-rows{display:flex;flex-direction:column;gap:6px}
.eng-row{display:grid;grid-template-columns:88px 1fr auto;gap:8px;align-items:center;text-align:left;border:1px solid #ececec;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer}
.eng-row:hover{border-color:rgba(227,6,19,.4)}
.eng-row b{font:700 12px ui-monospace,monospace;color:#e30613}
.eng-row span{font-size:11px;color:#444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eng-row em{font-style:normal;font-size:10px;color:#999}

.eng-test-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:8px 0 14px}
.eng-test-head h2{font:800 22px Manrope;margin:2px 0}
.eng-test-head p{margin:4px 0 0;color:#666;font-size:12px;line-height:1.4;max-width:48ch}
.eng-pill{background:#171717;color:#fff;border-radius:999px;padding:6px 10px;font:800 10px Manrope;letter-spacing:.06em;text-transform:uppercase}
.eng-split{display:grid;grid-template-columns:1.25fr .85fr;gap:12px}
.eng-conds{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.eng-cond{background:#fff;border:1px solid #ececec;border-radius:10px;padding:9px 10px}
.eng-cond span{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#999;font-weight:700}
.eng-cond b{display:block;margin-top:3px;font-size:12px}
.eng-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.eng-steps li{background:#fff;border:1px solid #ececec;border-radius:10px;padding:9px 10px;display:grid;grid-template-columns:70px 1fr auto;gap:8px;align-items:start}
.eng-steps em{font-style:normal;font:800 9px Manrope;letter-spacing:.08em;text-transform:uppercase;color:#e30613}
.eng-steps span{font-size:11px;line-height:1.4;color:#333}
.eng-steps small{color:#999;font-size:10px}
.eng-source-card{background:#fafafa;border:1px solid #ececec;border-radius:12px;padding:12px;margin:8px 0 12px}
.eng-source-card b{display:block;font:700 12px Manrope}
.eng-source-card span{display:block;font-size:10px;color:#888;margin:4px 0 8px}
.eng-source-card p{font-size:11px;line-height:1.45;color:#444;margin:0 0 10px}
.eng-source-card .primary{width:100%}

.eng-graph-wrap{background:#fff;border:1px solid #ececec;border-radius:14px;padding:10px;margin-top:8px}
.eng-graph{width:100%;height:auto;display:block}
.eng-gnode{transition:opacity .2s}
.eng-gnode:hover{opacity:.85}

.eng-page-grid{display:flex;flex-wrap:wrap;gap:6px}
.eng-page{border:1px solid #e4e4e4;background:#fff;border-radius:8px;padding:7px 9px;font:700 10px Manrope;cursor:pointer}
.eng-file-link{display:inline-flex;margin:8px 0 12px;text-decoration:none}

.eng-proc-overlay{position:fixed;inset:0;z-index:1250;background:rgba(23,23,23,.48);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;animation:eng-in .18s ease}
.eng-proc-modal{width:min(720px,96vw);height:min(780px,90vh);background:#fff;border-radius:16px;border:1px solid #e6e6e6;box-shadow:0 28px 80px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
.eng-proc-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid #eee}
.eng-proc-modal-head small{display:block;font:800 9px Manrope;letter-spacing:.12em;color:#e30613}
.eng-proc-modal-head strong{display:block;font:800 18px Manrope;margin-top:3px;color:#e30613}
.eng-proc-modal-head span{display:block;font-size:12px;color:#555;margin-top:4px;line-height:1.4;max-width:48ch}
.eng-proc-modal-tools{display:flex;gap:8px;align-items:center}
.eng-proc-modal-scroll{flex:1;min-height:0;overflow:auto;padding:14px 16px 18px;background:#fafafa}
.eng-proc-modal-scroll section{margin-bottom:16px}
.eng-proc-modal-scroll h3{font:800 11px Manrope;letter-spacing:.08em;text-transform:uppercase;color:#888;margin:0 0 8px}
.eng-proc-steps{display:flex;flex-direction:column;gap:8px}
.eng-proc-step{background:#fff;border:1px solid #ececec;border-radius:12px;padding:10px 12px}
.eng-proc-step header{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.eng-proc-step header em{font-style:normal;font:800 9px Manrope;letter-spacing:.1em;text-transform:uppercase;color:#e30613}
.eng-proc-step header strong{font:800 11px Manrope;color:#171717}
.eng-proc-step header small{margin-left:auto;color:#999;font-size:10px}
.eng-proc-step-body{margin:0;white-space:pre-wrap;word-break:break-word;font:12px/1.5 DM Sans,sans-serif;color:#333;max-height:none}
.eng-proc-modal-foot{padding:9px 16px;border-top:1px solid #eee;font-size:11px;color:#888;background:#fff}

.eng-source-warn{margin:0;padding:8px 14px;font-size:11px;color:#866;background:#fff8f8;border-bottom:1px solid #f0e0e0}
.eng-pdf-overlay{position:fixed;inset:0;z-index:1300;background:rgba(23,23,23,.5);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;animation:eng-in .2s ease}
.eng-pdf-modal{width:min(1100px,96vw);height:min(860px,92vh);background:#fff;border-radius:16px;border:1px solid #e6e6e6;box-shadow:0 28px 80px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}
.eng-pdf-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid #eee;flex-wrap:wrap}
.eng-pdf-head small{display:block;font:800 9px Manrope;letter-spacing:.14em;color:#e30613}
.eng-pdf-head strong{display:block;font:800 14px Manrope;margin-top:2px;word-break:break-all}
.eng-pdf-head span{display:block;font-size:11px;color:#777;margin-top:2px}
.eng-pdf-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.eng-pdf-tools .ghost,.eng-pdf-tools .icon-btn{border:1px solid #e2e2e2;background:#fff;border-radius:8px;padding:6px 10px;font:700 12px Manrope;cursor:pointer;min-width:34px}
.eng-pdf-tools .icon-btn{font-size:18px;line-height:1;width:34px;height:34px;padding:0}
.eng-pdf-status{padding:8px 14px;font:600 12px DM Sans;color:#555;background:#fff8f8;border-bottom:1px solid #f0e0e0}
.eng-pdf-status.hidden{display:none!important}
.eng-pdf-canvas-wrap{flex:1;min-height:0;overflow:auto;background:linear-gradient(180deg,#f3f2f0,#ebe8e4);display:flex;justify-content:center;align-items:flex-start;padding:14px}
.eng-pdf-canvas-wrap canvas{display:block;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.12);max-width:none}
.eng-pdf-foot{padding:8px 14px;border-top:1px solid #eee;font-size:11px;color:#888}

.eng-source-drawer{position:absolute;inset:auto 12px 12px 12px;max-height:55%;background:#fff;border:1px solid #e2e2e2;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.16);display:flex;flex-direction:column;z-index:5;animation:eng-in .22s ease}
.eng-source-drawer-head{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #eee}
.eng-source-drawer-head small{font:800 9px Manrope;letter-spacing:.14em;color:#999}
.eng-source-drawer-head strong{display:block;font:700 13px Manrope}
.eng-source-drawer-head span{font-size:11px;color:#888}
.eng-source-text{margin:0;padding:12px 14px;overflow:auto;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;color:#222;white-space:pre-wrap}

.eng-thinking{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(255,255,255,.92) 0%,rgba(247,246,244,.96) 55%,rgba(255,240,241,.97) 100%);backdrop-filter:blur(8px);z-index:6;opacity:0;pointer-events:none;transition:opacity .22s ease}
.eng-thinking.is-on{opacity:1;pointer-events:auto}
.eng-thinking.hidden{display:none!important}
.eng-thinking-core{position:relative;width:min(320px,78%);aspect-ratio:1;display:grid;place-items:center}
.eng-thinking canvas{width:100%;height:100%;display:block}
.eng-thinking-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:2}
.eng-thinking-label strong{display:block;font:800 22px/1 Manrope;letter-spacing:.14em;color:#e30613;text-shadow:0 0 24px rgba(227,6,19,.35);animation:eng-brand-pulse 1.6s ease-in-out infinite}
.eng-thinking-label span{display:block;margin-top:10px;font-size:11px;color:#555;font-weight:600;max-width:22ch}
@keyframes eng-brand-pulse{0%,100%{opacity:.85;letter-spacing:.14em}50%{opacity:1;letter-spacing:.18em}}

.live-viz-head-actions{display:flex;align-items:center;gap:10px;min-width:0;max-width:58%}
.live-viz-head-actions #liveVizMeta{font-size:11px;color:#6b7280;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.live-viz-head .eng-launch{border-color:rgba(227,6,19,.35);color:#e30613;font-weight:800;flex:0 0 auto;padding:6px 10px;font-size:11px}
.live-viz-head .eng-launch:hover{background:#fff5f6}
body.eng-open .live-viz-head .eng-launch{background:#171717;color:#fff;border-color:#171717}
body.eng-open{overscroll-behavior:none}
@media(prefers-reduced-motion:reduce){
  .eng-body,.eng-source-drawer,.eng-board-enter,.eng-live-scan,.eng-pad-pulse,.eng-live-legend i.pulse,.eng-thinking-label strong{animation:none!important}
  .eng-product-card:hover{transform:none}
  .eng-thinking{transition:none}
}
