/*
 * MedLab — Static CSS (Tailwind-free)
 * SOP 2026: no CDN, no runtime Tailwind.
 * Scope: utilities are scoped to .medlab (equivalent to Tailwind "important: '.medlab'" with preflight disabled).
 */

/* Base */
.medlab{box-sizing:border-box;}
.medlab *, .medlab *::before, .medlab *::after{box-sizing:inherit;}
.medlab{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;}
.medlab a{text-decoration:none;}

/* Iconify render + enforce heroicons-like outline weight */
.medlab iconify-icon{display:block;}
.medlab iconify-icon svg{stroke-width:2 !important;}

/* Layout utilities (subset) */
.medlab .grid{display:grid;}
.medlab .flex{display:flex;}
.medlab .inline-flex{display:inline-flex;}
.medlab .flex-col{flex-direction:column;}
.medlab .items-center{align-items:center;}
.medlab .justify-center{justify-content:center;}
.medlab .mx-auto{margin-left:auto;margin-right:auto;}
.medlab .text-center{text-align:center;}
.medlab .overflow-hidden{overflow:hidden;}
.medlab .relative{position:relative;}

/* Width */
.medlab .max-w-2xl{max-width:42rem;}
.medlab .max-w-3xl{max-width:48rem;}
.medlab .max-w-6xl{max-width:72rem;}

/* Spacing */
.medlab .p-4{padding:1rem;}
.medlab .p-6{padding:1.5rem;}
.medlab .px-4{padding-left:1rem;padding-right:1rem;}
.medlab .px-6{padding-left:1.5rem;padding-right:1.5rem;}
.medlab .py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.medlab .py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem;}
.medlab .py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.medlab .py-10{padding-top:2.5rem;padding-bottom:2.5rem;}
.medlab .gap-3{gap:0.75rem;}
.medlab .gap-4{gap:1rem;}
.medlab .gap-6{gap:1.5rem;}
.medlab .mt-2{margin-top:0.5rem;}
.medlab .mt-3{margin-top:0.75rem;}
.medlab .mt-4{margin-top:1rem;}
.medlab .mt-6{margin-top:1.5rem;}
.medlab .mt-8{margin-top:2rem;}
.medlab .mt-10{margin-top:2.5rem;}

/* Typography */
.medlab .font-heading{font-family:inherit;}
.medlab .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;}
.medlab .font-semibold{font-weight:600;}
.medlab .font-bold{font-weight:700;}
.medlab .text-xs{font-size:0.75rem;line-height:1rem;}
.medlab .text-sm{font-size:0.875rem;line-height:1.25rem;}
.medlab .text-lg{font-size:1.125rem;line-height:1.75rem;}
.medlab .text-2xl{font-size:1.5rem;line-height:2rem;}
.medlab .text-4xl{font-size:2.25rem;line-height:2.5rem;}
.medlab .tracking-tight{letter-spacing:-0.025em;}
.medlab .tracking-wide{letter-spacing:0.025em;}

/* Sizes */
.medlab .h-20{height:5rem;}
.medlab .w-20{width:5rem;}
.medlab .h-16{height:4rem;}
.medlab .w-16{width:4rem;}
.medlab .min-h-\[64px\]{min-height:64px;}

