/* ============================================================================
   MCRUSH PE — Engineering Dock "Maison" finish (build 1224). Author: Gildas Guefack.
   The dock kept the build-1007 neon look (violet/cyan gradients, dashed boxes, emoji) after Analyze moved to
   the Maison language. This layer gives it the same finish: hairline rules, uppercase micro labels, mono
   values, pill segments with an ink fill, underline inputs. Colours come from the app's theme tokens only,
   so every data-theme follows. Geometry (fixed right drawer / phone sheet) is unchanged.
   ============================================================================ */
html body #hwEngDock{
  --dk-hair:color-mix(in srgb,var(--ink) 13%,transparent);
  --dk-hair-2:color-mix(in srgb,var(--ink) 6%,transparent);
  --dk-gold:var(--accent2);
  --dk-gold-hair:color-mix(in srgb,var(--accent2) 55%,transparent);
  --dk-sans:"Geist Sans","Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --dk-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --dk-ok:var(--green);--dk-warn:var(--amber);--dk-bad:var(--red);
  font-family:var(--dk-sans)!important;color:var(--ink);letter-spacing:-.005em;
}
html body #hwEngDock.floating{
  background:var(--card)!important;border:1px solid var(--dk-hair)!important;border-radius:14px!important;
  box-shadow:0 24px 60px -24px color-mix(in srgb,var(--ink) 45%,transparent),0 0 0 1px var(--dk-hair-2)!important;
}
/* ---- header: mark · title · plots · help · close ---- */
html body #hwEngDock .hw-dock-h{
  min-height:52px!important;padding:10px 12px!important;gap:10px!important;background:none!important;
  border-bottom:1px solid var(--dk-hair)!important;
}
html body #hwEngDock .hw-dock-grip,html body #hwEngDock .hw-dock-grip .hw-dock-mark{width:26px!important;height:26px!important}
html body #hwEngDock .hw-dock-mark{color:var(--ink)!important;filter:none!important}
html body #hwEngDock .hw-dock-mark .orbit{stroke:var(--dk-gold)!important}
html body #hwEngDock .hw-dock-mark .signal{stroke:var(--blue)!important}
html body #hwEngDock .hw-dock-mark .node{fill:var(--ink)!important}
html body #hwEngDock .hw-dock-mark .core{fill:var(--blue)!important}
html body #hwEngDock .hw-dock-t{font-size:14px!important;font-weight:600!important;letter-spacing:-.01em!important;color:var(--ink)!important;line-height:1.1!important}
html body #hwEngDock .hw-dock-t small{display:block;margin-top:3px!important;font-size:8.5px!important;font-weight:500!important;letter-spacing:.18em!important;color:var(--muted)!important;text-transform:uppercase}
html body #hwEngDock .hw-dock-graphs>span{font-size:8.5px!important;font-weight:500!important;letter-spacing:.16em!important;color:var(--muted)!important}
html body #hwEngDock .hw-dock-gb{width:22px!important;height:22px!important;border:1px solid var(--dk-hair)!important;border-radius:999px!important;background:none!important;box-shadow:none!important;font:500 10.5px/1 var(--dk-mono)!important;color:var(--muted)!important}
html body #hwEngDock .hw-dock-gb.on{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--bg)!important}
html body #hwEngDock .hw-dock-ic{width:30px!important;height:30px!important;border:1px solid var(--dk-hair)!important;border-radius:999px!important;background:none!important;box-shadow:none!important;font-size:12px!important;font-weight:500!important;color:var(--muted)!important}
html body #hwEngDock .hw-dock-ic:hover,html body #hwEngDock .hw-dock-ic.on{color:var(--ink)!important;border-color:var(--muted)!important}
/* ---- operation tabs: one pill segment ---- */
html body #hwEngDock .hw-dock-modes{
  margin:10px 12px 0!important;padding:3px!important;gap:3px!important;border:1px solid var(--dk-hair)!important;border-radius:999px!important;background:none!important;
}
html body #hwEngDock .hw-dock-mode{
  min-height:28px!important;padding:0 8px!important;border:0!important;border-radius:999px!important;background:none!important;box-shadow:none!important;
  font:500 10px/1 var(--dk-sans)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--muted)!important;
}
html body #hwEngDock .hw-dock-mode:hover{color:var(--ink)!important}
html body #hwEngDock .hw-dock-mode.on{background:var(--ink)!important;color:var(--bg)!important}
/* ---- body and cards: hairline sections, not boxed tiles ---- */
html body #hwEngDock .hw-dock-body{padding:10px 12px 14px!important;gap:0!important}
html body #hwEngDock .hw-dock-card{
  padding:12px 0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--dk-hair)!important;border-radius:0!important;background:none!important;box-shadow:none!important;
}
html body #hwEngDock .hw-dock-body>:last-child .hw-dock-card,html body #hwEngDock .hw-dock-body>.hw-dock-card:last-child{border-bottom:0!important}
html body #hwEngDock .hw-dock-ch{
  margin:0 0 9px!important;font:500 9.5px/1.2 var(--dk-sans)!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--muted)!important;
}
html body #hwEngDock .hw-dock-ch em{letter-spacing:.04em!important;text-transform:none!important;color:var(--muted)!important;font-style:normal}
html body #hwEngDock .hw-tri-dock .hw-dock-ch em{color:var(--blue)!important}
html body #hwEngDock .hw-dock-empty{font-size:11.5px;color:var(--muted)}
/* ---- MPD loop: the held value is the hero; SBP and BHP read as two quiet tiles ---- */
html body #hwEngDock .hw-tri-card{
  margin:0 0 8px!important;padding:10px 12px!important;border:1px solid var(--dk-hair)!important;border-left-width:1px!important;border-radius:10px!important;background:none!important;box-shadow:none!important;
}
html body #hwEngDock .hw-tri-card.ok{box-shadow:inset 3px 0 0 var(--dk-ok)!important}
html body #hwEngDock .hw-tri-card.warn{box-shadow:inset 3px 0 0 var(--dk-warn)!important}
html body #hwEngDock .hw-tri-card.bad{box-shadow:inset 3px 0 0 var(--dk-bad)!important}
html body #hwEngDock .hw-tri-card.ecd.solving{border-color:color-mix(in srgb,var(--blue) 40%,var(--dk-hair))!important}
html body #hwEngDock .hw-tri-l,html body #hwEngDock .hw-tri-tag{font:500 9px/1.2 var(--dk-sans)!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--muted)!important}
html body #hwEngDock .hw-tri-card.sbp.solved .hw-tri-tag{color:var(--blue)!important}
html body #hwEngDock .hw-tri-pencil{font:500 9px/1 var(--dk-sans)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)!important;opacity:1!important}
html body #hwEngDock .hw-tri-xpl{border:0!important;background:none!important;color:var(--muted)!important;font-size:12px!important;cursor:pointer;padding:0 2px}
html body #hwEngDock .hw-tri-v{gap:6px!important;align-items:baseline}
html body #hwEngDock .hw-tri-in{
  width:132px!important;padding:2px 0 3px!important;border:0!important;border-bottom:1px solid var(--dk-hair)!important;border-radius:0!important;background:none!important;box-shadow:none!important;
  font:500 30px/1.05 var(--dk-mono)!important;letter-spacing:-.02em!important;color:var(--ink)!important;
}
html body #hwEngDock .hw-tri-in:focus{outline:none!important;border-bottom:1px solid var(--blue)!important}
html body #hwEngDock .hw-tri-v b{font:500 20px/1.05 var(--dk-mono)!important;letter-spacing:-.02em!important;color:var(--ink)!important}
html body #hwEngDock .hw-tri-card.ok .hw-tri-v b,html body #hwEngDock .hw-tri-card.warn .hw-tri-v b,html body #hwEngDock .hw-tri-card.bad .hw-tri-v b{color:var(--ink)!important}
html body #hwEngDock .hw-tri-u{font:400 11px/1 var(--dk-mono)!important;color:var(--muted)!important}
html body #hwEngDock .hw-tri-marg{margin-top:6px!important;font-size:11px!important;color:var(--muted)!important;line-height:1.45}
html body #hwEngDock .hw-tri-marg b{font-family:var(--dk-mono);font-weight:500!important;color:var(--ink)!important}
html body #hwEngDock .hw-tri-marg .hw-na{font-family:var(--dk-sans);color:var(--muted)!important;font-weight:400!important}
html body #hwEngDock .hw-tri-pair{gap:8px!important}
html body #hwEngDock .hw-tri-pair .hw-tri-card{margin:0!important}
/* ---- trip panel ---- */
html body #hwEngDock .hw-dock-trips .hw-swab{display:flex;flex-direction:column;gap:9px}
html body #hwEngDock .hw-swab-ctl{display:flex!important;flex-direction:column!important;gap:8px!important;align-items:stretch!important;padding:0!important;border:0!important;background:none!important}
html body #hwEngDock .hw-swab-h{font:500 9.5px/1.2 var(--dk-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
html body #hwEngDock .hw-swab-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
html body #hwEngDock .hw-swab-sp{display:inline-flex!important;align-items:baseline!important;gap:6px!important;margin:0!important;font:500 9px/1 var(--dk-sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)!important}
html body #hwEngDock .hw-swab-sp input,html body #hwEngDock .hw-dock-inrow input{
  width:64px!important;min-width:0!important;height:26px!important;padding:0 2px!important;border:0!important;border-bottom:1px solid var(--dk-hair)!important;border-radius:0!important;background:none!important;box-shadow:none!important;
  font:500 15px/1 var(--dk-mono)!important;color:var(--ink)!important;text-align:right!important;letter-spacing:0!important;text-transform:none!important;
}
html body #hwEngDock .hw-swab-sp input:focus,html body #hwEngDock .hw-dock-inrow input:focus{outline:none!important;border-bottom-color:var(--blue)!important}
html body #hwEngDock .hw-swab-sp em,html body #hwEngDock .hw-dock-inrow em{font:400 10.5px/1 var(--dk-mono)!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important;font-style:normal}
html body #hwEngDock input.hw-input-draft{border-bottom-color:var(--dk-gold)!important}
html body #hwEngDock input.hw-input-invalid{border-bottom-color:var(--dk-bad)!important;color:var(--dk-bad)!important}
html body #hwEngDock .hw-swab-chips{display:inline-flex;gap:4px;margin-left:auto}
html body #hwEngDock .hw-swab-chip{height:24px;min-width:34px;padding:0 8px;border:1px solid var(--dk-hair);border-radius:999px;background:none;font:500 11px/1 var(--dk-mono);color:var(--muted);cursor:pointer}
html body #hwEngDock .hw-swab-chip:hover{color:var(--ink);border-color:var(--muted)}
html body #hwEngDock .hw-swab-chip.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
html body #hwEngDock .hw-swab-seg{display:inline-flex!important;gap:2px!important;padding:2px!important;border:1px solid var(--dk-hair)!important;border-radius:999px!important;background:none!important;overflow:hidden}
html body #hwEngDock .hw-swab-b{height:24px!important;padding:0 11px!important;border:0!important;border-radius:999px!important;background:none!important;box-shadow:none!important;font:500 9.5px/1 var(--dk-sans)!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--muted)!important;cursor:pointer}
html body #hwEngDock .hw-swab-b:hover{color:var(--ink)!important}
html body #hwEngDock .hw-swab-b.on{background:var(--ink)!important;color:var(--bg)!important}
html body #hwEngDock .hw-swab-depth{margin:0!important;padding:0!important;border:0!important;background:none!important;font-size:11px!important;color:var(--muted)!important}
html body #hwEngDock .hw-swab-depth b{font-family:var(--dk-mono);font-weight:500!important;color:var(--ink)!important}
html body #hwEngDock .hw-swab-read{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:0!important}
html body #hwEngDock .hw-swab-card{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0;padding:8px 10px!important;border:1px solid var(--dk-hair)!important;border-radius:10px!important;background:none!important;box-shadow:none!important}
html body #hwEngDock .hw-swab-card i{font:500 8.5px/1.2 var(--dk-sans)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--muted)!important;font-style:normal!important}
html body #hwEngDock .hw-swab-card b{font:500 19px/1.05 var(--dk-mono)!important;letter-spacing:-.02em!important;color:var(--ink)!important}
html body #hwEngDock .hw-swab-card em{font:400 10px/1 var(--dk-mono)!important;color:var(--muted)!important;font-style:normal!important}
html body #hwEngDock .hw-swab-card.lead{border-color:color-mix(in srgb,var(--blue) 45%,var(--dk-hair))!important}
html body #hwEngDock .hw-swab-card.lead b{color:var(--blue)!important}
html body #hwEngDock .hw-swab-at{grid-column:1/-1;font-size:11px!important;color:var(--muted)!important;margin:0!important}
html body #hwEngDock .hw-swab-at b{font-family:var(--dk-mono);font-weight:500;color:var(--ink)}
html body #hwEngDock .hw-swab-sbp{display:grid;grid-template-columns:1fr 1fr;gap:6px}
html body #hwEngDock .hw-swab-sbp span{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--dk-hair);border-radius:10px}
html body #hwEngDock .hw-swab-sbp i{flex:1 0 100%;font:500 8.5px/1.2 var(--dk-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-style:normal}
html body #hwEngDock .hw-swab-sbp b{font:500 19px/1.05 var(--dk-mono);color:var(--ink)}
html body #hwEngDock .hw-swab-sbp em{font:400 10px/1 var(--dk-mono);color:var(--muted);font-style:normal}
html body #hwEngDock .hw-swab-comp,html body #hwEngDock .hw-swab-marg,html body #hwEngDock .hw-swab-hint,html body #hwEngDock .hw-dock-warn{
  margin:0!important;padding:7px 10px!important;border:0!important;border-left:2px solid var(--dk-hair)!important;border-radius:0!important;background:none!important;
  font-size:11.5px!important;font-weight:400!important;line-height:1.45!important;color:var(--ink)!important;
}
html body #hwEngDock .hw-swab-comp{border-left-color:var(--dk-ok)!important}
html body #hwEngDock .hw-swab-comp.surge{border-left-color:var(--dk-warn)!important}
html body #hwEngDock .hw-swab-marg.bad,html body #hwEngDock .hw-swab-hint.bad,html body #hwEngDock .hw-dock-warn{border-left-color:var(--dk-bad)!important}
html body #hwEngDock .hw-swab-hint{color:var(--muted)!important}
html body #hwEngDock .hw-swab-comp b,html body #hwEngDock .hw-swab-marg b{font-family:var(--dk-mono);font-weight:500!important}
html body #hwEngDock .hw-swab-comp em{color:var(--muted)!important;font-style:normal;font-weight:400!important}
html body #hwEngDock .hw-swab-gel{display:flex;flex-direction:column;gap:6px}
html body #hwEngDock .hw-swab-gel-h{font:500 9.5px/1.2 var(--dk-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
html body #hwEngDock .hw-swab-gelrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
/* ---- critical points: a quiet table with mono numbers ---- */
html body #hwEngDock .hw-dock-crit{font:400 12px/1.2 var(--dk-mono)!important}
html body #hwEngDock .hw-dock-crit th{padding:0 4px 6px!important;font:500 8.5px/1.2 var(--dk-sans)!important;letter-spacing:.14em!important;color:var(--muted)!important;background:none!important;border-bottom:1px solid var(--dk-hair)!important}
html body #hwEngDock .hw-dock-crit td{padding:7px 4px!important;border-top:0!important;border-bottom:1px solid var(--dk-hair-2)!important;background:none!important}
html body #hwEngDock .hw-dock-crit td:first-child{font:500 11.5px/1.2 var(--dk-sans)!important;color:var(--ink)}
html body #hwEngDock .hw-dock-crit tr.on td{background:color-mix(in srgb,var(--blue) 7%,transparent)!important}
html body #hwEngDock .hw-dock-crit tr.on td:first-child{box-shadow:inset 2px 0 0 var(--blue)}
html body #hwEngDock .hw-dock-crit tr.dim td{color:color-mix(in srgb,var(--muted) 70%,transparent)!important}
html body #hwEngDock .hw-dock-crit tr.bad td{color:var(--dk-bad)!important}
/* ---- drilling / circulation readouts and inputs ---- */
html body #hwEngDock .hw-dock-kv{font-size:11.5px!important;padding:4px 0!important;border-bottom:1px solid var(--dk-hair-2)}
html body #hwEngDock .hw-dock-kv b{font-family:var(--dk-mono);font-weight:500!important}
html body #hwEngDock .hw-dock-inrow{gap:14px!important;margin-top:10px!important}
html body #hwEngDock .hw-dock-inrow label{font:500 9px/1 var(--dk-sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)!important;gap:6px!important;align-items:baseline!important}
/* ---- corrections: quiet toggles ---- */
html body #hwEngDock .hw-dock-corrs{gap:0!important}
html body #hwEngDock .hw-dock-corr{padding:7px 2px!important;border:0!important;border-bottom:1px solid var(--dk-hair-2)!important;border-radius:0!important;background:none!important;font-size:11.5px!important;font-weight:400!important;color:var(--muted)!important}
html body #hwEngDock .hw-dock-corr.on{color:var(--ink)!important}
html body #hwEngDock .hw-dock-cdot{width:7px!important;height:7px!important;background:var(--dk-hair)!important}
html body #hwEngDock .hw-dock-corr.on .hw-dock-cdot{background:var(--blue)!important}
html body #hwEngDock .hw-dock-help{border:1px solid var(--dk-hair)!important;background:none!important;color:var(--muted)!important;font-weight:500!important}
html body #hwEngDock .hw-dock-helpcard{padding:10px 12px!important;border:1px solid var(--dk-hair)!important;border-radius:10px!important;margin:10px 0 0!important}
html body #hwEngDock .hw-dock-helpcard p{font-size:11.5px!important}
html body #hwEngDock .hw-dock-helpcard b{font-weight:600!important}
/* a solve in flight dims only the numbers, never the controls */
html body .solve-active #hwEngDock #hwDockTrinity .hw-tri-v b,html body .solve-active #hwEngDock .hw-swab-card b,html body .solve-active #hwEngDock .hw-dock-crit td{opacity:.55;transition:opacity .12s}
@media (max-width:430px){
  html body #hwEngDock .hw-swab-chips{margin-left:0}
  html body #hwEngDock .hw-swab-read{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  html body #hwEngDock .hw-swab-card b{font-size:16px!important}
}
/* phone / portrait-tablet sheet keeps its shape and grab handle */
@media (max-width:980px),(max-width:1024px) and (orientation:portrait){
  html body #hwEngDock.floating{border-radius:16px 16px 0 0!important}
  html body #hwEngDock.floating .hw-dock-h{padding-top:18px!important}
  html body #hwEngDock .hw-dock-ic{width:40px!important;height:40px!important}
}
/* cuttings-in-ECD toggle beside the ECD label */
html body #hwEngDock .hw-cut-tg{width:22px!important;height:22px!important;padding:0!important;border:1px solid var(--dk-hair)!important;border-radius:999px!important;background:none!important;box-shadow:none!important;color:var(--muted)!important;font-size:11px!important;line-height:1!important;cursor:pointer}
html body #hwEngDock .hw-cut-tg.on{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--bg)!important}
html body #hwEngDock .hw-tri-pumpoff{color:var(--dk-warn)!important}
