﻿:root{
  --bg:#070b14;
  --panel:#0c1426;
  --panel2:#0a1020;
  --stroke:rgba(255,255,255,.08);
  --text:#e8eefc;
  --muted:rgba(232,238,252,.72);
  --green:#22c55e;
  --red:#ef4444;
  --amber:#f59e0b;
  --shadow:0 18px 60px rgba(0,0,0,.55);
  --radius:18px;
  --radius2:14px;
  --pad:16px;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* Step 3E-C16-Q3K-1 — typography scale (dashboard reference) */
  --mg-font-xs:clamp(9px,2.2vw,10px);
  --mg-font-sm:clamp(10px,2.4vw,11px);
  --mg-font-body:clamp(12px,2.8vw,13px);
  --mg-font-card-title:clamp(15px,3.8vw,16px);
  --mg-font-section-title:clamp(15px,1.2vw,16px);
  --mg-font-hero-title:clamp(18px,4.8vw,24px);
  --mg-font-value:clamp(16px,1.9vw,21px);
  --mg-font-value-lg:clamp(18px,5.2vw,26px);
  --mg-font-value-hero:clamp(28px,7vw,42px);
  --mg-font-button:clamp(12px,3.2vw,13px);
  --mg-font-label:clamp(10px,2.4vw,11px);
  --mg-line-height-tight:1.2;
  --mg-line-height-body:1.35;
  --mg-line-height-title:1.15;
  --mg-label-tracking:0.08em;
  --mg-touch-min:44px;

  /* CH-013A.34 — Margin Guard Experience System (tokens only; adopt incrementally) */
  /* Spacing */
  --mg-space-xs:8px;
  --mg-space-sm:12px;
  --mg-space-md:16px;
  --mg-space-lg:24px;
  --mg-space-xl:32px;
  --mg-space-2xl:40px;
  /* Radius tiers */
  --mg-radius-compact:12px;
  --mg-radius-control:14px;
  --mg-radius-card:18px;
  --mg-radius-hero:22px;
  --mg-radius-pill:999px;
  /* Type hierarchy (4 levels) */
  --mg-type-hero:clamp(1.65rem, 3vw, 2.05rem);
  --mg-type-section:clamp(1.05rem, 1.6vw, 1.25rem);
  --mg-type-body:clamp(0.9rem, 1.2vw, 1rem);
  --mg-type-caption:clamp(0.7rem, 1vw, 0.78rem);
  /* Buttons */
  --mg-btn-height:44px;
  --mg-btn-height-hero:52px;
  --mg-btn-pad-x:18px;
  --mg-btn-pad-x-hero:24px;
  --mg-button-height-hero:var(--mg-btn-height-hero);
  --mg-button-pad-x-hero:var(--mg-btn-pad-x-hero);
  /* Shells */
  --mg-shell-app:1180px;
  --mg-shell-workflow:1040px;
  --mg-shell-public:1200px;
  --mg-shell-wide:1680px;
  /* Cards / workflow / modal */
  --mg-card-pad:20px;
  --mg-card-pad-hero:28px;
  --mg-section-gap:24px;
  --mg-grid-gap:16px;
  --mg-workflow-step-min-h:80px;
  --mg-modal-width:560px;
  --mg-modal-width-lg:860px;
  --mg-modal-pad:20px;
  /* Status (Rule 5) */
  --mg-status-complete:#34d399;
  --mg-status-complete-bg:rgba(52,211,153,.16);
  --mg-status-current:#60a5fa;
  --mg-status-current-bg:rgba(96,165,250,.16);
  --mg-status-upcoming:rgba(232,238,252,.45);
  --mg-status-upcoming-bg:rgba(255,255,255,.04);
  --mg-status-attention:#f87171;
  --mg-status-attention-bg:rgba(248,113,113,.14);
  /* Motion */
  --mg-ease:cubic-bezier(.2,.8,.2,1);
  --mg-duration-fast:140ms;
  --mg-duration:220ms;
  --mg-duration-slow:320ms;
}
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:
    radial-gradient(ellipse 90% 48% at 50% -18%, rgba(15,118,110,.05), transparent 58%),
    var(--bg);
}
a{ color:inherit; text-decoration:none; }
small{ color:var(--muted); }
.topbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(14px);
  background: linear-gradient(to bottom, rgba(5,8,18,.85), rgba(5,8,18,.55));
  border-bottom:1px solid var(--stroke);
}
.topbar-inner{
  max-width:1180px; margin:0 auto;
  padding:12px 16px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.brand{ display:flex; align-items:center; gap:12px; min-width:240px; }
.logo{
  width:44px; height:44px; border-radius:14px;
  display:grid; place-items:center;
  background: radial-gradient(circle at 30% 30%, rgba(34,197,94,.35), rgba(34,197,94,.08) 55%, rgba(255,255,255,.03));
  border:1px solid rgba(34,197,94,.20);
  box-shadow: 0 10px 40px rgba(34,197,94,.10);
}
.logo b{ font-family:var(--mono); letter-spacing:.5px; }
.brand h1{ margin:0; font-size:16px; line-height:1.1; }
.brand p{ margin:0; font-size:12px; color:var(--muted); }
.actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end; }
.topbar-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end; }
.inline-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-start; }
.btn{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color:var(--text);
  padding:10px 12px;
  border-radius:14px;
  font-weight:650;
  font-size:var(--mg-font-button);
  line-height:var(--mg-line-height-body);
  cursor:pointer;
  transition: transform .06s ease, border-color .15s ease, background .15s ease;
  user-select:none;
}
.btn:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.05); }
.btn.primary{
  border-color: rgba(34,197,94,.45);
  background: rgba(34,197,94,.14);
}
.btn.primary:hover{ background: rgba(34,197,94,.20); }
.btn.active{
  outline:2px solid rgba(255,255,255,.22);
  box-shadow: 0 0 0 4px rgba(34,197,94,.14);
}
.btn.danger{ border-color: rgba(239,68,68,.35); background: rgba(239,68,68,.10); }
.btn.ghost{ background: transparent; border-color: rgba(255,255,255,.10); }
.btn:disabled{ opacity:.65; cursor:not-allowed; }
.btn-block{ width:100%; }
.container{
  max-width:1180px; margin:0 auto;
  padding:18px 16px 40px;
}
/* Authenticated app pages — full-width operations console (Supervisor pattern) */
body[data-requires-auth="true"] .topbar-inner{
  max-width:1680px;
  width:100%;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
}
body[data-requires-auth="true"] .container:not(.narrow){
  max-width:1680px;
  width:100%;
  padding-left:24px;
  padding-right:32px;
  padding-bottom:48px;
  box-sizing:border-box;
}
body[data-requires-auth="true"] .container:has(.grid.sales-layout){
  max-width:1680px;
}
@media (max-width: 720px){
  body[data-requires-auth="true"] .topbar-inner{
    padding-left:16px;
    padding-right:16px;
  }
  body[data-requires-auth="true"] .container:not(.narrow){
    padding-left:16px;
    padding-right:16px;
    padding-bottom:32px;
  }
}
.narrow{ max-width:760px; }
.center{ text-align:center; }
.grid{
  display:grid;
  grid-template-columns: 1.35fr .85fr;
  gap:14px;
}
/* Sales / Vendedor — wider left column (Labor + estimate), compact right rail */
body[data-requires-auth="true"] .container:has(.grid.sales-layout),
.container:has(.grid.sales-layout){
  max-width:1680px;
}
.grid.sales-layout{
  --sales-col-left:minmax(0, 1.35fr);
  --sales-col-right:minmax(0, 0.65fr);
  grid-template-columns:var(--sales-col-left) var(--sales-col-right);
  align-items:start;
  column-gap:24px;
  row-gap:14px;
}
.grid.sales-layout > .sales-layout-hero{
  grid-column:1 / -1;
  margin-bottom:0;
}
.grid.sales-layout > .sales-layout-hero .owner-hero-inner{
  grid-template-columns:var(--sales-col-left) var(--sales-col-right);
  column-gap:24px;
  gap:24px;
  align-items:start;
}
.sales-left-panel{
  padding-right:0;
  min-width:0;
  overflow-x:hidden;
  overflow-y:visible;
}

