/* ============================================================================
   NINA UI — padrão visual dos aplicativos (estilo iOS, paleta da Central)
   Carregado DEPOIS do CSS de cada app: /auth/ui/nina-ui.css
   1) tokens (cores, raios, sombras, fonte)  2) "ponte": os nomes de variáveis
   que cada app já usa passam a apontar para os tokens  3) acabamento comum
   (fonte, cabeçalho, botões, campos, cartões, tabelas) sem mexer em layout.
   Unidades: RJ vinho · SP rosé · DF champanhe, com acabamento metálico.
   ============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  /* marca */
  --nui-nina:#C4161C; --nui-nina-2:#8F0F14; --nui-nina-soft:rgba(196,22,28,.10);
  /* superfícies (iOS system) */
  --nui-bg:#F2F2F7; --nui-card:#FFFFFF; --nui-card-2:#F9F9FB; --nui-fill:rgba(120,120,128,.12); --nui-fill-2:rgba(120,120,128,.20);
  --nui-ink:#1C1C1E; --nui-ink-2:#3A3A3C; --nui-mut:#6E6E73; --nui-faint:#AEAEB2; --nui-sep:rgba(60,60,67,.14); --nui-sep-2:rgba(60,60,67,.22);
  /* semânticas */
  --nui-ok:#2E7D4F; --nui-ok-soft:rgba(46,125,79,.12); --nui-warn:#B8720B; --nui-warn-soft:rgba(184,114,11,.12); --nui-bad:#C4161C; --nui-bad-soft:rgba(196,22,28,.10);
  --nui-blue:#0A84FF; --nui-blue-soft:rgba(10,132,255,.12);
  /* unidades (paleta decidida em 30/10): vinho · rosé · champanhe, metálicas */
  --rj:#9B1131; --rj2:#D63A5E; --sp:#C9596E; --sp2:#F2A6B5; --df:#E3BE78; --df2:#FBE7BE; --df-ink:#5A3E12;
  --metal:linear-gradient(135deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.18) 30%,rgba(255,255,255,0) 48%,rgba(0,0,0,.10) 72%,rgba(0,0,0,.22) 100%);
  --m-vinho:var(--metal),linear-gradient(145deg,var(--rj2),var(--rj));
  --m-rose:var(--metal),linear-gradient(145deg,var(--sp2),var(--sp));
  --m-champ:var(--metal),linear-gradient(145deg,var(--df2),var(--df));
  --m-nina:var(--metal),linear-gradient(145deg,#E8373D,var(--nui-nina));
  /* forma e movimento */
  --nui-r:16px; --nui-r-lg:22px; --nui-r-sm:10px;
  --nui-shadow:0 1px 1px rgba(0,0,0,.03),0 6px 20px rgba(28,28,30,.06); --nui-shadow-h:0 12px 32px rgba(28,28,30,.12);
  --nui-glass:rgba(255,255,255,.78); --nui-scheme:light;
  --nui-spring:cubic-bezier(.34,1.56,.64,1); --nui-ease:cubic-bezier(.2,.8,.2,1);
  --nui-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,system-ui,sans-serif;

  /* ---------- ponte: nomes que os apps já usam ---------- */
  /* família Escala / Salgados / Mensagens / Caixinha gestor */
  --red:var(--nui-nina); --red2:var(--nui-nina-soft); --red-d:var(--nui-nina-2); --red-dark:var(--nui-nina-2); --red-light:#E8373D; --red-deep:var(--nui-nina-2); --redd:var(--nui-nina-2); --redl:var(--nui-nina-soft); --red3:var(--nui-nina-2); --red-s:var(--nui-nina-soft);
  --ink:var(--nui-ink); --ink2:var(--nui-ink-2); --mut:var(--nui-mut); --muted:var(--nui-mut); --faint:var(--nui-faint);
  --line:var(--nui-sep); --line2:var(--nui-sep-2); --border:var(--nui-sep); --bd:var(--nui-sep); --bd2:var(--nui-sep-2); --linha:var(--nui-sep);
  --bg:var(--nui-bg); --card:var(--nui-card); --panel:var(--nui-card); --panel2:var(--nui-card-2); --surface:var(--nui-card); --surf:var(--nui-card); --white:var(--nui-card); --papel:var(--nui-card);
  --cream:var(--nui-bg); --warm:var(--nui-card-2); --creme:var(--nui-bg); --creme2:var(--nui-fill); --gray-light:var(--nui-fill);
  --ok:var(--nui-ok); --okbg:var(--nui-ok-soft); --green:var(--nui-ok); --green-s:var(--nui-ok-soft); --greenl:var(--nui-ok-soft);
  --warn:var(--nui-warn); --warnbg:var(--nui-warn-soft); --amber:var(--nui-warn); --amber-s:var(--nui-warn-soft); --yellow:var(--nui-warn); --orange:var(--nui-warn);
  --blue:var(--nui-blue); --bluebg:var(--nui-blue-soft); --blue-s:var(--nui-blue-soft);
  --shadow:var(--nui-shadow); --shadow-card:var(--nui-shadow); --sh:var(--nui-shadow); --s1:var(--nui-shadow);
  /* família OS (vinho/tinta) e Café/Lista/Ponto (tx/text) */
  --vinho:var(--nui-nina); --vinho2:var(--nui-nina-2); --tinta:var(--nui-ink);
  --tx:var(--nui-ink); --tx2:var(--nui-ink-2); --tx3:var(--nui-mut); --text:var(--nui-ink); --text2:var(--nui-ink-2); --text3:var(--nui-mut); --txt:var(--nui-ink); --black:var(--nui-ink); --gray:var(--nui-mut);
  --gold:#C79B3B; --goldb:rgba(199,155,59,.18); --navy:var(--nui-ink); --navy2:var(--nui-ink-2);
  --r:var(--nui-r); --rs:var(--nui-r-sm);
}

