/* Estilo da página. Copiado do design system do produto (docs/design-system, v.0.0.1):
   tokens, base, componentes rme-* e orc-*. Mudou o design system? Copie de novo daqui. */

/* ============================================================
   RME DESIGN SYSTEM · tokens --rme-*  · light + dark  (herdado, sem mudança)
   Regra de ouro: componentes só usam var(--rme-*).
   Hex literal só nos blocos de token e nos swatches de demonstração.
   ============================================================ */
:root{
  --rme-blue:#3B3E80; --rme-blue-700:#2E3163; --rme-blue-300:#8A8CC0;
  --rme-pink:#ED156F; --rme-pink-700:#C51062;
  --rme-orange:#F7941E; --rme-orange-700:#B96D0A;
  --rme-green:#B2D235; --rme-green-700:#5F7321;
  --rme-teal:#47B5B7; --rme-teal-700:#2E7E80;
  --rme-purple:#6A2E8F;

  --rme-gradient-brand:linear-gradient(120deg,#ED156F 0%,#6A2E8F 52%,#47B5B7 100%);
  --rme-gradient-warm:linear-gradient(120deg,#F7941E 0%,#ED156F 100%);
  --rme-gradient-cool:linear-gradient(120deg,#3B3E80 0%,#47B5B7 100%);

  --rme-font-sans:'Maven Pro',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --rme-font-mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
  --rme-text-xs:0.75rem; --rme-text-sm:0.8125rem; --rme-text-base:0.9375rem;
  --rme-text-md:1.0625rem; --rme-text-lg:1.25rem; --rme-text-xl:1.5rem;
  --rme-text-2xl:1.9375rem; --rme-text-3xl:2.5rem;
  --rme-weight-regular:400; --rme-weight-medium:500; --rme-weight-semibold:600;
  --rme-weight-bold:700; --rme-weight-black:800;
  --rme-leading-tight:1.15; --rme-leading-normal:1.55;

  --rme-space-1:4px; --rme-space-2:8px; --rme-space-3:12px; --rme-space-4:16px;
  --rme-space-5:20px; --rme-space-6:24px; --rme-space-8:32px; --rme-space-10:40px;
  --rme-space-12:48px; --rme-space-16:64px;

  --rme-radius-sm:6px; --rme-radius-md:10px; --rme-radius-lg:14px;
  --rme-radius-xl:20px; --rme-radius-full:999px;

  --rme-t-fast:120ms cubic-bezier(.4,0,.2,1);
  --rme-t-base:200ms cubic-bezier(.4,0,.2,1);
}
[data-theme="light"]{
  --rme-bg-page:#EEF0F6; --rme-bg-surface:#FFFFFF; --rme-bg-elevated:#FFFFFF;
  --rme-bg-card:#FFFFFF; --rme-bg-card-hover:#F4F6FC; --rme-bg-input:#FFFFFF;
  --rme-bg-hover:#EFF1F9; --rme-bg-muted:#F5F6FA; --rme-bg-sidebar:#2E3163;
  --rme-border:#E4E6F0; --rme-border-strong:#D2D5E6;
  --rme-text-primary:#1B1C2B; --rme-text-secondary:#4C4F66; --rme-text-muted:#83869B;
  --rme-text-on-brand:#FFFFFF; --rme-text-on-sidebar:#EDEEF7;
  --rme-primary:#3B3E80; --rme-primary-hover:#2E3163; --rme-primary-soft:#ECEDF7;
  --rme-cta:#ED156F; --rme-cta-hover:#C51062; --rme-cta-soft:#FDE9F1;
  --rme-focus:#3B3E80;
  --rme-info:#3B3E80; --rme-info-soft:#ECEDF7;
  --rme-success:#5F7321; --rme-success-soft:#F1F6DF;
  --rme-warning:#B96D0A; --rme-warning-soft:#FDF0DD;
  --rme-danger:#C0281F; --rme-danger-soft:#FBE7E5;
  --rme-mock:#8A4FBF; --rme-mock-soft:#F1E9FA;
  --rme-waiting:#2E7E80; --rme-waiting-soft:#E1F3F3;
  --rme-ent-rme:#ED156F; --rme-ent-irme:#47B5B7;
  --rme-shadow-xs:0 1px 2px rgba(27,28,43,.06);
  --rme-shadow-sm:0 2px 6px rgba(27,28,43,.08);
  --rme-shadow-md:0 8px 24px rgba(27,28,43,.10);
  --rme-shadow-lg:0 20px 48px rgba(27,28,43,.14);
  --rme-ring:0 0 0 3px rgba(59,62,128,.32);
}
[data-theme="dark"]{
  --rme-bg-page:#0C0D1C; --rme-bg-surface:#14152B; --rme-bg-elevated:#191B36;
  --rme-bg-card:#181A34; --rme-bg-card-hover:#20234A; --rme-bg-input:#101124;
  --rme-bg-hover:#1E2044; --rme-bg-muted:#171932; --rme-bg-sidebar:#0A0B18;
  --rme-border:#2A2C52; --rme-border-strong:#3A3D6B;
  --rme-text-primary:#EEEFF9; --rme-text-secondary:#BDBFDB; --rme-text-muted:#8B8EB2;
  --rme-text-on-brand:#FFFFFF; --rme-text-on-sidebar:#EDEEF7;
  --rme-primary:#7C80D8; --rme-primary-hover:#9296E4; --rme-primary-soft:#232551;
  --rme-cta:#F53D8A; --rme-cta-hover:#F95E9F; --rme-cta-soft:#3A1330;
  --rme-focus:#7C80D8;
  --rme-info:#7C80D8; --rme-info-soft:#232551;
  --rme-success:#A7C94B; --rme-success-soft:#232B10;
  --rme-warning:#F4A94A; --rme-warning-soft:#33240F;
  --rme-danger:#F26359; --rme-danger-soft:#361413;
  --rme-mock:#B98BE0; --rme-mock-soft:#241733;
  --rme-waiting:#5CC7C9; --rme-waiting-soft:#12302F;
  --rme-ent-rme:#F53D8A; --rme-ent-irme:#5CC7C9;
  --rme-shadow-xs:0 1px 2px rgba(0,0,0,.4);
  --rme-shadow-sm:0 2px 8px rgba(0,0,0,.45);
  --rme-shadow-md:0 10px 28px rgba(0,0,0,.5);
  --rme-shadow-lg:0 24px 56px rgba(0,0,0,.6);
  --rme-ring:0 0 0 3px rgba(124,128,216,.45);
}

/* ============================================================
   BASE (herdada)
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:var(--rme-font-sans);font-size:var(--rme-text-base);line-height:var(--rme-leading-normal);background:var(--rme-bg-page);color:var(--rme-text-primary);-webkit-font-smoothing:antialiased;transition:background var(--rme-t-base),color var(--rme-t-base)}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
a{color:var(--rme-primary);text-decoration:none}
svg{display:block}
.mono{font-family:var(--rme-font-mono)}
:focus-visible{outline:none;box-shadow:var(--rme-ring);border-radius:var(--rme-radius-sm)}
/* Número: sempre tabular, à direita, sem quebrar linha (regra da precificação) */
.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}

/* ============================================================
   COMPONENTES HERDADOS (rme-*)
   ============================================================ */
.rme-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--rme-space-2);min-height:44px;padding:0 var(--rme-space-5);border-radius:var(--rme-radius-md);font-size:var(--rme-text-base);font-weight:var(--rme-weight-semibold);transition:all var(--rme-t-fast);white-space:nowrap}
.rme-btn svg{width:18px;height:18px}
.rme-btn--primary{background:var(--rme-primary);color:var(--rme-text-on-brand)}
.rme-btn--primary:hover{background:var(--rme-primary-hover);transform:translateY(-1px);box-shadow:var(--rme-shadow-sm)}
.rme-btn--cta{background:var(--rme-cta);color:#fff}
.rme-btn--cta:hover{background:var(--rme-cta-hover);transform:translateY(-1px);box-shadow:var(--rme-shadow-sm)}
.rme-btn--secondary{background:var(--rme-bg-elevated);color:var(--rme-text-primary);border:1px solid var(--rme-border-strong)}
.rme-btn--secondary:hover{background:var(--rme-bg-hover);border-color:var(--rme-primary)}
.rme-btn--ghost{background:transparent;color:var(--rme-text-secondary)}
.rme-btn--ghost:hover{background:var(--rme-bg-hover);color:var(--rme-text-primary)}
.rme-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.rme-btn--sm{min-height:34px;padding:0 var(--rme-space-3);font-size:var(--rme-text-sm)}
.rme-btn--pendente{opacity:.6;cursor:wait;pointer-events:none}
.rme-field{display:flex;flex-direction:column;gap:var(--rme-space-2)}
.rme-label{font-size:var(--rme-text-sm);font-weight:var(--rme-weight-medium);color:var(--rme-text-secondary)}
.rme-input{width:100%;min-height:44px;padding:var(--rme-space-3);font-size:var(--rme-text-base);font-family:inherit;background:var(--rme-bg-input);color:var(--rme-text-primary);border:1px solid var(--rme-border-strong);border-radius:var(--rme-radius-md);transition:all var(--rme-t-fast)}
.rme-input:focus{border-color:var(--rme-primary);box-shadow:var(--rme-ring);outline:none}
.rme-input::placeholder{color:var(--rme-text-muted)}
.rme-search{position:relative}
.rme-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--rme-text-muted)}
.rme-search .rme-input{padding-left:40px}
.rme-segmented{display:inline-flex;background:var(--rme-bg-muted);border:1px solid var(--rme-border);border-radius:var(--rme-radius-md);padding:3px;gap:2px}
.rme-segmented button{padding:var(--rme-space-2) var(--rme-space-4);border-radius:var(--rme-radius-sm);font-size:var(--rme-text-sm);font-weight:var(--rme-weight-medium);color:var(--rme-text-secondary);min-height:36px}
.rme-segmented button[aria-selected="true"]{background:var(--rme-bg-surface);color:var(--rme-primary);font-weight:var(--rme-weight-semibold);box-shadow:var(--rme-shadow-xs)}
.rme-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--rme-radius-full);font-size:var(--rme-text-xs);font-weight:var(--rme-weight-semibold);line-height:1.4;white-space:nowrap}
.rme-badge__dot{width:7px;height:7px;border-radius:var(--rme-radius-full);background:currentColor;flex:none}
.rme-badge--rme{background:color-mix(in srgb,var(--rme-ent-rme) 15%,transparent);color:var(--rme-ent-rme-text)}
.rme-badge--irme{background:color-mix(in srgb,var(--rme-ent-irme) 16%,transparent);color:var(--rme-ent-irme-text)}
.rme-badge--neutral{background:var(--rme-bg-muted);color:var(--rme-text-secondary)}
.rme-badge--mock{background:var(--rme-mock-soft);color:var(--rme-mock)}
.rme-card{background:var(--rme-bg-card);border:1px solid var(--rme-border);border-radius:var(--rme-radius-lg);padding:var(--rme-space-5);box-shadow:var(--rme-shadow-xs)}
.rme-kpi{background:var(--rme-bg-card);border:1px solid var(--rme-border);border-radius:var(--rme-radius-lg);padding:var(--rme-space-4) var(--rme-space-5);box-shadow:var(--rme-shadow-xs)}
.rme-kpi__label{font-size:var(--rme-text-sm);color:var(--rme-text-muted);display:flex;align-items:center;gap:var(--rme-space-2)}
.rme-kpi__value{font-size:var(--rme-text-xl);font-weight:var(--rme-weight-black);letter-spacing:-.02em;margin-top:var(--rme-space-2);line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:639px){.rme-kpi__value{font-size:var(--rme-text-lg)}}
.rme-kpi__sub{font-size:var(--rme-text-xs);color:var(--rme-text-muted);margin-top:var(--rme-space-2)}
.rme-state{border-radius:var(--rme-radius-md);padding:var(--rme-space-4);display:flex;gap:var(--rme-space-3);align-items:flex-start;font-size:var(--rme-text-sm)}
.rme-state svg{width:20px;height:20px;flex:none;margin-top:1px}
.rme-state__t{font-weight:var(--rme-weight-semibold)}
.rme-state__d{color:var(--rme-text-secondary);margin-top:2px}
.rme-state--waiting{background:var(--rme-waiting-soft);border:1px dashed var(--rme-waiting);color:var(--rme-waiting)}
.rme-state--empty{background:var(--rme-bg-muted);border:1px solid var(--rme-border);color:var(--rme-text-muted)}
.rme-state--error{background:var(--rme-danger-soft);border:1px solid var(--rme-danger);color:var(--rme-danger)}
.rme-state--info{background:var(--rme-info-soft);border:1px solid color-mix(in srgb,var(--rme-info) 35%,transparent);color:var(--rme-info)}
.rme-state--mock{background:var(--rme-mock-soft);border:1px solid var(--rme-mock);color:var(--rme-mock);position:relative}
.rme-state--mock::after{content:"MOCK";position:absolute;top:8px;right:10px;font-size:10px;font-weight:var(--rme-weight-bold);letter-spacing:.08em;opacity:.7}
.rme-skel{background:linear-gradient(90deg,var(--rme-bg-muted) 25%,var(--rme-bg-hover) 37%,var(--rme-bg-muted) 63%);background-size:400% 100%;animation:rme-shimmer 1.4s ease infinite;border-radius:var(--rme-radius-sm)}
@keyframes rme-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.rme-table-wrap{border:1px solid var(--rme-border);border-radius:var(--rme-radius-lg);background:var(--rme-bg-card)}
.rme-table{width:100%;border-collapse:collapse;font-size:var(--rme-text-sm)}
.rme-table th,.rme-table td{padding:var(--rme-space-3) var(--rme-space-4);text-align:left;border-bottom:1px solid var(--rme-border);white-space:nowrap}
.rme-table th.num,.rme-table td.num{text-align:right}
.rme-table thead th{background:var(--rme-bg-muted);font-size:var(--rme-text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--rme-text-muted);font-weight:var(--rme-weight-semibold)}
.rme-table tbody tr{cursor:pointer}
.rme-table tbody tr:hover{background:var(--rme-bg-hover)}
.rme-table tbody tr:last-child td{border-bottom:none}
.rme-table__nome{font-weight:var(--rme-weight-semibold);color:var(--rme-text-primary)}
@media (max-width:639px){.rme-col-contexto{display:none}}
/* Sombra nas bordas de quem rola de lado (herdado do dashboard, sem JS) */
.rme-scroll-x,.rme-table-wrap{overflow-x:auto;background-image:linear-gradient(to right,var(--rme-scroll-fade,var(--rme-bg-surface)) 30%,transparent),linear-gradient(to left,var(--rme-scroll-fade,var(--rme-bg-surface)) 30%,transparent),radial-gradient(farthest-side at 0 50%,rgb(0 0 0 / 12%),transparent),radial-gradient(farthest-side at 100% 50%,rgb(0 0 0 / 12%),transparent);background-position:left,right,left,right;background-size:24px 100%,24px 100%,12px 100%,12px 100%;background-repeat:no-repeat;background-attachment:local,local,scroll,scroll}
.rme-table-wrap{--rme-scroll-fade:var(--rme-bg-card)}
.rme-sidebar{width:220px;background:var(--rme-bg-sidebar);color:var(--rme-text-on-sidebar);padding:var(--rme-space-4);display:flex;flex-direction:column;gap:var(--rme-space-1)}
.rme-sidebar__brand{display:flex;align-items:center;gap:var(--rme-space-3);padding:var(--rme-space-2) var(--rme-space-3) var(--rme-space-5)}
.rme-sidebar__brand b{font-size:var(--rme-text-md);line-height:1.15}
.rme-sidebar__brand small{display:block;font-size:var(--rme-text-xs);font-weight:var(--rme-weight-medium);opacity:.7}
.rme-sidebar a{display:flex;align-items:center;gap:var(--rme-space-3);padding:var(--rme-space-3);border-radius:var(--rme-radius-md);color:color-mix(in srgb,var(--rme-text-on-sidebar) 78%,transparent);font-size:var(--rme-text-sm);font-weight:var(--rme-weight-medium)}
.rme-sidebar a svg{width:20px;height:20px}
.rme-sidebar a:hover{background:rgba(255,255,255,.08);color:#fff}
.rme-sidebar a.is-active{background:rgba(255,255,255,.14);color:#fff;font-weight:var(--rme-weight-semibold)}
.rme-hero{border-radius:var(--rme-radius-xl);padding:var(--rme-space-12) var(--rme-space-6);background:var(--rme-gradient-brand);color:#fff;position:relative;overflow:hidden}
.rme-hero__eyebrow{font-family:var(--rme-font-mono);font-size:var(--rme-text-sm);opacity:.9;text-transform:uppercase;letter-spacing:.08em}
.rme-hero h1{font-size:var(--rme-text-3xl);font-weight:var(--rme-weight-black);letter-spacing:-.02em;line-height:1.05;margin:var(--rme-space-3) 0}
.rme-hero p{max-width:62ch;opacity:.95}
.rme-hero__meta{display:flex;flex-wrap:wrap;gap:var(--rme-space-2);margin-top:var(--rme-space-6)}
.rme-hero__pill{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);padding:6px 14px;border-radius:var(--rme-radius-full);font-size:var(--rme-text-sm);font-weight:var(--rme-weight-medium)}

/* Contraste no tema claro, conferido par a par (24/10/2026): três tokens herdados
   ficavam abaixo de 4,5:1 em texto pequeno. A Estante escurece só ali; o Orçamento herda o ajuste; o DS da RME
   não muda. text-muted #83869B dava 3,59:1 no card; mock 4,50:1; waiting 4,15:1. */
[data-theme="light"]{--rme-text-muted:#696C82;--rme-mock:#7E44B3;--rme-waiting:#246D6F}

.rme-hint{font-size:var(--rme-text-xs);color:var(--rme-text-muted)}
.rme-hint--error{color:var(--rme-danger)}
.rme-input--error{border-color:var(--rme-danger)}
.rme-input--error:focus{box-shadow:0 0 0 3px var(--rme-danger-soft)}
.rme-btn--danger-ghost{background:transparent;color:var(--rme-danger);border:1px solid color-mix(in srgb,var(--rme-danger) 40%,transparent)}
.rme-btn--danger-ghost:hover{background:var(--rme-danger-soft)}

/* ============================================================
   ORÇAMENTO DE EVENTOS · camada semântica própria
   Deriva só da marca e dos semânticos acima. Hex literal só aqui.
   Os pesos dos alertas repetem os valores AA que a Estante e a
   precificação já conferiram, para as ferramentas falarem a mesma língua.
   ============================================================ */
[data-theme="light"]{
  /* Peso do alerta (spec 01): confira · atenção · informativo */
  --rme-confira:#C0281F;     --rme-confira-soft:#FBE7E5;
  --rme-atencao:#975700;     --rme-atencao-soft:#FDF0DD;
  --rme-informativo:#4C4F66; --rme-informativo-soft:#F5F6FA;
  /* Bate com a planilha (spec 05) */
  --rme-ok:#5F7321;          --rme-ok-soft:#F1F6DF;
  /* Valor depois do reajuste (spec 02) */
  --rme-depois:#3B3E80;      --rme-depois-soft:#ECEDF7;
  /* Número calculado pela ferramenta (não se edita) */
  --rme-calc-bg:#F5F6FA;
  /* Fora do total: opcional, cancelado, cortesia */
  --rme-fora:#E4E6F0;
}
[data-theme="dark"]{
  --rme-confira:#F26359;     --rme-confira-soft:#361413;
  --rme-atencao:#F4A94A;     --rme-atencao-soft:#33240F;
  --rme-informativo:#BDBFDB; --rme-informativo-soft:#171932;
  --rme-ok:#A7C94B;          --rme-ok-soft:#232B10;
  --rme-depois:#9094E8;      --rme-depois-soft:#232551;
  --rme-calc-bg:#141530;
  --rme-fora:#2A2C52;
}

/* ============================================================
   COMPONENTES DO ORÇAMENTO (orc-*)
   ============================================================ */

/* Área de envio da planilha (spec 01, tela antes de enviar) */
.orc-envio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--rme-space-3);text-align:center;min-height:240px;padding:var(--rme-space-8) var(--rme-space-6);border:2px dashed var(--rme-border-strong);border-radius:var(--rme-radius-lg);background:var(--rme-bg-card);transition:all var(--rme-t-fast)}
.orc-envio__ic{width:52px;height:52px;border-radius:var(--rme-radius-full);display:grid;place-items:center;background:var(--rme-primary-soft);color:var(--rme-primary)}
.orc-envio__ic svg{width:26px;height:26px}
.orc-envio__t{font-size:var(--rme-text-lg);font-weight:var(--rme-weight-bold)}
.orc-envio__d{font-size:var(--rme-text-sm);color:var(--rme-text-secondary)}
.orc-envio.is-arrastando{border-color:var(--rme-primary);background:var(--rme-primary-soft)}
.orc-envio.is-lendo{opacity:.7;cursor:wait}
.orc-envio.is-lendo .orc-envio__ic{animation:rme-pulso 1.2s ease-in-out infinite}
@keyframes rme-pulso{0%,100%{opacity:1}50%{opacity:.45}}

/* Faixa fixa: a planilha não sai do computador */
.orc-faixa{display:flex;align-items:center;gap:var(--rme-space-2);padding:var(--rme-space-2) var(--rme-space-3);border-radius:var(--rme-radius-md);font-size:var(--rme-text-xs);color:var(--rme-text-secondary);background:var(--rme-bg-muted);border:1px solid var(--rme-border)}
.orc-faixa svg{width:14px;height:14px;flex:none;color:var(--rme-text-muted)}
.orc-faixa b{font-weight:var(--rme-weight-semibold);color:var(--rme-text-primary)}

/* Cabeçalho do evento */
.orc-evento{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--rme-space-4);flex-wrap:wrap}
.orc-evento__t{font-size:var(--rme-text-xl);font-weight:var(--rme-weight-bold);line-height:1.2}
.orc-evento__meta{display:flex;flex-wrap:wrap;gap:var(--rme-space-2) var(--rme-space-4);margin-top:var(--rme-space-2);font-size:var(--rme-text-sm);color:var(--rme-text-secondary)}
.orc-evento__meta span{display:inline-flex;align-items:center;gap:6px}
.orc-evento__meta svg{width:14px;height:14px;color:var(--rme-text-muted)}
.orc-evento__arq{font-family:var(--rme-font-mono);font-size:var(--rme-text-xs);color:var(--rme-text-muted);margin-top:var(--rme-space-1)}

