/* ===================================================================
   BELICA — PORTAL DE ACOMPANHAMENTO — ESTILO COMPARTILHADO
   Paleta extraída da logo oficial + tipografia tática (Rajdhani/Inter/Space Mono)
   =================================================================== */
:root{
  --bg:#0A0A0A;
  --surface:#141414;
  --surface-2:#1C1C1C;
  --line: rgba(255,255,255,0.08);
  --line-strong: rgba(255,255,255,0.14);
  --red:#F71B22;
  --red-dim: rgba(247,27,34,0.14);
  --white:#F3F2EF;
  --steel:#8A9099;
  --steel-dim:#575C62;
  --olive:#5C7A4E;
  --olive-dim: rgba(92,122,78,0.16);
  --brass:#B08D3D;
  --brass-dim: rgba(176,141,61,0.16);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--white);
  font-family:'Inter',sans-serif;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
.eyebrow{ font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--steel); }
h1,h2,h3,.display{ font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.02em; margin:0; }

.grid-backdrop{ position:fixed; inset:0; background-image:linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px); background-size:42px 42px; pointer-events:none; z-index:0; }
.vignette{ position:fixed; inset:0; background:radial-gradient(ellipse at 50% 0%, rgba(247,27,34,0.06), transparent 55%); pointer-events:none; z-index:0; }

/* ---- shell / sidebar ---- */
.shell{ display:flex; min-height:100vh; position:relative; z-index:1; }
.sidebar{ width:238px; flex:none; background:var(--surface); border-right:1px solid var(--line); display:flex; flex-direction:column; padding:26px 0 18px; position:sticky; top:0; height:100vh; overflow-y:auto; }
.side-brand{ display:flex; align-items:center; gap:11px; padding:0 22px 26px; border-bottom:1px solid var(--line); margin-bottom:10px; }
.side-brand img{ width:34px; height:34px; }
.side-brand .name{ font-size:15px; font-weight:700; letter-spacing:.05em; }
.side-brand .tag{ font-family:'Space Mono',monospace; font-size:9px; color:var(--steel); letter-spacing:.08em; }
nav.side-nav{ flex:1; padding:14px 12px; }
.nav-item{ display:flex; align-items:center; gap:11px; padding:11px 12px; margin-bottom:3px; color:var(--steel); text-decoration:none; cursor:pointer; font-size:13.5px; font-weight:500; border-left:2px solid transparent; }
.nav-item svg{ width:16px; height:16px; flex:none; opacity:.85;}
.nav-item:hover{ color:var(--white); background:rgba(255,255,255,0.03); }
.nav-item.active{ color:var(--white); background:var(--red-dim); border-left-color:var(--red); }
.nav-section-label{ font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--steel-dim); padding:16px 12px 6px; }
.nav-section-label:first-child{ padding-top:0; }
.side-foot{ padding:14px 22px 0; border-top:1px solid var(--line); }
.side-user{ display:flex; align-items:center; gap:10px; justify-content:space-between; }
.side-user-info{ display:flex; align-items:center; gap:10px; }
.avatar{ width:30px; height:30px; border-radius:50%; background:var(--surface-2); border:1px solid var(--line-strong); display:flex; align-items:center; justify-content:center; font-family:'Rajdhani',sans-serif; font-weight:700; font-size:12px; }
.side-user .u-name{ font-size:12.5px; font-weight:600; }
.side-user .u-role{ font-family:'Space Mono',monospace; font-size:9px; color:var(--steel); letter-spacing:.06em; }
.logout-link{ font-family:'Space Mono',monospace; font-size:9.5px; color:var(--steel-dim); text-decoration:none; letter-spacing:.05em; }
.logout-link:hover{ color:var(--red); }

/* ---- main ---- */
.main{ flex:1; padding:30px 40px 60px; max-width:1220px; }
.topbar{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:28px; flex-wrap:wrap; gap:10px; }
.topbar h1{ font-size:26px; }
.topbar .sub{ font-size:13px; color:var(--steel); margin-top:4px; font-family:'Inter',sans-serif; font-weight:400; }
.status-pill{ font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; padding:6px 12px; border:1px solid var(--olive); color:var(--olive); background:var(--olive-dim); white-space:nowrap; }
.status-pill.brass{ border-color:var(--brass); color:var(--brass); background:var(--brass-dim); }
.status-pill.steel{ border-color:var(--steel-dim); color:var(--steel); background:rgba(255,255,255,0.03); }

