/* NATUREBA GESTÃO 1.6.4 — acabamento (carregado depois da 1.6.3).
   Paleta: claro neutro com verde só nas ações importantes; escuro com mais contraste entre
   página, superfícies, tabelas e comandos. Menu de uma linha com listas (▾), densidade em três
   níveis que só muda o tamanho (nunca a estrutura), diálogos e animações discretas. */

html[data-theme]{
 --ink:#13261E;--text2:#33463C;--muted:#56675D;--bg:#EEF2EF;--white:#FFFFFF;--surface:#FFFFFF;--table:#FFFFFF;--chrome:#FFFFFF;
 --line:#DDE5DF;--line-strong:#C6D2CA;--borderSoft:#E9EFEA;--tableHead:#F5F8F6;--sectorBg:#F5F8F6;--hover:#EFF4F1;--sunken:#E8EEEA;
 --primary:#17805E;--primary-hover:#14724F;--on-primary:#FFFFFF;--primary-soft:#E3F1EA;--primary-border:#B4D9C7;
 --forest:#17805E;--green:#146B50;--greenbg:#E3F1EA;--leaf:#E3F1EA;--ok-solid:#17805E;--ok-line:#B4D9C7;--sel:#EAF4EF;--selectedBg:#EAF4EF;--cardGreen:#EEF7F2;
 --accent:#E8B34B;--accent-soft:#FBF0D6;--accent-ink:#5A4410;
 --cmd-bg:#FFFFFF;--cmd-line:#D3DDD6;
 --c-t-bg:#DDF0E6;--c-t:#17694C;
 --g-op-soft:#E3F1EA;--g-op-ink:#146B50;--g-op-solid:#17805E;--g-op-dot:rgba(23,128,94,.16);--g-op-line:#B4D9C7;
}
html[data-theme][data-effective-theme="dark"]{
 --ink:#E8F0EB;--text2:#C6D3CB;--muted:#9DB0A5;--bg:#0E1411;--white:#17211C;--surface:#17211C;--table:#1C2822;--chrome:#121A16;
 --line:#26352D;--line-strong:#35493E;--borderSoft:#22302A;--tableHead:#1F2C25;--sectorBg:#1F2C25;--hover:#22302A;--sunken:#0B100D;
 --primary:#3BB991;--primary-hover:#52C7A1;--on-primary:#06140E;--primary-soft:#173A2C;--primary-border:#2A6650;
 --forest:#3BB991;--green:#6FD3AF;--greenbg:#173A2C;--leaf:#173A2C;--ok-solid:#3BB991;--ok-line:#2A6650;--sel:#18332A;--selectedBg:#18332A;--cardGreen:#15302A;
 --accent:#E0A24B;--accent-soft:#3A2C12;--accent-ink:#F4CF8E;
 --cmd-bg:#22302A;--cmd-line:#35493E;
 --c-t-bg:#173A2C;--c-t:#A4E6C6;
 --g-op-soft:#173A2C;--g-op-ink:#6FD3AF;--g-op-solid:#3BB991;--g-op-on:#06140E;--g-op-dot:rgba(111,211,175,.22);--g-op-line:#2A6650;
}
/* Comandos com contraste próprio no escuro */
html[data-theme][data-effective-theme="dark"] button.btn:not(.primary):not(.danger),html[data-theme][data-effective-theme="dark"] .btn:not(.primary):not(.danger){background:var(--cmd-bg);border-color:var(--cmd-line)}
html[data-theme][data-effective-theme="dark"] .sector-block{background:var(--table)}
html[data-theme][data-effective-theme] .heading .ng-over{color:var(--muted)}
html[data-theme][data-effective-theme] .heading .ng-over::before{background:var(--primary)}

