:root{
  --navy:#0A2A4A;
  --navy2:#071d33;
  --gold:#D4A017;
  --bg:#eef2f6;
  --card:#ffffff;
  --text:#102235;
  --muted:#6c7b89;
  --ok:#176c46;
  --warn:#9b6b00;
  --danger:#9c2f2f;
  --line:#dfe6ed;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
}
button,input,select,textarea{font:inherit}
.app-shell{max-width:980px;margin:auto;min-height:100vh;padding-bottom:40px}
.topbar{
  background:linear-gradient(145deg,var(--navy2),var(--navy));
  color:white;
  padding:24px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  position:sticky;
  top:0;
  z-index:10;
}
.topbar h1{margin:2px 0 0;font-size:24px}
.topbar-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.identity-control{display:grid;gap:4px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#dce7f0}
.identity-control select{min-width:132px;padding:7px 9px;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#fff;color:var(--navy)}
.eyebrow{
  margin:0;
  font-size:11px;
  letter-spacing:.16em;
  font-weight:800;
  color:var(--gold);
}
main{padding:18px;display:grid;gap:16px}
.view-stack,.fleet-view,.asset-detail-view,.supervisor-view,.dashboard-content,.report-view,.report-content,.audit-view,.audit-content{display:grid;gap:16px}
.view-switcher{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.view-button{background:transparent;color:#476074;padding:11px}
.view-button.active{background:var(--navy);color:#fff}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 30px rgba(16,34,53,.06);
}
.hero{
  color:white;
  background:linear-gradient(140deg,#0a2a4a,#123e66);
  border:0;
  display:flex;
  justify-content:space-between;
  gap:18px;
}
.hero h2{margin:4px 0 4px}
.hero p{margin-bottom:0}
.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}
.hero-metrics div{background:rgba(255,255,255,.1);border-radius:14px;padding:12px;min-width:90px}
.hero-metrics strong,.hero-metrics span{display:block}
.hero-metrics strong{font-size:22px}
.hero-metrics span{font-size:11px;opacity:.8;margin-top:2px}
h3{margin:0 0 14px}
.grid{display:grid;gap:12px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
label{font-size:13px;font-weight:700;display:grid;gap:6px}
input,select,textarea{
  width:100%;
  padding:13px 12px;
  border:1px solid #ccd6df;
  border-radius:12px;
  background:#fff;
  color:var(--text);
}
.checklist{
  margin:14px 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.checklist label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px;
  border-radius:12px;
  background:#f6f8fa;
}
.checklist input{width:auto}
button{
  border:0;
  border-radius:12px;
  padding:13px 16px;
  font-weight:800;
  cursor:pointer;
}
button:disabled{opacity:.45;cursor:not-allowed}
.primary{background:var(--gold);color:#17200f}
.secondary{background:#e8eef4;color:var(--navy)}
.danger{background:#f8e3e3;color:var(--danger)}
.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-bottom:12px;
}
.tab{background:#dfe7ee;color:#476074;padding:10px}
.tab.active{background:var(--navy);color:#fff}
.badge{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  background:#e6edf3;
  color:#324b60;
}
.badge.online{background:#dff3e9;color:var(--ok)}
.badge.offline{background:#fff0d1;color:var(--warn)}
.badge.lab{background:#e8eef4;color:var(--navy)}
.hidden{display:none!important}
.cycle-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:16px}
.cycle-step{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:8px;
  border-radius:10px;
  background:#edf1f5;
  color:#6f7d8a;
  font-size:11px;
  font-weight:800;
}
.cycle-step.active{background:var(--gold);color:#18200f}
.cycle-step.done{background:#dceee5;color:var(--ok)}
.delivery-panel{display:grid;gap:12px;margin:16px 0;padding:14px;border:1px solid #d7e1e9;border-radius:14px;background:#f6f8fa}
.delivery-panel h4{margin:0 0 4px}
.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.event-log{display:grid;gap:8px}
.event{
  border-left:4px solid var(--gold);
  background:#f7f9fb;
  border-radius:10px;
  padding:10px 12px;
}
.event strong,.event small{display:block}
.event small{color:var(--muted);margin-top:3px}
.muted{color:var(--muted)}
.status-line{color:var(--muted);font-size:13px}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.summary-grid div{padding:14px;background:#f5f7f9;border-radius:12px}
.summary-grid strong,.summary-grid span{display:block}
.summary-grid strong{font-size:20px}
.summary-grid span{font-size:11px;color:var(--muted)}
.compact{margin:4px 0 0;font-size:12px}
.compact-actions{margin-top:0}
.fleet-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.fleet-summary-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;display:grid;gap:4px}
.fleet-summary-card span{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.fleet-summary-card strong{font-size:23px;color:var(--navy)}
.fleet-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.fleet-table{min-width:1380px}
.fleet-mobile-cards{display:none}
.fleet-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;gap:12px}
.fleet-card small{display:block;color:var(--muted);margin-top:3px}
.fleet-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fleet-card-grid span{display:grid;gap:3px;padding:9px;border-radius:10px;background:#f6f8fa;font-size:11px;color:#52697b}
.fleet-card-grid b{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--navy)}
.asset-detail-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.asset-detail-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.asset-detail-summary article{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;display:grid;gap:4px}
.asset-detail-summary span{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.asset-detail-summary strong{font-size:16px;color:var(--navy);word-break:break-word}
.asset-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.asset-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.asset-kv{padding:11px;border-radius:11px;background:#f6f8fa;display:grid;gap:4px;min-width:0}
.asset-kv span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}
.asset-kv strong{font-size:13px;color:var(--navy);word-break:break-word}
.asset-capabilities{display:flex;gap:7px;flex-wrap:wrap}
.asset-capability{padding:7px 9px;border-radius:999px;background:#edf2f6;color:#35506a;font-size:11px;font-weight:800}
.asset-capability-block{display:grid;gap:10px}
.asset-capability-note{padding:12px 14px;border-radius:12px;background:#fff7d6;color:#6f5b1d;font-size:12px;font-weight:700;line-height:1.45}
.asset-history{display:grid;gap:8px}
.asset-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px;border-radius:11px;background:#f6f8fa}
.asset-history-item strong,.asset-history-item span,.asset-history-item small{display:block}
.asset-history-item span,.asset-history-item small{color:var(--muted);font-size:11px;margin-top:3px}
.asset-history-item time{font-size:11px;color:var(--muted);white-space:nowrap}
.fleet-open-asset{padding:8px 10px;font-size:11px;white-space:nowrap}
.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:20px}
.dashboard-header h2{margin:4px 0}
.dashboard-health{display:grid;justify-items:end;gap:6px;text-align:right}
.dashboard-health strong{font-size:13px}
.health-up_to_date{color:var(--ok)}
.health-pending{color:var(--warn)}
.health-error{color:var(--danger)}
.dashboard-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
.dashboard-error{
  margin:14px 0 0;
  padding:12px;
  border-radius:10px;
  background:#f8e3e3;
  color:var(--danger);
  font-weight:700;
}
.dashboard-empty{text-align:center;padding:36px 20px}
.dashboard-empty p{margin-bottom:0;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kpi-card{
  min-height:106px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(150deg,#fff,#f3f6f9);
}
.kpi-card span{font-size:12px;color:var(--muted);font-weight:800}
.kpi-card strong{font-size:25px;color:var(--navy)}
.table-card{min-width:0}
.table-scroll{overflow:auto;margin-top:4px}
.equipment-table{width:100%;min-width:1120px;border-collapse:collapse;font-size:12px}
.equipment-table th,.equipment-table td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.equipment-table th{color:#52697b;font-size:10px;letter-spacing:.05em;text-transform:uppercase;background:#f6f8fa;position:sticky;top:0}
.equipment-table tr:last-child td{border-bottom:0}
.table-status{font-weight:800;color:var(--navy)}
.sync-synced{color:var(--ok);font-weight:800}
.sync-pending,.sync-local_only,.sync-syncing{color:var(--warn);font-weight:800}
.sync-error{color:var(--danger);font-weight:800}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px}
.loss-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}
.loss-split div{padding:12px;border-radius:12px;background:#f5f7f9}
.loss-split strong,.loss-split span{display:block}
.loss-split strong{font-size:18px}
.loss-split span{font-size:11px;color:var(--muted);margin-top:3px}
.loss-reasons{display:grid;gap:12px}
.loss-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px}
.loss-row span{color:var(--muted)}
.loss-bar{height:8px;border-radius:999px;background:#e7edf2;overflow:hidden;margin-top:6px}
.loss-bar span{display:block;height:100%;border-radius:inherit;background:var(--gold)}
.exception-list{display:grid;gap:8px}
.exception-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border-radius:10px;background:#f5f7f9;font-size:12px}
.exception-item.warning{background:#fff0d1;color:#765100}
.exception-item.error{background:#f8e3e3;color:var(--danger)}
.report-controls{display:flex;align-items:end;justify-content:space-between;gap:16px}
.report-controls>label{min-width:260px}
.audit-controls{display:flex;align-items:end;justify-content:space-between;gap:16px}
.audit-controls>label{min-width:260px}
.audit-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.audit-check{display:flex;align-items:center;gap:8px;align-self:end;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f6f8fa}
.audit-check input{width:auto}
.audit-table{min-width:1240px}
.integrity-pass{background:#dff3e9;color:var(--ok)}
.integrity-pass_with_warnings{background:#fff0d1;color:var(--warn)}
.integrity-fail{background:#f8e3e3;color:var(--danger)}
.report-json summary{cursor:pointer;font-weight:800}
.report-json pre{white-space:pre-wrap;word-break:break-word;max-height:460px;overflow:auto;padding:14px;background:#071d33;color:#e6edf3;border-radius:12px;font-size:11px}

.demo-center-button{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  padding:9px 12px;
}
.demo-mode-banner{
  margin:0 18px;
  padding:12px 14px;
  border:1px solid #d7b85f;
  border-radius:14px;
  background:#fff7d6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.demo-mode-banner strong,
.demo-mode-banner span{display:block}
.demo-mode-banner strong{font-size:12px;color:var(--navy)}
.demo-mode-banner span{font-size:12px;color:var(--muted);margin-top:3px}
.demo-banner-actions{display:flex;gap:8px;flex-wrap:wrap}
.demo-center{display:grid;gap:14px}
.demo-center-intro h2{margin:4px 0 6px}
.demo-center-intro p:last-child{margin-bottom:0}
.demo-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.demo-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:280px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(16,34,53,.06);
}
.demo-card h3{margin:0}
.demo-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.demo-card-head{display:flex;gap:8px;flex-wrap:wrap}
.demo-capabilities{display:flex;gap:6px;flex-wrap:wrap}
.demo-capabilities span{
  padding:5px 7px;
  border-radius:999px;
  background:#f2f5f8;
  color:#52697b;
  font-size:10px;
  font-weight:800;
}
.demo-card .demo-launch-btn{margin-top:auto;width:100%}

.demo-composer{display:grid;gap:16px}
.demo-composer-grid{align-items:start}
.demo-composer-goal{grid-column:1/-1}
.demo-composer textarea{resize:vertical;min-height:92px}

.high-load-panel{display:grid;gap:16px}
.high-load-controls{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
.high-load-warning{
  padding:12px 14px;
  border-radius:12px;
  background:#fff3cd;
  color:#715f1e;
  border:1px solid #efd58b;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
}
.high-load-result{
  display:grid;
  gap:14px;
  padding:16px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid var(--line);
}
.high-load-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.high-load-metric{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px;
  border-radius:12px;
  background:#fff;
  border:1px solid var(--line);
}
.high-load-metric span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.high-load-metric strong{
  color:var(--navy);
  font-size:18px;
}
.high-load-metric small{
  color:var(--muted);
  font-size:10px;
}

.high-load-comparison{
  display:grid;
  gap:12px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.high-load-baseline-note{
  padding:10px 12px;
  border-radius:10px;
  background:#f6f8fa;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.high-load-disclaimer{
  padding:10px 12px;
  border-radius:10px;
  background:#eef3f7;
  color:#52697b;
  font-size:11px;
  font-weight:800;
  text-align:center;
}
.demo-composer-warning{
  padding:11px 12px;
  border-radius:12px;
  background:#fff7d6;
  color:#6f5b1d;
  font-size:12px;
  font-weight:700;
  line-height:1.45;
}

@media(max-width:680px){
  .app-shell{max-width:none}
  .topbar{padding:18px 16px}
  .topbar-actions{max-width:72%}
  .demo-center-button{width:100%}
  .demo-mode-banner{margin:0 12px;display:block}
  .demo-banner-actions{margin-top:10px}
  .demo-card-grid{grid-template-columns:1fr}
  .high-load-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .high-load-controls{grid-template-columns:1fr}
  .identity-control select{min-width:118px}
  main{padding:12px}
  .hero{display:block}
  .hero-metrics{margin-top:16px}
  .grid.two,.checklist{grid-template-columns:1fr}
  .tabs{grid-template-columns:repeat(2,1fr)}
  .cycle-progress{grid-template-columns:repeat(3,1fr)}
  .summary-grid{grid-template-columns:repeat(2,1fr)}
  .view-switcher{grid-template-columns:1fr}
  .fleet-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fleet-filters{grid-template-columns:1fr}
  .fleet-desktop-table{display:none}
  .fleet-mobile-cards{display:grid;gap:10px}
  .asset-detail-header-actions{justify-content:flex-start;margin-top:12px}
  .asset-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .asset-detail-grid{grid-template-columns:1fr}
  .asset-kv-grid{grid-template-columns:1fr}
  .asset-history-item{grid-template-columns:1fr}
  .dashboard-header{display:block}
  .dashboard-health{justify-items:start;text-align:left;margin-top:14px}
  .dashboard-filters,.kpi-grid{grid-template-columns:1fr 1fr}
  .dashboard-grid{grid-template-columns:1fr}
  .loss-split{grid-template-columns:1fr}
  .compact-actions{width:100%;margin-top:12px}
  .report-controls{display:block}
  .report-controls>label{min-width:0}
  .audit-controls{display:block}
  .audit-controls>label{min-width:0}
  .audit-filters{grid-template-columns:1fr 1fr}
}

@media(min-width:681px) and (max-width:900px){
  .dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* P0 role-experience shells — display-only. Authorization remains in domain services. */
.role-experience-banner{
  margin:14px 18px 0;
  padding:18px 22px;
  border:1px solid #cfdde8;
  border-radius:17px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  background:linear-gradient(110deg,#fff,#edf3f8);
}
.role-experience-kicker{margin:0 0 5px;font-size:10px;color:#937125;letter-spacing:.12em;font-weight:850}
.role-experience-heading h2{font-size:24px;letter-spacing:-.025em;color:#092a4b;margin:0}
.role-experience-heading p:last-child{margin:4px 0 0;color:#546d81;font-size:13px}
.role-experience-switch{font-size:12px;font-weight:800;color:#083960;text-decoration:none;border:1px solid #b9cbd9;border-radius:12px;padding:11px 15px;white-space:nowrap;background:#fff}
.role-experience-switch:hover,.role-experience-switch:focus-visible{outline:2px solid #d4a017;outline-offset:2px}
body[data-experience] .identity-control,
body[data-experience] #demoCenterBtn{display:none!important}
body[data-experience] .app-shell{max-width:1360px}
body[data-experience] .view-switcher{grid-template-columns:repeat(5,minmax(0,1fr))}
body[data-experience="field"] .app-shell{max-width:650px;background:#f0f4f8}
body[data-experience="field"] .topbar{padding:14px 18px;position:relative}
body[data-experience="field"] .topbar h1{font-size:19px}
body[data-experience="field"] .role-experience-banner{margin:10px 12px 0;padding:15px}
body[data-experience="field"] .role-experience-heading h2{font-size:19px}
body[data-experience="field"] .app-shell{padding-bottom:115px}
body[data-experience="field"] #fleetViewBtn,
body[data-experience="field"] #supervisorViewBtn,
body[data-experience="field"] #documentsViewBtn,
body[data-experience="field"] #auditViewBtn{display:none!important}
body[data-experience="field"] .view-switcher{
  position:fixed;
  z-index:30;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:min(100%,650px);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  border-radius:18px 18px 0 0;
  border:1px solid #cddce6;
  box-shadow:0 -9px 30px rgba(9,40,72,.13);
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body[data-experience="field"] .view-button{min-height:52px;font-size:14px}
body[data-experience="field"] .primary{min-height:52px}
body[data-experience="field"] input,body[data-experience="field"] select{min-height:49px}
body[data-experience="command"] #operatorViewBtn,
body[data-experience="command"] #documentsViewBtn,
body[data-experience="command"] #auditViewBtn{display:none!important}
body[data-experience="command"] .view-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-experience="command"] .topbar{position:relative}
body[data-experience="admin"] #operatorViewBtn{display:none!important}
body[data-experience="admin"] .view-switcher{grid-template-columns:repeat(4,minmax(0,1fr))}
body[data-experience="admin"] .topbar{position:relative}
@media(max-width:680px){
  body[data-experience] .role-experience-banner{flex-wrap:wrap}
  body[data-experience] .view-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-experience="field"] .view-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-experience="command"] .view-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-experience="admin"] .view-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-experience="command"] .view-button{font-size:12px;padding:13px 5px}
  body[data-experience] .role-experience-heading h2{font-size:19px}
}


body[data-experience="field"] .field-prestart-notice{
  padding:13px 14px;
  margin:0 0 14px;
  background:#fff5dc;
  border:1px solid #e6cb86;
  border-radius:12px;
  color:#72500d;
  font-size:13px;
  font-weight:750;
  line-height:1.5;
}
body[data-experience="field"] .precheck:invalid{
  border-color:#bc8b16;
}

/* FB-01 — FIELD contextual experience. The underlying engine and actions remain shared. */
body[data-experience="field"] .field-guide{
  display:grid;
  gap:12px;
  margin:0;
  padding:20px;
  border:1px solid #cbdbe7;
  background:linear-gradient(160deg,#fff 15%,#f5f9fc 100%);
  box-shadow:0 12px 30px rgba(8,39,69,.07);
}
body[data-experience="field"] .field-guide-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
body[data-experience="field"] .field-demo-indicator{
  font-size:10px;
  font-weight:850;
  padding:5px 9px;
  border-radius:7px;
  background:#eef2f6;
  color:#52697b;
  letter-spacing:.05em;
}
body[data-experience="field"] .field-guide h3{
  margin:0;
  color:#092a4b;
  font-size:clamp(22px,5vw,27px);
  letter-spacing:-.03em;
}
body[data-experience="field"] .field-guide-description{
  margin:0;
  color:#415a70;
  line-height:1.5;
  font-size:14px;
}
body[data-experience="field"] .field-sync-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#eef4f8;
  padding:12px;
  border:1px solid #d7e3ea;
  border-radius:14px;
}
body[data-experience="field"] .field-sync-text{
  font-size:12px;
  font-weight:800;
  color:#365770;
  line-height:1.45;
}
body[data-experience="field"] .field-sync-text[data-tone="offline"]{color:#805b08}
body[data-experience="field"] .field-sync-text[data-tone="error"]{color:#942b2b}
body[data-experience="field"] .field-sync-text[data-tone="ok"]{color:#185d42}
body[data-experience="field"] .field-sync-strip button{
  flex-shrink:0;
  min-height:48px;
}
body[data-experience="field"] .field-quick-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
body[data-experience="field"] .field-quick-actions button{
  min-height:56px;
  text-align:left;
  border:1px solid #cddae4;
  background:#fff;
  color:#123b5b;
  font-size:14px;
  padding:13px 15px;
  box-shadow:0 2px 8px rgba(9,42,74,.04);
}
body[data-experience="field"] .field-quick-actions .field-quick-primary{
  grid-column:1/-1;
  min-height:68px;
  color:#fff;
  background:#0a355a;
  border-color:#0a355a;
  font-size:17px;
}
body[data-experience="field"] .field-start-shortcut{
  min-height:56px;
  color:#fff;
  background:#0a355a;
}
body[data-experience="field"] #opsPanel .tabs{display:none}
body[data-experience="field"] #startPanel,
body[data-experience="field"] #opsPanel .tab-panel{scroll-margin-top:14px}
body[data-experience="field"] #startPanel .checklist{
  border:1px solid #e0e8ed;
  border-radius:14px;
  padding:8px;
}
body[data-experience="field"] #operatorView .log-card #eventLog{
  max-height:245px;
  overflow:auto;
}
body[data-experience="field"] .field-quick-actions button:focus-visible,
body[data-experience="field"] .field-sync-strip button:focus-visible,
body[data-experience="field"] .field-start-shortcut:focus-visible{
  outline:3px solid #d4a017;
  outline-offset:3px;
}
@media(max-width:440px){
  body[data-experience="field"] .field-guide{padding:16px}
  body[data-experience="field"] .field-sync-strip{flex-direction:column;align-items:stretch}
  body[data-experience="field"] .field-sync-strip button{width:100%}
  body[data-experience="field"] .field-quick-actions button{font-size:13px;padding:12px}
  body[data-experience="field"] .field-quick-actions .field-quick-primary{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  body[data-experience="field"] .field-quick-actions button{transition:none}
}


/* FB-02 MACHINE COMMAND — attention-first, existing supervised data projection only. */
body[data-experience="command"] .command-brief{
  display:grid;
  gap:17px;
  padding:24px;
  border:1px solid #cbdae6;
  background:linear-gradient(142deg,#fff,#f5f9fc);
}
body[data-experience="command"] .command-brief-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
body[data-experience="command"] .command-brief h3{
  margin:6px 0 9px;
  font-size:clamp(22px,2.5vw,29px);
  color:#0a2a4a;
  line-height:1.2;
}
body[data-experience="command"] .command-brief-description{
  margin:0;
  color:#496276;
  font-size:13px;
  line-height:1.5;
  max-width:710px;
}
body[data-experience="command"] .command-brief-status{
  flex-shrink:0;
  font-size:10px;
  font-weight:850;
  padding:9px 12px;
  border-radius:8px;
  background:#e5f2ea;
  color:#135b3d;
  letter-spacing:.04em;
  text-align:center;
}
body[data-experience="command"] .command-brief-status[data-tone="nodata"]{
  background:#e8eef4;color:#3c5367;
}
body[data-experience="command"] .command-brief-status[data-tone="attention"]{
  background:#fff1d5;color:#805700;
}
body[data-experience="command"] .command-brief-status[data-tone="critical"]{
  background:#f9e5e5;color:#982e2e;
}
body[data-experience="command"] .command-brief-source{
  margin:0;
  font-size:11px;
  font-weight:750;
  color:#687c8b;
}
body[data-experience="command"] .command-brief-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
body[data-experience="command"] .command-brief-kpis article{
  min-width:0;
  display:grid;
  align-content:space-between;
  gap:12px;
  padding:18px;
  border-radius:15px;
  border:1px solid #dbe4ec;
  background:#fff;
}
body[data-experience="command"] .command-brief-kpis article span{
  font-size:12px;
  font-weight:750;
  color:#52687a;
}
body[data-experience="command"] .command-brief-kpis article strong{
  font-size:clamp(25px,3vw,34px);
  line-height:1.1;
  color:#0a2a4a;
  font-variant-numeric:tabular-nums;
}
body[data-experience="command"] .command-brief-bottom{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(205px,.6fr);
  align-items:start;
  gap:20px;
}
body[data-experience="command"] .command-brief-bottom h4{
  margin:0;
  font-size:15px;
  color:#193d59;
}
body[data-experience="command"] .command-attention-list{
  display:grid;
  gap:8px;
  margin-top:12px;
}
body[data-experience="command"] .command-attention-item{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border:1px solid #e0e8ed;
  border-left:4px solid #9aaaba;
  border-radius:12px;
  background:#fff;
  font-size:13px;
  font-weight:700;
  color:#314c62;
}
body[data-experience="command"] .command-attention-item[data-severity="WARNING"]{border-left-color:#b88619}
body[data-experience="command"] .command-attention-item[data-severity="ERROR"]{border-left-color:#ac3a3a}
body[data-experience="command"] .command-attention-item strong{font-size:18px;color:#0a2a4a}
body[data-experience="command"] .command-actions{display:grid;gap:9px}
body[data-experience="command"] .command-actions button{
  min-height:49px;
  text-align:left;
  font-size:13px;
}
body[data-experience="command"] .command-brief-footnote{
  border-top:1px solid #e3e9ee;
  padding-top:12px;
  margin:0;
  font-size:11px;
  color:#657d8f;
  line-height:1.5;
}
body[data-experience="command"] .command-brief :focus-visible{
  outline:3px solid #d4a017;
  outline-offset:2px;
}
@media(max-width:850px){
  body[data-experience="command"] .command-brief-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body[data-experience="command"] .command-brief-bottom{
    grid-template-columns:1fr;
  }
  body[data-experience="command"] .command-actions{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:540px){
  body[data-experience="command"] .command-brief{padding:17px}
  body[data-experience="command"] .command-brief-intro{display:grid;gap:10px}
  body[data-experience="command"] .command-brief-status{justify-self:start}
  body[data-experience="command"] .command-actions{grid-template-columns:1fr}
  body[data-experience="command"] .command-brief-kpis article{padding:14px}
}


/* FB-03 MACHINE ADMIN — evidence-first audit workbench, read-only canonical replay. */
body[data-experience="admin"] .admin-brief{
  display:grid;
  gap:17px;
  padding:24px;
  border:1px solid #cbdbe7;
  background:linear-gradient(135deg,#fff 22%,#f3f8fc 100%);
}
body[data-experience="admin"] .admin-brief-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
body[data-experience="admin"] .admin-brief h3{
  margin:6px 0 9px;
  font-size:clamp(23px,2.6vw,29px);
  color:#0a2a4a;
  line-height:1.18;
}
body[data-experience="admin"] .admin-brief-description{
  margin:0;
  max-width:720px;
  color:#4e6478;
  font-size:13px;
  line-height:1.55;
}
body[data-experience="admin"] .admin-brief-status{
  padding:9px 12px;
  border-radius:9px;
  background:#e8eef4;
  color:#415970;
  font-size:10px;
  font-weight:850;
  flex-shrink:0;
  letter-spacing:.04em;
  text-align:center;
}
body[data-experience="admin"] .admin-brief-status[data-tone="clear"]{
  background:#e0f2e7;color:#155b3d;
}
body[data-experience="admin"] .admin-brief-status[data-tone="review"]{
  background:#fff2d7;color:#805a0a;
}
body[data-experience="admin"] .admin-brief-status[data-tone="error"]{
  background:#f9e3e3;color:#9d2c2c;
}
body[data-experience="admin"] .admin-audit-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
body[data-experience="admin"] .admin-audit-facts article{
  display:grid;
  align-content:space-between;
  gap:12px;
  border:1px solid #dce5eb;
  border-radius:14px;
  padding:17px;
  background:#fff;
  min-width:0;
}
body[data-experience="admin"] .admin-audit-facts article span{
  font-size:12px;
  font-weight:750;
  color:#556f82;
}
body[data-experience="admin"] .admin-audit-facts article strong{
  font-size:clamp(24px,3vw,32px);
  color:#102f4c;
  font-variant-numeric:tabular-nums;
  line-height:1;
}
body[data-experience="admin"] .admin-brief-grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);
  gap:18px;
}
body[data-experience="admin"] .admin-brief-grid h4{
  margin:0 0 11px;
  font-size:15px;
  color:#1c405d;
}
body[data-experience="admin"] .admin-reconciliation-list{
  display:grid;
  gap:8px;
}
body[data-experience="admin"] .admin-reconciliation-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:13px;
  padding:13px;
  background:#fff;
  border:1px solid #e0e7ed;
  border-left:4px solid #92a7b8;
  border-radius:10px;
  font-size:13px;
}
body[data-experience="admin"] .admin-reconciliation-item strong{
  font-size:12px;
  color:#324e63;
}
body[data-experience="admin"] .admin-reconciliation-item[data-status="MATCH"]{
  border-left-color:#267750;
}
body[data-experience="admin"] .admin-reconciliation-item[data-status="MISMATCH"]{
  border-left-color:#ac3434;
}
body[data-experience="admin"] .admin-reconciliation-item[data-status="MISMATCH"] strong{
  color:#932d2d;
}
body[data-experience="admin"] .admin-quick-links{
  display:grid;
  gap:9px;
}
body[data-experience="admin"] .admin-quick-links button{
  min-height:49px;
  font-size:13px;
  text-align:left;
}
body[data-experience="admin"] .admin-brief-footnote{
  margin:0;
  padding-top:12px;
  border-top:1px solid #e0e8ef;
  color:#61798c;
  font-size:11px;
  line-height:1.5;
}
body[data-experience="admin"] .admin-brief :focus-visible{
  outline:3px solid #d4a017;
  outline-offset:2px;
}
@media(max-width:900px){
  body[data-experience="admin"] .admin-audit-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body[data-experience="admin"] .admin-brief-grid{grid-template-columns:1fr}
  body[data-experience="admin"] .admin-quick-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  body[data-experience="admin"] .admin-brief{padding:16px}
  body[data-experience="admin"] .admin-brief-header{display:grid;gap:10px}
  body[data-experience="admin"] .admin-brief-status{justify-self:start}
  body[data-experience="admin"] .admin-quick-links{grid-template-columns:1fr}
  body[data-experience="admin"] .admin-audit-facts article{padding:13px}
}

/* Reportería dual institucional: cliente SOTRAMIN + firma ATTENT Machine Ops. */
.sotramin-report-identity{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:13px 15px;margin:0 0 16px;background:#fff;
  border:1px solid #d3e1ec;border-top:4px solid #1976df;border-radius:14px;
  box-shadow:0 7px 19px #0a355512;
}
.sotramin-report-identity>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.sotramin-report-identity>div:first-child{flex:1 1 55%}
.sotramin-report-identity>div:last-child{align-items:flex-end;flex:1 1 35%}
.sotramin-report-identity span{font-size:10px;font-weight:850;letter-spacing:.07em;color:#527087}
.sotramin-report-identity img{display:block;width:100%;height:auto;object-fit:contain}
.sotramin-report-client img{max-width:265px;max-height:57px;object-position:left}
.sotramin-report-technology img{max-width:175px;max-height:66px;object-position:right}
@media(max-width:500px){
 .sotramin-report-identity{gap:10px;padding:10px}
 .sotramin-report-identity span{font-size:8px}
 .sotramin-report-client img{max-width:215px}
 .sotramin-report-technology img{max-width:136px}
}
@media print{.sotramin-report-identity{box-shadow:none;break-inside:avoid}}
