/* EKPO LabOS — LIMS/eLabFTW operations and quality workspace */
body[data-workspace="ekpo"]{--lims-ink:#193f50;--lims-muted:#718b94;--lims-line:#d8e6e7;--lims-teal:#1b8683;--lims-bg:#eff5f5}
body[data-workspace="ekpo"]{background:var(--lims-bg)}
body[data-workspace="ekpo"] .sidebar{position:sticky;top:0;height:100vh;min-height:100vh;width:252px;flex:0 0 252px;padding:21px 15px;background:linear-gradient(180deg,#123c4d,#103344 68%,#0b2b3a);border-right:1px solid #2b5868;box-shadow:10px 0 30px #143c4a12}
body[data-workspace="ekpo"] .sidebar-header{padding:8px 9px 22px;border-bottom:1px solid #ffffff20;color:#effcfc;font-weight:850;letter-spacing:.02em}
body[data-workspace="ekpo"] .sidebar nav{padding-top:17px!important}
body[data-workspace="ekpo"] .nav-item{margin:3px 0;border:1px solid transparent;border-radius:9px;padding:11px 12px;color:#b6ced0;transition:background .15s,border-color .15s}
body[data-workspace="ekpo"] .nav-item.active{border-color:#4a898b;background:#1b5861;color:#fff;box-shadow:inset 3px 0 #65d6c3}
body[data-workspace="ekpo"] .main-content{margin-left:0!important;width:auto;min-width:0;flex:1 1 0;background:radial-gradient(ellipse at 90% 0,#2d99920c,transparent 36%),#f1f6f5}
body[data-workspace="ekpo"] .topbar{position:sticky;top:0;z-index:30;min-height:66px;padding:12px 28px;background:#ffffffed;border-bottom:1px solid var(--lims-line);backdrop-filter:blur(16px)}
body[data-workspace="ekpo"] .labos-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:190px;margin:24px 28px 16px;padding:28px 32px;border:1px solid #d0e2e2;border-radius:17px;background:radial-gradient(circle at 85% 20%,#52aaa91c,transparent 24%),linear-gradient(115deg,#fff,#eff8f7 70%,#e4f2f0);box-shadow:0 16px 38px #184e4c0d}
body[data-workspace="ekpo"] .labos-intro h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.035em;color:#194654}
body[data-workspace="ekpo"] .labos-intro p{max-width:760px;color:#648088;line-height:1.8}
body[data-workspace="ekpo"] .labos-stamp{width:90px;height:90px;display:grid;place-items:center;border:1px solid #c7e0dc;border-radius:22px;background:#fff;color:#277f79;font-size:28px;box-shadow:0 12px 28px #1c6e6812}
body[data-workspace="ekpo"] .product-workflow{margin:0 28px 16px;padding:17px 19px;border:1px solid var(--lims-line);border-radius:15px;background:#fff;box-shadow:0 9px 25px #174b4b08}
body[data-workspace="ekpo"] .product-workflow__item{min-height:124px;border-radius:11px;background:linear-gradient(150deg,#fff,#f5faf9)}
body[data-workspace="ekpo"] .content-body{display:block;flex:1 1 auto;width:100%;max-width:1800px;align-self:stretch;margin:0 auto;padding:10px 28px 42px;box-sizing:border-box}
body[data-workspace="ekpo"] .content-body .metrics-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
body[data-workspace="ekpo"] .content-body .card{border:1px solid #dce8e8;border-radius:12px;background:#fff;box-shadow:0 7px 22px #1b4e500a}
body[data-workspace="ekpo"] .content-body .card-value{color:#1a6870;font-variant-numeric:tabular-nums}
body[data-workspace="ekpo"] .content-body :is(table,th,td){border-color:#e1ebea}
body[data-workspace="ekpo"] .content-body :is(input,select,textarea){min-height:39px;border:1px solid #d0e0e0;border-radius:8px;background:#fbfdfd;color:#224754}
@media(max-width:920px){body[data-workspace="ekpo"] .sidebar{width:76px;flex:0 0 76px;padding:17px 8px}body[data-workspace="ekpo"] .sidebar-header{font-size:0;text-align:center;padding:8px 0 17px}body[data-workspace="ekpo"] .sidebar nav .nav-item{font-size:0;text-align:center;padding:12px 3px}body[data-workspace="ekpo"] .labos-intro,body[data-workspace="ekpo"] .product-workflow,body[data-workspace="ekpo"] .content-body{margin-left:14px;margin-right:14px;padding-left:0;padding-right:0}}
@media(max-width:640px){body[data-workspace="ekpo"] .sidebar{position:relative;width:auto;flex:0 0 auto;height:auto;min-height:0;padding:9px 12px;border:0;border-bottom:1px solid #2b5868}body[data-workspace="ekpo"] .sidebar-header{display:none}body[data-workspace="ekpo"] .sidebar nav{display:flex;gap:4px;overflow:auto;padding:0!important}body[data-workspace="ekpo"] .sidebar nav .nav-item{flex:0 0 auto;font-size:11px;white-space:nowrap;padding:9px 11px}body[data-workspace="ekpo"] .labos-intro{margin:13px;padding:20px}.labos-stamp{display:none}body[data-workspace="ekpo"] .topbar{padding:10px 14px}body[data-workspace="ekpo"] .product-workflow{margin:0 13px 13px}body[data-workspace="ekpo"] .content-body{padding:8px 12px 28px}}
@media(prefers-reduced-motion:reduce){body[data-workspace="ekpo"] *{transition:none!important}}

/* V3 LabOS operations command center — readiness before financial history */
body[data-workspace="ekpo"] #page-dashboard>.metrics-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 13px
}
body[data-workspace="ekpo"] #page-dashboard>.metrics-grid .card{
  min-height:108px;padding:17px 18px;border:1px solid #d2e4e2;border-radius:13px;
  background:linear-gradient(145deg,#fff,#f3faf8);box-shadow:0 9px 24px #1b55500b
}
body[data-workspace="ekpo"] #page-dashboard>.metrics-grid .card-title{
  color:#6c8583;font-size:11px;font-weight:750
}
body[data-workspace="ekpo"] #page-dashboard>.metrics-grid .card-value{
  margin-top:9px;color:#176c69;font-size:27px;font-weight:850;
  font-variant-numeric:tabular-nums
}
body[data-workspace="ekpo"] #page-dashboard>.labos-launchpad{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:0 0 14px;padding:17px 19px;border:1px solid #c8e1dc;
  border-left:4px solid #188c83;border-radius:12px;
  background:linear-gradient(110deg,#f4fbf9,#eaf6f3)
}
body[data-workspace="ekpo"] .labos-launch-copy{display:flex;flex-direction:column;gap:4px}
body[data-workspace="ekpo"] .labos-launch-copy .eyebrow{color:#22887e;font-size:9px;font-weight:900;letter-spacing:.15em}
body[data-workspace="ekpo"] .labos-launch-copy strong{color:#194b4b;font-size:15px}
body[data-workspace="ekpo"] .labos-launch-copy small{color:#708b86;font-size:10px}
body[data-workspace="ekpo"] .labos-launch-actions{display:flex;gap:7px;flex-wrap:wrap}
body[data-workspace="ekpo"] .labos-launch-actions button{
  min-height:36px;padding:8px 11px;border:1px solid #c7dfda;border-radius:8px;
  background:#fff;color:#28766f;font-size:10px;font-weight:800
}
body[data-workspace="ekpo"] #lab-readiness{
  position:relative;margin:0 0 16px;padding:19px 20px;border:1px solid #c9dfdb;
  border-radius:15px;background:linear-gradient(125deg,#f9fcfb,#edf7f4);
  box-shadow:0 13px 30px #194d480d;overflow:hidden
}
body[data-workspace="ekpo"] #lab-readiness:before{
  content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#1e9186
}
body[data-workspace="ekpo"] .lab-readiness__head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px
}
body[data-workspace="ekpo"] .lab-readiness__head .eyebrow{color:#23887e;font-size:9px;font-weight:900;letter-spacing:.14em}
body[data-workspace="ekpo"] .lab-readiness__head h3{margin:4px 0;color:#194c4a;font-size:19px}
body[data-workspace="ekpo"] .lab-readiness__head p{margin:0;color:#6e8882;font-size:11px;line-height:1.65}
body[data-workspace="ekpo"] .lab-readiness__actions{display:flex;gap:7px;flex-wrap:wrap}
body[data-workspace="ekpo"] .lab-readiness__actions button{
  min-height:34px;padding:7px 10px;border:1px solid #bedbd4;border-radius:8px;
  background:#fff;color:#277a70;font-size:9px;font-weight:800
}
body[data-workspace="ekpo"] .lab-readiness__metrics{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:13px
}
body[data-workspace="ekpo"] .lab-readiness__metric{
  min-width:0;min-height:104px;padding:13px;border:1px solid #d4e5e0;
  border-radius:11px;background:#fff;display:flex;flex-direction:column;gap:5px
}
body[data-workspace="ekpo"] .lab-readiness__metric>span{color:#728b84;font-size:10px;font-weight:750}
body[data-workspace="ekpo"] .lab-readiness__metric>strong{color:#1f6661;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}
body[data-workspace="ekpo"] .lab-readiness__metric>small{color:#90a29c;font-size:9px;line-height:1.5}
body[data-workspace="ekpo"] .lab-readiness__metric--danger{border-color:#e7c8c2;background:#fff9f7}
body[data-workspace="ekpo"] .lab-readiness__metric--danger>strong{color:#b64d42}
body[data-workspace="ekpo"] .lab-readiness__metric--warning{border-color:#e9dbb9;background:#fffdf7}
body[data-workspace="ekpo"] .lab-readiness__metric--warning>strong{color:#aa7526}
body[data-workspace="ekpo"] .lab-readiness__lower{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:10px
}
body[data-workspace="ekpo"] .lab-readiness__attention,
body[data-workspace="ekpo"] .lab-readiness__calibration{
  min-width:0;padding:13px 14px;border:1px solid #d5e5e0;border-radius:11px;background:#fff
}
body[data-workspace="ekpo"] .lab-readiness__section-title{display:flex;justify-content:space-between;gap:9px;margin-bottom:8px;color:#315f5a;font-size:11px;font-weight:850}
body[data-workspace="ekpo"] .lab-readiness__section-title small{color:#92a39e;font-size:9px;font-weight:500}
body[data-workspace="ekpo"] .lab-readiness__asset{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 0;border-top:1px solid #edf3f0
}
body[data-workspace="ekpo"] .lab-readiness__asset-main{display:flex;flex-direction:column;gap:3px;min-width:0}
body[data-workspace="ekpo"] .lab-readiness__asset-main strong{color:#345c58;font-size:11px}
body[data-workspace="ekpo"] .lab-readiness__asset-main small{color:#91a49c;font-size:9px}
body[data-workspace="ekpo"] .lab-readiness__asset-status{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
body[data-workspace="ekpo"] .lab-readiness__pill{padding:5px 7px;border-radius:6px;background:#f1f5f3;color:#6e8279;font-size:8px;font-weight:800}
body[data-workspace="ekpo"] .lab-readiness__pill.is-danger{background:#fff0ed;color:#ad4e43}
body[data-workspace="ekpo"] .lab-readiness__pill.is-warning{background:#fff7e7;color:#9d702b}
body[data-workspace="ekpo"] .lab-readiness__pill.is-ok{background:#eaf7f1;color:#23836c}
body[data-workspace="ekpo"] .lab-readiness__calibration>span{display:block;color:#6d8881;font-size:10px;font-weight:800}
body[data-workspace="ekpo"] .lab-readiness__calibration>strong{display:block;margin:7px 0;color:#196d64;font-size:29px;font-variant-numeric:tabular-nums}
body[data-workspace="ekpo"] .lab-readiness__calibration>small{color:#92a49d;font-size:9px}
body[data-workspace="ekpo"] .lab-readiness__coverage{height:8px;margin:12px 0 9px;border-radius:20px;background:#e7f0ec;overflow:hidden}
body[data-workspace="ekpo"] .lab-readiness__coverage i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#219d8e,#81cba8)}
body[data-workspace="ekpo"] .lab-readiness__calibration p{color:#778e86;font-size:10px;line-height:1.6}
body[data-workspace="ekpo"] .lab-readiness__unavailable{padding:15px;border:1px solid #ead9b7;border-radius:9px;background:#fffaf0;color:#986d2d}
@media(max-width:1100px){
 body[data-workspace="ekpo"] .lab-readiness__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
 body[data-workspace="ekpo"] #page-dashboard>.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 body[data-workspace="ekpo"] #page-dashboard>.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-workspace="ekpo"] #page-dashboard>.labos-launchpad{align-items:flex-start;flex-direction:column}
 body[data-workspace="ekpo"] .lab-readiness__head{flex-direction:column}
 body[data-workspace="ekpo"] .lab-readiness__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-workspace="ekpo"] .lab-readiness__lower{grid-template-columns:1fr}
 body[data-workspace="ekpo"] .lab-readiness__asset{align-items:flex-start;flex-direction:column}
 body[data-workspace="ekpo"] .lab-readiness__asset-status{justify-content:flex-start}
}

body[data-workspace="ekpo"] .labos-workflow-board{margin:0 0 16px;padding:17px;border:1px solid #d4e4e4;border-radius:14px;background:linear-gradient(115deg,#fff,#f4faf9);box-shadow:0 10px 28px #103c4808}
body[data-workspace="ekpo"] .labos-workflow-board__head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:13px}
body[data-workspace="ekpo"] .labos-workflow-board__head .eyebrow{color:#237c7c;font-size:9px;font-weight:900;letter-spacing:.16em}
body[data-workspace="ekpo"] .labos-workflow-board__head h3{margin:4px 0;color:#183f50;font-size:18px;font-weight:850;letter-spacing:-.03em}
body[data-workspace="ekpo"] .labos-workflow-board__head p{margin:3px 0 0;color:#789096;font-size:10px;line-height:1.6}
body[data-workspace="ekpo"] .labos-workflow-board__mode{padding:6px 8px;border:1px solid #d4e6e2;border-radius:5px;background:#f3faf7;color:#568478;font-size:8px;font-weight:850;white-space:nowrap}
body[data-workspace="ekpo"] .labos-workflow-board__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body[data-workspace="ekpo"] .labos-workflow-step{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;min-height:136px;padding:12px;border:1px solid #dbe8e8;border-top:3px solid #3c8c8b;border-radius:9px;background:#fff;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s}
body[data-workspace="ekpo"] .labos-workflow-step:hover{transform:translateY(-2px);border-color:#8abfba;background:#f8fcfb}
body[data-workspace="ekpo"] .labos-workflow-step>span{color:#73969a;font-size:8px;font-weight:900;letter-spacing:.12em}
body[data-workspace="ekpo"] .labos-workflow-step>strong{color:#214c5b;font-size:12px;font-weight:850}
body[data-workspace="ekpo"] .labos-workflow-step>small{color:#8a9da0;font-size:9px;line-height:1.5}
body[data-workspace="ekpo"] .labos-workflow-step>b{margin-top:auto;color:#1d7880;font-size:19px;font-weight:850;font-variant-numeric:tabular-nums}
body[data-workspace="ekpo"] .labos-workflow-step>i{color:#3a9692;font-size:8px;font-style:normal;font-weight:850}
body[data-workspace="ekpo"] .labos-workflow-board__foot{display:flex;gap:9px;margin-top:11px;padding-top:10px;border-top:1px solid #e5eeee;color:#829599;font-size:9px;line-height:1.6}
body[data-workspace="ekpo"] .labos-workflow-board__foot strong{flex-shrink:0;color:#337f7b;font-size:9px}
@media(max-width:1020px){body[data-workspace="ekpo"] .labos-workflow-board__track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body[data-workspace="ekpo"] .labos-workflow-board{padding:13px}body[data-workspace="ekpo"] .labos-workflow-board__head{flex-direction:column}body[data-workspace="ekpo"] .labos-workflow-board__track{grid-template-columns:1fr 1fr}body[data-workspace="ekpo"] .labos-workflow-step{min-height:120px;padding:9px}}


/* First-run ledger onboarding: no synthetic KPI totals or readiness claims. */
body[data-workspace="ekpo"] .labos-first-run{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:12px 0 16px;padding:20px 22px;border:1px solid #badbd4;border-left:4px solid #18877f;border-radius:14px;background:linear-gradient(110deg,#f3fbf8,#eaf5f2 70%,#f7fbfa)}
body[data-workspace="ekpo"] .labos-first-run h3{margin:5px 0;color:#174b48;font-size:19px}
body[data-workspace="ekpo"] .labos-first-run p{max-width:760px;color:#5d7b77;font-size:12px;line-height:1.8}
body[data-workspace="ekpo"] .labos-first-run__actions{display:flex;gap:8px;flex-wrap:wrap}
body[data-workspace="ekpo"] .labos-first-run__actions button{min-height:38px;padding:9px 13px;border:1px solid #bcded7;border-radius:8px;background:#fff;color:#176c67;font-size:11px;font-weight:750;cursor:pointer}
body[data-workspace="ekpo"] .labos-first-run__actions button:hover{border-color:#18877f;background:#f6fffc}
body[data-workspace="ekpo"] .lab-readiness__empty.is-unverified{border:1px dashed #d4b66c;background:#fffaf0}
body[data-workspace="ekpo"] .lab-readiness__empty.is-unverified strong{color:#80602a}
body[data-workspace="ekpo"] .lab-readiness__empty.is-unverified span{color:#8d774f}
@media(max-width:760px){body[data-workspace="ekpo"] .labos-first-run{align-items:flex-start;flex-direction:column;padding:16px 14px}body[data-workspace="ekpo"] .labos-first-run__actions{width:100%}body[data-workspace="ekpo"] .labos-first-run__actions button{flex:1 1 140px}}
