/* NATUREBA GESTÃO 1.6.3 — novo visual (claro e escuro).
   Carregado por último: redefine as cores de todos os componentes antigos e traz o cabeçalho,
   a faixa de ícones, a barra de página e o rodapé. Prefixo H = html[data-theme][data-effective-theme],
   que vence as regras antigas do tema escuro sem precisar de !important. */

@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fonts/inter-latin-wght-normal.woff2) format('woff2-variations'),url(./fonts/inter-latin-wght-normal.woff2) format('woff2')}

html[data-theme]{color-scheme:light;
 --ink:#13201A;--text2:#34443B;--muted:#56675D;--forest:#067A3D;--forest2:#0B3D24;--leaf:#E4F3EA;--bg:#F3F5F3;--white:#FFFFFF;--line:#E2E8E3;--line-strong:#CBD5CE;
 --red:#B42318;--redbg:#FDECEA;--amber:#8A4B00;--amberbg:#FFF4DE;--green:#066F38;--greenbg:#E4F3EA;
 --borderSoft:#EDF1EE;--table:#FFFFFF;--tableHead:#F6F8F6;--sectorBg:#F6F8F6;--cardGreen:#EFF7F2;--cardRed:#FDF1EF;--fieldBg:#FFFFFF;--btnBg:#FFFFFF;--selectedBg:#EFF7F2;--surface:#FFFFFF;--sector:#F6F8F6;
 --sunken:#EDF1EE;--hover:#F1F5F2;--chrome:#FFFFFF;--chrome-line:#E3E9E4;--sel:#EFF7F2;
 --primary:#067A3D;--primary-hover:#056A34;--on-primary:#FFFFFF;--primary-soft:#E4F3EA;--primary-border:#B5DCC4;
 --info:#1D4ED8;--infobg:#EAF0FE;--info-line:#C4D4FA;--ok-line:#B5DCC4;--warn-line:#F2D398;--bad-line:#F5C2BC;
 --ok-solid:#067A3D;--warn-solid:#B45309;--bad-solid:#C0261A;--info-solid:#1D4ED8;--on-solid:#FFFFFF;
 --tip-bg:#13201A;--tip-text:#F2F6F3;--tip-muted:#B9C8BF;--tip-line:#13201A;--toast-bg:#13201A;--toast-text:#F2F6F3;--toast-muted:#B9C8BF;--toast-line:#13201A;--toast-accent:#7CE0A8;
 --scrim:rgba(12,24,18,.45);
 --shadow:0 1px 2px rgba(16,32,24,.06),0 1px 1px rgba(16,32,24,.04);
 --shadow-md:0 10px 28px -12px rgba(16,32,24,.32),0 2px 6px rgba(16,32,24,.10);
 --shadow-lg:0 28px 70px -20px rgba(16,32,24,.38),0 8px 20px rgba(16,32,24,.10);
 --seg-shadow:0 1px 2px rgba(16,32,24,.12),0 0 0 1px rgba(16,32,24,.06);
 --c-t-bg:#EEF3EF;--c-t:#4A5C51;--c-f-bg:#FCD9C5;--c-f:#8F3208;--c-fe-bg:#DCE6FD;--c-fe:#1B3FA6;--c-at-bg:#ECE2FD;--c-at:#5B21B6;
 --c-fl-bg:#FBD3CF;--c-fl:#9F1C12;--c-su-bg:#E2E6EA;--c-su:#2F3A45;--c-c-bg:transparent;--c-c:#56675D;--c-x-bg:#F3F5F3;--c-x:#6B7A71;--c-p-bg:#FFF1D6;--c-p:#7A4400;--c-ex-bg:#E4F3EA;--c-ex:#066F38;
 --g-op-soft:#E4F3EA;--g-op-ink:#067A3D;--g-op-solid:#067A3D;--g-op-on:#FFFFFF;--g-op-dot:rgba(6,122,61,.16);--g-op-line:#B5DCC4;
 --g-eq-soft:#EAF0FE;--g-eq-ink:#1D4ED8;--g-eq-solid:#1D4ED8;--g-eq-on:#FFFFFF;--g-eq-dot:rgba(29,78,216,.14);--g-eq-line:#C4D4FA;
 --g-pl-soft:#FDEBE2;--g-pl-ink:#B3440F;--g-pl-solid:#C2470F;--g-pl-on:#FFFFFF;--g-pl-dot:rgba(194,71,15,.15);--g-pl-line:#F4C9B3;
 --g-ad-soft:#ECEFF3;--g-ad-ink:#3B4A5A;--g-ad-solid:#3B4A5A;--g-ad-on:#FFFFFF;--g-ad-dot:rgba(59,74,90,.14);--g-ad-line:#CFD7E0;
 --g-cx-soft:#F1F5F2;--g-cx-ink:#34443B;--g-cx-solid:#34443B;--g-cx-on:#FFFFFF;--g-cx-dot:rgba(52,68,59,.14);--g-cx-line:#CBD5CE;
 --g-dg-soft:#FDECEA;--g-dg-ink:#B42318;--g-dg-solid:#C0261A;--g-dg-on:#FFFFFF;--g-dg-dot:rgba(192,38,26,.14);--g-dg-line:#F5C2BC;
}
html[data-theme][data-effective-theme="dark"]{color-scheme:dark;
 --ink:#E8F0EB;--text2:#C4D2C9;--muted:#9DB0A5;--forest:#3CC983;--forest2:#D9F2E3;--leaf:#14321F;--bg:#0B1210;--white:#121C17;--line:#23322A;--line-strong:#33473C;
 --red:#FFA49A;--redbg:#3D1916;--amber:#F7C873;--amberbg:#36290E;--green:#5FD99B;--greenbg:#14321F;
 --borderSoft:#1C2822;--table:#121C17;--tableHead:#16211B;--sectorBg:#16211B;--cardGreen:#11281B;--cardRed:#2B1412;--fieldBg:#0D1511;--btnBg:#121C17;--selectedBg:#11281B;--surface:#121C17;--sector:#16211B;
 --sunken:#0D1511;--hover:#1A2620;--chrome:#0F1814;--chrome-line:#1F2C25;--sel:#11281B;
 --primary:#3CC983;--primary-hover:#55D495;--on-primary:#04170B;--primary-soft:#14321F;--primary-border:#24583A;
 --info:#A9C2FF;--infobg:#172446;--info-line:#2B4175;--ok-line:#24583A;--warn-line:#6A4E19;--bad-line:#6E2C26;
 --ok-solid:#3CC983;--warn-solid:#F0B44C;--bad-solid:#FF8576;--info-solid:#7FA3FF;--on-solid:#0D1510;
 --tip-bg:#22322A;--tip-text:#EEF5F0;--tip-muted:#B9C9BF;--tip-line:#3A5045;--toast-bg:#1D2B24;--toast-text:#EEF5F0;--toast-muted:#B9C9BF;--toast-line:#33473C;--toast-accent:#7CE0A8;
 --scrim:rgba(2,6,4,.66);
 --shadow:0 1px 2px rgba(0,0,0,.45);
 --shadow-md:0 10px 28px -10px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.4);
 --shadow-lg:0 28px 70px -18px rgba(0,0,0,.8),0 8px 20px rgba(0,0,0,.45);
 --seg-shadow:0 1px 2px rgba(0,0,0,.5),0 0 0 1px #33473C;
 --c-t-bg:#18241E;--c-t:#B5C6BC;--c-f-bg:#5A2A14;--c-f:#FFC6A6;--c-fe-bg:#1F3162;--c-fe:#C9D8FF;--c-at-bg:#3B2565;--c-at:#DECCFF;
 --c-fl-bg:#5A1F1A;--c-fl:#FFC0B8;--c-su-bg:#2A323B;--c-su:#D3DAE2;--c-c-bg:transparent;--c-c:#9DB0A5;--c-x-bg:#141D18;--c-x:#8FA297;--c-p-bg:#3A2C10;--c-p:#F7C873;--c-ex-bg:#14321F;--c-ex:#8EE6B5;
 --g-op-soft:#14321F;--g-op-ink:#5FD99B;--g-op-solid:#2FB673;--g-op-on:#03140A;--g-op-dot:rgba(95,217,155,.22);--g-op-line:#24583A;
 --g-eq-soft:#172446;--g-eq-ink:#A9C2FF;--g-eq-solid:#6E95F7;--g-eq-on:#050F2A;--g-eq-dot:rgba(169,194,255,.22);--g-eq-line:#2B4175;
 --g-pl-soft:#3B2116;--g-pl-ink:#FFA370;--g-pl-solid:#F07A3A;--g-pl-on:#230C02;--g-pl-dot:rgba(255,163,112,.22);--g-pl-line:#6A3820;
 --g-ad-soft:#1E2731;--g-ad-ink:#C3CED9;--g-ad-solid:#93A4B6;--g-ad-on:#0B121A;--g-ad-dot:rgba(195,206,217,.22);--g-ad-line:#36434F;
 --g-cx-soft:#1A2620;--g-cx-ink:#C4D2C9;--g-cx-solid:#C4D2C9;--g-cx-on:#0F1814;--g-cx-dot:rgba(196,210,201,.2);--g-cx-line:#33473C;
 --g-dg-soft:#3D1916;--g-dg-ink:#FFA49A;--g-dg-solid:#FF8576;--g-dg-on:#0D1510;--g-dg-dot:rgba(255,164,154,.22);--g-dg-line:#6E2C26;
}