/* ---------- menu de uma linha ---------- */
html[data-theme][data-effective-theme] .nav.ng-menubar{position:relative;z-index:5;display:block;padding:4px 10px;background:var(--chrome);border-bottom:1px solid var(--chrome-line);box-shadow:var(--shadow)}
.ng-menurow{display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.ng-mgroup{display:flex;align-items:center;gap:2px}
.ng-msep{width:1px;height:22px;margin:0 4px;background:var(--line);flex:none}
.ng-mitem{position:relative;display:inline-flex;align-items:stretch;border-radius:8px;flex:none}
html[data-theme][data-effective-theme] .nav.ng-menubar .ng-tile{position:relative;display:inline-flex;flex-direction:row;align-items:center;gap:6px;width:auto;height:34px;padding:0 8px;margin:0;border:0;border-radius:8px;background:transparent;background-size:5px 5px;color:var(--text2);font:inherit;font-size:13px;font-weight:550;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,color .12s ease}
html[data-theme][data-effective-theme] .nav.ng-menubar .ng-mitem.has-sub .ng-tile{padding-right:4px;border-radius:8px 0 0 8px}
html[data-theme][data-effective-theme] .nav.ng-menubar .ng-tile .ng-lab{font-size:13px;max-width:none;color:inherit;font-weight:inherit}
html[data-theme][data-effective-theme] .nav.ng-menubar .ng-tile:hover,html[data-theme][data-effective-theme] .nav.ng-menubar .ng-tile:focus-visible{background-color:var(--hover);background-image:radial-gradient(var(--g-op-dot) 1px,transparent 1.4px);border-color:transparent;color:var(--ink)}
.ng-caret{display:inline-flex;align-items:center;justify-content:center;width:22px;height:34px;padding:0;border:0;border-radius:0 8px 8px 0;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .12s ease}
.ng-caret:hover,.ng-caret:focus-visible,.ng-mitem.open .ng-caret{background:var(--hover);color:var(--ink)}
.ng-mitem.open .ng-caret .ico-svg{transform:rotate(180deg)}
.ng-caret .ico-svg{transition:transform .14s ease}
.ng-mitem.active{background:var(--primary-soft)}
html[data-theme][data-effective-theme] .nav.ng-menubar .ng-mitem.active .ng-tile{color:var(--green);font-weight:700}
.ng-mitem.active .ng-caret{color:var(--green)}
.ng-mitem.active::after{content:'';position:absolute;left:10px;right:10px;bottom:-5px;height:2px;border-radius:2px;background:var(--primary)}
.ng-menubar .ng-count{position:static;margin-left:2px;box-shadow:none}
.ng-menubar.menu-open .ng-tip{display:none}
.ng-mgroup:first-child .ng-mitem:first-child .ng-tip{left:0;transform:translate(0,-4px)}
.ng-mgroup:first-child .ng-mitem:first-child .ng-tile:hover .ng-tip{transform:none}
.ng-mgroup:first-child .ng-mitem:first-child .ng-tip::before{left:24px}
.ng-mgroup:last-child .ng-mitem:last-child .ng-tip{left:auto;right:0;transform:translate(0,-4px)}
.ng-mgroup:last-child .ng-mitem:last-child .ng-tile:hover .ng-tip{transform:none}
.ng-mgroup:last-child .ng-mitem:last-child .ng-tip::before{left:auto;right:16px}

/* lista aberta (▾) */
.ng-menu-pop{position:fixed;z-index:90;min-width:250px;max-width:min(340px,calc(100vw - 16px));max-height:calc(100vh - 24px);overflow-y:auto;box-sizing:border-box;padding:6px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:ngPop .13s ease-out}
.ng-menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:0 10px;box-sizing:border-box;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.ng-menu-item .ico-svg{color:var(--muted)}
.ng-menu-item:hover,.ng-menu-item:focus-visible{background:var(--hover);outline:none}
.ng-menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--primary)}
.ng-menu-item.danger,.ng-menu-item.danger .ico-svg{color:var(--red)}
.ng-menu-check{margin-left:auto;color:var(--green);display:inline-flex}
.ng-menu-check .ico-svg{color:var(--green)}
.ng-menu-head{padding:8px 10px 4px;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.ng-menu-sep{height:1px;margin:5px 4px;background:var(--line)}

/* ---------- animações discretas ---------- */
@keyframes ngPop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes ngFade{from{opacity:0}to{opacity:1}}
@keyframes ngRise{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.ng-anim.modal-overlay,.ng-anim.ng-dialog-overlay{animation:ngFade .14s ease-out}
.ng-anim .modal,.ng-anim .ng-dialog{animation:ngRise .16s ease-out}

/* ---------- diálogo de confirmação padrão (no lugar do confirm do navegador) ---------- */
.ng-dialog-overlay{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--scrim)}
.ng-dialog{width:min(440px,100%);box-sizing:border-box;border-radius:16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden}
.ng-dialog-body{display:flex;gap:14px;padding:20px 20px 16px}
.ng-dialog-ico{width:38px;height:38px;flex:none;box-sizing:border-box;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--warn-line)}
.ng-dialog.danger .ng-dialog-ico{background:var(--redbg);color:var(--red);border-color:var(--bad-line)}
.ng-dialog h2{margin:2px 0 6px;font-size:16px;font-weight:700;letter-spacing:-.01em}
.ng-dialog p{margin:0;font-size:13px;line-height:1.5;color:var(--text2);white-space:pre-line}
.ng-dialog-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 20px;background:var(--tableHead);border-top:1px solid var(--line)}