/* ---- cards / grid ---- */
.grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(250px,1fr)); gap:16px; }
.card{ background:var(--surface); border:1px solid var(--line); padding:20px; }
.card-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:14px;}
.card h4{ font-family:'Rajdhani',sans-serif; font-weight:600; font-size:16.5px; margin:0 0 4px; }
.card .num{ font-family:'Space Mono',monospace; font-size:10px; color:var(--steel-dim); }
.card p{ font-size:12.5px; color:var(--steel); line-height:1.5; margin:0 0 16px; }
.badge{ font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; padding:4px 8px; white-space:nowrap; }
.badge.done{ color:var(--olive); border:1px solid var(--olive); background:var(--olive-dim); }
.badge.progress{ color:var(--brass); border:1px solid var(--brass); background:var(--brass-dim); }
.badge.pending{ color:var(--steel); border:1px solid var(--steel-dim); background:rgba(255,255,255,0.03); }
.dl-btn{ display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600; padding:8px 12px; border:1px solid var(--line-strong); color:var(--white); background:transparent; cursor:pointer; font-family:'Inter',sans-serif; }
.dl-btn.locked{ color:var(--steel-dim); border-color:var(--line); cursor:not-allowed; }
.dl-btn:not(.locked):hover{ border-color:var(--red); color:var(--red); }