/* ---------- tema escuro: acompanha o sistema (prefers-color-scheme) ou a escolha guardada em localStorage nina-theme ---------- */
html[data-theme="dark"]:not([data-nui-light]){--nui-bg:#000;--nui-card:#1C1C1E;--nui-card-2:#2C2C2E;--nui-fill:rgba(120,120,128,.24);--nui-fill-2:rgba(120,120,128,.36);--nui-ink:#F5F5F7;--nui-ink-2:#D1D1D6;--nui-mut:#98989D;--nui-faint:#636366;--nui-sep:rgba(84,84,88,.55);--nui-sep-2:rgba(84,84,88,.75);
  --nui-ok:#4CC37A;--nui-ok-soft:rgba(76,195,122,.16);--nui-warn:#E0A23A;--nui-warn-soft:rgba(224,162,58,.16);--nui-bad:#FF453A;--nui-bad-soft:rgba(255,69,58,.16);--nui-blue:#0A84FF;--nui-blue-soft:rgba(10,132,255,.2);--nui-nina-soft:rgba(255,69,58,.18);
  --nui-shadow:0 1px 1px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.45);--nui-shadow-h:0 14px 36px rgba(0,0,0,.6);--nui-glass:rgba(28,28,30,.74);--nui-scheme:dark;--df-ink:#3A2708}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]):not([data-nui-light]){--nui-bg:#000;--nui-card:#1C1C1E;--nui-card-2:#2C2C2E;--nui-fill:rgba(120,120,128,.24);--nui-fill-2:rgba(120,120,128,.36);--nui-ink:#F5F5F7;--nui-ink-2:#D1D1D6;--nui-mut:#98989D;--nui-faint:#636366;--nui-sep:rgba(84,84,88,.55);--nui-sep-2:rgba(84,84,88,.75);
  --nui-ok:#4CC37A;--nui-ok-soft:rgba(76,195,122,.16);--nui-warn:#E0A23A;--nui-warn-soft:rgba(224,162,58,.16);--nui-bad:#FF453A;--nui-bad-soft:rgba(255,69,58,.16);--nui-blue:#0A84FF;--nui-blue-soft:rgba(10,132,255,.2);--nui-nina-soft:rgba(255,69,58,.18);
  --nui-shadow:0 1px 1px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.45);--nui-shadow-h:0 14px 36px rgba(0,0,0,.6);--nui-glass:rgba(28,28,30,.74);--nui-scheme:dark;--df-ink:#3A2708}}
html[data-nui]{color-scheme:var(--nui-scheme)}
html[data-nui-light]{--nui-scheme:light}
html[data-nui-light] #nuiTema{display:none}