/* ---------- base ---------- */
html[data-theme] body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:13px;line-height:1.4;-webkit-font-smoothing:antialiased;font-feature-settings:'cv11'}
html[data-theme] :focus-visible{outline:2px solid var(--primary);outline-offset:2px}
html[data-theme][data-effective-theme] a{color:var(--green)}
.ico-svg{flex:none;display:block}
.boot{color:var(--muted)}

/* ---------- moldura: cabeçalho, faixa de ícones, rodapé ---------- */
html[data-theme] .shell.ng{display:flex;flex-direction:column;min-height:100vh}
html[data-theme][data-effective-theme] .topbar.ng-head{position:relative;z-index:6;height:auto;min-height:52px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:0 14px 0 10px;background:var(--chrome);border-bottom:1px solid var(--chrome-line);justify-content:flex-start}
.ng-brand{display:flex;align-items:center;height:44px;padding:0 6px;border:0;background:transparent;border-radius:10px;cursor:pointer;flex:none}
.ng-brand:hover{background:var(--hover)}
.ng-brand img{height:32px;width:auto;display:block}
.ng-sep{width:1px;height:26px;background:var(--line);flex:none}
.ng-context{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.ng-context strong{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-context small{font-size:11.5px;color:var(--muted)}
.ng-head-right{margin-left:auto;display:flex;align-items:center;gap:4px;flex:none}
.ng-icon-btn{position:relative;width:36px;height:36px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--text2);cursor:pointer;transition:background-color .15s,border-color .15s}
.ng-icon-btn:hover,.ng-icon-btn[aria-expanded="true"]{background:var(--hover);border-color:var(--line)}
.ng-badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:8px;font-size:10px;font-weight:700;line-height:16px;text-align:center;color:var(--on-solid);background:var(--bad-solid);box-shadow:0 0 0 2px var(--chrome)}
.ng-badge.warn{background:var(--warn-solid)}
.ng-user{display:flex;align-items:center;gap:9px;padding:0 6px 0 4px;min-width:0}
.ng-user-ico{width:30px;height:30px;flex:none;box-sizing:border-box;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--primary-soft);border:1px solid var(--primary-border);color:var(--green)}
.ng-user-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.ng-user-txt strong{font-size:12.5px;font-weight:600;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-user-txt small{font-size:11px;color:var(--muted)}
html[data-theme][data-effective-theme] .ng-logout{display:inline-flex;align-items:center;gap:6px}
html[data-theme] .topbar-logout{display:inline-flex}

html[data-theme][data-effective-theme] .nav.ng-ribbon{position:relative;z-index:5;display:flex;flex-direction:row;align-items:stretch;gap:0;background:var(--chrome);border-bottom:1px solid var(--chrome-line);box-shadow:var(--shadow)}
.ng-groups{flex:1;min-width:0;display:flex;align-items:stretch;padding:6px 6px 4px}
.ng-ribbon.is-collapsed .ng-groups{padding:5px 6px}
.ng-group{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:0 7px;flex:none}
.ng-group+.ng-group{border-left:1px solid var(--chrome-line)}
.ng-group.ng-ctx{margin-left:auto;padding-left:10px}
.ng-tiles{display:flex;align-items:center;gap:2px}
.ng-cap{display:block;margin-top:3px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}
.ng-ribbon.is-collapsed .ng-cap{display:none}
html[data-theme][data-effective-theme] .nav .ng-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;width:70px;height:66px;padding:7px 2px 5px;box-sizing:border-box;border-radius:10px;border:1px solid transparent;background-color:transparent;background-size:5px 5px;color:var(--text2);text-align:center;font:inherit;cursor:pointer;flex:none;transition:background-color .15s ease,border-color .15s ease}
.ng-sq{position:relative;width:34px;height:34px;flex:none;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--gs);color:var(--gi);transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,color .14s ease}
.ng-lab{font-size:11.5px;line-height:1.15;font-weight:500;color:var(--text2);max-width:66px}
html[data-theme][data-effective-theme] .nav .ng-tile:hover,html[data-theme][data-effective-theme] .nav .ng-tile:focus-visible{background-color:var(--hover);background-image:radial-gradient(var(--gd) 1px,transparent 1.4px);border-color:var(--gl)}
.ng-tile:hover .ng-sq,.ng-tile:focus-visible .ng-sq{background:var(--gso);color:var(--gon);transform:translateY(-1px);box-shadow:0 6px 14px -6px var(--gso)}
.ng-tile:hover .ng-lab,.ng-tile:focus-visible .ng-lab{color:var(--gi)}
.ng-tile:active .ng-sq{transform:scale(.92);box-shadow:none}
html[data-theme][data-effective-theme] .nav .ng-tile.active{background-color:var(--gs);border-color:var(--gl)}
.ng-tile.active .ng-sq,.ng-tile.ng-primary .ng-sq{background:var(--gso);color:var(--gon)}
.ng-tile.active .ng-lab{color:var(--gi);font-weight:700}
.ng-tile.active::after{content:'';position:absolute;left:16px;right:16px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--gso)}
.ng-tile:disabled{opacity:.45;cursor:not-allowed}
.ng-tile:disabled:hover .ng-sq{transform:none;box-shadow:none;background:var(--gs);color:var(--gi)}
.g-op{--gs:var(--g-op-soft);--gi:var(--g-op-ink);--gso:var(--g-op-solid);--gon:var(--g-op-on);--gd:var(--g-op-dot);--gl:var(--g-op-line)}
.g-eq{--gs:var(--g-eq-soft);--gi:var(--g-eq-ink);--gso:var(--g-eq-solid);--gon:var(--g-eq-on);--gd:var(--g-eq-dot);--gl:var(--g-eq-line)}
.g-pl{--gs:var(--g-pl-soft);--gi:var(--g-pl-ink);--gso:var(--g-pl-solid);--gon:var(--g-pl-on);--gd:var(--g-pl-dot);--gl:var(--g-pl-line)}
.g-ad{--gs:var(--g-ad-soft);--gi:var(--g-ad-ink);--gso:var(--g-ad-solid);--gon:var(--g-ad-on);--gd:var(--g-ad-dot);--gl:var(--g-ad-line)}
.g-cx{--gs:var(--g-cx-soft);--gi:var(--g-cx-ink);--gso:var(--g-cx-solid);--gon:var(--g-cx-on);--gd:var(--g-cx-dot);--gl:var(--g-cx-line)}
.g-dg{--gs:var(--g-dg-soft);--gi:var(--g-dg-ink);--gso:var(--g-dg-solid);--gon:var(--g-dg-on);--gd:var(--g-dg-dot);--gl:var(--g-dg-line)}
.ng-count{position:absolute;top:-6px;right:-8px;min-width:17px;height:17px;padding:0 4px;box-sizing:border-box;border-radius:9px;font-size:10px;font-weight:700;line-height:17px;text-align:center;color:var(--on-solid);background:var(--bad-solid);box-shadow:0 0 0 2px var(--chrome)}
.ng-count.warn{background:var(--warn-solid)}
/* faixa recolhida: uma linha */
html[data-theme][data-effective-theme] .nav.ng-ribbon.is-collapsed .ng-tile{flex-direction:row;width:auto;height:32px;gap:7px;padding:0 10px 0 5px;border-radius:8px}
.ng-ribbon.is-collapsed .ng-sq{width:22px;height:22px;border-radius:6px}
.ng-ribbon.is-collapsed .ng-sq .ico-svg{width:14px;height:14px}
.ng-ribbon.is-collapsed .ng-lab{font-size:12px;white-space:nowrap;max-width:none}
.ng-ribbon.is-collapsed .ng-tile.active::after{left:8px;right:8px}
.ng-ribbon.is-collapsed .ng-count{top:-5px;right:-6px;min-width:15px;height:15px;line-height:15px;font-size:9px}
.ng-collapse-wrap{display:flex;align-items:flex-start;padding:6px 8px;border-left:1px solid var(--chrome-line)}
/* dicas da faixa (aparecem com atraso, como nos programas de gestão) */
.ng-tip{position:absolute;top:calc(100% + 10px);left:50%;z-index:60;width:max-content;max-width:260px;box-sizing:border-box;padding:9px 12px;border-radius:10px;background:var(--tip-bg);border:1px solid var(--tip-line);color:var(--tip-text);box-shadow:var(--shadow-md);text-align:left;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-4px);transition:opacity .14s ease,transform .14s ease,visibility 0s linear .14s}
.ng-tip::before{content:'';position:absolute;left:calc(50% - 5px);top:-6px;width:10px;height:10px;box-sizing:border-box;background:var(--tip-bg);border:1px solid var(--tip-line);border-right:0;border-bottom:0;transform:rotate(45deg)}
.ng-tip strong{display:block;font-size:12.5px;font-weight:600;color:var(--tip-text)}
.ng-tip span{display:block;margin-top:3px;font-size:12px;line-height:1.45;font-weight:400;color:var(--tip-muted);white-space:normal}
.ng-tip em{display:block;margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.14);font-style:normal;font-size:11.5px;font-weight:600;color:var(--toast-accent)}
.ng-tip em.bad{color:#FFA49A}.ng-tip em.warn{color:#F7C873}
.ng-tile:hover .ng-tip,.ng-tile:focus-visible .ng-tip,.ng-icon-btn:hover .ng-tip,.ng-icon-btn:focus-visible .ng-tip{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:.45s,.45s,0s}
.ng-group:first-child .ng-tile:first-child .ng-tip{left:0;transform:translate(0,-4px)}
.ng-group:first-child .ng-tile:first-child:hover .ng-tip{transform:none}
.ng-group:first-child .ng-tile:first-child .ng-tip::before{left:30px}
.ng-ctx .ng-tile:last-child .ng-tip,.ng-head-right .ng-tip{left:auto;right:0;transform:translate(0,-4px)}
.ng-ctx .ng-tile:last-child:hover .ng-tip,.ng-head-right .ng-icon-btn:hover .ng-tip{transform:none}
.ng-ctx .ng-tile:last-child .ng-tip::before,.ng-head-right .ng-tip::before{left:auto;right:12px}

html[data-theme][data-effective-theme] .main{flex:1;min-width:0;display:flex;flex-direction:column}
html[data-theme][data-effective-theme] .content{flex:1;max-width:none;margin:0;padding:16px 18px 24px}
.ng-status{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;gap:16px;min-height:28px;padding:0 14px;background:var(--chrome);border-top:1px solid var(--chrome-line);font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden}
.ng-status .ng-dot{width:7px;height:7px;border-radius:4px;background:var(--ok-solid);box-shadow:0 0 0 3px var(--greenbg);display:inline-block;margin-right:7px;vertical-align:1px}
.ng-status .ng-grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
html[data-theme] .foot{display:none}

/* ---------- títulos de página ---------- */
html[data-theme][data-effective-theme] .heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:14px}
html[data-theme][data-effective-theme] .heading h2{font-size:21px;line-height:1.2;font-weight:700;letter-spacing:-.02em;margin:0 0 3px;color:var(--ink)}
html[data-theme][data-effective-theme] .sub,html[data-theme][data-effective-theme] .hint{color:var(--muted)}
.ng-over{display:flex;align-items:center;gap:7px;margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gi)}
.ng-over::before{content:'';width:8px;height:8px;border-radius:3px;background:var(--gso)}
.ng-titlebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* ---------- botões, campos, controles ---------- */
html[data-theme][data-effective-theme] button.btn,html[data-theme][data-effective-theme] .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 13px;box-sizing:border-box;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:13px;box-shadow:var(--shadow);white-space:nowrap;transition:background-color .12s,border-color .12s}
html[data-theme][data-effective-theme] .btn:hover{background:var(--hover);border-color:var(--line-strong);filter:none}
html[data-theme][data-effective-theme] button.btn.primary,html[data-theme][data-effective-theme] .btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
html[data-theme][data-effective-theme] button.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}
html[data-theme][data-effective-theme] button.btn.danger,html[data-theme][data-effective-theme] .btn.danger{background:var(--bad-solid);border-color:var(--bad-solid);color:var(--on-solid)}
html[data-theme][data-effective-theme] button.btn.small,html[data-theme][data-effective-theme] .btn.small{min-height:28px;padding:0 10px;font-size:12px;border-radius:7px;box-shadow:none}
html[data-theme][data-effective-theme] .clear-trigger{color:var(--red)!important;border-color:var(--bad-line)!important;background:var(--surface)!important}
html[data-theme][data-effective-theme] .field label{font-size:12px;font-weight:600;color:var(--text2)}
html[data-theme][data-effective-theme] .field input,html[data-theme][data-effective-theme] .field select,html[data-theme][data-effective-theme] .field textarea,
html[data-theme][data-effective-theme] .people-filters-v110 .field input,html[data-theme][data-effective-theme] .sim-config-grid select,html[data-theme][data-effective-theme] .sim-config-grid input,
html[data-theme][data-effective-theme] .sim-settings select,html[data-theme][data-effective-theme] .sim-settings input:not([type=checkbox]),html[data-theme][data-effective-theme] .sim-form-modal input,html[data-theme][data-effective-theme] .sim-form-modal select,
html[data-theme][data-effective-theme] .agenda-nav input,html[data-theme][data-effective-theme] .mini-period input,html[data-theme][data-effective-theme] .save-controls select,html[data-theme][data-effective-theme] .stat-date-pick select,html[data-theme][data-effective-theme] .sim-mini-dates input{background:var(--fieldBg);color:var(--ink);border:1px solid var(--line-strong);border-radius:9px;min-height:36px;padding:0 11px;box-sizing:border-box;outline:none;transition:border-color .12s,box-shadow .12s}
html[data-theme][data-effective-theme] .field textarea{padding:9px 11px;min-height:72px}
html[data-theme][data-effective-theme] .field input:focus,html[data-theme][data-effective-theme] .field select:focus,html[data-theme][data-effective-theme] .field textarea:focus,html[data-theme][data-effective-theme] select:focus,html[data-theme][data-effective-theme] input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
html[data-theme][data-effective-theme] .checklist label,html[data-theme][data-effective-theme] .extra-mode label,html[data-theme][data-effective-theme] .extra-week-checks label,html[data-theme][data-effective-theme] .sim-day-options label{background:var(--surface);border:1px solid var(--line);color:var(--ink)}
html[data-theme] input[type=checkbox],html[data-theme] input[type=radio]{accent-color:var(--primary)}
.ng-seg{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:10px;background:var(--sunken);border:1px solid var(--line)}
.ng-seg button{height:28px;padding:0 11px;border-radius:7px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer}
.ng-seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--seg-shadow)}
.ng-weekbox{display:inline-flex;align-items:center;height:34px;padding:0 1px;box-sizing:border-box;border-radius:9px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}
.ng-weekbox button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text2);cursor:pointer}
.ng-weekbox button:hover{background:var(--hover)}
.ng-weekbox strong{padding:0 4px;white-space:nowrap;font-weight:600}
.ng-weekbox small{font-size:11.5px;color:var(--muted);margin-right:4px;white-space:nowrap}
.ng-xs,html[data-theme][data-effective-theme] .roster-head .ng-xs{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;box-sizing:border-box;border-radius:6px;font:inherit;font-size:11.5px;font-weight:600;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.ng-xs:hover,html[data-theme][data-effective-theme] .roster-head .ng-xs:hover{background:var(--hover);color:var(--ink)}
.ng-xs[aria-pressed="true"],html[data-theme][data-effective-theme] .roster-head .ng-xs[aria-pressed="true"]{border-color:var(--primary-border);background:var(--primary-soft);color:var(--green)}

/* ---------- painéis, cartões, tabelas ---------- */
html[data-theme][data-effective-theme] .panel,html[data-theme][data-effective-theme] .stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);color:var(--ink)}
html[data-theme][data-effective-theme] .panel h3{font-size:14px;font-weight:700;letter-spacing:-.01em}
html[data-theme][data-effective-theme] .stat label{color:var(--text2);font-weight:600}
html[data-theme][data-effective-theme] .stat b{letter-spacing:-.02em;font-variant-numeric:tabular-nums}
html[data-theme][data-effective-theme] .stat-detail{border-color:var(--borderSoft)}
html[data-theme][data-effective-theme] .table-scroll{border:1px solid var(--line);border-radius:12px}
html[data-theme][data-effective-theme] table,html[data-theme][data-effective-theme] .table-scroll table{background:var(--table);color:var(--ink)}
html[data-theme][data-effective-theme] td,html[data-theme][data-effective-theme] th{border-color:var(--borderSoft)}
html[data-theme][data-effective-theme] th{background:var(--tableHead);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.07em}
html[data-theme][data-effective-theme] tbody tr:hover td{background:var(--hover)}
html[data-theme][data-effective-theme] .sectionrow td{background:var(--sectorBg);color:var(--green)}
html[data-theme][data-effective-theme] tr.is-canceled td{color:var(--muted)}
html[data-theme][data-effective-theme] tr.is-canceled td .ev-what{text-decoration:line-through}
html[data-theme][data-effective-theme] .badge{background:var(--primary-soft);color:var(--green)}
html[data-theme][data-effective-theme] .daycard{border-color:var(--line);background:var(--surface);color:var(--ink)}
html[data-theme][data-effective-theme] .daycard.good,html[data-theme][data-effective-theme] .audit-item.good,html[data-theme][data-effective-theme] button.daycard.daily-link{background:var(--cardGreen);border-color:var(--ok-line)}
html[data-theme][data-effective-theme] .daycard.bad,html[data-theme][data-effective-theme] .audit-item.bad,html[data-theme][data-effective-theme] button.daycard.daily-link.bad{background:var(--cardRed);border-color:var(--bad-line)}
html[data-theme][data-effective-theme] .audit-item.warn,html[data-theme][data-effective-theme] .daycard.warn{background:var(--amberbg)!important;border-color:var(--warn-line)!important}
html[data-theme][data-effective-theme] .audit-item.closed{background:var(--tableHead)}
html[data-theme][data-effective-theme] .audit-item{border-radius:10px}
html[data-theme][data-effective-theme] .audit-item>button{color:var(--ink)}
html[data-theme][data-effective-theme] .brief-sector{background:var(--tableHead);border-color:var(--line)}
html[data-theme][data-effective-theme] .notice-line{border-color:var(--line)}
html[data-theme][data-effective-theme] .notice-line.important strong{color:var(--amber)}
html[data-theme][data-effective-theme] .report-metric{border-color:var(--line);background:var(--surface)}
html[data-theme][data-effective-theme] .file-field{background:var(--tableHead);border-color:var(--line)}
html[data-theme][data-effective-theme] .form-divider{color:var(--green);border-color:var(--line)}
html[data-theme][data-effective-theme] .name-link{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
html[data-theme][data-effective-theme] .name-link:hover{border-color:var(--primary)!important}
html[data-theme][data-effective-theme] .person-absence,html[data-theme][data-effective-theme] .history-row,html[data-theme][data-effective-theme] .detail-line,html[data-theme][data-effective-theme] .settings-line{border-color:var(--line)}

/* ---------- etiquetas de situação ---------- */
html[data-theme][data-effective-theme] .status{display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:0 9px;box-sizing:border-box;border-radius:11px;font-size:11.5px;font-weight:600;white-space:nowrap}
html[data-theme][data-effective-theme] .status.on{background:var(--greenbg);color:var(--green);box-shadow:inset 0 0 0 1px var(--ok-line)}
html[data-theme][data-effective-theme] .status.warn{background:var(--amberbg);color:var(--amber);box-shadow:inset 0 0 0 1px var(--warn-line)}
html[data-theme][data-effective-theme] .status.bad{background:var(--redbg);color:var(--red);box-shadow:inset 0 0 0 1px var(--bad-line)}
html[data-theme][data-effective-theme] .status.off{background:var(--tableHead);color:var(--text2);box-shadow:inset 0 0 0 1px var(--line)}
html[data-theme][data-effective-theme] .status.on::before,html[data-theme][data-effective-theme] .status.warn::before,html[data-theme][data-effective-theme] .status.bad::before{content:'';width:6px;height:6px;border-radius:3px;flex:none;background:currentColor;opacity:.85}
html[data-theme][data-effective-theme] .rest-count.status::before,html[data-theme][data-effective-theme] .audit-item .status::before,html[data-theme][data-effective-theme] .sim-audit-card .status::before{display:none}
html[data-theme][data-effective-theme] .status.category-fixed{background:var(--greenbg);color:var(--green)}
html[data-theme][data-effective-theme] .status.category-extra{background:var(--infobg);color:var(--info)}
html[data-theme][data-effective-theme] .status.category-reserve{background:var(--c-at-bg);color:var(--c-at)}
html[data-theme][data-effective-theme] .status.category-inactive{background:var(--tableHead);color:var(--text2)}

/* ---------- avisos (alertas) — no escuro, fundo escuro e texto claro ---------- */
html[data-theme][data-effective-theme] .alert{display:block;border-radius:12px;padding:11px 14px 11px 40px;position:relative;font-size:12.5px;line-height:1.5;background:var(--amberbg);border:1px solid var(--warn-line);color:var(--text2)}
html[data-theme][data-effective-theme] .alert::before{content:'!';position:absolute;left:12px;top:10px;width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--on-solid);background:var(--warn-solid)}
html[data-theme][data-effective-theme] .alert.error{background:var(--redbg);border-color:var(--bad-line);color:var(--text2)}
html[data-theme][data-effective-theme] .alert.error::before{content:'×';font-size:14px;background:var(--bad-solid)}
html[data-theme][data-effective-theme] .alert.info{background:var(--infobg);border-color:var(--info-line);color:var(--text2)}
html[data-theme][data-effective-theme] .alert.info::before{content:'i';font-family:Georgia,serif;font-style:italic;background:var(--info-solid)}
html[data-theme][data-effective-theme] .alert strong{color:var(--ink)}
html[data-theme][data-effective-theme] .noticebar{background:var(--amberbg);border-color:var(--warn-line);color:var(--amber)}