.btn-primary{ background:var(--red); color:#fff; border:none; padding:11px 18px; font-family:'Rajdhani',sans-serif; font-weight:700; font-size:14px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.btn-primary:hover{ background:#e01018; }
.btn-ghost{ background:transparent; color:var(--white); border:1px solid var(--line-strong); padding:10px 16px; font-family:'Rajdhani',sans-serif; font-weight:700; font-size:13px; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.btn-ghost:hover{ border-color:var(--red); color:var(--red); }

.alert{ display:flex; gap:12px; align-items:flex-start; background:var(--brass-dim); border:1px solid var(--brass); padding:14px 16px; margin-bottom:24px; font-size:13px; color:var(--white); }
.alert strong{ color:var(--brass); }

footer.note{ margin-top:40px; font-family:'Space Mono',monospace; font-size:10px; color:var(--steel-dim); border-top:1px solid var(--line); padding-top:16px; }

@media (max-width: 900px){
  .sidebar{ display:none; }
  .main{ padding:22px 18px 50px; }
}

/* ---- mission tracker (linha de implantação) ---- */
.tracker{ background:var(--surface); border:1px solid var(--line); padding:26px 26px 22px; margin-bottom:30px; }
.tracker-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:22px; flex-wrap:wrap; gap:8px;}
.tracker-head h3{ font-size:15px; text-transform:uppercase; letter-spacing:.08em; color:var(--steel); font-weight:600; }
.tracker-phase-label{ font-family:'Space Mono',monospace; font-size:11px; color:var(--steel); }
.phase-block{ margin-bottom:26px; }
.phase-title{ font-size:12px; font-weight:600; color:var(--white); text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px; display:flex; align-items:center; gap:8px;}
.phase-title .dur{ font-family:'Space Mono',monospace; font-size:10px; color:var(--steel-dim); text-transform:none; letter-spacing:0; }
.waypoints{ display:flex; }
.wp{ flex:1; position:relative; padding-top:18px; }
.wp-line{ position:absolute; top:5px; left:0; right:0; height:2px; background:var(--line-strong); }
.wp:first-child .wp-line{ left:50%; }
.wp:last-child .wp-line{ right:50%; }
.wp-node{ position:absolute; top:0; left:50%; transform:translateX(-50%); width:11px; height:11px; border-radius:50%; border:2px solid var(--steel-dim); background:var(--bg); z-index:1; }
.wp.done .wp-node{ background:var(--olive); border-color:var(--olive); }
.wp.progress .wp-node{ background:var(--brass); border-color:var(--brass); }
.wp-label{ text-align:center; font-size:11.5px; color:var(--steel); padding:0 6px; cursor:pointer; }
.wp.done .wp-label{ color:var(--white); }
.wp.progress .wp-label{ color:var(--white); }
.wp-status{ display:block; font-family:'Space Mono',monospace; font-size:9px; margin-top:4px; letter-spacing:.04em; }
.wp.done .wp-status{ color:var(--olive); }
.wp.progress .wp-status{ color:var(--brass); }
.wp.pending .wp-status{ color:var(--steel-dim); }
@media (max-width:900px){ .waypoints{ flex-wrap:wrap; } .wp{ flex:1 1 40%; margin-bottom:16px; } }

/* ---- progress ring (evolução / leitura) ---- */
.ring-card{ background:var(--surface); border:1px solid var(--line); padding:26px; display:flex; align-items:center; gap:26px; margin-bottom:26px; flex-wrap:wrap; }
.ring-wrap{ position:relative; width:120px; height:120px; flex:none; }
.ring-wrap svg{ width:120px; height:120px; transform:rotate(-90deg); }
.ring-bg{ fill:none; stroke:var(--line-strong); stroke-width:9; }
.ring-fg{ fill:none; stroke:var(--red); stroke-width:9; stroke-linecap:round; transition:stroke-dashoffset .4s; }
.ring-label{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.ring-label .v{ font-family:'Rajdhani',sans-serif; font-weight:700; font-size:26px; }
.ring-label .l{ font-family:'Space Mono',monospace; font-size:9px; color:var(--steel); text-transform:uppercase; }

/* ---- progress bar (linha simples) ---- */
.pbar{ height:8px; background:var(--surface-2); border-radius:0; overflow:hidden; border:1px solid var(--line); }
.pbar .fill{ height:100%; background:linear-gradient(90deg, var(--brass), var(--olive)); }

/* ---- table-ish list (evolução admin) ---- */
.activity-row{ display:grid; grid-template-columns:1fr 200px 90px; gap:14px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.activity-row:last-child{ border-bottom:none; }
.activity-name{ font-size:13px; }
.activity-etapa{ font-family:'Space Mono',monospace; font-size:9.5px; color:var(--steel-dim); text-transform:uppercase; margin-top:2px; }
.activity-slider{ display:flex; align-items:center; gap:10px; }
.activity-slider input[type=range]{ flex:1; accent-color:var(--red); }
.activity-slider span{ font-family:'Space Mono',monospace; font-size:11px; width:36px; text-align:right; }
.field-input{ background:var(--surface-2); border:1px solid var(--line-strong); color:var(--white); padding:9px 11px; font-family:'Inter',sans-serif; font-size:13px; outline:none; }
.field-input:focus{ border-color:var(--red); }
.add-row{ display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }
.add-row .field-input{ flex:1; min-width:160px; }
.add-row select.field-input{ flex:none; width:200px; }

/* ---- accordion (manuais) ---- */
.manual-group{ background:var(--surface); border:1px solid var(--line); margin-bottom:12px; }
.mg-head{ display:flex; align-items:center; gap:14px; padding:16px 20px; cursor:pointer; }
.mg-num{ font-family:'Space Mono',monospace; font-size:11px; color:var(--steel-dim); width:22px; }
.mg-title{ flex:1; font-family:'Rajdhani',sans-serif; font-weight:600; font-size:16px; }
.mg-count{ font-family:'Space Mono',monospace; font-size:10.5px; color:var(--steel); }
.mg-chevron{ color:var(--steel-dim); font-size:11px; transition:.2s; }
.manual-group.open .mg-chevron{ transform:rotate(90deg); }
.mg-body{ display:none; border-top:1px solid var(--line); }
.manual-group.open .mg-body{ display:block; }
.mg-item{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 20px; border-bottom:1px solid var(--line); }
.mg-item:last-child{ border-bottom:none; }
.mg-item .name{ font-size:13px; }
.mg-item-actions{ display:flex; align-items:center; gap:10px; }
.status-select{ background:var(--surface-2); border:1px solid var(--line-strong); color:var(--white); font-family:'Space Mono',monospace; font-size:10px; text-transform:uppercase; padding:6px 8px; }

/* ================= SIMULADOR ECONÔMICO-TRIBUTÁRIO ================= */
.sim-disclaimer{ display:flex; gap:12px; align-items:flex-start; background:var(--red-dim); border:1px solid var(--red); padding:14px 16px; margin-bottom:26px; font-size:12.5px; color:var(--white); line-height:1.5; }
.sim-disclaimer strong{ color:var(--red); }

.sim-section{ background:var(--surface); border:1px solid var(--line); padding:24px 26px; margin-bottom:20px; }
.sim-section-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; flex-wrap:wrap; gap:10px; }
.sim-section-head h3{ font-size:17px; }
.sim-section-head .step-num{ font-family:'Space Mono',monospace; font-size:10.5px; color:var(--steel-dim); letter-spacing:.08em; text-transform:uppercase; }
.sim-flow{ display:flex; align-items:center; gap:8px; font-family:'Space Mono',monospace; font-size:11px; color:var(--steel); flex-wrap:wrap; }
.sim-flow b{ color:var(--white); }

.sim-fields{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr)); gap:14px; margin-bottom:8px; }
.sim-field label{ display:block; font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--steel); margin-bottom:6px; }
.sim-field .input-wrap{ position:relative; }
.sim-field input, .sim-field select{ width:100%; background:var(--surface-2); border:1px solid var(--line-strong); color:var(--white); padding:9px 10px; font-family:'Inter',sans-serif; font-size:13px; outline:none; }
.sim-field input:focus, .sim-field select:focus{ border-color:var(--red); }
.sim-field.money input{ padding-left:30px; }
.sim-field.money .prefix{ position:absolute; left:10px; top:50%; transform:translateY(-50%); font-size:12px; color:var(--steel); pointer-events:none; }
.sim-field.pct input{ padding-right:26px; }
.sim-field.pct .suffix{ position:absolute; right:10px; top:50%; transform:translateY(-50%); font-size:12px; color:var(--steel); pointer-events:none; }