/* Colors */
.medlab .bg-white{background-color:#ffffff;}
.medlab .bg-\[\#0f3485\]{background-color:#0f3485;}
.medlab .bg-\[\#147DC8\]{background-color:#147DC8;}
.medlab .bg-\[\#FF8C00\]{background-color:#FF8C00;}
.medlab .bg-\[\#F3F4F6\]{background-color:#F3F4F6;}
.medlab .bg-white\/10{background-color:rgba(255,255,255,0.10);}
.medlab .bg-white\/15{background-color:rgba(255,255,255,0.15);}

.medlab .text-white{color:#ffffff;}
.medlab .text-\[\#0f3485\]{color:#0f3485;}
.medlab .text-\[\#143D8F\]{color:#143D8F;}
.medlab .text-\[\#FF8C00\]{color:#FF8C00;}
.medlab .text-slate-500{color:#64748b;}
.medlab .text-slate-600{color:#475569;}
.medlab .text-slate-700{color:#334155;}
.medlab .text-slate-800{color:#1e293b;}
.medlab .text-white\/70{color:rgba(255,255,255,0.70);}
.medlab .text-white\/85{color:rgba(255,255,255,0.85);}
.medlab .text-white\/90{color:rgba(255,255,255,0.90);}

/* Rings & shadows */
.medlab .ring-1{border-width:1px;border-style:solid;border-color:transparent;}
.medlab .ring-slate-200{border-color:#e2e8f0;}
.medlab .ring-\[\#147DC8\]\/30{border-color:rgba(20,125,200,0.30);}
.medlab .ring-\[\#FF8C00\]\/30{border-color:rgba(255,140,0,0.30);}
.medlab .ring-white\/15{border-color:rgba(255,255,255,0.15);}
.medlab .ring-white\/20{border-color:rgba(255,255,255,0.20);}
.medlab .shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,0.05);}
.medlab .shadow-xl{box-shadow:0 20px 35px rgba(2,6,23,0.22);}

/* Responsive utilities */
@media (min-width: 640px){
  .medlab .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .medlab .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .medlab .sm\:flex-row{flex-direction:row;}
  .medlab .sm\:px-10{padding-left:2.5rem;padding-right:2.5rem;}
  .medlab .sm\:py-12{padding-top:3rem;padding-bottom:3rem;}
  .medlab .sm\:p-10{padding:2.5rem;}
  .medlab .sm\:text-5xl{font-size:3rem;line-height:1;}
}
@media (min-width: 768px){
  .medlab .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* Hover utilities */
.medlab .hover\:opacity-95:hover{opacity:0.95;}
.medlab .hover\:bg-white\/15:hover{background-color:rgba(255,255,255,0.15);}

/* Components */
.medlab .ml-card, .medlab .ml-btn, .medlab .ml-pill{border-radius:12px;}
.medlab .ml-btn{text-decoration:none;font-weight:600;}
.medlab .ml-btn:focus{outline:2px solid rgba(20,125,200,0.35);outline-offset:2px;}

/* Origin pill (front cards) */
.medlab .ml-origin-pill{
  display:inline-flex;
  align-items:center;
  padding:0.25rem 0.6rem;
  border-radius:9999px;
  font-size:0.75rem;
  line-height:1rem;
  font-weight:600;
  border:1px solid rgba(226,232,240,1);
  background-color:#F3F4F6;
  color:#334155;
}
.medlab .ml-origin-pill--satellite{
  background-color:rgba(20,125,200,0.08);
  border-color:rgba(20,125,200,0.22);
  color:#0f3485;
}
.medlab .ml-origin-pill--core{
  background-color:rgba(255,140,0,0.08);
  border-color:rgba(255,140,0,0.22);
  color:#7c2d12;
}

/* Hero (Brand identity) */
.medlab .medlab-hero{
  background:linear-gradient(180deg,#0f3485 0%,#143D8F 100%);
  color:#fff;
}

/* Glass panels */
.medlab .bg-white\/10,
.medlab .bg-white\/15{
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

/* Animated status dot ("breathe") */
@keyframes medlab_breathe{
  0%, 100%{transform:scale(1);background-color:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.45);}
  50%{transform:scale(1.18);background-color:#bbf7d0;box-shadow:0 0 0 10px rgba(34,197,94,0);}
}
.medlab .ml-status-dot{width:10px;height:10px;border-radius:9999px;animation:medlab_breathe 2.8s ease-in-out infinite;}

/* Method link: underline reveal on hover */
.medlab .ml-method-link{color:#ffffff;position:relative;transition:background-color .22s ease,opacity .22s ease;}
.medlab .ml-method-link::after{content:'';position:absolute;left:18px;right:18px;bottom:10px;height:3px;background-color:rgba(255,255,255,0.92);transform:scaleX(0);transform-origin:center;opacity:0;transition:transform .22s ease,opacity .22s ease;border-radius:9999px;}
.medlab .ml-method-link:hover{color:#ffffff;background-color:rgba(20,125,200,0.10);font-weight:700;}
.medlab .ml-method-link:hover::after{transform:scaleX(1);opacity:1;}

/* WordPress admin tables (do not override WP core styles) */

/* -------------------------------------------------------------------------- */
/* Fleet View (v1.5.7)                                                        */
/* -------------------------------------------------------------------------- */

.medlab .ml-fleet-header{
  background:linear-gradient(180deg, rgba(15,52,133,0.06) 0%, rgba(20,125,200,0.04) 100%);
}
.medlab .ml-fleet-titlebar{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}
.medlab .ml-fleet-summary{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  padding:0.35rem 0.65rem;
  border-radius:9999px;
  border:1px solid rgba(226,232,240,1);
  background:#ffffff;
  color:#0f172a;
}

.medlab .ml-fleet-card{
  background:linear-gradient(180deg, #ffffff 0%, rgba(243,244,246,0.55) 100%);
}

/* Lagging (deployment behind target) */
.medlab .ml-fleet-card--lagging{
  border-left:4px solid #FF8C00;
}

@keyframes medlab_soft_blink{
  0%,100%{opacity:1;}
  50%{opacity:0.72;}
}
.medlab .ml-lagging-badge{
  display:inline-flex;
  align-items:center;
  padding:0.25rem 0.6rem;
  border-radius:9999px;
  font-size:0.75rem;
  line-height:1rem;
  font-weight:700;
  background:rgba(255,140,0,0.12);
  border:1px solid rgba(255,140,0,0.35);
  color:#9a3412;
  animation:medlab_soft_blink 2.6s ease-in-out infinite;
}
.medlab .ml-fleet-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.medlab .ml-fleet-project-title{margin:0;}
.medlab .ml-fleet-project-meta{margin-top:0.25rem;}

.medlab .ml-fleet-pills{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
}

.medlab .ml-fleet-pill{
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
  padding:0.3rem 0.65rem;
  border-radius:9999px;
  font-size:0.75rem;
  line-height:1rem;
  font-weight:700;
  border:1px solid rgba(226,232,240,1);
  background-color:#ffffff;
  color:#0f172a;
  white-space:nowrap;
}

.medlab .ml-fleet-pill--ok{
  background-color:rgba(34,197,94,0.08);
  border-color:rgba(34,197,94,0.22);
  color:#0f5132;
}
.medlab .ml-fleet-pill--warn{
  background-color:rgba(255,140,0,0.10);
  border-color:rgba(255,140,0,0.28);
  color:#7c2d12;
}
.medlab .ml-fleet-pill--danger{
  background-color:rgba(239,68,68,0.10);
  border-color:rgba(239,68,68,0.24);
  color:#7f1d1d;
}
.medlab .ml-fleet-pill--muted{
  background-color:rgba(100,116,139,0.10);
  border-color:rgba(100,116,139,0.22);
  color:#334155;
}

.medlab .ml-pulse-dot{
  width:10px;
  height:10px;
  border-radius:9999px;
  display:inline-block;
}
.medlab .ml-pulse-dot--local{background-color:#94a3b8;}

@keyframes medlab_pulse_ok{
  0%, 100%{transform:scale(1);background-color:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.45);} 
  50%{transform:scale(1.18);background-color:#bbf7d0;box-shadow:0 0 0 10px rgba(34,197,94,0);} 
}
@keyframes medlab_pulse_timeout{
  0%, 100%{transform:scale(1);background-color:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.45);} 
  50%{transform:scale(1.18);background-color:#fecaca;box-shadow:0 0 0 10px rgba(239,68,68,0);} 
}
.medlab .ml-pulse-dot--ok{animation:medlab_pulse_ok 2.8s ease-in-out infinite;}
.medlab .ml-pulse-dot--timeout{animation:medlab_pulse_timeout 2.8s ease-in-out infinite;}

/* Fleet Status dashboard */
.medlab .ml-fleet-status-card{
  background:linear-gradient(180deg, rgba(15,52,133,0.06) 0%, rgba(255,255,255,1) 55%);
}

/* Executive donut chart (Fleet Status) */
.medlab .ml-donut{
  width:120px;
  height:120px;
  display:block;
}
.medlab .ml-donut__ring{
  fill:transparent;
  stroke:#e2e8f0;
  stroke-width:3.5;
}
.medlab .ml-donut__segment{
  fill:transparent;
  stroke-width:3.5;
  stroke-linecap:round;
}
.medlab .ml-donut__segment--ok{stroke:#22c55e;}
.medlab .ml-donut__segment--warn{stroke:#f59e0b;}
.medlab .ml-donut__segment--bad{stroke:#ef4444;}

.medlab .ml-legend{
  display:flex;
  align-items:center;
  gap:0.5rem;
  margin:0.25rem 0;
}
.medlab .ml-legend__swatch{
  width:10px;
  height:10px;
  border-radius:9999px;
  display:inline-block;
}
.medlab .ml-legend__swatch--ok{background-color:#22c55e;}
.medlab .ml-legend__swatch--warn{background-color:#f59e0b;}
.medlab .ml-legend__swatch--bad{background-color:#ef4444;}
.medlab .ml-health__value{
  font-size:3rem;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#0f3485;
}
.medlab .ml-health__unit{
  font-size:1rem;
  font-weight:700;
  color:#64748b;
  margin-left:0.35rem;
}

.medlab .ml-bar{
  height:12px;
  border-radius:9999px;
  overflow:hidden;
  border:1px solid rgba(226,232,240,1);
  background-color:#f1f5f9;
  display:flex;
}
.medlab .ml-bar__ok{background-color:rgba(34,197,94,0.55);}
.medlab .ml-bar__bad{background-color:rgba(239,68,68,0.55);}

.medlab .ml-bar__timeout{background-color:rgba(239,68,68,0.35);}
.medlab .ml-bar__invalid{background-color:rgba(239,68,68,0.65);}

.medlab .ml-alerts{
  margin-top:0.75rem;
  padding-left:1rem;
}
.medlab .ml-alerts li{margin:0.35rem 0;}
.medlab .ml-alert-pill{
  display:inline-flex;
  align-items:center;
  padding:0.18rem 0.55rem;
  border-radius:9999px;
  font-size:0.75rem;
  line-height:1rem;
  font-weight:800;
  background-color:rgba(239,68,68,0.10);
  border:1px solid rgba(239,68,68,0.24);
  color:#7f1d1d;
  margin-right:0.5rem;
}
.medlab .ml-alert-slug{color:#0f172a;}

/* -------------------------------------------------------------------------- */
/* Cockpit Premium (v1.6.6)                                                   */
/* -------------------------------------------------------------------------- */

/* Origin badge (Fleet View cards) */
.medlab .ml-origin-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.14rem 0.55rem;
  border-radius:9999px;
  font-size:0.65rem;
  line-height:1rem;
  font-weight:800;
  letter-spacing:0.06em;
  border:1px solid rgba(226,232,240,1);
  background:#ffffff;
  color:#0f172a;
  vertical-align:middle;
  margin-left:0.5rem;
}
.medlab .ml-origin-badge--remote{
  background-color:rgba(20,125,200,0.12);
  border-color:rgba(20,125,200,0.28);
  color:#0f3485;
}
.medlab .ml-origin-badge--local{
  background-color:rgba(100,116,139,0.10);
  border-color:rgba(100,116,139,0.22);
  color:#334155;
}
.medlab .ml-origin-badge--core{
  background-color:rgba(15,52,133,0.10);
  border-color:rgba(15,52,133,0.22);
  color:#0f3485;
}

/* Cockpit header */
.medlab .ml-cockpit-topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.medlab .ml-cockpit-headings{display:flex;flex-direction:column;gap:0.25rem;}
.medlab .ml-cockpit-title{
  margin:0;
  font-size:1.6rem;
  line-height:2rem;
  font-weight:800;
  letter-spacing:-0.02em;
  color:#1e293b;
}
.medlab .ml-cockpit-subtitle{
  margin:0;
  font-size:0.95rem;
  line-height:1.4;
  color:#64748b;
}
.medlab .ml-cockpit-action{margin:0;}
.medlab .ml-primary-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  padding:0.75rem 1.05rem;
  border-radius:8px;
  font-size:0.875rem;
  font-weight:800;
  border:1px solid rgba(15,52,133,0.18);
  background:#0f3485;
  color:#ffffff;
  box-shadow:0 2px 10px rgba(0,0,0,0.05);
  cursor:pointer;
}
.medlab .ml-primary-action:hover{opacity:0.96;}

/* 3-gauge grid */
.medlab .ml-cockpit-gauges{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  gap:1rem;
  margin-top:1.25rem;
}
@media (min-width: 768px){
  .medlab .ml-cockpit-gauges{grid-template-columns:repeat(3,minmax(0,1fr));}
}

.medlab .ml-cockpit-card{
  background:#ffffff;
  border:1px solid rgba(226,232,240,1);
  border-radius:8px;
  padding:1.25rem;
  box-shadow:0 2px 10px rgba(0,0,0,0.05);
}
.medlab .ml-card-kicker{
  font-size:0.75rem;
  line-height:1rem;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#64748b;
}

/* Gauge typography */
.medlab .ml-gauge-title{font-size:0.95rem;font-weight:900;color:#1e293b;}
.medlab .ml-gauge-subtitle{margin-top:0.25rem;font-size:0.82rem;color:#64748b;}
.medlab .ml-gauge-row{display:flex;align-items:center;gap:1rem;margin-top:0.85rem;}
.medlab .ml-gauge-metrics{display:flex;flex-direction:column;gap:0.25rem;min-width:0;}
.medlab .ml-gauge-value{font-size:2.05rem;line-height:2.15rem;font-weight:900;color:#1e293b;letter-spacing:-0.02em;}
.medlab .ml-gauge-note{font-size:0.82rem;line-height:1.25rem;color:#64748b;}

/* Donut colors for executive gauges */
.medlab .ml-donut__segment--health{stroke:#10b981;}
.medlab .ml-donut__segment--deploy{stroke:#0f3485;}
.medlab .ml-donut__segment--integrity{stroke:#22c55e;}

/* -------------------------------------------------------------------------
   Admin Toast (Pipeline Console) — Clean Scan                               
   ------------------------------------------------------------------------- */
#medlab-toast{
  position:fixed;
  top:48px;
  right:18px;
  z-index:100000;
  max-width:360px;
  padding:12px 14px;
  border-radius:8px;
  background:#1e293b;
  color:#ffffff;
  box-shadow:0 8px 24px rgba(0,0,0,0.18);
  font-size:13px;
  line-height:1.35;
  opacity:1;
  transform:translateY(0);
  transition:opacity .25s ease, transform .25s ease;
}
#medlab-toast.medlab-toast-hide{opacity:0;transform:translateY(-8px);}

/* -------------------------------------------------------------
   Satellite Factory (v1.7.1)
   ------------------------------------------------------------- */

.medlab .ml-factory-zone { margin-top: 14px; }

.medlab .ml-factory-zone__title {
  margin: 0 0 8px 0;
  font-weight: 700;
  color: #0f172a;
}

.medlab .ml-factory-dropzone {
  border: 2px dashed #cbd5e1;
  border-radius: 10px;
  padding: 16px;
  text-align: center;
  cursor: pointer;
  background: #f8fafc;
  transition: background-color .15s ease, border-color .15s ease;
}

.medlab .ml-factory-dropzone:hover {
  border-color: #94a3b8;
}

.medlab .ml-factory-dropzone.is-dragover {
  background: #eff6ff;
  border-color: #0f3485;
}

.medlab .ml-factory-dropzone .ml-factory-dropzone__label {
  font-weight: 700;
  color: #0f172a;
}

.medlab .ml-factory-dropzone .ml-factory-dropzone__hint {
  margin-top: 6px;
  color: #475569;
  font-size: 13px;
}

.medlab .ml-factory-import-preview {
  margin-top: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px;
  background: #ffffff;
}

.medlab .ml-factory-advanced summary {
  cursor: pointer;
  user-select: none;
}

.medlab .ml-factory-advanced summary::-webkit-details-marker {
  display: none;
}

.medlab .ml-factory-advanced summary:before {
  content: '▸';
  margin-right: 8px;
  color: #64748b;
}

.medlab .ml-factory-advanced[open] summary:before {
  content: '▾';
}