/* ---------- janelas (modais) ---------- */
html[data-theme][data-effective-theme] .modal-overlay{background:var(--scrim)}
html[data-theme][data-effective-theme] .modal{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg)}
html[data-theme][data-effective-theme] .modal .heading h2{font-size:17px}
html[data-theme][data-effective-theme] .modal .heading{padding-bottom:12px;border-bottom:1px solid var(--line)}
html[data-theme][data-effective-theme] .modal.mini-status{border-radius:12px;box-shadow:var(--shadow-lg)}
html[data-theme][data-effective-theme] .modal.mini-status .heading{border:0;padding:0}
html[data-theme][data-effective-theme] .mini-top{color:var(--muted)}
html[data-theme][data-effective-theme] .sim-mini{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-lg)}

/* ---------- avisos rápidos (toasts): sempre escuros, legíveis nos dois temas ---------- */
html[data-theme][data-effective-theme] .toast,html[data-theme][data-effective-theme] .undo-toast{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:40px!important;transform:translateX(-50%)!important;z-index:1300!important;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(520px,calc(100vw - 32px));box-sizing:border-box;padding:11px 12px 11px 14px;border-radius:14px;background:var(--toast-bg);border:1px solid var(--toast-line);color:var(--toast-text);font-size:13px;line-height:1.45;box-shadow:var(--shadow-lg);animation:ngToast .2s ease-out}
html[data-theme][data-effective-theme] .toast::before,html[data-theme][data-effective-theme] .undo-toast::before{content:'✓';flex:none;width:26px;height:26px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#5FD99B;background:rgba(95,217,155,.16)}
html[data-theme][data-effective-theme] .undo-toast::before{content:'↶'}
html[data-theme][data-effective-theme] .toast.bad::before{content:'!';color:#FF9C92;background:rgba(255,156,146,.16)}
html[data-theme][data-effective-theme] .toast.bad{border-color:#6E2C26}
html[data-theme][data-effective-theme] .undo-toast .btn{min-height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:var(--toast-accent);font-weight:700;box-shadow:none}
html[data-theme][data-effective-theme] .undo-toast .btn:hover{background:rgba(255,255,255,.12)}
@keyframes ngToast{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}

/* ---------- escala ---------- */
html[data-theme][data-effective-theme] .scale-layout{grid-template-columns:minmax(0,1fr) 300px;gap:14px}
html[data-theme][data-effective-theme] .roster-scroll{border:0;border-radius:0;overflow:visible}
html[data-theme][data-effective-theme] .sector-block{border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);margin-bottom:12px;overflow-x:auto;min-width:0}
html[data-theme][data-effective-theme] .sector-line{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;padding-right:10px}
html[data-theme][data-effective-theme] .sector-toggle{background:transparent!important;color:var(--ink);font-size:14px;font-weight:700;padding:10px 14px;letter-spacing:-.01em}
html[data-theme][data-effective-theme] .sector-toggle small{color:var(--muted);font-size:12px;font-weight:500}
html[data-theme][data-effective-theme] .sector-line>.extra-add{border-color:var(--line);color:var(--ink);background:var(--surface)}
html[data-theme][data-effective-theme] .roster-head,html[data-theme][data-effective-theme] .roster-head>div:first-child{background:var(--tableHead);color:var(--muted)}
html[data-theme][data-effective-theme] .roster-head button{color:var(--muted);border-radius:0;border-bottom:2px solid transparent;height:40px;font-weight:700}
html[data-theme][data-effective-theme] .roster-head button:hover{background:var(--hover);color:var(--green)}
html[data-theme][data-effective-theme] .roster-head button.day-highlight{outline:0;background:var(--sel);color:var(--green);border-bottom-color:var(--primary)}
html[data-theme][data-effective-theme] .roster-head button.is-today small{display:inline-block;white-space:nowrap;font-size:9px;min-width:22px;padding:1px 5px;border-radius:9px;background:var(--primary);color:var(--on-primary)}
html[data-theme][data-effective-theme] .roster-row{border-color:var(--borderSoft)}
html[data-theme][data-effective-theme] .roster-row>.person-ident{background:transparent}
html[data-theme][data-effective-theme] .roster-row .avatar,html[data-theme][data-effective-theme] .avatar{background:var(--tableHead);color:var(--muted);border:1px solid var(--line);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
html[data-theme][data-effective-theme] .extra-label .avatar{background:var(--infobg);color:var(--info);border:1px dashed var(--info-line);font-size:9px}
html[data-theme][data-effective-theme] .extra-label em{color:var(--info);font-weight:700;text-transform:uppercase;font-size:9.5px;letter-spacing:.04em;background:var(--infobg);padding:1px 5px;border-radius:4px}
html[data-theme][data-effective-theme] .extra-row{background:transparent}
html[data-theme][data-effective-theme] .person-meta strong{color:var(--ink)}
html[data-theme][data-effective-theme] .ft{border:1px solid transparent;border-radius:7px;font-weight:700;font-variant-numeric:tabular-nums;transition:box-shadow .12s ease,transform .12s ease}
html[data-theme][data-effective-theme] .ft:not(:disabled):hover{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary);transform:translateY(-1px)}
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{background:var(--c-t-bg);color:var(--c-t);border-color:transparent}
html[data-theme][data-effective-theme] .ft.status-f,html[data-theme][data-effective-theme] .dot.f,html[data-theme][data-effective-theme] .status-tag.status-f,html[data-theme][data-effective-theme] .person-day.status-f,html[data-theme][data-effective-theme] .ft.off{background:var(--c-f-bg);color:var(--c-f);border-color:transparent}
html[data-theme][data-effective-theme] .ft.status-fe,html[data-theme][data-effective-theme] .dot.fe,html[data-theme][data-effective-theme] .status-tag.status-fe,html[data-theme][data-effective-theme] .person-day.status-fe{background:var(--c-fe-bg);color:var(--c-fe);border-color:transparent}
html[data-theme][data-effective-theme] .ft.status-at,html[data-theme][data-effective-theme] .dot.at,html[data-theme][data-effective-theme] .status-tag.status-at,html[data-theme][data-effective-theme] .person-day.status-at{background:var(--c-at-bg);color:var(--c-at);border-color:transparent}
html[data-theme][data-effective-theme] .ft.status-fl,html[data-theme][data-effective-theme] .dot.fl,html[data-theme][data-effective-theme] .status-tag.status-fl,html[data-theme][data-effective-theme] .roster-row .ft.status-fl,html[data-theme][data-effective-theme] .mini-overlay .choice-row.miniature button.status-fl{background:var(--c-fl-bg);color:var(--c-fl);border-color:transparent}
html[data-theme][data-effective-theme] .ft.status-su,html[data-theme][data-effective-theme] .dot.su,html[data-theme][data-effective-theme] .status-tag.status-su,html[data-theme][data-effective-theme] .roster-row .ft.status-su,html[data-theme][data-effective-theme] .mini-overlay .choice-row.miniature button.status-su{background:var(--c-su-bg);color:var(--c-su);border-color:transparent}
html[data-theme][data-effective-theme] .ft.status-c,html[data-theme][data-effective-theme] .dot.c,html[data-theme][data-effective-theme] .ft.closed,html[data-theme][data-effective-theme] .person-day.status-c,html[data-theme][data-effective-theme] .mini-overlay .choice-row.miniature button.status-c{background:var(--c-c-bg);color:var(--c-c);border:1px dashed var(--line-strong)}
html[data-theme][data-effective-theme] .ft.status-x{background:var(--c-x-bg)!important;color:var(--c-x)!important;border:1px dashed var(--line)!important;opacity:1}
html[data-theme][data-effective-theme] .ft.status-p{background:var(--c-p-bg)!important;color:var(--c-p)!important;border:1px solid var(--warn-line)!important}
html[data-theme][data-effective-theme] .ft.status-ex,html[data-theme][data-effective-theme] .ft.extra-cell.status-t{background:var(--c-ex-bg);color:var(--c-ex)}
html[data-theme][data-effective-theme] .ft.conflict{background:var(--redbg);color:var(--red);border:0;box-shadow:inset 0 0 0 2px var(--bad-solid)}
html[data-theme][data-effective-theme] .ft.preventive:not(.conflict){box-shadow:inset 0 0 0 1px var(--warn-solid)}
html[data-theme][data-effective-theme] .ft .mini-warn{color:var(--warn-solid);background:var(--surface)}
html[data-theme][data-effective-theme] .ft.day-highlight{outline:2px solid var(--primary);outline-offset:1px}
html[data-theme][data-effective-theme] .dot{border-radius:6px;border:0}
html[data-theme][data-effective-theme] .legend{color:var(--text2)}
html[data-theme][data-effective-theme] .ft[data-reason]:not([data-reason=""]):hover::after{background:var(--tip-bg);color:var(--tip-text);border:1px solid var(--tip-line);border-radius:10px;box-shadow:var(--shadow-md);padding:8px 10px;font-size:12px;font-weight:500;line-height:1.45}
html[data-theme][data-effective-theme] .rest-count.status.on{color:var(--green)}
html[data-theme][data-effective-theme] .roster-row.is-flash{background:var(--primary-soft)}
html[data-theme][data-effective-theme] .roster-row.is-drop{box-shadow:inset 0 2px 0 var(--primary);background:var(--primary-soft)}
html[data-theme][data-effective-theme] .roster-row.is-dragging{opacity:.55}
.ng-orderhead{display:flex;align-items:center;gap:6px;padding:0 8px 0 12px;min-width:0}
.ng-orderhead>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-orderhead>div{margin-left:auto;display:flex;gap:4px;flex:none}
.ng-grip{display:inline-flex;color:var(--muted);cursor:grab;flex:none}
.ng-move{display:inline-flex;gap:3px;flex:none;margin-left:auto}
.ng-move button{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--text2);cursor:pointer}
.ng-move button:disabled{opacity:.4;cursor:default}
.roster-row.is-editing>.person-ident{cursor:grab}
.ng-editbanner{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;margin-bottom:12px;border-radius:12px;background:var(--infobg);border:1px solid var(--info-line);color:var(--text2);font-size:12.5px}
.ng-editbanner strong{color:var(--info)}
.ng-editbanner .btn{margin-left:auto}
/* escala do mês: uma tabela por setor com as semanas na horizontal */
.ng-month{overflow-x:auto}
.ng-mgrid{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(var(--mdays,35),minmax(24px,1fr)) 74px;align-items:center;min-width:calc(250px + var(--mdays,35) * 25px)}
.ng-mweeks{background:var(--tableHead)}
.ng-mweek{padding:7px 0 3px;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;color:var(--muted);border-left:2px solid var(--line-strong)}
.ng-mweek.is-current{color:var(--green)}
.ng-mhead{background:var(--tableHead);border-bottom:1px solid var(--line)}
.ng-mhead button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%;height:38px;padding:0;border:0;background:transparent;font:inherit;cursor:pointer;color:var(--muted)}
.ng-mhead button:hover{background:var(--hover)}
.ng-mhead button span{font-size:9.5px;font-weight:700}
.ng-mhead button b{font-size:11px;font-weight:700;color:var(--ink)}
.ng-mhead button.is-today b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 3px;border-radius:8px;background:var(--primary);color:var(--on-primary)}
.ng-mhead button.is-closed b{color:var(--muted)}
.ng-mrow{min-height:34px;border-top:1px solid var(--borderSoft)}
.ng-mname{display:flex;align-items:center;gap:8px;padding:0 10px 0 12px;min-width:0}
.ng-mname strong{display:block;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-mname small{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-mcell{display:flex;align-items:center;justify-content:center;align-self:stretch}
.ng-mcell.wk{border-left:2px solid var(--line-strong)}
.ng-mcell.today{background:var(--sel)}
.ng-mcell.out{opacity:.5}
.ng-mcell.bad-week{box-shadow:inset 0 -2px 0 var(--warn-solid)}
html[data-theme][data-effective-theme] .ng-mcell .ft{width:22px;min-width:22px;height:22px;padding:0;border-radius:5px;font-size:9.5px}
html[data-theme][data-effective-theme] .ng-mcell .ft.status-t{background:transparent;color:var(--muted)}
.ng-mcov{min-height:28px;border-top:1px solid var(--borderSoft);background:var(--tableHead)}
.ng-mcov .ng-mname{font-size:11.5px;color:var(--muted)}
.ng-mcov .ng-mname b{font-weight:600;color:var(--text2)}
.ng-pill-bad{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:9px;font-size:10.5px;font-weight:700;color:var(--on-solid);background:var(--bad-solid)}
.ng-num{font-size:10.5px;font-weight:600;color:var(--text2);font-variant-numeric:tabular-nums}
.ng-num.ok{color:var(--green)}
.ng-mstrip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;margin-bottom:12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.ng-mstrip>span:last-child{flex:1 1 260px;font-size:12px;color:var(--muted)}

/* ---------- resumo do dia ---------- */
html[data-theme][data-effective-theme] .daily-modal{width:min(640px,96vw);padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:88vh}
.ng-daily-head{display:flex;align-items:flex-start;gap:14px;padding:20px 14px 16px 20px;border-bottom:1px solid var(--line)}
.ng-daily-badge{width:40px;height:40px;flex:none;box-sizing:border-box;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--primary-soft);border:1px solid var(--primary-border);color:var(--green)}
.ng-daily-head h2{margin:0;font-size:17px;font-weight:700;letter-spacing:-.01em}
.ng-daily-head p{margin:3px 0 0;font-size:12.5px;color:var(--muted)}
.ng-daily-head .btn{margin-left:auto}
.ng-daily-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}
.ng-daily-sec>h3{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.ng-daily-item{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:6px;border-radius:12px;background:var(--tableHead);border:1px solid var(--line)}
.ng-daily-ico{width:32px;height:32px;flex:none;box-sizing:border-box;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--primary-soft);color:var(--green);border:1px solid var(--primary-border)}
.ng-daily-ico.warn{background:var(--amberbg);color:var(--amber);border-color:var(--warn-line)}
.ng-daily-ico.bad{background:var(--redbg);color:var(--red);border-color:var(--bad-line)}
.ng-daily-ico.info{background:var(--infobg);color:var(--info);border-color:var(--info-line)}
.ng-daily-ico.code-f{background:var(--c-f-bg);color:var(--c-f);border-color:transparent}
.ng-daily-ico.code-fe{background:var(--c-fe-bg);color:var(--c-fe);border-color:transparent}
.ng-daily-ico.code-at{background:var(--c-at-bg);color:var(--c-at);border-color:transparent}
.ng-daily-ico.code-fl{background:var(--c-fl-bg);color:var(--c-fl);border-color:transparent}
.ng-daily-ico.code-su{background:var(--c-su-bg);color:var(--c-su);border-color:transparent}
.ng-daily-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ng-daily-txt strong{font-size:13px;font-weight:600}
.ng-daily-txt span{font-size:12px;line-height:1.45;color:var(--text2)}
.ng-daily-empty{font-size:12.5px;color:var(--muted);padding:4px 2px}
.ng-daily-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 20px;background:var(--tableHead);border-top:1px solid var(--line)}
.ng-daily-foot span{flex:1 1 200px;font-size:12px;color:var(--muted)}