/* ---------- escala: densidade em três níveis ---------- */
html[data-theme][data-effective-theme] .scale-main.d-compact .roster-row{min-height:36px}
html[data-theme][data-effective-theme] .scale-main.d-compact .roster-row .ft{height:26px;width:34px;min-width:34px;font-size:11.5px}
html[data-theme][data-effective-theme] .scale-main.d-compact .person-meta small{display:none}
html[data-theme][data-effective-theme] .scale-main.d-normal .roster-row{min-height:44px}
html[data-theme][data-effective-theme] .scale-main.d-normal .roster-row .ft{height:30px;width:38px;min-width:38px;font-size:12px}
html[data-theme][data-effective-theme] .scale-main.d-comfort .roster-row{min-height:54px}
html[data-theme][data-effective-theme] .scale-main.d-comfort .roster-row .ft{height:36px;width:44px;min-width:44px;font-size:13px}
html[data-theme][data-effective-theme] .scale-main.d-comfort .person-meta strong{font-size:14px}
.ng-month.d-compact .ng-mrow{min-height:28px}
.ng-month.d-comfort .ng-mrow{min-height:42px}
html[data-theme][data-effective-theme] .ng-month.d-comfort .ng-mcell .ft{width:26px;min-width:26px;height:26px;font-size:10.5px}

/* ---------- escala: faixa de indicadores (no lugar dos 4 cartões) ---------- */
.ng-kpis{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin-bottom:12px}
.ng-kpi{display:flex;align-items:center;gap:10px;min-height:46px;padding:6px 12px;box-sizing:border-box;border-radius:11px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font:inherit;color:var(--ink);text-align:left;flex:1 1 190px;min-width:0}
button.ng-kpi{cursor:pointer}
button.ng-kpi:hover{border-color:var(--line-strong);background:var(--hover)}
.ng-kpi b{font-size:18px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.ng-kpi span{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.ng-kpi small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-kpi strong{font-size:12px;font-weight:600;color:var(--text2)}
.ng-kpi.warn{border-color:var(--warn-line);background:var(--amberbg)}
.ng-kpi.bad{border-color:var(--bad-line);background:var(--redbg)}
.ng-kpi.ok b{color:var(--green)}
.ng-kpi select{margin-left:auto;min-height:28px!important;font-size:12px;padding:0 6px!important}
.ng-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px;padding:7px 10px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.ng-toolbar .legend{flex:1 1 380px}
.ng-toolbar .ng-tools{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
html[data-theme][data-effective-theme] .scale-layout.no-audit{grid-template-columns:minmax(0,1fr)}
.ng-auditbtn.warn{border-color:var(--warn-line)!important;color:var(--amber)!important}
.ng-auditbtn.bad{border-color:var(--bad-line)!important;color:var(--red)!important}

/* ---------- células: T volta a ter o verde ---------- */
html[data-theme][data-effective-theme] .ft.status-t,html[data-theme][data-effective-theme] .dot.t,html[data-theme][data-effective-theme] .status-tag.status-t,html[data-theme][data-effective-theme] .person-day.status-t,html[data-theme][data-effective-theme] .sim-page .status-t{background:var(--c-t-bg);color:var(--c-t)}
html[data-theme][data-effective-theme] .ft.status-c:not(:disabled){cursor:pointer}
.ft .ng-hw{position:absolute;top:-5px;right:-5px;width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#3A2A06;box-shadow:0 0 0 2px var(--surface)}
.ft .ng-hw .ico-svg{width:9px;height:9px}

/* feriado no cabeçalho */
html[data-theme][data-effective-theme] .roster-head button.is-holiday{background:var(--accent-soft);color:var(--accent-ink)}
.ng-holtag{display:inline-flex;vertical-align:-1px;margin-left:3px;color:var(--accent-ink)}
.ng-holbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;padding:8px 12px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--warn-line);color:var(--accent-ink);font-size:12.5px}
.ng-holbar strong{color:var(--accent-ink)}
.ng-holbar .btn{margin-left:auto}
.ng-mhead button.is-holiday b{box-shadow:inset 0 -2px 0 var(--accent)}

/* mês: só o que importa */
html[data-theme][data-effective-theme] .ng-mcell .ft.status-t{background:transparent;color:transparent}
.ng-mcov.is-quiet{display:none}

/* ---------- versões e histórico ---------- */
.ng-vlist{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto}
.ng-vrow{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--tableHead)}
.ng-vrow>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ng-vrow strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-vrow small{font-size:11.5px;color:var(--muted)}
.ng-vrow.auto strong{font-weight:600;color:var(--text2)}
.ng-vtag{display:inline-block;padding:0 6px;margin-left:6px;border-radius:5px;font-size:10px;font-weight:700;background:var(--sunken);color:var(--muted);vertical-align:1px}
.ng-tabs{display:flex;gap:4px;margin:0 0 12px;border-bottom:1px solid var(--line)}
.ng-tabs button{padding:8px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}
.ng-tabs button[aria-selected="true"]{color:var(--green);border-bottom-color:var(--primary)}
.ng-log{display:flex;flex-direction:column;gap:2px;max-height:46vh;overflow-y:auto;font-size:12.5px}
.ng-logrow{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 8px;border-bottom:1px solid var(--borderSoft)}
.ng-logrow small{color:var(--muted)}
.ng-logrow .status-tag{display:inline-block;min-width:22px;text-align:center;padding:1px 4px;border-radius:5px;font-size:11px;font-weight:700}
.ng-cellhist{margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted)}
.ng-cellhist div{display:flex;justify-content:space-between;gap:10px;padding:2px 0}