/* ---------- acabamento comum (só cor, fonte, raio e sombra; nada de layout) ---------- */
html[data-nui] body{font-family:var(--nui-font);background:var(--nui-bg);color:var(--nui-ink);-webkit-font-smoothing:antialiased}
html[data-nui] header,html[data-nui] .topbar,html[data-nui] header.top,html[data-nui] .top:not(.nfse){background:var(--nui-glass)!important;color:var(--nui-ink)!important;backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--nui-sep)!important;box-shadow:none!important}
html[data-nui] header h1,html[data-nui] header.top h1,html[data-nui] .topbar h1{color:var(--nui-ink)!important;font-weight:800;letter-spacing:-.4px}
html[data-nui] header a,html[data-nui] header.top a,html[data-nui] .topbar a{color:var(--nui-nina)!important;font-weight:600}
html[data-nui] header .small,html[data-nui] header small,html[data-nui] header.top .small{color:var(--nui-mut)!important}
/* abas (Escala: nav button; outros: .tabs button) viram "segmented" */
html[data-nui] nav#tabs,html[data-nui] .tabs{background:var(--nui-card);border-bottom:1px solid var(--nui-sep)}
html[data-nui] nav#tabs button,html[data-nui] .tabs button{color:var(--nui-mut)}
/* no escuro, o que os apps pintam de branco fixo vira cartão escuro */
html[data-nui][data-theme="dark"] .card,html[data-nui][data-theme="dark"] .panel,html[data-nui][data-theme="dark"] .bloco,html[data-nui][data-theme="dark"] .box,html[data-nui][data-theme="dark"] .stat,html[data-nui][data-theme="dark"] .kpi,html[data-nui][data-theme="dark"] .quadro,html[data-nui][data-theme="dark"] .sheet,html[data-nui][data-theme="dark"] .painel,html[data-nui][data-theme="dark"] .modal,html[data-nui][data-theme="dark"] .day,html[data-nui][data-theme="dark"] .os,html[data-nui][data-theme="dark"] .diasCol,html[data-nui][data-theme="dark"] .osTopo,html[data-nui][data-theme="dark"] .formSec,html[data-nui][data-theme="dark"] .diaC,html[data-nui][data-theme="dark"] .ev,html[data-nui][data-theme="dark"] .lista .os,html[data-nui][data-theme="dark"] aside.painel{background:var(--nui-card);color:var(--nui-ink);border-color:var(--nui-sep)}
html[data-nui][data-theme="dark"] th{background:var(--nui-card-2)}html[data-nui][data-theme="dark"] tr:hover td{background:var(--nui-fill)}
html[data-nui][data-theme="dark"] .btn-g,html[data-nui][data-theme="dark"] .btn.secondary,html[data-nui][data-theme="dark"] .btn:not(.p):not(.btn-red):not(.btn-ok):not(.primary):not(.btn-primary){background:var(--nui-card-2);color:var(--nui-ink);border-color:var(--nui-sep-2)}
html[data-nui][data-theme="dark"] img.logo,html[data-nui][data-theme="dark"] .logo img{filter:none}
html[data-nui] nav#tabs button,html[data-nui] .tabs button{border-radius:999px;border-bottom:0!important;margin:6px 2px;padding:7px 14px!important;transition:background .2s,color .2s,transform .25s var(--nui-spring)}
html[data-nui] nav#tabs button.on,html[data-nui] .tabs button.on,html[data-nui] .tabs button.ativa,html[data-nui] .tabs button.active{background:var(--nui-ink);color:var(--nui-bg)!important}
html[data-nui] nav#tabs button:active,html[data-nui] .tabs button:active{transform:scale(.95)}
/* botões */
html[data-nui] .btn,html[data-nui] button.btn,html[data-nui] .button,html[data-nui] .mini{border-radius:12px;font-family:inherit;font-weight:600;transition:transform .25s var(--nui-spring),box-shadow .2s,background .2s,filter .2s}
html[data-nui] .btn:hover,html[data-nui] .button:hover{filter:brightness(1.04);box-shadow:var(--nui-shadow)}
html[data-nui] .btn:active,html[data-nui] .button:active,html[data-nui] .mini:active{transform:scale(.95)}
html[data-nui] .btn.p,html[data-nui] .btn-red,html[data-nui] .btn.primary,html[data-nui] .btn-primary{background:var(--m-nina)!important;color:#fff!important;border-color:transparent!important}
html[data-nui] .btn-ok{background:var(--nui-ok)!important;color:#fff!important}
html[data-nui] .btn-g,html[data-nui] .btn.secondary{background:var(--nui-fill)!important;color:var(--nui-ink)!important}
/* campos */
html[data-nui] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),html[data-nui] select,html[data-nui] textarea{border-radius:var(--nui-r-sm);border:1px solid var(--nui-sep-2);background:var(--nui-card);color:var(--nui-ink);font-family:inherit}
html[data-nui] input::placeholder,html[data-nui] textarea::placeholder{color:var(--nui-mut)}
/* botão de tema (injetado pelo nina-ui.js no cabeçalho) */
html[data-nui] #nuiTema{width:32px;height:32px;border-radius:50%;background:var(--nui-fill);color:var(--nui-ink);display:inline-grid;place-items:center;margin-left:8px;flex-shrink:0;transition:transform .35s var(--nui-spring)}
html[data-nui] #nuiTema:hover{transform:rotate(-20deg) scale(1.1)}html[data-nui] #nuiTema svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html[data-nui] input:focus,html[data-nui] select:focus,html[data-nui] textarea:focus{outline:none;border-color:var(--nui-blue);box-shadow:0 0 0 3px var(--nui-blue-soft)}
/* cartões, blocos, painéis */
html[data-nui] .card,html[data-nui] .panel,html[data-nui] .bloco,html[data-nui] .box,html[data-nui] .stat,html[data-nui] .kpi,html[data-nui] .quadro,html[data-nui] .diasCol,html[data-nui] .osTopo,html[data-nui] .formSec{border-radius:var(--nui-r);box-shadow:var(--nui-shadow);border-color:var(--nui-sep)}
html[data-nui] .sheet,html[data-nui] .painel,html[data-nui] .modal,html[data-nui] .ov .sheet{border-radius:var(--nui-r-lg)}
/* tabelas e etiquetas */
html[data-nui] th{font-size:12px;letter-spacing:.3px;text-transform:uppercase;color:var(--nui-mut);background:transparent}
html[data-nui] td,html[data-nui] th{border-color:var(--nui-sep)}
html[data-nui] .chip,html[data-nui] .pill,html[data-nui] .tag,html[data-nui] .badge{border-radius:999px;font-weight:700}
/* unidades: etiquetas e marcadores com a paleta metálica (classes RJ/SP/DF que os apps já usam) */
html[data-nui] .pill.RJ,html[data-nui] .chip.RJ,html[data-nui] .tag.RJ,html[data-nui] .utag.RJ,html[data-nui] .un.RJ{background:var(--m-vinho)!important;color:#fff!important}
html[data-nui] .pill.SP,html[data-nui] .chip.SP,html[data-nui] .tag.SP,html[data-nui] .utag.SP,html[data-nui] .un.SP{background:var(--m-rose)!important;color:#fff!important}
html[data-nui] .pill.DF,html[data-nui] .chip.DF,html[data-nui] .tag.DF,html[data-nui] .utag.DF,html[data-nui] .un.DF{background:var(--m-champ)!important;color:var(--df-ink)!important}
html[data-nui] .seg button.on,html[data-nui] .seg button.ativa{background:var(--nui-ink)!important;color:var(--nui-bg)!important}
/* ícones de app (quadrado arredondado com brilho que passa ao pousar o mouse) */
html[data-nui] .nui-ico{position:relative;overflow:hidden;border-radius:38%;display:inline-grid;place-items:center;color:#fff;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.14);transition:transform .35s var(--nui-spring)}
html[data-nui] .nui-ico::after{content:"";position:absolute;inset:-60% -40%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.75) 50%,transparent 58%);transform:translateX(-130%);pointer-events:none}
html[data-nui] .nui-ico:hover{transform:translateY(-1px) rotate(-6deg) scale(1.08)}
html[data-nui] .nui-ico:hover::after{animation:nui-sheen .9s var(--nui-ease)}
@keyframes nui-sheen{to{transform:translateX(130%)}}
html[data-nui] ::selection{background:var(--nui-nina-soft)}
@media (prefers-reduced-motion:reduce){html[data-nui] *{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* segmentado iOS: pílula clara (branca no claro, cinza no escuro) */
:root{--nui-seg-on:#FFFFFF}
html[data-theme="dark"]:not([data-nui-light]){--nui-seg-on:#636366}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]):not([data-nui-light]){--nui-seg-on:#636366}}
html[data-nui] .seg button.on,html[data-nui] .seg button.ativa{background:var(--nui-seg-on)!important;color:var(--nui-ink)!important;box-shadow:0 3px 8px rgba(0,0,0,.12)}
/* dentro da casca da Central: esconde voltar/tema injetados */
html[data-nui-shell] #nuiVoltar,html[data-nui-shell] #nuiTema{display:none!important}
/* dentro da casca: os links "voltar" dos próprios apps também somem (a barra lateral já faz esse papel) */
html[data-nui-shell] header a[href="/"],html[data-nui-shell] .topbar a[href="/"],html[data-nui-shell] .top a[href="/"],html[data-nui-shell] nav a[href="/"],html[data-nui-shell] aside a[href="/"],html[data-nui-shell] a.volta[href="/"],html[data-nui-shell] a.back[href="/"],html[data-nui-shell] a.brand-back,html[data-nui-shell] a[href="/#"]{display:none!important}

/* ---------- nui-print: impressão sempre em papel branco, mesmo com o tema escuro ligado ---------- */
@media print{
  html[data-nui]:not(#_):not(#__){--nui-bg:#FFFFFF;--nui-card:#FFFFFF;--nui-card-2:#F9F9FB;--nui-fill:rgba(120,120,128,.12);--nui-fill-2:rgba(120,120,128,.20);--nui-ink:#1C1C1E;--nui-ink-2:#3A3A3C;--nui-mut:#6E6E73;--nui-faint:#AEAEB2;--nui-sep:rgba(60,60,67,.14);--nui-sep-2:rgba(60,60,67,.22);--nui-glass:rgba(255,255,255,.78);--nui-shadow:none;--nui-shadow-h:none;--nui-scheme:light;color-scheme:light}
  html[data-nui],html[data-nui] body{background:#fff!important;color:#1C1C1E!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