/* ---------- simulador e outras telas com cores fixas antigas ---------- */
html[data-theme][data-effective-theme] .sim-page .status-f{background:var(--c-f-bg);color:var(--c-f)}
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] .sim-sector .sector-line{background:var(--tableHead)}
html[data-theme][data-effective-theme] .sim-audit-card{background:var(--tableHead)}
html[data-theme][data-effective-theme] .sim-person-check input{accent-color:var(--primary)}

/* ---------- entrada (login) ---------- */
html[data-theme][data-effective-theme] .auth-wrap{background:var(--bg);background-image:radial-gradient(var(--g-op-dot) 1px,transparent 1.4px);background-size:14px 14px}
html[data-theme][data-effective-theme] .auth{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:32px}
.ng-auth-logo{display:block;width:220px;max-width:70%;height:auto;margin:0 auto 6px}
html[data-theme][data-effective-theme] .auth h1{font-size:22px;letter-spacing:-.02em;text-align:center;margin:8px 0 6px}
html[data-theme][data-effective-theme] .auth>p{text-align:center}
html[data-theme][data-effective-theme] .auth .reset-link{color:var(--green)}
html[data-theme] .auth .mark{display:none!important}

/* ---------- telas menores ---------- */
@media (max-width:1300px){
 .ng-groups{overflow-x:auto;scrollbar-width:thin}
 .ng-tip{display:none}
}
@media (max-width:1180px){
 html[data-theme][data-effective-theme] .scale-layout{grid-template-columns:1fr}
}
@media (max-width:760px){
 .ng-context,.ng-user-txt{display:none}
 html[data-theme][data-effective-theme] .content{padding:12px}
 .ng-status>span:not(.ng-grow):not(:first-child){display:none}
 html[data-theme][data-effective-theme] .toast,html[data-theme][data-effective-theme] .undo-toast{bottom:36px!important}
}
@media (prefers-reduced-motion:reduce){.ng-sq,.ng-tile,.ng-tip,.ft{transition:none!important}html[data-theme][data-effective-theme] .toast{animation:none}}
@media print{.ng-ribbon,.ng-head,.ng-status{display:none!important}}