/* Sales — Operational plan (additive execution schedule) */
.sales-operational{
  margin:0 0 14px;
  padding:14px 16px 16px;
  border-radius:18px;
  border:1px solid rgba(59,130,246,.22);
  background:
    radial-gradient(520px 120px at 0% 0%, rgba(59,130,246,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(6,10,18,.35));
}
.sales-operational__summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
}
.sales-operational__summary::-webkit-details-marker{display:none;}
.sales-operational__eyebrow{
  border-color:rgba(59,130,246,.25);
  background:rgba(59,130,246,.1);
  color:rgba(191,219,254,.95);
}
.sales-operational__title{
  font-size:15px;
  font-weight:850;
  letter-spacing:.04em;
}
.sales-operational__meta{
  margin-left:auto;
  font-size:12px;
  color:rgba(232,238,252,.65);
}
.sales-operational__lead{margin:0 0 12px;}
.sales-operational-metrics{margin:0 0 12px;}
.sales-operational-metrics__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  font-size:13px;
}
.sales-operational-day{
  margin:0 0 10px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.15);
}
.sales-operational-day__head{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:10px;
}
.sales-operational-day__head .sales-op-day-number{width:4.5rem;}
.sales-operational-day__head .sales-op-phase{flex:1;min-width:160px;}
.sales-operational-day__workers{display:flex;flex-direction:column;gap:8px;}
.sales-operational-worker{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.sales-operational-worker .sales-op-role{flex:1;min-width:120px;}
.sales-operational-worker .sales-op-hours{width:5rem;}

/* Sales — Ultra-pro operational plan (timeline + calendar preview) */
.sales-operational--pro .sales-operational__body{padding-top:4px;}
.sales-op-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);
  gap:16px 20px;
  align-items:start;
}
.sales-op-layout__left,
.sales-op-layout__right{
  min-width:0;
}
.sales-op-layout__right{
  display:flex;
  flex-direction:column;
  gap:12px;
  position:sticky;
  top:12px;
}
.sales-op-timeline-head{margin:0 0 10px;}
.sales-op-timeline-title{
  margin:0;
  font-size:16px;
  font-weight:850;
  letter-spacing:.02em;
}
.sales-op-timeline-sub{
  margin:4px 0 0;
  font-size:12px;
  color:rgba(232,238,252,.62);
}
.sales-op-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.12);
}
.sales-op-toolbar .field{margin:0;flex:1;min-width:160px;}
.sales-op-metrics-inline{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin:0 0 10px;
  font-size:12px;
  color:rgba(232,238,252,.78);
}
.sales-op-metrics-inline strong{color:#fff;font-weight:750;}
.sales-op-phase-block{margin:0 0 12px;}
.sales-op-phase-block__title{
  margin:0 0 6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(191,219,254,.85);
}
.sales-op-phase-block__title.sales-op-phase-tone--a{border-left:3px solid #3b82f6;padding-left:8px;}
.sales-op-phase-block__title.sales-op-phase-tone--b{border-left:3px solid #8b5cf6;padding-left:8px;}
.sales-op-phase-block__title.sales-op-phase-tone--c{border-left:3px solid #22c55e;padding-left:8px;}
.sales-op-phase-block__title.sales-op-phase-tone--d{border-left:3px solid #f59e0b;padding-left:8px;}
.sales-op-timeline{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sales-op-timeline-row{
  display:grid;
  grid-template-columns:3.2rem minmax(0,1fr) auto auto auto;
  gap:8px 10px;
  align-items:center;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.18);
  cursor:pointer;
  transition:border-color .15s, background .15s;
}
.sales-op-timeline-row:hover{
  border-color:rgba(59,130,246,.35);
  background:rgba(59,130,246,.08);
}
.sales-op-timeline-row__day{
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  color:rgba(191,219,254,.9);
}
.sales-op-timeline-row__task{
  min-width:0;
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sales-op-timeline-row__crew{
  font-size:11px;
  color:rgba(232,238,252,.65);
  white-space:nowrap;
}
.sales-op-timeline-row__units{
  font-size:11px;
  color:rgba(232,238,252,.55);
  white-space:nowrap;
}
.sales-op-timeline-row__actions{
  display:flex;
  gap:4px;
}
.sales-op-timeline-row__actions .btn{
  padding:4px 8px;
  font-size:11px;
  min-height:0;
}
.sales-op-empty{
  padding:14px;
  border-radius:12px;
  border:1px dashed rgba(255,255,255,.14);
  color:rgba(232,238,252,.62);
  font-size:13px;
}
.sales-op-summary-card,
.sales-op-calendar-card,
.sales-op-availability-card,
.sales-op-actions-card{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(420px 100px at 100% 0%, rgba(59,130,246,.08), transparent 55%),
    rgba(0,0,0,.18);
}
.sales-op-summary-card__title,
.sales-op-calendar-card__title{
  margin:0 0 10px;
  font-size:var(--mg-font-label);
  font-weight:800;
  letter-spacing:var(--mg-label-tracking);
  text-transform:uppercase;
  color:rgba(191,219,254,.9);
}
.sales-op-summary-kv{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  gap:6px 10px;
  font-size:var(--mg-font-body);
}
.sales-op-summary-kv dt{
  margin:0;
  color:rgba(232,238,252,.55);
}
.sales-op-summary-kv dd{
  margin:0;
  font-weight:650;
  color:rgba(248,250,252,.95);
  text-align:right;
}
.sales-op-summary-total{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:8px;
}
.sales-op-summary-total__label{font-size:var(--mg-font-body);color:rgba(232,238,252,.62);}
.sales-op-summary-total__value{
  font-size:var(--mg-font-value);
  font-weight:850;
  color:#fff;
  min-width:0;
  overflow-wrap:anywhere;
}
.sales-op-status-pill{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  text-transform:capitalize;
  background:rgba(245,158,11,.15);
  color:#fcd34d;
}
.sales-op-avail{
  font-size:12px;
  line-height:1.45;
  color:rgba(232,238,252,.78);
}
.sales-op-avail--ok{color:#86efac;}
.sales-op-avail--warn{color:#fcd34d;}
.sales-op-avail--unknown{color:rgba(232,238,252,.65);}
.sales-op-avail-kv{margin-top:4px;}
.sales-op-avail-table-wrap .sales-op-avail{
  padding:0;
  background:transparent;
  border:none;
}
.sales-op-avail-kv-wrap,
.sales-op-avail-entries-wrap{
  margin-top:6px;
}
.sales-op-availability-card .supervisor-table-wrap .table{
  min-width:0;
  width:100%;
}
.sales-op-avail-summary-table th,
.sales-op-avail-summary-table td{
  font-size:12px;
  line-height:1.45;
  vertical-align:top;
  padding:6px 8px;
}
.sales-op-avail-summary-table th{
  width:42%;
  font-weight:650;
  color:rgba(232,238,252,.72);
  white-space:normal;
}
.sales-op-avail-summary-table td{
  color:rgba(232,238,252,.92);
}
.sales-op-avail-entries-table{
  min-width:420px;
}
.sales-op-avail-lead--table{
  margin-top:10px;
  margin-bottom:4px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(191,219,254,.85);
}
.sales-op-avail-lead{margin:0 0 8px;font-size:12px;line-height:1.45;}
.sales-op-avail-note{
  margin:8px 0 0;
  font-size:11px;
  line-height:1.4;
  color:rgba(232,238,252,.62);
}
.sales-op-avail-delay{
  margin:6px 0 0;
  font-size:11px;
  line-height:1.4;
  color:#fcd34d;
}
.sales-op-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
}
.sales-op-cal-cell{
  min-height:72px;
  padding:6px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.2);
  font-size:10px;
  line-height:1.3;
}
.sales-op-cal-cell--empty{
  opacity:.35;
  min-height:48px;
}
.sales-op-cal-cell.sales-op-phase-tone--a{border-color:rgba(59,130,246,.35);background:rgba(59,130,246,.1);}
.sales-op-cal-cell.sales-op-phase-tone--b{border-color:rgba(139,92,246,.35);background:rgba(139,92,246,.1);}
.sales-op-cal-cell.sales-op-phase-tone--c{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.1);}
.sales-op-cal-cell.sales-op-phase-tone--d{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.1);}
.sales-op-cal-cell.sales-op-phase-tone--muted{opacity:.45;}
.sales-op-cal-cell__date{
  font-weight:800;
  color:rgba(191,219,254,.95);
  margin-bottom:2px;
}
.sales-op-cal-cell__daynum{
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(191,219,254,.75);
  margin-bottom:2px;
}
.sales-op-cal-notice{
  margin:0 0 8px;
  font-size:11px;
  line-height:1.45;
  color:rgba(232,238,252,.68);
  grid-column:1 / -1;
}
.sales-op-cal-notice--warn{
  color:#fcd34d;
}
.sales-op-cal-cell__task{
  color:rgba(248,250,252,.9);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.sales-op-cal-cell__crew{color:rgba(232,238,252,.55);margin-top:2px;}
.sales-op-cal-weekdays{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
  margin-bottom:4px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(232,238,252,.45);
  text-align:center;
}
.sales-op-actions-card{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.sales-op-actions-card .btn{width:100%;justify-content:center;}
.sales-op-day-modal .sales-operational-day{margin:0;border:none;background:transparent;padding:0;}
.sales-operational-days-host--legacy{display:none!important;}
@media (max-width:1080px){
  .sales-op-layout{grid-template-columns:1fr;}
  .sales-op-layout__right{position:static;}
}
@media (max-width:720px){
  .sales-op-timeline-row{
    grid-template-columns:2.8rem minmax(0,1fr);
    grid-template-rows:auto auto;
  }
  .sales-op-timeline-row__crew,
  .sales-op-timeline-row__units{grid-column:2;}
  .sales-op-timeline-row__actions{grid-column:1 / -1;justify-content:flex-end;}
  .sales-op-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sales-op-cal-weekdays{display:none;}
}

/* Sales — Labor (visual parity with /owner .owner-labor) */
.sales-labor{
  margin:0 0 4px;
}
.sales-labor__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.sales-labor__intro{
  flex:1;
  min-width:min(100%, 260px);
  max-width:68ch;
}
.sales-labor__eyebrow{
  border-color:rgba(34,197,94,.2);
  background:rgba(34,197,94,.07);
  color:rgba(187,247,208,.92);
}
.sales-labor__title{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.12;
  font-weight:850;
  letter-spacing:-.02em;
}
.sales-labor__lead{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:rgba(232,238,252,.78);
}
.sales-labor__actions{
  flex-shrink:0;
  align-self:center;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:11px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:0 10px 32px rgba(0,0,0,.2);
}
@media (max-width:720px){
  .sales-labor__actions{
    width:100%;
    justify-content:stretch;
  }
  .sales-labor__actions .btn{
    flex:1 1 140px;
    text-align:center;
  }
}
.sales-labor-guide{
  margin:0 0 14px;
  padding:14px 16px 15px;
  border-radius:18px;
  border:1px solid rgba(34,197,94,.2);
  background:
    radial-gradient(520px 120px at 0% 0%, rgba(34,197,94,.1), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(6,10,18,.38));
  box-shadow:0 10px 32px rgba(0,0,0,.2);
}
.sales-labor-guide__head{
  margin-bottom:8px;
}
.sales-labor-guide__kicker{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(187,247,208,.88);
}
.sales-labor-guide__text{
  margin:0 0 8px;
  font-size:13px;
  line-height:1.55;
  color:rgba(232,238,252,.78);
}
.sales-labor-guide__em{
  font-weight:750;
  color:rgba(232,238,252,.94);
}
.sales-labor-guide__meta{
  margin:0;
  font-size:12px;
  line-height:1.45;
  color:rgba(232,238,252,.62);
  font-family:var(--mono);
}

/* Sales — CTA bajo Labor (paridad con /owner .owner-quote-cta) */
.sales-quote-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:22px;
  margin-bottom:14px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(145deg, rgba(34,197,94,.07), rgba(59,130,246,.05) 50%, rgba(255,255,255,.02));
  box-shadow:0 12px 40px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.06);
}
.sales-quote-cta__btn--send.btn.primary{
  box-shadow:0 8px 26px rgba(34,197,94,.14);
}
.sales-quote-cta__btn--sold{
  border-color:rgba(59,130,246,.34);
  background:
    linear-gradient(180deg, rgba(59,130,246,.14), rgba(6,10,20,.45));
  color:rgba(232,238,252,.95);
  font-weight:680;
  letter-spacing:.01em;
}
.sales-signed-status{
  margin-top:12px;
}

/* Sales / Labor — scroll wide table inside panel; actions column never clipped */
.sales-labor-sync-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  font-size:13px;
  font-weight:650;
  color:rgba(232,238,252,.88);
  cursor:pointer;
}
.sales-labor-sync-toggle input{margin:0;}
.sales-labor-row--synced td{
  background:rgba(59,130,246,.06);
}
.sales-labor-row--synced input[readonly],
.sales-labor-row--synced select[disabled]{
  opacity:.92;
  cursor:default;
}
.sales-labor-table-wrap{
  margin-top:8px;
  max-width:100%;
  overflow-x:visible;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  padding:4px 24px 8px 4px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(165deg, rgba(255,255,255,.045), rgba(6,10,18,.42));
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,0.15) transparent;
}
.sales-labor-table-wrap::-webkit-scrollbar{
  height:6px;
}
.sales-labor-table-wrap::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.15);
  border-radius:999px;
}
.sales-labor-table-wrap .table.sales-labor-table{
  width:100%;
  min-width:0;
  margin:0;
  table-layout:fixed;
  overflow:visible;
  border:none;
  border-radius:14px;
  box-shadow:0 14px 44px rgba(0,0,0,.28);
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th{
  position:sticky;
  top:0;
  z-index:2;
  padding:13px 12px;
  font-size:11px;
  font-weight:780;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(232,238,252,.68);
  background:
    linear-gradient(180deg, rgba(16,24,40,.98), rgba(10,16,28,.94));
  border-bottom:1px solid rgba(34,197,94,.22);
  box-shadow:0 6px 18px rgba(0,0,0,.22);
  vertical-align:bottom;
  line-height:1.25;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--worker,
.sales-labor-table-wrap table.sales-labor-table tbody td.sales-labor-td--name{
  width:22%;
  box-sizing:border-box;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--worker{
  text-align:left;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--type,
.sales-labor-table-wrap table.sales-labor-table tbody td.sales-labor-td--type{
  width:14%;
  box-sizing:border-box;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--type{
  text-align:left;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--units,
.sales-labor-table-wrap table.sales-labor-table tbody td.sales-labor-td--units{
  width:12%;
  box-sizing:border-box;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--units{
  text-align:center;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--rate,
.sales-labor-table-wrap table.sales-labor-table tbody td.sales-labor-td--rate{
  width:16%;
  box-sizing:border-box;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--rate{
  text-align:right;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--labor,
.sales-labor-table-wrap table.sales-labor-table tbody td.sales-labor-td--labor{
  width:16%;
  box-sizing:border-box;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--labor{
  text-align:right;
}
.sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th--actions{
  width:20%;
  min-width:120px;
  max-width:none;
  text-align:center;
  letter-spacing:.08em;
  color:rgba(232,238,252,.58);
  box-sizing:border-box;
}
.sales-labor-table-wrap table.sales-labor-table tbody tr{
  transition:background .12s ease;
}
.sales-labor-table-wrap table.sales-labor-table tbody tr:hover{
  background:rgba(255,255,255,.04);
}
.sales-labor-table-wrap table.sales-labor-table tbody tr:nth-child(even){
  background:rgba(255,255,255,.02);
}
.sales-labor-table-wrap table.sales-labor-table tbody tr:nth-child(even):hover{
  background:rgba(255,255,255,.055);
}
.sales-labor-table-wrap table.sales-labor-table td.sales-labor-td{
  padding:13px 12px;
}
.sales-labor-table-wrap table.sales-labor-table td[data-cell="labor"]{
  font-family:var(--mono);
  font-weight:780;
  font-size:12px;
  font-variant-numeric:tabular-nums;
  letter-spacing:.03em;
  text-align:right;
  white-space:nowrap;
  color:rgba(232,238,252,.96);
  background:rgba(34,197,94,.06);
  border-left:1px solid rgba(34,197,94,.18);
}
.sales-labor-table-wrap table.sales-labor-table tbody td.sales-labor-td--name{
  text-align:left;
}
.sales-labor-table-wrap table.sales-labor-table tbody td.sales-labor-td--type{
  text-align:left;
}
.sales-labor-table-wrap table.sales-labor-table tbody td.sales-labor-td--units,
.sales-labor-table-wrap table.sales-labor-table tbody td.sales-labor-td--rate{
  text-align:right;
}
.sales-labor-table-wrap table.sales-labor-table td input,
.sales-labor-table-wrap table.sales-labor-table td select{
  min-height:0;
  padding:6px 8px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(6,10,20,.58);
  font-size:12px;
  font-weight:600;
  color:rgba(232,238,252,.96);
  caret-color:rgba(232,238,252,.96);
  color-scheme:dark;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.sales-labor-table-wrap table.sales-labor-table td input::placeholder{
  color:rgba(232,238,252,.42);
  font-weight:500;
}
.sales-labor-table-wrap table.sales-labor-table td select option{
  color:rgba(232,238,252,.96);
  background:#0c1424;
}
.sales-labor-table-wrap table.sales-labor-table td input:focus,
.sales-labor-table-wrap table.sales-labor-table td select:focus{
  border-color:rgba(34,197,94,.38);
  box-shadow:0 0 0 3px rgba(34,197,94,.12);
  outline:none;
}
.sales-labor-table-wrap table.sales-labor-table td input[data-key="name"]{
  font-size:12px;
  font-weight:650;
  letter-spacing:.015em;
  border-color:rgba(255,255,255,.14);
  background:rgba(8,14,28,.75);
}
.sales-labor-table-wrap table.sales-labor-table td select[data-key="type"]{
  font-weight:750;
  cursor:pointer;
  border-color:rgba(34,197,94,.28);
  background:
    linear-gradient(180deg, rgba(34,197,94,.11), rgba(6,10,20,.58));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.sales-labor-table-wrap table.sales-labor-table td select[data-key="type"]:focus{
  border-color:rgba(34,197,94,.45);
}
.sales-labor-table-wrap table.sales-labor-table td input[data-key="days"],
.sales-labor-table-wrap table.sales-labor-table td input[data-key="rate"]{
  font-family:var(--mono);
  font-weight:780;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  text-align:right;
  border-color:rgba(59,130,246,.22);
  background:rgba(59,130,246,.07);
}
.sales-labor-table-wrap table.sales-labor-table input,
.sales-labor-table-wrap table.sales-labor-table select{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.sales-labor-table-wrap table.sales-labor-table td{
  vertical-align:middle;
}
.sales-labor-table-wrap table.sales-labor-table td:not(.sales-labor-td-actions){
  overflow:hidden;
}
.sales-labor-table-wrap table.sales-labor-table td.sales-labor-td-actions{
  width:20%;
  min-width:120px;
  max-width:none;
  overflow:visible;
  text-align:center;
  vertical-align:middle;
  box-sizing:border-box;
}
.sales-labor-row-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:6px;
}
.sales-labor-row-actions .btn{
  width:100%;
  box-sizing:border-box;
  padding:6px 8px;
  font-size:12px;
  font-weight:750;
  border-radius:12px;
  min-height:0;
}
.sales-labor-row-actions .btn.ghost{
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
}
.sales-labor-row-actions .btn.ghost:hover{
  border-color:rgba(255,255,255,.26);
  background:rgba(255,255,255,.08);
}
.sales-labor-row-actions .btn.danger{
  border-color:rgba(239,68,68,.4);
  background:rgba(239,68,68,.12);
}
.sales-right-panel,
.sales-live-sidebar{
  max-width:none;
  width:100%;
  margin-left:0;
  min-width:0;
  align-self:start;
}
.grid.sales-layout .sales-right-panel,
.grid.sales-layout .sales-live-sidebar{
  position:sticky;
  top:96px;
  align-self:start;
}
.grid.sales-layout .sales-left-panel > .card,
.grid.sales-layout .sales-right-panel > .card{
  margin-top:0;
}
.grid.sales-layout .sales-right-panel .card-inner{
  padding:12px 12px 14px;
}
.grid.sales-layout .sales-right-panel .owner-quote-hero{
  padding:14px;
}
.grid.sales-layout .sales-right-panel .owner-quote-price{
  font-size:var(--mg-font-value-hero);
}
.grid.sales-layout .sales-right-panel .owner-mini-card{
  padding:10px;
}
.grid.sales-layout .sales-right-panel .owner-mini-card .big{
  font-size:var(--mg-font-value);
}
.grid.sales-layout .sales-right-panel .sales-kpi-grid .value{
  font-size:16px;
}
@media (max-width:1024px){
  .grid.sales-layout{
    grid-template-columns:1fr;
  }
  .grid.sales-layout > .sales-layout-hero .owner-hero-inner{
    grid-template-columns:1fr;
    gap:16px;
  }
  .grid.sales-layout .sales-right-panel,
  .grid.sales-layout .sales-live-sidebar{
    position:static;
    top:auto;
  }
}
@media (max-width: 980px){
  .grid:not(.sup-console-stack){ grid-template-columns:1fr; }
  .sales-left-panel{ padding-right:0; }
  .sales-right-panel,
  .sales-live-sidebar{
    max-width:none;
    margin-left:0;
    position:static;
    top:auto;
  }
}
@media (max-width: 1080px){
  .topbar-inner{ align-items:flex-start; flex-direction:column; }
  .brand{ min-width:0; }
  .topbar-actions{ width:100%; justify-content:flex-start; }
}
.card{
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid var(--stroke);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.card-inner{ padding:16px; }
.card h2{ margin:0 0 10px; font-size:var(--mg-font-card-title); line-height:var(--mg-line-height-title); }
.card h3{ margin:0 0 8px; font-size:var(--mg-font-section-title); line-height:var(--mg-line-height-title); }
.card .sub{ margin:-6px 0 12px; font-size:var(--mg-font-body); line-height:var(--mg-line-height-body); color:var(--muted); }
.form{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
@media (max-width: 740px){ .form{ grid-template-columns:1fr; } }
.field label{ display:block; font-size:var(--mg-font-body); line-height:var(--mg-line-height-body); color:var(--muted); margin:0 0 6px; }
.field input, .field select, .field textarea{
  width:100%;
  padding:11px 12px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(6,10,20,.65);
  color:var(--text);
  font-size:var(--mg-font-body);
  line-height:var(--mg-line-height-body);
  outline:none;
}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color: rgba(34,197,94,.38);
  box-shadow: 0 0 0 4px rgba(34,197,94,.10);
}
.hint{ margin-top:6px; font-size:11px; color:rgba(232,238,252,.55); display:flex; justify-content:flex-end; }
.sep{ height:1px; background: rgba(255,255,255,.06); margin:12px 0; }
.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius: 16px;
}
.table th, .table td{
  padding:10px 10px;
  font-size:var(--mg-font-body);
  line-height:var(--mg-line-height-body);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.table th{ text-align:left; color:rgba(232,238,252,.78); font-size:var(--mg-font-label); letter-spacing:var(--mg-label-tracking); text-transform:uppercase; }
.table tr:last-child td{ border-bottom:none; }
.table td input, .table td select{ padding:8px 10px; border-radius:12px; font-size:var(--mg-font-body); }
.row-actions{ display:flex; gap:8px; }
.row-actions.wrap{ flex-wrap:wrap; }
.kpi{ display:grid; gap:10px; }
.kpi-box{
  background: rgba(10,16,32,.55);
  border:1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding:14px 14px;
}
.kpi-box .label{
  font-size:var(--mg-font-label);
  letter-spacing:var(--mg-label-tracking);
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:6px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  line-height:var(--mg-line-height-tight);
}
.kpi-box .value{
  font-size:var(--mg-font-value);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:var(--mg-line-height-tight);
  min-width:0;
  overflow-wrap:anywhere;
}
.kpi-box .meta{ margin-top:6px; font-size:var(--mg-font-sm); line-height:var(--mg-line-height-body); color:rgba(232,238,252,.60); }
.badge{
  display:inline-flex; align-items:center; gap:6px;
  font-size:var(--mg-font-sm); font-weight:700;
  white-space:nowrap;
  padding:8px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
}
.badge.green{ border-color: rgba(34,197,94,.35); background: rgba(34,197,94,.10); }
.badge.amber{ border-color: rgba(245,158,11,.35); background: rgba(245,158,11,.10); }
.badge.blue{ border-color: rgba(59,130,246,.4); background: rgba(59,130,246,.12); }
.badge.red{ border-color: rgba(239,68,68,.35); background: rgba(239,68,68,.10); }
.modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; padding:18px; background: rgba(0,0,0,.55); z-index:9999; }

/* Owner — confirm New Quote (replaces window.confirm) */
.mg-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.6);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10000;
  padding:18px;
}
.mg-modal.hidden{
  display:none;
}
.mg-modal-card{
  background:#141413;
  border:1px solid rgba(15,118,110,0.22);
  border-radius:14px;
  padding:20px;
  width:320px;
  max-width:calc(100vw - 32px);
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.mg-modal-card h3{
  margin:0 0 8px;
  font-size:17px;
  font-weight:750;
  color:var(--text);
  letter-spacing:-.02em;
}
.mg-modal-card p{
  margin:0;
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
}
.mg-modal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  margin-top:18px;
}
.btn.secondary{
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:var(--text);
}
.btn.secondary:hover{
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.07);
}
.modal[aria-hidden="false"]{ display:flex; }
.modal-card{ width:min(860px, 96vw); max-height: 90vh; overflow:auto; background:#141413; border:1px solid rgba(255,255,255,.07); border-radius:16px; box-shadow: 0 20px 80px rgba(0,0,0,.45); }
.modal-header{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:16px 16px 10px; border-bottom:1px solid rgba(255,255,255,.06); }
.modal-title{ font-weight:850; font-size:var(--mg-font-hero-title); line-height:var(--mg-line-height-title); }
.modal-subtitle{ opacity:.8; font-size:var(--mg-font-body); line-height:var(--mg-line-height-body); margin-top:4px; }
.modal-body{ padding:14px 16px; display:flex; flex-direction:column; gap:12px; }
.modal-footer{ padding:12px 16px 16px; display:flex; justify-content:flex-end; gap:10px; border-top:1px solid rgba(255,255,255,.06); }
.icon-btn{ background: transparent; border:1px solid rgba(255,255,255,.14); color: #e5e7eb; border-radius:10px; padding:6px 10px; cursor:pointer; }
.notice{ padding:10px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.04); }
.notice.ok{ border-color: rgba(34,197,94,.35); background: rgba(34,197,94,.10); }
.notice.err{ border-color: rgba(239,68,68,.35); background: rgba(239,68,68,.10); }
.notice.warn{ border-color: rgba(245,158,11,.35); background: rgba(245,158,11,.10); }

/* /owner — Modal Enviar cotización (solo Owner; IDs y sendStatus intactos) */
body[data-role="owner"] .owner-send-modal.modal{
  backdrop-filter:saturate(115%) blur(11px);
  background:rgba(4,6,14,.74);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__card{
  width:min(820px, 96vw);
  background:
    radial-gradient(720px 280px at 100% 0%, rgba(34,197,94,.11), transparent 56%),
    radial-gradient(520px 220px at 0% 100%, rgba(59,130,246,.09), transparent 58%),
    linear-gradient(185deg, rgba(255,255,255,.055), rgba(8,12,22,.98));
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  box-shadow:
    0 28px 88px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.07);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__header{
  padding:18px 20px 16px;
  border-bottom:1px solid rgba(255,255,255,.09);
  align-items:flex-start;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__header-main{
  min-width:0;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__eyebrow{
  margin-bottom:10px;
  border-color:rgba(34,197,94,.24);
  background:rgba(34,197,94,.09);
  color:rgba(187,247,208,.92);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__title{
  font-size:22px;
  font-weight:850;
  letter-spacing:-.02em;
  line-height:1.15;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__subtitle{
  margin-top:8px;
  max-width:52ch;
  line-height:1.48;
  font-size:13px;
  color:rgba(232,238,252,.72);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__close{
  border-radius:12px;
  padding:8px 12px;
  font-size:18px;
  line-height:1;
  flex-shrink:0;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__close:hover{
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.06);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body{
  padding:8px 20px 10px;
  gap:0;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__section{
  padding:16px 0 18px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__section:last-of-type{
  border-bottom:none;
  padding-bottom:12px;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__section-head{
  margin-bottom:12px;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__section-kicker{
  display:block;
  font-size:11px;
  font-weight:780;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(232,238,252,.52);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__grid.form{
  gap:12px 14px;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__section--wide .field{
  margin-bottom:12px;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__section--wide .field:last-child{
  margin-bottom:0;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field input,
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field select,
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field textarea{
  border-radius:14px;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__footer{
  padding:16px 20px 20px;
  border-top:1px solid rgba(255,255,255,.1);
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  background:rgba(0,0,0,.14);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__btn-cancel{
  min-width:128px;
  font-weight:700;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__btn-send{
  min-width:148px;
  font-weight:820;
}

/* Modal Owner — grupo Destinatario: email + nombre (solo diseño) */
body[data-role="owner"] .owner-send-modal .owner-send-modal__grid--dest{
  grid-template-columns:1fr;
  gap:16px;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field-label{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  font-size:13px;
  font-weight:750;
  letter-spacing:.02em;
  color:rgba(232,238,252,.92);
  margin:0 0 8px;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field-label--muted{
  font-weight:680;
  color:rgba(232,238,252,.76);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__label-pill{
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid rgba(34,197,94,.38);
  background:rgba(34,197,94,.14);
  color:rgba(187,247,208,.95);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field-foot{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
  font-size:12px;
  color:rgba(232,238,252,.62);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field-tip{
  flex:1;
  min-width:12ch;
  line-height:1.45;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field .owner-send-modal__input--dest{
  width:100%;
  min-height:50px;
  padding:13px 14px;
  font-size:15px;
  font-weight:600;
  letter-spacing:.01em;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.13);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(6,10,20,.72));
  box-shadow:0 10px 32px rgba(0,0,0,.2);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field .owner-send-modal__input--dest::placeholder{
  color:rgba(232,238,252,.42);
  font-weight:500;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field .owner-send-modal__input--dest:hover{
  border-color:rgba(255,255,255,.2);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field .owner-send-modal__input--dest:focus{
  outline:none;
  border-color:rgba(34,197,94,.45);
  box-shadow:0 0 0 4px rgba(34,197,94,.14), 0 14px 40px rgba(0,0,0,.22);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--name .owner-send-modal__input--dest:focus{
  border-color:rgba(255,255,255,.32);
  box-shadow:0 0 0 4px rgba(255,255,255,.1), 0 14px 40px rgba(0,0,0,.2);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--email .owner-send-modal__input--dest{
  border-color:rgba(34,197,94,.26);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--email .owner-send-modal__input--dest:placeholder-shown{
  border-color:rgba(255,255,255,.11);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(6,10,20,.58));
  box-shadow:0 6px 22px rgba(0,0,0,.16);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--email:has(#toEmail:not(:placeholder-shown)) .owner-send-modal__input--dest{
  border-color:rgba(34,197,94,.34);
  background:
    linear-gradient(180deg, rgba(34,197,94,.09), rgba(6,10,20,.78));
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--name .owner-send-modal__input--dest:placeholder-shown{
  border-color:rgba(255,255,255,.1);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(6,10,20,.55));
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--name:has(#toName:not(:placeholder-shown)) .owner-send-modal__input--dest{
  border-color:rgba(255,255,255,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(6,10,20,.72));
}

/* Modal Owner — grupo iniciales / depósito / asunto */
body[data-role="owner"] .owner-send-modal .owner-send-modal__label-pill--money{
  border-color:rgba(245,158,11,.42);
  background:rgba(245,158,11,.15);
  color:rgba(254,229,200,.96);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__grid--meta{
  display:grid;
  grid-template-columns:minmax(104px, 148px) minmax(0, 1fr);
  gap:14px 16px;
  align-items:start;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--subject{
  grid-column:1 / -1;
}
@media (max-width: 520px){
  body[data-role="owner"] .owner-send-modal .owner-send-modal__grid--meta{
    grid-template-columns:1fr;
  }
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field-foot--solo{
  justify-content:flex-start;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field .owner-send-modal__input--initials{
  width:100%;
  max-width:124px;
  min-height:46px;
  padding:11px 10px;
  font-size:14px;
  font-family:var(--mono);
  letter-spacing:.12em;
  text-align:center;
  text-transform:uppercase;
  border-color:rgba(59,130,246,.22);
  background:
    linear-gradient(180deg, rgba(59,130,246,.08), rgba(6,10,20,.65));
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field.owner-send-modal__field--initials .owner-send-modal__input--initials:focus{
  border-color:rgba(59,130,246,.48);
  box-shadow:0 0 0 4px rgba(59,130,246,.14), 0 14px 40px rgba(0,0,0,.22);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--deposit .owner-send-modal__input--dest{
  border-color:rgba(245,158,11,.34);
  background:
    linear-gradient(180deg, rgba(245,158,11,.1), rgba(6,10,20,.72));
  font-variant-numeric:tabular-nums;
  text-align:right;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field.owner-send-modal__field--deposit .owner-send-modal__input--dest:focus{
  border-color:rgba(245,158,11,.55);
  box-shadow:0 0 0 4px rgba(245,158,11,.16), 0 14px 40px rgba(0,0,0,.22);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--deposit .owner-send-modal__input--dest:placeholder-shown{
  border-color:rgba(245,158,11,.22);
  background:
    linear-gradient(180deg, rgba(245,158,11,.06), rgba(6,10,20,.6));
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--subject .owner-send-modal__input--dest{
  border-color:rgba(34,197,94,.28);
  background:
    linear-gradient(180deg, rgba(34,197,94,.07), rgba(6,10,20,.74));
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field.owner-send-modal__field--subject .owner-send-modal__input--dest:focus{
  border-color:rgba(34,197,94,.48);
  box-shadow:0 0 0 4px rgba(34,197,94,.14), 0 14px 40px rgba(0,0,0,.22);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--subject .owner-send-modal__input--dest:placeholder-shown{
  border-color:rgba(255,255,255,.11);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(6,10,20,.58));
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--subject:has(#subject:not(:placeholder-shown)) .owner-send-modal__input--dest{
  border-color:rgba(34,197,94,.36);
  background:
    linear-gradient(180deg, rgba(34,197,94,.1), rgba(6,10,20,.78));
}

/* Modal Owner — Scope / Mensaje / estado de envío */
body[data-role="owner"] .owner-send-modal .owner-send-modal__label-pill--soft{
  border-color:rgba(59,130,246,.32);
  background:rgba(59,130,246,.12);
  color:rgba(186,210,255,.92);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__content-stack{
  display:flex;
  flex-direction:column;
  gap:18px;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field .owner-send-modal__textarea{
  width:100%;
  min-height:132px;
  padding:14px 15px;
  font-size:14px;
  line-height:1.52;
  font-weight:550;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(6,10,20,.72));
  box-shadow:0 10px 32px rgba(0,0,0,.2);
  resize:vertical;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--scope .owner-send-modal__textarea{
  border-color:rgba(59,130,246,.22);
  background:
    linear-gradient(180deg, rgba(59,130,246,.07), rgba(6,10,20,.7));
  min-height:128px;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__field--message .owner-send-modal__textarea{
  min-height:168px;
  border-color:rgba(34,197,94,.26);
  background:
    linear-gradient(180deg, rgba(34,197,94,.08), rgba(6,10,20,.74));
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field .owner-send-modal__textarea::placeholder{
  color:rgba(232,238,252,.4);
  font-weight:500;
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field.owner-send-modal__field--scope .owner-send-modal__textarea:focus{
  outline:none;
  border-color:rgba(59,130,246,.48);
  box-shadow:0 0 0 4px rgba(59,130,246,.12), 0 14px 44px rgba(0,0,0,.22);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__body .field.owner-send-modal__field--message .owner-send-modal__textarea:focus{
  outline:none;
  border-color:rgba(34,197,94,.48);
  box-shadow:0 0 0 4px rgba(34,197,94,.12), 0 14px 44px rgba(0,0,0,.22);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__section--compose .owner-send-modal__status{
  margin-top:16px;
  padding:13px 15px;
  border-radius:14px;
  font-size:13px;
  line-height:1.48;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__section--compose .owner-send-modal__status.notice.ok{
  border-color:rgba(34,197,94,.38);
  background:rgba(34,197,94,.12);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__section--compose .owner-send-modal__status.notice.err{
  border-color:rgba(239,68,68,.38);
  background:rgba(239,68,68,.12);
}
body[data-role="owner"] .owner-send-modal .owner-send-modal__section--compose .owner-send-modal__status.notice.warn{
  border-color:rgba(245,158,11,.38);
  background:rgba(245,158,11,.12);
}

/* Quote send — premium success / warning card (owner + sales modals) */
.mg-quote-send-card.mg-quote-send-card--success{
  border:1px solid rgba(16,185,129,.38);
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(16,185,129,.14), transparent 55%),
    linear-gradient(180deg, rgba(6,78,59,.35), rgba(9,15,28,.55));
  box-shadow:0 12px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
.mg-quote-send-card.mg-quote-send-card--warning{
  border:1px solid rgba(245,158,11,.42);
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(245,158,11,.12), transparent 55%),
    linear-gradient(180deg, rgba(120,53,15,.28), rgba(9,15,28,.55));
  box-shadow:0 12px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
}
.mg-quote-send-card.mg-quote-send-card--error{
  border:1px solid rgba(239,68,68,.4);
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(239,68,68,.12), transparent 58%),
    linear-gradient(180deg, rgba(127,29,29,.25), rgba(9,15,28,.55));
  box-shadow:0 12px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
}
.mg-quote-send-card__shell{
  padding:2px 0 0;
}
.mg-quote-send-card__row{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.mg-quote-send-card__mark{
  flex-shrink:0;
  width:40px;
  height:40px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mg-quote-send-card--success .mg-quote-send-card__mark{
  color:#6ee7b7;
  background:rgba(16,185,129,.18);
  border:1px solid rgba(52,211,153,.35);
}
.mg-quote-send-card--warning .mg-quote-send-card__mark{
  color:#fcd34d;
  background:rgba(245,158,11,.16);
  border:1px solid rgba(251,191,36,.32);
}
.mg-quote-send-card--error .mg-quote-send-card__mark{
  color:#fca5a5;
  background:rgba(239,68,68,.16);
  border:1px solid rgba(248,113,113,.32);
}
.mg-quote-send-card__glyph{
  display:block;
}
.mg-quote-send-card__body{
  flex:1;
  min-width:0;
}
.mg-quote-send-card__title{
  font-size:15px;
  font-weight:780;
  letter-spacing:-.01em;
  color:rgba(248,250,252,.96);
  margin:0 0 8px;
  line-height:1.3;
}
.mg-quote-send-card__hint{
  margin:0 0 6px;
  font-size:13px;
  line-height:1.5;
  color:rgba(226,232,240,.82);
}
.mg-quote-send-card__hint:last-of-type{
  margin-bottom:0;
}
.mg-quote-send-card__actions{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.mg-quote-send-card__cta{
  font-weight:700;
}

/* Sales (and global) — compact toast after successful quote send */
.mg-quote-send-toast{
  position:fixed;
  right:18px;
  bottom:22px;
  z-index:10050;
  max-width:min(380px,calc(100vw - 36px));
  padding:14px 16px 14px 18px;
  border-radius:14px;
  border:1px solid rgba(16,185,129,.4);
  background:
    linear-gradient(145deg, rgba(6,78,59,.92), rgba(9,15,28,.94));
  box-shadow:0 18px 48px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
  color:rgba(248,250,252,.96);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .28s ease, transform .28s ease;
  pointer-events:auto;
  cursor:default;
}
.mg-quote-send-toast--visible{
  opacity:1;
  transform:translateY(0);
}
.mg-quote-send-toast__title{
  font-size:14px;
  font-weight:780;
  letter-spacing:-.02em;
  margin:0 0 6px;
  line-height:1.35;
}
.mg-quote-send-toast__msg{
  font-size:13px;
  line-height:1.45;
  color:rgba(226,232,240,.9);
  margin:0 0 10px;
}
.mg-quote-send-toast__actions{
  margin-top:4px;
}
.mg-quote-send-toast__link{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  color:#6ee7b7;
  text-decoration:underline;
  text-underline-offset:2px;
}
.mg-quote-send-toast__link:hover{
  color:#a7f3d0;
}

.landing .hero{ padding:8px; }
.hero-inner{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:16px;
  align-items:start;
}
@media (max-width: 920px){ .hero-inner{ grid-template-columns:1fr; } }
.hero-copy{ font-size:14px; max-width:56ch; }
.hero-list{ margin:12px 0 0; padding-left:18px; color:var(--muted); }
.hero-list li{ margin-bottom:6px; }
.pricing-card{ background: rgba(9,15,28,.9); border:1px solid rgba(34,197,94,.25); }
.price{ font-size:18px; font-weight:700; margin:0 0 8px; }
.small-note{ font-size:11px; color:rgba(232,238,252,.65); margin:10px 0 0; }
.link-btn{ background:none; border:0; padding:0; color:inherit; text-decoration:underline; cursor:pointer; font:inherit; }
.account-pill{
  display:inline-block;
  margin-bottom:12px;
  font-size:12px;
  color:var(--muted);
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  padding:6px 10px;
}
.finance-box{
  position:relative;
  overflow:hidden;
}
.finance-box::after{
  content:"";
  position:absolute;
  inset:auto -20% -40% auto;
  width:140px;
  height:140px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(34,197,94,.10), transparent 68%);
  pointer-events:none;
}
.owner-hero{
  margin-bottom:14px;
  background:
    radial-gradient(600px 220px at 0% 0%, rgba(217,119,6,.12), transparent 55%),
    radial-gradient(540px 260px at 100% 0%, rgba(34,197,94,.12), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}
.owner-hero-inner{
  display:grid;
  grid-template-columns: 1.4fr .6fr;
  gap:16px;
  align-items:center;
}
.eyebrow{
  display:inline-block;
  margin-bottom:10px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-title{
  margin:0 0 10px;
  font-size:38px;
  line-height:1.02;
  letter-spacing:-.03em;
}
.hero-score{
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  padding:22px;
  background:rgba(9,15,28,.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.hero-score-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}
.hero-score-value{
  margin-top:8px;
  font-size:52px;
  font-weight:900;
  line-height:1;
}
.hero-score-meta{
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
}

/* /owner — bloque superior (misma jerarquia visual que Sales hero; solo Owner) */
body[data-role="owner"] .owner-upper{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:14px;
}
body[data-role="owner"] .owner-upper .owner-hero{
  margin-bottom:0;
}
body[data-role="owner"] .account-pill{
  align-self:flex-start;
  padding:8px 14px;
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 36px rgba(0,0,0,.28);
}
body[data-role="owner"] .owner-hero .card-inner{
  padding:22px 22px 24px;
}
body[data-role="owner"] .owner-hero-copy{
  max-width:58ch;
}
body[data-role="owner"] .owner-hero-copy .hero-title{
  margin-bottom:12px;
}
body[data-role="owner"] .owner-hero-lead{
  margin:0;
  line-height:1.55;
  font-size:13px;
  color:rgba(232,238,252,.78);
}
body[data-role="owner"] .owner-hero .hero-score{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(120% 85% at 100% 0%, rgba(34,197,94,.16), transparent 58%),
    rgba(9,15,28,.9);
  border-color:rgba(255,255,255,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 18px 50px rgba(0,0,0,.38);
}
body[data-role="owner"] .owner-hero .hero-score::after{
  content:"";
  position:absolute;
  inset:auto -28% -42% auto;
  width:200px;
  height:200px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(34,197,94,.11), transparent 68%);
  pointer-events:none;
}
body[data-role="owner"] .owner-hero .hero-score-label,
body[data-role="owner"] .owner-hero .hero-score-value,
body[data-role="owner"] .owner-hero .hero-score-meta{
  position:relative;
  z-index:1;
}
body[data-role="owner"] .topbar{
  border-bottom-color:rgba(255,255,255,.1);
  box-shadow:0 14px 44px rgba(0,0,0,.32);
}

/* Owner — workspace: form column + fixed-width Quote Snapshot (document flow, no overlay) */
body[data-role="owner"] .owner-workspace-grid{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:24px;
  /* default align-items: stretch so the side column is as tall as the quote; sticky snapshot can track page scroll */
}
body[data-role="owner"] .owner-workspace-main,
body[data-role="owner"] .owner-workspace-side{
  min-width:0;
}
body[data-role="owner"] .owner-workspace-side{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
/* Quote Snapshot: right column; sticky follows viewport under fixed topbar (~96px) */
body[data-role="owner"] .owner-workspace-side .owner-quote-snapshot{
  align-self:flex-start;
  width:100%;
  position:sticky;
  top:96px;
  height:fit-content;
  max-width:100%;
}
@media (max-width:980px){
  body[data-role="owner"] .owner-workspace-grid{
    grid-template-columns:1fr;
  }
  body[data-role="owner"] .owner-workspace-side .owner-quote-snapshot{
    position:static;
    top:auto;
    height:auto;
  }
}

/* /owner — Project Quote: campos con tratamiento destacado (estilos compartidos entre rondas) */
body[data-role="owner"] .form .owner-field-project-name,
body[data-role="owner"] .form .owner-field-client-gc,
body[data-role="owner"] .form .owner-field-client-email,
body[data-role="owner"] .form .owner-field-client-phone,
body[data-role="owner"] .form .owner-field-location,
body[data-role="owner"] .form .owner-field-biz-pdf,
body[data-role="owner"] .form .owner-field-quote-notes,
body[data-role="owner"] .owner-quote-pricing-source{
  margin:8px 0 0;
  color:rgba(232,238,252,.62);
  line-height:1.45;
  max-width:42rem;
}
body[data-role="owner"] .owner-date-group{
  margin-bottom:2px;
}
body[data-role="owner"] .owner-date-section__title{
  margin:0 0 12px;
}
body[data-role="owner"] .owner-date-group{
  display:grid;
  gap:12px;
}
body[data-role="owner"] .owner-date-group--primary{
  margin-bottom:12px;
}
@media (min-width:741px){
  body[data-role="owner"] .owner-date-group--primary{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (min-width:980px){
  body[data-role="owner"] .owner-date-group--primary{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}
body[data-role="owner"] .owner-field-project-name__label,
body[data-role="owner"] .owner-field-client-gc__label,
body[data-role="owner"] .owner-field-client-email__label,
body[data-role="owner"] .owner-field-client-phone__label,
body[data-role="owner"] .owner-field-issue-date__label,
body[data-role="owner"] .owner-field-expiration-date__label,
body[data-role="owner"] .owner-field-start-date__label,
body[data-role="owner"] .owner-field-target-finish__label,
body[data-role="owner"] .owner-field-committed-date__label,
body[data-role="owner"] .owner-field-location__label,
body[data-role="owner"] .owner-field-biz-pdf__label,
body[data-role="owner"] .owner-field-quote-notes__label{
  display:block;
  font-size:13px;
  font-weight:750;
  letter-spacing:.02em;
  color:rgba(232,238,252,.92);
  margin:0 0 8px;
}
body[data-role="owner"] .owner-input-project-name,
body[data-role="owner"] .owner-input-client-gc,
body[data-role="owner"] .owner-input-client-email,
body[data-role="owner"] .owner-input-client-phone,
body[data-role="owner"] .owner-input-issue-date,
body[data-role="owner"] .owner-input-expiration-date,
body[data-role="owner"] .owner-input-start-date,
body[data-role="owner"] .owner-input-target-finish,
body[data-role="owner"] .owner-input-committed-date,
body[data-role="owner"] .owner-input-location,
body[data-role="owner"] .owner-input-biz-pdf,
body[data-role="owner"] .owner-input-quote-notes{
  min-height:52px;
  padding:14px 16px;
  font-size:16px;
  font-weight:600;
  letter-spacing:.01em;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(6,10,20,.72));
  box-shadow:0 10px 36px rgba(0,0,0,.22);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body[data-role="owner"] .owner-input-project-name::placeholder,
body[data-role="owner"] .owner-input-client-gc::placeholder,
body[data-role="owner"] .owner-input-client-email::placeholder,
body[data-role="owner"] .owner-input-client-phone::placeholder,
body[data-role="owner"] .owner-input-location::placeholder,
body[data-role="owner"] .owner-input-biz-pdf::placeholder,
body[data-role="owner"] .owner-input-quote-notes::placeholder{
  color:rgba(232,238,252,.42);
  font-weight:500;
}
body[data-role="owner"] .owner-input-project-name:hover,
body[data-role="owner"] .owner-input-client-gc:hover,
body[data-role="owner"] .owner-input-client-email:hover,
body[data-role="owner"] .owner-input-client-phone:hover,
body[data-role="owner"] .owner-input-issue-date:hover,
body[data-role="owner"] .owner-input-expiration-date:hover,
body[data-role="owner"] .owner-input-committed-date:hover,
body[data-role="owner"] .owner-input-location:hover,
body[data-role="owner"] .owner-input-biz-pdf:hover,
body[data-role="owner"] .owner-input-quote-notes:hover{
  border-color:rgba(255,255,255,.2);
}
body[data-role="owner"] .owner-input-project-name:focus,
body[data-role="owner"] .owner-input-client-gc:focus,
body[data-role="owner"] .owner-input-client-email:focus,
body[data-role="owner"] .owner-input-client-phone:focus,
body[data-role="owner"] .owner-input-issue-date:focus,
body[data-role="owner"] .owner-input-expiration-date:focus,
body[data-role="owner"] .owner-input-committed-date:focus,
body[data-role="owner"] .owner-input-location:focus,
body[data-role="owner"] .owner-input-biz-pdf:focus,
body[data-role="owner"] .owner-input-quote-notes:focus{
  border-color:rgba(34,197,94,.45);
  box-shadow:0 0 0 4px rgba(34,197,94,.12), 0 14px 44px rgba(0,0,0,.28);
}
body[data-role="owner"] .owner-input-project-name:placeholder-shown,
body[data-role="owner"] .owner-input-client-gc:placeholder-shown,
body[data-role="owner"] .owner-input-client-email:placeholder-shown,
body[data-role="owner"] .owner-input-client-phone:placeholder-shown,
body[data-role="owner"] .owner-input-location:placeholder-shown,
body[data-role="owner"] .owner-input-biz-pdf:placeholder-shown,
body[data-role="owner"] .owner-input-quote-notes:placeholder-shown{
  border-color:rgba(255,255,255,.1);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(6,10,20,.55));
  box-shadow:0 6px 24px rgba(0,0,0,.18);
}
body[data-role="owner"] .owner-field-project-name:has(.owner-input-project-name:not(:placeholder-shown)) .owner-input-project-name,
body[data-role="owner"] .owner-field-client-gc:has(.owner-input-client-gc:not(:placeholder-shown)) .owner-input-client-gc,
body[data-role="owner"] .owner-field-client-email:has(.owner-input-client-email:not(:placeholder-shown)) .owner-input-client-email,
body[data-role="owner"] .owner-field-client-phone:has(.owner-input-client-phone:not(:placeholder-shown)) .owner-input-client-phone,
body[data-role="owner"] .owner-field-location:has(.owner-input-location:not(:placeholder-shown)) .owner-input-location,
body[data-role="owner"] .owner-field-biz-pdf:has(.owner-input-biz-pdf:not(:placeholder-shown)) .owner-input-biz-pdf,
body[data-role="owner"] .owner-field-quote-notes:has(.owner-input-quote-notes:not(:placeholder-shown)) .owner-input-quote-notes{
  border-color:rgba(34,197,94,.22);
  background:
    linear-gradient(180deg, rgba(34,197,94,.07), rgba(6,10,20,.78));
}
body[data-role="owner"] .owner-field-project-name__foot,
body[data-role="owner"] .owner-field-client-gc__foot,
body[data-role="owner"] .owner-field-client-email__foot,
body[data-role="owner"] .owner-field-client-phone__foot,
body[data-role="owner"] .owner-field-location__foot,
body[data-role="owner"] .owner-field-biz-pdf__foot,
body[data-role="owner"] .owner-field-quote-notes__foot{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
  font-size:12px;
  color:rgba(232,238,252,.62);
}
body[data-role="owner"] .owner-field-project-name__tip,
body[data-role="owner"] .owner-field-client-gc__tip,
body[data-role="owner"] .owner-field-client-email__tip,
body[data-role="owner"] .owner-field-client-phone__tip,
body[data-role="owner"] .owner-field-location__tip,
body[data-role="owner"] .owner-field-biz-pdf__tip,
body[data-role="owner"] .owner-field-quote-notes__tip{
  flex:1;
  min-width:12ch;
  line-height:1.45;
}
body[data-role="owner"] .owner-field-biz-pdf__tip-kick{
  display:inline-block;
  font-size:11px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(34,197,94,.95);
}
body[data-role="owner"] .owner-field-biz-pdf__tip-sep{
  font-weight:600;
  color:rgba(232,238,252,.45);
}
body[data-role="owner"] .owner-char-pill{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:5px 10px;
  border-radius:999px;
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:rgba(232,238,252,.88);
}
body[data-role="owner"] .owner-char-pill__max{
  opacity:.55;
  font-weight:600;
}
body[data-role="owner"] .owner-input-quote-notes{
  min-height:120px;
  resize:vertical;
  line-height:1.45;
}

/* /owner — Notas (mini encabezado + textarea premium) */
body[data-role="owner"] .owner-notes{
  margin:4px 0 2px;
}
body[data-role="owner"] .owner-notes__head{
  margin-bottom:14px;
}
body[data-role="owner"] .owner-notes__eyebrow{
  border-color:rgba(15,118,110,.22);
  background:rgba(15,118,110,.08);
  color:rgba(204,251,241,.92);
  letter-spacing:.1em;
}
body[data-role="owner"] .owner-notes__title{
  margin:0 0 8px;
  font-size:22px;
  line-height:1.12;
  font-weight:850;
  letter-spacing:-.02em;
}
body[data-role="owner"] .owner-notes__lead{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:rgba(232,238,252,.78);
}

/* /owner — New Quote (secondary; Send stays primary in .owner-quote-cta) */
body[data-role="owner"] .owner-quote-header{
  display:flex;
  justify-content:flex-end;
  margin-bottom:14px;
}
body[data-role="owner"] .owner-quote-header__new{
  padding:8px 14px;
  font-size:13px;
  font-weight:600;
  border-radius:8px;
  cursor:pointer;
  background:rgba(59, 130, 246, 0.15);
  color:#60a5fa;
  border:1px solid #3b82f6;
  transition:all 0.2s ease;
}
body[data-role="owner"] .owner-quote-header__new:hover{
  background:rgba(59, 130, 246, 0.25);
  color:#93c5fd;
}

/* /owner — CTA enviar / PDF (una instancia; mismo patrón que acciones labor) */
body[data-role="owner"] .owner-quote-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:22px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(145deg, rgba(34,197,94,.07), rgba(59,130,246,.05) 50%, rgba(255,255,255,.02));
  box-shadow:0 12px 40px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.06);
}
body[data-role="owner"] .owner-quote-cta__btn--send.btn.primary{
  box-shadow:0 8px 26px rgba(34,197,94,.14);
}
body[data-role="owner"] .owner-quote-cta__btn--pdf{
  border-color:rgba(59,130,246,.34);
  background:
    linear-gradient(180deg, rgba(59,130,246,.14), rgba(6,10,20,.45));
  color:rgba(232,238,252,.95);
  font-weight:680;
  letter-spacing:.01em;
}
body[data-role="owner"] .sales-op-actions-card .owner-quote-cta__btn--send.btn.primary{
  box-shadow:0 8px 26px rgba(34,197,94,.14);
}

/* /owner — bloque Business Rules (referencia; edición en Business Settings) */
body[data-role="owner"] .owner-biz-rules{
  margin:18px 0 4px;
}
body[data-role="owner"] .owner-invoices-hub-cta + .owner-biz-rules{
  margin-top:20px;
}
body[data-role="owner"] .owner-biz-rules__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
body[data-role="owner"] .owner-biz-rules__intro{
  flex:1;
  min-width:min(100%, 260px);
  max-width:68ch;
}
body[data-role="owner"] .owner-biz-rules__eyebrow{
  border-color:rgba(59,130,246,.22);
  background:rgba(59,130,246,.08);
  color:rgba(186,210,255,.88);
  letter-spacing:.1em;
}
body[data-role="owner"] .owner-biz-rules__title{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.12;
  font-weight:850;
  letter-spacing:-.02em;
}
body[data-role="owner"] .owner-biz-rules__lead{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:rgba(232,238,252,.78);
}
body[data-role="owner"] .owner-biz-rules__lead .owner-biz-rules__strong{
  font-weight:750;
  color:rgba(232,238,252,.96);
}
body[data-role="owner"] .owner-biz-rules__note .owner-biz-rules__strong{
  font-weight:750;
  color:rgba(232,238,252,.96);
}
body[data-role="owner"] .owner-biz-rules__cta{
  flex-shrink:0;
  align-self:center;
  padding:11px 16px;
  border-radius:14px;
  font-weight:750;
}
@media (max-width: 720px){
  body[data-role="owner"] .owner-biz-rules__cta{
    width:100%;
    text-align:center;
  }
}
body[data-role="owner"] .owner-biz-rules__note{
  margin-top:0;
  padding:16px 16px 17px 20px;
  border-radius:20px;
  border:1px solid rgba(59,130,246,.2);
  background:
    radial-gradient(680px 140px at 0% 0%, rgba(59,130,246,.12), transparent 58%),
    radial-gradient(520px 200px at 100% 100%, rgba(34,197,94,.08), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  position:relative;
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.22);
}
body[data-role="owner"] .owner-biz-rules__note::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(180deg, rgba(59,130,246,.85), rgba(34,197,94,.55));
  opacity:.9;
  pointer-events:none;
}
body[data-role="owner"] .owner-biz-rules__note-title{
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(186,210,255,.92);
  margin-bottom:8px;
}
body[data-role="owner"] .owner-biz-rules__note-copy{
  font-size:13px;
  line-height:1.55;
  color:rgba(232,238,252,.9);
}

/* /owner — Mano de obra: encabezado y acciones (tabla sin cambios estructurales) */
body[data-role="owner"] .owner-labor__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
body[data-role="owner"] .owner-labor__intro{
  flex:1;
  min-width:min(100%, 260px);
  max-width:68ch;
}
body[data-role="owner"] .owner-labor__eyebrow{
  border-color:rgba(34,197,94,.2);
  background:rgba(34,197,94,.07);
  color:rgba(187,247,208,.92);
}
body[data-role="owner"] .owner-labor__title{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.12;
  font-weight:850;
  letter-spacing:-.02em;
}
body[data-role="owner"] .owner-labor__lead{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:rgba(232,238,252,.78);
}
body[data-role="owner"] .owner-labor__actions{
  flex-shrink:0;
  align-self:center;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:11px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:0 10px 32px rgba(0,0,0,.2);
}
@media (max-width: 720px){
  body[data-role="owner"] .owner-labor__actions{
    width:100%;
    justify-content:stretch;
  }
  body[data-role="owner"] .owner-labor__actions .btn{
    flex:1 1 140px;
    text-align:center;
  }
}
body[data-role="owner"] .owner-labor-guide{
  margin:0 0 14px;
  padding:14px 16px 15px;
  border-radius:18px;
  border:1px solid rgba(34,197,94,.2);
  background:
    radial-gradient(520px 120px at 0% 0%, rgba(34,197,94,.1), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(6,10,18,.38));
  box-shadow:0 10px 32px rgba(0,0,0,.2);
}
body[data-role="owner"] .owner-labor-guide__head{
  margin-bottom:8px;
}
body[data-role="owner"] .owner-labor-guide__kicker{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(187,247,208,.88);
}
body[data-role="owner"] .owner-labor-guide__text{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:rgba(232,238,252,.78);
}
body[data-role="owner"] .owner-labor-guide__meta{
  margin:8px 0 0;
  font-size:13px;
  opacity:.88;
}
body[data-role="owner"] .owner-labor-row--synced td{
  opacity:.92;
}
.sales-op-capacity-tentative{
  display:inline-block;
  margin-top:4px;
  font-size:11px;
  line-height:1.4;
  color:#fcd34d;
}
body[data-role="owner"] .owner-labor-guide__em{
  font-weight:750;
  color:rgba(232,238,252,.94);
}
body[data-role="owner"] .owner-labor-table-wrap{
  margin-top:4px;
  padding:5px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(165deg, rgba(255,255,255,.045), rgba(6,10,18,.42));
  overflow-x:visible;
}
body[data-role="owner"] table.owner-labor-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
  border:none;
  box-shadow:0 14px 44px rgba(0,0,0,.28);
}
body[data-role="owner"] table.owner-labor-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  padding:13px 12px;
  font-size:11px;
  font-weight:780;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(232,238,252,.68);
  background:
    linear-gradient(180deg, rgba(16,24,40,.98), rgba(10,16,28,.94));
  border-bottom:1px solid rgba(34,197,94,.22);
  box-shadow:0 6px 18px rgba(0,0,0,.22);
  vertical-align:bottom;
  line-height:1.25;
}
body[data-role="owner"] table.owner-labor-table thead th.owner-labor-th--worker{
  width:26%;
  min-width:0;
  text-align:left;
}
body[data-role="owner"] table.owner-labor-table thead th.owner-labor-th--type{
  width:13%;
  min-width:0;
  text-align:left;
}
body[data-role="owner"] table.owner-labor-table thead th.owner-labor-th--units{
  width:11%;
  min-width:0;
  text-align:center;
}
body[data-role="owner"] table.owner-labor-table thead th.owner-labor-th--rate{
  width:17%;
  min-width:0;
  text-align:right;
}
body[data-role="owner"] table.owner-labor-table thead th.owner-labor-th--labor{
  width:17%;
  min-width:0;
  text-align:right;
}
body[data-role="owner"] table.owner-labor-table thead th.owner-labor-th--actions{
  width:16%;
  min-width:0;
  text-align:center;
  letter-spacing:.08em;
  color:rgba(232,238,252,.58);
}
body[data-role="owner"] table.owner-labor-table tbody tr{
  transition:background .12s ease;
}
body[data-role="owner"] table.owner-labor-table tbody tr:hover{
  background:rgba(255,255,255,.04);
}
body[data-role="owner"] table.owner-labor-table tbody tr:nth-child(even){
  background:rgba(255,255,255,.02);
}
body[data-role="owner"] table.owner-labor-table tbody tr:nth-child(even):hover{
  background:rgba(255,255,255,.055);
}
body[data-role="owner"] table.owner-labor-table td{
  min-width:0;
  padding:13px 10px;
  vertical-align:middle;
}
body[data-role="owner"] table.owner-labor-table td[data-cell="labor"]{
  font-family:var(--mono);
  font-weight:780;
  font-size:14px;
  font-variant-numeric:tabular-nums;
  letter-spacing:.03em;
  text-align:right;
  white-space:nowrap;
  color:rgba(232,238,252,.96);
  background:rgba(34,197,94,.06);
  border-left:1px solid rgba(34,197,94,.18);
}
body[data-role="owner"] table.owner-labor-table td input,
body[data-role="owner"] table.owner-labor-table td select{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(6,10,20,.58);
  font-size:13px;
  font-weight:600;
  color:rgba(232,238,252,.96);
  caret-color:rgba(232,238,252,.96);
  color-scheme:dark;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
body[data-role="owner"] table.owner-labor-table td input::placeholder{
  color:rgba(232,238,252,.42);
  font-weight:500;
}
body[data-role="owner"] table.owner-labor-table td select option{
  color:rgba(232,238,252,.96);
  background:#0c1424;
}
body[data-role="owner"] table.owner-labor-table td input:focus,
body[data-role="owner"] table.owner-labor-table td select:focus{
  border-color:rgba(34,197,94,.38);
  box-shadow:0 0 0 3px rgba(34,197,94,.12);
  outline:none;
}
body[data-role="owner"] table.owner-labor-table td input[readonly]{
  background:rgba(255,255,255,.04);
  color:rgba(232,238,252,.78);
  border-style:dashed;
  border-color:rgba(255,255,255,.12);
  cursor:default;
}
/* Filas worker: alineación con thead; inputs vía data-key (render JS, sin cambiar lógica) */
body[data-role="owner"] table.owner-labor-table tbody td:nth-child(1){
  text-align:left;
}
body[data-role="owner"] table.owner-labor-table tbody td:nth-child(2){
  text-align:left;
}
body[data-role="owner"] table.owner-labor-table tbody td:nth-child(3),
body[data-role="owner"] table.owner-labor-table tbody td:nth-child(4){
  text-align:right;
}
body[data-role="owner"] table.owner-labor-table tbody td:nth-child(6){
  text-align:center;
}
body[data-role="owner"] table.owner-labor-table input[data-key="name"]{
  min-width:0;
  font-size:14px;
  font-weight:650;
  letter-spacing:.015em;
  border-color:rgba(255,255,255,.14);
  background:rgba(8,14,28,.75);
}
body[data-role="owner"] table.owner-labor-table select[data-key="type"]{
  font-weight:750;
  cursor:pointer;
  border-color:rgba(34,197,94,.28);
  background:
    linear-gradient(180deg, rgba(34,197,94,.11), rgba(6,10,20,.58));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body[data-role="owner"] table.owner-labor-table select[data-key="type"]:focus{
  border-color:rgba(34,197,94,.45);
}
body[data-role="owner"] table.owner-labor-table input[data-key="hours"]{
  font-family:var(--mono);
  font-weight:780;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  text-align:right;
  border-color:rgba(59,130,246,.22);
  background:rgba(59,130,246,.07);
}
body[data-role="owner"] table.owner-labor-table input[data-key="rate"][readonly]{
  font-family:var(--mono);
  font-weight:700;
  font-variant-numeric:tabular-nums;
  text-align:right;
  border-style:solid;
  border-color:rgba(15,118,110,.28);
  background:rgba(15,118,110,.08);
  color:rgba(242,239,232,.88);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
body[data-role="owner"] table.owner-labor-table .row-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
}
body[data-role="owner"] table.owner-labor-table .row-actions .btn{
  padding:8px 8px;
  font-size:11px;
  font-weight:750;
  border-radius:12px;
  min-height:36px;
  flex:0 1 auto;
  min-width:0;
}
body[data-role="owner"] table.owner-labor-table .row-actions .btn.ghost{
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
}
body[data-role="owner"] table.owner-labor-table .row-actions .btn.ghost:hover{
  border-color:rgba(255,255,255,.26);
  background:rgba(255,255,255,.08);
}
body[data-role="owner"] table.owner-labor-table .row-actions .btn.danger{
  border-color:rgba(239,68,68,.4);
  background:rgba(239,68,68,.12);
}

/* /owner — Quote Snapshot (solo Owner; .owner-quote-hero también existe en Sales/Supervisor) */
body[data-role="owner"] .owner-quote-snapshot{
  border:1px solid rgba(34,197,94,.16);
  background:
    radial-gradient(640px 240px at 100% 0%, rgba(34,197,94,.12), transparent 55%),
    radial-gradient(480px 200px at 0% 45%, rgba(59,130,246,.09), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
  box-shadow:
    0 18px 52px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.07);
}
body[data-role="owner"] .owner-quote-snapshot .owner-quote-snapshot__inner{
  padding:18px 18px 16px;
}
body[data-role="owner"] .owner-quote-snapshot__head{
  margin-bottom:14px;
}
body[data-role="owner"] .owner-quote-snapshot__eyebrow{
  border-color:rgba(34,197,94,.22);
  background:rgba(34,197,94,.08);
  color:rgba(187,247,208,.92);
  margin-bottom:10px;
}
body[data-role="owner"] .owner-quote-snapshot__title{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.15;
  font-weight:850;
  letter-spacing:-.02em;
}
body[data-role="owner"] .owner-quote-snapshot__lead{
  margin:0;
  font-size:13px;
  line-height:1.52;
  color:rgba(232,238,252,.78);
}
body[data-role="owner"] .owner-quote-snapshot__surface{
  padding:6px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.09);
  background:
    linear-gradient(180deg, rgba(8,12,24,.52), rgba(4,8,16,.34));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body[data-role="owner"] .owner-quote-snapshot__kpis.kpi{
  gap:12px;
}
body[data-role="owner"] .owner-quote-snapshot .owner-kpi-shell{
  gap:14px;
}
body[data-role="owner"] .owner-quote-snapshot .owner-quote-hero{
  padding:20px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(34,197,94,.14), transparent 62%),
    radial-gradient(320px 200px at 0% 100%, rgba(59,130,246,.1), transparent 60%),
    rgba(11,18,32,.9);
  box-shadow:0 12px 40px rgba(0,0,0,.24);
}
body[data-role="owner"] .owner-quote-snapshot .owner-quote-kicker{
  letter-spacing:.14em;
  color:rgba(232,238,252,.65);
}
body[data-role="owner"] .owner-quote-snapshot .owner-quote-price{
  font-size:var(--mg-font-value-hero);
}
body[data-role="owner"] .owner-quote-snapshot .owner-quote-strip{
  gap:10px;
}
body[data-role="owner"] .owner-quote-snapshot .owner-mini-card{
  padding:13px;
  border-radius:14px;
  border-color:rgba(255,255,255,.1);
  background:rgba(0,0,0,.14);
}
body[data-role="owner"] .owner-quote-snapshot .owner-detail-grid .kpi-box{
  border-radius:14px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(10,16,32,.48);
}
body[data-role="owner"] .owner-quote-snapshot .owner-detail-grid .kpi-box .value{
  font-size:17px;
}
body[data-role="owner"] .owner-quote-snapshot__sep{
  margin:14px 0 12px;
}
body[data-role="owner"] .owner-quote-snapshot__status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:11px 13px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
}
body[data-role="owner"] .owner-quote-snapshot__status-label{
  font-size:11px;
  font-weight:780;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(232,238,252,.58);
}
body[data-role="owner"] .owner-quote-snapshot__status #statusBadge{
  flex-shrink:0;
  padding:9px 13px;
  font-size:12px;
  font-weight:780;
}

/* /owner — CTA hacia Invoices Hub (sustituye UI de invoice en Owner) */
body[data-role="owner"] .owner-invoices-hub-cta{
  margin-top:14px;
  border:1px solid rgba(15,118,110,.2);
  background:
    radial-gradient(520px 200px at 100% 0%, rgba(15,118,110,.12), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:0 16px 48px rgba(8,6,4,.28);
}
body[data-role="owner"] .owner-invoices-hub-cta__inner{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  max-width:62ch;
}
body[data-role="owner"] .owner-invoices-hub-cta__eyebrow{
  border-color:rgba(15,118,110,.28);
  background:rgba(15,118,110,.09);
  color:rgba(204,251,241,.92);
}
body[data-role="owner"] .owner-invoices-hub-cta__title{
  margin:0;
  font-size:20px;
  line-height:1.15;
  font-weight:850;
  letter-spacing:-.02em;
}
body[data-role="owner"] .owner-invoices-hub-cta__copy{
  margin:0;
  font-size:13px;
  line-height:1.52;
  color:rgba(232,238,252,.78);
}
body[data-role="owner"] .owner-invoices-hub-cta__strong{
  font-weight:750;
  color:rgba(232,238,252,.95);
}
body[data-role="owner"] .owner-invoices-hub-cta__btn{
  margin-top:4px;
  align-self:flex-start;
  padding:12px 18px;
  font-weight:780;
}

.owner-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:14px;
}
.section-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
}
.section-head h2{ margin:0 0 6px; }
.section-action-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:16px;
  margin-bottom:12px;
}
.section-action-row__main{
  min-width:0;
}
.section-action-row__main .sup-section-title,
.section-action-row__main h2,
.section-action-row__main h3{
  margin:0 0 4px;
}
.section-action-row__main .sub,
.section-action-row__main .sup-section-desc{
  margin:0;
}
.section-action-row__actions{
  display:flex;
  flex-shrink:0;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.section-action-row--compact{
  margin-bottom:8px;
}
.section-action-row--hero{
  margin-bottom:0;
}
.sup-section-title--lg{
  font-size:1.2rem;
}
.sup-section-desc{
  color:var(--muted, #888);
  line-height:1.4;
}
.dashboard-strip{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin-bottom:14px;
}
.strip-card{
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
}
.strip-card[data-hub-playbook]{
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}
.strip-card[data-hub-playbook]:hover{
  transform:translateY(-1px);
  border-color:rgba(59,130,246,.35);
  background:rgba(59,130,246,.08);
}
.strip-card .title{
  font-size:var(--mg-font-label);
  letter-spacing:var(--mg-label-tracking);
  text-transform:uppercase;
  color:var(--muted);
  line-height:var(--mg-line-height-tight);
}
.strip-card .big{
  margin-top:6px;
  font-size:var(--mg-font-value-lg);
  font-weight:850;
  line-height:var(--mg-line-height-tight);
  min-width:0;
  overflow-wrap:anywhere;
}
.strip-card .small{
  margin-top:6px;
  font-size:var(--mg-font-body);
  line-height:var(--mg-line-height-body);
  color:rgba(232,238,252,.62);
}
.dashboard-main-kpis{
  grid-template-columns:1fr 1fr;
}
.finance-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.finance-form-wide{
  grid-column:1 / -1;
}
.dashboard-note{
  margin-top:14px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.dashboard-note-title{
  font-size:12px;
  color:var(--muted);
  margin-bottom:6px;
}
.dashboard-note-copy{
  font-size:13px;
  color:rgba(232,238,252,.86);
}
.owner-side-card{
  position:sticky;
  top:96px;
}
.owner-kpi-shell{
  display:grid;
  gap:12px;
}
.owner-quote-hero{
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(34,197,94,.12), transparent 60%),
    radial-gradient(320px 180px at 0% 100%, rgba(59,130,246,.12), transparent 60%),
    rgba(11,18,32,.86);
}
.owner-quote-kicker{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.owner-quote-price{
  margin-top:8px;
  font-size:var(--mg-font-value-hero);
  font-weight:900;
  line-height:var(--mg-line-height-tight);
  color:#4ade80;
  text-shadow: 0 0 18px rgba(34,197,94,.28), 0 0 36px rgba(34,197,94,.16);
  letter-spacing:-.02em;
  min-width:0;
  overflow-wrap:anywhere;
}
.owner-quote-meta{
  margin-top:8px;
  font-size:13px;
  color:rgba(232,238,252,.82);
}
.owner-quote-strip{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:10px;
  margin-top:14px;
}
.owner-mini-card{
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.owner-mini-card .title{
  font-size:var(--mg-font-label);
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:var(--mg-label-tracking);
}
.owner-mini-card .big{
  margin-top:6px;
  font-size:var(--mg-font-value-lg);
  font-weight:800;
  line-height:var(--mg-line-height-tight);
  min-width:0;
  overflow-wrap:anywhere;
}
.owner-mini-card .small{
  margin-top:5px;
  font-size:var(--mg-font-body);
  line-height:var(--mg-line-height-body);
  color:rgba(232,238,252,.65);
}
.owner-detail-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.owner-detail-grid .kpi-box{
  padding:12px 13px;
}
.owner-detail-grid .kpi-box .value{
  font-size:var(--mg-font-value);
}
@media (max-width: 980px){
  .owner-hero-inner, .owner-grid{ grid-template-columns:1fr; }
  .owner-side-card{ position:static; top:auto; }
}
@media (max-width: 740px){
  .dashboard-strip, .dashboard-main-kpis, .finance-form{ grid-template-columns:1fr; }
  .owner-quote-strip, .owner-detail-grid{ grid-template-columns:1fr; }
  .hero-title{ font-size:30px; }
  .hero-score-value{ font-size:42px; }
}

.sales-progress{
  width:100%;
  height:14px;
}
.sales-progress::-webkit-progress-bar{
  background:rgba(255,255,255,.09);
  border-radius:999px;
}
.sales-progress::-webkit-progress-value{
  background:linear-gradient(90deg, #ef4444 0%, #f59e0b 55%, #22c55e 100%);
  border-radius:999px;
}
.sales-stage-range{
  width:100%;
  appearance:none;
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(239,68,68,.95) 0%, rgba(245,158,11,.95) 50%, rgba(34,197,94,.95) 100%);
  outline:none;
}
.sales-stage-range::-webkit-slider-thumb{
  appearance:none;
  width:22px;
  height:22px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.9);
  background:#0b0b0a;
  box-shadow:0 0 0 4px rgba(255,255,255,.08);
  cursor:pointer;
}
.sales-stage-range::-moz-range-thumb{
  width:22px;
  height:22px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.9);
  background:#0b0b0a;
  box-shadow:0 0 0 4px rgba(255,255,255,.08);
  cursor:pointer;
}
.sales-stage-labels{
  margin-top:8px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:8px;
  font-size:12px;
  color:var(--muted);
}
.sales-stage-labels span:nth-child(2){
  text-align:center;
}
.sales-stage-labels span:nth-child(3){
  text-align:right;
}

/* Sales / Vendedor quote workspace — Owner-style section cards (layout only) */
.sales-quote-header{
  display:flex;
  justify-content:flex-end;
  margin-bottom:16px;
}
.sales-quote-header button{
  background:rgba(59, 130, 246, 0.15);
  color:#60a5fa;
  border:1px solid #3b82f6;
  padding:8px 14px;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:all 0.2s ease;
}
.sales-quote-header button:hover{
  background:rgba(59, 130, 246, 0.25);
  color:#93c5fd;
}
.sales-quote-header button::before{
  margin-right:6px;
}
.sales-quote-section{
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  padding:14px 14px 16px;
  margin-bottom:14px;
  background:rgba(255,255,255,.02);
}
.sales-quote-section-title{
  margin:0 0 12px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}
.sales-quote-dates-row{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
.sales-quote-dates-row input[readonly],
.sales-quote-dates-row input[disabled]{
  opacity:.88;
  cursor:not-allowed;
  background:rgba(255,255,255,.04);
}
@media (max-width: 980px){
  .sales-quote-dates-row{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 740px){
  .sales-quote-dates-row{
    grid-template-columns:1fr;
  }
}
.sales-quote-notes-col{
  grid-template-columns:1fr;
}
.sales-email-field .sales-cc-toggle{
  margin-top:8px;
  padding:6px 10px;
  font-size:12px;
  font-weight:650;
}
.sales-cc-wrap{
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed rgba(255,255,255,.12);
}
.sales-cc-wrap label{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin:0 0 6px;
}
.sales-system-price{
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.sales-system-price__label{
  display:block;
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}
.sales-system-price__value{
  display:block;
  margin-top:4px;
  font-size:20px;
  font-weight:800;
  line-height:1.2;
}
.sales-system-price__hint{
  margin:6px 0 0;
  font-size:11px;
  color:rgba(232,238,252,.68);
  line-height:1.35;
}
.msg-list{
  list-style:none;
  margin:8px 0 0;
  padding:0;
  display:grid;
  gap:8px;
}
.msg-list li{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  border-radius:12px;
  padding:10px;
  font-size:13px;
  color:var(--muted);
  display:flex;
  gap:8px;
  align-items:flex-start;
}
.msg-list li[data-project-id],
.msg-list li[data-hub-customer],
.msg-list li[data-dashboard-customer],
.msg-list li[data-dashboard-project]{
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}
.msg-list li[data-project-id]:hover,
.msg-list li[data-hub-customer]:hover,
.msg-list li[data-dashboard-customer]:hover,
.msg-list li[data-dashboard-project]:hover{
  transform:translateY(-1px);
  border-color:rgba(59,130,246,.35);
  background:rgba(59,130,246,.08);
}
.msg-idx{
  min-width:20px;
  height:20px;
  border-radius:999px;
  border:1px solid rgba(34,197,94,.4);
  background:rgba(34,197,94,.14);
  color:#d1fae5;
  font-size:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.sales-kpi-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  align-items:stretch;
}

.sales-kpi-grid .kpi-box{
  min-height:132px;
}

.sales-kpi-grid .value{
  font-size:18px;
}

.sales-msg-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.sales-msg-grid li{
  min-height:74px;
}

@media (max-width: 980px){
  .sales-kpi-grid,
  .sales-msg-grid{
    grid-template-columns:1fr;
  }
}

.supervisor-kpi-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  align-items:stretch;
}

.supervisor-kpi-grid .kpi-box{
  min-height:132px;
}

.supervisor-kpi-grid .value{
  font-size:var(--mg-font-value);
}

.supervisor-summary-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.supervisor-summary-card{
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}

.supervisor-summary-card .title{
  font-size:var(--mg-font-label);
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:var(--mg-label-tracking);
  line-height:var(--mg-line-height-tight);
}

.supervisor-summary-card .big{
  margin-top:6px;
  font-size:var(--mg-font-value-lg);
  font-weight:800;
  line-height:var(--mg-line-height-tight);
  min-width:0;
  overflow-wrap:anywhere;
}

.supervisor-summary-card .small{
  margin-top:5px;
  font-size:var(--mg-font-body);
  line-height:var(--mg-line-height-body);
  color:rgba(232,238,252,.65);
}

.supervisor-table-wrap{
  overflow-x:auto;
}

.supervisor-table-wrap .table{
  min-width:760px;
}

#supervisorKpis{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

#supervisorKpis .kpi-box{
  min-height:128px;
}

#supervisorKpis .value{
  font-size:var(--mg-font-value);
  min-width:0;
  overflow-wrap:anywhere;
}

#supEntriesBody td,
#supExtrasBody td{
  vertical-align:top;
}

#supEntriesBody .btn,
#supExtrasBody .btn{
  white-space:nowrap;
}

@media (max-width: 980px){
  .supervisor-kpi-grid,
  .supervisor-summary-grid,
  #supervisorKpis{
    grid-template-columns:1fr;
  }
}

/* Supervisor — wide field command board */
body.supervisor-page .container.supervisor-console{
  max-width:min(1680px, 100%);
  width:100%;
  padding-left:12px;
  padding-right:12px;
}
.supervisor-console .account-pill{
  margin-bottom:8px;
}
.supervisor-top-workflow{
  margin-top:0;
}
.supervisor-top-workflow__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(420px, 620px);
  gap:16px;
  align-items:stretch;
  padding:12px 14px;
}
.supervisor-top-workflow__copy,
.supervisor-top-workflow__picker{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
  min-width:0;
}
.supervisor-top-workflow__copy{
  padding:2px 0;
}
.supervisor-top-workflow__picker{
  padding:2px 0;
}
.supervisor-top-workflow__picker .sup-project-picker--header{
  height:100%;
  justify-content:center;
}
.supervisor-top-workflow__title{
  margin:0 0 4px;
  font-size:14px;
  font-weight:800;
  line-height:1.35;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.supervisor-top-workflow__title .eyebrow{
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:11px;
  color:rgba(232,238,252,.88);
}
.supervisor-top-workflow__sep{
  color:var(--muted);
  font-weight:600;
}
.supervisor-top-workflow__pill{
  font-size:11px;
  font-weight:700;
  color:rgba(34,197,94,.95);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.supervisor-top-workflow__helper{
  margin:0;
  font-size:13px;
  color:var(--muted);
  line-height:1.4;
  max-width:40rem;
}
.supervisor-top-workflow__picker{
  min-width:0;
}
.supervisor-command-grid{
  display:grid;
  grid-template-columns:minmax(0, 2fr) minmax(320px, 1fr);
  gap:14px;
  align-items:stretch;
  width:100%;
}
.supervisor-command-grid:empty{
  display:none;
}
.supervisor-command-card,
.supervisor-today-card{
  margin-top:0;
  min-width:0;
}
.supervisor-today-card .card-inner{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.supervisor-calendar-panel{
  width:100%;
  min-width:0;
}
.supervisor-calendar-panel .card-inner,
.sup-console-exec-card__inner{
  padding:12px 14px;
}
.sup-live-ops-compat{
  display:none !important;
  height:0;
  overflow:hidden;
  margin:0;
  padding:0;
  border:0;
}
.sup-cal-header-bar{
  display:grid;
  grid-template-columns:minmax(200px, 1fr) minmax(0, 2fr) auto;
  gap:12px 16px;
  align-items:center;
  width:100%;
  margin-bottom:10px;
}
.sup-cal-header-bar__left{
  min-width:0;
}
.sup-cal-header-bar__left .sup-section-title{
  margin:0 0 4px;
}
.sup-cal-header-bar__left .sup-section-desc{
  margin:0;
}
.sup-cal-header-bar__mid{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
  justify-content:center;
}
.sup-cal-header-summary{
  margin:0;
  font-size:12px;
  line-height:1.45;
  color:rgba(232,238,252,.82);
  font-weight:500;
}
.sup-cal-header__error{
  margin:0;
  font-size:12px;
  color:#f87171;
}
.sup-cal-header-bar__right{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.sup-cal-header-bar__expenses-btn{
  white-space:nowrap;
}
.sup-console-exec-card__inner .sup-section-title{
  margin-bottom:4px;
}
.sup-diary-day{
  min-height:152px;
}
.sup-console-intro__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px 20px;
}
.sup-console-intro__main{
  flex:1 1 300px;
  min-width:0;
}
.sup-console-intro__title{
  margin:8px 0 6px;
  font-size:1.35rem;
}
.sup-console-intro__lead{
  margin:0;
  max-width:42rem;
}
.sup-console-intro__controls{
  flex:1 1 320px;
  min-width:min(100%, 280px);
  max-width:440px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.sup-console-intro__pill{
  margin:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(232,238,252,.88);
}
.sup-command-card__inner,
.sup-live-ops-compact__inner{
  padding:14px 16px;
}
.sup-project-picker{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sup-project-picker--header{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
}
.sup-project-picker__label{
  font-size:12px;
  font-weight:700;
  color:rgba(232,238,252,.9);
}
.sup-project-picker__row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.sup-project-picker__select{
  flex:1 1 180px;
  min-width:0;
  width:100%;
}
.sup-project-picker__assign{
  flex:0 0 auto;
  white-space:nowrap;
}
.sup-project-picker__feedback:empty{
  display:none;
}
.sup-project-picker__meta{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.sup-owner-assign{
  margin-bottom:16px;
}
.sup-owner-assign__inner{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.sup-owner-assign__title{
  margin:0;
  font-size:1.05rem;
}
.sup-owner-assign__hint{
  margin:0;
  color:var(--muted);
  line-height:1.4;
}
.sup-owner-assign__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
}
.sup-owner-assign__field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.sup-owner-assign__label{
  font-size:12px;
  font-weight:700;
  color:rgba(232,238,252,.9);
}
.sup-owner-assign__select{
  width:100%;
  min-width:0;
}
.sup-owner-assign__actions{
  display:flex;
  align-items:center;
}
.sup-owner-assign__feedback:empty{
  display:none;
}
.sup-owner-assign__feedback.is-ok{
  color:#86efac;
}
.sup-owner-assign__feedback.is-err{
  color:#fca5a5;
}
.sup-owner-assign__feedback.is-warn{
  color:#fcd34d;
}
@media (max-width: 900px){
  .sup-owner-assign__grid{
    grid-template-columns:1fr;
  }
}
.sup-command-card{
  margin-top:0;
}
.sup-command-card__inner{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.sup-command-card__top{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px 12px;
}
.sup-command-card__head{
  flex:1 1 240px;
  min-width:0;
}
.sup-command-card__status{
  flex:0 0 auto;
  align-self:flex-start;
}
.sup-command-card__summary{
  margin:6px 0 0;
  font-size:1rem;
  font-weight:700;
  color:rgba(232,238,252,.92);
  line-height:1.35;
}
.sup-command-card__meta-grid{
  margin-top:0;
}
.sup-command-card__hint{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
.sup-exec-hero{
  padding:0;
  margin-top:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.sup-exec-hero__hint{
  display:block;
  margin-top:4px;
  font-size:11px;
  font-weight:500;
  color:var(--muted);
  line-height:1.3;
}
.sup-exec-hero .section-action-row--hero{
  align-items:center;
}
.project-status-actions{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:nowrap;
}
.project-status-actions .btn{
  width:auto;
  min-width:0;
  max-width:240px;
  flex:0 0 auto;
  min-height:40px;
  padding:8px 14px;
  font-weight:700;
  font-size:13px;
  white-space:nowrap;
}
.project-status-actions .sup-exec-hero__status{
  flex:0 0 auto;
}
.sup-exec-hero__title{
  margin:0;
  font-size:1.35rem;
  font-weight:800;
  line-height:1.2;
}
.sup-exec-hero__chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.sup-exec-chip{
  font-size:12px;
  font-weight:700;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:rgba(232,238,252,.9);
}
.sup-exec-hero__status{
  font-size:11px;
  letter-spacing:.06em;
  white-space:nowrap;
}
.sup-exec-hero__status-line{
  margin:10px 0 0;
  font-size:1rem;
  font-weight:700;
}
.sup-exec-progress{
  margin-top:0;
}
.sup-exec-progress__track{
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
.sup-exec-progress__fill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #22c55e, #4ade80);
  transition:width .25s ease;
}
.sup-exec-progress__label{
  display:block;
  margin-top:6px;
  font-size:12px;
  color:var(--muted);
}
.sup-exec-hero__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin-top:0;
}
.sup-exec-hero__cell{
  padding:10px 12px;
  border-radius:12px;
  background:rgba(0,0,0,.15);
}
.sup-exec-hero__cell--wide{
  grid-column:auto;
}
.sup-exec-hero__label{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.sup-exec-hero__cell strong{
  display:block;
  margin-top:4px;
  font-size:15px;
}
.sup-section-title{
  margin:0 0 10px;
  font-size:1.05rem;
  font-weight:800;
}
.sup-today-target{
  margin-top:0;
  padding:0;
  border-radius:0;
  border:0;
  background:transparent;
}
.sup-today-target-card .card-inner{
  padding:16px 18px;
}
.sup-today-target__eyebrow{
  margin:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.sup-today-target__headline{
  margin:6px 0 0;
  font-size:1.15rem;
  font-weight:800;
  line-height:1.3;
}
.sup-today-target__crew{
  margin:8px 0 0;
  font-size:14px;
  color:rgba(232,238,252,.88);
}
.sup-today-target__action{
  margin:8px 0 0;
  font-size:13px;
  color:var(--muted);
  line-height:1.4;
}
.sup-today-target__phase{
  margin:0;
  font-size:1rem;
  font-weight:700;
  line-height:1.4;
}
.sup-exec-plan-cards{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.sup-diary-calendar-host,
.sup-exec-calendar-host{
  width:100%;
}
.sup-exec-calendar-section{
  width:100%;
}
.sup-exec-calendar-section .section-action-row{
  margin-bottom:8px;
}
.sup-cal-chrome{
  margin:0 0 12px;
}
.sup-cal-legend{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  align-items:center;
}
.sup-cal-legend__item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  color:var(--muted);
}
.sup-cal-legend__dot{
  width:8px;
  height:8px;
  border-radius:999px;
  display:inline-block;
}
.sup-cal-legend__dot--completed{ background:#22c55e; }
.sup-cal-legend__dot--in_progress{ background:#3b82f6; }
.sup-cal-legend__dot--pending{ background:rgba(255,255,255,.25); }
.sup-cal-legend__dot--behind{ background:#ef4444; }
.sup-cal-migrated-banner{
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(245,158,11,.25);
  background:rgba(245,158,11,.06);
}
.sup-cal-migrated-banner__line{
  margin:8px 0 0;
  font-size:13px;
  line-height:1.45;
}
.sup-cal-empty{
  margin:0;
  padding:16px;
  border-radius:12px;
  border:1px dashed rgba(255,255,255,.12);
  text-align:center;
  color:var(--muted);
}
.sup-cal-warn{
  margin-bottom:10px;
  text-align:left;
  color:#fcd34d;
  border-color:rgba(252,211,77,.35);
}
.sup-exec-calendar-grid,
.sup-diary-calendar-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:12px;
  width:100%;
}
@media (min-width:1400px){
  .sup-exec-calendar-grid,
  .sup-diary-calendar-grid{
    grid-template-columns:repeat(6, minmax(0, 1fr));
  }
}
@media (max-width:900px){
  .sup-exec-calendar-grid,
  .sup-diary-calendar-grid{
    grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  }
}
@media (max-width:640px){
  .sup-exec-calendar-grid,
  .sup-diary-calendar-grid{
    grid-template-columns:1fr;
  }
}
.sup-diary-day{
  display:flex;
  flex-direction:column;
  min-height:168px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(165deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  overflow:hidden;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.sup-diary-day--completed{
  border-color:rgba(15,138,95,.4);
  box-shadow:inset 0 0 0 1px rgba(15,138,95,.12);
}
.sup-diary-day--in_progress{
  border-color:rgba(59,130,246,.5);
  box-shadow:0 0 0 1px rgba(59,130,246,.18);
}
.sup-diary-day--behind{
  border-color:rgba(220,38,38,.35);
}
.sup-diary-day--pending{
  border-color:rgba(255,255,255,.08);
}
.sup-diary-day__open{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:left;
  padding:12px 12px 8px;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
}
.sup-diary-day__open:hover{
  background:rgba(15,138,95,.05);
}
.sup-diary-day__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
}
.sup-diary-day__label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.sup-diary-day__badge-wrap{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.sup-diary-day__check{
  color:#22c55e;
  font-size:12px;
  font-weight:800;
  line-height:1;
}
.sup-diary-day__badge{
  font-size:10px;
  letter-spacing:.04em;
}
.sup-diary-day__date{
  margin:0 0 6px;
  font-size:12px;
  color:var(--muted);
}
.sup-diary-day__phase{
  margin:0 0 6px;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
}
.sup-diary-day__crew{
  margin:0 0 8px;
  font-size:12px;
  line-height:1.4;
  color:var(--muted);
}
.sup-diary-day__stats{
  margin:0;
  font-size:12px;
  font-weight:600;
  color:rgba(232,238,252,.78);
  line-height:1.35;
}
.sup-diary-day--completed .sup-diary-day__stats{
  color:rgba(134,239,172,.95);
}
.sup-diary-day__chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:auto;
}
.sup-diary-chip{
  font-size:10px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:var(--muted);
}
.sup-diary-day__actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:8px 10px 10px;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.12);
}
.sup-diary-day__actions .btn.small{
  padding:5px 8px;
  font-size:11px;
  line-height:1.2;
  flex:1 1 auto;
  min-width:0;
}
.sup-exec-day-card{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.sup-exec-day-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.sup-exec-day-card__date{
  margin:4px 0 0;
  color:var(--muted);
}
.sup-exec-day-card__crew-inline{
  margin:0;
  font-size:14px;
  line-height:1.45;
}
.sup-day-detail__card{
  max-width:620px;
}
.sup-day-detail__meta{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.sup-day-detail__phase{
  margin:0 0 12px;
  font-size:1.05rem;
  font-weight:700;
}
.sup-day-detail__label{
  margin:0 0 6px;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.sup-day-detail__block{
  margin-bottom:12px;
}
.sup-day-detail__tasks,
.sup-day-detail__list{
  margin:0;
  padding-left:18px;
}
.sup-day-detail__notes{
  margin:0;
  line-height:1.5;
}
.sup-day-detail__actions{
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:8px;
}
.sup-exec-day-card__day{
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  color:var(--muted);
}
.sup-exec-day-card__phase{
  margin:6px 0 8px;
  font-size:15px;
  font-weight:700;
}
.sup-exec-day-card__crew-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:4px;
}
.sup-exec-day-card__crew{
  margin:0;
  padding-left:18px;
  font-size:14px;
  line-height:1.5;
}
.sup-migration-badge{
  color:var(--muted,#9ca3af);
}
.sup-migrated-plan{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.sup-migrated-plan__label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:4px;
}
.sup-migrated-plan__value{
  margin:0 0 12px;
  font-size:15px;
  line-height:1.45;
}
.sup-migrated-exec{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.sup-migrated-exec__head{
  padding-bottom:4px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.sup-migrated-exec__badge{
  margin-bottom:8px;
}
.sup-migrated-exec__lead{
  margin:0;
  color:var(--muted,#9ca3af);
  line-height:1.45;
}
.sup-migrated-exec__section{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.sup-migrated-exec__title{
  margin:0 0 10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted,#9ca3af);
}
.sup-migrated-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  padding:6px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.sup-migrated-row:last-child{
  border-bottom:none;
}
.sup-migrated-row__label{
  font-size:13px;
  color:var(--muted,#9ca3af);
}
.sup-migrated-row__value{
  font-size:14px;
  text-align:right;
}
.sup-migrated-exec__focus{
  margin:0 0 6px;
  font-size:16px;
  font-weight:700;
  line-height:1.4;
}
.sup-migrated-exec__focus-meta{
  margin:0;
  color:var(--muted,#9ca3af);
}
.sup-migrated-exec__status-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.sup-migrated-stat{
  padding:10px 12px;
  border-radius:10px;
  background:rgba(0,0,0,.15);
}
.sup-migrated-stat--wide{
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sup-migrated-stat__label{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted,#9ca3af);
  margin-bottom:4px;
}
.sup-migrated-stat__value{
  font-size:15px;
  font-weight:700;
}
.sup-snapshot-group{
  margin:14px 0 8px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--muted);
}
.sup-snapshot-grid{
  margin-bottom:4px;
}
.sup-side-strip{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:10px;
}
.sup-side-strip__item{
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.sup-side-strip__label{
  display:block;
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.sup-side-strip__item strong{
  display:block;
  margin-top:6px;
  font-size:22px;
  font-weight:800;
}
@media (max-width: 740px){
  .sup-exec-hero__grid,
  .sup-side-strip{
    grid-template-columns:1fr;
  }
}

/* Supervisor — full-width operations console (width: global auth rule; layout below) */
.sup-console-intro{
  margin-bottom:0;
}
.sup-console-stack{
  display:flex;
  flex-direction:column;
  gap:12px;
  width:100%;
  min-width:0;
}
.sup-console-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
  width:100%;
}
.sup-console-main .card{
  margin-top:0 !important;
}
.sup-console-exec-card{
  min-width:0;
  width:100%;
}
.sup-console-live-card{
  position:static;
  top:auto;
  width:100%;
}
.sup-console-live-card .card-inner{
  padding:16px 18px;
}
.sup-console-live-wide .sep{
  margin:12px 0;
}
.sup-live-ops-overview{
  display:grid;
  grid-template-columns:minmax(240px, 1fr) minmax(0, 2.2fr);
  gap:14px;
  margin-top:12px;
  align-items:stretch;
}
.sup-live-ops-overview--compact{
  grid-template-columns:1fr;
  gap:10px;
  margin-top:10px;
  margin-bottom:10px;
}
.sup-live-ops-quick{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-items:center;
}
.sup-live-ops-quick__item{
  font-size:13px;
  color:var(--muted);
}
.sup-live-ops-quick__item strong{
  color:var(--text, #fff);
  font-weight:700;
}
.sup-live-ops-quick__label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-right:4px;
}
.sup-live-ops-metrics{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:8px 10px;
  width:100%;
}
.sup-live-metric{
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  min-width:0;
}
.sup-live-metric--wide{
  grid-column:span 2;
}
.sup-live-metric__label{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
  margin-bottom:2px;
}
.sup-live-metric__value{
  display:block;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
}
.sup-live-metric__hint{
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-top:2px;
}
.sup-live-ops-error{
  margin:0 0 8px;
  padding:8px 10px;
  border-radius:8px;
  font-size:12px;
  color:#fecaca;
  background:rgba(220,38,38,.08);
  border:1px solid rgba(220,38,38,.2);
}
.sup-live-ops-loading{
  display:none !important;
}
.sup-toast-host{
  position:fixed;
  top:72px;
  right:16px;
  z-index:12000;
  pointer-events:none;
  max-width:min(360px, calc(100vw - 32px));
}
.sup-toast{
  padding:12px 16px;
  border-radius:10px;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:auto;
}
.sup-toast--visible{
  opacity:1;
  transform:translateY(0);
}
.sup-toast--success{
  background:rgba(15,138,95,.95);
  border:1px solid rgba(34,197,94,.5);
  color:#ecfdf5;
}
.sup-toast--error{
  background:rgba(127,29,29,.95);
  border:1px solid rgba(239,68,68,.45);
  color:#fecaca;
}
.sup-diary-day__actions .btn.is-saving,
.sup-diary-day__actions .btn:disabled[data-sup-done="1"]{
  opacity:.85;
}
.sup-console-live-compact .card-inner{
  padding:14px 16px;
}
.sup-today-target-card{
  margin-top:0;
}
.sup-today-target-card .card-inner{
  padding:12px 16px;
}
.sup-live-ops-compact .card-inner{
  padding:14px 16px;
}
.sup-live-ops-compact__title{
  margin:0 0 8px;
  font-size:1rem;
}
.sup-section-title--sm{
  font-size:1rem;
  margin:0 0 8px;
}
.sup-live-ops-compact__link{
  margin-top:8px;
  min-height:32px;
  padding:4px 10px;
  font-size:12px;
}
.sup-live-ops-legacy{
  display:none !important;
}
.sup-live-ops-metrics--detail{
  display:none !important;
}
.sup-live-ops-strip{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  align-items:center;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  font-size:13px;
  color:var(--muted);
  margin:0;
}
.sup-live-ops-strip__item strong{
  color:var(--text, #fff);
  font-weight:700;
}
.sup-live-ops-strip__btn{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
  text-align:left;
}
.sup-live-ops-strip__btn:hover #supCompactExpenses,
.sup-live-ops-strip__btn:focus-visible #supCompactExpenses{
  text-decoration:underline;
  color:var(--text, #fff);
}
.sup-live-ops-actions{
  display:none !important;
}
.sup-console-exec-card .card-inner{
  padding:14px 16px;
}
.sup-exec-plan-section .section-action-row{
  margin-bottom:8px;
}
@media (max-width:960px){
  .supervisor-top-workflow__inner{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .supervisor-command-grid{
    grid-template-columns:1fr;
  }
  .sup-cal-header-bar{
    grid-template-columns:1fr;
    align-items:start;
  }
  .sup-cal-header-bar__right{
    width:100%;
    justify-content:flex-start;
  }
  .sup-cal-header-bar__expenses-btn{
    width:100%;
  }
}
@media (max-width:640px){
  .supervisor-top-workflow__inner{
    gap:12px;
  }
  .supervisor-top-workflow__picker{
    max-width:none;
  }
  .sup-project-picker__row{
    flex-direction:column;
    align-items:stretch;
  }
  .sup-project-picker__assign{
    width:100%;
  }
  .sup-exec-hero__grid,
  .sup-command-card__meta-grid{
    grid-template-columns:1fr;
  }
}
.sup-live-metric--clickable{
  cursor:pointer;
}
.sup-live-metric--clickable:hover{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.05);
}
.sup-expense-summary-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(130px, 1fr));
  gap:8px;
  margin-bottom:14px;
}
.sup-expense-summary-card{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
}
.sup-expense-summary-card__label{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
  margin-bottom:4px;
}
.sup-expense-summary-card strong{
  display:block;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
  word-break:break-word;
}
.sup-expense-summary-empty{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:10px;
  border:1px dashed rgba(255,255,255,.12);
  color:var(--muted);
  font-size:13px;
}
.sup-expense-summary-loading{
  margin:0 0 10px;
  font-size:13px;
  color:var(--muted);
}
.sup-expense-summary-error{
  margin:0 0 10px;
  padding:8px 10px;
  border-radius:8px;
  font-size:12px;
  color:#fecaca;
  background:rgba(220,38,38,.08);
  border:1px solid rgba(220,38,38,.2);
}
.sup-expense-summary-table-wrap{
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
}
.sup-expense-summary-modal,
.expense-summary-modal{
  align-items:center;
  justify-content:center;
  padding:16px;
}
.sup-expense-summary-modal .modal-card,
.sup-expense-summary-modal .sup-expense-summary-modal__card,
.expense-summary-modal .modal-card{
  width:min(80vw, 1200px);
  max-width:1200px;
  max-height:80vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.sup-expense-summary-modal .modal-header,
.sup-expense-summary-modal .modal-footer{
  flex-shrink:0;
}
.sup-expense-summary-modal .modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}
.sup-expense-summary-table{
  width:100%;
  min-width:720px;
  table-layout:auto;
  font-size:14px;
}
.sup-expense-summary-table th,
.sup-expense-summary-table td{
  padding:10px 12px;
  vertical-align:top;
}
.sup-expense-summary-table th:nth-child(1),
.sup-expense-summary-table td:nth-child(1){
  white-space:nowrap;
  width:108px;
}
.sup-expense-summary-table th:nth-child(3),
.sup-expense-summary-table td:nth-child(3){
  text-align:right;
  white-space:nowrap;
  width:112px;
  font-variant-numeric:tabular-nums;
}
.sup-expense-summary-table th:nth-child(5),
.sup-expense-summary-table td:nth-child(5){
  text-align:center;
  white-space:nowrap;
  width:56px;
}
.sup-expense-summary-table td:nth-child(2),
.sup-expense-summary-table td:nth-child(4){
  min-width:140px;
  max-width:320px;
  word-break:break-word;
  line-height:1.4;
}
@media (max-width:640px){
  .sup-expense-summary-modal,
  .expense-summary-modal{
    padding:8px;
  }
  .sup-expense-summary-modal .modal-card,
  .sup-expense-summary-modal .sup-expense-summary-modal__card,
  .expense-summary-modal .modal-card{
    width:96vw;
    max-width:96vw;
    max-height:90vh;
  }
  .sup-expense-summary-modal .modal-footer{
    flex-wrap:wrap;
    gap:8px;
  }
  .sup-expense-summary-modal .modal-footer .btn{
    flex:1 1 auto;
    min-width:0;
  }
}
.sup-expense-summary-print{
  display:none;
  color:#111;
  background:#fff;
  padding:24px;
  font-family:Arial, Helvetica, sans-serif;
}
.sup-expense-summary-print h1{
  margin:0 0 6px;
  font-size:20px;
}
.sup-expense-summary-print h2{
  margin:0 0 8px;
  font-size:16px;
  font-weight:700;
}
.sup-expense-summary-print__meta{
  margin:0 0 12px;
  font-size:13px;
  color:#333;
}
.sup-expense-summary-print__stats{
  margin:0 0 14px;
  font-size:13px;
  line-height:1.5;
}
.sup-expense-summary-print__table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.sup-expense-summary-print__table th,
.sup-expense-summary-print__table td{
  border:1px solid #ccc;
  padding:6px 8px;
  text-align:left;
  vertical-align:top;
}
.sup-expense-summary-print__footer{
  margin:14px 0 0;
  font-size:11px;
  color:#555;
}
@media print{
  body.sup-expense-summary-printing *{
    visibility:hidden !important;
  }
  body.sup-expense-summary-printing #supExpenseSummaryModal,
  body.sup-expense-summary-printing #supExpenseSummaryModal *{
    visibility:visible !important;
  }
  body.sup-expense-summary-printing #supExpenseSummaryModal{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    height:auto !important;
    display:block !important;
    background:#fff !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }
  body.sup-expense-summary-printing .sup-expense-summary-modal__screen{
    display:none !important;
  }
  body.sup-expense-summary-printing #supExpenseSummaryPrint{
    display:block !important;
    position:relative !important;
    left:0 !important;
    top:0 !important;
    visibility:visible !important;
    color:#111 !important;
    background:#fff !important;
  }
  body.sup-expense-summary-printing .sup-expense-summary-print__table th,
  body.sup-expense-summary-printing .sup-expense-summary-print__table td:nth-child(3){
    text-align:left;
  }
  body.sup-expense-summary-printing .sup-expense-summary-print__table td:nth-child(3){
    text-align:right;
  }
}
.sup-console-live-wide .sup-console-rail-status{
  margin-top:0;
}
.supervisor-console .section-action-row__actions .btn{
  min-height:44px;
  padding:10px 16px;
  font-weight:700;
  white-space:nowrap;
}
.sup-exec-plan-section .section-action-row{
  margin-bottom:10px;
}
.sup-console-log-card .section-action-row{
  margin-bottom:10px;
}
.section-action-row--rail .sup-console-rail-title{
  margin-bottom:4px;
}
.sup-console-logs{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:14px;
  min-width:0;
  margin-top:14px;
}
.sup-console-logs[hidden]{
  display:none !important;
}
.sup-console-log-card{
  min-width:0;
}
.sup-console-log-card .card-inner{
  padding:14px 16px;
}
.sup-console-log-card .supervisor-table-wrap .table{
  min-width:480px;
}
.sup-field-modal[aria-hidden="false"]{
  display:flex;
}
.sup-field-modal__card{
  width:min(520px, 96vw);
}
.sup-field-modal__close{
  flex-shrink:0;
}
.sup-field-modal input[type="date"],
.sup-field-modal .sup-field-date-input{
  color-scheme:dark;
  appearance:auto;
  -webkit-appearance:auto;
  background-image:none !important;
  padding-right:16px;
  cursor:pointer;
}
.sup-field-modal input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:1 !important;
  position:static !important;
  width:auto;
  height:auto;
  margin-left:6px;
  padding:0;
  cursor:pointer;
  filter:invert(1);
  background:transparent !important;
}
.sup-field-modal input[type="date"]::-moz-calendar-picker-indicator{
  opacity:1;
  cursor:pointer;
}
.sup-console-rail-title{
  margin:0 0 4px;
  font-size:1.15rem;
  font-weight:800;
}
.sup-console-rail-status{
  margin-top:8px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
}
.sup-console-rail-badge{
  display:inline-block;
  margin-bottom:8px;
}
.sup-console-rail-headline{
  margin:0;
  font-size:1rem;
  font-weight:700;
  line-height:1.35;
}
.sup-console-rail-metrics{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  margin-top:8px;
}
.sup-console-rail-metric{
  padding:8px 10px;
  border-radius:12px;
  background:rgba(0,0,0,.12);
  border:1px solid rgba(255,255,255,.06);
}
.sup-console-rail-metric__label{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.sup-console-rail-metric strong{
  display:block;
  margin-top:4px;
  font-size:16px;
  font-weight:800;
}
.sup-console-alerts{
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(245,158,11,.35);
  background:rgba(245,158,11,.1);
  font-size:13px;
  line-height:1.45;
  color:rgba(252,211,77,.95);
}
.sup-console-snapshot-rail .supervisor-summary-card{
  padding:10px 12px;
}
.sup-console-snapshot-rail .supervisor-summary-card .big{
  font-size:var(--mg-font-value);
  margin-top:4px;
}
@media (max-width: 900px){
  .sup-live-ops-overview{
    grid-template-columns:1fr;
  }
  .sup-live-metric--wide{
    grid-column:span 1;
  }
  .sup-live-ops-metrics{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px){
  .project-status-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .project-status-actions .btn{
    width:100%;
    max-width:none;
    white-space:normal;
  }
  .supervisor-console .section-action-row{
    grid-template-columns:1fr;
    align-items:stretch;
    gap:10px;
  }
  .supervisor-console .section-action-row__actions{
    justify-content:stretch;
  }
  .supervisor-console .section-action-row__actions .btn{
    width:100%;
    white-space:normal;
  }
}

@media (max-width: 740px){
  .owner-side-card{
    position:static;
    top:auto;
  }
  body[data-role="owner"] .owner-workspace-side .owner-quote-snapshot{
    position:static;
    top:auto;
    height:auto;
  }

  .hero-score{
    padding:18px;
  }

  .hero-score-value{
    font-size:40px;
  }
}

.hub-summary-strip{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  margin-bottom:12px;
}

.hub-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:12px;
}

.hub-progress-shell{
  margin-bottom:14px;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}

.hub-progress-labels{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
  font-size:12px;
  color:var(--muted);
}

.hub-progress-bar{
  display:flex;
  overflow:hidden;
  height:16px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
}

.hub-progress-segment{
  height:100%;
  min-width:0;
  transition:width .2s ease;
}

.hub-progress-segment.pending{ background:linear-gradient(90deg, rgba(245,158,11,.95), rgba(251,191,36,.95)); }
.hub-progress-segment.partial{ background:linear-gradient(90deg, rgba(59,130,246,.95), rgba(96,165,250,.95)); }
.hub-progress-segment.paid{ background:linear-gradient(90deg, rgba(34,197,94,.95), rgba(74,222,128,.95)); }

.hub-kpi-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.hub-table{
  min-width:1160px;
}

.hub-status{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:var(--mg-font-sm);
  font-weight:700;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.10);
}

.hub-status.draft,
.hub-status.sent,
.hub-status.completed{
  background:rgba(245,158,11,.12);
  border-color:rgba(245,158,11,.35);
}

.hub-status.partial{
  background:rgba(59,130,246,.12);
  border-color:rgba(59,130,246,.35);
}

.hub-status.paid{
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.35);
}

.hub-status.overdue,
.hub-status.expired{
  background:rgba(239,68,68,.12);
  border-color:rgba(239,68,68,.35);
}

.hub-status.accepted{
  background:rgba(59,130,246,.14);
  border-color:rgba(59,130,246,.38);
}

.hub-status.deposit_paid{
  background:rgba(34,197,94,.14);
  border-color:rgba(34,197,94,.38);
}

.hub-status.archived{
  background:rgba(148,163,184,.14);
  border-color:rgba(148,163,184,.35);
}

.hub-action-disabled{
  opacity:.55;
  pointer-events:none;
}

.hub-inline-meta{
  display:block;
  margin-top:4px;
  font-size:11px;
  color:rgba(232,238,252,.58);
}
.hub-health{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  border:1px solid rgba(255,255,255,.08);
  margin-top:4px;
}
.hub-health.green{
  background:rgba(34,197,94,.10);
  border-color:rgba(34,197,94,.30);
}
.hub-health.amber{
  background:rgba(245,158,11,.10);
  border-color:rgba(245,158,11,.30);
}
.hub-health.red{
  background:rgba(239,68,68,.10);
  border-color:rgba(239,68,68,.30);
}

.hub-form-grid{
  display:grid;
  gap:12px;
}

body[data-role="estimates-hub"] #hubFormModal .hub-form-quick-dates{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-top:6px;
}
body[data-role="estimates-hub"] #hubFormModal .hub-form-quick-date{
  appearance:none;
  border:1px solid rgba(148,163,184,.45);
  background:rgba(15,23,42,.35);
  color:rgba(248,250,252,.92);
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.2;
  padding:4px 9px;
  border-radius:8px;
  cursor:pointer;
}
body[data-role="estimates-hub"] #hubFormModal .hub-form-quick-date:hover{
  border-color:rgba(96,165,250,.55);
  background:rgba(30,58,138,.35);
  color:#fff;
}

body[data-role="estimates-hub"] #hubFormModal .hub-form-static{
  grid-column:1/-1;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-invoice-form-card{
  width:min(92vw, 760px);
  background:#141413;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 60px rgba(0,0,0,.42);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .modal-title{
  letter-spacing:-.02em;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .modal-subtitle{
  color:rgba(244,244,241,.56);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 14px;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-form-grid > .field{
  grid-column:1 / -1;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-form-grid > .field:has(#hubManualClientName),
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-form-grid > .field:has(#hubManualClientEmail){
  grid-column:span 1;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-form-quick-date{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.12);
  color:rgba(244,244,241,.88);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-form-quick-date:hover{
  border-color:rgba(15,118,110,.45);
  background:rgba(15,118,110,.16);
  color:#fff;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-billing-select{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-wrap{
  display:grid;
  gap:8px;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-voice{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-lang{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
  text-transform:none;
  letter-spacing:0;
  font-size:12px;
  color:rgba(244,244,241,.7);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-lang select{
  width:auto;
  min-width:120px;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-status{
  margin:0;
  font-size:12px;
  line-height:1.45;
  color:rgba(244,244,241,.62);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-review{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(15,118,110,.28);
  background:rgba(15,118,110,.1);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-review[hidden]{
  display:none;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-review-head{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(244,244,241,.62);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-proposed{
  white-space:pre-wrap;
  font-size:13px;
  line-height:1.45;
  color:#f4f4f1;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-review-hint{
  margin:0;
  font-size:12px;
  color:rgba(244,244,241,.62);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-desc-voice .btn.is-listening{
  background:rgba(15,118,110,.22);
  border-color:rgba(15,118,110,.45);
  color:#fff;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-charge-wrap{
  display:grid;
  gap:8px;
  position:relative;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-charge{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  padding:4px;
  border-radius:12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-charge-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(244,244,241,.7);
  min-height:38px;
  border-radius:9px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-charge-btn.is-on{
  background:rgba(15,118,110,.22);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(15,118,110,.45);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-bottom{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(160px,.75fr);
  gap:14px;
  align-items:start;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-due{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(11,11,10,.55);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-due-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:baseline;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-due-selected{
  font-size:12px;
  font-weight:700;
  color:#99f6e4;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-due-quick{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-form-quick-date.is-on{
  background:rgba(15,118,110,.22);
  border-color:rgba(15,118,110,.45);
  color:#fff;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-month{
  font-size:13px;
  font-weight:800;
  letter-spacing:.01em;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-nav-btn{
  width:32px;
  height:32px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:#fff;
  cursor:pointer;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-dow,
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
  text-align:center;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-dow{
  color:rgba(244,244,241,.45);
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:4px;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-day,
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-pad{
  min-height:32px;
  border-radius:8px;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-day{
  border:0;
  background:transparent;
  color:#f4f4f1;
  cursor:pointer;
  font-weight:650;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-day:hover{
  background:rgba(255,255,255,.06);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-day.is-today{
  box-shadow:inset 0 0 0 1px rgba(15,118,110,.55);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-mini-cal-day.is-selected{
  background:#0f766e;
  color:#fff;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-total-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  min-height:140px;
  padding:16px;
  border-radius:14px;
  border:1px solid rgba(15,118,110,.28);
  background:rgba(15,118,110,.12);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-total-card span{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(244,244,241,.62);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-total-card strong{
  font-size:28px;
  letter-spacing:-.03em;
  color:#fff;
}
@media (max-width:720px){
  body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-form-grid{
    grid-template-columns:1fr;
  }
  body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-bottom{
    grid-template-columns:1fr;
  }
}
body[data-role="estimates-hub"] #hubFormModal .hub-manual-workers-wrap{
  display:grid;
  gap:10px;
}
body[data-role="estimates-hub"] #hubFormModal .hub-manual-workers-head .hint{
  margin-top:4px;
  opacity:.82;
  font-size:12px;
  line-height:1.4;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-work-cal-wrap{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(11,11,10,.55);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-work-day-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-work-day{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-work-day-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-work-day-head strong{
  font-size:13px;
  letter-spacing:.01em;
}
body[data-role="estimates-hub"] #hubFormModal .hub-manual-workers-list{
  display:grid;
  gap:8px;
}
body[data-role="estimates-hub"] #hubFormModal .hub-manual-worker-row{
  display:grid;
  grid-template-columns:minmax(120px,1.1fr) minmax(110px,1fr) minmax(90px,.8fr) auto;
  gap:8px;
  align-items:end;
}
body[data-role="estimates-hub"] #hubFormModal.is-manual-create .hub-manual-worker-row{
  padding:10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
body[data-role="estimates-hub"] #hubFormModal .hub-manual-worker-qty-wrap{
  display:grid;
  gap:4px;
  margin:0;
}
body[data-role="estimates-hub"] #hubFormModal .hub-manual-worker-unit{
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(226,232,240,.72);
}
body[data-role="estimates-hub"] #hubFormModal .hub-manual-worker-rate{
  min-height:42px;
  display:flex;
  align-items:center;
  font-weight:700;
  color:#fff;
}
@media (max-width:720px){
  body[data-role="estimates-hub"] #hubFormModal .hub-manual-worker-row{
    grid-template-columns:1fr 1fr;
  }
  body[data-role="estimates-hub"] #hubFormModal .hub-manual-worker-rate,
  body[data-role="estimates-hub"] #hubFormModal .hub-manual-worker-remove{
    grid-column:auto;
  }
}
body[data-role="estimates-hub"] #hubFormModal .hub-invoice-setup-preview{
  margin-top:2px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(148,163,184,.35);
  background:rgba(15,23,42,.45);
}
body[data-role="estimates-hub"] #hubFormModal .hub-invoice-setup-preview-line{
  font-size:13px;
  font-weight:650;
  line-height:1.35;
  color:rgba(248,250,252,.95);
}

#hubFocusQueue li{
  min-height:84px;
  cursor:pointer;
}

.hub-pipeline{
  display:grid;
  grid-template-columns:repeat(5, minmax(220px, 1fr));
  gap:12px;
}

.hub-pipeline-column{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.025);
  padding:12px;
}

.hub-pipeline-stack{
  display:grid;
  gap:10px;
}

.hub-pipeline-card{
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(10,16,32,.72);
  cursor:pointer;
}

.hub-pipeline-card.dragging{
  opacity:.45;
  border-color:rgba(59,130,246,.55);
}

.hub-pipeline-column.drag-over{
  border-color:rgba(59,130,246,.45);
  background:rgba(59,130,246,.08);
}

.hub-pipeline-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.hub-activity-type{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}

.hub-activity-type.invoice,
.hub-activity-type.email{ border-color:rgba(59,130,246,.35); background:rgba(59,130,246,.12); }
.hub-activity-type.payment{ border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.12); }
.hub-activity-type.followup,
.hub-activity-type.collections{ border-color:rgba(245,158,11,.35); background:rgba(245,158,11,.12); }
.hub-activity-type.public,
.hub-activity-type.link{ border-color:rgba(168,85,247,.35); background:rgba(168,85,247,.14); }

@media (max-width: 1200px){
  .hub-pipeline{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 740px){
  .hub-pipeline{
    grid-template-columns:1fr;
  }
}

.hub-sort-btn{
  padding:0;
  border:none;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:700;
  border-radius:0;
}

.hub-sort-btn:hover{
  transform:none;
  background:transparent;
  border:none;
  color:#ffffff;
}

.hub-drawer-header-stack{
  min-width:0;
}

.hub-drawer-next-action{
  margin-top:6px;
  font-size:1.05rem;
  font-weight:700;
  color:rgba(232,238,252,.95);
}

.hub-drawer-next-action--header-primary{
  margin-top:0;
  margin-bottom:8px;
  font-size:1.2rem;
  font-weight:800;
  letter-spacing:.01em;
  color:#f2f6ff;
  line-height:1.25;
}

.hub-drawer-title-below-action{
  font-size:1.05rem;
  font-weight:650;
  margin:0 0 4px;
}

.hub-drawer-section{
  margin-top:4px;
}

.hub-drawer-stat-contract .big{
  font-weight:800;
}

.hub-drawer-progress-wrap{
  margin:10px 0 12px;
}

.hub-drawer-progress-meta{
  font-size:12px;
  color:rgba(232,238,252,.72);
  margin-bottom:6px;
}

.hub-drawer-progress-track{
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}

.hub-drawer-progress-fill{
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg, #0f8a5f, #12a06e);
  transition:width .25s ease;
}

.hub-drawer-payment-context{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 16px;
  margin:0 0 14px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.08);
}

@media (max-width:520px){
  .hub-drawer-payment-context{
    grid-template-columns:1fr;
  }
}

.hub-drawer-k{
  display:block;
  font-size:var(--mg-font-label);
  text-transform:uppercase;
  letter-spacing:var(--mg-label-tracking);
  color:rgba(232,238,252,.55);
  margin-bottom:2px;
}

.hub-drawer-v{
  font-size:var(--mg-font-body);
  font-weight:600;
  color:rgba(232,238,252,.92);
  min-width:0;
  overflow-wrap:anywhere;
}

.hub-drawer-ledger-empty{
  padding:14px 12px;
  margin-bottom:10px;
  border-radius:10px;
  border:1px dashed rgba(255,255,255,.2);
  background:rgba(0,0,0,.12);
}

.hub-drawer-ledger-empty-title{
  margin:0 0 6px;
  font-size:14px;
  font-weight:650;
  color:rgba(232,238,252,.9);
}

.hub-drawer-ledger-empty-cta{
  margin:0;
  font-size:13px;
  line-height:1.45;
  color:rgba(232,238,252,.72);
}

.hub-drawer-ledger-empty-cta strong{
  color:rgba(232,238,252,.88);
  font-weight:700;
}

.hub-drawer-payment-stats.supervisor-summary-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

@media (min-width:720px){
  .hub-drawer-payment-stats.supervisor-summary-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

.hub-drawer-stat-primary{
  border:1px solid rgba(15,138,95,.45);
  background:rgba(15,138,95,.08);
  box-shadow:inset 0 0 0 1px rgba(15,138,95,.12);
}

.hub-drawer-stat-primary .title{
  font-weight:700;
  letter-spacing:.02em;
}

.hub-drawer-stat-primary .big{
  font-size:var(--mg-font-value-lg);
  font-weight:800;
  line-height:var(--mg-line-height-tight);
  min-width:0;
  overflow-wrap:anywhere;
}

.hub-drawer-stat-secondary .big{
  font-size:var(--mg-font-value);
  font-weight:700;
  min-width:0;
  overflow-wrap:anywhere;
}

.hub-drawer-card{
  width:min(920px, 96vw);
}

/* Invoice Hub — ops layout (width: global auth rule) */
body[data-role="estimates-hub"] .hub-console-stack{
  display:flex;
  flex-direction:column;
  gap:14px;
  width:100%;
  min-width:0;
}
body[data-role="estimates-hub"] .hub-console-ops{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap:14px;
  width:100%;
  min-width:0;
  align-items:start;
}
body[data-role="estimates-hub"] .hub-console-ops > .card,
body[data-role="estimates-hub"] .hub-console-table-card{
  margin-top:0 !important;
  min-width:0;
  width:100%;
}
body[data-role="estimates-hub"] .hub-console-intro{
  margin-bottom:4px;
  width:100%;
}
body[data-role="estimates-hub"] .hub-console-filters-card{
  position:static;
  top:auto;
}
body[data-role="estimates-hub"] .hub-console-filters-card .form{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px 14px;
}
body[data-role="estimates-hub"] .hub-console-table-card .supervisor-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
body[data-role="estimates-hub"] .hub-console-table-card .hub-table{
  width:100%;
  min-width:880px;
}
body[data-role="estimates-hub"] .hub-console-table-card .section-head{
  flex-wrap:wrap;
  gap:12px;
}
@media (min-width: 1200px){
  body[data-role="estimates-hub"] .hub-paid-faster-grid{
    grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr);
  }
  body[data-role="estimates-hub"] .hub-paid-faster-secondary{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 980px){
  body[data-role="estimates-hub"] .hub-console-ops{
    grid-template-columns:1fr;
  }
  body[data-role="estimates-hub"] .owner-hero-inner{
    grid-template-columns:1fr;
  }
}
@media (max-width: 720px){
  body[data-role="estimates-hub"] .hub-console-filters-card .form{
    grid-template-columns:1fr;
  }
  body[data-role="estimates-hub"] #hubModeFilter{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  body[data-role="estimates-hub"] #hubModeFilter .btn{
    flex:1 1 calc(50% - 4px);
    min-width:0;
    white-space:normal;
    text-align:center;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .section-head > div:last-child{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .section-head .btn.primary{
    flex:1 1 auto;
  }
}

/* Invoice Hub (estimates-invoices) — hierarchy, priority row, CTAs */
body[data-role="estimates-hub"] .hub-hero-start{
  margin:12px 0 0;
  max-width:min(72ch, 100%);
  font-size:15px;
  line-height:1.45;
  font-weight:650;
  color:rgba(232,238,252,.88);
}

/* Get paid faster — KPI block (estimates-invoices) */
body[data-role="estimates-hub"] .hub-paid-faster-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(0, 1fr);
  gap:12px;
  margin-top:14px;
  align-items:stretch;
}
body[data-role="estimates-hub"] .hub-paid-faster-primary{
  padding:16px 18px;
  border-radius:18px;
}
body[data-role="estimates-hub"] .hub-paid-faster-primary .title{
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.85;
}
body[data-role="estimates-hub"] .hub-paid-faster-primary-value{
  font-size:clamp(26px, 3.6vw, 34px);
  font-weight:800;
  line-height:1.15;
  margin:6px 0 4px;
}
body[data-role="estimates-hub"] .hub-paid-faster-action{
  padding:16px 18px;
  border-radius:18px;
  border-color:rgba(245,158,11,.22);
  background:linear-gradient(165deg, rgba(245,158,11,.08), rgba(255,255,255,.02));
}
body[data-role="estimates-hub"] .hub-paid-faster-action .title{
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.88;
}
body[data-role="estimates-hub"] .hub-paid-faster-action-value{
  font-size:clamp(17px, 2.2vw, 20px);
  font-weight:750;
  line-height:1.25;
  margin:6px 0 4px;
  word-break:break-word;
}
body[data-role="estimates-hub"] .hub-paid-faster-secondary{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(148px, 1fr));
  gap:10px;
  margin-top:12px;
}
body[data-role="estimates-hub"] .hub-paid-faster-mini{
  padding:12px 14px;
  border-radius:16px;
}
body[data-role="estimates-hub"] .hub-paid-faster-mini .title{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  opacity:.8;
}
body[data-role="estimates-hub"] .hub-paid-faster-mini .big{
  font-size:17px;
  font-weight:750;
  margin:4px 0 2px;
}
body[data-role="estimates-hub"] .hub-paid-faster-mini .small{
  font-size:11px;
  opacity:.88;
}
@media (max-width: 720px){
  body[data-role="estimates-hub"] .hub-paid-faster-grid{
    grid-template-columns:1fr;
  }
}

body[data-role="estimates-hub"] #hubModeFilter .btn{
  border-radius:12px;
  font-weight:700;
}
body[data-role="estimates-hub"] #hubModeFilter .btn.active{
  outline:none;
  box-shadow:0 0 0 1px rgba(34,197,94,.45), 0 6px 22px rgba(34,197,94,.14);
  border-color:rgba(34,197,94,.55);
  background:rgba(34,197,94,.26);
  color:#f4fff8;
}
body[data-role="estimates-hub"] #hubModeFilter .btn:not(.active){
  opacity:.88;
}
body[data-role="estimates-hub"] #hubModeFilter .btn:not(.active):hover{
  opacity:1;
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.06);
}

body[data-role="estimates-hub"] .hub-table tbody tr.hub-row--priority-1{
  background:linear-gradient(90deg, rgba(245,158,11,.1), rgba(245,158,11,.03) 55%, transparent 85%);
  box-shadow:
    inset 3px 0 0 rgba(245,158,11,.85),
    0 0 28px rgba(245,158,11,.07);
}
body[data-role="estimates-hub"] .hub-table tbody tr.hub-row--priority-1 > td{
  border-top:1px solid rgba(245,158,11,.28);
  border-bottom:1px solid rgba(245,158,11,.18);
}
body[data-role="estimates-hub"] .hub-table tbody tr.hub-row--priority-2 > td,
body[data-role="estimates-hub"] .hub-table tbody tr.hub-row--priority-3 > td{
  border-bottom:1px solid rgba(255,255,255,.06);
}
body[data-role="estimates-hub"] .hub-table tbody tr.hub-row--priority-2{
  background:rgba(245,158,11,.03);
}
body[data-role="estimates-hub"] .hub-table tbody tr.hub-row--priority-3{
  background:rgba(255,255,255,.015);
}

body[data-role="estimates-hub"] .hub-priority-badge{
  display:inline-flex;
  align-items:center;
  margin:0 0 6px;
  padding:4px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.12);
}
body[data-role="estimates-hub"] .hub-priority-badge--start{
  border-color:rgba(245,158,11,.45);
  background:rgba(245,158,11,.16);
  color:#fff7e6;
  box-shadow:0 0 14px rgba(245,158,11,.12);
}
body[data-role="estimates-hub"] .hub-priority-badge--rank{
  border-color:rgba(148,163,184,.35);
  background:rgba(148,163,184,.1);
  color:rgba(226,232,240,.92);
}

body[data-role="estimates-hub"] .hub-invoice-row-label{
  display:inline;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:rgba(248,250,252,.88);
}
body[data-role="estimates-hub"] .hub-invoice-row-sep{
  display:inline;
  font-weight:600;
  opacity:.55;
}

body[data-role="estimates-hub"] .hub-next-action-cell{
  font-weight:700;
  font-size:13px;
  color:rgba(248,250,252,.92);
}

body[data-role="estimates-hub"] .hub-cta-send{
  border-color:rgba(245,158,11,.55);
  background:linear-gradient(180deg, rgba(245,158,11,.28), rgba(217,119,6,.2));
  color:#fffbeb;
  font-weight:780;
  box-shadow:0 2px 14px rgba(245,158,11,.16);
}
body[data-role="estimates-hub"] .hub-cta-send:hover{
  border-color:rgba(251,191,36,.65);
  background:linear-gradient(180deg, rgba(251,191,36,.34), rgba(245,158,11,.26));
  box-shadow:0 4px 20px rgba(245,158,11,.22);
  transform:translateY(-1px);
}

body[data-role="estimates-hub"] .hub-cta-view{
  background:transparent;
  border:1px dashed rgba(255,255,255,.16);
  color:rgba(226,232,240,.72);
  font-weight:600;
  font-size:12px;
  padding:8px 11px;
}
body[data-role="estimates-hub"] .hub-cta-view:hover{
  border-style:solid;
  border-color:rgba(255,255,255,.26);
  color:#f8fafc;
  background:rgba(255,255,255,.04);
}

body[data-role="estimates-hub"] .hub-cta-secondary{
  opacity:.92;
}

@media (max-width: 980px){
  .hub-summary-strip,
  .hub-kpi-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 740px){
  .hub-summary-strip,
  .hub-kpi-grid{
    grid-template-columns:1fr;
  }
}

.estimate-block-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
@media (max-width: 920px){
  .estimate-block-grid{ grid-template-columns:1fr; }
}
.estimate-subcard{
  background:rgba(9,15,28,.72);
  border:1px solid rgba(255,255,255,.08);
}
.estimate-form-tight{ grid-template-columns:1fr 1fr; }
@media (max-width: 720px){
  .estimate-form-tight{ grid-template-columns:1fr; }
}
.estimate-table th,
.estimate-table td,
.estimate-recent-table th,
.estimate-recent-table td{
  vertical-align:top;
}
.estimate-summary-box .summary-body{
  background:rgba(9,15,28,.72);
}

input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1) brightness(0.2);
  background: rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  padding: 0.22rem;
  cursor: pointer;
  opacity: 1;
}

input[type="date"]::-webkit-datetime-edit,
input[type="date"]::-webkit-datetime-edit-fields-wrapper,
input[type="date"]::-webkit-datetime-edit-text,
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-year-field {
  color: #f5f7fb;
}

input[type="date"] {
  color: #f5f7fb;
  color-scheme: dark;
}


input[type="date"] {
  color: #f5f7fb;
  color-scheme: dark;
  padding-right: 3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.95rem center;
  background-size: 1.05rem 1.05rem;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  position: absolute;
  right: 0.6rem;
  width: 2rem;
  height: 2rem;
  cursor: pointer;
}

input[type="date"]::-webkit-datetime-edit,
input[type="date"]::-webkit-datetime-edit-fields-wrapper,
input[type="date"]::-webkit-datetime-edit-text,
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-year-field {
  color: #f5f7fb;
}

/* /owner — fechas: icono calendario nativo (anula SVG fake + opacity:0 global en ::-webkit-calendar-picker-indicator) */
body[data-role="owner"] input[type="date"]{
  color-scheme:dark;
  appearance:auto;
  -webkit-appearance:auto;
  background-image:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(6,10,20,.72));
  padding:14px 16px;
}
body[data-role="owner"] input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:1;
  cursor:pointer;
  filter:invert(1);
  position:static;
  margin-left:6px;
  width:auto;
  height:auto;
  padding:0;
  background:transparent;
}
body[data-role="owner"] input[type="date"]::-moz-calendar-picker-indicator{
  opacity:1;
  cursor:pointer;
}

/* /owner — fechas: override final (icono nativo vs reglas globales) */
body[data-role="owner"] input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 1 !important;
  position: static !important;
  appearance: auto !important;
  background: none !important;
  filter: invert(1) !important;
  cursor: pointer;
}

body[data-role="owner"] input[type="date"] {
  background-image: none !important;
  color-scheme: dark;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(6, 10, 20, 0.72)) !important;
}

/* Business Settings — campos obligatorios inválidos */
.form .field.field--error label {
  color: var(--red);
}
.form .field.field--error input,
.form .field.field--error select {
  border-color: var(--red) !important;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.35);
}

/* Business Settings — premium organization grid (UI only) */
.business-settings-page .container{
  max-width: 1320px;
}
.business-settings-page .bs-page-bar{
  margin-bottom: 14px;
}
.business-settings-page .bs-page-bar-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  padding-top: 14px;
  padding-bottom: 14px;
}
.business-settings-page .bs-page-lead{
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
}
.business-settings-page .bs-page-bar-meta{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.business-settings-page .bs-tenant-mode{
  margin: 0;
  font-size: 12px;
}
.business-settings-page .bs-loading-note,
.business-settings-page .bs-banner{
  margin-bottom: 14px;
}
.business-settings-page .bs-layout-grid{
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2vw, 24px);
}
.business-settings-page .bs-layout-pair{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(16px, 2vw, 24px);
  align-items: stretch;
}
.business-settings-page .bs-layout-pair > .card{
  height: 100%;
}
.business-settings-page .bs-layout-full{
  width: 100%;
}
.business-settings-page .bs-layout-optional{
  border-style: dashed;
  border-color: rgba(255,255,255,.1);
  background: rgba(255,255,255,.015);
  opacity: .96;
}
.business-settings-page .bs-layout-optional .bs-card-title{
  color: rgba(226,232,240,.88);
}
.business-settings-page .bs-fin-block{
  grid-column: 1 / -1;
  margin-top: 2px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.business-settings-page .bs-fin-block-sub{
  margin: 2px 0 10px;
  font-size: 11px;
  line-height: 1.35;
  max-width: 52ch;
}
.business-settings-page .bs-fin-block-fields{
  margin-top: 0;
}
.business-settings-page .bs-card-inner-tight{
  padding: 16px 18px;
}
.business-settings-page .bs-card-title{
  margin: 0 0 4px;
  font-size: var(--mg-font-card-title);
  line-height: var(--mg-line-height-title);
  font-weight: 750;
}
.business-settings-page .bs-card-sub{
  margin: 0 0 12px;
  font-size: var(--mg-font-body);
  line-height: var(--mg-line-height-body);
}
.business-settings-page .bs-form-dense{
  gap: 10px;
}
.business-settings-page .bs-form-dense .field label{
  margin-bottom: 3px;
  font-size: var(--mg-font-label);
  letter-spacing: var(--mg-label-tracking);
}
.business-settings-page .bs-form-dense .field input,
.business-settings-page .bs-form-dense .field select,
.business-settings-page .bs-form-dense .field textarea{
  padding: 8px 10px;
  font-size: var(--mg-font-body);
}
.business-settings-page .form .field.field--full{
  grid-column: 1 / -1;
}
.business-settings-page .hint.hint--start{
  justify-content: flex-start;
  text-align: left;
  font-size: 10px;
  margin-top: 3px;
}
.business-settings-page .bs-logo-band{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
}
.business-settings-page .bs-logo-band-main{
  flex: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-items: start;
}
.business-settings-page .bs-logo-band-main > .field:first-child{
  grid-column: 1 / -1;
}
.business-settings-page .bs-logo-band .field{
  margin: 0;
}
.business-settings-page .bs-logo-accent-field input[type="color"]{
  height: 38px;
  padding: 4px;
  cursor: pointer;
}
.business-settings-page .bs-logo-preview-wrap{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  min-height: 56px;
}
.business-settings-page .bs-logo-preview{
  display: none;
  max-height: 56px;
  max-width: 88px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
  background: rgba(0,0,0,.18);
  padding: 6px;
  box-sizing: border-box;
}
.business-settings-page .bs-subsection-title{
  margin: 0 0 6px;
  font-size: 0.8rem;
  font-weight: 650;
  color: rgba(232,238,252,.9);
}
.business-settings-page .bs-payments-head{
  margin-bottom: 6px;
}
.business-settings-page .bs-payments-stack{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
.business-settings-page .bs-stripe-status-line{
  margin: 4px 0 2px;
  font-size: 11px;
}
.business-settings-page .bs-stripe-lines--compact{
  margin: 0 0 6px;
  padding-left: 16px;
  font-size: 10px;
  line-height: 1.35;
}
.business-settings-page .bs-stripe-actions,
.business-settings-page .bs-bank-actions{
  flex-wrap: wrap;
  gap: 6px;
}
.business-settings-page .bs-bank-status{
  margin: 6px 0 0;
  min-height: 1.1em;
  font-size: 11px;
}
.business-settings-page .bs-bank-summary{
  margin: 2px 0 0;
  font-size: 11px;
}
.business-settings-page .bs-bank-map{
  margin-top: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.business-settings-page .bs-save-actions{
  margin-top: 12px;
}
.business-settings-page .bs-summary-bar{
  margin-top: 0;
  border-color: rgba(255,255,255,.1);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.business-settings-page .bs-summary-row{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 14px;
}
.business-settings-page .bs-summary-preview{
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1 1 120px;
}
.business-settings-page .bs-summary-label{
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
}
.business-settings-page .bs-summary-name,
.business-settings-page .bs-summary-accent{
  font-size: 12px;
}
.business-settings-page .bs-summary-meta{
  font-size: 10px;
  line-height: 1.3;
}
.business-settings-page .bs-summary-used{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  flex: 1 1 100%;
}
.business-settings-page .bs-summary-used .bs-summary-label{
  width: 100%;
  margin-bottom: 2px;
}
.business-settings-page .bs-chip{
  display: inline-block;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 600;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(232,238,252,.85);
}
.business-settings-page .bs-summary-save{
  margin: 6px 0 0;
  font-size: 10px;
  line-height: 1.35;
}
@media (max-width: 900px){
  .business-settings-page .bs-layout-grid{
    gap: 14px;
  }
  .business-settings-page .bs-layout-pair{
    grid-template-columns: 1fr;
  }
  .business-settings-page .bs-payments-stack{
    grid-template-columns: 1fr;
  }
  .business-settings-page .bs-logo-band{
    flex-direction: column;
  }
  .business-settings-page .bs-logo-band-main{
    grid-template-columns: 1fr;
    width: 100%;
  }
}
@media (max-width: 740px){
  .business-settings-page .form.bs-form-dense{
    grid-template-columns: 1fr;
  }
}

/* Margin Guard — app shell sidebar (pilot: data-mg-app-nav pages) */
:root{
  --mg-sidebar-collapsed-width:64px;
  --mg-sidebar-expanded-width:240px;
  --mg-topbar-height:56px;
  --mg-sidebar-width:var(--mg-sidebar-collapsed-width);
  --mg-support-drawer-width:380px;
}
body.mg-app-shell{
  --mg-sidebar-width:var(--mg-sidebar-collapsed-width);
}
body.mg-app-shell.mg-sidebar-pinned,
body.mg-app-shell.mg-sidebar-hover-expand{
  --mg-sidebar-width:var(--mg-sidebar-expanded-width);
}
body.mg-app-shell.mg-nav-drawer-open{
  overflow:hidden;
}
body.mg-app-shell .topbar{
  display:none !important;
}
.mg-sidebar{
  position:fixed;
  z-index:200;
  top:0;
  left:0;
  height:100vh;
  height:100dvh;
  width:var(--mg-sidebar-width);
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--stroke);
  background:linear-gradient(180deg, rgba(8,12,22,.98), rgba(6,10,18,.96));
  backdrop-filter:blur(14px);
  box-shadow:8px 0 32px rgba(0,0,0,.28);
  transition:width .18s ease, transform .22s ease;
  overflow:hidden;
}
.mg-sidebar__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:var(--mg-topbar-height);
  padding:10px 10px 10px 12px;
  border-bottom:1px solid var(--stroke);
  flex:0 0 auto;
}
.mg-sidebar__brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.mg-sidebar__brand-mark{
  flex:0 0 auto;
  width:36px;
  height:36px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  border:1px solid rgba(34,197,94,.22);
  background:radial-gradient(circle at 30% 30%, rgba(34,197,94,.28), rgba(34,197,94,.06) 58%, rgba(255,255,255,.03));
}
.mg-sidebar__brand-text{
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  opacity:0;
  width:0;
  overflow:hidden;
  transition:opacity .15s ease, width .18s ease;
}
body.mg-app-shell.mg-sidebar-pinned .mg-sidebar__brand-text,
body.mg-app-shell.mg-sidebar-hover-expand .mg-sidebar__brand-text,
body.mg-app-shell.mg-nav-drawer-open .mg-sidebar__brand-text{
  opacity:1;
  width:auto;
}
.mg-sidebar__pin{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:var(--text);
  cursor:pointer;
  font-size:14px;
  line-height:1;
  padding:0;
}
.mg-sidebar__pin[aria-pressed="true"]{
  border-color:rgba(34,197,94,.35);
  background:rgba(34,197,94,.12);
}
.mg-sidebar__nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:10px 8px;
  -webkit-overflow-scrolling:touch;
}
.mg-sidebar__group{
  margin-bottom:14px;
}
.mg-sidebar__group-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  padding:0 10px 6px;
  white-space:nowrap;
  opacity:0;
  height:0;
  overflow:hidden;
  transition:opacity .15s ease, height .15s ease;
}
body.mg-app-shell.mg-sidebar-pinned .mg-sidebar__group-label,
body.mg-app-shell.mg-sidebar-hover-expand .mg-sidebar__group-label,
body.mg-app-shell.mg-nav-drawer-open .mg-sidebar__group-label{
  opacity:1;
  height:auto;
  margin-bottom:4px;
}
.mg-sidebar__item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:44px;
  padding:10px 12px;
  margin-bottom:4px;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
  color:var(--text);
  font-size:13px;
  font-weight:650;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  box-sizing:border-box;
  transition:background .15s ease, border-color .15s ease;
}
.mg-sidebar__item:hover{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.08);
}
.mg-sidebar__item--active{
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.28);
  box-shadow:inset 3px 0 0 rgba(34,197,94,.75);
}
.mg-sidebar__item--danger{
  border-color:rgba(239,68,68,.2);
  background:rgba(239,68,68,.08);
}
.mg-sidebar__icon{
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  font-family:var(--mono);
  font-size:9px;
  font-weight:700;
  letter-spacing:.02em;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.mg-sidebar__label{
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
  opacity:0;
  width:0;
  overflow:hidden;
  transition:opacity .15s ease, width .18s ease;
}
body.mg-app-shell.mg-sidebar-pinned .mg-sidebar__label,
body.mg-app-shell.mg-sidebar-hover-expand .mg-sidebar__label,
body.mg-app-shell.mg-nav-drawer-open .mg-sidebar__label{
  opacity:1;
  width:auto;
}
.mg-sidebar__footer{
  flex:0 0 auto;
  padding:10px 12px 14px;
  border-top:1px solid var(--stroke);
}
.mg-sidebar__plan{
  margin:0;
  font-size:11px;
  line-height:1.4;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  opacity:0;
  height:0;
}
body.mg-app-shell.mg-sidebar-pinned .mg-sidebar__plan,
body.mg-app-shell.mg-sidebar-hover-expand .mg-sidebar__plan,
body.mg-app-shell.mg-nav-drawer-open .mg-sidebar__plan{
  opacity:1;
  height:auto;
}
.mg-sidebar__legal{
  margin:8px 0 0;
  font-size:11px;
  line-height:1.4;
  color:var(--muted);
  opacity:0;
  height:0;
  overflow:hidden;
}
.mg-sidebar__legal a{
  color:inherit;
  text-decoration:underline;
}
body.mg-app-shell.mg-sidebar-pinned .mg-sidebar__legal,
body.mg-app-shell.mg-sidebar-hover-expand .mg-sidebar__legal,
body.mg-app-shell.mg-nav-drawer-open .mg-sidebar__legal{
  opacity:1;
  height:auto;
}
.mg-sidebar-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:190;
  background:rgba(2,6,23,.72);
  backdrop-filter:blur(2px);
}
.mg-app-workspace{
  min-width:0;
  min-height:100vh;
  min-height:100dvh;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  transition:margin-left .18s ease;
}
.mg-app-main{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  min-width:0;
  max-width:100%;
  transition:margin-left .18s ease;
}
.mg-topbar{
  position:sticky;
  top:0;
  z-index:120;
  height:var(--mg-topbar-height);
  border-bottom:1px solid var(--stroke);
  background:linear-gradient(to bottom, rgba(5,8,18,.92), rgba(5,8,18,.78));
  backdrop-filter:blur(14px);
}
.mg-topbar__inner{
  display:flex;
  align-items:center;
  gap:12px;
  height:100%;
  padding:0 16px 0 12px;
  max-width:1680px;
}
.mg-topbar__title{
  margin:0;
  font-size:15px;
  font-weight:750;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  flex:1 1 auto;
  min-width:0;
}
.mg-mobile-menu-button{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;
  height:44px;
  padding:10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  cursor:pointer;
  flex:0 0 auto;
}
.mg-mobile-menu-button__bar{
  display:block;
  height:2px;
  width:100%;
  background:rgba(248,250,252,.9);
  border-radius:2px;
}
.mg-app-main__body{
  flex:1 1 auto;
  min-width:0;
}
body.mg-app-shell .mg-app-main .container{
  max-width:1680px;
}
@media (min-width:1200px){
  body.mg-app-shell .mg-app-workspace{
    margin-left:var(--mg-sidebar-width);
  }
  body.mg-app-shell .mg-app-main{
    margin-left:0;
  }
  body.mg-app-shell .mg-sidebar{
    transform:none;
  }
  body.mg-app-shell .mg-sidebar-overlay{
    display:none !important;
  }
  body.mg-app-shell .mg-mobile-menu-button{
    display:none !important;
  }
  body.mg-app-shell .mg-sidebar__pin{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}
@media (min-width:768px) and (max-width:1199px){
  body.mg-app-shell{
    --mg-sidebar-width:var(--mg-sidebar-expanded-width);
  }
  body.mg-app-shell .mg-sidebar{
    transform:translateX(-105%);
    width:min(var(--mg-sidebar-expanded-width), 86vw);
  }
  body.mg-app-shell.mg-nav-drawer-open .mg-sidebar{
    transform:translateX(0);
  }
  body.mg-app-shell.mg-nav-drawer-open .mg-sidebar-overlay{
    display:block;
  }
  body.mg-app-shell .mg-mobile-menu-button{
    display:inline-flex;
  }
  body.mg-app-shell .mg-sidebar__pin{
    display:none;
  }
  body.mg-app-shell .mg-sidebar__brand-text,
  body.mg-app-shell .mg-sidebar__label,
  body.mg-app-shell .mg-sidebar__group-label,
  body.mg-app-shell .mg-sidebar__plan{
    opacity:1;
    width:auto;
    height:auto;
  }
}
@media (max-width:767px){
  body.mg-app-shell{
    --mg-sidebar-width:min(280px, 88vw);
  }
  body.mg-app-shell .mg-sidebar{
    transform:translateX(-105%);
    width:var(--mg-sidebar-width);
  }
  body.mg-app-shell.mg-nav-drawer-open .mg-sidebar{
    transform:translateX(0);
  }
  body.mg-app-shell.mg-nav-drawer-open .mg-sidebar-overlay{
    display:block;
  }
  body.mg-app-shell .mg-mobile-menu-button{
    display:inline-flex;
  }
  body.mg-app-shell .mg-sidebar__pin{
    display:none;
  }
  body.mg-app-shell .mg-sidebar__brand-text,
  body.mg-app-shell .mg-sidebar__label,
  body.mg-app-shell .mg-sidebar__group-label,
  body.mg-app-shell .mg-sidebar__plan{
    opacity:1;
    width:auto;
    height:auto;
  }
  body.mg-app-shell .mg-topbar__inner{
    padding-left:8px;
    padding-right:12px;
  }
}

.mg-device-logout-anchor{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  flex:0 0 auto;
}
.mg-device-logout-anchor[hidden]{
  display:none !important;
}
.mg-sidebar__brand--static{
  display:flex;
  align-items:center;
  gap:10px;
  color:inherit;
  text-decoration:none;
  cursor:default;
}
body.mg-portal-mode-seller-device .mg-sidebar__pin,
body.mg-portal-mode-supervisor-device .mg-sidebar__pin{
  display:none !important;
}
body.mg-portal-mode-seller-device .mg-sidebar__footer--device,
body.mg-portal-mode-supervisor-device .mg-sidebar__footer--device{
  border-top:1px solid rgba(255,255,255,.08);
}

/* Step 3E-C16-Q3K-1 — page-scoped typography harmonization */
body[data-role="estimates-hub"] .hub-drawer-stat-primary .title,
body[data-role="estimates-hub"] .hub-drawer-stat-secondary .title{
  font-size:var(--mg-font-label);
  letter-spacing:var(--mg-label-tracking);
  text-transform:uppercase;
}
body[data-role="estimates-hub"] #hubDrawer .hub-drawer-footer .btn,
body[data-role="estimates-hub"] #hubDrawer .hub-drawer-actions .btn{
  font-size:var(--mg-font-button);
}

body[data-mg-page-title="Project Control"] .pcc-kpi__label{
  font-size:var(--mg-font-label);
  letter-spacing:var(--mg-label-tracking);
}
body[data-mg-page-title="Project Control"] .pcc-kpi__value{
  font-size:var(--mg-font-value);
  letter-spacing:-.03em;
}
body[data-mg-page-title="Project Control"] .pcc-kpi__hint{
  font-size:var(--mg-font-sm);
}

body[data-mg-page-title="Sales Admin"] .sa-kpi__label{
  font-size:var(--mg-font-label);
  letter-spacing:var(--mg-label-tracking);
  line-height:var(--mg-line-height-tight);
}
body[data-mg-page-title="Sales Admin"] .sa-kpi__value{
  font-size:var(--mg-font-value);
  line-height:var(--mg-line-height-tight);
}
body[data-mg-page-title="Sales Admin"] .sa-section__head h2,
body[data-mg-page-title="Sales Admin"] .sa-section__head h3{
  font-size:var(--mg-font-card-title);
}
body[data-mg-page-title="Sales Admin"] .sa-section__head .sub{
  font-size:var(--mg-font-body);
}

body.team-devices-page .td-hero h2{
  font-size:var(--mg-font-hero-title);
  line-height:var(--mg-line-height-title);
}
body.team-devices-page .td-section__head h3{
  font-size:var(--mg-font-card-title);
}
body.team-devices-page .td-section__head .sub,
body.team-devices-page .td-pair-note{
  font-size:var(--mg-font-body);
}
body.team-devices-page .td-filters label{
  font-size:var(--mg-font-label);
  letter-spacing:var(--mg-label-tracking);
}
body.team-devices-page .td-pair-code{
  font-size:var(--mg-font-value-lg);
  letter-spacing:.12em;
}
body.team-devices-page .td-readiness__counts{
  font-size:var(--mg-font-sm);
}

body.supervisor-page #supervisorKpis .kpi-box .label{
  font-size:var(--mg-font-label);
}
body.supervisor-page .sup-project-picker__meta{
  font-size:var(--mg-font-sm);
}

body[data-mg-page-title="Vendedor"] .sales-op-summary-total__value{
  font-size:var(--mg-font-value);
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-quote-price{
  font-size:var(--mg-font-value-hero);
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-mini-card .big{
  font-size:var(--mg-font-value);
}
body[data-mg-page-title="Vendedor"] .sales-op-summary-kv dd{
  min-width:0;
  overflow-wrap:anywhere;
}

body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-quote-price{
  font-size:var(--mg-font-value-hero);
}
body[data-role="owner"] .owner-quote-kicker{
  font-size:var(--mg-font-label);
  letter-spacing:var(--mg-label-tracking);
}

body.business-settings-page .bs-opex-summary-label{
  font-size:var(--mg-font-label);
  letter-spacing:var(--mg-label-tracking);
}
body.business-settings-page .bs-opex-summary-total{
  font-size:var(--mg-font-value-lg);
  min-width:0;
  overflow-wrap:anywhere;
}
body.business-settings-page .bs-opex-summary-stats{
  font-size:var(--mg-font-sm);
}
body.business-settings-page .bs-summary-label{
  font-size:var(--mg-font-label);
  letter-spacing:var(--mg-label-tracking);
}

/* Step 3E-C16-Q3I — mobile polish (dashboard header + supervisor project picker) */
@media (max-width:640px){
  body[data-role="dashboard"] .container.fcc-page{
    padding-left:12px;
    padding-right:12px;
    overflow-x:hidden;
    max-width:100%;
  }
  body[data-role="dashboard"] .fcc-hero-bar{
    align-items:stretch;
    gap:8px;
    padding:8px 12px;
    margin-bottom:8px;
  }
  body[data-role="dashboard"] .fcc-hero-bar__left{
    flex:0 0 auto;
    min-height:0;
  }
  body[data-role="dashboard"] .fcc-hero-bar__topline{
    margin-bottom:2px;
    gap:6px 10px;
  }
  body[data-role="dashboard"] .fcc-hero-bar .fcc-hero-title{
    font-size:clamp(17px, 4.8vw, 22px);
    line-height:1.15;
  }
  body[data-role="dashboard"] .fcc-hero-bar .fcc-hero-compact-sub{
    margin:2px 0 0;
    font-size:11px;
    line-height:1.35;
  }
  body[data-role="dashboard"] .fcc-hero-bar__aside{
    flex:0 0 auto;
    width:100%;
    gap:6px 8px;
    justify-content:flex-start;
    align-items:stretch;
  }
  body[data-role="dashboard"] .fcc-health-chip{
    padding:7px 10px;
    width:100%;
  }
  body[data-role="dashboard"] .fcc-date-pill{
    padding:5px 10px;
    font-size:10px;
  }

  /* Step 3E-C16-Q3I-FIX2 — dashboard mobile fit / no horizontal clip */
  body[data-requires-auth="true"][data-role="dashboard"]{
    overflow-x:hidden;
  }
  body[data-requires-auth="true"][data-role="dashboard"] .mg-app-main,
  body[data-requires-auth="true"][data-role="dashboard"] .mg-app-main__body{
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
  }
  body[data-requires-auth="true"][data-role="dashboard"] .container.fcc-page{
    width:100%;
    max-width:min(100%, calc(100vw - 24px));
    margin-left:auto;
    margin-right:auto;
    padding-left:12px;
    padding-right:12px;
    box-sizing:border-box;
  }
  body[data-role="dashboard"] .fcc-columns,
  body[data-role="dashboard"] .fcc-column,
  body[data-role="dashboard"] .fcc-panel,
  body[data-role="dashboard"] .fcc-panel .card-inner,
  body[data-role="dashboard"] .fcc-hero-bar,
  body[data-role="dashboard"] .fcc-dashboard-lower,
  body[data-role="dashboard"] .fcc-util-bar{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  body[data-role="dashboard"] .dashboard-strip,
  body[data-role="dashboard"] .fcc-strip.fcc-strip-tight{
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:10px;
  }
  body[data-role="dashboard"] .dashboard-main-kpis.fcc-kpi-deck,
  body[data-role="dashboard"] .fcc-kpi-deck{
    grid-template-columns:1fr;
    gap:8px;
  }
  body[data-role="dashboard"] .fcc-kpi-deck__secondary{
    grid-template-columns:1fr;
    gap:8px;
  }
  body[data-role="dashboard"] .section-head.fcc-section-head{
    flex-wrap:wrap;
    align-items:flex-start;
    gap:8px 10px;
    min-width:0;
  }
  body[data-role="dashboard"] .section-head.fcc-section-head > div:first-child{
    min-width:0;
    flex:1 1 160px;
  }
  body[data-role="dashboard"] .section-head.fcc-section-head .badge,
  body[data-role="dashboard"] #syncBadge{
    flex:0 0 auto;
    max-width:100%;
    white-space:normal;
    text-align:right;
  }
  body[data-role="dashboard"] .strip-card.fcc-strip-card{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  body[data-role="dashboard"] .strip-card.fcc-strip-card .title,
  body[data-role="dashboard"] .strip-card.fcc-strip-card .small{
    overflow-wrap:anywhere;
  }
  body[data-role="dashboard"] .strip-card.fcc-strip-card .big{
    font-size:clamp(18px, 5.2vw, 24px);
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  body[data-role="dashboard"] .fcc-kpi-card,
  body[data-role="dashboard"] .kpi-box.fcc-kpi-card{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  body[data-role="dashboard"] .fcc-kpi-top{
    min-width:0;
    gap:6px;
  }
  body[data-role="dashboard"] .fcc-kpi-top .label{
    min-width:0;
    flex:1 1 auto;
  }
  body[data-role="dashboard"] .fcc-kpi-top .label .badge{
    white-space:normal;
  }
  body[data-role="dashboard"] .fcc-kpi-icon{
    flex:0 0 auto;
  }
  body[data-role="dashboard"] .fcc-kpi-card .value{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  body[data-role="dashboard"] .fcc-kpi-card .meta{
    overflow-wrap:anywhere;
  }
  body[data-role="dashboard"] .fcc-treasury-chart,
  body[data-role="dashboard"] .fcc-skyline-chart__stage,
  body[data-role="dashboard"] .fcc-legend--accounts{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }

  body.supervisor-page .container.supervisor-console{
    padding-left:12px;
    padding-right:12px;
    overflow-x:hidden;
    max-width:100%;
  }
  body.supervisor-page .supervisor-top-workflow__inner{
    padding:10px 12px;
    gap:10px;
    align-items:start;
  }
  body.supervisor-page .supervisor-top-workflow__copy,
  body.supervisor-page .supervisor-top-workflow__picker{
    min-height:0;
    height:auto;
    justify-content:flex-start;
    align-self:stretch;
  }
  body.supervisor-page .supervisor-top-workflow__picker .sup-project-picker--header{
    height:auto;
    min-height:0;
    justify-content:flex-start;
    align-self:stretch;
    padding:8px 10px;
    gap:4px;
    background:rgba(4,7,14,.55);
    border-color:rgba(255,255,255,.1);
  }
  body.supervisor-page .sup-project-picker__label{
    font-size:11px;
    margin:0;
  }
  body.supervisor-page .sup-project-picker__row{
    gap:6px;
    align-items:stretch;
    flex:0 0 auto;
  }
  body.supervisor-page .sup-project-picker__select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    color-scheme:dark;
    flex:0 0 auto;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0;
    padding:10px 34px 10px 12px;
    min-height:44px;
    max-height:48px;
    height:44px;
    font-size:16px;
    line-height:1.25;
    font-weight:600;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.14);
    background-color:rgba(6,10,20,.92);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23cbd5e1' d='M1.5 1.5 6 6l4.5-4.5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 12px center;
    background-size:12px 8px;
    color:var(--text);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  }
  body.supervisor-page .sup-project-picker__select:focus{
    outline:none;
    border-color:rgba(34,197,94,.4);
    box-shadow:0 0 0 3px rgba(34,197,94,.12);
  }
  body.supervisor-page .sup-project-picker__assign{
    padding:8px 12px;
    font-size:13px;
  }
  body.supervisor-page .sup-project-picker__meta{
    font-size:11px;
    line-height:1.3;
  }

  /* Step 3E-C16-Q3J — Invoice Hub mobile cards (tap-to-detail) */
  body[data-role="estimates-hub"]{
    overflow-x:hidden;
  }
  body[data-role="estimates-hub"] .invoice-hub-console,
  body[data-role="estimates-hub"] .hub-console-table-card,
  body[data-role="estimates-hub"] .hub-console-table-card .card-inner{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .supervisor-table-wrap{
    overflow-x:visible;
    max-width:100%;
    width:100%;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table{
    min-width:0;
    width:100%;
    border:none;
    background:transparent;
    border-radius:0;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody{
    display:block;
    width:100%;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr:not([data-hub-row]){
    display:block;
    margin:0;
    padding:0;
    border:none;
    background:transparent;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr:not([data-hub-row]) > td{
    display:block;
    padding:18px 14px;
    border:none;
    text-align:center;
    color:var(--muted);
    font-size:13px;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row]{
    display:grid;
    grid-template-columns:2.25rem minmax(0,1fr);
    grid-template-areas:
      "check project"
      "client client"
      "date invoice"
      "status balance"
      "next next"
      "actions actions"
      "hint hint";
    gap:8px 10px;
    width:100%;
    max-width:100%;
    margin:0 0 10px;
    padding:14px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(4,7,14,.58);
    box-sizing:border-box;
    cursor:pointer;
    min-width:0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    -webkit-tap-highlight-color:rgba(34,197,94,.12);
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row]::after{
    content:"Tap to view details";
    grid-area:hint;
    font-size:11px;
    font-weight:650;
    letter-spacing:.02em;
    color:rgba(148,163,184,.88);
    padding-top:2px;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td{
    display:block;
    padding:0;
    border:none;
    min-width:0;
    max-width:100%;
    font-size:13px;
    line-height:1.35;
    overflow-wrap:anywhere;
    word-break:break-word;
    box-sizing:border-box;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td::before{
    display:block;
    font-size:10px;
    font-weight:750;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(148,163,184,.9);
    margin-bottom:3px;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(1){
    grid-area:check;
    align-self:start;
    padding-top:2px;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(1)::before{
    display:none;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(1) input[type="checkbox"]{
    width:18px;
    height:18px;
    margin:0;
    cursor:pointer;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(2){
    grid-area:date;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(2)::before{
    content:"Date";
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(3){
    grid-area:client;
    font-size:14px;
    font-weight:650;
    color:rgba(232,238,252,.92);
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(3)::before{
    content:"Client";
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4){
    grid-area:project;
    font-size:14px;
    color:rgba(232,238,252,.95);
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4)::before{
    display:none;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) strong{
    display:block;
    font-size:16px;
    font-weight:800;
    line-height:1.3;
    margin-top:2px;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-priority-badge{
    margin:0 6px 6px 0;
    vertical-align:middle;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-invoice-row-label,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-server-badge{
    display:inline-block;
    max-width:100%;
    overflow-wrap:anywhere;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(5){
    grid-area:invoice;
    font-weight:700;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(5)::before{
    content:"Invoice";
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(6){
    grid-area:status;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(6)::before{
    content:"Status";
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(7){
    grid-area:balance;
    font-size:18px;
    font-weight:850;
    letter-spacing:-.02em;
    color:rgba(248,250,252,.98);
    text-align:right;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(7)::before{
    content:"Balance";
    text-align:left;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(8){
    grid-area:next;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(8)::before{
    content:"Next action";
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9){
    grid-area:actions;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9)::before{
    content:"Actions";
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9) .row-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:2px;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9) .btn{
    padding:7px 10px;
    font-size:12px;
    min-height:36px;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr.hub-row--priority-1 > td,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr.hub-row--priority-2 > td,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr.hub-row--priority-3 > td{
    border-top:none;
    border-bottom:none;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr.hub-row--priority-1{
    border-left:3px solid rgba(245,158,11,.85);
    background:linear-gradient(165deg, rgba(245,158,11,.1), rgba(4,7,14,.58));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 0 20px rgba(245,158,11,.06);
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr.hub-row--priority-2{
    background:linear-gradient(165deg, rgba(245,158,11,.04), rgba(4,7,14,.55));
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr.hub-row--priority-3{
    background:rgba(4,7,14,.52);
  }
  body[data-role="estimates-hub"] .hub-console-table-card .section-head .btn.primary,
  body[data-role="estimates-hub"] #hubModeFilter .btn.active{
    min-height:40px;
  }

  /* Step 3E-C16-Q3J-FIX1A — compact collapsed hub cards + mobile drawer actions */
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row]{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    align-content:flex-start;
    gap:4px 8px;
    padding:10px 40px 10px 12px;
    position:relative;
    min-height:0;
    max-height:none;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row]::after{
    content:none;
    display:none;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(2),
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(5),
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(7),
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(8){
    display:none !important;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(1){
    position:absolute;
    top:10px;
    right:10px;
    padding:0;
    z-index:2;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4){
    display:contents;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) strong{
    flex:1 1 100%;
    order:12;
    display:block;
    width:100%;
    font-size:15px;
    font-weight:800;
    line-height:1.28;
    margin:0;
    overflow-wrap:anywhere;
    word-break:normal;
    color:rgba(248,250,252,.98);
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-priority-badge,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-invoice-row-label,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-server-badge,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(6){
    flex:0 1 auto;
    order:1;
    max-width:calc(100% - 36px);
    margin:0;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-priority-badge,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-invoice-row-label,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-server-badge,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(6) .hub-status{
    white-space:nowrap;
    display:inline-flex;
    align-items:center;
    width:auto;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    vertical-align:middle;
    font-size:10px;
    padding:3px 8px;
    line-height:1.2;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-priority-badge{
    margin:0;
    padding:3px 8px;
    font-size:10px;
    line-height:1.2;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-invoice-row-label{
    display:inline-flex;
    font-size:10px;
    line-height:1.2;
    padding:3px 8px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.06);
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-server-badge{
    font-size:10px;
    padding:3px 8px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.04);
    margin:0;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(4) .hub-invoice-row-sep{
    display:none !important;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(6){
    padding:0;
    border:none;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(6)::before{
    display:none;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(3){
    flex:1 1 100%;
    order:13;
    padding:0;
    font-size:13px;
    font-weight:550;
    line-height:1.3;
    color:rgba(232,238,252,.78);
    overflow-wrap:anywhere;
    word-break:normal;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(3)::before{
    display:none;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9){
    flex:1 1 100%;
    order:14;
    padding:4px 0 0;
    margin:0;
    border:none;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9)::before{
    display:none;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9) .row-actions{
    display:flex;
    flex-wrap:nowrap;
    gap:0;
    margin:0;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9) .hub-cta-send,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9) .hub-cta-secondary,
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9) [data-hub-archive],
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9) [data-hub-delete],
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9) [data-hub-pay],
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9) [data-hub-mark-paid]{
    display:none !important;
  }
  body[data-role="estimates-hub"] .hub-console-table-card .hub-table tbody tr[data-hub-row] > td:nth-child(9) .hub-cta-view{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    font-size:13px;
    font-weight:700;
    border-style:solid;
    border-color:rgba(255,255,255,.18);
    color:rgba(248,250,252,.95);
    background:rgba(255,255,255,.05);
    text-align:center;
    justify-content:center;
  }

  /* Mobile drawer — full detail + action grid */
  body[data-role="estimates-hub"] #hubDrawer.modal{
    align-items:flex-end;
    justify-content:center;
    padding:0;
    overflow:hidden;
  }
  body[data-role="estimates-hub"] #hubDrawer .hub-drawer-card{
    width:100%;
    max-width:100%;
    max-height:min(94vh, 100dvh);
    margin:0;
    border-radius:16px 16px 0 0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    box-sizing:border-box;
  }
  body[data-role="estimates-hub"] #hubDrawer .modal-header{
    flex:0 0 auto;
    padding:14px 14px 10px;
    min-width:0;
  }
  body[data-role="estimates-hub"] #hubDrawer .hub-drawer-header-stack{
    min-width:0;
    max-width:calc(100% - 44px);
  }
  body[data-role="estimates-hub"] #hubDrawer .hub-drawer-next-action--header-primary{
    font-size:1.05rem;
    line-height:1.25;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  body[data-role="estimates-hub"] #hubDrawer .modal-title,
  body[data-role="estimates-hub"] #hubDrawer .modal-subtitle{
    overflow-wrap:anywhere;
    word-break:normal;
  }
  body[data-role="estimates-hub"] #hubDrawer .modal-body{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:12px 14px;
    gap:10px;
  }
  body[data-role="estimates-hub"] #hubDrawer .hub-drawer-payment-stats.supervisor-summary-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }
  body[data-role="estimates-hub"] #hubDrawer .hub-drawer-payment-context{
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:10px;
  }
  body[data-role="estimates-hub"] #hubDrawer .hub-drawer-section .supervisor-table-wrap{
    overflow-x:auto;
    max-width:100%;
  }
  body[data-role="estimates-hub"] #hubDrawer .modal-footer{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    justify-content:stretch;
    align-items:stretch;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    border-top:1px solid rgba(255,255,255,.08);
    max-width:100%;
    box-sizing:border-box;
    overflow-x:hidden;
  }
  body[data-role="estimates-hub"] #hubDrawer .modal-footer .btn{
    width:100%;
    min-height:46px;
    max-width:100%;
    margin:0;
    padding:10px 12px;
    font-size:13px;
    line-height:1.25;
    white-space:normal;
    text-align:center;
    justify-content:center;
    overflow-wrap:anywhere;
    word-break:normal;
    box-sizing:border-box;
  }
  body[data-role="estimates-hub"] #hubDrawer .modal-footer .btn.primary{
    grid-column:1 / -1;
  }
  body[data-role="estimates-hub"] #hubDrawer .modal-footer .btn[style*="display: none"],
  body[data-role="estimates-hub"] #hubDrawer .modal-footer .btn[style*="display:none"]{
    display:none !important;
  }

  /* Step 3E-C16-Q3J-EXT2 — mobile cards for PC/SA/Team */
  body[data-mg-page-title="Project Control"],
  body[data-mg-page-title="Sales Admin"],
  body.team-devices-page{
    overflow-x:hidden;
  }

  /* —— Project Control —— */
  body[data-mg-page-title="Project Control"] .pcc-table-wrap{
    overflow-x:visible;
    max-width:100%;
    width:100%;
    border:none;
    border-radius:0;
  }
  body[data-mg-page-title="Project Control"] .pcc-table-wrap .table{
    min-width:0;
    width:100%;
    border:none;
    background:transparent;
    border-radius:0;
  }
  body[data-mg-page-title="Project Control"] #pccTableBody{
    display:block;
    width:100%;
  }
  body[data-mg-page-title="Project Control"] .pcc-table-wrap .table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  body[data-mg-page-title="Project Control"] .pcc-progress-cell{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    width:100%;
    max-width:100%;
    margin:0 0 10px;
    padding:14px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(4,7,14,.58);
    box-sizing:border-box;
    min-width:0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row.selected{
    border-color:rgba(15,138,95,.45);
    background:linear-gradient(165deg, rgba(15,138,95,.12), rgba(4,7,14,.58));
  }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row > td{
    display:block;
    padding:0;
    border:none;
    min-width:0;
    max-width:100%;
    font-size:13px;
    line-height:1.35;
    overflow-wrap:anywhere;
    word-break:normal;
    box-sizing:border-box;
  }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row > td::before{
    display:block;
    font-size:10px;
    font-weight:750;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(148,163,184,.9);
    margin-bottom:3px;
  }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row > td:nth-child(1){
    font-size:16px;
    font-weight:800;
    line-height:1.3;
    color:rgba(248,250,252,.98);
  }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row > td:nth-child(1)::before,
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row > td.pcc-row-actions::before{
    display:none;
  }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row > td:nth-child(2)::before{ content:"Client"; }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row > td:nth-child(3)::before{ content:"Due"; }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row > td:nth-child(4)::before{ content:"Progress"; }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row > td:nth-child(5)::before{ content:"Status"; }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row > td.pcc-row-actions{
    padding-top:8px;
    margin-top:2px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row .pcc-row-actions{
    justify-content:flex-start;
    gap:8px;
  }
  body[data-mg-page-title="Project Control"] #pccTableBody tr.pcc-row .pcc-row-actions .btn{
    white-space:normal;
    text-align:center;
    min-height:40px;
  }

  /* —— Sales Admin (all sa-table-wrap lists) —— */
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap{
    overflow-x:visible;
    max-width:100%;
    width:100%;
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap .table{
    min-width:0;
    width:100%;
    border:none;
    background:transparent;
    border-radius:0;
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap .table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap tbody{
    display:block;
    width:100%;
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap tbody tr{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px 12px;
    width:100%;
    max-width:100%;
    margin:0 0 10px;
    padding:14px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(4,7,14,.58);
    box-sizing:border-box;
    min-width:0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap tbody tr > td{
    display:block;
    padding:0;
    border:none;
    min-width:0;
    max-width:100%;
    font-size:13px;
    line-height:1.35;
    overflow-wrap:anywhere;
    word-break:normal;
    box-sizing:border-box;
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap tbody tr > td::before{
    display:block;
    font-size:10px;
    font-weight:750;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(148,163,184,.9);
    margin-bottom:3px;
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap tbody tr > td:nth-child(1){
    grid-column:1 / -1;
    font-size:16px;
    font-weight:800;
    line-height:1.3;
    color:rgba(248,250,252,.98);
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap tbody tr > td:nth-child(1)::before{
    display:none;
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap tbody tr > td:nth-child(2){
    grid-column:1 / -1;
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap tbody tr > td:last-child{
    grid-column:1 / -1;
    padding-top:8px;
    margin-top:2px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap tbody tr > td:last-child::before{
    display:none;
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap .sa-row-actions,
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap .sa-link-group{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-start;
  }
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap .sa-row-actions .btn,
  body[data-mg-page-title="Sales Admin"] .sa-table-wrap .sa-link-group .btn{
    min-height:40px;
    white-space:normal;
    text-align:center;
  }

  /* Quote pipeline */
  body[data-mg-page-title="Sales Admin"] #saQuotePipelineBody tr > td:nth-child(2)::before{ content:"Project"; }
  body[data-mg-page-title="Sales Admin"] #saQuotePipelineBody tr > td:nth-child(3)::before{ content:"Client"; }
  body[data-mg-page-title="Sales Admin"] #saQuotePipelineBody tr > td:nth-child(4)::before{ content:"Status"; }
  body[data-mg-page-title="Sales Admin"] #saQuotePipelineBody tr > td:nth-child(5)::before{ content:"Seller / Owner"; }
  body[data-mg-page-title="Sales Admin"] #saQuotePipelineBody tr > td:nth-child(6)::before{ content:"Total"; }
  body[data-mg-page-title="Sales Admin"] #saQuotePipelineBody tr > td:nth-child(7)::before{ content:"Created"; }
  body[data-mg-page-title="Sales Admin"] #saQuotePipelineBody tr > td:nth-child(8)::before{ content:"Accepted"; }
  body[data-mg-page-title="Sales Admin"] #saQuotePipelineBody tr > td:nth-child(9)::before{ content:"Project Linked"; }

  /* Approval queue */
  body[data-mg-page-title="Sales Admin"] #adminQueueBody tr > td:nth-child(2)::before{ content:"Client"; }
  body[data-mg-page-title="Sales Admin"] #adminQueueBody tr > td:nth-child(3)::before{ content:"Seller"; }
  body[data-mg-page-title="Sales Admin"] #adminQueueBody tr > td:nth-child(4)::before{ content:"Final Price"; }
  body[data-mg-page-title="Sales Admin"] #adminQueueBody tr > td:nth-child(5)::before{ content:"Real Margin"; }
  body[data-mg-page-title="Sales Admin"] #adminQueueBody tr > td:nth-child(6)::before{ content:"Target Margin"; }
  body[data-mg-page-title="Sales Admin"] #adminQueueBody tr > td:nth-child(7)::before{ content:"Minimum Margin"; }
  body[data-mg-page-title="Sales Admin"] #adminQueueBody tr > td:nth-child(8)::before{ content:"Review Reason"; }
  body[data-mg-page-title="Sales Admin"] #adminQueueBody tr > td:nth-child(9)::before{ content:"Status"; }

  /* Converted projects (primary) */
  body[data-mg-page-title="Sales Admin"] #saConvertedBody tr > td:nth-child(2)::before{ content:"Client"; }
  body[data-mg-page-title="Sales Admin"] #saConvertedBody tr > td:nth-child(3)::before{ content:"Quote Status"; }
  body[data-mg-page-title="Sales Admin"] #saConvertedBody tr > td:nth-child(4)::before{ content:"Project Status"; }
  body[data-mg-page-title="Sales Admin"] #saConvertedBody tr > td:nth-child(5)::before{ content:"Sale Price"; }
  body[data-mg-page-title="Sales Admin"] #saConvertedBody tr > td:nth-child(6)::before{ content:"Labor Budget"; }
  body[data-mg-page-title="Sales Admin"] #saConvertedBody tr > td:nth-child(7)::before{ content:"Est. Commission"; }
  body[data-mg-page-title="Sales Admin"] #saConvertedBody tr > td:nth-child(8)::before{ content:"Invoice Status"; }
  body[data-mg-page-title="Sales Admin"] #saConvertedBody tr > td:nth-child(9)::before{ content:"Balance Due"; }

  /* Seller performance */
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(2)::before{ content:"Published quotes"; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(3)::before{ content:"Ready to send"; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(4)::before{ content:"Accepted / approved"; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(5)::before{ content:"Archived"; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(6)::before{ content:"Linked to project"; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(7)::before{ content:"Device quotes"; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(8)::before{ content:"Total quoted"; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(9)::before{ content:"Labor sold est."; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(10)::before{ content:"Est. commission"; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(11)::before{ content:"Approval requests"; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(12)::before{ content:"Approved"; }
  body[data-mg-page-title="Sales Admin"] #saSellerBody tr > td:nth-child(13)::before{ content:"Rejected"; }

  /* Commission tracking */
  body[data-mg-page-title="Sales Admin"] #saCommissionBody tr > td:nth-child(2)::before{ content:"Labor Budget"; }
  body[data-mg-page-title="Sales Admin"] #saCommissionBody tr > td:nth-child(3)::before{ content:"Seller %"; }
  body[data-mg-page-title="Sales Admin"] #saCommissionBody tr > td:nth-child(4)::before{ content:"Estimated Commission"; }
  body[data-mg-page-title="Sales Admin"] #saCommissionBody tr > td:nth-child(5)::before{ content:"Invoice Status"; }
  body[data-mg-page-title="Sales Admin"] #saCommissionBody tr > td:nth-child(6)::before{ content:"Balance Due"; }

  /* —— Team & Devices —— */
  body.team-devices-page .td-table-wrap{
    overflow-x:visible;
    max-width:100%;
    width:100%;
  }
  body.team-devices-page .td-table-wrap .table{
    min-width:0;
    width:100%;
    border:none;
    background:transparent;
    border-radius:0;
  }
  body.team-devices-page .td-table-wrap .table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  body.team-devices-page #tdMembersBody,
  body.team-devices-page #tdDevicesBody{
    display:block;
    width:100%;
  }
  body.team-devices-page #tdMembersBody tr,
  body.team-devices-page #tdDevicesBody tr{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    width:100%;
    max-width:100%;
    margin:0 0 10px;
    padding:14px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(4,7,14,.58);
    box-sizing:border-box;
    min-width:0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  }
  body.team-devices-page #tdMembersBody tr > td,
  body.team-devices-page #tdDevicesBody tr > td{
    display:block;
    padding:0;
    border:none;
    min-width:0;
    max-width:100%;
    font-size:13px;
    line-height:1.35;
    overflow-wrap:anywhere;
    word-break:normal;
    box-sizing:border-box;
  }
  body.team-devices-page #tdMembersBody tr > td::before,
  body.team-devices-page #tdDevicesBody tr > td::before{
    display:block;
    font-size:10px;
    font-weight:750;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(148,163,184,.9);
    margin-bottom:3px;
  }
  body.team-devices-page #tdMembersBody tr > td:nth-child(1),
  body.team-devices-page #tdDevicesBody tr > td:nth-child(1){
    font-size:16px;
    font-weight:800;
    line-height:1.3;
    color:rgba(248,250,252,.98);
  }
  body.team-devices-page #tdMembersBody tr > td:nth-child(1)::before,
  body.team-devices-page #tdDevicesBody tr > td:nth-child(1)::before,
  body.team-devices-page #tdMembersBody tr > td:last-child::before,
  body.team-devices-page #tdDevicesBody tr > td:last-child::before{
    display:none;
  }
  body.team-devices-page #tdMembersBody tr > td:nth-child(2)::before{ content:"Email"; }
  body.team-devices-page #tdMembersBody tr > td:nth-child(3)::before{ content:"Role"; }
  body.team-devices-page #tdMembersBody tr > td:nth-child(4)::before{ content:"Status"; }
  body.team-devices-page #tdMembersBody tr > td:nth-child(5)::before{ content:"Readiness"; }
  body.team-devices-page #tdMembersBody tr > td:nth-child(6)::before{ content:"Created"; }
  body.team-devices-page #tdMembersBody tr > td:nth-child(2){
    overflow-wrap:anywhere;
    word-break:normal;
  }
  body.team-devices-page #tdMembersBody tr > td:last-child,
  body.team-devices-page #tdDevicesBody tr > td:last-child{
    padding-top:8px;
    margin-top:2px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  body.team-devices-page #tdDevicesBody tr > td:nth-child(2)::before{ content:"Portal Type"; }
  body.team-devices-page #tdDevicesBody tr > td:nth-child(3)::before{ content:"Assigned Member"; }
  body.team-devices-page #tdDevicesBody tr > td:nth-child(4)::before{ content:"Device Status"; }
  body.team-devices-page #tdDevicesBody tr > td:nth-child(5)::before{ content:"Last Seen"; }
  body.team-devices-page #tdDevicesBody tr > td:nth-child(3){
    overflow-wrap:anywhere;
    word-break:normal;
  }
  body.team-devices-page .td-row-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-start;
  }
  body.team-devices-page .td-row-actions .btn{
    min-height:40px;
    white-space:normal;
    text-align:center;
  }

  /* Step 3E-C16-Q3K-1 — mobile typography safety */
  body[data-requires-auth="true"] .field input,
  body[data-requires-auth="true"] .field select,
  body[data-requires-auth="true"] .field textarea,
  body[data-requires-auth="true"] .table td input,
  body[data-requires-auth="true"] .table td select,
  body.team-devices-page .td-filters select{
    font-size:max(16px,var(--mg-font-body));
  }
  /* Step 3E-C16-Q3K-1-FIX1 — Business Settings mobile input floor (beats page inline/dense rules) */
  body.business-settings-page .field input,
  body.business-settings-page .field select,
  body.business-settings-page .field textarea,
  body.business-settings-page .bs-form-dense .field input,
  body.business-settings-page .bs-form-dense .field select,
  body.business-settings-page .bs-form-dense .field textarea{
    font-size:max(16px,var(--mg-font-body));
  }
  body[data-requires-auth="true"] .btn{
    font-size:var(--mg-font-button);
    min-height:var(--mg-touch-min);
  }
  body[data-requires-auth="true"] .kpi-box .value,
  body[data-requires-auth="true"] .strip-card .big,
  body[data-requires-auth="true"] .supervisor-summary-card .big,
  body[data-role="owner"] .owner-quote-price,
  body[data-mg-page-title="Vendedor"] .sales-op-summary-total__value,
  body[data-mg-page-title="Sales Admin"] .sa-kpi__value,
  body[data-mg-page-title="Project Control"] .pcc-kpi__value{
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-requires-auth="true"] .badge,
  body[data-requires-auth="true"] .hub-status,
  body[data-requires-auth="true"] .hub-health,
  body[data-requires-auth="true"] .sales-op-status-pill{
    white-space:nowrap;
    flex-shrink:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.team-devices-page #tdMembersBody tr > td:nth-child(2),
  body.team-devices-page #tdDevicesBody tr > td:nth-child(3){
    overflow-wrap:anywhere;
    word-break:normal;
  }

  /* Step 3E-C16-Q3K-2 — mobile hero typography tightening */
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .card-inner,
  body[data-mg-page-title="Dueno"] .owner-hero .card-inner,
  body[data-mg-page-title="Dueño"] .owner-hero .card-inner,
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .card-inner,
  body[data-role="estimates-hub"] .hub-console-intro .card-inner{
    padding:14px 14px 16px;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero-inner,
  body[data-mg-page-title="Dueno"] .owner-hero-inner,
  body[data-mg-page-title="Dueño"] .owner-hero-inner,
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .owner-hero-inner,
  body[data-role="estimates-hub"] .hub-console-intro .owner-hero-inner{
    gap:12px;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .hero-title,
  body[data-mg-page-title="Dueno"] .owner-hero .hero-title,
  body[data-mg-page-title="Dueño"] .owner-hero .hero-title,
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .hero-title,
  body[data-role="estimates-hub"] .hub-console-intro .hero-title{
    font-size:clamp(18px,5vw,20px);
    line-height:var(--mg-line-height-title);
    letter-spacing:-.02em;
    margin-bottom:8px;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero-lead,
  body[data-mg-page-title="Dueno"] .owner-hero-lead,
  body[data-mg-page-title="Dueño"] .owner-hero-lead,
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .sub,
  body[data-role="estimates-hub"] .hub-console-intro .sub{
    font-size:13px;
    line-height:1.4;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .hero-score,
  body[data-mg-page-title="Dueno"] .owner-hero .hero-score,
  body[data-mg-page-title="Dueño"] .owner-hero .hero-score,
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .hero-score,
  body[data-role="estimates-hub"] .hub-console-intro .hero-score{
    padding:14px 16px;
    border-radius:16px;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .hero-score-value,
  body[data-mg-page-title="Dueno"] .owner-hero .hero-score-value,
  body[data-mg-page-title="Dueño"] .owner-hero .hero-score-value,
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .hero-score-value,
  body[data-role="estimates-hub"] .hub-console-intro .hero-score-value{
    margin-top:6px;
    font-size:clamp(26px,7vw,30px);
    font-weight:850;
    line-height:1.05;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .hero-score-label,
  body[data-mg-page-title="Dueno"] .owner-hero .hero-score-label,
  body[data-mg-page-title="Dueño"] .owner-hero .hero-score-label,
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .hero-score-label,
  body[data-role="estimates-hub"] .hub-console-intro .hero-score-label{
    font-size:10px;
    letter-spacing:var(--mg-label-tracking);
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .hero-score-meta,
  body[data-mg-page-title="Dueno"] .owner-hero .hero-score-meta,
  body[data-mg-page-title="Dueño"] .owner-hero .hero-score-meta,
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .hero-score-meta,
  body[data-role="estimates-hub"] .hub-console-intro .hero-score-meta{
    margin-top:6px;
    font-size:12px;
    line-height:1.35;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .eyebrow,
  body[data-mg-page-title="Dueno"] .owner-hero .eyebrow,
  body[data-mg-page-title="Dueño"] .owner-hero .eyebrow,
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .eyebrow,
  body[data-role="estimates-hub"] .hub-console-intro .eyebrow{
    margin-bottom:8px;
    padding:5px 9px;
    font-size:10px;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-workspace-main .section-head h2{
    font-size:var(--mg-font-card-title);
    line-height:var(--mg-line-height-title);
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-workspace-main .section-head .sub{
    font-size:var(--mg-font-body);
    line-height:1.35;
  }
  body[data-mg-page-title="Vendedor"] #salesEstimateSummary{
    font-size:13px;
    line-height:1.4;
    padding:10px 12px;
  }
  body[data-mg-page-title="Vendedor"] .sales-op-summary-total__value{
    font-size:clamp(16px,4.5vw,18px);
  }
  body[data-mg-page-title="Vendedor"] .sales-op-summary-kv,
  body[data-mg-page-title="Vendedor"] .sales-op-summary-kv dd{
    font-size:12px;
  }
  body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-quote-price{
    font-size:clamp(22px,6.5vw,28px);
    line-height:1.1;
  }
  body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-quote-hero{
    padding:12px;
  }
  body[data-role="estimates-hub"] .hub-hero-start{
    margin-top:8px;
    font-size:13px;
    line-height:1.35;
    font-weight:600;
  }
  body[data-role="estimates-hub"] .hub-console-kpis-card .card-inner{
    padding:14px;
  }
  body[data-role="estimates-hub"] .hub-console-kpis-card .section-head{
    margin-bottom:8px;
  }
  body[data-role="estimates-hub"] .hub-console-kpis-card .section-head h2{
    font-size:var(--mg-font-card-title);
    line-height:var(--mg-line-height-title);
  }
  body[data-role="estimates-hub"] .hub-console-kpis-card .section-head .sub{
    font-size:var(--mg-font-body);
    line-height:1.35;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-grid{
    margin-top:10px;
    gap:8px;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-primary,
  body[data-role="estimates-hub"] .hub-paid-faster-action{
    padding:12px 14px;
    border-radius:14px;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-primary-value,
  body[data-role="estimates-hub"] .hub-paid-faster-primary .big{
    font-size:clamp(22px,6.5vw,28px);
    font-weight:800;
    line-height:1.1;
    margin:4px 0 2px;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-action-value{
    font-size:clamp(14px,3.8vw,16px);
    font-weight:700;
    line-height:1.25;
    margin:4px 0 2px;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-mini{
    padding:10px 12px;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-mini .big{
    font-size:15px;
    font-weight:750;
    margin-top:4px;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-primary .title,
  body[data-role="estimates-hub"] .hub-paid-faster-action .title,
  body[data-role="estimates-hub"] .hub-paid-faster-mini .title{
    font-size:10px;
    letter-spacing:var(--mg-label-tracking);
  }
  body[data-role="estimates-hub"] .hub-paid-faster-primary .small,
  body[data-role="estimates-hub"] .hub-paid-faster-action .small,
  body[data-role="estimates-hub"] .hub-paid-faster-mini .small{
    font-size:12px;
    line-height:1.35;
    margin-top:4px;
  }
}

/* Step 3E-C16-Q3K-3B — invoice hub dashboard typography alignment */
@media (min-width: 641px){
  body[data-role="estimates-hub"] .hub-console-intro .hero-score-value,
  body[data-role="estimates-hub"] .hub-console-intro #hubHeroTotal{
    font-size:clamp(20px, 2.2vw, 26px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.03em;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-role="estimates-hub"] .hub-console-intro .hero-score-label{
    font-size:10px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  body[data-role="estimates-hub"] .hub-console-intro .hero-score-meta{
    font-size:12px;
    line-height:1.35;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-primary-value,
  body[data-role="estimates-hub"] .hub-paid-faster-primary .big{
    font-size:clamp(20px, 2.2vw, 26px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.03em;
    margin:6px 0 4px;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-action-value{
    font-size:clamp(16px, 1.8vw, 20px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.035em;
    margin:6px 0 4px;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-mini .big{
    font-size:clamp(16px, 1.9vw, 21px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.035em;
    margin:4px 0 2px;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-role="estimates-hub"] .hub-drawer-stat-primary .big{
    font-size:clamp(20px, 2.2vw, 26px);
    font-weight:900;
    line-height:var(--mg-line-height-tight);
  }
  body[data-role="estimates-hub"] .hub-drawer-stat-secondary .big{
    font-size:clamp(16px, 1.9vw, 21px);
    font-weight:900;
    line-height:var(--mg-line-height-tight);
  }
  body[data-role="estimates-hub"] .hub-paid-faster-primary .title,
  body[data-role="estimates-hub"] .hub-paid-faster-action .title{
    font-size:10px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
    opacity:.92;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-mini .title{
    font-size:10px;
    font-weight:750;
    letter-spacing:.05em;
    text-transform:uppercase;
    opacity:.85;
  }
  body[data-role="estimates-hub"] .hub-paid-faster-primary .small,
  body[data-role="estimates-hub"] .hub-paid-faster-action .small,
  body[data-role="estimates-hub"] .hub-paid-faster-mini .small{
    font-size:11px;
    line-height:1.35;
  }
  body[data-role="estimates-hub"] .hub-hero-start{
    font-size:13px;
    font-weight:400;
    line-height:1.35;
  }
  body[data-role="estimates-hub"] .hub-console-kpis-card .section-head h2,
  body[data-role="estimates-hub"] .hub-console-table-card .section-head h2{
    font-size:13px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
    line-height:1.15;
  }
  body[data-role="estimates-hub"] .hub-console-kpis-card .section-head .sub{
    font-size:12px;
    line-height:1.35;
  }
}

/* Step 3E-C16-Q3K-3C — owner desktop dashboard typography alignment */
@media (min-width: 641px){
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .hero-score-value,
  body[data-mg-page-title="Dueno"] .owner-hero .hero-score-value,
  body[data-mg-page-title="Dueño"] .owner-hero .hero-score-value{
    font-size:clamp(20px, 2.2vw, 26px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.03em;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .hero-score-label,
  body[data-mg-page-title="Dueno"] .owner-hero .hero-score-label,
  body[data-mg-page-title="Dueño"] .owner-hero .hero-score-label{
    font-size:10px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .hero-score-meta,
  body[data-mg-page-title="Dueno"] .owner-hero .hero-score-meta,
  body[data-mg-page-title="Dueño"] .owner-hero .hero-score-meta{
    font-size:12px;
    line-height:1.35;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero .hero-title,
  body[data-mg-page-title="Dueno"] .owner-hero .hero-title,
  body[data-mg-page-title="Dueño"] .owner-hero .hero-title{
    font-size:clamp(18px, 2vw, 24px);
    font-weight:900;
    line-height:1.15;
    letter-spacing:-.04em;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-hero-lead,
  body[data-mg-page-title="Dueno"] .owner-hero-lead,
  body[data-mg-page-title="Dueño"] .owner-hero-lead{
    font-size:13px;
    line-height:1.35;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-quote-price,
  body[data-mg-page-title="Dueno"] .owner-quote-price,
  body[data-mg-page-title="Dueño"] .owner-quote-price{
    font-size:clamp(20px, 2.2vw, 28px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.03em;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-quote-kicker,
  body[data-mg-page-title="Dueno"] .owner-quote-kicker,
  body[data-mg-page-title="Dueño"] .owner-quote-kicker{
    font-size:10px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-workspace-main .section-head h2,
  body[data-mg-page-title="Dueno"] .owner-workspace-main .section-head h2,
  body[data-mg-page-title="Dueño"] .owner-workspace-main .section-head h2{
    font-size:13px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
    line-height:1.15;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-workspace-main .section-head .sub,
  body[data-mg-page-title="Dueno"] .owner-workspace-main .section-head .sub,
  body[data-mg-page-title="Dueño"] .owner-workspace-main .section-head .sub{
    font-size:12px;
    line-height:1.35;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-quote-snapshot__title,
  body[data-mg-page-title="Dueno"] .owner-quote-snapshot__title,
  body[data-mg-page-title="Dueño"] .owner-quote-snapshot__title{
    font-size:15px;
    font-weight:850;
    line-height:1.15;
    letter-spacing:-.02em;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-quote-snapshot__lead,
  body[data-mg-page-title="Dueno"] .owner-quote-snapshot__lead,
  body[data-mg-page-title="Dueño"] .owner-quote-snapshot__lead{
    font-size:12px;
    line-height:1.35;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-mini-card .big,
  body[data-mg-page-title="Dueno"] .owner-mini-card .big,
  body[data-mg-page-title="Dueño"] .owner-mini-card .big{
    font-size:clamp(16px, 1.9vw, 21px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.035em;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-detail-grid .kpi-box .value,
  body[data-mg-page-title="Dueno"] .owner-detail-grid .kpi-box .value,
  body[data-mg-page-title="Dueño"] .owner-detail-grid .kpi-box .value,
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-quote-snapshot .owner-detail-grid .kpi-box .value,
  body[data-mg-page-title="Dueno"] .owner-quote-snapshot .owner-detail-grid .kpi-box .value,
  body[data-mg-page-title="Dueño"] .owner-quote-snapshot .owner-detail-grid .kpi-box .value{
    font-size:clamp(16px, 1.9vw, 21px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.035em;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-mini-card .title,
  body[data-mg-page-title="Dueno"] .owner-mini-card .title,
  body[data-mg-page-title="Dueño"] .owner-mini-card .title,
  body[data-role="owner"]:not(.team-devices-page):not(.business-settings-page) .owner-detail-grid .kpi-box .label,
  body[data-mg-page-title="Dueno"] .owner-detail-grid .kpi-box .label,
  body[data-mg-page-title="Dueño"] .owner-detail-grid .kpi-box .label{
    font-size:10px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
}

/* Step 3E-C16-Q3K-3D — vendedor desktop dashboard typography alignment */
@media (min-width: 641px){
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .hero-score-value,
  body[data-role="sales"] .sales-layout-hero .hero-score-value{
    font-size:clamp(20px, 2.2vw, 26px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.03em;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .hero-score-label,
  body[data-role="sales"] .sales-layout-hero .hero-score-label{
    font-size:10px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .hero-score-meta,
  body[data-role="sales"] .sales-layout-hero .hero-score-meta{
    font-size:12px;
    line-height:1.35;
  }
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .hero-title,
  body[data-role="sales"] .sales-layout-hero .hero-title{
    font-size:clamp(18px, 2vw, 24px);
    font-weight:900;
    line-height:1.15;
    letter-spacing:-.04em;
  }
  body[data-mg-page-title="Vendedor"] .sales-layout-hero .sub,
  body[data-role="sales"] .sales-layout-hero .sub{
    font-size:13px;
    line-height:1.35;
  }
  body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-quote-price,
  body[data-role="sales"] .grid.sales-layout .owner-quote-price{
    font-size:clamp(20px, 2.2vw, 28px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.03em;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-mg-page-title="Vendedor"] .sales-op-summary-total__value,
  body[data-role="sales"] .sales-op-summary-total__value{
    font-size:clamp(16px, 1.9vw, 21px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.035em;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-mg-page-title="Vendedor"] .sales-op-summary-kv,
  body[data-role="sales"] .sales-op-summary-kv{
    font-size:12px;
    line-height:1.35;
  }
  body[data-mg-page-title="Vendedor"] .sales-op-summary-kv dd,
  body[data-role="sales"] .sales-op-summary-kv dd{
    font-size:13px;
    font-weight:650;
    line-height:1.35;
  }
  body[data-mg-page-title="Vendedor"] #salesEstimateSummary,
  body[data-role="sales"] #salesEstimateSummary{
    font-size:13px;
    line-height:1.35;
  }
  body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-mini-card .big,
  body[data-role="sales"] .grid.sales-layout .owner-mini-card .big{
    font-size:clamp(16px, 1.9vw, 21px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.035em;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-detail-grid .kpi-box .value,
  body[data-role="sales"] .grid.sales-layout .owner-detail-grid .kpi-box .value,
  body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-kpi-grid .value,
  body[data-role="sales"] .grid.sales-layout .sales-kpi-grid .value{
    font-size:clamp(16px, 1.9vw, 21px);
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.035em;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-mini-card .title,
  body[data-role="sales"] .grid.sales-layout .owner-mini-card .title,
  body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-detail-grid .kpi-box .label,
  body[data-role="sales"] .grid.sales-layout .owner-detail-grid .kpi-box .label,
  body[data-mg-page-title="Vendedor"] .sales-op-summary-card__title,
  body[data-role="sales"] .sales-op-summary-card__title{
    font-size:10px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  body[data-mg-page-title="Vendedor"] .grid.sales-layout .section-head h2,
  body[data-role="sales"] .grid.sales-layout .section-head h2{
    font-size:13px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
    line-height:1.15;
  }
  body[data-mg-page-title="Vendedor"] .grid.sales-layout .section-head .sub,
  body[data-role="sales"] .grid.sales-layout .section-head .sub{
    font-size:12px;
    line-height:1.35;
  }
  body[data-mg-page-title="Vendedor"] .owner-quote-kicker,
  body[data-role="sales"] .owner-quote-kicker{
    font-size:10px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
}

/* Step 3E-C16-Q3K-3E — desktop paired card height alignment */
@media (min-width: 981px){
  body[data-role="dashboard"] .fcc-columns{
    align-items:stretch;
  }
  body[data-role="dashboard"] .fcc-column{
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  body[data-role="dashboard"] .fcc-column > .fcc-panel{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:0;
    margin-top:0;
  }
  body[data-role="dashboard"] .fcc-snapshot .card-inner,
  body[data-role="dashboard"] .fcc-treasury-panel .fcc-treasury-inner{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:0;
    box-sizing:border-box;
  }

  body[data-role="estimates-hub"] .hub-console-ops{
    align-items:stretch;
  }
  body[data-role="estimates-hub"] .hub-console-ops > .hub-console-kpis-card,
  body[data-role="estimates-hub"] .hub-console-ops > .hub-console-filters-card{
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:0;
    margin-top:0;
  }
  body[data-role="estimates-hub"] .hub-console-ops > .card > .card-inner{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:0;
    box-sizing:border-box;
  }
}

/* Step 3E-C16-Q3L-1 — global ultra-pro dark foundation */
:root{
  --bg:#0b0b0a;
  --panel:#141413;
  --panel2:#0b0b0a;
  --stroke:rgba(255,255,255,.07);
  --text:#f4f4f1;
  --muted:rgba(244,244,241,.56);
  --shadow:0 12px 32px rgba(0,0,0,.28);
}
body:not([data-role="dashboard"]){
  background:
    radial-gradient(ellipse 90% 48% at 50% -18%, rgba(15,118,110,.05), transparent 58%),
    #0b0b0a;
}
.topbar{
  background:#0b0b0a;
  backdrop-filter:none;
}
.mg-topbar{
  background:#0b0b0a;
  backdrop-filter:none;
}
.mg-sidebar{
  background:#0b0b0a;
  backdrop-filter:none;
  box-shadow:none;
}
.card{
  background:#141413;
  border-color:rgba(255,255,255,.07);
  box-shadow:none;
}
.logo{
  background:rgba(15,118,110,.12);
  border-color:rgba(15,118,110,.28);
  box-shadow:none;
}
.mg-sidebar__brand-mark{
  background:rgba(15,118,110,.12);
  border-color:rgba(15,118,110,.28);
}
.mg-sidebar__item--active{
  background:rgba(15,118,110,.12);
  border-color:rgba(15,118,110,.28);
  box-shadow:inset 3px 0 0 #0f766e;
}
.mg-sidebar__pin[aria-pressed="true"]{
  border-color:rgba(15,118,110,.35);
  background:rgba(15,118,110,.12);
}
.btn.primary{
  border-color:rgba(15,118,110,.42);
  background:rgba(15,118,110,.16);
  box-shadow:none;
}
.btn.primary:hover{
  background:rgba(15,118,110,.22);
  box-shadow:none;
}
.btn.active{
  outline:2px solid rgba(255,255,255,.14);
  box-shadow:none;
}
.owner-hero{
  background:#141413;
}
body[data-role="owner"] .owner-hero .hero-score{
  background:rgba(11,11,10,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body[data-role="owner"] .owner-hero .hero-score::after{
  display:none;
}
.owner-quote-price{
  color:#34d399;
  text-shadow:none;
}
body[data-role="owner"] .owner-quote-snapshot{
  background:#141413;
  box-shadow:none;
}
/* owner field wells — ultra-pro retint without rewriting owner.html */
body[data-role="owner"] .sales-quote-section .field input,
body[data-role="owner"] .sales-quote-section .field textarea,
body[data-role="owner"] .owner-operational .sales-op-toolbar .field input,
body[data-role="owner"] .owner-operational .owner-op-dash__dates-card .field input:not([readonly]):not(:disabled),
body[data-role="owner"] #ownerOpDayModal input:not([readonly]):not(:disabled),
body[data-role="owner"] #ownerOpDayModal select:not(:disabled),
body[data-role="owner"] #ownerOpDayModal textarea:not([readonly]),
body[data-role="owner"] .owner-input-project-name,
body[data-role="owner"] .owner-input-client-gc,
body[data-role="owner"] .owner-input-client-email,
body[data-role="owner"] .owner-input-client-phone,
body[data-role="owner"] .owner-input-location,
body[data-role="owner"] .owner-input-biz-pdf,
body[data-role="owner"] .owner-input-start-date,
body[data-role="owner"] .owner-op-scope-work__editor,
body[data-role="owner"] .owner-input-quote-notes,
body[data-role="owner"] .owner-input-project-name:placeholder-shown,
body[data-role="owner"] .owner-input-client-gc:placeholder-shown,
body[data-role="owner"] .owner-input-client-email:placeholder-shown,
body[data-role="owner"] .owner-input-client-phone:placeholder-shown,
body[data-role="owner"] .owner-input-location:placeholder-shown,
body[data-role="owner"] .owner-input-biz-pdf:placeholder-shown,
body[data-role="owner"] .owner-input-quote-notes:placeholder-shown,
body[data-role="owner"] table.owner-labor-table td input:not([readonly]),
body[data-role="owner"] table.owner-labor-table td select{
  background:#191918 !important;
  color:#f4f4f1 !important;
  caret-color:#f4f4f1 !important;
}
body[data-role="owner"] .sales-quote-section .field input:focus,
body[data-role="owner"] .sales-quote-section .field textarea:focus,
body[data-role="owner"] .owner-operational .sales-op-toolbar .field input:focus,
body[data-role="owner"] .owner-operational .owner-op-dash__dates-card .field input:not([readonly]):not(:disabled):focus,
body[data-role="owner"] #ownerOpDayModal input:focus,
body[data-role="owner"] #ownerOpDayModal select:focus,
body[data-role="owner"] #ownerOpDayModal textarea:focus,
body[data-role="owner"] .owner-input-project-name:focus,
body[data-role="owner"] .owner-input-client-gc:focus,
body[data-role="owner"] .owner-input-client-email:focus,
body[data-role="owner"] .owner-input-client-phone:focus,
body[data-role="owner"] .owner-input-location:focus,
body[data-role="owner"] .owner-input-biz-pdf:focus,
body[data-role="owner"] .owner-input-start-date:focus,
body[data-role="owner"] .owner-op-scope-work__editor:focus,
body[data-role="owner"] .owner-input-quote-notes:focus,
body[data-role="owner"] table.owner-labor-table td input:not([readonly]):focus,
body[data-role="owner"] table.owner-labor-table td select:focus{
  border-color:rgba(15,118,110,.50) !important;
  background:#1f1f1e !important;
  box-shadow:0 0 0 3px rgba(15,118,110,.14) !important;
}

/* Step 3E-C16-Q3L-3 — important text contrast recovery LOCAL DRAFT */
body[data-mg-page-title="Vendedor"] .grid.sales-layout .section-head h2,
body[data-role="sales"] .grid.sales-layout .section-head h2,
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-right-panel .card-inner > h2,
body[data-role="sales"] .grid.sales-layout .sales-right-panel .card-inner > h2{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-quote-section-title,
body[data-role="sales"] .grid.sales-layout .sales-quote-section-title{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .field > label,
body[data-role="sales"] .grid.sales-layout .field > label,
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-cc-wrap > label,
body[data-role="sales"] .grid.sales-layout .sales-cc-wrap > label,
body[data-mg-page-title="Vendedor"] .grid.sales-layout label.sub[for],
body[data-role="sales"] .grid.sales-layout label.sub[for]{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .sales-layout-hero .hero-score-label,
body[data-role="sales"] .sales-layout-hero .hero-score-label{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-labor__title,
body[data-role="sales"] .grid.sales-layout .sales-labor__title{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-operational__title,
body[data-role="sales"] .grid.sales-layout .sales-operational__title{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-op-timeline-title,
body[data-role="sales"] .grid.sales-layout .sales-op-timeline-title,
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-op-summary-card__title,
body[data-role="sales"] .grid.sales-layout .sales-op-summary-card__title,
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-op-calendar-card__title,
body[data-role="sales"] .grid.sales-layout .sales-op-calendar-card__title{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-op-summary-kv dt,
body[data-role="sales"] .grid.sales-layout .sales-op-summary-kv dt,
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-op-summary-total__label,
body[data-role="sales"] .grid.sales-layout .sales-op-summary-total__label{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th,
body[data-role="sales"] .grid.sales-layout .sales-labor-table-wrap table.sales-labor-table thead th.sales-labor-th{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-quote-kicker,
body[data-role="sales"] .grid.sales-layout .owner-quote-kicker,
body[data-mg-page-title="Vendedor"] .grid.sales-layout .owner-mini-card .title,
body[data-role="sales"] .grid.sales-layout .owner-mini-card .title{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-system-price__label,
body[data-role="sales"] .grid.sales-layout .sales-system-price__label{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .dashboard-note-title,
body[data-role="sales"] .grid.sales-layout .dashboard-note-title{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-stage-labels > span,
body[data-role="sales"] .grid.sales-layout .sales-stage-labels > span{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .grid.sales-layout .sales-labor-sync-toggle,
body[data-role="sales"] .grid.sales-layout .sales-labor-sync-toggle{
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] #salesNewQuoteTitle,
body[data-role="sales"] #salesNewQuoteTitle{
  color:#f8fafc;
}

/* Step 3E-C17-D — Sales contact picker (scoped) */
body[data-mg-page-title="Vendedor"] .sales-contact-picker,
body[data-role="sales"] .sales-contact-picker{
  margin-bottom:12px;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__search-wrap,
body[data-role="sales"] .sales-contact-picker__search-wrap{
  position:relative;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__results,
body[data-role="sales"] .sales-contact-picker__results{
  position:absolute;
  z-index:40;
  left:0;
  right:0;
  top:calc(100% + 4px);
  max-height:240px;
  overflow:auto;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:#0f172a;
  box-shadow:0 12px 28px rgba(0,0,0,.35);
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__result,
body[data-role="sales"] .sales-contact-picker__result{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 10px;
  width:100%;
  text-align:left;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:transparent;
  color:#f8fafc;
  cursor:pointer;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__result:hover,
body[data-role="sales"] .sales-contact-picker__result:hover{
  background:rgba(255,255,255,.05);
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__result-name,
body[data-role="sales"] .sales-contact-picker__result-name{
  font-weight:700;
  grid-column:1 / -1;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__result-meta,
body[data-role="sales"] .sales-contact-picker__result-meta{
  font-size:12px;
  color:rgba(232,238,252,.72);
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__result-type,
body[data-role="sales"] .sales-contact-picker__result-type{
  text-transform:capitalize;
  font-size:10px;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__empty,
body[data-role="sales"] .sales-contact-picker__empty{
  padding:12px;
  font-size:13px;
  color:rgba(232,238,252,.65);
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__chip,
body[data-role="sales"] .sales-contact-picker__chip{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(34,197,94,.28);
  background:rgba(34,197,94,.08);
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__chip-label,
body[data-role="sales"] .sales-contact-picker__chip-label{
  flex:1;
  font-weight:700;
  color:#f8fafc;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__hint,
body[data-role="sales"] .sales-contact-picker__hint{
  margin:6px 0 0;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__warn,
body[data-role="sales"] .sales-contact-picker__warn{
  margin:6px 0 0;
  color:#fbbf24;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__actions,
body[data-role="sales"] .sales-contact-picker__actions{
  margin-top:8px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__notice--ok,
body[data-role="sales"] .sales-contact-picker__notice--ok{
  color:#86efac;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__notice--warn,
body[data-role="sales"] .sales-contact-picker__notice--warn{
  color:#fbbf24;
}
body[data-mg-page-title="Vendedor"] .sales-contact-picker__notice--err,
body[data-role="sales"] .sales-contact-picker__notice--err{
  color:#fca5a5;
}

/* Ask Margin Guard — owner support drawer (Stage 1) */
.visually-hidden{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.mg-topbar__actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.mg-support-open-btn{
  appearance:none;
  border:1px solid rgba(34,197,94,.28);
  background:rgba(34,197,94,.1);
  color:rgba(226,252,232,.96);
  font:inherit;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  border-radius:10px;
  padding:8px 12px;
  cursor:pointer;
  white-space:nowrap;
}
.mg-support-open-btn:hover,
.mg-support-open-btn:focus-visible{
  outline:none;
  border-color:rgba(34,197,94,.5);
  background:rgba(34,197,94,.16);
}
.mg-support-dock-host{
  min-width:0;
}
.mg-support-dock-host[hidden]{
  display:none !important;
}
.mg-support-dock-host:not([hidden]){
  position:fixed;
  inset:0;
  z-index:360;
  pointer-events:none;
}
.mg-support-dock-host:not([hidden]) > *{
  pointer-events:auto;
}
.mg-support-overlay{
  position:fixed;
  inset:0;
  z-index:360;
  background:rgba(2,6,12,.55);
}
.mg-support-drawer{
  position:fixed;
  z-index:380;
  top:0;
  right:0;
  width:min(var(--mg-support-drawer-width, 380px), 100vw);
  height:100vh;
  height:100dvh;
  display:flex;
  flex-direction:column;
  background-color:#080c16;
  background-image:linear-gradient(180deg, #080c16, #060a12);
  border-left:1px solid var(--stroke);
  color:inherit;
}
.mg-support-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 12px;
  border-bottom:1px solid var(--stroke);
}
.mg-support-header h2{
  margin:0;
  font-size:16px;
  font-weight:750;
}
.mg-support-subtitle{
  margin:2px 0 0;
  font-size:12px;
  color:rgba(148,163,184,.9);
}
.mg-support-close{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:inherit;
  border-radius:10px;
  padding:8px 10px;
  font:inherit;
  font-size:12px;
  cursor:pointer;
}
.mg-support-thread{
  flex:1 1 auto;
  overflow:auto;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mg-support-intro p{
  margin:0 0 12px;
  color:rgba(226,232,240,.88);
}
.mg-support-suggestions{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mg-support-chip,
.mg-support-retry,
.mg-support-resend{
  text-align:left;
}
.mg-support-chip{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:inherit;
  border-radius:10px;
  padding:10px 12px;
  font:inherit;
  font-size:13px;
  cursor:pointer;
}
.mg-support-msg p{
  margin:0;
  font-size:13px;
  line-height:1.5;
}
.mg-support-md{
  font-size:13px;
  line-height:1.5;
}
.mg-support-md p{
  margin:0 0 10px;
}
.mg-support-md p:last-child{
  margin-bottom:0;
}
.mg-support-md h3{
  margin:0 0 8px;
  font-size:13px;
  font-weight:750;
  line-height:1.35;
}
.mg-support-md ul,
.mg-support-md ol{
  margin:0 0 10px;
  padding-left:1.2em;
}
.mg-support-md li{
  margin:0 0 4px;
}
.mg-support-md code{
  font-size:12px;
  padding:1px 5px;
  border-radius:6px;
  background:rgba(255,255,255,.06);
}
.mg-support-msg--user{
  align-self:flex-end;
  max-width:92%;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(34,197,94,.14);
  border:1px solid rgba(34,197,94,.22);
}
.mg-support-msg--assistant,
.mg-support-msg--error{
  align-self:stretch;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}
.mg-support-source,
.mg-support-loading,
.mg-support-needs{
  margin-top:8px;
  font-size:11px;
  color:rgba(148,163,184,.95);
}
.mg-support-feedback{
  display:flex;
  gap:6px;
  margin-top:10px;
}
.mg-support-fb{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  background:transparent;
  border-radius:8px;
  padding:4px 8px;
  cursor:pointer;
  font-size:14px;
  line-height:1;
}
.mg-support-fb.is-on{
  border-color:rgba(34,197,94,.4);
  background:rgba(34,197,94,.12);
}
.mg-support-composer{
  display:flex;
  gap:8px;
  align-items:flex-end;
  padding:12px 16px 16px;
  border-top:1px solid var(--stroke);
}
.mg-support-composer textarea{
  flex:1 1 auto;
  min-height:44px;
  max-height:120px;
  resize:vertical;
  font:inherit;
  font-size:13px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(4,7,14,.65);
  color:inherit;
}
.mg-support-send{
  flex:0 0 auto;
}
@media (min-width:1100px){
  body.mg-app-shell.mg-support-open .mg-app-workspace{
    grid-template-columns:minmax(0, 1fr) var(--mg-support-drawer-width, 380px);
  }
  body.mg-app-shell.mg-support-open .mg-app-main{
    min-width:0;
    max-width:100%;
    contain:inline-size;
  }
  body.mg-app-shell.mg-support-open .mg-app-main__body{
    min-width:0;
    max-width:100%;
  }
  body.mg-app-shell.mg-support-open .mg-app-main .container{
    min-width:0;
    max-width:min(1680px, 100%);
    width:100%;
    box-sizing:border-box;
  }
  body.mg-app-shell.mg-support-open .sa-table-wrap,
  body.mg-app-shell.mg-support-open .supervisor-table-wrap,
  body.mg-app-shell.mg-support-open .pcc-table-wrap,
  body.mg-app-shell.mg-support-open .td-table-wrap,
  body.mg-app-shell.mg-support-open .sw-table-wrap{
    min-width:0;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
  }
  body.mg-app-shell.mg-support-open .sa-table-wrap .table,
  body.mg-app-shell.mg-support-open .supervisor-table-wrap .table,
  body.mg-app-shell.mg-support-open .pcc-table-wrap .table,
  body.mg-app-shell.mg-support-open .td-table-wrap .table,
  body.mg-app-shell.mg-support-open .sw-table-wrap .table,
  body.mg-app-shell.mg-support-open .hub-console-table-card .hub-table{
    overflow:visible;
  }
  body.mg-app-shell.mg-support-open .mg-support-dock-host:not([hidden]){
    position:sticky;
    inset:auto;
    top:0;
    z-index:2;
    width:var(--mg-support-drawer-width, 380px);
    max-width:var(--mg-support-drawer-width, 380px);
    height:100vh;
    height:100dvh;
    align-self:start;
    pointer-events:auto;
  }
  body.mg-app-shell.mg-support-open .mg-support-overlay{
    display:none !important;
    pointer-events:none;
  }
  body.mg-app-shell.mg-support-open .mg-support-drawer{
    position:relative;
    top:auto;
    right:auto;
    z-index:auto;
    width:100%;
    max-width:none;
    height:100%;
  }
}
@media print{
  body.mg-app-shell .mg-app-workspace{
    margin-left:0;
  }
}
@media (max-width:720px){
  .mg-support-drawer{
    width:100vw;
  }
  .mg-support-open-btn{
    font-size:11px;
    padding:8px 10px;
  }
}
