/* ─── RESET + TOKENS ─────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Backgrounds — slate naval profissional */
  --bg1:#0d1b2a;
  --bg2:#112234;
  --bg3:#172d44;
  --bg4:#1d3755;

  /* Bordas suaves */
  --border:rgba(148,163,184,.1);
  --border-dim:rgba(148,163,184,.05);

  /* Accent — azul institucional (não elétrico) */
  --accent:#3b82f6;
  --accent-dim:rgba(59,130,246,.1);
  --accent-glow:rgba(59,130,246,.18);
  --accent-hover:#2563eb;

  /* CTA de relatório — verde esmeralda */
  --cta:#10b981;
  --cta-dim:rgba(16,185,129,.1);
  --cta-hover:#059669;

  /* Texto */
  --text:#e2e8f2;
  --muted:#8fa8c0;
  --sub:#4a6480;

  /* Risk */
  --red:#f87171;
  --amber:#fbbf24;
  --green:#34d399;
  --teal:#22d3ee;
  --purple:#a78bfa;

  /* Tipografia */
  --display:'Plus Jakarta Sans','Inter',sans-serif;
  --body:'Inter',sans-serif;

  /* Raios */
  --r:8px;--r-lg:12px;--r-xl:16px;
}

html,body{
  height:100%;
  font-family:var(--body);
  background:var(--bg1);
  color:var(--text);
  font-size:14px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
button{cursor:pointer;font-family:var(--body)}
input,select,textarea{font-family:var(--body)}
a{color:var(--accent)}
.hidden{display:none!important}

/* ─── BRAND ──────────────────────────────────────────────────────────────────── */
.brand-lockup{display:flex;align-items:center;gap:10px}
.brand-dot{
  width:8px;height:8px;
  background:var(--accent);
  border-radius:50%;
  box-shadow:0 0 6px var(--accent);
  flex-shrink:0;
}
.brand-lockup strong{
  font-family:var(--display);
  font-size:14px;
  font-weight:800;
  letter-spacing:.06em;
  color:#fff;
  display:block;
}
.brand-lockup small{
  font-size:10px;
  color:var(--muted);
  letter-spacing:.12em;
  text-transform:uppercase;
  display:block;
}

/* ─── LOGIN ──────────────────────────────────────────────────────────────────── */
.login-view{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 20%, rgba(59,130,246,.13), transparent 28rem),
    radial-gradient(circle at 70% 84%, rgba(16,185,129,.08), transparent 26rem),
    var(--bg1);
}
.login-hero{
  position:relative;
  min-height:100vh;
  padding:54px;
  display:grid;
  grid-template-rows:1fr auto;
  align-content:stretch;
  overflow:hidden;
}
.access-grid{
  position:absolute;
  inset:42px;
  display:grid;
  grid-template-columns:repeat(4,minmax(80px,1fr));
  grid-auto-rows:minmax(82px,1fr);
  gap:10px;
  opacity:.38;
  pointer-events:none;
}
.access-grid span{
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  background:linear-gradient(135deg, rgba(59,130,246,.08), rgba(255,255,255,.015));
}
.access-grid span:nth-child(3),
.access-grid span:nth-child(8),
.access-grid span:nth-child(10){
  border-color:rgba(16,185,129,.22);
  background:rgba(16,185,129,.055);
}
.access-grid{
  inset:42px 34% 42px 42px;
}
.login-copy{
  position:relative;
  z-index:4;
  max-width:500px;
  align-self:center;
}
.login-copy p{
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  color:#60a5fa;
  text-transform:uppercase;
  margin-bottom:14px;
}
.login-copy h1{
  font-family:var(--display);
  font-size:clamp(36px,4.15vw,60px);
  font-weight:800;
  color:#fff;
  line-height:1.02;
  margin-bottom:18px;
  letter-spacing:-.04em;
}
.login-copy span{
  display:block;
  max-width:500px;
  font-size:15px;
  color:rgba(226,232,242,.78);
  line-height:1.8;
}
.nexus-stage{
  position:absolute;
  right:clamp(12px,2.6vw,40px);
  bottom:0;
  z-index:3;
  width:min(38vw,500px);
  height:calc(100vh - 24px);
  pointer-events:none;
}
.nexus-stage::before{
  content:"";
  position:absolute;
  left:8%;
  right:4%;
  bottom:0;
  height:34%;
  background:radial-gradient(ellipse at center, rgba(34,211,238,.18), transparent 62%);
  filter:blur(18px);
  opacity:.75;
}
.nexus-stage img{
  position:absolute;
  right:0;
  bottom:-2vh;
  width:100%;
  height:96%;
  object-fit:contain;
  object-position:bottom right;
  filter:drop-shadow(0 28px 54px rgba(0,0,0,.48)) saturate(1.08) contrast(1.03);
  -webkit-mask-image:radial-gradient(ellipse 58% 74% at 58% 54%, #000 54%, rgba(0,0,0,.78) 68%, transparent 88%);
  mask-image:radial-gradient(ellipse 58% 74% at 58% 54%, #000 54%, rgba(0,0,0,.78) 68%, transparent 88%);
  animation:nexusFloat 7s ease-in-out infinite;
}
.nexus-scan{
  position:absolute;
  right:6%;
  bottom:8%;
  width:72%;
  height:82%;
  border-radius:44%;
  background:linear-gradient(180deg, transparent 0%, rgba(34,211,238,.22) 47%, transparent 58%);
  mix-blend-mode:screen;
  opacity:.5;
  animation:nexusScan 4.8s linear infinite;
}
.nexus-ring{
  position:absolute;
  border:1px solid rgba(34,211,238,.28);
  border-radius:50%;
  opacity:.52;
}
.ring-one{
  width:44%;
  aspect-ratio:1;
  right:52%;
  top:23%;
  animation:nexusPulse 5.6s ease-in-out infinite;
}
.ring-two{
  width:30%;
  aspect-ratio:1;
  right:2%;
  top:54%;
  border-color:rgba(16,185,129,.32);
  animation:nexusPulse 6.4s ease-in-out infinite reverse;
}
.intel-route{
  position:absolute;
  right:4%;
  top:7%;
  width:min(330px,82%);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  pointer-events:auto;
}
.intel-route span{
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:8px 9px;
  color:#cfe4ff;
  font-size:11px;
  background:rgba(13,27,42,.52);
  backdrop-filter:blur(8px);
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.trust-stack{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-self:end;
  max-width:760px;
}
.trust-stack article{
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  background:rgba(17,34,52,.72);
  padding:16px;
}
.trust-stack b{
  display:block;
  color:#fff;
  font-family:var(--display);
  font-size:12px;
  letter-spacing:.04em;
}
.trust-stack span{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.login-panel{
  width:420px;
  min-height:100vh;
  background:linear-gradient(180deg,var(--bg2),#0f2032);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:52px 40px;
  gap:28px;
  border-left:1px solid var(--border);
  box-shadow:-18px 0 60px rgba(0,0,0,.24);
}
@keyframes nexusFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-8px,-12px,0) scale(1.012)}
}
@keyframes nexusScan{
  0%{transform:translateY(-22%);opacity:.08}
  18%,70%{opacity:.46}
  100%{transform:translateY(24%);opacity:.08}
}
@keyframes nexusPulse{
  0%,100%{transform:scale(.96);opacity:.25}
  50%{transform:scale(1.08);opacity:.62}
}
.login-form{display:flex;flex-direction:column;gap:16px}
.login-form label{
  display:flex;flex-direction:column;gap:6px;
  font-size:12px;color:var(--muted);font-weight:500;letter-spacing:.02em;
}
.login-form input{
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:11px 14px;
  color:var(--text);font-size:14px;outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.login-form input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-glow);
}
.form-error{font-size:12px;color:var(--red);min-height:16px;margin-top:2px}
@media(max-width:980px){
  .login-view{grid-template-columns:1fr}
  .login-hero{min-height:720px;padding:36px 24px 24px}
  .nexus-stage{width:min(74vw,430px);height:520px;right:0;bottom:110px;opacity:.55}
  .intel-route{top:auto;bottom:18px;right:24px;width:calc(100% - 48px)}
  .trust-stack{grid-template-columns:1fr;margin-top:20px}
  .login-panel{width:100%;min-height:auto;padding:28px 24px 36px;border-left:0;border-top:1px solid var(--border)}
}
@media(max-width:700px){
  .access-grid{display:none}
  .login-copy h1{font-size:34px}
  .nexus-stage{opacity:.34;width:88vw;right:-18vw}
  .login-copy{max-width:100%}
}

/* ─── APP SHELL ──────────────────────────────────────────────────────────────── */
.system-view{display:flex;height:100vh;overflow:hidden}

.system-sidebar{
  width:220px;flex-shrink:0;
  background:var(--bg2);
  border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  padding:0;gap:0;overflow-y:auto;
}
.system-sidebar .brand-lockup{
  padding:20px 20px 18px;
  border-bottom:1px solid var(--border-dim);
}
.system-sidebar nav{
  display:flex;flex-direction:column;
  padding:8px 0;flex:1;
}
.system-main{flex:1;display:flex;flex-direction:column;overflow:hidden}

.system-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 28px;
  background:var(--bg2);
  border-bottom:1px solid var(--border);
  flex-shrink:0;
  gap:16px;
}
.kicker{
  font-size:10px;color:var(--muted);
  letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:2px;font-weight:500;
}
.system-topbar h1{
  font-family:var(--display);
  font-size:18px;font-weight:700;
  color:var(--text);letter-spacing:-.01em;
}
.topbar-status{display:flex;align-items:center;gap:12px}
.topbar-status span{font-size:12px;color:var(--muted)}
.topbar-status strong{
  font-size:11px;font-weight:600;
  color:var(--green);
  background:rgba(52,211,153,.08);
  border:1px solid rgba(52,211,153,.2);
  padding:2px 10px;border-radius:20px;
  letter-spacing:.04em;
}
.company-switcher{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.company-switcher select{
  min-width:220px;
  text-transform:none;
  letter-spacing:0;
}

/* ─── NAV ────────────────────────────────────────────────────────────────────── */
.nav-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 20px;
  font-size:13px;font-weight:500;
  color:var(--muted);
  background:none;border:none;
  border-left:2px solid transparent;
  text-align:left;width:100%;
  transition:color .15s,background .15s;
}
.nav-item:hover{color:var(--text);background:rgba(255,255,255,.04)}
.nav-item.active{
  color:var(--accent);
  border-left-color:var(--accent);
  background:var(--accent-dim);
  font-weight:600;
}

.nexus-mini{
  display:flex;align-items:center;gap:10px;
  padding:14px 18px;
  border-top:1px solid var(--border-dim);
  margin-top:auto;
}
.nexus-mini img{
  width:34px;height:34px;border-radius:50%;
  object-fit:cover;border:1px solid var(--border);
}
.nexus-mini span{
  font-size:10px;color:var(--green);
  letter-spacing:.08em;text-transform:uppercase;
  font-weight:600;display:block;
}
.nexus-mini strong{
  font-size:11px;color:var(--muted);
  display:block;line-height:1.5;
}

.secondary-action{
  margin:12px 14px 0;
  padding:8px 14px;
  background:transparent;
  border:1px solid var(--border);
  color:var(--muted);
  border-radius:var(--r);
  font-size:12px;font-weight:500;
  transition:border-color .15s,color .15s;
}
.secondary-action:hover{border-color:rgba(248,113,113,.4);color:var(--red)}

/* ─── SCREENS ────────────────────────────────────────────────────────────────── */
.screen{display:none;flex:1;overflow-y:auto;padding:24px 28px}
.screen.active{display:block}

/* ─── METRIC GRID ────────────────────────────────────────────────────────────── */
.metric-grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:12px;margin-bottom:18px;
}
.metric-grid article{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:18px 18px 14px;
  display:flex;flex-direction:column;gap:6px;
  transition:border-color .2s;
}
.metric-grid article:hover{border-color:rgba(59,130,246,.25)}
.metric-grid article span{
  font-size:11px;color:var(--muted);
  text-transform:uppercase;letter-spacing:.06em;font-weight:500;
}
.metric-grid article strong{
  font-family:var(--display);
  font-size:26px;font-weight:700;
  color:var(--text);line-height:1;
}
.metric-grid article small{font-size:11px;color:var(--sub)}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.metric-grid{grid-template-columns:repeat(2,1fr)}}

/* ─── OPS FLOW ───────────────────────────────────────────────────────────────── */
.ops-flow{
  display:flex;gap:0;margin-bottom:18px;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.ops-flow article{
  flex:1;padding:14px 16px;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;
  border-right:1px solid var(--border-dim);gap:4px;
  transition:background .15s;
}
.ops-flow article:last-child{
  border-right:none;
  background:rgba(16,185,129,.04);
  border-left:1px solid rgba(16,185,129,.12);
}
.ops-flow article:last-child b{color:var(--cta)}
.ops-flow article:hover{background:rgba(255,255,255,.03)}
.ops-flow article b{
  font-family:var(--display);
  font-size:14px;font-weight:700;color:var(--accent);
}
.ops-flow article span{font-size:12px;color:var(--text);font-weight:600}
.ops-flow article small{font-size:10px;color:var(--muted)}

/* ─── DASHBOARD GRID ─────────────────────────────────────────────────────────── */
.dashboard-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}}

/* ─── PANEL ──────────────────────────────────────────────────────────────────── */
.panel{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:18px;
  display:flex;flex-direction:column;gap:14px;
}
.panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.panel-head h2{
  font-size:12px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);
}

/* Intelligence panel */
.intelligence-panel{
  background:var(--bg2);
  border-color:rgba(59,130,246,.15);
}
.live-pill{
  font-size:10px;font-weight:600;letter-spacing:.1em;
  color:var(--green);background:rgba(52,211,153,.08);
  border:1px solid rgba(52,211,153,.2);
  padding:2px 8px;border-radius:20px;text-transform:uppercase;
}
.signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.signal-grid div{
  background:var(--bg3);
  border:1px solid var(--border-dim);
  border-radius:var(--r);
  padding:12px 14px;
}
.signal-grid b{
  font-family:var(--display);
  font-size:14px;font-weight:700;
  color:var(--accent);display:block;margin-bottom:2px;
}
.signal-grid span{font-size:11px;color:var(--muted)}

/* Stack */
.stack{display:flex;flex-direction:column;gap:10px}
.company-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:12px;
}
.company-card{
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.company-card.selected{
  border-color:rgba(59,130,246,.42);
  box-shadow:0 0 0 1px rgba(59,130,246,.14) inset;
}
.company-card header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}
.company-card h3{
  color:#fff;
  font-size:14px;
  line-height:1.35;
}
.company-card p{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:var(--muted);
  font-size:12px;
}
.company-card p b{
  color:var(--text);
  font-weight:500;
}

/* Status terminal — mais limpo */
.nexus-terminal{
  font-size:12px;color:var(--muted);
  line-height:2;
  background:var(--bg3);
  border:1px solid var(--border-dim);
  border-radius:var(--r);
  padding:12px 14px;
}
.nexus-terminal p{
  padding-left:0;margin-bottom:0;
  display:flex;align-items:baseline;gap:6px;
}
.nexus-terminal p::before{
  content:"›";
  color:var(--accent);
  font-weight:700;flex-shrink:0;
}

/* ─── SPLIT GRID ─────────────────────────────────────────────────────────────── */
.split-grid{display:grid;grid-template-columns:380px 1fr;gap:16px}
@media(max-width:1000px){.split-grid{grid-template-columns:1fr}}

/* ─── FORMS ──────────────────────────────────────────────────────────────────── */
.login-form label,.stack label,.panel label{
  display:flex;flex-direction:column;gap:6px;
  font-size:12px;color:var(--muted);font-weight:500;
}
.panel label input,.panel label textarea,.panel label select,
.stack label input,.stack label textarea{
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:9px 12px;color:var(--text);font-size:13px;outline:none;width:100%;
  transition:border-color .2s,box-shadow .2s;
}
.panel label input:focus,.panel label textarea:focus,
.stack label input:focus,.stack label textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-glow);
}
.panel label textarea{min-height:140px;resize:vertical;font-size:12px;line-height:1.7}
.hint{font-size:11px;color:var(--sub);line-height:1.6}

/* ─── BOTÕES ─────────────────────────────────────────────────────────────────── */
.primary-action{
  padding:11px 22px;
  background:var(--accent);color:#fff;
  border:none;border-radius:var(--r);
  font-size:13px;font-weight:600;letter-spacing:.03em;
  transition:background .15s,transform .1s;
}
.primary-action:hover{background:var(--accent-hover)}
.primary-action:active{transform:scale(.98)}

/* Botão Gerar Relatório PGR — CTA proeminente */
.report-action{
  padding:9px 18px;
  background:var(--cta);color:#fff;
  border:none;border-radius:var(--r);
  font-size:13px;font-weight:600;letter-spacing:.02em;
  transition:background .15s,transform .1s;
  display:inline-flex;align-items:center;gap:6px;
}
.report-action:hover{background:var(--cta-hover)}
.report-action:active{transform:scale(.98)}
.report-action-lg{
  padding:11px 22px;
  width:100%;justify-content:center;
  margin-top:4px;
  font-size:13px;
}

.small-button{
  padding:6px 12px;
  background:var(--bg3);
  border:1px solid var(--border);
  color:var(--text);
  border-radius:var(--r);
  font-size:12px;font-weight:500;
  transition:border-color .15s,background .15s,color .15s;
}
.small-button:hover{
  border-color:var(--accent);
  background:var(--accent-dim);
  color:var(--accent);
}