.tax-table{ width:100%; border-collapse:collapse; margin:14px 0; }
.tax-table th{ text-align:left; font-family:'Space Mono',monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--steel-dim); padding:6px 8px; border-bottom:1px solid var(--line-strong); }
.tax-table td{ padding:6px 8px; border-bottom:1px solid var(--line); font-size:12.5px; vertical-align:middle; }
.tax-table td.label{ font-weight:600; }
.tax-table input{ width:100%; background:var(--surface-2); border:1px solid var(--line-strong); color:var(--white); padding:7px 8px; font-family:'Inter',sans-serif; font-size:12.5px; outline:none; }
.tax-table input:focus{ border-color:var(--red); }
.tax-table .readonly{ font-family:'Space Mono',monospace; color:var(--white); }
.tax-table tfoot td{ border-top:1px solid var(--line-strong); border-bottom:none; font-weight:700; font-family:'Space Mono',monospace; }

.sim-result-row{ display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-bottom:1px solid var(--line); font-size:13px; }
.sim-result-row:last-child{ border-bottom:none; }
.sim-result-row .lbl{ color:var(--steel); }
.sim-result-row .val{ font-family:'Space Mono',monospace; font-weight:700; }
.sim-result-row.total{ border-top:1px solid var(--line-strong); margin-top:4px; padding-top:12px; }
.sim-result-row.total .val{ font-size:16px; }

.kpi-exec-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(170px,1fr)); gap:14px; }
.kpi-exec{ background:var(--surface-2); border:1px solid var(--line); padding:16px; text-align:left; }
.kpi-exec .eyebrow{ margin-bottom:8px; }
.kpi-exec .v{ font-family:'Rajdhani',sans-serif; font-weight:700; font-size:22px; }
.kpi-exec .v.pos{ color:var(--olive); }
.kpi-exec .v.neg{ color:var(--red); }

