/* p0114 3ª msg (Lucas 08/10/2026, "09-nordico… atualiza tudo"): modelo Nórdico LIGADO no portal da equipe e no do cliente.
   Liga/desliga em templates/_modelo.html (MODELO = '' volta ao visual de antes). Origem: static/modelos/nordico.css + _comum.css
   (os prints do pedido); aqui sem as regras da entrada (/login fica com o 3D de hoje) e com:
   - modo escuro próprio ([data-theme="dark"]) — o modo Claro/Escuro de Configurações continua valendo;
   - cor do tema: --acc (destaques, menu) e --btn/--btn-ink (botão principal) vêm do hvVisual (_visual.html) quando a cor não é a verde;
   - fundo de Configurações: Liso = layout dos prints (sem data-fundo); com fundo 2D/3D, conteúdo ganha um véu da cor do papel. */
@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@300;400;500;600&family=Spline+Sans+Mono:wght@400&display=swap');
:root[data-modelo] body::before, :root[data-modelo] body::after { display: none !important; }
:root[data-modelo] .panel::before { display: none !important; }
:root[data-modelo] .brand-mark img { filter: none !important; }
:root[data-modelo] .nav a.on::before { display: none !important; }
:root[data-modelo] .btn-primary, :root[data-modelo] .btn-primary:hover { box-shadow: none !important; }
:root[data-modelo] .eyebrow::before { box-shadow: none !important; }
:root[data-modelo] .tab.on::after { box-shadow: none !important; background: var(--acc) !important; }
:root[data-modelo] .grad-text { background: none !important; -webkit-background-clip: initial; color: var(--acc) !important; }
:root[data-modelo] .dot { box-shadow: none !important; }
:root[data-modelo] .side, :root[data-modelo] .top, :root[data-modelo] .legal, :root[data-modelo] .panel, :root[data-modelo] .sys-card {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
:root[data-modelo] { --grad: linear-gradient(var(--acc), var(--acc)); --grad-ai: linear-gradient(var(--acc-2), var(--acc-2)); --glow: 0 0 0 1px var(--acc-line); }
:root[data-modelo="nordico"] {
  --font: 'Hanken Grotesk', sans-serif; --mono: 'Hanken Grotesk', sans-serif;
  --bg: #f7f6f2; --bg-2: #f1efe9; --panel: transparent; --panel-solid: #ffffff; --panel-2: #f1efe9; --raise: transparent; --hover: rgba(0,0,0,.03);
  --line: #e4e1d9; --line-2: #d3cfc4; --line-3: #a9a497;
  --text: #22221f; --text-2: #5f5d56; --text-3: #9b978c; --text-inv: #fff;
  --acc: #5b7a6b; --acc-2: #7d8aa3; --acc-3: #b9907a; --acc-soft: rgba(91,122,107,.08); --acc-line: rgba(91,122,107,.35);
  --ok: #5b7a6b; --warn: #b58b3c; --bad: #b5624f; --info: #7d8aa3;
  --ok-soft: transparent; --warn-soft: transparent; --bad-soft: transparent; --info-soft: transparent;
  --sev-baixa: #8fb09e; --sev-media: #d8b66e; --sev-alta: #d48c7a; --sev-baixa-t: #4f6e5f; --sev-media-t: #9b7428; --sev-alta-t: #a65441;
  --r-sm: 2px; --r: 2px; --r-lg: 2px; --r-xl: 2px; --shadow: none; --hero: #e9e6dd; color-scheme: light; --btn: #22221f; --btn-ink: #ffffff;
}
:root[data-modelo="nordico"] body { background: var(--bg); font-size: 14.5px; }
:root[data-modelo="nordico"] .side { background: var(--bg) !important; border-right: 1px solid var(--line) !important; }
:root[data-modelo="nordico"] .brand-name { font-weight: 300; letter-spacing: .32em; }
:root[data-modelo="nordico"] .nav-label { font-family: var(--font); font-weight: 400; letter-spacing: .2em; color: var(--text-3); }
:root[data-modelo="nordico"] .nav a { border-radius: 0; font-weight: 400; color: var(--text-2); }
:root[data-modelo="nordico"] .nav a .i { opacity: .55; }
:root[data-modelo="nordico"] .nav a.on { background: none !important; box-shadow: none !important; color: var(--text) !important; font-weight: 600; }
:root[data-modelo="nordico"] .nav a.on::after { content: ""; position: absolute; left: 0; top: 50%; width: 4px; height: 4px; margin-top: -2px; border-radius: 50%; background: var(--acc); }
:root[data-modelo="nordico"] .nav a.on .i { color: var(--acc); opacity: 1; }
:root[data-modelo="nordico"] .sys-card { background: none !important; border: 0 !important; border-top: 1px solid var(--line) !important; border-bottom: 1px solid var(--line) !important; box-shadow: none !important; }
:root[data-modelo="nordico"] .top { background: var(--bg) !important; border-bottom: 1px solid var(--line) !important; }
:root[data-modelo="nordico"] .crumbs b { font-weight: 500; }
:root[data-modelo="nordico"] .eyebrow { font-family: var(--font); color: var(--text-3); letter-spacing: .24em; font-weight: 400; }
:root[data-modelo="nordico"] .eyebrow::before { display: none; }
:root[data-modelo="nordico"] .page-head { padding: 24px 0 18px; }
:root[data-modelo="nordico"] .page-title { font-weight: 300; font-size: 56px; letter-spacing: -.035em; }
:root[data-modelo="nordico"] .page-title .grad-text { color: var(--text) !important; font-weight: 500; }
:root[data-modelo="nordico"] .panel { background: transparent !important; border: 0 !important; border-top: 1px solid var(--line-2) !important; border-radius: 0 !important; box-shadow: none !important; }
:root[data-modelo="nordico"] .panel-head { border-bottom: 0; padding-left: 0; padding-right: 0; }
:root[data-modelo="nordico"] .panel-title { font-weight: 500; font-size: 15px; }
:root[data-modelo="nordico"] .stat-ico { display: none; }
:root[data-modelo="nordico"] .stat-value, :root[data-modelo="nordico"] .kpi-value { font-family: var(--font); font-weight: 300; font-size: 48px; letter-spacing: -.04em; }
:root[data-modelo="nordico"] .kpi-value { font-size: 34px; }
:root[data-modelo="nordico"] .stat-label, :root[data-modelo="nordico"] .kpi-label, :root[data-modelo="nordico"] .table th { font-family: var(--font); font-weight: 400; color: var(--text-3); letter-spacing: .14em; }
:root[data-modelo="nordico"] .table td { border-color: var(--line) !important; }
:root[data-modelo="nordico"] .btn { border-radius: 2px !important; font-weight: 500; }
:root[data-modelo="nordico"] .btn-primary { background: var(--btn) !important; color: var(--btn-ink) !important; }
:root[data-modelo="nordico"] .btn-secondary, :root[data-modelo="nordico"] .btn-ghost { background: transparent; border-color: var(--line-2); }
:root[data-modelo="nordico"] .chip, :root[data-modelo="nordico"] .sev, :root[data-modelo="nordico"] .tag { border: 0 !important; background: none !important; padding-left: 0; font-weight: 500; }
:root[data-modelo="nordico"] .input, :root[data-modelo="nordico"] .select, :root[data-modelo="nordico"] .search-trigger, :root[data-modelo="nordico"] .cli-sel { background: var(--panel-solid) !important; border-radius: 2px !important; border-color: var(--line) !important; }
:root[data-modelo="nordico"] .seg { background: transparent !important; border-color: var(--line) !important; }
:root[data-modelo="nordico"] .seg .on { background: var(--panel-solid) !important; box-shadow: 0 0 0 1px var(--line-2) !important; }
:root[data-modelo="nordico"] .icon-btn, :root[data-modelo="nordico"] .avatar { border-radius: 50% !important; border-color: var(--line) !important; background: transparent !important; }
:root[data-modelo="nordico"] .legal { background: var(--bg) !important; border-top: 1px solid var(--line) !important; }
:root[data-modelo="nordico"] .leaflet-container { filter: saturate(.55) contrast(.95) brightness(1.04); }
:root[data-modelo="nordico"] .auth-hero h1 { font-weight: 300; font-size: 54px !important; }
/* modo escuro do Nórdico: carvão quente, mesmas linhas de cabelo */
:root[data-modelo="nordico"][data-theme="dark"] {
  --bg: #161715; --bg-2: #1c1d1b; --panel-solid: #1f201e; --panel-2: #232421; --hover: rgba(255,255,255,.04);
  --line: #2b2c29; --line-2: #3a3b37; --line-3: #5c5d57;
  --text: #ecebe6; --text-2: #a8a69e; --text-3: #77756d; --text-inv: #161715;
  --acc: #8fb09e; --acc-2: #9aa7c0; --acc-3: #d0a993; --acc-soft: rgba(143,176,158,.10); --acc-line: rgba(143,176,158,.35);
  --ok: #8fb09e; --warn: #d8b66e; --bad: #d48c7a; --info: #9aa7c0;
  --sev-baixa-t: #8fb09e; --sev-media-t: #d8b66e; --sev-alta-t: #d48c7a;
  --hero: #1f201e; color-scheme: dark; --btn: #ecebe6; --btn-ink: #161715;
}
:root[data-modelo="nordico"][data-theme="dark"] .leaflet-container { filter: saturate(.7) brightness(.95); }
/* cor do tema em todo o site (p0114: "quando alterado cor tem que atualizar em todo o site") */
:root[data-modelo] ::selection { background: var(--acc-line); }
:root[data-modelo] .input:focus, :root[data-modelo] .select:focus { border-color: var(--acc) !important; box-shadow: 0 0 0 3px var(--acc-soft) !important; }
/* bolinhas de cor: verde = verde-sálvia do modelo; tique visível nas cores claras */
:root[data-modelo="nordico"] .pc-cor-verde { background: #5b7a6b !important; }
:root[data-modelo] .pc-cor .i { filter: drop-shadow(0 0 1.5px rgba(0,0,0,.7)); }
/* com fundo escolhido (2D ou 3D): o conteúdo ganha um véu da cor do papel para o texto não ficar sobre o desenho */
:root[data-modelo="nordico"][data-fundo] .panel { background: color-mix(in srgb, var(--bg) 88%, transparent) !important; padding-left: 14px; padding-right: 14px; }
:root[data-modelo="nordico"][data-fundo] .side, :root[data-modelo="nordico"][data-fundo] .top, :root[data-modelo="nordico"][data-fundo] .legal { border: 1px solid var(--line) !important; }

/* p0116 (Lucas 08/10/2026): sem o ícone, "Ao concluir" ficava numa coluna de 32px */
:root[data-modelo="nordico"] .deliv li { grid-template-columns: minmax(0, 1fr); }