/* ─── CAMPAIGN CARDS ─────────────────────────────────────────────────────────── */
.campaign-card{
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:16px;
  display:flex;flex-direction:column;gap:8px;
  transition:border-color .2s;
}
.campaign-card:hover{border-color:rgba(59,130,246,.2)}
.campaign-card.selected{
  border-color:rgba(59,130,246,.4);
  background:rgba(59,130,246,.04);
}
.campaign-card header{display:flex;align-items:center;gap:8px}
.campaign-card h3{
  font-family:var(--display);
  font-size:14px;font-weight:700;flex:1;color:var(--text);
}
.campaign-card p{
  font-size:12px;color:var(--muted);
  display:flex;gap:8px;align-items:baseline;
}
.campaign-card p b{
  color:var(--text);min-width:110px;
  font-weight:500;font-size:12px;
}
.progress{height:3px;background:var(--bg4);border-radius:2px;margin:4px 0}
.progress i{display:block;height:100%;background:var(--accent);border-radius:2px;transition:width .4s}
.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;align-items:center}
.empty{
  text-align:center;color:var(--muted);
  font-size:13px;padding:28px 20px;
  display:flex;flex-direction:column;gap:8px;align-items:center;
}
.empty strong{color:var(--text);font-size:14px;font-weight:600}
.empty p{font-size:12px;line-height:1.7;max-width:280px}

/* ─── BADGE ──────────────────────────────────────────────────────────────────── */
.status-badge{
  display:inline-flex;align-items:center;
  padding:2px 8px;border-radius:12px;
  font-size:11px;font-weight:600;letter-spacing:.03em;
}
.badge-neutral{background:rgba(143,168,192,.08);color:var(--muted)}
.badge-blue{background:rgba(59,130,246,.1);color:var(--accent)}
.badge-gray{background:rgba(100,116,139,.12);color:#475569}
.badge-green{background:rgba(52,211,153,.1);color:var(--green)}
.badge-red{background:rgba(248,113,113,.1);color:var(--red)}
.badge-amber{background:rgba(251,191,36,.1);color:var(--amber)}
.audit-type-badge{
  font-family:monospace;font-size:10px;
  background:var(--bg4);color:var(--muted);
  padding:2px 6px;border-radius:4px;
}

/* ─── RISK WORD ──────────────────────────────────────────────────────────────── */
.risk-word{
  font-family:var(--display)!important;
  font-size:24px!important;font-weight:700!important;
  line-height:1!important;display:block!important;
}
.risk-red{color:var(--red)!important}
.risk-amber{color:var(--amber)!important}
.risk-green{color:var(--green)!important}
.risk-neutral{color:var(--muted)!important}

/* ─── DATA TABLE ─────────────────────────────────────────────────────────────── */
.data-table{width:100%;border-collapse:collapse;font-size:12px}
.data-table th{
  background:var(--bg3);color:var(--muted);
  font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;
  padding:10px 14px;text-align:left;
  border-bottom:1px solid var(--border);white-space:nowrap;
}
.data-table td{
  padding:10px 14px;
  border-bottom:1px solid var(--border-dim);
  color:var(--text);vertical-align:middle;
}
.data-table tr:hover td{background:rgba(255,255,255,.02)}
.hash-cell{
  max-width:260px;
  font-family:monospace;
  font-size:11px;
  color:var(--muted)!important;
  overflow:hidden;
  text-overflow:ellipsis;
}
.filter-select{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r);padding:7px 12px;
  color:var(--text);font-size:13px;outline:none;
}
.panel-sub{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:2px;
}
.nr01-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.nr01-summary article{
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:12px 14px;
}
.nr01-summary span{
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
}
.nr01-summary strong{
  display:block;
  color:var(--text);
  font-size:16px;
  line-height:1.25;
}
.nr01-inline-select{
  min-width:132px;
  padding:6px 8px;
  font-size:12px;
}
.readiness-list{
  display:grid;
  gap:10px;
}
.readiness-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:var(--r);
  background:var(--bg3);
}
.readiness-item span{
  width:34px;
  text-align:center;
  border-radius:999px;
  padding:2px 0;
  font-size:10px;
  font-weight:800;
  color:var(--muted);
  background:rgba(143,168,192,.08);
}
.readiness-item.ready span{
  color:var(--green);
  background:rgba(52,211,153,.1);
}
.readiness-item strong{
  font-size:13px;
  font-weight:600;
}

/* ─── MODAL ──────────────────────────────────────────────────────────────────── */
.modal-overlay{
  position:fixed;inset:0;z-index:1000;
  background:rgba(13,27,42,.8);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
}
.modal-box{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--r-xl);
  width:520px;max-width:95vw;max-height:80vh;
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid var(--border);
}
.modal-head h3{
  font-family:var(--display);
  font-size:14px;font-weight:700;
}
.links-list{
  display:flex;flex-direction:column;gap:8px;
  padding:16px 20px;overflow-y:auto;
}
.modal-foot{
  padding:12px 20px;
  border-top:1px solid var(--border);
  display:flex;justify-content:flex-end;gap:8px;
}
.link-item{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r);padding:12px 14px;
  display:flex;flex-direction:column;gap:4px;
}
.link-name{font-size:12px;font-weight:600}
.link-url{
  font-family:monospace;font-size:11px;
  color:var(--accent);word-break:break-all;
}

/* ─── MOTOR NEXUS ────────────────────────────────────────────────────────────── */
.motor-grid{display:flex;flex-direction:column;gap:16px}
.motor-pipe{display:flex;align-items:stretch;flex-wrap:wrap;gap:6px}
.mp-step{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:14px 16px;flex:1;min-width:110px;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:5px;
  transition:border-color .2s,background .2s;
}
.mp-step:hover{border-color:rgba(59,130,246,.25);background:rgba(59,130,246,.04)}
.mp-icon{font-size:22px;line-height:1}
.mp-name{
  font-family:var(--display);font-size:12px;font-weight:700;
  color:var(--accent);text-transform:uppercase;letter-spacing:.04em;
}
.mp-desc{font-size:10px;color:var(--muted);line-height:1.5}
.mp-arrow{
  color:var(--sub);font-size:16px;
  display:flex;align-items:center;padding:0 2px;
}

/* Motor formula */
.motor-formula{
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:18px 22px;
  display:flex;flex-direction:column;gap:12px;
}
.formula-main{
  font-family:'Courier New',monospace;
  font-size:15px;font-weight:700;color:var(--text);line-height:1.4;
}
.formula-weights{display:flex;flex-direction:column;gap:7px}
.formula-weights div{
  font-size:12px;color:var(--muted);
  display:flex;gap:12px;align-items:baseline;
}
.formula-weights span{
  font-family:monospace;font-size:12px;
  color:var(--accent);min-width:72px;
}
.formula-note{
  font-size:11px;color:var(--sub);line-height:1.7;
  border-top:1px solid var(--border-dim);padding-top:10px;
}

/* Flag classes */
.motor-flags-panel{}
.flag-class-list{display:flex;flex-direction:column;gap:8px}
.fc-row{
  display:grid;grid-template-columns:160px 200px 1fr;gap:12px;
  align-items:center;
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:14px 16px;font-size:12px;
}
.fc-badge{
  font-family:var(--display);font-size:12px;font-weight:700;
  letter-spacing:.04em;
}
.fc-crit{font-family:monospace;font-size:11px;color:var(--muted)}
.fc-desc{color:var(--text);line-height:1.6}
.fc-row.fc-red{border-color:rgba(248,113,113,.25)}.fc-row.fc-red .fc-badge{color:var(--red)}
.fc-row.fc-amber{border-color:rgba(251,191,36,.2)}.fc-row.fc-amber .fc-badge{color:var(--amber)}
.fc-row.fc-purple{border-color:rgba(167,139,250,.2)}.fc-row.fc-purple .fc-badge{color:var(--purple)}
.fc-row.fc-teal{border-color:rgba(34,211,238,.2)}.fc-row.fc-teal .fc-badge{color:var(--teal)}
.fc-row.fc-green{border-color:rgba(52,211,153,.15)}.fc-row.fc-green .fc-badge{color:var(--green)}
.fc-row.fc-muted{border-color:var(--border-dim)}.fc-row.fc-muted .fc-badge{color:var(--muted)}
@media(max-width:700px){.fc-row{grid-template-columns:1fr}}

.motor-disclaimer{
  background:rgba(59,130,246,.04);
  border:1px solid var(--border);
  border-radius:var(--r-lg);padding:14px 18px;
  font-size:11px;color:var(--muted);line-height:1.8;
}
.motor-disclaimer strong{color:var(--text)}

/* ─── REPORT OVERLAY ─────────────────────────────────────────────────────────── */
.rpt-overlay{
  position:fixed;inset:0;z-index:2000;
  background:rgba(13,27,42,.95);
  backdrop-filter:blur(8px);
  display:flex;flex-direction:column;overflow:hidden;
}
.rpt-modal{flex:1;display:flex;flex-direction:column;overflow:hidden}
.rpt-modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;height:56px;
  background:var(--bg2);
  border-bottom:1px solid var(--border);
  flex-shrink:0;gap:16px;
}
.rpt-title{
  font-family:var(--display);font-size:14px;font-weight:700;
  letter-spacing:.04em;color:var(--text);
}
.rpt-sub{font-size:11px;color:var(--muted)}
.rpt-body{flex:1;overflow-y:auto;padding:32px 36px;background:var(--bg1)}
.rpt-body > *{max-width:860px;margin-left:auto;margin-right:auto}
.rpt-modal-foot{
  display:flex;align-items:center;gap:10px;
  padding:0 24px;height:56px;
  background:var(--bg2);border-top:1px solid var(--border);
  justify-content:flex-end;flex-shrink:0;
}

/* Report content */
.rs{margin-bottom:28px;break-inside:avoid}
.rs h2{
  font-family:var(--display);font-size:12px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent);border-bottom:1px solid var(--border);
  padding-bottom:9px;margin-bottom:14px;
}
.rrow{
  display:flex;gap:14px;padding:8px 0;
  border-bottom:1px solid var(--border-dim);
  font-size:12px;align-items:flex-start;
}
.rrow:last-child{border-bottom:none}
.rk{min-width:180px;color:var(--muted);font-weight:500;flex-shrink:0}
.rv{color:var(--text);line-height:1.6}
.rpt-mono{
  font-family:'Courier New',monospace;font-size:11px;
  background:var(--bg3);padding:2px 6px;border-radius:4px;
}
.rwc{
  border:1px solid rgba(59,130,246,.15);
  border-radius:var(--r-lg);
  padding:14px 16px;margin-bottom:10px;
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
}
.rwn{font-weight:600;font-size:13px;flex:1 1 180px}
.rwv{
  font-size:11px;color:var(--muted);
  flex:2 1 300px;line-height:1.7;
}
.rpt-flag-badge{
  font-size:11px;font-weight:600;
  padding:2px 10px;border-radius:12px;letter-spacing:.04em;
}
.rpt-flag-vermelho{background:rgba(248,113,113,.1);color:var(--red)}
.rpt-flag-reatividade{background:rgba(251,191,36,.1);color:var(--amber)}
.rpt-flag-dissonancia{background:rgba(167,139,250,.1);color:var(--purple)}
.rpt-flag-cronicidade{background:rgba(34,211,238,.1);color:var(--teal)}
.rpt-flag-verde{background:rgba(52,211,153,.1);color:var(--green)}

/* ─── BEHAVIORAL EXPERIENCE PASS ────────────────────────────────────────────── */
.dashboard-focus{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);
  gap:12px;
  margin-bottom:14px;
}
.focus-copy,
.focus-action{
  min-width:0;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  background:rgba(17,34,52,.72);
  padding:16px 18px;
}
.focus-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.focus-copy h2{
  font-family:var(--display);
  font-size:22px;
  line-height:1.18;
  color:#fff;
  letter-spacing:0;
}
.focus-action{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:10px;
  border-color:rgba(16,185,129,.18);
  background:rgba(16,185,129,.055);
}
.focus-action span{
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:700;
}
.focus-action strong{
  display:block;
  color:#fff;
  font-family:var(--display);
  font-size:16px;
  line-height:1.25;
}
.dashboard-metrics{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.metric-grid article{min-width:0}
.dashboard-metrics article{
  padding:14px 16px 12px;
  background:rgba(17,34,52,.64);
}
.dashboard-metrics article strong{
  font-size:24px;
}
.metric-grid article span,
.metric-grid article small,
.ops-flow small,
.campaign-card p,
.data-table td{
  overflow-wrap:anywhere;
}
.risk-word{
  font-size:clamp(19px,1.8vw,24px)!important;
  white-space:nowrap!important;
}
.dashboard-grid{
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:14px;
}
.intelligence-panel{
  background:rgba(17,34,52,.58);
}
.intelligence-panel .nexus-terminal{
  flex:1;
}
.ops-flow{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.ops-flow article{min-width:0}
.journey-card{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:4px;
}
.journey-card div{
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:10px;
  background:rgba(59,130,246,.045);
}
.journey-card b{
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(59,130,246,.14);
  color:var(--accent);
  font-size:11px;
  margin-bottom:7px;
}
.journey-card span{
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.mp-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(59,130,246,.12);
  color:var(--accent);
  font-family:var(--display);
  font-size:11px;
  font-weight:800;
}
.report-action::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(255,255,255,.82);
}
.import-icon{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:32px;
  border-radius:var(--r);
  background:rgba(59,130,246,.12);
  color:var(--accent);
  font-style:normal;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.import-ok-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 4px rgba(52,211,153,.08);
}
.worker-entry-head{
  display:grid;
  gap:5px;
  padding:10px 12px;
  border:1px solid #d8e6ec;
  border-left:3px solid var(--ops-blue);
  border-radius:6px;
  background:#f6fafc;
}
.worker-entry-head strong{
  color:#20313d;
  font-size:13px;
}
.worker-entry-head span{
  color:#607184;
  font-size:12px;
  line-height:1.45;
}
.manual-worker-card{
  display:grid;
  gap:12px;
  padding:12px;
  border:1px solid var(--app-border);
  border-radius:6px;
  background:#fff;
}
.import-manual,
#workersTextarea{
  display:none!important;
}
.manual-worker-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.manual-worker-grid label:first-child{
  grid-column:1 / -1;
}
.manual-worker-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid #edf2f5;
  padding-top:10px;
}
.manual-worker-actions p{
  margin:0;
  color:#607184;
  font-size:12px;
  line-height:1.45;
}
.manual-workers-list{
  overflow:auto;
}
.manual-workers-empty{
  border:1px dashed #d4e0e7;
  border-radius:6px;
  padding:10px;
  color:#6c7c89;
  font-size:12px;
  background:#f9fbfc;
}
.manual-workers-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.manual-workers-table th,
.manual-workers-table td{
  padding:8px;
  border-bottom:1px solid #edf2f5;
  text-align:left;
}
.manual-workers-table th{
  color:#526170;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  background:#f6f9fb;
}
.audit-brief{
  display:grid;
  gap:4px;
  border:1px solid rgba(59,130,246,.16);
  border-radius:var(--r);
  background:rgba(59,130,246,.045);
  padding:12px 14px;
  margin-bottom:4px;
}
.audit-brief strong{
  color:#fff;
  font-family:var(--display);
  font-size:13px;
}
.audit-brief span{
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
@media(max-width:1200px){
  .dashboard-focus{grid-template-columns:1fr}
  .dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .system-view{height:auto;min-height:100vh;display:block;overflow:visible}
  .system-sidebar{width:100%;height:auto;overflow:visible}
  .system-sidebar nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));padding:0 8px 10px}
  .nav-item{justify-content:center;text-align:center;border-left:0;border-bottom:2px solid transparent;padding:10px 6px}
  .nav-item.active{border-bottom-color:var(--accent)}
  .manual-worker-grid{grid-template-columns:1fr}
  .manual-worker-actions{align-items:stretch;flex-direction:column}
  .manual-worker-actions .report-action{width:100%;justify-content:center}
  .nexus-mini,#logoutButton{display:none}
  .system-main{display:block;overflow:visible}
  .system-topbar{align-items:flex-start}
  .screen{overflow:visible;padding:18px}
  .command-brief,.dashboard-focus,.dashboard-grid,.split-grid{grid-template-columns:1fr}
  .ops-flow{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .metric-grid,.dashboard-metrics,.ops-flow,.journey-card,.signal-grid,.nr01-summary{grid-template-columns:1fr}
  .system-sidebar nav{grid-template-columns:1fr 1fr}
  .panel-head{align-items:flex-start;flex-direction:column}
  .topbar-status{align-items:flex-start}
  .data-table{display:block;overflow-x:auto;white-space:nowrap}
}