.consolidated-flow{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:18px 10px; margin-bottom:20px; flex-wrap:wrap; }
.flow-node{ text-align:center; flex:1; min-width:110px; }
.flow-node .flow-tag{ font-family:'Space Mono',monospace; font-size:9.5px; color:var(--steel); text-transform:uppercase; }
.flow-node .flow-name{ font-family:'Rajdhani',sans-serif; font-weight:700; font-size:15px; margin-top:4px; }
.flow-arrow{ color:var(--red); font-size:18px; }

.scenario-card{ background:var(--surface-2); border:1px solid var(--line); padding:16px; }
.scenario-card h5{ font-family:'Rajdhani',sans-serif; font-weight:700; font-size:15px; margin-bottom:4px; }
.scenario-card .regimes{ font-family:'Space Mono',monospace; font-size:9.5px; color:var(--steel); margin-bottom:12px; }
.scenario-card .sr{ display:flex; justify-content:space-between; font-size:11.5px; padding:5px 0; border-bottom:1px solid var(--line); }
.scenario-card .sr:last-child{ border-bottom:none; }

.serv-detail-row{ display:grid; grid-template-columns:1.6fr 90px 90px 100px; gap:10px; align-items:center; padding:8px 0; border-bottom:1px solid var(--line); font-size:12px; }
.serv-detail-row:last-child{ border-bottom:none; }
.serv-detail-row input{ width:100%; background:var(--surface-2); border:1px solid var(--line-strong); color:var(--white); padding:6px 8px; font-size:12px; outline:none; }

.toolbar-actions{ display:flex; gap:10px; flex-wrap:wrap; }

/* Ajustes do simulador */
.stage-tone-a{background:#151515}.stage-tone-b{background:#1b1b1b}
.stage-head-left{justify-content:flex-start;align-items:flex-start}.stage-head-left>div:first-child{display:flex;flex-direction:column;gap:4px}.stage-head-left h3{font-size:19px}
.licensed-picker{margin-left:auto;min-width:210px}
.service-subcalc{background:#17150f;border-color:rgba(216,183,92,.34)}
.service-subcalc,.service-subcalc h3,.service-subcalc .step-num,.service-subcalc .serv-detail-row,.service-subcalc .sim-result-row .lbl,.service-subcalc .readonly{color:#e5c86c!important}
:root{--license-blue:#c9e8ff;--license-blue-dim:#9fcce9}
.stage-licenciada{border-left:3px solid rgba(159,204,233,.58)}
.stage-licenciada,.stage-licenciada h3,.stage-licenciada h4,.stage-licenciada .step-num,.stage-licenciada .sim-field label,.stage-licenciada .tax-table th,.stage-licenciada .tax-table td.label,.stage-licenciada .sim-result-row .lbl{color:var(--license-blue)!important}
.stage-licenciada .sim-result-row .val,.stage-licenciada .tax-table .readonly{color:#eef8ff}.licensed-picker label{color:var(--license-blue)!important}
.reform-switches{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid rgba(255,255,255,.10);background:#111}
.reform-switch-info{display:flex;flex-direction:column;gap:3px}.reform-switch-info strong{font-family:'Rajdhani',sans-serif;font-size:15px}.reform-switch-info span{font-size:11.5px;color:var(--steel)}
.tax-switch{min-width:180px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:2px;align-items:center;padding:10px 12px;border:1px solid var(--line-strong);background:#181818;cursor:pointer}
.tax-switch input{width:17px;height:17px;accent-color:var(--red);grid-row:1/span 2}.tax-switch span{font-size:12px;font-weight:700}.tax-switch small{color:var(--steel);font-family:'Space Mono',monospace;font-size:8.5px;text-transform:uppercase}
.tax-switch:has(input:checked){border-color:rgba(247,27,34,.65);background:rgba(247,27,34,.08)}
input.tax-replaced{opacity:.38;text-decoration:line-through}.reform-note{margin-bottom:16px;border-color:rgba(201,232,255,.35);background:rgba(159,204,233,.07)}
@media(max-width:900px){.reform-switches{grid-template-columns:1fr}}