/* Aviso do topo (A9: soma da planilha diferente da soma dos itens) */
.orc-topo{display:flex;gap:var(--rme-space-3);align-items:flex-start;padding:var(--rme-space-4);border-radius:var(--rme-radius-md);background:var(--rme-confira-soft);border:1px solid var(--rme-confira);color:var(--rme-confira);font-size:var(--rme-text-sm)}
.orc-topo svg{width:20px;height:20px;flex:none;margin-top:1px}
.orc-topo__t{font-weight:var(--rme-weight-semibold)}
.orc-topo__d{color:var(--rme-text-primary);margin-top:2px}

/* Quadro de totais, com antes e depois do reajuste */
.orc-totais{width:100%;border-collapse:collapse;font-size:var(--rme-text-sm)}
.orc-totais th,.orc-totais td{padding:var(--rme-space-2) var(--rme-space-3);border-bottom:1px solid var(--rme-border);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.orc-totais th:first-child,.orc-totais td:first-child{text-align:left}
.orc-totais thead th{font-size:var(--rme-text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--rme-text-muted);font-weight:var(--rme-weight-semibold)}
.orc-totais tr.is-zero td{color:var(--rme-text-muted)}
.orc-totais tr.is-total td{font-size:var(--rme-text-md);font-weight:var(--rme-weight-black);border-bottom:2px solid var(--rme-border-strong)}
.orc-totais tr.is-fora td{color:var(--rme-text-secondary);font-style:italic;border-bottom:0}
.orc-totais td.is-depois{color:var(--rme-depois);font-weight:var(--rme-weight-semibold)}
.orc-totais .orc-dif{font-size:var(--rme-text-xs);color:var(--rme-text-secondary)}
.orc-kpis{display:grid;gap:var(--rme-space-3);grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.orc-kpis{grid-template-columns:1fr}}

/* Selo do peso do alerta: cor + ícone + texto, nunca cor sozinha */
.orc-peso{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 7px;border-radius:var(--rme-radius-full);font-size:var(--rme-text-xs);font-weight:var(--rme-weight-semibold);line-height:1.5;white-space:nowrap}
.orc-peso svg{width:13px;height:13px;flex:none}
.orc-peso--confira{background:var(--rme-confira-soft);color:var(--rme-confira)}
.orc-peso--atencao{background:var(--rme-atencao-soft);color:var(--rme-atencao)}
.orc-peso--informativo{background:var(--rme-informativo-soft);color:var(--rme-informativo);border:1px solid var(--rme-border)}
.orc-peso--ok{background:var(--rme-ok-soft);color:var(--rme-ok)}

/* Lista "Confira estes" */
.orc-alertas{border:1px solid var(--rme-border);border-radius:var(--rme-radius-lg);background:var(--rme-bg-card);overflow:hidden}
.orc-alerta{display:grid;grid-template-columns:118px 56px minmax(0,1fr) auto;gap:var(--rme-space-3);align-items:center;padding:var(--rme-space-3) var(--rme-space-4);border-bottom:1px solid var(--rme-border);font-size:var(--rme-text-sm)}
.orc-alerta:last-child{border-bottom:0}
.orc-alerta__n{font-size:var(--rme-text-xs);color:var(--rme-text-muted);font-variant-numeric:tabular-nums}
.orc-alerta__nome{font-weight:var(--rme-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.orc-alerta__motivo{display:block;font-weight:var(--rme-weight-regular);color:var(--rme-text-secondary);font-size:var(--rme-text-xs);white-space:normal}
.orc-alerta__v{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.orc-alerta__v small{display:block;font-size:var(--rme-text-xs);color:var(--rme-text-muted)}
@media(max-width:640px){.orc-alerta{grid-template-columns:1fr auto}.orc-alerta .orc-peso,.orc-alerta__n{grid-column:1/-1}}

/* Valor que a planilha escreveu em texto ("A DEFINIR", "INCLUSO...") */
.orc-texto{display:inline-block;padding:1px 8px;border-radius:var(--rme-radius-sm);border:1px dashed var(--rme-border-strong);font-size:var(--rme-text-xs);font-weight:var(--rme-weight-semibold);color:var(--rme-text-secondary);background:var(--rme-bg-muted);white-space:nowrap}

/* Tabela de grupos que abre os itens */
.orc-grupos{width:100%;border-collapse:collapse;font-size:var(--rme-text-sm)}
.orc-grupos th,.orc-grupos td{padding:0 var(--rme-space-3);height:44px;border-bottom:1px solid var(--rme-border);text-align:left;white-space:nowrap}
.orc-grupos th.num,.orc-grupos td.num{text-align:right}
.orc-grupos thead th{background:var(--rme-bg-muted);font-size:var(--rme-text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--rme-text-muted);font-weight:var(--rme-weight-semibold);height:36px}
.orc-grupo{cursor:pointer}
.orc-grupo:hover td{background:var(--rme-bg-hover)}
.orc-grupo td:first-child{font-weight:var(--rme-weight-semibold)}
.orc-grupo__tg{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:var(--rme-space-2);border-radius:var(--rme-radius-sm);color:var(--rme-text-secondary);vertical-align:middle}
.orc-grupo__tg svg{width:14px;height:14px;transition:transform var(--rme-t-fast);transform:rotate(-90deg)}
.orc-grupo[aria-expanded="true"] .orc-grupo__tg svg{transform:none}
.orc-pct{display:inline-flex;align-items:center;gap:var(--rme-space-2);justify-content:flex-end}
.orc-pct__bar{width:64px;height:6px;border-radius:var(--rme-radius-full);background:var(--rme-bg-muted);border:1px solid var(--rme-border);overflow:hidden}
.orc-pct__bar i{display:block;height:100%;background:var(--rme-primary)}
.orc-item td{background:var(--rme-calc-bg);font-size:var(--rme-text-xs);height:40px}
.orc-item td:first-child{padding-left:44px}
.orc-item__nome{font-size:var(--rme-text-sm);color:var(--rme-text-primary)}
.orc-item__sub{display:block;color:var(--rme-text-muted)}
.orc-item.is-fora td{color:var(--rme-text-muted)}
.orc-item.is-fora td:first-child{box-shadow:inset 3px 0 0 var(--rme-fora)}
.orc-item.is-oculto{display:none}
.orc-pct-campo{width:84px}

/* Custo por espaço (spec 05) */
.orc-espacos td.is-dif{color:var(--rme-atencao);font-weight:var(--rme-weight-semibold)}
.orc-espacos tr.is-sem td{color:var(--rme-text-secondary);font-style:italic;background:var(--rme-calc-bg)}
.orc-espacos tfoot td{background:var(--rme-bg-muted);font-weight:var(--rme-weight-bold);border-bottom:0}
.orc-mover{display:flex;align-items:center;gap:var(--rme-space-2);font-size:var(--rme-text-sm)}
.orc-mover select{min-height:36px;padding:0 var(--rme-space-3);font:inherit;font-size:var(--rme-text-sm);color:var(--rme-text-primary);background:var(--rme-bg-input);border:1px solid var(--rme-border-strong);border-radius:var(--rme-radius-md)}
.orc-mover select:focus{outline:none;border-color:var(--rme-primary);box-shadow:var(--rme-ring)}

/* Reajuste (spec 02) */
.orc-reajuste{display:flex;flex-wrap:wrap;gap:var(--rme-space-4);align-items:flex-end}
.orc-pctin{position:relative;width:140px}
.orc-pctin .rme-input{padding-right:32px;text-align:right;font-variant-numeric:tabular-nums}
.orc-pctin span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--rme-text-muted);font-size:var(--rme-text-sm);pointer-events:none}
.orc-baixar{display:flex;align-items:center;gap:var(--rme-space-4);flex-wrap:wrap;padding:var(--rme-space-4);border:1px solid var(--rme-border);border-radius:var(--rme-radius-lg);background:var(--rme-bg-card)}
.orc-baixar__arq{font-family:var(--rme-font-mono);font-size:var(--rme-text-xs);color:var(--rme-text-muted);word-break:break-all}

.orc-marca{display:flex;align-items:center;gap:var(--rme-space-2);font-weight:var(--rme-weight-bold)}
.orc-marca svg{width:28px;height:28px}
.orc-marca small{display:block;font-size:var(--rme-text-xs);color:var(--rme-text-muted);font-weight:var(--rme-weight-medium)}
.orc-bloco__t{font-size:var(--rme-text-md);font-weight:var(--rme-weight-bold);margin-bottom:var(--rme-space-3);display:flex;align-items:center;gap:var(--rme-space-2)}
.orc-bloco__t small{font-size:var(--rme-text-xs);color:var(--rme-text-muted);font-weight:var(--rme-weight-medium)}

/* Acessibilidade: movimento reduzido */
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* ============================================================
   PÁGINA (só da ferramenta, fora do design system)
   ============================================================ */
.orc-pagina{max-width:1040px;margin:0 auto;padding:var(--rme-space-6) var(--rme-space-4) var(--rme-space-12);display:flex;flex-direction:column;gap:var(--rme-space-5)}
.orc-titulo{font-size:var(--rme-text-2xl);font-weight:var(--rme-weight-bold);letter-spacing:-.02em}
.orc-intro{color:var(--rme-text-secondary);margin-top:var(--rme-space-2);max-width:62ch}
.orc-envio{cursor:pointer}
.orc-item__sub{max-width:300px;overflow:hidden;text-overflow:ellipsis}
.orc-mover span{overflow:hidden;text-overflow:ellipsis}
.orc-vazio td{color:var(--rme-text-muted);font-style:italic}
.orc-espacos th,.orc-espacos td{padding:0 10px}
.orc-espacos thead th{white-space:normal;line-height:1.2}
.orc-item__nome{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis}
.orc-grupos .orc-texto{max-width:110px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.orc-grupos .orc-item td:nth-child(3){white-space:normal;line-height:1.8}