/* ─── LOGIN REMODEL: NEXUS AS ENVIRONMENT, NOT STICKER ─────────────────────── */
.login-hero{
  isolation:isolate;
}
.login-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg, rgba(13,27,42,.98) 0%, rgba(13,27,42,.86) 34%, rgba(13,27,42,.28) 63%, rgba(13,27,42,.78) 100%),
    url('/assets/nexus-character.jpg') right 52% bottom -2vh / min(62vw,760px) auto no-repeat;
  opacity:.88;
  filter:saturate(1.08) contrast(1.02);
  animation:nexusAmbient 12s ease-in-out infinite;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent 100%);
}
.login-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 70% 44%, rgba(34,211,238,.16), transparent 26rem),
    radial-gradient(circle at 78% 62%, rgba(16,185,129,.10), transparent 22rem),
    linear-gradient(180deg, rgba(13,27,42,.08), rgba(13,27,42,.36));
}
.access-grid,
.login-copy,
.trust-stack,
.login-system-map{
  position:relative;
  z-index:2;
}
.access-grid{
  opacity:.24;
  inset:42px;
  mix-blend-mode:screen;
}
.access-grid span{
  background:rgba(17,34,52,.24);
}
.login-copy{
  max-width:560px;
  padding-top:8vh;
}
.login-copy h1{
  max-width:560px;
  text-shadow:0 18px 54px rgba(0,0,0,.46);
}
.login-copy span{
  color:rgba(226,232,242,.84);
  text-shadow:0 8px 28px rgba(0,0,0,.46);
}
.nexus-stage{
  display:none;
}
.login-system-map{
  position:absolute;
  right:clamp(28px,5vw,72px);
  top:52px;
  width:min(360px,34vw);
  border:1px solid rgba(96,165,250,.22);
  border-radius:var(--r-xl);
  background:rgba(13,27,42,.42);
  backdrop-filter:blur(10px);
  padding:14px;
  box-shadow:0 22px 70px rgba(0,0,0,.18);
}
.login-system-map strong{
  display:block;
  color:#fff;
  font-family:var(--display);
  font-size:13px;
}
.login-system-map small{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:2px;
}
.login-system-map .intel-route{
  position:static;
  width:auto;
  margin-top:12px;
}
.login-system-map .intel-route span{
  background:rgba(17,34,52,.48);
  border-color:rgba(148,163,184,.14);
}
.trust-stack{
  max-width:860px;
}
.trust-stack article{
  background:rgba(13,27,42,.48);
  backdrop-filter:blur(8px);
}
@keyframes nexusAmbient{
  0%,100%{background-position:right 52% bottom -2vh, right 52% bottom -2vh}
  50%{background-position:right 52% bottom -2vh, right 48% bottom -1vh}
}
@media(max-width:980px){
  .login-hero::before{
    background:
      linear-gradient(180deg, rgba(13,27,42,.96) 0%, rgba(13,27,42,.60) 48%, rgba(13,27,42,.94) 100%),
      url('/assets/nexus-character.jpg') center bottom / min(96vw,560px) auto no-repeat;
    opacity:.72;
  }
  .login-system-map{
    position:relative;
    right:auto;
    top:auto;
    width:100%;
    margin-top:26px;
  }
}
@media(max-width:700px){
  .login-hero::before{
    opacity:.36;
    background:
      linear-gradient(180deg, rgba(13,27,42,.98), rgba(13,27,42,.70), rgba(13,27,42,.98)),
      url('/assets/nexus-character.jpg') center bottom / 118vw auto no-repeat;
  }
  .login-copy{padding-top:0}
}