/* ---------- escala: ajustes da 1.6.3 ---------- */
html[data-theme][data-effective-theme] .scale-layout .scale-main{background:transparent;border:0;box-shadow:none;padding:0}
html[data-theme][data-effective-theme] .scale-main .weekbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;margin:0 0 10px;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
html[data-theme][data-effective-theme] .scale-main .section-actions{margin:0}
html[data-theme][data-effective-theme] .sector-block.is-editing .roster-head,html[data-theme][data-effective-theme] .sector-block.is-editing .roster-row{grid-template-columns:minmax(300px,2.4fr) repeat(7,minmax(42px,.53fr)) 52px}
html[data-theme][data-effective-theme] .scale-main.is-comfort .roster-row{min-height:52px}
html[data-theme][data-effective-theme] .scale-main.is-comfort .roster-row .ft{height:34px;width:42px}
html[data-theme][data-effective-theme] .scale-main.is-comfort .person-meta strong{font-size:14px}
html[data-theme][data-effective-theme] .audit-side{background:var(--surface)}
html[data-theme][data-effective-theme] .stats-v102{margin-bottom:12px}
html[data-theme][data-effective-theme] .heading .actions{gap:8px}
html[data-theme][data-effective-theme] .ng-mrow.is-flash{background:var(--primary-soft)}

.ng-ribbon.tips-off .ng-tip{display:none}