/* ---------- resumo do dia (formato antigo, com pendências) ---------- */
html[data-theme][data-effective-theme] .daily-old{width:min(640px,96vw)}
.daily-old .brief-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:10px}
.daily-old .brief-sector{margin-bottom:10px}
.daily-old .brief-grid .brief-sector{margin-bottom:0}
.daily-old .ng-pend{border-color:var(--warn-line);background:var(--amberbg)}
.daily-old .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}

/* ---------- telas menores ---------- */
@media (max-width:760px){
 .ng-menurow{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
 .ng-menubar .ng-tip{display:none}
 .ng-kpi{flex-basis:calc(50% - 4px)}
 .ng-kpi select{display:none}
}
@media (prefers-reduced-motion:reduce){.ng-menu-pop,.ng-anim.modal-overlay,.ng-anim .modal,.ng-anim .ng-dialog,.ng-anim.ng-dialog-overlay{animation:none!important}.ng-caret .ico-svg{transition:none}}
@media print{.ng-menubar,.ng-menu-pop{display:none!important}}
.ng-menubar.tips-off .ng-tip{display:none}

/* mês: aviso de semana sem 2 folgas mais discreto */
.ng-mcell.bad-week{box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--warn-solid) 45%,transparent)}

/* ---------- simulador (1.6.4): voltar, lista com ações, próximo passo ---------- */
.sim-back{margin:0 0 4px;justify-self:start;width:auto}
.sim-saved-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
html[data-theme][data-effective-theme] .sim-saved{gap:12px;padding:10px 4px}
.sim-next{margin:0 0 6px;font-size:13px;color:var(--text2)}
.sim-dimension-summary details summary{cursor:pointer;font-size:12.5px;color:var(--muted)}
.ng-dialog-input{width:100%;box-sizing:border-box;margin-top:10px;min-height:36px;padding:0 11px;border-radius:9px;border:1px solid var(--line-strong);background:var(--fieldBg);color:var(--ink);font:inherit}
.ng-dialog-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
html[data-theme][data-effective-theme] button.btn.sim-destructive,html[data-theme][data-effective-theme] .sim-destructive{border:1px solid var(--bad-line);color:var(--red);background:var(--surface)}