.intelligence-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  margin:14px 0;
}
.intelligence-grid h3{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.decision-card,
.intervention-card{
  align-items:flex-start;
}
.intervention-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  row-gap:6px;
}
.intervention-card p,
.intervention-card small{
  grid-column:2;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.intervention-card small{
  color:var(--sub);
}
.intelligence-trend{
  margin-top:12px;
}
@media(max-width:900px){
  .intelligence-grid{
    grid-template-columns:1fr;
  }
}

/* Questionnaire journey */
.questionnaire-body{
  min-height:100vh;
  background:
    linear-gradient(135deg, rgba(13,27,42,.98), rgba(17,34,52,.96)),
    radial-gradient(circle at 84% 18%, rgba(34,211,238,.16), transparent 26rem);
  color:var(--text);
}
.questionnaire-shell{
  width:min(1180px,100%);
  min-height:100vh;
  margin:0 auto;
  padding:24px;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:18px;
}
.questionnaire-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:var(--muted);
  font-size:12px;
}
.questionnaire-form{
  min-height:0;
}
.q-wizard{
  display:grid;
  grid-template-columns:minmax(260px,330px) minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.q-progress-panel,
.q-stage,
.q-state-card{
  border:1px solid rgba(148,163,184,.12);
  border-radius:var(--r-xl);
  background:rgba(13,27,42,.74);
  box-shadow:0 24px 80px rgba(0,0,0,.20);
}
.q-progress-panel{
  position:sticky;
  top:24px;
  padding:20px;
  display:grid;
  gap:16px;
}
.q-kicker,
.q-state-kicker,
.q-stage-head span{
  display:block;
  color:#60a5fa;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.q-progress-panel h1,
.q-state-card h1,
.q-stage-head h2{
  font-family:var(--display);
  color:#fff;
  line-height:1.08;
}
.q-progress-panel h1{
  font-size:28px;
  margin-top:6px;
}
.q-progress-panel p,
.q-progress-panel small,
.q-state-card p,
.q-stage-head p,
.q-microcopy{
  color:var(--muted);
}
.q-progress-meter{
  height:10px;
  border-radius:999px;
  background:rgba(148,163,184,.10);
  overflow:hidden;
}
.q-progress-meter i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--accent),var(--cta));
  transition:width .24s ease;
}
.q-progress-panel > strong{
  font-size:13px;
  color:#fff;
}
.q-stepper{
  display:grid;
  gap:8px;
}
.q-step-dot{
  display:grid;
  grid-template-columns:28px 1fr;
  align-items:center;
  gap:10px;
  width:100%;
  padding:9px;
  border:1px solid rgba(148,163,184,.10);
  border-radius:var(--r);
  background:rgba(17,34,52,.58);
  color:var(--muted);
  text-align:left;
}
.q-step-dot span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(148,163,184,.08);
  color:var(--muted);
  font-weight:800;
  font-size:11px;
}
.q-step-dot small{
  font-size:11px;
  line-height:1.3;
}
.q-step-dot.active{
  border-color:rgba(96,165,250,.34);
  background:rgba(59,130,246,.10);
  color:#fff;
}
.q-step-dot.active span,
.q-step-dot.done span{
  background:var(--accent);
  color:#fff;
}
.q-step-dot:disabled{
  opacity:.54;
  cursor:not-allowed;
}
.q-stage{
  padding:24px;
}
.q-stage-head{
  display:grid;
  gap:10px;
  margin-bottom:18px;
}
.q-stage-head h2{
  font-size:clamp(28px,3vw,44px);
  max-width:760px;
}
.q-stage-head p{
  max-width:760px;
  font-size:15px;
  line-height:1.75;
}
.q-consent-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.q-consent-grid article,
.q-scale-guide,
.q-card,
.q-consent-card{
  border:1px solid rgba(148,163,184,.12);
  border-radius:var(--r-lg);
  background:rgba(17,34,52,.56);
}
.q-consent-grid article{
  padding:14px;
  display:grid;
  gap:6px;
}
.q-consent-grid strong{
  color:#fff;
  font-size:13px;
}
.q-consent-grid span{
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.q-consent-card{
  margin-top:12px;
  padding:15px;
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#dbeafe;
  line-height:1.6;
}
.q-consent-card input{
  width:18px;
  height:18px;
  margin-top:3px;
  accent-color:var(--accent);
  flex:0 0 auto;
}
.q-scale-guide{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  margin-bottom:12px;
  color:var(--muted);
  font-size:12px;
}
.q-scale-guide strong{
  color:#fff;
  white-space:nowrap;
}
.q-card-list{
  display:grid;
  gap:10px;
}
.q-card{
  padding:15px;
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
.q-card.answered{
  border-color:rgba(16,185,129,.32);
  background:rgba(16,185,129,.065);
}
.q-card legend{
  color:#eef6ff;
  font-weight:650;
  font-size:14px;
  line-height:1.5;
  padding:0 0 10px;
}
.q-scale-row{
  display:grid;
  grid-template-columns:76px minmax(0,1fr) 76px;
  gap:12px;
  align-items:center;
}
.q-scale-row small{
  color:var(--muted);
  font-size:11px;
  line-height:1.3;
}
.q-scale-row small:last-child{
  text-align:right;
}
.q-choice-group{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(44px,1fr));
  gap:8px;
}
.q-choice{
  min-width:0;
}
.q-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.q-choice span{
  display:grid;
  place-items:center;
  min-height:42px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:var(--r);
  background:rgba(13,27,42,.70);
  color:#dbeafe;
  font-weight:800;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.q-choice:hover span{
  border-color:rgba(96,165,250,.38);
  background:rgba(59,130,246,.10);
}
.q-choice input:checked + span{
  border-color:rgba(16,185,129,.62);
  background:linear-gradient(135deg,rgba(59,130,246,.78),rgba(16,185,129,.68));
  color:#fff;
  transform:translateY(-1px);
}
.q-actions{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:18px;
}
.q-actions button{
  min-width:150px;
}
.q-actions button:disabled{
  opacity:.48;
  cursor:not-allowed;
}
.q-actions .primary-action:disabled{
  background:#d7e2e9;
  color:#6c7d8d;
  opacity:1;
  box-shadow:none;
}
.q-microcopy{
  margin-top:10px;
  font-size:12px;
}
.q-state-card{
  width:min(720px,100%);
  margin:8vh auto 0;
  padding:28px;
}
.q-state-card h1{
  font-size:clamp(30px,4vw,48px);
  margin:8px 0 12px;
}
.q-state-card dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.q-state-card dl div{
  border:1px solid rgba(148,163,184,.12);
  border-radius:var(--r);
  background:rgba(17,34,52,.56);
  padding:12px;
}
.q-state-card dt{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.q-state-card dd{
  color:#fff;
  font-weight:800;
  margin-top:4px;
}
.q-state-card.success{
  border-color:rgba(16,185,129,.26);
}
@media(max-width:940px){
  .q-wizard{
    grid-template-columns:1fr;
  }
  .q-progress-panel{
    position:static;
  }
  .q-stepper{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .q-step-dot{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
}
@media(max-width:720px){
  .questionnaire-shell{
    padding:14px;
  }
  .questionnaire-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .q-stage,
  .q-progress-panel,
  .q-state-card{
    padding:16px;
  }
  .q-consent-grid,
  .q-state-card dl{
    grid-template-columns:1fr;
  }
  .q-scale-row{
    grid-template-columns:1fr;
    gap:8px;
  }
  .q-scale-row small:last-child{
    text-align:left;
  }
  .q-choice-group{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .q-actions{
    flex-direction:column-reverse;
  }
  .q-actions button{
    width:100%;
  }
}

/* Questionnaire ergonomic palette: calmer reading surface for respondents */
.questionnaire-body{
  --q-bg:#f4f7f9;
  --q-bg-soft:#eaf1f5;
  --q-panel:#ffffff;
  --q-panel-tint:#f8fbfc;
  --q-panel-blue:#eef6fb;
  --q-text:#17212f;
  --q-heading:#0f1d2a;
  --q-muted:#607184;
  --q-soft:#7b8b9a;
  --q-border:#d7e2e9;
  --q-border-strong:#b9cbd7;
  --q-accent:#2f6f8f;
  --q-accent-strong:#245a73;
  --q-accent-soft:#e5f2f7;
  --q-green:#16805d;
  --q-green-soft:#e5f5ee;
  --q-warn-soft:#fff6df;
  background:
    linear-gradient(135deg, rgba(244,247,249,.98), rgba(234,241,245,.96)),
    radial-gradient(circle at 80% 14%, rgba(47,111,143,.10), transparent 24rem);
  color:var(--q-text);
}
.questionnaire-head{
  color:var(--q-muted);
}
.questionnaire-head .brand-lockup strong{
  color:var(--q-heading);
}
.questionnaire-head .brand-lockup small{
  color:var(--q-muted);
}
.questionnaire-head .brand-dot{
  background:var(--q-accent);
  box-shadow:0 0 0 4px rgba(47,111,143,.10);
}
.q-progress-panel,
.q-stage,
.q-state-card{
  border-color:var(--q-border);
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 48px rgba(37,54,72,.10);
}
.q-progress-panel{
  background:linear-gradient(180deg,#ffffff,var(--q-panel-blue));
}
.q-kicker,
.q-state-kicker,
.q-stage-head span{
  color:var(--q-accent);
}
.q-progress-panel h1,
.q-state-card h1,
.q-stage-head h2{
  color:var(--q-heading);
}
.q-progress-panel p,
.q-progress-panel small,
.q-state-card p,
.q-stage-head p,
.q-microcopy{
  color:var(--q-muted);
}
.q-progress-meter{
  background:#dce8ef;
}
.q-progress-meter i{
  background:linear-gradient(90deg,var(--q-accent),var(--q-green));
}
.q-progress-panel > strong{
  color:var(--q-heading);
}
.q-step-dot{
  border-color:var(--q-border);
  background:rgba(255,255,255,.72);
  color:var(--q-muted);
}
.q-step-dot span{
  background:#e2edf3;
  color:var(--q-muted);
}
.q-step-dot.active{
  border-color:rgba(47,111,143,.34);
  background:var(--q-accent-soft);
  color:var(--q-heading);
}
.q-step-dot.done{
  background:var(--q-green-soft);
  border-color:rgba(22,128,93,.25);
}
.q-step-dot.active span{
  background:var(--q-accent);
  color:#fff;
}
.q-step-dot.done span{
  background:var(--q-green);
  color:#fff;
}
.q-step-dot:disabled{
  opacity:.70;
}
.q-consent-grid article,
.q-scale-guide,
.q-card,
.q-consent-card{
  border-color:var(--q-border);
  background:var(--q-panel-tint);
}
.q-consent-grid strong,
.q-scale-guide strong,
.q-card legend{
  color:var(--q-heading);
}
.q-consent-grid span,
.q-scale-row small{
  color:var(--q-muted);
}
.q-consent-card{
  background:var(--q-warn-soft);
  color:var(--q-heading);
  border-color:#ead79b;
}
.q-consent-card input{
  accent-color:var(--q-accent);
}
.q-card{
  background:#fff;
}
.q-card.answered{
  border-color:rgba(22,128,93,.30);
  background:var(--q-green-soft);
}
.q-choice span{
  border-color:var(--q-border);
  background:#ffffff;
  color:var(--q-heading);
  box-shadow:inset 0 -1px 0 rgba(23,33,47,.04);
}
.q-choice:hover span{
  border-color:var(--q-border-strong);
  background:var(--q-accent-soft);
}
.q-choice input:checked + span{
  border-color:var(--q-accent);
  background:var(--q-accent);
  color:#fff;
  transform:none;
  box-shadow:0 6px 14px rgba(47,111,143,.18);
}
.q-actions .secondary-action{
  background:#ffffff;
  border-color:var(--q-border);
  color:var(--q-heading);
}
.q-actions .secondary-action:hover{
  border-color:var(--q-border-strong);
  background:#f8fbfc;
}
.q-state-card dl div{
  border-color:var(--q-border);
  background:var(--q-panel-tint);
}
.q-state-card dt{
  color:var(--q-soft);
}
.q-state-card dd{
  color:var(--q-heading);
}
.q-state-card.success{
  border-color:rgba(22,128,93,.24);
  background:linear-gradient(180deg,#ffffff,var(--q-green-soft));
}

/* ═══════════════════════════════════════════════════════════════════════════════
   ACESSIBILIDADE — foco por teclado e movimento reduzido
   ═══════════════════════════════════════════════════════════════════════════════ */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
button:focus-visible,.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* ═══════════════════════════════════════════════════════════════════════════════
   NAV — agrupamento do menu lateral
   ═══════════════════════════════════════════════════════════════════════════════ */
.nav-group-label{
  font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sub);padding:12px 12px 4px;margin-top:4px;
}
.nav-group-label:first-child{margin-top:0}

/* ═══════════════════════════════════════════════════════════════════════════════
   TOAST — notificações não-bloqueantes (substitui alert)
   ═══════════════════════════════════════════════════════════════════════════════ */
.toast-stack{
  position:fixed;top:18px;right:18px;z-index:9999;
  display:flex;flex-direction:column;gap:10px;max-width:360px;
}
.toast{
  display:flex;align-items:flex-start;gap:10px;
  background:var(--bg3);border:1px solid var(--border);
  border-left:3px solid var(--accent);
  border-radius:var(--r);padding:12px 14px;
  color:var(--text);font-size:13px;line-height:1.5;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
  animation:toastIn .22s ease;
}
.toast.toast-success{border-left-color:var(--green)}
.toast.toast-error{border-left-color:var(--red)}
.toast.toast-out{animation:toastOut .2s ease forwards}
.toast b{display:block;font-weight:600;margin-bottom:2px}
@keyframes toastIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateX(16px)}}

/* ═══════════════════════════════════════════════════════════════════════════════
   FLUIDEZ — barra de carregamento, transições de tela, modais, micro-interações
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Barra de progresso global no topo */
.loading-bar{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:10000;
  transform-origin:left;transform:scaleX(0);opacity:0;pointer-events:none;
  background:linear-gradient(90deg,var(--accent),var(--cta),var(--accent));
  box-shadow:0 0 8px var(--accent-glow);
}
.loading-bar.active{opacity:1;animation:barProgress 1.6s cubic-bezier(.2,.7,.3,1) forwards}
.loading-bar.done{opacity:0;transform:scaleX(1);transition:transform .12s ease, opacity .26s ease .12s}
@keyframes barProgress{0%{transform:scaleX(.05)}50%{transform:scaleX(.6)}100%{transform:scaleX(.9)}}

/* Entrada de tela */
#screenTitle{outline:none;transition:color .2s}
.screen-enter{animation:screenIn .34s cubic-bezier(.22,.61,.36,1)}
@keyframes screenIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Stagger sutil de painéis e KPIs ao entrar na tela */
.screen.active .panel{animation:fadeUp .42s ease both}
.screen.active .panel:nth-of-type(2){animation-delay:.06s}
.screen.active .panel:nth-of-type(3){animation-delay:.12s}
.screen.active .metric-grid article{animation:fadeUp .4s ease both}
.screen.active .metric-grid article:nth-child(2){animation-delay:.05s}
.screen.active .metric-grid article:nth-child(3){animation-delay:.1s}
.screen.active .dashboard-focus{animation:fadeUp .4s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Tabelas surgem suave (sem animar linha a linha) */
.data-table{animation:fadeIn .3s ease both}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* Modais: blur no fundo + entrada com escala */
.modal-overlay,.rpt-overlay{transition:opacity .2s ease}
.modal-overlay:not(.hidden),.rpt-overlay:not(.hidden){
  animation:overlayIn .2s ease;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.modal-overlay:not(.hidden) .modal-box,
.rpt-overlay:not(.hidden) .rpt-modal{animation:modalIn .28s cubic-bezier(.22,.61,.36,1)}
@keyframes overlayIn{from{opacity:0}to{opacity:1}}
@keyframes modalIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}

/* Login/app: fade de entrada */
.system-view:not(.hidden){animation:viewIn .4s ease}
.login-view:not(.hidden){animation:viewIn .5s ease}
@keyframes viewIn{from{opacity:0}to{opacity:1}}

/* Nav: indicador ativo + transição mais suave */
.nav-item{position:relative;transition:color .15s,background .15s,padding-left .15s}
.system-sidebar .nav-item.active::before{
  content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);
  width:3px;height:15px;background:var(--accent);border-radius:2px;
  box-shadow:0 0 6px var(--accent-glow);
}
.system-sidebar .nav-item:hover:not(.active){padding-left:14px}

/* Micro-interações consistentes */
.small-button,.report-action,.primary-action,.secondary-action{transition:background .15s,border-color .15s,color .15s,transform .1s,box-shadow .15s}
.small-button:active,.report-action:active,.secondary-action:active{transform:scale(.97)}
.campaign-card,.metric-grid article,.company-card,.panel{transition:border-color .2s,box-shadow .2s,transform .15s}
.company-card:hover,.campaign-card:hover{transform:translateY(-1px)}
.filter-select,select{transition:border-color .15s,box-shadow .15s}

/* KPIs numéricos com leve realce ao atualizar */
.metric-grid article strong{transition:color .2s}

/* Menu mobile: rótulo de grupo ocupa a linha inteira da grade */
.system-sidebar nav .nav-group-label{grid-column:1 / -1}
@media(max-width:980px){
  .system-sidebar nav .nav-group-label{padding:10px 10px 2px;text-align:left}
}

/* Internal system ergonomic redesign */
.system-view{
  --app-bg:#edf3f6;
  --app-bg-soft:#f6f9fb;
  --app-panel:#ffffff;
  --app-panel-tint:#f8fbfc;
  --app-text:#172231;
  --app-heading:#0e1b27;
  --app-muted:#607284;
  --app-soft:#8091a1;
  --app-border:#d4e0e8;
  --app-border-strong:#b8cad6;
  --app-sidebar:#102232;
  --app-sidebar-soft:#183246;
  --app-accent:#2f6f8f;
  --app-accent-strong:#245a73;
  --app-accent-soft:#e4f1f6;
  --app-green:#16805d;
  --app-green-soft:#e5f5ee;
  --app-amber:#a66b00;
  --app-amber-soft:#fff4d8;
  --app-red:#b54242;
  --app-red-soft:#fdeceb;
  background:var(--app-bg);
  color:var(--app-text);
}
.system-view .system-sidebar{
  width:248px;
  background:linear-gradient(180deg,var(--app-sidebar),#0c1a27);
  border-right:0;
  box-shadow:12px 0 30px rgba(16,34,50,.10);
}
.system-view .system-sidebar .brand-lockup{
  padding:22px 22px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.system-view .system-sidebar nav{
  padding:14px 12px 10px;
  gap:4px;
}
.nav-section-label{
  display:block;
  margin:14px 10px 6px;
  color:#8fb0c4;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nav-section-label:first-child{
  margin-top:2px;
}
.system-view .nav-item{
  border-left:0;
  border-radius:var(--r);
  padding:10px 12px;
  color:#c6d4df;
  font-size:13px;
  font-weight:650;
}
.system-view .nav-item:hover{
  color:#ffffff;
  background:rgba(255,255,255,.075);
}
.system-view .nav-item.active{
  color:#ffffff;
  background:linear-gradient(135deg,rgba(47,111,143,.95),rgba(22,128,93,.78));
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}
.system-view .nexus-mini{
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}
.system-view .nexus-mini span{
  color:#8fe0c3;
}
.system-view .nexus-mini strong{
  color:#b9c9d5;
}
.system-view #logoutButton.secondary-action{
  margin:12px;
  color:#d5e3ec;
  border-color:rgba(255,255,255,.12);
}
.system-view #logoutButton.secondary-action:hover{
  color:#fff;
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.06);
}
.system-view .system-main{
  background:
    linear-gradient(180deg,rgba(255,255,255,.72),rgba(237,243,246,.92)),
    radial-gradient(circle at 82% 8%, rgba(47,111,143,.08), transparent 24rem);
}
.system-view .system-topbar{
  min-height:74px;
  background:rgba(255,255,255,.88);
  border-bottom:1px solid var(--app-border);
  box-shadow:0 10px 28px rgba(31,49,64,.06);
  backdrop-filter:blur(10px);
}
.system-view .kicker{
  color:var(--app-accent);
  font-weight:800;
}
.system-view .system-topbar h1{
  color:var(--app-heading);
  font-size:22px;
  line-height:1.15;
}
.screen-subtitle{
  margin-top:4px;
  color:var(--app-muted);
  font-size:13px;
  line-height:1.45;
}
.system-view .topbar-status{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.system-view .topbar-status span{
  color:var(--app-muted);
}
.system-view .topbar-status strong{
  color:var(--app-green);
  background:var(--app-green-soft);
  border-color:rgba(22,128,93,.20);
}
.system-view .company-switcher{
  color:var(--app-muted);
}
.system-view .screen{
  padding:24px 28px 32px;
}
.operation-rail{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.operation-step{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:10px;
  row-gap:3px;
  align-items:center;
  text-align:left;
  border:1px solid var(--app-border);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.92);
  color:var(--app-text);
  padding:13px 14px;
  box-shadow:0 8px 22px rgba(31,49,64,.06);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.operation-step:hover{
  transform:translateY(-1px);
  border-color:rgba(47,111,143,.32);
  box-shadow:0 14px 28px rgba(31,49,64,.10);
}
.operation-step span{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  color:#fff;
  background:var(--app-accent);
  font-size:11px;
  font-weight:800;
}
.operation-step strong{
  color:var(--app-heading);
  font-size:13px;
  line-height:1.2;
}
.operation-step small{
  color:var(--app-muted);
  font-size:11px;
  line-height:1.35;
}
.system-view .panel,
.system-view .focus-copy,
.system-view .focus-action,
.system-view .metric-grid article,
.system-view .company-card,
.system-view .campaign-card,
.system-view .import-zone,
.system-view .motor-formula,
.system-view .mp-step,
.system-view .fc-row,
.system-view .q-state-card{
  background:var(--app-panel);
  border-color:var(--app-border);
  color:var(--app-text);
  box-shadow:0 12px 34px rgba(31,49,64,.08);
}
.system-view .panel{
  border-radius:var(--r-lg);
  padding:20px;
}
.system-view .panel-head{
  padding-bottom:10px;
  border-bottom:1px solid var(--app-border);
}
.system-view .panel-head h2{
  color:var(--app-heading);
  font-size:13px;
  font-weight:800;
}
.system-view .panel-sub,
.system-view .hint,
.system-view .metric-grid article small,
.system-view .company-card p,
.system-view .campaign-card p,
.system-view .nexus-terminal,
.system-view .empty p,
.system-view .fc-crit,
.system-view .formula-note,
.system-view .motor-disclaimer,
.system-view .audit-brief span{
  color:var(--app-muted);
}
.system-view .focus-copy h2,
.system-view .focus-action strong,
.system-view .company-card h3,
.system-view .campaign-card h3,
.system-view .metric-grid article strong,
.system-view .q-state-card h1,
.system-view .motor-disclaimer strong,
.system-view .audit-brief strong{
  color:var(--app-heading);
}
.system-view .focus-action{
  background:linear-gradient(180deg,#ffffff,var(--app-green-soft));
  border-color:rgba(22,128,93,.22);
}
.system-view .focus-action span{
  color:var(--app-green);
}
.system-view .metric-grid article span{
  color:var(--app-muted);
}
.system-view .dashboard-metrics article{
  background:#fff;
}
.system-view .risk-word.risk-red,
.system-view .badge-red{
  color:var(--app-red)!important;
}
.system-view .risk-word.risk-amber,
.system-view .badge-amber{
  color:var(--app-amber)!important;
}
.system-view .risk-word.risk-green,
.system-view .badge-green{
  color:var(--app-green)!important;
}
.system-view .company-card.selected,
.system-view .campaign-card.selected{
  border-color:rgba(47,111,143,.36);
  background:linear-gradient(180deg,#ffffff,var(--app-accent-soft));
  box-shadow:0 0 0 1px rgba(47,111,143,.08) inset,0 14px 34px rgba(31,49,64,.10);
}
.system-view .nexus-terminal,
.system-view .signal-grid div,
.system-view .journey-card div,
.system-view .audit-brief,
.system-view .motor-disclaimer,
.system-view .import-zone-inner,
.system-view .import-preview-wrap,
.system-view .q-scale-guide,
.system-view .q-card{
  background:var(--app-panel-tint);
  border-color:var(--app-border);
}
.system-view .nexus-terminal p::before{
  color:var(--app-accent);
}
.system-view input,
.system-view select,
.system-view textarea,
.system-view .filter-select{
  background:#fff;
  border-color:var(--app-border);
  color:var(--app-heading);
}
.system-view input:focus,
.system-view select:focus,
.system-view textarea:focus,
.system-view .filter-select:focus{
  border-color:var(--app-accent);
  box-shadow:0 0 0 3px rgba(47,111,143,.14);
}
.system-view .primary-action{
  background:var(--app-accent);
  border-color:var(--app-accent);
  color:#fff;
  box-shadow:0 10px 20px rgba(47,111,143,.20);
}
.system-view .primary-action:hover{
  background:var(--app-accent-strong);
  border-color:var(--app-accent-strong);
}
.system-view .report-action{
  background:var(--app-green);
  border-color:var(--app-green);
  color:#fff;
  box-shadow:0 10px 20px rgba(22,128,93,.18);
}
.system-view .small-button,
.system-view .secondary-action{
  background:#fff;
  border-color:var(--app-border);
  color:var(--app-heading);
}
.system-view .small-button:hover,
.system-view .secondary-action:hover{
  background:var(--app-accent-soft);
  border-color:rgba(47,111,143,.28);
  color:var(--app-accent-strong);
}
.system-view .status-badge{
  border-color:transparent;
  background:#eef4f7;
  color:var(--app-muted);
}
.system-view .badge-blue{
  background:var(--app-accent-soft);
  color:var(--app-accent);
}
.system-view .badge-green{
  background:var(--app-green-soft);
}
.system-view .badge-amber{
  background:var(--app-amber-soft);
}
.system-view .badge-red{
  background:var(--app-red-soft);
}
.system-view .data-table{
  background:#fff;
  color:var(--app-text);
  border:1px solid var(--app-border);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.system-view .data-table th{
  background:#edf4f7;
  color:var(--app-heading);
  border-bottom:1px solid var(--app-border);
}
.system-view .data-table td{
  color:var(--app-text);
  border-bottom:1px solid #edf2f5;
}
.system-view .data-table tr:hover td{
  background:#f8fbfc;
}
.system-view .modal-box,
.system-view .rpt-modal-head,
.system-view .rpt-modal-foot{
  background:#fff;
  color:var(--app-text);
  border-color:var(--app-border);
}
.system-view .links-list,
.system-view .link-item{
  background:var(--app-panel-tint);
  border-color:var(--app-border);
}
.system-view .link-url{
  color:var(--app-accent);
}
@media(max-width:1100px){
  .operation-rail{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .system-view .system-sidebar{
    width:100%;
  }
  .system-view .system-sidebar nav{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .nav-section-label{
    grid-column:1 / -1;
    margin:10px 4px 4px;
  }
  .system-view .nav-item{
    justify-content:center;
    text-align:center;
  }
  .system-view .system-topbar{
    align-items:flex-start;
  }
}
@media(max-width:620px){
  .operation-rail{
    grid-template-columns:1fr;
  }
  .system-view .system-sidebar nav{
    grid-template-columns:1fr 1fr;
  }
  .system-view .topbar-status{
    justify-content:flex-start;
  }
}

/* Internal navigation refinement: keep the menu connected to the light workspace */
.system-view .system-sidebar{
  background:linear-gradient(180deg,#ffffff,#f2f7fa);
  border-right:1px solid var(--app-border);
  box-shadow:8px 0 24px rgba(31,49,64,.07);
}
.system-view .system-sidebar .brand-lockup{
  border-bottom:1px solid var(--app-border);
}
.system-view .system-sidebar .brand-lockup strong{
  color:var(--app-heading);
}
.system-view .system-sidebar .brand-lockup small{
  color:var(--app-muted);
}
.system-view .system-sidebar .brand-dot{
  background:var(--app-accent);
  box-shadow:0 0 0 4px rgba(47,111,143,.10);
}
.system-view .nav-section-label{
  color:#7a8d9e;
}
.system-view .nav-item{
  color:#405466;
  background:transparent;
}
.system-view .nav-item:hover{
  color:var(--app-heading);
  background:#eaf3f7;
}
.system-view .nav-item.active{
  color:#ffffff;
  background:var(--app-accent);
  box-shadow:0 8px 18px rgba(47,111,143,.18);
}
.system-view .nexus-mini{
  border-top:1px solid var(--app-border);
  background:#f8fbfc;
}
.system-view .nexus-mini img{
  border-color:var(--app-border);
}
.system-view .nexus-mini span{
  color:var(--app-green);
}
.system-view .nexus-mini strong{
  color:var(--app-muted);
}
.system-view #logoutButton.secondary-action{
  color:var(--app-heading);
  border-color:var(--app-border);
  background:#ffffff;
}
.system-view #logoutButton.secondary-action:hover{
  color:var(--app-accent-strong);
  border-color:rgba(47,111,143,.28);
  background:var(--app-accent-soft);
}

/* Product maturity pass: quieter enterprise tool, less generated-dashboard feel */
.system-view{
  --app-bg:#f3f6f8;
  --app-panel:#ffffff;
  --app-panel-tint:#f7fafb;
  --app-text:#1f2a36;
  --app-heading:#111c26;
  --app-muted:#657484;
  --app-border:#dce5eb;
  --app-accent:#286987;
  --app-accent-soft:#e8f1f5;
  --app-green:#14775a;
}
.system-view .system-sidebar{
  width:232px;
  background:#ffffff;
  box-shadow:none;
}
.system-view .system-sidebar .brand-lockup{
  padding:18px 20px 16px;
}
.system-view .system-sidebar nav{
  padding:12px 10px;
}
.system-view .nav-section-label{
  margin:16px 10px 5px;
  color:#8b98a6;
  font-size:9px;
}
.system-view .nav-item{
  min-height:36px;
  padding:8px 10px;
  border-radius:6px;
  font-weight:600;
  color:#475766;
}
.system-view .nav-item:hover{
  background:#f2f6f8;
}
.system-view .nav-item.active{
  position:relative;
  color:var(--app-heading);
  background:#eef5f8;
  box-shadow:none;
}
.system-view .nav-item.active::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:2px;
  background:var(--app-accent);
}
.system-view .nexus-mini{
  margin:0 12px 10px;
  padding:12px;
  border:1px solid var(--app-border);
  border-radius:8px;
  background:#f7fafb;
}
.system-view .nexus-mini span{
  color:#526373;
  font-size:9px;
}
.system-view .nexus-mini strong{
  color:#6a7b8b;
  font-size:11px;
}
.system-view .system-main{
  background:#f3f6f8;
}
.system-view .system-topbar{
  min-height:68px;
  background:#ffffff;
  box-shadow:none;
}
.system-view .system-topbar h1{
  font-size:20px;
}
.screen-subtitle{
  font-size:12px;
}
.system-view .screen{
  padding:22px 26px 30px;
}
.operation-rail{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border:1px solid var(--app-border);
  border-radius:8px;
  background:#fff;
  overflow:hidden;
  margin-bottom:16px;
}
.operation-step{
  border:0;
  border-right:1px solid var(--app-border);
  border-radius:0;
  box-shadow:none;
  padding:12px 14px;
  background:#fff;
}
.operation-step:last-child{
  border-right:0;
}
.operation-step:hover{
  transform:none;
  box-shadow:none;
  background:#f8fbfc;
}
.operation-step span{
  width:28px;
  height:28px;
  background:#e8f1f5;
  color:var(--app-accent);
}
.operation-step strong{
  font-size:12px;
}
.operation-step small{
  font-size:10px;
}
.system-view .panel,
.system-view .focus-copy,
.system-view .focus-action,
.system-view .metric-grid article,
.system-view .company-card,
.system-view .campaign-card,
.system-view .import-zone,
.system-view .motor-formula,
.system-view .mp-step,
.system-view .fc-row{
  box-shadow:none;
  border-radius:8px;
}
.system-view .panel{
  padding:18px;
}
.system-view .panel-head{
  padding-bottom:9px;
}
.system-view .focus-action{
  background:#ffffff;
  border-color:var(--app-border);
}
.system-view .focus-action span{
  color:#657484;
}
.system-view .focus-action strong{
  font-size:15px;
}
.system-view .dashboard-focus{
  gap:10px;
}
.system-view .dashboard-metrics{
  gap:10px;
}
.system-view .metric-grid article{
  padding:14px;
}
.system-view .metric-grid article strong{
  font-size:22px;
}
.system-view .company-card.selected,
.system-view .campaign-card.selected{
  background:#fff;
  box-shadow:inset 3px 0 0 var(--app-accent);
}
.system-view .journey-card div{
  background:#fff;
}
.system-view .journey-card b{
  background:#e8f1f5;
  color:var(--app-accent);
}
.system-view .primary-action,
.system-view .report-action{
  box-shadow:none;
  border-radius:6px;
}
.system-view .small-button,
.system-view .secondary-action,
.system-view input,
.system-view select,
.system-view textarea,
.system-view .filter-select{
  border-radius:6px;
}
.system-view .data-table{
  border-radius:8px;
}
.system-view .data-table th{
  font-size:11px;
  letter-spacing:.02em;
}
.system-view .status-badge{
  border-radius:999px;
  font-size:10px;
  font-weight:700;
}
@media(max-width:1100px){
  .operation-rail{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .operation-step:nth-child(2){
    border-right:0;
  }
  .operation-step:nth-child(-n+2){
    border-bottom:1px solid var(--app-border);
  }
}
@media(max-width:620px){
  .operation-rail{
    grid-template-columns:1fr;
  }
  .operation-step{
    border-right:0;
    border-bottom:1px solid var(--app-border);
  }
  .operation-step:last-child{
    border-bottom:0;
  }
}

/* Executive-grade pass: remove generated-dashboard artifacts */
.system-view{
  --app-bg:#f6f7f8;
  --app-panel:#ffffff;
  --app-panel-tint:#fafbfc;
  --app-text:#202932;
  --app-heading:#101820;
  --app-muted:#6d7782;
  --app-border:#e1e6ea;
  --app-accent:#235f78;
  --app-accent-soft:#edf4f7;
  --r:6px;
  --r-lg:6px;
}
.system-view .operation-rail,
.system-view .nexus-mini{
  display:none!important;
}
.system-view .system-sidebar{
  width:220px;
  background:#fbfcfd;
  border-right:1px solid #e2e7eb;
}
.system-view .system-sidebar .brand-lockup{
  padding:18px 18px 15px;
}
.system-view .brand-lockup strong{
  letter-spacing:.04em;
}
.system-view .system-sidebar nav{
  padding:10px 8px;
}
.system-view .nav-section-label{
  margin:15px 10px 4px;
  color:#929da7;
  font-size:9px;
  letter-spacing:.14em;
}
.system-view .nav-item{
  min-height:34px;
  padding:7px 10px;
  border-radius:4px;
  color:#45525f;
  font-size:12px;
  font-weight:600;
}
.system-view .nav-item:hover{
  background:#eef2f4;
}
.system-view .nav-item.active{
  color:#0f1b24;
  background:#e7eef2;
  font-weight:700;
}
.system-view .nav-item.active::before{
  top:7px;
  bottom:7px;
  width:2px;
}
.system-view #logoutButton.secondary-action{
  margin:10px 8px;
  min-height:32px;
}
.system-view .system-main{
  background:#f6f7f8;
}
.system-view .system-topbar{
  min-height:64px;
  padding:14px 24px;
  background:#fff;
}
.system-view .kicker{
  color:#687785;
  font-size:9px;
}
.system-view .system-topbar h1{
  font-size:19px;
  font-weight:800;
}
.screen-subtitle{
  margin-top:2px;
  color:#77838f;
  font-size:12px;
}
.system-view .screen{
  padding:20px 24px 28px;
}
.system-view .dashboard-focus{
  grid-template-columns:minmax(0,1fr) 320px;
  gap:8px;
  margin-bottom:10px;
}
.system-view .focus-copy,
.system-view .focus-action{
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--app-border);
}
.system-view .focus-copy h2{
  font-size:20px;
}
.system-view .focus-action{
  gap:8px;
}
.system-view .focus-action span{
  font-size:9px;
}
.system-view .focus-action strong{
  font-size:14px;
  font-family:var(--body);
  font-weight:700;
}
.system-view .dashboard-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.system-view .metric-grid article{
  padding:12px 14px;
  border:1px solid var(--app-border);
  background:#fff;
}
.system-view .metric-grid article span{
  font-size:10px;
  letter-spacing:.04em;
}
.system-view .metric-grid article strong{
  font-size:21px;
  line-height:1.25;
  min-height:27px;
  font-family:var(--body);
  font-weight:800;
}
.system-view .metric-grid article small{
  font-size:10px;
}
.system-view .panel{
  padding:16px;
  border:1px solid var(--app-border);
  background:#fff;
}
.system-view .panel-head{
  padding-bottom:8px;
}
.system-view .panel-head h2{
  color:#25313b;
  font-size:12px;
  letter-spacing:.04em;
}
.system-view .panel-sub{
  font-size:12px;
}
.system-view .company-card,
.system-view .campaign-card{
  padding:12px;
  border:1px solid var(--app-border);
}
.system-view .company-card h3,
.system-view .campaign-card h3{
  font-family:var(--body);
  font-size:13px;
  font-weight:800;
}
.system-view .company-card p,
.system-view .campaign-card p{
  font-size:11px;
}
.system-view .company-next-step{
  margin:8px 0 6px;
  padding:8px 10px;
  border:1px solid #d8e6ec;
  border-left:3px solid var(--ops-blue);
  border-radius:6px;
  background:#f6fafc;
  color:#294253;
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}
.system-view .journey-card{
  gap:0;
  border:1px solid var(--app-border);
  border-radius:6px;
  overflow:hidden;
}
.system-view .journey-card div{
  border:0;
  border-right:1px solid var(--app-border);
  border-radius:0;
  padding:9px 10px;
}
.system-view .journey-card div:last-child{
  border-right:0;
}
.system-view .journey-card b{
  width:auto;
  height:auto;
  display:inline;
  background:transparent;
  color:var(--app-accent);
  margin:0 6px 0 0;
}
.system-view .journey-card span{
  display:inline;
  font-size:11px;
}
.system-view .primary-action,
.system-view .report-action,
.system-view .small-button{
  min-height:32px;
  padding:7px 11px;
  border-radius:4px;
  font-size:12px;
}
.system-view .report-action::before{
  display:none;
}
.system-view .data-table th{
  background:#f1f4f6;
  color:#374450;
  font-size:10px;
}
.system-view .data-table td{
  font-size:12px;
}
.system-view .status-badge{
  padding:2px 7px;
  font-size:9px;
  letter-spacing:.04em;
}
@media(max-width:900px){
  .system-view .dashboard-focus{
    grid-template-columns:1fr;
  }
}

/* Company screen readability */
.system-view .company-card p,
.system-view .campaign-card p{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  align-items:start;
  gap:10px;
  padding:7px 0;
  border-bottom:1px solid #eef2f4;
  color:#26333f;
  line-height:1.35;
}
.system-view .company-card p:last-of-type,
.system-view .campaign-card p:last-of-type{
  border-bottom:0;
}
.system-view .company-card p b,
.system-view .campaign-card p b{
  color:#7a8794;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.system-view .company-card p,
.system-view .campaign-card p,
.system-view .company-card p *,
.system-view .campaign-card p *{
  overflow-wrap:anywhere;
}

.system-view .nav-group-label{
  color:#6d8292;
  padding:12px 12px 5px;
  font-size:10px;
  font-weight:800;
}

.system-view .empty{
  align-items:flex-start;
  text-align:left;
  color:#5f6e7b;
  padding:22px 24px;
  border:1px solid #e3e8ec;
  background:#fbfcfd;
  border-radius:6px;
}
.system-view .empty strong{
  color:#182530;
  font-size:15px;
  font-weight:800;
  line-height:1.25;
}
.system-view .empty p{
  max-width:560px;
  color:#5f6e7b;
  font-size:13px;
  line-height:1.55;
}
.system-view .empty-technical{
  min-height:132px;
  justify-content:center;
}
.system-view .empty-technical .primary-action{
  margin-top:4px;
}

/* Company lifecycle */
.system-view .company-card.is-discontinued{
  background:#f7f9fa;
  border-color:#dfe7ec;
  box-shadow:none;
}
.system-view .company-archive{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:12px;
  margin-top:8px;
  padding-top:14px;
  border-top:1px dashed #cfdbe3;
}
.system-view .company-archive-head{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#526170;
  font-size:12px;
}
.system-view .company-archive-head span{
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.system-view .company-archive-head strong{
  font-weight:650;
}
.system-view .company-card.is-discontinued h3{
  color:#526170;
}
.system-view .company-card.is-discontinued p{
  color:#697987;
}
.system-view .company-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
}
.system-view .company-danger-soft{
  border-color:#edd6d6;
  color:#9b3f3f;
  background:#fffafa;
}
.system-view .company-danger-soft:hover{
  border-color:#d99d9d;
  background:#fdeceb;
  color:#8b2f2f;
}
.system-view .company-danger{
  border-color:#e7c2c2;
  color:#a13f3f;
}
.system-view .company-danger:hover{
  border-color:#c96f6f;
  background:#fdeceb;
  color:#8b2f2f;
}

/* NEXUS Operations Console */
.system-view{
  --ops-ink:#10202d;
  --ops-line:rgba(47,111,143,.16);
  --ops-cyan:#2f8aa2;
  --ops-blue:#2f6f8f;
  --ops-green:#16805d;
  --ops-amber:#b7791f;
  --ops-red:#b54242;
  --ops-slate:#7c8994;
}
.system-view::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 16% 22%, rgba(47,138,162,.12) 0 1px, transparent 2px),
    radial-gradient(circle at 74% 12%, rgba(22,128,93,.10) 0 1px, transparent 2px),
    radial-gradient(circle at 88% 64%, rgba(47,111,143,.10) 0 1px, transparent 2px),
    linear-gradient(120deg, transparent 0 18%, rgba(47,111,143,.045) 18.1% 18.25%, transparent 18.35% 56%, rgba(22,128,93,.04) 56.1% 56.25%, transparent 56.35%),
    linear-gradient(90deg, rgba(47,111,143,.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(47,111,143,.028) 1px, transparent 1px);
  background-size:auto, auto, auto, auto, 48px 48px, 48px 48px;
  opacity:.72;
  mix-blend-mode:multiply;
}
.system-view .system-sidebar,
.system-view .system-main{
  position:relative;
  z-index:1;
}
.ops-console-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}
.ops-console-head h2{
  margin:2px 0 0;
  color:var(--ops-ink);
  font-family:var(--body);
  font-size:18px;
  line-height:1.2;
  font-weight:800;
}
.ops-console-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.ops-console-meta span,
.data-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border:1px solid #dbe6ec;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#607184;
  font-size:10px;
  font-weight:750;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.ops-console-meta span:last-child,
.data-chip:first-child{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  color:#2f6f8f;
}
.data-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.ops-flowline{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.ops-flowline article{
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:10px 10px 10px 12px;
  border:1px solid #dce7ed;
  border-left:3px solid #b9c6cf;
  border-radius:6px;
  background:rgba(255,255,255,.82);
}
.ops-flowline article::after{
  content:"";
  position:absolute;
  top:50%;
  right:10px;
  width:26px;
  height:1px;
  background:#ccd8df;
  transform:translateY(-50%);
  pointer-events:none;
}
.ops-flowline article:last-child::after{
  display:none;
}
.ops-flowline article.is-on{
  border-left-color:var(--ops-cyan);
  background:linear-gradient(180deg,#fff,#f3f9fb);
}
.ops-flowline i{
  display:block;
  margin-bottom:5px;
  color:#7a8a96;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:10px;
  font-style:normal;
  font-weight:800;
}
.ops-flowline strong{
  display:block;
  overflow:hidden;
  color:#172231;
  font-size:11px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ops-flowline span{
  display:block;
  overflow:hidden;
  margin-top:3px;
  color:#6b7b88;
  font-size:10px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.system-view .dashboard-grid{
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
}
.system-view .metric-grid article,
.system-view .company-card,
.system-view .campaign-card,
.system-view .panel,
.system-view .nr01-summary article,
.system-view .fc-row,
.system-view .mp-step{
  position:relative;
}
.system-view .metric-grid article::before,
.system-view .company-card::before,
.system-view .campaign-card::before,
.system-view .panel::before,
.system-view .nr01-summary article::before,
.system-view .fc-row::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:3px;
  border-radius:6px 0 0 6px;
  background:#c7d3db;
}
.system-view .metric-grid article:nth-child(1)::before,
.system-view .campaign-card::before,
.system-view .panel.nexus-readout-panel::before{
  background:var(--ops-blue);
}
.system-view .metric-grid article:nth-child(2)::before,
.system-view .badge-amber::before{
  background:var(--ops-amber);
}
.system-view .metric-grid article:nth-child(3)::before,
.system-view .company-card::before,
.system-view .nr01-summary article::before{
  background:var(--ops-green);
}
.system-view .metric-grid article:nth-child(4)::before{
  background:var(--ops-cyan);
}
.system-view .company-card.is-discontinued::before{
  background:#9aa8b2;
}
.system-view .company-card .button-row,
.system-view .campaign-card .button-row{
  padding-top:4px;
}
.nexus-readout{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.nexus-readout-avatar{
  width:46px;
  height:46px;
  border:1px solid #cfe0e8;
  border-radius:50%;
  background:
    radial-gradient(circle at 58% 38%, rgba(47,138,162,.32) 0 5px, transparent 6px),
    linear-gradient(135deg,#f8fbfc,#e7f1f5);
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.72);
}
.nexus-readout-avatar span{
  display:block;
  width:18px;
  height:18px;
  margin:14px;
  border:2px solid var(--ops-blue);
  border-right-color:transparent;
  border-radius:50%;
}
.nexus-readout-lines{
  display:grid;
  gap:8px;
}
.nexus-readout-lines p{
  margin:0;
  padding:8px 10px;
  border:1px solid #e3ebef;
  border-radius:6px;
  background:#fbfdfe;
  color:#425565;
  font-size:12px;
  line-height:1.45;
}
.risk-matrix{
  display:grid;
  gap:8px;
  margin:12px 0;
}
.risk-matrix:empty{
  display:none;
}
.risk-matrix-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:#607184;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.risk-matrix-head strong{
  color:#172231;
}
.risk-matrix-row{
  display:grid;
  grid-template-columns:1fr 1fr .8fr .8fr minmax(220px,1.6fr);
  gap:10px;
  align-items:start;
  padding:11px 12px;
  border:1px solid #dce7ed;
  border-left:3px solid var(--ops-green);
  border-radius:6px;
  background:#fff;
}
.risk-matrix-row.matrix-amber{
  border-left-color:var(--ops-amber);
}
.risk-matrix-row.matrix-red{
  border-left-color:var(--ops-red);
}
.risk-matrix-row span{
  display:block;
  margin-bottom:2px;
  color:#7a8794;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.risk-matrix-row strong{
  color:#172231;
  font-size:12px;
}
.risk-matrix-row p{
  margin:0;
  color:#536575;
  font-size:12px;
  line-height:1.45;
}
.system-view .motor-pipe{
  padding:10px;
  border:1px solid #dde8ee;
  border-radius:6px;
  background:
    linear-gradient(90deg, rgba(47,111,143,.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(47,111,143,.04) 1px, transparent 1px),
    #fbfdfe;
  background-size:28px 28px;
}
.system-view .mp-step{
  border-left:3px solid var(--ops-cyan);
}
.system-view .motor-formula{
  border-left:3px solid var(--ops-blue);
}
@media(max-width:1100px){
  .system-view .dashboard-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ops-flowline{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .system-view .dashboard-grid{
    grid-template-columns:1fr;
  }
  .risk-matrix-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .risk-matrix-row p{
    grid-column:1 / -1;
  }
}
@media(max-width:700px){
  .system-view .dashboard-metrics{
    grid-template-columns:1fr;
  }
  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }
  .system-view,
  .system-view .system-main,
  .system-view .screen,
  .system-view .panel{
    min-width:0;
    max-width:100%;
  }
  .system-view{
    overflow-x:hidden;
  }
  .system-view .system-topbar{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:14px 16px;
  }
  .system-view .topbar-status{
    width:100%;
    flex-wrap:wrap;
    gap:8px;
  }
  .system-view .company-switcher{
    width:100%;
    flex-wrap:wrap;
  }
  .system-view .company-switcher select{
    width:100%;
    min-width:0;
  }
  .system-view .screen{
    padding:16px 14px 24px;
    overflow-x:hidden;
  }
  .system-view .data-table{
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
  }
  .ops-console-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .ops-flowline{
    grid-template-columns:1fr;
  }
  .ops-flowline article::after{
    display:none;
  }
  .nexus-readout{
    grid-template-columns:1fr;
  }
  .risk-matrix-row{
    grid-template-columns:1fr;
  }
}
@media(prefers-reduced-motion:no-preference){
  .ops-flowline article.is-on{
    animation:opsSignalIn .36s ease both;
  }
  .nexus-readout-avatar span{
    animation:nexusScan 2.8s linear infinite;
  }
}
@keyframes opsSignalIn{
  from{opacity:.55;transform:translateY(4px)}
  to{opacity:1;transform:none}
}
@keyframes nexusScan{
  to{transform:rotate(360deg)}
}

/* GRO/PGR Empresarial */
.gro-layout{
  display:grid;
  grid-template-columns:minmax(420px,1fr) minmax(360px,.95fr);
  gap:16px;
  align-items:start;
}
.gro-form{
  display:grid;
  gap:14px;
}
.gro-form fieldset{
  margin:0;
  padding:14px;
  border:1px solid #dce7ed;
  border-radius:8px;
  background:#fbfdfe;
}
.gro-form legend{
  padding:0 6px;
  color:#233548;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.gro-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.gro-grid label:first-child,
.gro-grid label:has(textarea){
  grid-column:span 2;
}
.gro-grid-compact label:first-child,
.gro-grid-compact label:has(textarea){
  grid-column:auto;
}
.gro-form label small{
  display:block;
  margin-top:6px;
  color:#607184;
  font-size:11px;
  line-height:1.45;
  text-transform:none;
}
.gro-risk-readout{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 14px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #dce7ed;
  border-left:4px solid var(--ops-green);
  border-radius:8px;
  background:linear-gradient(90deg, rgba(22,128,93,.08), #fff);
}
.gro-risk-readout span,
.gro-risk-readout small{
  color:#607184;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.gro-risk-readout strong{
  grid-row:1 / span 2;
  grid-column:2;
  color:#172231;
  font-size:22px;
}
.gro-risk-readout.gro-medio{
  border-left-color:var(--ops-amber);
  background:linear-gradient(90deg, rgba(174,124,20,.12), #fff);
}
.gro-risk-readout.gro-alto{
  border-left-color:#d96c21;
  background:linear-gradient(90deg, rgba(217,108,33,.12), #fff);
}
.gro-risk-readout.gro-critico{
  border-left-color:var(--ops-red);
  background:linear-gradient(90deg, rgba(191,76,76,.12), #fff);
}
.gro-form-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.badge-orange{
  background:rgba(217,108,33,.12);
  color:#b65216;
}
.gro-table-wrap{
  overflow-x:auto;
}
.gro-table td{
  vertical-align:top;
}
.gro-table td span{
  color:#607184;
  font-size:11px;
  line-height:1.4;
}
.gro-row{
  border-left:3px solid var(--ops-green);
}
.gro-row-medio{
  border-left-color:var(--ops-amber);
}
.gro-row-alto{
  border-left-color:#d96c21;
}
.gro-row-critico{
  border-left-color:var(--ops-red);
}
.gro-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-width:260px;
}
.gro-actions .small-button{
  min-height:28px;
  padding:0 8px;
  font-size:11px;
}
.gro-inventory-note{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #d7e7ee;
  border-left:3px solid var(--ops-blue);
  border-radius:6px;
  background:#f6fbfd;
  color:#315164;
}
@media(max-width:1100px){
  .gro-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .gro-grid,
  .gro-grid-compact{
    grid-template-columns:1fr;
  }
  .gro-grid label:first-child,
  .gro-grid label:has(textarea),
  .gro-grid-compact label:first-child,
  .gro-grid-compact label:has(textarea){
    grid-column:auto;
  }
  .gro-form-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .gro-risk-readout{
    grid-template-columns:1fr;
  }
  .gro-risk-readout strong{
    grid-row:auto;
    grid-column:auto;
  }
}

/* LPR / AEP Psicossocial Inicial */
.lpr-layout .panel{
  position:relative;
}
.lpr-form fieldset{
  border-left:3px solid #8aa9ba;
}
.lpr-readout{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 14px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #dce7ed;
  border-left:4px solid var(--ops-amber);
  border-radius:8px;
  background:linear-gradient(90deg, rgba(174,124,20,.1), #fff);
}
.lpr-readout span,
.lpr-readout small{
  color:#607184;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.lpr-readout strong{
  grid-row:1 / span 2;
  grid-column:2;
  color:#172231;
  font-size:18px;
  text-align:right;
}
.lpr-readout.sem_indicio{
  border-left-color:var(--ops-green);
  background:linear-gradient(90deg, rgba(22,128,93,.08), #fff);
}
.lpr-readout.avaliacao_aprofundada{
  border-left-color:#d96c21;
  background:linear-gradient(90deg, rgba(217,108,33,.1), #fff);
}
.lpr-readout.intervencao_prioritaria{
  border-left-color:var(--ops-red);
  background:linear-gradient(90deg, rgba(191,76,76,.1), #fff);
}
.lpr-row{
  border-left:3px solid var(--ops-amber);
}
.lpr-row.sem_indicio{
  border-left-color:var(--ops-green);
}
.lpr-row.avaliacao_aprofundada{
  border-left-color:#d96c21;
}
.lpr-row.intervencao_prioritaria{
  border-left-color:var(--ops-red);
}
.lpr-table td{
  vertical-align:top;
}
.lpr-table small{
  display:inline-block;
  margin-top:4px;
  color:#607184;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.frprt-suggestions{
  display:grid;
  gap:8px;
  padding:12px 14px;
  border:1px solid #d7e2e9;
  border-left:4px solid #2f6f8f;
  border-radius:8px;
  background:#f7fbfd;
}
.frprt-suggestions > span{
  color:#607184;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.frprt-suggestions > div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.frprt-suggestions small{
  color:#607184;
  font-size:12px;
  line-height:1.45;
}
.criteria-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  grid-column:1 / -1;
}
.criteria-detail{
  grid-column:1 / -1;
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid #d7e2e9;
  background:rgba(47,111,143,.06);
}
.criteria-detail section{
  border-left:3px solid rgba(47,111,143,.45);
  padding-left:12px;
}
.criteria-detail h3{
  margin:0 0 4px;
  color:#17212f;
  font-size:13px;
}
.criteria-detail p{
  margin:0 0 6px;
  color:#607184;
  font-size:12px;
}
.criteria-detail ul{
  margin:0;
  padding-left:18px;
  color:#607184;
  font-size:12px;
  line-height:1.55;
}
@media(max-width:700px){
  .lpr-readout{
    grid-template-columns:1fr;
  }
  .lpr-readout strong{
    grid-row:auto;
    grid-column:auto;
    text-align:left;
  }
}

.frprt-inventory-panel{
  display:grid;
  gap:14px;
  margin:16px 0;
  padding:16px;
  border:1px solid #d7e2e9;
  border-left:4px solid #2f6f8f;
  border-radius:8px;
  background:linear-gradient(180deg,#ffffff,#f7fbfd);
  box-shadow:0 12px 28px rgba(20,48,66,.08);
}
.frprt-inventory-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
}
.frprt-inventory-head h3{
  margin:4px 0 6px;
  color:#17212f;
  font-size:18px;
  line-height:1.25;
}
.frprt-inventory-head span,
.frprt-inventory-meta span{
  color:#607184;
  font-size:12px;
  line-height:1.45;
}
.frprt-export-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.frprt-inventory-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(90px,1fr));
  gap:8px;
}
.frprt-inventory-kpis article{
  min-height:70px;
  padding:10px 12px;
  border:1px solid #d7e2e9;
  border-top:3px solid #2f6f8f;
  border-radius:8px;
  background:#fff;
}
.frprt-inventory-kpis article:nth-child(2){border-top-color:#16805d}
.frprt-inventory-kpis article:nth-child(3){border-top-color:#b88b2a}
.frprt-inventory-kpis article:nth-child(4){border-top-color:#c77a34}
.frprt-inventory-kpis article:nth-child(5){border-top-color:#b83b4a}
.frprt-inventory-kpis span{
  display:block;
  color:#607184;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.frprt-inventory-kpis strong{
  display:block;
  margin-top:7px;
  color:#17212f;
  font-size:20px;
  line-height:1;
}
.frprt-inventory-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.frprt-inventory-meta span{
  padding:7px 9px;
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#f4f7f9;
}
.frprt-table-wrap{
  overflow-x:auto;
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#fff;
}
.frprt-inventory-table{
  min-width:1280px;
}
.frprt-inventory-table th{
  white-space:normal;
}
.frprt-inventory-table td{
  min-width:130px;
  vertical-align:top;
  white-space:normal;
}
.frprt-inventory-table td:nth-child(1),
.frprt-inventory-table td:nth-child(5),
.frprt-inventory-table td:nth-child(8),
.frprt-inventory-table td:nth-child(9){
  min-width:180px;
}
.frprt-inventory-table small{
  color:#607184;
  line-height:1.45;
}
.nr1-action-principle{
  display:grid;
  gap:4px;
  margin:14px 0;
  padding:14px 16px;
  border:1px solid #d7e2e9;
  border-left:4px solid #16805d;
  border-radius:8px;
  background:#f6fbf8;
}
.nr1-action-principle strong{
  color:#17212f;
  font-size:14px;
}
.nr1-action-principle span{
  color:#4d6575;
  font-size:13px;
  line-height:1.45;
}
.nr1-action-table-wrap{
  overflow-x:auto;
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#fff;
}
.nr1-action-table{
  min-width:1360px;
}
.nr1-action-table th,
.nr1-action-table td{
  white-space:normal;
  vertical-align:top;
}
.nr1-action-table td{
  min-width:150px;
}
.nr1-action-table td:nth-child(1),
.nr1-action-table td:nth-child(2){
  min-width:230px;
}
.nr1-action-table label{
  display:grid;
  gap:4px;
  margin-bottom:8px;
  color:#607184;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.nr01-inline-input{
  width:100%;
  min-height:34px;
  box-sizing:border-box;
  border:1px solid #d7e2e9;
  border-radius:8px;
  padding:8px 9px;
  background:#fff;
  color:#17212f;
  font:inherit;
  font-size:12px;
}
.nr01-inline-input:focus{
  outline:2px solid rgba(47,111,143,.18);
  border-color:#2f6f8f;
}
.nr1-action-table small{
  display:block;
  margin-top:6px;
  color:#607184;
  line-height:1.45;
}
.nr1-action-table .nr01-inline-select{
  width:100%;
  margin-bottom:8px;
}
.action-gap-row td{
  background:#fff8ef;
}
.action-gap-note{
  color:#9a4d12 !important;
  font-weight:800;
}
.measure-kanban-panel{
  display:grid;
  gap:14px;
  margin:14px 0 18px;
  padding:16px;
  border:1px solid #d7e2e9;
  border-left:4px solid #2f6f8f;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f7fbfd);
}
.measure-kanban-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.measure-kanban-head h3{
  margin:4px 0 6px;
  color:#17212f;
  font-size:18px;
}
.measure-kanban-head span{
  color:#607184;
  font-size:12px;
}
.measure-kanban-summary{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}
.measure-kanban-summary span{
  padding:7px 9px;
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#fff;
  color:#17212f;
  font-weight:800;
}
.measure-kanban-board{
  display:grid;
  grid-template-columns:repeat(6,minmax(260px,1fr));
  gap:10px;
  overflow-x:auto;
  padding-bottom:6px;
}
.measure-kanban-column{
  min-width:260px;
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#f4f7f9;
}
.measure-kanban-column header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid #d7e2e9;
}
.measure-kanban-column header strong{
  color:#17212f;
  font-size:13px;
}
.measure-kanban-column header span{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#fff;
  color:#2f6f8f;
  font-size:12px;
  font-weight:900;
}
.measure-kanban-cards{
  display:grid;
  gap:10px;
  padding:10px;
}
.measure-card{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #d7e2e9;
  border-top:3px solid #2f6f8f;
  border-radius:8px;
  background:#fff;
  box-shadow:0 8px 18px rgba(20,48,66,.06);
}
.measure-vencida .measure-card{border-top-color:#b83b4a}
.measure-ineficaz .measure-card{border-top-color:#9a4d12}
.measure-concluida .measure-card{border-top-color:#16805d}
.measure-reavaliar .measure-card{border-top-color:#c77a34}
.measure-card.has-gap{
  background:#fff8ef;
}
.measure-card-top{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.measure-card h4{
  margin:0;
  color:#17212f;
  font-size:13px;
  line-height:1.35;
}
.measure-card p,
.measure-card small{
  margin:0;
  color:#607184;
  font-size:12px;
  line-height:1.45;
}
.measure-alert{
  padding:8px 9px;
  border:1px solid #f0c28a;
  border-radius:8px;
  background:#fff2de;
  color:#8a4a0a;
  font-size:12px;
  font-weight:800;
}
.measure-card-grid{
  display:grid;
  gap:8px;
}
.measure-card-grid label{
  display:grid;
  gap:4px;
  color:#607184;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.measure-residual-readout{
  display:grid;
  gap:4px;
  padding:9px;
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#f7fbfd;
}
.measure-residual-readout strong{
  color:#17212f;
  font-size:12px;
}
.measure-residual-readout span{
  color:#607184;
  font-size:11px;
  line-height:1.45;
}
.measure-attachments{
  display:grid;
  gap:8px;
}
.measure-attachments strong{
  color:#17212f;
  font-size:12px;
}
.measure-attachments ul{
  margin:0;
  padding-left:18px;
  color:#607184;
  font-size:11px;
}
.measure-attachments > span,
.measure-empty{
  color:#607184;
  font-size:12px;
}
.measure-attach-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
@media(max-width:900px){
  .frprt-inventory-head{
    grid-template-columns:1fr;
  }
  .frprt-export-actions{
    justify-content:flex-start;
  }
  .frprt-inventory-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .measure-kanban-head{
    display:grid;
  }
  .measure-kanban-summary{
    justify-content:flex-start;
  }
}

.participation-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:16px;
  align-items:start;
}
.participation-main,
.participation-side{
  border-top:3px solid #2f6f8f;
}
.participation-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.participation-form label{
  display:grid;
  gap:6px;
  color:#607184;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.participation-form input,
.participation-form textarea,
.participation-form select{
  min-width:0;
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#fff;
  color:#17212f;
  font:600 13px/1.4 Inter,system-ui,sans-serif;
  padding:10px 11px;
  outline:none;
}
.participation-form textarea{
  resize:vertical;
  min-height:118px;
}
.participation-form select[multiple]{
  min-height:142px;
  max-height:190px;
  overflow:auto;
  line-height:1.35;
  white-space:normal;
}
.participation-form select[multiple] option{
  padding:7px 8px;
  white-space:normal;
}
.participation-form input:focus,
.participation-form textarea:focus,
.participation-form select:focus{
  border-color:#2f6f8f;
  box-shadow:0 0 0 3px rgba(47,111,143,.14);
}
.participation-form .span-2{
  grid-column:1 / -1;
}
.checkbox-line{
  align-content:center;
  display:flex!important;
  flex-direction:row;
  align-items:center;
  gap:8px!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:13px!important;
  color:#17212f!important;
}
.checkbox-line input{
  width:16px;
  height:16px;
  padding:0;
}
.devolution-panel{
  display:grid;
  gap:12px;
}
.devolution-sector-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.devolution-sector-list .is-active{
  background:#2f6f8f;
  color:#fff;
  border-color:#2f6f8f;
}
.devolution-copy{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid #d7e2e9;
  border-left:4px solid #16805d;
  border-radius:8px;
  background:#f7fbfd;
}
.devolution-copy span,
.privacy-note strong{
  color:#2f6f8f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.devolution-copy p{
  margin:0;
  color:#17212f;
  font-size:13px;
  line-height:1.55;
}
.privacy-note{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid #f0d49a;
  border-radius:8px;
  background:#fff8e7;
}
.privacy-note span{
  color:#6b5a2a;
  font-size:12px;
  line-height:1.45;
}
.participation-table td{
  vertical-align:top;
}
.participation-table small{
  color:#607184;
  line-height:1.45;
}
.participation-links{
  display:grid;
  gap:10px;
  min-width:260px;
  max-width:420px;
}
.participation-link-group{
  display:grid;
  gap:6px;
}
.participation-link-label{
  color:#607184;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.participation-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.participation-chip{
  max-width:100%;
  padding:5px 8px;
  border:1px solid #d7e2e9;
  border-radius:999px;
  background:#f7fbfd;
  color:#17212f;
  font-size:11px;
  font-weight:800;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.participation-chip.more{
  background:#e8f1f5;
  color:#2f6f8f;
}
.participation-empty-link{
  color:#607184;
  font-size:12px;
}
@media(max-width:1100px){
  .participation-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .participation-form{
    grid-template-columns:1fr;
  }
}

.compliance-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  border-top:3px solid #2f6f8f;
}
.compliance-hero h2{
  margin:0 0 6px;
  color:#17212f;
}
.compliance-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.compliance-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:16px;
  align-items:start;
}
.compliance-section-list{
  display:grid;
  gap:10px;
}
.compliance-section-card{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid #d7e2e9;
  border-left:4px solid #2f6f8f;
  border-radius:8px;
  background:#fff;
}
.compliance-section-card div{
  display:grid;
  gap:5px;
}
.compliance-section-card strong{
  color:#17212f;
  font-size:14px;
}
.compliance-section-card small,
.compliance-section-card p,
.compliance-section-card em{
  margin:0;
  color:#607184;
  font-size:12px;
  line-height:1.45;
}
.compliance-section-card code,
.hash-short{
  color:#0f4f6b;
  font-family:"SFMono-Regular",Consolas,monospace;
  font-size:12px;
  overflow-wrap:anywhere;
}
.compliance-signature-form{
  display:grid;
  gap:10px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #d7e2e9;
}
.compliance-signature-form h3{
  margin:0;
  color:#17212f;
  font-size:14px;
}
.compliance-signature-form label{
  display:grid;
  gap:6px;
  color:#607184;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.compliance-signature-form input,
.compliance-signature-form textarea{
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#fff;
  color:#17212f;
  font:600 13px/1.4 Inter,system-ui,sans-serif;
  padding:10px 11px;
  outline:none;
}
.compliance-signature-form input:focus,
.compliance-signature-form textarea:focus{
  border-color:#2f6f8f;
  box-shadow:0 0 0 3px rgba(47,111,143,.14);
}
.manifest-pre{
  max-height:520px;
  overflow:auto;
  padding:14px;
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#0f1d2a;
  color:#d7f3ff;
  font:12px/1.55 "SFMono-Regular",Consolas,monospace;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
@media(max-width:1000px){
  .compliance-hero{
    display:grid;
  }
  .compliance-actions{
    justify-content:flex-start;
  }
  .compliance-grid{
    grid-template-columns:1fr;
  }
}

.advanced-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  border-top:3px solid #2f6f8f;
  background:
    linear-gradient(90deg,rgba(47,111,143,.08),transparent 58%),
    #fff;
}
.advanced-hero h2{
  margin:0 0 6px;
  color:#17212f;
}
.advanced-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:16px;
  align-items:start;
}
.advanced-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.advanced-tabs .small-button{
  border-color:#d7e2e9;
  background:#f8fbfd;
  color:#385062;
}
.advanced-tabs .small-button.is-active{
  border-color:#2f6f8f;
  background:#2f6f8f;
  color:#fff;
  box-shadow:0 8px 18px rgba(47,111,143,.18);
}
.advanced-form{
  display:grid;
  gap:14px;
  margin-top:14px;
}
.advanced-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.advanced-form-grid label{
  display:grid;
  gap:6px;
  color:#607184;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.advanced-form-grid input,
.advanced-form-grid textarea,
.advanced-form-grid select{
  min-width:0;
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#fff;
  color:#17212f;
  font:600 13px/1.4 Inter,system-ui,sans-serif;
  padding:10px 11px;
  outline:none;
}
.advanced-form-grid textarea{
  min-height:104px;
  resize:vertical;
}
.advanced-form-grid input:focus,
.advanced-form-grid textarea:focus,
.advanced-form-grid select:focus{
  border-color:#2f6f8f;
  box-shadow:0 0 0 3px rgba(47,111,143,.14);
}
.advanced-form-grid .span-2{
  grid-column:1 / -1;
}
.advanced-table td{
  vertical-align:top;
}
.advanced-table small{
  color:#607184;
  line-height:1.45;
}
@media(max-width:1100px){
  .advanced-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .advanced-hero{
    display:grid;
  }
  .advanced-form-grid{
    grid-template-columns:1fr;
  }
}

/* UX audit corrections: mobile navigation, readability and operational density */
.system-view .readiness-item{
  background:#f7fbfd;
  border-color:#d7e2e9;
  color:#17212f;
}
.system-view .readiness-item strong{
  color:#17212f;
  font-weight:800;
  line-height:1.35;
}
.system-view .readiness-item span{
  color:#385062;
  background:#e8f1f5;
}
.system-view .readiness-item.ready{
  background:#f3fbf7;
  border-color:#bfe6d6;
}
.system-view .readiness-item.ready span{
  color:#0f684d;
  background:#dff5eb;
}
.system-view .readiness-item.ready strong{
  color:#173326;
}

.system-view .nr01-summary article{
  background:#17304a;
  border-color:#244760;
  box-shadow:0 10px 22px rgba(23,48,74,.08);
}
.system-view .nr01-summary span{
  color:#c8d7e3;
  font-weight:900;
}
.system-view .nr01-summary strong{
  color:#fff;
  font-weight:900;
}

.system-view .login-form label,
.system-view .stack label,
.system-view .panel label,
.system-view .participation-form label,
.system-view .advanced-form-grid label{
  color:#40586b;
}
.system-view .panel-sub,
.system-view .manual-worker-actions p,
.system-view .manual-workers-empty,
.system-view .frprt-inventory-table small,
.system-view .advanced-table small,
.system-view .participation-table small{
  color:#4f6577;
}
.system-view .metric-grid small,
.system-view .mp-desc,
.system-view .ops-flowline span{
  color:#536b7c;
}

.advanced-flow-guide{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  margin:0 0 4px;
}
.advanced-flow-guide span{
  min-width:0;
  padding:8px 9px;
  border:1px solid #d7e2e9;
  border-radius:8px;
  background:#f5f9fb;
  color:#526a7b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
  text-align:center;
  white-space:normal;
}
.advanced-flow-guide span.is-active{
  border-color:#2f6f8f;
  background:#e7f2f7;
  color:#17485f;
}

.frprt-table-wrap{
  position:relative;
}
.frprt-table-wrap::before{
  content:"Deslize a tabela para ver mais";
  display:none;
  position:sticky;
  left:0;
  top:0;
  z-index:2;
  padding:7px 10px;
  border-bottom:1px solid #d7e2e9;
  background:#eef6fa;
  color:#35566a;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

@media(max-width:900px){
  .system-view .system-sidebar{
    position:sticky;
    top:0;
    z-index:80;
    width:100%;
    max-height:126px;
    overflow:hidden;
    border-right:0;
    border-bottom:1px solid var(--app-border);
    box-shadow:0 10px 24px rgba(31,49,64,.10);
  }
  .system-view .system-sidebar .brand-lockup{
    min-height:50px;
    padding:10px 16px;
  }
  .system-view .system-sidebar nav{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:6px;
    padding:8px 12px 11px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .system-view .system-sidebar nav::after{
    content:"";
    flex:0 0 8px;
  }
  .system-view .system-sidebar nav .nav-group-label,
  .system-sidebar nav .nav-group-label{
    display:none!important;
  }
  .system-view .nav-item{
    flex:0 0 auto;
    justify-content:center;
    min-width:112px;
    max-width:152px;
    min-height:38px;
    padding:9px 12px;
    white-space:normal;
    line-height:1.15;
    scroll-snap-align:start;
  }
  .system-view .nav-item.active::before{
    top:auto;
    right:8px;
    bottom:0;
    left:8px;
    width:auto;
    height:3px;
    border-radius:3px 3px 0 0;
  }
  .system-view .system-main{
    min-height:calc(100vh - 126px);
  }
  .system-view .system-topbar{
    align-items:flex-start;
  }
}

@media(max-width:620px){
  .system-view .system-sidebar{
    max-height:116px;
  }
  .system-view .system-sidebar .brand-lockup{
    min-height:46px;
    padding:9px 14px;
  }
  .system-view .system-sidebar nav{
    grid-template-columns:none!important;
    padding:7px 10px 10px;
  }
  .system-view .nav-item{
    min-width:106px;
    max-width:136px;
    min-height:36px;
    padding:8px 10px;
    font-size:12px;
  }
  .system-view .system-main{
    min-height:calc(100vh - 116px);
  }
  .advanced-flow-guide{
    grid-template-columns:1fr;
  }
  .frprt-table-wrap::before{
    display:block;
  }
}

/* Final publication polish: Psychologist pre-analysis console */
.clinical-console{
  position:relative;
  display:grid;
  gap:14px;
  margin:14px 0 16px;
  padding:16px;
  border:1px solid rgba(81,113,135,.28);
  border-radius:12px;
  background:
    linear-gradient(90deg, rgba(87,120,145,.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(87,120,145,.07) 1px, transparent 1px),
    radial-gradient(circle at 12% 0%, rgba(43,116,148,.18), transparent 28rem),
    radial-gradient(circle at 86% 22%, rgba(22,128,93,.12), transparent 22rem),
    #101b26;
  background-size:26px 26px,26px 26px,auto,auto,auto;
  box-shadow:0 18px 46px rgba(15,29,42,.16);
  color:#e9f2f6;
  overflow:hidden;
}
.clinical-console::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(92,176,201,.08), transparent);
  transform:translateX(-100%);
  opacity:.7;
}
.clinical-hero,
.clinical-layer-grid,
.clinical-grid,
.trajectory-panel,
.clinical-footnotes,
.critical-protocol,
.clinical-empty{
  position:relative;
  z-index:1;
}
.clinical-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,.38fr);
  gap:14px;
  align-items:stretch;
}
.clinical-hero h3{
  margin:2px 0 6px;
  color:#fff;
  font-family:var(--display);
  font-size:24px;
  line-height:1.15;
}
.clinical-hero p{
  max-width:760px;
  margin:0;
  color:#abc0ce;
  font-size:13px;
  line-height:1.6;
}
.clinical-console .kicker{
  color:#86c9dc;
}
.clinical-baseline{
  display:grid;
  align-content:center;
  gap:4px;
  padding:13px 14px;
  border:1px solid rgba(172,197,211,.18);
  border-left:4px solid #86c9dc;
  border-radius:8px;
  background:rgba(255,255,255,.045);
}
.clinical-baseline.is-frozen{
  border-left-color:#34d399;
  background:rgba(22,128,93,.12);
}
.clinical-baseline.is-calibrating{
  border-left-color:#d7a53a;
  background:rgba(215,165,58,.10);
}
.clinical-baseline span,
.clinical-baseline small,
.clinical-layer-grid span,
.clinical-panel-head span,
.alert-card span,
.validation-strip span,
.trajectory-person span,
.clinical-footnotes span{
  color:#a8bfce;
  font-size:10px;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.clinical-baseline strong{
  color:#fff;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:17px;
}
.clinical-baseline small{
  text-transform:none;
  letter-spacing:0;
  line-height:1.45;
}
.clinical-layer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.clinical-layer-grid article,
.clinical-panel,
.clinical-empty{
  border:1px solid rgba(172,197,211,.16);
  border-radius:8px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(10px);
}
.clinical-layer-grid article{
  padding:12px 13px;
}
.clinical-layer-grid strong{
  display:block;
  margin:3px 0 4px;
  color:#fff;
  font-size:13px;
}
.clinical-layer-grid p,
.alert-card p,
.clinical-panel-head p,
.critical-protocol p,
.clinical-empty p,
.clinical-empty-inline p{
  margin:0;
  color:#9eb2c1;
  font-size:12px;
  line-height:1.55;
}
.critical-protocol{
  padding:14px 15px;
  border:1px solid rgba(248,113,113,.34);
  border-left:4px solid #f87171;
  border-radius:8px;
  background:linear-gradient(90deg, rgba(248,113,113,.16), rgba(255,255,255,.045));
}
.critical-protocol span{
  display:block;
  color:#fecaca;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.critical-protocol strong{
  display:block;
  color:#fff;
  font-family:var(--display);
  font-size:18px;
  margin:3px 0 4px;
}
.clinical-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);
  gap:12px;
}
.clinical-panel{
  padding:14px;
}
.clinical-panel-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.clinical-panel-head h3{
  margin:0 0 3px;
  color:#fff;
  font-family:var(--display);
  font-size:15px;
}
.clinical-panel-head > span{
  padding:4px 8px;
  border:1px solid rgba(134,201,220,.28);
  border-radius:999px;
  background:rgba(134,201,220,.08);
  color:#bce8f2;
  white-space:nowrap;
}
.alert-class-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.alert-card{
  position:relative;
  min-width:0;
  padding:11px;
  border:1px solid rgba(172,197,211,.14);
  border-top:3px solid #8da3b2;
  border-radius:7px;
  background:rgba(9,18,28,.42);
}
.alert-card.is-hot{
  background:rgba(255,255,255,.065);
  box-shadow:0 0 0 1px rgba(255,255,255,.045) inset;
}
.alert-card strong{
  display:block;
  color:#fff;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:25px;
  line-height:1.05;
  margin:8px 0 4px;
}
.alert-card small{
  display:block;
  color:#d4e1e8;
  font-size:11px;
  line-height:1.35;
  min-height:30px;
}
.alert-critical{border-top-color:#f87171}
.alert-amber{border-top-color:#fbbf24}
.alert-purple{border-top-color:#a78bfa}
.alert-cyan{border-top-color:#22d3ee}
.alert-slate{border-top-color:#94a3b8}
.validation-strip{
  display:grid;
  gap:8px;
}
.validation-strip div{
  padding:10px 11px;
  border:1px solid rgba(172,197,211,.14);
  border-radius:7px;
  background:rgba(9,18,28,.34);
}
.validation-strip strong{
  display:block;
  margin-top:2px;
  color:#fff;
  font-size:13px;
  line-height:1.35;
}
.clinical-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.trajectory-panel{
  display:grid;
  gap:2px;
}
.trajectory-list{
  display:grid;
  gap:8px;
}
.trajectory-row{
  display:grid;
  grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(172,197,211,.14);
  border-left:3px solid #86c9dc;
  border-radius:8px;
  background:rgba(9,18,28,.34);
}
.trajectory-critical{border-left-color:#f87171}
.trajectory-amber{border-left-color:#fbbf24}
.trajectory-purple{border-left-color:#a78bfa}
.trajectory-cyan{border-left-color:#22d3ee}
.trajectory-slate{border-left-color:#94a3b8}
.trajectory-person strong{
  display:block;
  overflow:hidden;
  color:#fff;
  font-family:var(--display);
  font-size:14px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.trajectory-person small{
  display:block;
  color:#9eb2c1;
  font-size:11px;
  line-height:1.4;
}
.trajectory-meters{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.z-meter{
  min-width:0;
  display:grid;
  gap:6px;
  padding:8px 9px;
  border:1px solid rgba(172,197,211,.13);
  border-radius:7px;
  background:rgba(255,255,255,.045);
}
.z-meter div{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}
.z-meter span{
  overflow:hidden;
  color:#a8bfce;
  font-size:10px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.z-meter strong{
  color:#fff;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:11px;
  white-space:nowrap;
}
.z-meter i{
  position:relative;
  display:block;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,#5b6b7b 0 28%, #86c9dc 50%, #34d399 72%, #fbbf24 86%, #f87171 100%);
  overflow:hidden;
}
.z-meter i::after{
  content:"";
  position:absolute;
  top:-3px;
  left:var(--z-pos);
  width:3px;
  height:12px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 0 0 2px rgba(16,27,38,.88),0 0 12px rgba(255,255,255,.6);
}
.z-pending i{
  background:#334556;
}
.z-pending i::after{
  opacity:.45;
}
.clinical-empty,
.clinical-empty-inline{
  padding:16px;
  text-align:left;
}
.clinical-empty strong,
.clinical-empty-inline strong{
  display:block;
  color:#fff;
  margin-bottom:4px;
}
.clinical-empty .primary-action,
.clinical-empty-inline .primary-action{
  margin-top:12px;
}
.clinical-footnotes{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.clinical-footnotes span{
  padding:5px 8px;
  border:1px solid rgba(172,197,211,.16);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#b7cbd8;
  text-transform:none;
  letter-spacing:0;
}
@media(prefers-reduced-motion:no-preference){
  .clinical-console::before{
    animation:clinicalSweep 7s ease-in-out infinite;
  }
}
@keyframes clinicalSweep{
  0%,35%{transform:translateX(-100%)}
  70%,100%{transform:translateX(100%)}
}
@media(max-width:1180px){
  .clinical-grid,
  .clinical-hero{
    grid-template-columns:1fr;
  }
  .alert-class-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .trajectory-row,
  .trajectory-meters{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .clinical-console{
    padding:12px;
    border-radius:10px;
  }
  .clinical-layer-grid,
  .alert-class-grid{
    grid-template-columns:1fr;
  }
  .clinical-panel-head{
    display:grid;
  }
}

/* Harmonizacao final: painel clinico integrado ao console claro */
.system-view .clinical-console{
  border:1px solid #d7e2e9;
  background:
    linear-gradient(90deg, rgba(47,111,143,.055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(47,111,143,.045) 1px, transparent 1px),
    linear-gradient(180deg,#ffffff,#f7fafc);
  background-size:28px 28px,28px 28px,auto;
  box-shadow:0 14px 34px rgba(23,33,47,.07);
  color:#17212f;
}
.system-view .clinical-console::before{
  display:none;
}
.system-view .clinical-console::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#2f6f8f,#16805d);
  pointer-events:none;
}
.system-view .clinical-hero h3,
.system-view .clinical-layer-grid strong,
.system-view .clinical-panel-head h3,
.system-view .validation-strip strong,
.system-view .trajectory-person strong,
.system-view .clinical-empty strong,
.system-view .clinical-empty-inline strong,
.system-view .alert-card strong,
.system-view .clinical-baseline strong,
.system-view .critical-protocol strong,
.system-view .z-meter strong{
  color:#17212f;
}
.system-view .clinical-hero p,
.system-view .clinical-layer-grid p,
.system-view .alert-card p,
.system-view .clinical-panel-head p,
.system-view .critical-protocol p,
.system-view .clinical-empty p,
.system-view .clinical-empty-inline p,
.system-view .trajectory-person small{
  color:#516879;
}
.system-view .clinical-console .kicker,
.system-view .clinical-baseline span,
.system-view .clinical-baseline small,
.system-view .clinical-layer-grid span,
.system-view .clinical-panel-head span,
.system-view .alert-card span,
.system-view .validation-strip span,
.system-view .trajectory-person span,
.system-view .clinical-footnotes span,
.system-view .z-meter span{
  color:#607184;
}
.system-view .clinical-layer-grid article,
.system-view .clinical-panel,
.system-view .clinical-empty,
.system-view .alert-card,
.system-view .validation-strip div,
.system-view .trajectory-row,
.system-view .z-meter{
  border-color:#dce7ed;
  background:rgba(255,255,255,.82);
  backdrop-filter:none;
}
.system-view .clinical-layer-grid article,
.system-view .clinical-panel{
  box-shadow:0 8px 20px rgba(23,33,47,.035);
}
.system-view .clinical-baseline{
  border-color:#dce7ed;
  border-left-color:#2f6f8f;
  background:#f8fbfc;
}
.system-view .clinical-baseline.is-frozen{
  border-left-color:#16805d;
  background:#f3fbf7;
}
.system-view .clinical-baseline.is-calibrating{
  border-left-color:#b88b2a;
  background:#fff9e9;
}
.system-view .critical-protocol{
  border-color:#f2c5c5;
  border-left-color:#b83b4a;
  background:#fff6f6;
}
.system-view .critical-protocol span{
  color:#9f2f3b;
}
.system-view .clinical-panel-head > span{
  border-color:#cfe0e8;
  background:#eef6fa;
  color:#245d77;
}
.system-view .alert-card{
  background:#fbfdfe;
}
.system-view .alert-card.is-hot{
  background:#fff;
  box-shadow:0 0 0 1px rgba(47,111,143,.08) inset,0 10px 20px rgba(23,33,47,.045);
}
.system-view .alert-card small{
  color:#304658;
}
.system-view .alert-critical{border-top-color:#b83b4a}
.system-view .alert-amber{border-top-color:#b88b2a}
.system-view .alert-purple{border-top-color:#7d66c4}
.system-view .alert-cyan{border-top-color:#2f6f8f}
.system-view .alert-slate{border-top-color:#8fa0ad}
.system-view .trajectory-critical{border-left-color:#b83b4a}
.system-view .trajectory-amber{border-left-color:#b88b2a}
.system-view .trajectory-purple{border-left-color:#7d66c4}
.system-view .trajectory-cyan{border-left-color:#2f6f8f}
.system-view .trajectory-slate{border-left-color:#8fa0ad}
.system-view .z-meter{
  background:#f8fbfc;
}
.system-view .z-meter i{
  background:linear-gradient(90deg,#cbd8df 0 25%, #8fb8c8 48%, #7fc9af 70%, #e8cf82 86%, #d88a8f 100%);
}
.system-view .z-meter i::after{
  background:#17212f;
  box-shadow:0 0 0 2px #fff,0 4px 10px rgba(23,33,47,.25);
}
.system-view .z-pending i{
  background:#dce7ed;
}
.system-view .clinical-footnotes span{
  border-color:#dce7ed;
  background:#f8fbfc;
  color:#536b7c;
}

/* Behavioral architecture polish: command-first SPA navigation */
.system-view .system-topbar{
  position:relative;
  z-index:3;
  border-bottom:1px solid rgba(215,226,233,.78);
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(14px);
}
.behavior-command{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr) auto;
  gap:12px;
  align-items:center;
  margin:14px 24px 0;
  padding:12px 14px;
  border:1px solid rgba(205,219,227,.86);
  border-radius:10px;
  background:
    linear-gradient(90deg, rgba(47,111,143,.055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(47,111,143,.038) 1px, transparent 1px),
    rgba(255,255,255,.84);
  background-size:30px 30px,30px 30px,auto;
  box-shadow:0 12px 28px rgba(23,33,47,.06);
  backdrop-filter:blur(16px);
}
.behavior-command::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  border-radius:10px 0 0 10px;
  background:linear-gradient(180deg,#2f6f8f,#16805d);
}
.behavior-signal{
  min-width:0;
}
.behavior-signal span,
.behavior-steps span i{
  color:#607184;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:10px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.behavior-signal strong{
  display:block;
  overflow:hidden;
  margin:2px 0 2px;
  color:#17212f;
  font-family:var(--display);
  font-size:15px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.behavior-signal p{
  overflow:hidden;
  margin:0;
  color:#536b7c;
  font-size:12px;
  line-height:1.4;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.behavior-steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  min-width:0;
}
.behavior-steps span{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
  min-height:34px;
  padding:7px 8px;
  border:1px solid #dce7ed;
  border-radius:7px;
  background:#f8fbfc;
  color:#5c6f80;
  font-size:11px;
  font-weight:800;
  line-height:1.1;
  white-space:nowrap;
}
.behavior-steps span.is-complete{
  border-color:#c4e4d6;
  background:#f3fbf7;
  color:#136247;
}
.behavior-steps span.is-current{
  border-color:#b8d7e4;
  background:#edf7fb;
  color:#174f66;
  box-shadow:0 0 0 3px rgba(47,111,143,.08);
}
.behavior-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  white-space:nowrap;
}
.system-view .nav-item{
  isolation:isolate;
}
.system-view .nav-item::after{
  content:"";
  width:7px;
  height:7px;
  margin-left:auto;
  border-radius:50%;
  background:#c8d3da;
  opacity:.75;
}
.system-view .nav-item[data-nav-state="complete"]::after{
  background:#16805d;
}
.system-view .nav-item[data-nav-state="next"]::after{
  background:#2f6f8f;
  box-shadow:0 0 0 3px rgba(47,111,143,.12);
}
.system-view .nav-item[data-nav-state="locked"]{
  color:#8b98a3;
}
.system-view .nav-item[data-nav-state="locked"]::after{
  background:#d8e1e7;
  opacity:.45;
}
.system-view .nav-item.active{
  transform:translateX(2px);
}
.system-view .nav-item.active{
  box-shadow:inset 3px 0 0 rgba(22,128,93,.72),0 0 0 1px rgba(22,128,93,.12),0 0 18px rgba(22,128,93,.10);
}
.system-view .nav-item.active::before{
  background:linear-gradient(180deg,rgba(22,128,93,.18),rgba(22,128,93,.76),rgba(22,128,93,.18));
  box-shadow:0 0 16px rgba(22,128,93,.34);
}
.system-view .nav-item.nav-flash{
  animation:nexusNavSignal .58s ease-out;
}
@keyframes nexusNavSignal{
  0%{
    box-shadow:inset 3px 0 0 rgba(22,128,93,.92),0 0 0 0 rgba(22,128,93,.34),0 0 0 rgba(22,128,93,0);
  }
  55%{
    box-shadow:inset 3px 0 0 rgba(22,128,93,.86),0 0 0 5px rgba(22,128,93,.12),0 0 22px rgba(22,128,93,.22);
  }
  100%{
    box-shadow:inset 3px 0 0 rgba(22,128,93,.72),0 0 0 9px rgba(22,128,93,0),0 0 18px rgba(22,128,93,.10);
  }
}
.system-view .nav-item,
.system-view .primary-action,
.system-view .report-action,
.system-view .small-button,
.system-view .panel,
.system-view .metric-grid article,
.behavior-command,
.clinical-console{
  transition:transform .16s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease;
}
.system-view .primary-action:hover,
.system-view .report-action:hover,
.system-view .small-button:hover{
  transform:translateY(-1px);
}
.system-view .panel:hover,
.system-view .metric-grid article:hover{
  border-color:#c8dbe4;
  box-shadow:0 12px 26px rgba(23,33,47,.055);
}
.interaction-confirm{
  position:relative;
}
.interaction-confirm::after{
  content:"";
  position:absolute;
  inset:-3px;
  border:1px solid rgba(47,111,143,.32);
  border-radius:inherit;
  opacity:0;
  animation:interactionPulse .34s ease-out;
  pointer-events:none;
}
@keyframes interactionPulse{
  0%{opacity:.8;transform:scale(.98)}
  100%{opacity:0;transform:scale(1.08)}
}
@media(max-width:1100px){
  .behavior-command{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .behavior-actions{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}
@media(max-width:700px){
  .behavior-command{
    margin:10px 14px 0;
    padding:10px;
    gap:7px;
  }
  .behavior-steps{
    display:flex;
    gap:6px;
    overflow-x:auto;
    padding-bottom:2px;
    -webkit-overflow-scrolling:touch;
  }
  .behavior-steps span{
    flex:0 0 auto;
    justify-content:flex-start;
    min-height:28px;
    padding:5px 8px;
    font-size:10px;
  }
  .behavior-signal strong{
    white-space:normal;
    font-size:14px;
  }
  .behavior-signal p{
    display:none;
  }
  .behavior-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  .behavior-actions .primary-action,
  .behavior-actions .small-button{
    min-height:30px;
    padding:6px 8px;
  }
}
@media(prefers-reduced-motion:reduce){
  .system-view .nav-item,
  .system-view .primary-action,
  .system-view .report-action,
  .system-view .small-button,
  .system-view .panel,
  .system-view .metric-grid article,
  .behavior-command,
  .clinical-console{
    transition:none;
  }
  .interaction-confirm::after{
    animation:none;
  }
}

/* Entry Gate final: secure behavioral login */
.login-view{
  grid-template-columns:minmax(0,1fr) minmax(380px,460px);
  background:
    radial-gradient(circle at 16% 18%, rgba(47,138,162,.18), transparent 28rem),
    radial-gradient(circle at 88% 76%, rgba(22,128,93,.12), transparent 24rem),
    linear-gradient(135deg,#07111c 0%,#0a1724 48%,#0d1b2a 100%);
}
.login-hero{
  padding:52px clamp(28px,5vw,72px);
  grid-template-rows:1fr auto;
}
.login-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(134,201,220,.055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(134,201,220,.042) 1px, transparent 1px);
  background-size:42px 42px;
  opacity:.55;
  pointer-events:none;
}
.login-system-map,
.trust-stack{
  display:none!important;
}
.login-copy{
  max-width:560px;
  align-self:center;
}
.login-copy p{
  color:#8ee7ff;
}
.login-copy h1{
  max-width:620px;
  font-size:clamp(38px,5.2vw,72px);
  letter-spacing:-.035em;
}
.login-copy span{
  max-width:540px;
  color:rgba(226,239,246,.76);
}
.login-view .nexus-stage{
  display:block;
  right:clamp(6px,3vw,46px);
  bottom:-10px;
  width:min(42vw,560px);
  height:calc(100vh - 24px);
  opacity:.92;
}
.entry-security-strip{
  position:relative;
  z-index:4;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  max-width:760px;
}
.entry-security-strip span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid rgba(142,231,255,.18);
  border-radius:999px;
  background:rgba(8,20,32,.44);
  color:#b9d7e6;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}
.login-panel{
  position:relative;
  width:auto;
  min-height:100vh;
  padding:clamp(22px,4vw,46px);
  border-left:1px solid rgba(142,231,255,.13);
  background:rgba(6,14,24,.58);
  box-shadow:-24px 0 70px rgba(0,0,0,.26);
  backdrop-filter:blur(18px);
}
.entry-card{
  width:100%;
  max-width:390px;
  margin:0 auto;
  padding:24px;
  border:1px solid rgba(186,218,234,.18);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(17,34,52,.76), rgba(8,18,30,.62));
  box-shadow:0 24px 80px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
}
.entry-card .brand-lockup{
  margin-bottom:26px;
}
.entry-copy{
  margin-bottom:18px;
}
.entry-copy span{
  color:#8ee7ff;
  font-size:10px;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.entry-copy h2{
  margin:6px 0 6px;
  color:#f8fbfc;
  font-family:var(--display);
  font-size:25px;
  line-height:1.12;
}
.entry-copy p{
  margin:0;
  color:#9fb6c8;
  font-size:13px;
  line-height:1.55;
}
.entry-card .login-form{
  gap:13px;
}
.entry-field{
  gap:7px!important;
  color:#bdd1df!important;
}
.entry-input-wrap{
  position:relative;
  display:flex;
  align-items:center;
  border:1px solid rgba(186,218,234,.18);
  border-radius:8px;
  background:rgba(5,14,24,.72);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.entry-input-wrap:focus-within{
  border-color:rgba(142,231,255,.55);
  box-shadow:0 0 0 3px rgba(47,138,162,.18);
  background:rgba(7,19,31,.92);
}
.entry-input-wrap.is-valid{
  border-color:rgba(52,211,153,.44);
}
.entry-input-wrap input{
  flex:1;
  min-width:0;
  border:0;
  background:transparent;
  box-shadow:none!important;
}
.field-state{
  width:9px;
  height:9px;
  margin-right:12px;
  border-radius:50%;
  background:#607184;
  opacity:.68;
}
.entry-input-wrap.is-valid .field-state{
  background:#34d399;
  box-shadow:0 0 0 4px rgba(52,211,153,.1);
}
.icon-button{
  margin-right:6px;
  min-height:30px;
  padding:0 8px;
  border:1px solid rgba(186,218,234,.14);
  border-radius:6px;
  background:rgba(255,255,255,.045);
  color:#bcd4e2;
  font-size:11px;
  font-weight:800;
}
.entry-submit{
  position:relative;
  width:100%;
  justify-content:center;
  min-height:42px;
  margin-top:2px;
  overflow:hidden;
}
.entry-submit i{
  display:none;
  width:16px;
  height:16px;
  border:2px solid rgba(255,255,255,.42);
  border-top-color:#fff;
  border-radius:50%;
  animation:entrySpin .72s linear infinite;
}
.entry-submit.is-loading{
  pointer-events:none;
}
.entry-submit.is-loading span{
  opacity:.42;
}
.entry-submit.is-loading i{
  display:block;
  position:absolute;
}
@keyframes entrySpin{to{transform:rotate(360deg)}}
.entry-methods{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:14px 0 0;
}
.entry-methods button{
  min-height:34px;
  border:1px solid rgba(186,218,234,.15);
  border-radius:7px;
  background:rgba(255,255,255,.045);
  color:#c8dbe6;
  font-size:11px;
  font-weight:800;
  transition:border-color .18s ease,background .18s ease,transform .16s ease;
}
.entry-methods button:hover{
  transform:translateY(-1px);
  border-color:rgba(142,231,255,.38);
  background:rgba(142,231,255,.08);
}
.token-access-panel{
  display:grid;
  gap:8px;
  margin-top:10px;
  padding:10px;
  border:1px solid rgba(186,218,234,.14);
  border-radius:8px;
  background:rgba(5,14,24,.48);
}
.token-access-panel label{
  display:grid;
  gap:6px;
  color:#bdd1df;
  font-size:11px;
  font-weight:800;
}
.token-access-panel input{
  min-height:34px;
  border:1px solid rgba(186,218,234,.18);
  border-radius:7px;
  background:rgba(5,14,24,.72);
  color:#eef7fb;
  padding:8px 10px;
}
.entry-hint{
  min-height:18px;
  margin:12px 0 0;
  color:#8fa8c0;
  font-size:11px;
  line-height:1.45;
}
.entry-hint[data-tone="success"]{
  color:#8ee0bd;
}
.form-error{
  color:#d8b36a;
  line-height:1.45;
}
.login-form.soft-error .entry-input-wrap{
  border-color:rgba(216,179,106,.48);
}
.login-form.soft-error{
  animation:softEntryNudge .34s ease;
}
@keyframes softEntryNudge{
  0%,100%{transform:translateX(0)}
  28%{transform:translateX(-4px)}
  62%{transform:translateX(3px)}
}
@media(max-width:980px){
  .login-view{
    min-height:100svh;
    grid-template-columns:1fr;
  }
  .login-view .login-hero,
  .login-view .login-panel{
    grid-area:1 / 1;
  }
  .login-view .login-hero{
    min-height:100svh;
    padding:22px;
  }
  .login-view .nexus-stage{
    width:min(86vw,500px);
    height:86vh;
    right:-5vw;
    bottom:-58px;
    opacity:.44;
  }
  .entry-security-strip{
    display:none;
  }
  .login-view .login-copy{
    display:none;
  }
  .login-view .login-panel{
    position:relative;
    z-index:6;
    min-height:100svh;
    align-items:center;
    justify-content:center;
    padding:28px 22px;
    background:linear-gradient(180deg,rgba(6,12,18,.18),rgba(6,12,18,.74));
    border-left:0;
    border-top:0;
  }
  .entry-card{
    max-width:520px;
  }
}
@media(max-width:620px){
  .login-copy h1{
    font-size:34px;
  }
  .login-copy span{
    font-size:13px;
  }
  .entry-card{
    padding:18px;
    border-radius:12px;
  }
  .entry-methods{
    grid-template-columns:1fr;
  }
}
.occupational-config {
  border: 1px solid rgba(47, 111, 143, 0.22);
  border-radius: 10px;
  background: rgba(244, 249, 251, 0.82);
  overflow: hidden;
}

.occupational-config summary {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  color: #132536;
  font-weight: 800;
  list-style: none;
}

.occupational-config summary::-webkit-details-marker {
  display: none;
}

.occupational-config summary small {
  color: #607184;
  font-weight: 700;
  text-align: right;
}

.occupational-config-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 0 16px 16px;
}

.occupational-config-body .wide,
.occupational-config-body p {
  grid-column: 1 / -1;
}

.occupational-config-body p {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid #2f6f8f;
  border-radius: 8px;
  background: rgba(47, 111, 143, 0.08);
  color: #40576b;
  font-size: 0.88rem;
  line-height: 1.45;
}

.occupational-layer-summary {
  border-left: 4px solid #8fa3b2;
}

.occupational-layer-summary.is-active {
  border-left-color: #2f6f8f;
  background: linear-gradient(180deg, rgba(47, 111, 143, 0.08), rgba(255, 255, 255, 0.92));
}

.occupational-layer-summary small {
  display: block;
  margin-top: 8px;
  color: #607184;
  line-height: 1.45;
}

.occupational-inventory-note {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(120, 139, 153, 0.22);
  border-left: 4px solid #8fa3b2;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
  color: #40576b;
}

.occupational-inventory-note.is-active {
  border-left-color: #2f6f8f;
  background: rgba(47, 111, 143, 0.08);
}

.occupational-inventory-note strong {
  color: #142638;
}

@media (max-width: 760px) {
  .occupational-config summary,
  .occupational-inventory-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .occupational-config summary small {
    text-align: left;
  }

  .occupational-config-body {
    grid-template-columns: 1fr;
  }
}
