/* Telas do sistema (login, painel e módulos), sobre a base Águia de aguia.css. */
[hidden]{display:none!important}

/* ---------- topo do sistema ---------- */
header.top .wrap{gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px}
.brand .mk{width:30px;height:30px;border-radius:9px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font:700 .72rem var(--body);letter-spacing:-.02em}
.app-nav{display:flex;align-items:center;gap:2px;flex:1;margin-left:18px}
.app-nav a{color:var(--muted);font-size:.86rem;font-weight:500;padding:0 12px;min-height:40px;display:inline-flex;align-items:center;border-radius:10px}
.app-nav a:hover{color:var(--ink);background:var(--surface-2);text-decoration:none}
.app-nav a[aria-current=page]{color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.conta{display:flex;align-items:center;gap:6px}
.conta .emp{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.2;font-size:.78rem;color:var(--muted);text-align:right;max-width:220px}
.conta .emp b{color:var(--ink);font-weight:600;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.conta form{display:inline}
.usar-assistente .btn{gap:6px;white-space:nowrap}
.usar-assistente svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.usar-assistente{margin-right:6px}
@media (max-width:480px){
  .usar-assistente{margin-right:0}
  .usar-assistente span{display:none}
  .usar-assistente .btn{padding:0 11px}
  header.top .brand-txt{white-space:nowrap}
  header.top .conta .emp,header.top .conta .emp b{max-width:28vw}
  header.top .conta{gap:4px}
}
@media (max-width:359px){
  header.top .conta .emp{display:none} /* telas bem estreitas: não cabe; a loja segue no Painel e no menu da conta */
}
.menu{position:relative}
.menu>summary{list-style:none;cursor:pointer;width:40px;height:40px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font:600 .82rem var(--body);color:var(--ink)}
.menu>summary::-webkit-details-marker{display:none}
.menu[open]>summary{box-shadow:0 0 0 2px var(--accent)}
.menu .pop{position:absolute;right:0;top:48px;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--e3);padding:8px;z-index:40}
.menu .pop p{padding:8px 12px 10px;font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--line-2);margin-bottom:6px;word-break:break-all}
.menu .pop a,.menu .pop button{display:flex;width:100%;align-items:center;min-height:42px;padding:0 12px;border-radius:10px;border:0;background:transparent;font:500 .9rem var(--body);color:var(--ink);cursor:pointer;text-align:left}
.menu .pop a:hover,.menu .pop button:hover{background:var(--surface-2);text-decoration:none}
.app-nav svg{display:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:860px){
  .app-nav{position:fixed;left:0;right:0;bottom:0;z-index:35;margin:0;gap:0;justify-content:space-around;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(45,32,20,.06)}
  .app-nav a{flex:1;flex-direction:column;justify-content:center;gap:3px;min-height:56px;padding:4px 0;font-size:.72rem;font-weight:600;border-radius:14px;color:var(--muted)}
  .app-nav svg{display:block}
  .app-nav a:hover{background:transparent}
  .app-nav a[aria-current=page]{color:var(--accent-ink);background:transparent;box-shadow:none}
  .app-nav a[aria-current=page] svg{background:var(--accent-soft);border-radius:999px;width:52px;height:30px;padding:4px 15px;box-sizing:border-box}
  header.top{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}
  .conta .emp{display:none}
  body.app{padding-bottom:84px}
  body.app footer{padding-bottom:96px}
}

/* ---------- páginas do sistema ---------- */
body.app main{padding:36px 0 80px}
.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:28px}
.page-head h1{font-size:2.25rem;letter-spacing:-.04em}
.page-sub{color:var(--muted);font-size:.95rem;margin-top:6px}
@media (max-width:640px){.page-head h1{font-size:1.75rem}}
.page-head .lead{margin-top:8px;font-size:1rem;max-width:640px}
.page-head .acoes{display:flex;flex-wrap:wrap;gap:8px}
.page-head>div:first-child{flex:1 1 380px;min-width:0}
.crumbs{font-size:.84rem;color:var(--muted);margin-bottom:10px}
.crumbs a{color:var(--muted)}
.sec{margin-top:40px;padding:0}
.sec>h2{font-size:1.4rem;letter-spacing:-.03em}
.sec>.sub{color:var(--muted);font-size:.94rem;margin-top:4px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,28px);margin-top:16px}
.panel+.panel{margin-top:14px}
.panel h3{font-size:1.15rem;letter-spacing:-.02em}
.panel .sub{color:var(--muted);font-size:.9rem;margin:4px 0 16px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:860px){.cols{grid-template-columns:1fr}}

/* mensagens */
.msgs{display:grid;gap:8px;margin-bottom:22px}
.msg{display:flex;gap:10px;align-items:flex-start;border-radius:var(--r-sm);padding:12px 16px;font-size:.92rem;background:var(--info-soft);color:var(--info)}
.msg.success{background:var(--ok-soft);color:var(--ok)}
.msg.error{background:var(--red-soft);color:var(--red)}
.msg.warning{background:var(--amber-soft);color:var(--amber-ink)}
@media (max-width:640px){.msg:has(> b){display:block}.msg:has(> b) > b{margin-right:4px}} /* no celular, título e texto viram uma frase só, sem duas colunas */

/* campos */
.field{display:grid;gap:6px;align-content:start}
.field>label,.field>.lbl{font-size:.82rem;font-weight:600;color:var(--ink-2);margin:0}
.field .helptext,.field small.h{font-size:.8rem;color:var(--muted);line-height:1.4}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%}
textarea{border:1px solid var(--control-line);border-radius:var(--r-sm);padding:12px 14px;font:500 .95rem/1.5 var(--body);color:var(--ink);background:var(--surface);resize:vertical}
textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px rgba(201,160,106,.35)}
input[type=file]{height:auto;padding:10px;width:100%}
.errorlist{list-style:none;margin:0;padding:0;color:var(--red);font-size:.82rem}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.form-grid .span2{grid-column:span 2}.form-grid .span4{grid-column:1/-1}
@media (max-width:760px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .span2,.form-grid .span4{grid-column:1/-1}}
.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;align-items:center}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink-2);cursor:pointer}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent-ink);flex:none}

/* chips de seleção feitos com checkbox */
.chips-input{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chips-input>div{display:contents}
.chips-input label{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:var(--r-sm);border:1px solid var(--control-line);background:var(--surface);font:600 .9rem var(--body);cursor:pointer;color:var(--ink-2)}
.chips-input label:hover{background:var(--surface-2)}
.chips-input input{position:absolute;opacity:0;width:1px;height:1px}
.chips-input label:has(input:checked){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.chips-input label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.options.inline{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.opt .radio{position:relative}


.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sr-only:focus{position:fixed!important;left:16px;top:16px;width:auto;height:auto;clip:auto;z-index:100;background:var(--surface);color:var(--ink);padding:10px 16px;border-radius:12px;box-shadow:var(--e2)}
.senha{position:relative}
.senha input{padding-right:52px}
.senha button{position:absolute;right:4px;top:4px;width:40px;height:40px;border:0;background:transparent;border-radius:10px;color:var(--muted);cursor:pointer;display:grid;place-items:center}

/* ---------- painel ---------- */

/* ---------- equipe ---------- */
.lista{width:100%;border-collapse:collapse;font-size:.92rem}
.lista th{text-align:left;font-size:11px;color:var(--muted);font-weight:500;padding:10px 12px;background:var(--surface-2);white-space:nowrap}
.lista th:first-child{border-radius:10px 0 0 10px}.lista th:last-child{border-radius:0 10px 10px 0}
.lista td{padding:12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.lista tr:last-child td{border-bottom:0}
.lista td.num{font:400 .88rem var(--mono);white-space:nowrap}
.lista td input,.lista td select{width:100%;height:44px;font-size:.92rem}
.lista .acao{width:1%;white-space:nowrap;text-align:right}
.lista a.nome{font-weight:600;color:var(--ink)}
.dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:0}
.pills{display:flex;flex-wrap:wrap;gap:4px}
.pill{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:6px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--ink-2)}
.pill.muted{color:var(--muted);font-weight:500}
@media (max-width:640px){.lista.resp thead{display:none}.lista.resp tr{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;border-bottom:1px solid var(--line-2)}.lista.resp td{padding:0;border:0}.lista.resp td.full{grid-column:1/-1}.lista.resp td::before{content:attr(data-l);display:block;font-size:.75rem;color:var(--muted);margin-bottom:4px}.lista.resp .acao{text-align:left}}
.vazio-box{text-align:center;padding:40px 18px;color:var(--muted)}
.vazio-box h3{color:var(--ink);margin-bottom:8px}
.btn-link{border:0;background:none;color:var(--link);font:600 .88rem var(--body);cursor:pointer;padding:0 8px;min-height:44px}
.btn-link.perigo{color:var(--red)}

/* ---------- escala ---------- */
.mes-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mes-nav input[type=month]{width:180px}
.esc-cal form{display:contents}
.cal-d{width:100%}
.turnos-leg{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 14px}
.turnos-leg span{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;color:var(--ink-2)}
.turnos-leg i{font:600 .72rem var(--mono);font-style:normal;width:26px;height:26px;border-radius:7px;display:grid;place-items:center}
.esc-tbl td.trab{font-weight:600}
.t0,.esc-tbl td.trab.t0{--c:#1F5185}.t1,.esc-tbl td.trab.t1{--c:#4A3AA7}.t2,.esc-tbl td.trab.t2{--c:#0F7047}.t3,.esc-tbl td.trab.t3{--c:#A8305F}.t4,.esc-tbl td.trab.t4{--c:#2F6F73}.t5,.esc-tbl td.trab.t5{--c:#3D3B38}
.esc-tbl td.trab.fe{box-shadow:inset 0 0 0 2px var(--amber)}
.turnos-leg i,.esc-tbl .nome .tg{background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 85%,#000)}
.esc-tbl td.folga.pref{position:relative}
.esc-tbl td.folga.pref::after{content:'';position:absolute;right:4px;top:4px;width:5px;height:5px;border-radius:50%;background:var(--amber-ink)}
.esc-tbl .nome small{display:block;font:400 .72rem var(--body);color:var(--muted);margin-top:1px}
.esc-tbl .nome .tg{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;font:600 .62rem var(--mono);margin-right:8px;vertical-align:1px}
.esc-tbl tr.p .nome{height:44px}
.esc-tbl tr.cob .nome{font-size:.74rem}
.esc-tbl tr.cob .nome b{color:var(--ink-2);font-weight:600}
.esc-tbl td.alto{color:var(--red);font-weight:700}
.esc-tbl thead th.fer{color:var(--info)}
.esc-tbl thead th.fer small{color:var(--info)}
details.panel>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}
details.panel>summary::-webkit-details-marker{display:none}
details.panel>summary::after{content:'+';font:300 1.6rem/1 var(--body);color:var(--muted);transition:transform .25s var(--ease)}
details.panel[open]>summary::after{transform:rotate(45deg)}
details.panel>summary h3{display:inline}
details.panel>summary small{display:block;color:var(--muted);font-size:.88rem;font-weight:400;margin-top:2px}

@media print{
  body.app header.top,.app-nav,.no-print,.msgs,.esc-ctrl,.page-head .acoes,details.panel,.alertas,footer{display:none!important}
  body.app main{padding:0}
  body{background:#fff}
  .esc-scroll{overflow:visible;border:0}
  .esc-tbl{font-size:7px}
  .esc-tbl th,.esc-tbl td{min-width:0;height:18px;padding:0 1px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .esc-tbl .nome{position:static;min-width:0;padding:0 4px}
  .esc-tbl thead th{position:static}
  .esc-tbl tr.p .nome{height:18px}
  .page-head{margin-bottom:6px}
  .page-head h1{font-size:16px}
}

/* ---------- barra da escala ---------- */
.btn svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.btn-icon{width:44px;padding:0;min-height:44px}
.mes-nav input[type=month]{width:214px;height:44px}
.toolbar-esc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:18px}
.toolbar-esc select{height:44px;min-width:290px;font-size:.92rem}
.tb-tipo{display:flex;gap:8px}
.tb-sp{flex:1}
.cnt{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font:600 .72rem var(--mono)}
.regra-linha{font-size:.86rem;color:var(--muted);margin:10px 4px 0}
.regra-linha b{color:var(--ink-2);font-weight:600}
@media (max-width:760px){.toolbar-esc select{min-width:0;width:100%}.tb-tipo{flex:1 1 100%}.tb-sp{display:none}}

/* painel suspenso (details) */
.pop{position:relative}
.pop>summary{list-style:none}
.pop>summary::-webkit-details-marker{display:none}
.pop[open]>summary{background:var(--surface-2);border-color:var(--ink-2)}
.pop-painel{position:absolute;left:0;top:calc(100% + 8px);z-index:30;width:340px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 18px 48px rgba(45,32,20,.16);animation:pop-in .18s var(--ease)}
@keyframes pop-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pop-t{font-weight:600}
.pop-s{font-size:.82rem;color:var(--muted);margin:2px 0 12px}
.cal-painel .esc-cal{padding:8px;border-radius:14px}
.cal-painel .cal-d{min-height:38px;font-size:.8rem}
.cal-painel .legend{margin-top:12px;font-size:.78rem}
.legend i.lg-fa{background:var(--info-soft);box-shadow:inset 0 0 0 1px var(--info)}
.legend i.lg-ff{background:var(--red-soft);box-shadow:inset 0 0 0 1px var(--red)}
.legend i.lg-fech{background:var(--surface-2)}
@media (max-width:520px){.pop-painel{position:fixed;left:16px;right:16px;top:auto;bottom:80px;width:auto}}

/* situação da escala */
.status-esc{margin:16px 0 14px;border-radius:16px;background:var(--amber-soft);color:var(--amber-ink);padding:14px 18px;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:start}
.status-esc.ok{background:var(--ok-soft);color:var(--ok)}
.status-esc>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.status-esc>p{font-size:.92rem}
.status-esc .avisos{grid-column:1/-1}
.status-esc .avisos summary{cursor:pointer;font-weight:600;font-size:.9rem;list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:32px}
.status-esc .avisos summary::-webkit-details-marker{display:none}
.status-esc .avisos summary::before{content:'';width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s var(--ease)}
.status-esc .avisos[open] summary::before{transform:rotate(45deg)}
.status-esc.ok .avisos summary{color:var(--ink-2)}
.status-esc ul{margin:6px 0 2px;padding-left:20px;display:grid;gap:6px;font-size:.9rem;color:var(--ink-2)}
.status-esc ul b{color:var(--ink)}

/* ---------- painel ---------- */
.foco{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px 32px;box-shadow:var(--e1)}
.foco h2{font-size:1.75rem;letter-spacing:-.035em;margin-top:6px}
.foco-estado{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--amber-ink);background:var(--amber-soft);border-radius:999px;padding:5px 12px 5px 10px}
.foco-estado svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.foco.ok .foco-estado{color:var(--ok);background:var(--ok-soft)}
.foco.vazio .foco-estado{color:var(--muted);background:var(--surface-2)}
.foco-sub{color:var(--muted);margin-top:4px}
.foco-aviso{margin-top:12px;font-size:.9rem;color:var(--ink-2);max-width:640px}
.foco-txt{flex:1 1 420px;min-width:0}
.foco-acao .btn{min-height:52px;padding:0 26px}
@media (max-width:640px){.foco{padding:22px}.foco-acao,.foco-acao .btn{width:100%}}
.resumo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.resumo-item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:18px;color:var(--ink)!important;text-decoration:none!important;transition:border-color .15s var(--ease),background .15s var(--ease)}
.resumo-item:hover{border-color:var(--control-line);background:#FFFDF9}
.resumo-item:hover .ri-seta{transform:translateX(3px);color:var(--accent-ink)}
.ri-ic{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center}
.ri-ic svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ri-txt b{display:block;font-weight:600}
.ri-txt small{color:var(--muted);font-size:.86rem}
.ri-txt em{font-style:normal;font-weight:600;font-family:var(--mono);font-size:.84rem}
.ri-txt em.sobe{color:var(--red)}
.ri-seta{font-size:1.4rem;color:var(--gray);transition:transform .15s var(--ease),color .15s}
@media (max-width:760px){.resumo{grid-template-columns:1fr}}
.passos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:p}
.passos li{counter-increment:p;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 20px;display:grid;gap:2px}
.passos li::before{content:counter(p);width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font:600 .82rem var(--body);margin-bottom:8px}
.passos span{color:var(--muted);font-size:.9rem}
@media (max-width:760px){.passos{grid-template-columns:1fr}}
.sec-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sec-head h2,.sec>h2{font-size:1.3rem;letter-spacing:-.025em}
.lista-emp{list-style:none;margin:14px 0 0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.lista-emp li{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid var(--line-2)}
.lista-emp li:first-child{border-top:0}
.lista-emp li.ativa{background:#FFFBF4}
.le-ini{width:36px;height:36px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;font:600 .9rem var(--body);color:var(--ink-2)}
.lista-emp li.ativa .le-ini{background:var(--accent);color:var(--on-accent)}
.le-txt b{display:block;font-weight:600}
.le-txt small{color:var(--muted);font-size:.84rem}
.nova-emp{margin-top:14px}
.nova-emp>summary{list-style:none;display:inline-flex}
.nova-emp>summary::-webkit-details-marker{display:none}
.nova-emp[open]>summary{display:none}
.nova-emp .panel{margin-top:0}

.chips-input.dias{gap:6px}
.chips-input.dias label{height:40px;padding:0 11px;font-size:.84rem}
.dom-opc{border:0;padding:0;margin:18px 0 16px;display:grid;gap:8px}
.dom-opc legend{font-size:.82rem;font-weight:600;color:var(--ink-2);margin-bottom:8px;padding:0}
.radio-linha{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;cursor:pointer;font-size:.9rem}
.radio-linha input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:2px 0 0;padding:0;border:1.5px solid var(--control-line);border-radius:50%;background:var(--surface);box-shadow:none;transition:box-shadow .15s var(--ease),border-color .15s}
.radio-linha input:checked{border-color:var(--accent-ink);box-shadow:inset 0 0 0 4.5px var(--accent-ink)}
.radio-linha input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.check input{appearance:auto;-webkit-appearance:auto;width:18px;height:18px;margin:2px 0 0;padding:0;border:0;box-shadow:none;accent-color:var(--accent-ink)}
.radio-linha b{display:block;font-weight:600}
.radio-linha small{color:var(--muted);font-size:.8rem;line-height:1.35}
.arquivo{display:flex;align-items:center;gap:10px;border:1.5px dashed var(--control-line);border-radius:14px;padding:12px;cursor:pointer;margin-bottom:12px;font-size:.88rem;color:var(--accent-ink);font-weight:600}
.arquivo:hover{background:var(--accent-soft);border-color:var(--accent-ink)}
.arquivo input{height:auto;padding:0;border:0;width:auto;max-width:100%;font-size:.82rem;color:var(--ink-2)}
.arquivo input:focus{box-shadow:none}
.arquivo:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.arquivo span{display:none}
.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}

/* ---------- equipe (abas) ---------- */
.eq-numeros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 22px;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.eq-numeros>div{padding:14px 20px;border-left:1px solid var(--line-2)}
.eq-numeros>div:first-child{border-left:0}
.eq-numeros dt{font-size:.78rem;color:var(--muted);font-weight:500}
.eq-numeros dd{margin:2px 0 0;font:600 1.4rem var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.eq-numeros .ruim dd{color:var(--red)}
.eq-numeros .bom dd{color:var(--ok)}
@media (max-width:640px){.eq-numeros{grid-template-columns:1fr 1fr}.eq-numeros>div:nth-child(3){border-left:0}.eq-numeros>div:nth-child(n+3){border-top:1px solid var(--line-2)}}
.abas{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}
.abas::-webkit-scrollbar{display:none}
.abas a{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 14px;color:var(--muted);font-weight:500;font-size:.92rem;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none!important;transition:color .15s,border-color .15s}
.abas a:hover{color:var(--ink)}
.abas a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent-ink);font-weight:600}
.abas a span{font:500 .74rem var(--mono);background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:1px 8px}
.abas a[aria-current=page] span{background:var(--accent-soft);color:var(--accent-ink)}

.fn-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.fn-card{display:grid;gap:14px;height:100%;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:18px;color:var(--ink)!important;text-decoration:none!important;transition:border-color .15s var(--ease),box-shadow .2s var(--ease)}
.fn-card:hover{border-color:var(--control-line);box-shadow:0 10px 30px rgba(45,32,20,.08)}
.fn-card:hover .fn-seta{color:var(--accent-ink);transform:translateX(2px)}
.fn-topo{display:grid;grid-template-columns:1fr auto 20px;gap:12px;align-items:center}
.fn-nome b{display:block;font-weight:600;font-size:1.02rem}
.fn-nome small{color:var(--muted);font-size:.84rem}
.fn-nome .sem{color:var(--amber-ink)}
.fn-pessoas{font-size:.84rem;color:var(--muted);white-space:nowrap}
.fn-pessoas b{font:600 1.15rem var(--mono);color:var(--ink);margin-right:2px}
.fn-seta svg{width:18px;height:18px;fill:none;stroke:var(--gray);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s var(--ease)}
.fn-card:hover .fn-seta svg{stroke:var(--accent-ink);transform:translateX(2px)}
.fn-turnos{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line-2)}
.fn-t{display:grid;grid-template-columns:70px 1fr;gap:2px 12px;align-items:center}
.fn-t em{font-style:normal;font-size:.84rem;font-weight:600;color:var(--ink-2);grid-row:span 2}
.fn-t .barra{display:flex;flex-wrap:wrap;gap:3px}
.fn-t .barra i{width:12px;height:12px;border-radius:4px;background:var(--ok)}
.fn-t .barra i.vz{background:transparent;box-shadow:inset 0 0 0 1.5px var(--red)}
.fn-t small{font-size:.78rem;color:var(--muted)}
.fn-t.falta small{color:var(--red);font-weight:600}
.nota-rodape{font-size:.82rem;color:var(--muted);margin-top:14px}
@media (max-width:420px){.fn-lista{grid-template-columns:1fr}}

.pessoas-panel{margin-top:0;padding-bottom:0;overflow:visible}
.pessoas-barra{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:14px}
.busca{position:relative;flex:0 1 340px}
.busca svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;pointer-events:none}
.busca input{width:100%;padding-left:42px}
.pessoas-tbl td{padding:8px 10px}
.pessoas-tbl td:first-child{width:34%}
@media (max-width:640px){.pessoas-tbl td:first-child{width:auto}.pessoas-tbl tr{padding:14px 0}.pessoas-tbl td select{height:44px}.busca{flex:1 1 100%}}
.tag-fn{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:8px;background:var(--surface-2);color:var(--ink-2)!important;font-size:.84rem;font-weight:500;white-space:nowrap}
.tag-fn:hover{background:var(--accent-soft);text-decoration:none}
.sem-resultado{padding:20px 0;text-align:center}
.salvar-fixo{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:14px;margin:12px calc(-1 * clamp(18px,3vw,28px)) 0;padding:12px clamp(18px,3vw,28px);background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-top:1px solid var(--line-2);border-radius:0 0 var(--r) var(--r)}
[data-alterado]{color:var(--amber-ink)!important;font-weight:600}
@media (max-width:860px){.salvar-fixo{bottom:64px}}

.loja-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.loja-grid .panel{margin-top:0}
@media (max-width:900px){.loja-grid{grid-template-columns:1fr}}
.turnos-cab{display:grid;grid-template-columns:minmax(0,1fr) 112px 112px 96px 112px;gap:8px;font-size:.74rem;color:var(--muted);font-weight:500;margin-bottom:6px;padding:0 2px}
.turnos-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.turno-form{display:grid;grid-template-columns:minmax(0,1fr) 112px 112px 96px 112px;gap:8px;align-items:center}
.turno-form input{height:44px;width:100%;font-size:.92rem;padding:0 10px}
.turno-acoes{display:flex;align-items:center;gap:4px}
.turno-form.novo{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.del-t{width:40px;min-height:40px;border:0;background:transparent;color:var(--gray)}
.del-t:hover{background:var(--red-soft);color:var(--red)}
@media (max-width:560px){.turnos-cab{display:none}.turno-form{grid-template-columns:1fr 1fr;padding:12px;border:1px solid var(--line-2);border-radius:14px}.turno-form>input:first-of-type{grid-column:1/-1}.turno-acoes{grid-column:1/-1}.turno-form.novo{border-style:dashed}}
.formatos{display:grid;gap:12px;margin-bottom:18px}
.formatos div{padding:14px 16px;border-radius:14px;background:var(--bg)}
.formatos b{font-weight:600}
.formatos p{font-size:.88rem;color:var(--muted);margin-top:4px}
.arquivo svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.check.aviso{margin:4px 0 16px}

/* ---------- nomes como etiquetas ---------- */
.tags{display:grid;gap:10px}
.tags-lista{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tags-lista li{display:inline-flex;align-items:center;gap:2px;height:34px;padding:0 4px 0 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-weight:600;font-size:.88rem;animation:pop-in .16s var(--ease)}
.tags-lista button{width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--accent-ink);cursor:pointer;display:grid;place-items:center}
.tags-lista button:hover{background:rgba(122,83,48,.14)}
.tags-lista button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.tags-lista svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.tags-linha{display:flex;gap:8px}
.tags-linha input{flex:1;min-width:0}
.tags-linha .btn{min-height:48px}
.tags-conta{font-size:.8rem;color:var(--muted)}
.tags-conta:empty{display:none}

/* ---------- escala: visões, filtros e leitura da grade ---------- */
.vis-barra{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:0 0 12px}
.seg-vis{display:inline-flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:14px}
.seg-vis button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:600 .88rem var(--body);cursor:pointer;transition:background .15s var(--ease),color .15s}
.seg-vis button:hover{color:var(--ink)}
.seg-vis button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(45,32,20,.12)}
.seg-vis svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.filtros{display:flex;flex-wrap:wrap;gap:8px;flex:0 1 auto}
.filtros .busca{flex:0 1 240px}
.filtros input,.filtros select{height:44px;font-size:.9rem}
.filtros select{min-width:190px}
@media (max-width:640px){.seg-vis{width:100%}.seg-vis button{flex:1;justify-content:center}.filtros,.filtros .busca,.filtros select{flex:1 1 100%;min-width:0}}

.esc-scroll{max-height:calc(100vh - 150px);overflow:auto;overscroll-behavior:contain}
.esc-tbl thead th{z-index:2}
.esc-tbl thead th.nome{z-index:4}
.esc-tbl thead th .dia-btn{all:unset;box-sizing:border-box;display:grid;place-items:center;width:100%;height:100%;min-height:44px;cursor:pointer;border-radius:8px;font:500 .72rem var(--mono)}
.esc-tbl thead th .dia-btn small{display:block;font:500 9px var(--body);color:var(--muted)}
.esc-tbl thead th .dia-btn:hover{background:rgba(201,160,106,.22)}
.esc-tbl thead th .dia-btn:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.esc-tbl .fds{border-left:1px solid var(--line-2)}
.esc-tbl thead th.fds{background:#EAE5DB}
.esc-tbl .ini-sem{border-left:2px solid var(--control-line)!important}
.esc-tbl thead th.hoje .dia-btn{background:var(--ink);color:var(--surface)}
.esc-tbl thead th.hoje .dia-btn small{color:#C0BAB0}
.esc-tbl td.hoje{box-shadow:inset 2px 0 0 var(--ink),inset -2px 0 0 var(--ink)}
.esc-tbl tr.g td{text-align:left;padding-left:12px}
.esc-tbl tr.p:hover th.nome{background:#FFF8EC}
.esc-tbl tr.p:hover td:not(.tot){filter:brightness(.96)}
.esc-tbl .col-hl{filter:brightness(.93)}
.esc-tbl thead th.col-hl .dia-btn{background:rgba(201,160,106,.3)}
.legend i.lg-hoje{background:var(--ink)}
.leg-dica{margin-left:auto;font-size:.8rem;color:var(--muted)}
@media (max-width:640px){.leg-dica{display:none}}

/* dia a dia */
.dias-tira{position:relative;display:flex;gap:6px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin}
.dt{flex:none;scroll-snap-align:center;width:52px;min-height:62px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:grid;place-items:center;align-content:center;gap:2px;cursor:pointer;color:var(--ink);transition:background .15s var(--ease),border-color .15s}
.dt small{font-size:.7rem;color:var(--muted);text-transform:capitalize}
.dt b{font:600 1.05rem var(--mono)}
.dt:hover{border-color:var(--control-line)}
.dt.fechado{background:var(--surface-2);color:var(--gray)}
.dt.fer{border-color:var(--info)}
.dt{position:relative}
.dt.baixo::after{content:"";position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--red)}
.dt[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.dt[aria-selected=true] small{color:#C0BAB0}
.dt:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.dia-det{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,28px);margin-top:6px}
.dd-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.dd-cab h3{font-size:1.35rem;letter-spacing:-.03em}
.dd-cab p{color:var(--muted);font-size:.92rem;margin-top:4px}
.dd-cab .fer-txt{color:var(--info);font-weight:600}
.dd-nav{display:flex;gap:6px}
.dd-grupos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.dd-g{border:1px solid var(--line-2);border-radius:16px;padding:14px 16px;background:var(--bg)}
.dd-g.baixo{border-color:var(--red);background:var(--red-soft)}
.dd-g-cab{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin-bottom:10px}
.dd-fn{font-weight:600;display:flex;align-items:center;gap:8px}
.dd-fn i{width:9px;height:9px;border-radius:3px}
.dd-turno{grid-column:1;font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:6px}
.tgi{font:600 .66rem var(--mono);font-style:normal;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 85%,#000)}
.dd-cont{grid-row:1/3;grid-column:2;align-self:center;font:600 .9rem var(--mono);color:var(--ok)}
.dd-cont.ruim{color:var(--red)}
.dd-pessoas{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.dd-pessoas li{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:999px;font-size:.86rem;font-weight:500;transition:opacity .15s,box-shadow .15s}
.dd-pessoas li.trab{background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 85%,#000)}
.dd-pessoas li.folga{background:var(--amber-soft);color:var(--amber-ink)}
.dd-pessoas li.folga small{font-size:.72rem;opacity:.8}
.dd-pessoas li.ninguem{color:var(--red);font-weight:600;padding:0}
.buscando .dd-pessoas li[data-nome]:not(.achou){opacity:.35}
.dd-pessoas li.achou{box-shadow:0 0 0 2px var(--ink)}
@media (max-width:640px){.dd-grupos{grid-template-columns:1fr}.dd-cab h3{font-size:1.15rem}}
.vis-barra{scroll-margin-top:84px}
section.vis{padding:0}
@media (max-width:640px){
  .esc-tbl .nome{min-width:118px;max-width:132px;padding:0 10px;white-space:normal;line-height:1.2}
  .esc-tbl .nome small{display:none}
  .esc-tbl .nome .tg{display:none}
  .esc-tbl tr.cob .nome{font-size:.68rem}
  .dd-cab{flex-wrap:wrap}
}
section.vis.card{padding:clamp(14px,3vw,32px)}
@media (max-width:640px){.turnos-leg .leg-dica{display:none}.turnos-leg{gap:6px 12px}}

/* ---------- linha do tempo do dia ---------- */
.dd-modos{display:inline-flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:12px;margin-bottom:16px}
.dd-modos button{min-height:36px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:600 .84rem var(--body);cursor:pointer}
.dd-modos button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(45,32,20,.12)}
.tl{--nome:150px;display:grid;gap:2px}
.tl-row{display:grid;grid-template-columns:var(--nome) minmax(0,1fr);align-items:center;min-height:34px}
.tl-nome{font-size:.86rem;font-weight:500;padding-right:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}
.tl-track{position:relative;height:34px;background-image:repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px var(--passo))}
.tl-eixo{min-height:36px;position:sticky;top:64px;z-index:2;background:var(--surface)}
.tl-eixo .tl-track{height:36px;background:none}
.tl-eixo .tl-track span{position:absolute;top:2px;transform:translateX(-50%);font:500 .7rem var(--mono);color:var(--muted)}
.tl-eixo .tl-track span:first-child{transform:none}
.tl-eixo .tl-track span:last-child{transform:translateX(-100%)}
.tl-grupo{padding-top:12px;margin-top:6px;border-top:1px solid var(--line-2)}
.tl-g-cab{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:6px}
.tl-g-cab .dd-cont{margin-left:auto}
.tl-barra{position:absolute;top:5px;bottom:5px;border-radius:8px;background:color-mix(in srgb,var(--c) 22%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 40%,#fff);overflow:hidden}
.tl-int{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--amber-soft) 0 5px,#F7E2BC 5px 10px);box-shadow:inset 1px 0 0 var(--amber),inset -1px 0 0 var(--amber);display:grid;place-items:center;overflow:hidden}
.tl-int span{font:600 .64rem var(--body);color:var(--amber-ink);white-space:nowrap;padding:0 4px}
.tl-row.achou .tl-nome{color:var(--accent-ink);font-weight:700}
.tl-row.achou .tl-barra{box-shadow:inset 0 0 0 2px var(--ink)}
.tl-agora{position:absolute;top:-2px;bottom:-2px;width:2px;margin-left:-1px;background:var(--red);z-index:1;pointer-events:none}
.tl-agora[data-rotulo]::after{content:attr(data-rotulo);position:absolute;bottom:0;left:4px;font:600 .62rem var(--mono);color:var(--red);background:var(--surface);padding:0 3px;border-radius:4px}
.tl-aviso{margin:8px 0 2px;font-size:.84rem;color:var(--red);font-weight:500}
.tl-nota{margin-top:14px;font-size:.8rem;color:var(--muted)}
@media (max-width:640px){
  .tl{--nome:0px;gap:0}
  .tl-row{grid-template-columns:1fr;min-height:0;padding:4px 0}
  .tl-nome{font-size:.78rem;padding:0 0 3px;white-space:nowrap}
  .tl-track{height:24px}
  .tl-barra{top:2px;bottom:2px;border-radius:6px}
  .tl-eixo{position:static;padding:0}
  .tl-eixo .tl-nome{display:none}
  .tl-eixo .tl-track{height:20px}
  .tl-eixo .tl-track span:nth-child(even){display:none}
  .tl-int span{font-size:.58rem;padding:0 2px}
  .tl-g-cab{gap:4px 10px}
  .tl-g-cab .dd-turno{flex-basis:100%;order:3}
  .dd-cab{flex-direction:column;gap:10px}
  .dd-nav{align-self:flex-start}
  .dd-modos{display:flex;width:100%}
  .dd-modos button{flex:1}
}
.status-esc{margin:16px 0 0}

/* ---------- dicas (ícone com texto ao passar o mouse ou tocar) ---------- */
.dica{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:28px;height:28px;border-radius:999px;cursor:help;color:var(--muted);vertical-align:middle;flex:none}
.dica>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dica:hover,.dica:focus-visible{color:var(--ink)}
.dica:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.dica.ruim{color:var(--red)}
.dica.ruim:hover{background:var(--red-soft)}
.dica.info:hover{background:var(--surface-2)}
.dica.selo{height:30px;padding:0 12px 0 8px;font:600 .82rem var(--body);letter-spacing:0;border-radius:999px;margin-left:10px;vertical-align:.35em}
.dica.selo.ok{background:var(--ok-soft);color:var(--ok)}
.dica.selo.aviso{background:var(--amber-soft);color:var(--amber-ink)}
.dica.selo>svg{width:16px;height:16px;stroke-width:2.2}
.dica-txt{position:fixed;z-index:60;left:0;top:0;width:max-content;max-width:min(320px,calc(100vw - 32px));padding:10px 12px;border-radius:12px;background:#212121;color:#F7F4EE;font:400 .82rem/1.45 var(--body);letter-spacing:0;text-align:left;box-shadow:0 12px 32px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s var(--ease),transform .15s var(--ease),visibility 0s .15s;pointer-events:none;white-space:normal}
.dica-txt.largo{max-width:min(440px,calc(100vw - 32px))}
.dica-txt b{color:#F7F4EE;font-weight:600}
.dica-lista{display:grid;gap:8px;margin-top:6px}
.dica-lista:first-child{margin-top:0}
.dica-lista span{padding-left:12px;position:relative}
.dica-lista span::before{content:'';position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.dica.aberta .dica-txt{opacity:1;visibility:visible;transform:none;transition:opacity .15s var(--ease),transform .15s var(--ease)}
.titulo-com-selo{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0}
.tb-tipo{align-items:center}
.dd-modos{vertical-align:middle;margin-right:4px}
@media print{.dica{display:none}}
.toolbar-esc select{min-width:250px}
.legend .dica{margin-left:auto}
.leg-dica .dica{margin-left:0}
.sum-titulo{display:inline-flex;align-items:center;gap:6px}
details.panel>summary .dica{vertical-align:middle}
.pop-t{display:flex;align-items:center;gap:4px;margin-bottom:10px}

/* ---------- marca Análise Group ---------- */
.brand-simbolo{width:28px;height:28px;object-fit:contain;flex:none}
.brand-txt{display:grid;line-height:1.05}
.brand-txt small{font:500 .66rem var(--body);letter-spacing:.02em;color:var(--muted)}
.toolbar-esc select{min-width:0;width:262px}
@media (max-width:760px){.toolbar-esc select{width:100%}}

/* ---------- custo ---------- */
.aviso-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;background:var(--amber-soft);color:var(--amber-ink)!important;font-weight:600;font-size:.86rem;text-decoration:none!important}
.aviso-chip:hover{background:#F6E2BE}
.aviso-chip svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.custo-barra{margin-bottom:16px}
.fase-tab{display:grid;gap:0;min-height:44px;padding:4px 16px;border-radius:10px;color:var(--muted)!important;text-decoration:none!important;line-height:1.2;align-content:center}
.fase-tab b{font-weight:600;font-size:.88rem}
.fase-tab small{font-size:.72rem}
.fase-tab:hover{color:var(--ink)!important}
.fase-tab[aria-current=page]{background:var(--surface);color:var(--ink)!important;box-shadow:0 1px 3px rgba(45,32,20,.12)}
.encargos-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.enc-rot{font-size:.82rem;font-weight:600;color:var(--muted)}
.seg-enc label{position:relative;display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:10px;font:600 .82rem var(--body);color:var(--muted);cursor:pointer}
.seg-enc label input{position:absolute;opacity:0;width:1px;height:1px}
.seg-enc label:has(input:checked){background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(45,32,20,.12)}
.seg-enc label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:1px}
.enc-pct{position:relative;display:inline-flex;align-items:center}
.enc-pct input{width:96px;height:44px;padding-right:30px}
.enc-pct i{position:absolute;right:12px;font-style:normal;color:var(--muted)}
.enc-pct[hidden]{display:none}
@media (max-width:760px){.custo-barra .seg-vis{width:100%}.fase-tab{flex:1;text-align:center}.encargos-form{width:100%}.seg-enc{flex:1}.seg-enc label{flex:1;justify-content:center;padding:0 6px;font-size:.76rem}}
.custo-hero{margin-bottom:8px}
.hr-de{color:#C0BAB0;font-size:.92rem}
.hr-de b{color:#F7F4EE}
.decisoes{margin-top:32px}
.dec-lista{list-style:none;margin:14px 0 0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.dec{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.4fr);gap:12px 24px;align-items:center;padding:16px 22px;border-top:1px solid var(--line-2)}
.dec:first-child{border-top:0}
.dec-fn b{display:block;font-weight:600;font-size:1rem}
.dec-fn small{color:var(--muted);font-size:.84rem}
.dec-fn em{font-style:normal;color:var(--amber-ink);font-weight:600}
.dec-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.op{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"r nome" "r valor";gap:0 10px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease)}
.op:hover{border-color:var(--control-line)}
.op input{grid-area:r;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;padding:0;border:1.5px solid var(--control-line);border-radius:50%;background:var(--surface);transition:box-shadow .15s var(--ease),border-color .15s}
.op input:checked{border-color:var(--accent-ink);box-shadow:inset 0 0 0 4.5px var(--accent-ink)}
.op input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.op-nome{grid-area:nome;font-size:.84rem;font-weight:600;color:var(--ink-2)}
.op-valor{grid-area:valor;font:500 1.02rem var(--mono);font-variant-numeric:tabular-nums}
.op-valor small{font:400 .74rem var(--body);color:var(--muted);margin-left:2px}
.op-tag{position:absolute;top:-9px;right:10px;font-size:.66rem;font-weight:700;letter-spacing:.02em;color:var(--ok);background:var(--ok-soft);border-radius:999px;padding:2px 8px}
.op.escolhida{border-color:var(--accent-ink);background:#FFFBF4}
.dec.sem .dec-fn b{color:var(--ink-2)}
.dec-ok{display:flex;align-items:center;gap:8px;color:var(--ok);font-weight:600;font-size:.9rem}
.dec-ok svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){.dec{grid-template-columns:1fr;padding:16px}.dec-opcoes{grid-template-columns:1fr 1fr}}
.tempo-card{margin-top:28px}
.tempo-card .chart-box{height:280px;margin-top:14px}

/* ---------- largura total nas telas do sistema ---------- */
body.app .wrap{max-width:none;padding-left:clamp(16px,3vw,48px);padding-right:clamp(16px,3vw,48px)}
body.app .page-head .lead,body.app .page-sub{max-width:760px}
body.app .dec-lista,body.app .lista-emp{width:100%}
@media (min-width:1500px){
  .resumo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dd-grupos{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
  .fn-lista{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}
}

/* ---------- resumo do custo (claro, na paleta Águia) ---------- */
.resumo-custo{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3.5vw,40px);box-shadow:var(--e1)}
.rc-rot{font-weight:600;color:var(--ink-2)}
.rc-rot span{font-weight:500;color:var(--muted)}
.rc-valor{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:4px 0 18px;font:600 clamp(2.6rem,5.5vw,4.2rem)/1 var(--display);letter-spacing:-.05em;color:var(--ink);font-variant-numeric:tabular-nums}
.rc-valor span{display:inline-block}
.rc-valor span::first-letter{color:var(--accent)}
.resumo-custo.ok .rc-valor{color:var(--ok)}
.rc-valor small{font:500 1rem var(--body);letter-spacing:0;color:var(--muted)}
.rc-barra{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--surface-2)}
.rc-barra i{display:block;height:100%}
.rc-barra .base{background:#CFC9BE}
.rc-barra .mais{flex:1;background:var(--accent)}
.rc-de{display:flex;justify-content:space-between;gap:16px;margin:8px 0 18px}
.rc-de dt{font-size:.78rem;color:var(--muted)}
.rc-de dd{margin:0;font:500 1rem var(--mono);font-variant-numeric:tabular-nums}
.rc-de .dest{text-align:right}
.rc-de .dest dd{color:var(--accent-ink);font-weight:600}
.rc-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.rc-chips li{min-height:30px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-weight:600;font-size:.82rem}
.rc-ok{color:var(--ok);font-weight:500}
.rc-fases{list-style:none;margin:0;padding:0 0 0 4px;display:grid;gap:0;position:relative}
.rc-fases li{position:relative;display:grid;grid-template-columns:22px 1fr auto;grid-template-areas:"p nome valor" "p quando dif";gap:0 12px;padding:14px 0}
.rc-fases li+li{border-top:1px solid var(--line-2)}
.rc-ponto{grid-area:p;align-self:center;width:12px;height:12px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 2px #CFC9BE}
.rc-fases li::before{content:'';position:absolute;left:5px;top:0;bottom:0;width:2px;background:var(--line)}
.rc-fases li:first-child::before{top:50%}
.rc-fases li:last-child::before{bottom:50%}
.rc-ponto{position:relative;z-index:1}
.rc-f-nome{grid-area:nome;font-weight:600}
.rc-f-nome em{font-style:normal;font-weight:500;color:var(--muted);margin-left:4px}
.rc-f-quando{grid-area:quando;font-size:.8rem;color:var(--muted)}
.rc-f-valor{grid-area:valor;text-align:right;font:500 .98rem var(--mono);font-variant-numeric:tabular-nums}
.rc-f-dif{grid-area:dif;text-align:right;font-size:.78rem;color:var(--muted);font-weight:600}
.rc-fases li.atual .rc-ponto{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.rc-fases li.atual .rc-f-valor,.rc-fases li.atual .rc-f-dif{color:var(--accent-ink);font-weight:600}
@media (max-width:860px){.resumo-custo{grid-template-columns:1fr}}
.tl-alm{display:none}
@media (max-width:640px){
  .tl-alm{display:inline;margin-left:8px;font-size:.72rem;font-weight:600;color:var(--amber-ink)}
  .tl-int span{display:none}
}
/* Cartões de função: mesma altura na linha, conteúdo sempre a partir do topo. */
.fn-card{align-content:start}
.fn-turnos{align-content:start}
.fn-t{align-content:start}
.fn-t em{align-self:start;padding-top:1px}
.eq-numeros dt{display:flex;align-items:center;gap:2px}.eq-numeros dt .dica{min-width:22px;height:22px}.eq-numeros dt .dica>svg{width:16px;height:16px}

/* ---------- primeiro acesso ---------- */
/* Passos: dizem onde a pessoa está e somem quando a escala já existe. */
.passos{margin-bottom:24px}
.passos li:not(.atual):not(.feito){color:var(--muted)}
.passos li:not(.atual):not(.feito)::before{background:var(--surface-2);color:var(--muted)}
.passos li.atual{border-color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-ink)}
.passos li.feito::before{background:var(--ok-soft);color:var(--ok)}
.passos li.feito span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:760px){
  .passos{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:18px}
  .passos li{padding:10px 10px 12px;border-radius:14px;font-size:.8rem;line-height:1.25}
  .passos li::before{width:22px;height:22px;font-size:.72rem;margin-bottom:4px}
  .passos li span{display:none}
}
.horario{border:0;margin:0;padding:0;min-width:0}
.horario legend{padding:0;margin-bottom:6px;font-size:.82rem;font-weight:600;color:var(--ink-2)}
.horario-campos{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.horario-campos label{font-size:.9rem;color:var(--ink-2)}
.horario .horario-campos input[type=time]{width:132px;flex:none}
.form-grid .check{grid-column:1/-1}
.check small.h{display:block;font-size:.8rem;color:var(--muted);line-height:1.4;margin-top:2px}
.app-nav a.sem-loja{opacity:.45}
@media (max-width:860px){
  .conta .emp{display:inline-flex;max-width:42vw}
  .conta .emp small{display:none}
  .conta .emp b{max-width:42vw;font-size:.8rem}
}
@media (max-width:640px){.abas{-webkit-mask-image:linear-gradient(90deg,#000 80%,transparent);mask-image:linear-gradient(90deg,#000 80%,transparent)}}

/* Escala: feriados, cópia e downloads; no celular ficam recolhidos em "Ações". */
.tb-mais{flex:1 1 auto;min-width:0}
.tb-mais>summary{display:none}
.tb-mais-itens{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
@media (max-width:760px){
  .toolbar-esc .tb-tipo{flex:1 1 0;min-width:0}
  .tb-mais{flex:0 0 auto}
  .tb-mais>summary{display:inline-flex;list-style:none;height:44px}
  .tb-mais>summary::-webkit-details-marker{display:none}
  .tb-mais>summary svg circle{fill:currentColor;stroke:none}
  .tb-mais[open]{flex:1 1 100%}
  .tb-mais-itens{margin-top:8px}
}
.primeira{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin:12px 0 16px;padding:16px 20px;border-radius:var(--r);background:var(--ok-soft);color:var(--ink-2);font-size:.93rem;line-height:1.5}
.primeira>div:first-child{flex:1 1 380px;max-width:72ch}
.primeira b{color:var(--ok)}
.primeira-acoes{display:flex;flex-wrap:wrap;gap:8px}

/* Custo: o regime é perguntado uma vez, antes do número virar decisão. */
.pergunta-regime{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding:22px 24px;margin-bottom:16px;border-radius:var(--r);background:var(--amber-soft)}
.pergunta-regime>div{flex:1 1 380px}
.pergunta-regime h2{font-size:1.15rem;letter-spacing:-.02em;margin-bottom:4px}
.pergunta-regime p{color:var(--ink-2);font-size:.92rem;max-width:64ch}
.pr-opcoes{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:640px){.pr-opcoes,.pr-opcoes .btn{width:100%}}

/* Função: as pessoas primeiro; os dados da função ficam recolhidos. */
.dados-fn .sum-titulo{flex-direction:column;align-items:flex-start;gap:2px}
@media (max-width:640px){.lista.resp.pessoas-fn tr{position:relative;padding:10px 0}.pessoas-fn td.full::before{display:none}.lista.resp.pessoas-fn td.full input{width:calc(100% - 92px)}.lista.resp.pessoas-fn .acao{position:absolute;right:0;top:10px;width:88px;height:48px;display:flex;align-items:center;justify-content:flex-end}}

/* Grade do mês: cabe num notebook de 1366–1440 px e o texto não fica abaixo de 11 px. */
.esc-tbl th,.esc-tbl td{min-width:30px}
.esc-tbl .tot{min-width:38px;font-size:.78rem}
.esc-tbl td{font-size:.76rem}
.esc-tbl thead th .dia-btn{font-size:.76rem}
.esc-tbl thead th small,.esc-tbl thead th .dia-btn small{font-size:11px}
.esc-tbl tr.g td small{font-size:.78rem;font-family:var(--body)}
.esc-tbl tr.cob .nome{font-size:.78rem}
/* Títulos de bloco: são h2 (a página tem um h1 só e nenhum nível pulado), com o tamanho de subtítulo. */
.panel h2,.vazio-box h2{font-size:1.15rem;letter-spacing:-.02em}
.vazio-box h2{color:var(--ink);margin-bottom:8px}
.empty h2{font-size:1.4rem;letter-spacing:-.02em;margin-bottom:8px}
.dd-cab h2{font-size:1.35rem;letter-spacing:-.03em}
@media (max-width:640px){.dd-cab h2{font-size:1.15rem}}
details.panel>summary h2{display:inline}
@media (min-width:761px){.toolbar-esc select{width:auto}}
@media (min-width:861px) and (max-width:1500px){
  #vis-grade.card{padding-left:18px;padding-right:18px}
  .esc-tbl th,.esc-tbl td{min-width:28px}
  .esc-tbl tbody tr.p .nome{max-width:168px;white-space:normal;line-height:1.2;padding-top:4px;padding-bottom:4px}
  .esc-tbl tr.cob .nome{white-space:normal;max-width:168px;line-height:1.25}
}

/* ---------- troca de página ----------
   Transição nativa entre páginas (View Transitions). O topo e o menu ficam parados;
   só o conteúdo troca: a página que sai esmaece rápido e a que entra sobe 8 px. */
@view-transition{navigation:auto}
body.app header.top{view-transition-name:topo}
body.app .app-nav{view-transition-name:menu}
::view-transition-group(topo),::view-transition-group(menu){animation-duration:0s}
::view-transition-old(root){animation:vt-sai .14s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:vt-entra .32s cubic-bezier(.16,1,.3,1) both}
@keyframes vt-sai{to{opacity:0}}
@keyframes vt-entra{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
html.vt-local::view-transition-old(root){animation:vt-sai .1s linear both}
html.vt-local::view-transition-new(root){animation:vt-aparece .18s cubic-bezier(.16,1,.3,1) both}
@keyframes vt-aparece{from{opacity:0}}
.toolbar-esc+.vis-barra,.toolbar-esc+.primeira+.vis-barra{margin-top:12px}

/* Feriados: horário de cada feriado aberto, dentro do painel de feriados da escala. */
.fer-horarios{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2);display:grid;gap:10px}
.fer-h{display:grid;grid-template-columns:1fr;gap:6px}
.fer-h-nome{font-size:.86rem;color:var(--ink-2)}
.fer-h-nome small{display:block;font-size:.76rem;color:var(--muted)}
.fer-h-campos{display:flex;align-items:center;gap:6px}
.fer-h-campos input{width:100%;min-width:0;height:40px}
.fer-h-acoes{display:flex;gap:6px}
.cal-painel{max-height:min(80vh,640px);overflow:auto}
.feriado-padrao{margin:0 0 16px}

/* Edição à mão: quadrados clicáveis, marca do que mudou e o menu do dia. */
.esc-tbl td.edita{cursor:pointer}
.esc-tbl td.edita:hover{box-shadow:inset 0 0 0 2px var(--accent-ink)}
.esc-tbl td.edita:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.esc-tbl td.aj{position:relative}
.esc-tbl td.aj::before{content:'';position:absolute;left:5px;right:5px;bottom:4px;height:2px;border-radius:2px;background:var(--accent-ink)}
.legend i.lg-aj{background:var(--surface);box-shadow:inset 0 -3px 0 -1px var(--accent-ink)}
.aj-menu{position:absolute;z-index:60;width:max-content;min-width:230px;max-width:300px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 48px rgba(45,32,20,.18);padding:8px;animation:pop-in .16s var(--ease)}
.aj-cab{padding:6px 10px 8px;border-bottom:1px solid var(--line-2);margin-bottom:4px;font-size:.82rem;color:var(--muted)}
.aj-cab b{display:block;color:var(--ink);font-size:.92rem;font-weight:600}
.aj-t{padding:8px 10px 4px;font-size:.76rem;font-weight:600;color:var(--muted)}
.aj-nota{padding:6px 10px 8px;font-size:.84rem;color:var(--muted);line-height:1.4}
.aj-op{display:flex;width:100%;min-height:40px;align-items:center;padding:0 10px;border:0;border-radius:10px;background:transparent;font:500 .9rem var(--body);color:var(--ink);cursor:pointer;text-align:left}
.aj-op:hover,.aj-op:focus-visible{background:var(--surface-2);outline:none}
.aj-op.sec{color:var(--accent-ink);font-weight:600;margin-top:4px;border-top:1px solid var(--line-2);border-radius:0 0 10px 10px}
@media print{.esc-tbl td.aj::before{display:none}}

/* Folga preferida: uma linha por pessoa, um toque escolhe o dia; o rodapé conta quantos pedem cada dia. */
.prefs{margin-top:14px;display:grid;gap:22px}
.prefs-sub{font-size:.9rem;color:var(--muted);max-width:72ch}
.pref-tbl{width:auto;border-collapse:separate;border-spacing:0;font-size:.88rem}
.pref-tbl caption{caption-side:top;text-align:left;font:600 1rem var(--display);letter-spacing:-.015em;color:var(--ink);padding:0 0 8px}
.pref-tbl caption small{font:400 .8rem var(--body);color:var(--muted);margin-left:8px}
.pref-tbl th,.pref-tbl td{padding:4px 3px;text-align:center;border-bottom:1px solid var(--line-2)}
.pref-tbl thead th{font-size:.76rem;font-weight:600;color:var(--muted);padding-bottom:6px}
.pref-tbl .pf-nome{text-align:left;font-weight:500;color:var(--ink);padding:4px 24px 4px 0;min-width:180px}
.pref-tbl .pf-nome small{display:block;font-size:.74rem;font-weight:400;color:var(--muted)}
.pref-tbl thead .pf-nome{color:var(--muted);font-weight:600}
.pref-tbl tbody tr:hover{background:var(--surface-2)}
.pf-op{display:block;cursor:pointer}
.pf-op input{position:absolute;opacity:0;width:1px;height:1px}
.pf-op span{display:grid;place-items:center;height:36px;min-width:52px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-weight:500;transition:background .12s,border-color .12s,color .12s}
.pf-op:hover span{border-color:var(--control-line);background:var(--surface-2)}
.pf-op input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
.pf-op.qualquer input:checked+span{background:var(--surface-2);border-color:var(--line);color:var(--muted)}
.pf-op input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.pref-tbl tfoot th,.pref-tbl tfoot td{border-bottom:0;padding-top:8px;font-size:.78rem;color:var(--muted)}
.pref-tbl tfoot td.muitos{color:var(--amber-ink);font-weight:700}
.prefs-acoes{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:10px 10px 10px 16px;border-radius:16px;background:var(--surface);box-shadow:0 8px 28px rgba(45,32,20,.12);border:1px solid var(--line)}
.prefs-status{font-size:.88rem;color:var(--muted);margin-right:auto;white-space:nowrap}
@media (max-width:860px){.prefs-acoes{bottom:76px}}
@media (max-width:640px){
  .pref-tbl thead{display:none}
  .pref-tbl tbody tr,.pref-tbl tfoot tr{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;padding:10px 0;border-bottom:1px solid var(--line-2)}
  .pref-tbl .pf-nome{min-width:0;padding:0 0 4px}
  .pref-tbl tbody th,.pref-tbl tfoot th{grid-column:1/-1;border:0;width:auto}
  .pref-tbl td{border:0;padding:0}
  .pf-op span{min-width:0;padding:0;height:40px;font-size:.78rem}
  .pf-op.qualquer span{font-size:0}
  .pf-op.qualquer span::after{content:'—';font-size:.9rem}
  .pref-tbl{width:100%}
  .prefs-acoes{padding:8px 8px 8px 14px}
  .prefs-acoes .btn{padding:0 16px}
  .prefs-status{font-size:.8rem;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .pf-mais{display:none}
}
/* Conteúdo de menu recolhido fica fora do layout: senão o Chrome do celular conta a largura dele e a página alarga. */
.tb-mais:not([open])>.tb-mais-itens,details.pop:not([open])>.pop-painel{display:none}

/* Acesso suspenso: uma mensagem só, no centro. */
.suspenso{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.suspenso-cartao{max-width:460px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:32px 28px;display:grid;gap:12px;justify-items:start}
.suspenso-cartao h1{font-size:1.6rem;letter-spacing:-.03em}
.suspenso-cartao p{color:var(--ink-2);line-height:1.55}

/* ---------------------------------------------------------------- painel da Análise (/gestao/) */
.conta .ambiente{font-size:.78rem;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:6px 12px;white-space:nowrap}
.g-alertas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:22px}
.g-alerta{display:flex;align-items:baseline;gap:10px;padding:16px 18px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);color:var(--ink-2)!important;text-decoration:none!important;font-size:.9rem}
.g-alerta b{font:600 1.5rem var(--display);font-variant-numeric:tabular-nums;color:var(--ink)}
a.g-alerta:hover{border-color:var(--control-line)}
.g-alerta.atencao{background:var(--amber-soft);border-color:transparent;color:var(--amber-ink)!important}
.g-alerta.atencao b{color:var(--amber-ink)}
.g-alerta.perigo{background:var(--red-soft);border-color:transparent;color:var(--red)!important}
.g-alerta.perigo b{color:var(--red)}
.g-alerta.neutro{background:var(--bg);color:var(--muted)!important}
.g-alerta.neutro b{color:var(--muted)}
.g-atalhos-secoes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.g-atalhos-secoes a{min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);text-decoration:none}
.g-filtros{flex:1 1 auto;align-items:center}
.g-filtros select{min-width:180px}
.g-tabela{padding:clamp(8px,1.5vw,14px);overflow-x:auto}
/* com confirmação (Desativar, Nova senha), a caixa precisa sair do quadro: rolar para o lado a cortaria */
.g-tabela:has(.g-confirmar){overflow:visible}
.g-tabela .empty{padding:32px 16px;color:var(--muted)}
.g-tabela div.empty{display:grid;justify-items:start;gap:12px}
.g-tabela div.empty p{margin:0;max-width:60ch}
.g-conta{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 7px;margin-left:6px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:.74rem;font-weight:600}
.g-abas a[aria-current=page] .g-conta{background:var(--accent-soft);color:var(--accent-ink)}
.g-abas+.g-filtros{margin-top:16px}
.g-infracoes{margin-top:28px}
.g-infracoes h2{font-size:1.1rem;margin:4px 4px 10px}
/* cadastro de cliente */
.g-atalhos{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.g-atalhos .btn{min-height:36px;padding:0 12px;font-size:.8rem}
.g-usar-contato{margin:-4px 0 14px}
/* pop-up de cadastro (dialog nativo: Esc fecha, o foco fica dentro, o fundo não rola) */
.g-dialogo{padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 48px);box-shadow:0 24px 64px rgba(33,33,33,.28);overflow:hidden}
.g-dialogo[open]{display:flex;flex-direction:column}
.g-dialogo::backdrop{background:rgba(33,29,24,.55)}
body:has(dialog.g-dialogo[open]){overflow:hidden}
.g-cadastro{display:flex;flex-direction:column;min-height:0;flex:1}
.g-dialogo-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 14px;border-bottom:1px solid var(--line-2)}
.g-dialogo-topo h2{font-size:1.5rem;letter-spacing:-.03em}
.g-dialogo-topo p{margin:6px 0 0;color:var(--muted);font-size:.9rem;line-height:1.5;max-width:56ch}
.g-fechar{flex:none;width:44px;height:44px;margin:-6px -8px 0 0;border:0;border-radius:50%;background:transparent;color:var(--ink-2);cursor:pointer;display:grid;place-items:center}
.g-fechar:hover{background:var(--surface-2);color:var(--ink)}
.g-fechar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.g-dialogo-corpo{overflow-y:auto;overscroll-behavior:contain;padding:8px 24px 20px;flex:1;min-height:0}
.g-dialogo .g-passo{border:0;border-bottom:1px solid var(--line-2);border-radius:0;padding:18px 0 20px;margin:0}
.g-dialogo .g-passo:last-of-type{border-bottom:0}
.g-dialogo [hidden]{display:none!important} /* .btn e .g-fechar têm display próprio e venceriam o atributo hidden */
.g-dialogo .g-passo legend{float:left;width:100%;padding:0;margin:0 0 10px}
.g-dialogo .g-passo legend+*{clear:both}
.g-dialogo .g-passo .sub{margin:0 0 14px;font-size:.9rem;line-height:1.5;color:var(--ink-2)}
.g-dialogo .g-passo.completo .g-n{background:var(--ok);color:#fff;font-size:0}
.g-dialogo .g-passo.completo .g-n::before{content:"✓";font-size:.95rem}
.g-opcionais{margin-top:14px;border:1px dashed var(--line);border-radius:var(--r-sm);padding:0 14px}
.g-opcionais>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;color:var(--ink-2)}
.g-opcionais[open]>summary{border-bottom:1px solid var(--line-2);margin-bottom:14px}
.g-opcionais .form-grid{padding-bottom:14px}
.g-validade{display:grid;gap:8px}
.g-atalhos .btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.g-dialogo-rodape{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:14px 24px;border-top:1px solid var(--line-2);background:var(--surface)}
.g-faltam{margin:0;font-size:.84rem;color:var(--muted);flex:1 1 220px}
.g-faltam.pronto{color:var(--ok);font-weight:600}
.g-dialogo-acoes{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.g-erro{display:block;color:var(--red);font-size:.82rem;margin-top:4px}
.g-dialogo input[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
@media (max-width:640px){
  .g-dialogo{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}
  .g-dialogo-topo{padding:16px 16px 12px}
  .g-dialogo-corpo{padding:4px 16px 16px}
  .g-dialogo-rodape{padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}
  .g-faltam{flex:none}
  .g-dialogo-acoes{flex-direction:column-reverse;align-items:stretch}
  .g-dialogo-acoes .btn{width:100%}
}
.g-mensagem{width:100%;min-height:220px;font:400 .88rem/1.5 var(--body);resize:vertical}
.g-mensagem-campo{margin-top:24px}
.g-proximos{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.g-num{text-align:right!important}
.g-sub{display:block;color:var(--muted);font-size:.8rem;font-weight:400;margin-top:2px}
.g-sub.g-sub-linha{display:inline;margin-left:8px;letter-spacing:0}
.g-mono{font-family:var(--mono);font-size:.9em}
.g-sit{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;background:var(--ok-soft);color:var(--ok)}
.g-sit::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.g-sit.vence{background:var(--amber-soft);color:var(--amber-ink)}
.g-sit.vencido,.g-sit.suspenso{background:var(--red-soft);color:var(--red)}
h1 .g-sit{margin-left:12px;font-size:.82rem;letter-spacing:0;vertical-align:middle}
.g-paginas{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 0 4px;font-size:.88rem;color:var(--muted)}
.g-passo{border:1px solid var(--line);min-width:0}
.g-passo legend{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:600;letter-spacing:-.02em;padding:0 6px;margin-left:-6px}
.g-n{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font:500 .85rem var(--mono)}
.g-senha .msg{margin-bottom:20px}
.g-senha-linha{display:flex;gap:8px}
.g-senha-linha input{flex:1;min-width:0}
.g-senha-valor{font:600 1.15rem var(--mono)!important;letter-spacing:.06em}
.g-regras{margin:20px 0 0;padding-left:20px;color:var(--ink-2);font-size:.9rem;display:grid;gap:6px}
.g-numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0 0}
.g-numeros div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px}
.g-numeros dt{font-size:.8rem;color:var(--muted)}
.g-numeros dd{margin:4px 0 0;font:600 1.5rem var(--display);font-variant-numeric:tabular-nums}
.g-acoes{display:flex;justify-content:flex-end;align-items:flex-start;gap:4px;flex-wrap:nowrap}
.g-confirmar{position:relative}
.g-confirmar>summary{list-style:none;display:inline-flex;align-items:center}
.g-confirmar>summary::-webkit-details-marker{display:none}
.g-confirmar-caixa{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:min(340px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 12px 32px rgba(33,33,33,.14);padding:16px;text-align:left;white-space:normal}
.g-confirmar-caixa p{font-size:.88rem;color:var(--ink-2);margin:0 0 12px;line-height:1.45}
.g-confirmar-caixa b{color:var(--ink)}
.btn-perigo{background:var(--red);border-color:var(--red);color:#fff}
.btn-perigo:hover{background:#7E1C1C;border-color:#7E1C1C}
.g-abas{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none} /* rola para o lado no celular, sem barra */
.g-abas a{padding:10px 14px;min-height:44px;display:inline-flex;align-items:center;font-size:.9rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none!important}
.g-abas a:hover{color:var(--ink)}
.g-abas a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}
.g-filtros-reg .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-total{font-size:.84rem;color:var(--muted);margin:4px 6px 10px}
.g-reg td{vertical-align:top}
.g-reg td.num{white-space:nowrap}
.g-det{font-size:.8rem;overflow-wrap:anywhere}
.g-cat{display:inline-block;font-size:.7rem;font-weight:600;border-radius:6px;padding:2px 7px;margin-right:4px;background:var(--surface-2);color:var(--ink-2)}
.g-cat.cat-seguranca{background:var(--red-soft);color:var(--red)}
.g-cat.cat-acao{background:var(--accent-soft);color:var(--accent-ink)}
.g-cat.cat-acesso{background:var(--info-soft);color:var(--info)}
.g-mud{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.86rem}
.g-mud span{color:var(--muted)}
.g-mud s{color:var(--muted)}
.g-mud-mais summary{cursor:pointer;color:var(--link);font-size:.86rem;font-weight:600;min-height:32px;display:inline-flex;align-items:center}
.g-mud-mais[open] summary{margin-bottom:6px}
.g-papel{display:flex;align-items:center;gap:4px}
.g-papel select{min-height:40px;font-size:.86rem;padding-top:0;padding-bottom:0}
.g-papel .btn-link{white-space:nowrap}
.g-aviso{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin:0 0 24px}
details.g-filtros-caixa>summary{display:none} /* no computador os filtros ficam sempre abertos */
@media (max-width:860px){body.gestao .app-nav:not(:has(a + a)){display:none} /* atendente: uma seção só */}
@media (max-width:900px){.g-filtros-reg .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .conta .ambiente{display:none}
  .g-filtros-reg .form-grid{grid-template-columns:1fr}
  .g-filtros-reg .form-grid .span2{grid-column:auto}
  details.g-filtros-caixa>summary{display:flex;min-height:44px;font-weight:600}
  details.g-filtros-caixa[open]>summary{margin-bottom:12px}
  .g-tabela .lista td:has(.g-papel){grid-column:1/-1}
  .g-filtros .busca{flex:1 1 100%}
  .g-senha-linha{flex-direction:column}
  .g-senha-linha input{flex:none}
  /* no celular, cada linha vira um cartão: nada de rolar para o lado */
  .g-tabela{overflow:visible}
  .g-tabela .lista,.g-tabela .lista tbody{display:block}
  .g-tabela .lista thead{display:none}
  .g-tabela .lista tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:12px 6px;border-bottom:1px solid var(--line-2)}
  .g-tabela .lista tr:last-child{border-bottom:0}
  .g-tabela .lista td{display:block;padding:0;border:0;min-width:0;overflow-wrap:anywhere}
  .g-tabela .lista td:first-child{grid-column:1/-1}
  .g-tabela .lista td.acao{grid-column:1/-1;width:auto;text-align:left}
  .g-tabela .g-acoes{justify-content:flex-start}
  .g-tabela .g-acoes{flex-wrap:wrap}
  .g-tabela .g-confirmar[open]{flex-basis:100%;order:2}
  .g-confirmar-caixa{position:static;width:auto;margin-top:8px;box-shadow:none;background:var(--surface-2);border-color:transparent}
  .page-head .g-confirmar[open]{width:100%}
  .g-tabela .lista td.g-num{text-align:left!important}
  .g-tabela .lista td.g-num::after{content:attr(data-rotulo);margin-left:6px;font:400 .8rem var(--body);color:var(--muted)}
}

/* Infração da lei: faixa no topo da escala e marca na grade (ícone e texto, nunca só a cor). */
.infr-faixa{margin:4px 0 16px;padding:18px 22px;border-radius:var(--r);background:var(--red-soft);border:1px solid color-mix(in srgb,var(--red) 35%,transparent);color:var(--ink)}
.infr-faixa h2{display:flex;align-items:center;gap:10px;font-size:1.05rem;color:var(--red);letter-spacing:-.01em}
.infr-faixa h2 svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.infr-sub{margin-top:4px;font-size:.88rem;color:var(--ink-2)}
.infr-lista{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.infr-lista li{display:grid;gap:3px;padding:12px 14px;background:var(--surface);border-radius:var(--r-sm);font-size:.9rem;line-height:1.45}
.infr-regra{font-weight:700;color:var(--red)}
.infr-txt{color:var(--ink-2)}
.infr-dias{font-weight:600;color:var(--ink)}
.infr-lei{color:var(--muted);font-size:.8rem}
.infr-marca,.legend i.lg-infr{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--red);color:#fff;font-size:10px;font-weight:800;font-style:normal;line-height:1;vertical-align:1px}
.esc-tbl td.infr{position:relative;box-shadow:inset 0 0 0 2px var(--red)}
.esc-tbl td.infr::after{content:'!';position:absolute;right:1px;top:1px;width:11px;height:11px;border-radius:50%;background:var(--red);color:#fff;font-size:8px;font-weight:800;line-height:11px;text-align:center}
.infr-nome{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:6px;border-radius:50%;background:var(--red);color:#fff;font-size:10px;font-weight:800;line-height:1;vertical-align:1px}
.foco.infr .foco-estado{color:var(--red);background:var(--red-soft)}
@media (max-width:640px){.infr-faixa{padding:16px}.infr-lista li{padding:10px 12px}}
@media print{.infr-faixa{border:1px solid var(--red);padding:8px 10px;margin:0 0 6px}.infr-sub{display:none}.infr-lista{gap:4px;margin-top:6px}.infr-lista li{padding:0;font-size:9px}}

/* Confirmação antes de baixar escala com infração: "Corrigir" é a ação principal. */
.confirma{max-width:760px}
.confirma-volta{font-size:.9rem;margin-bottom:14px}
.confirma h1{font-size:clamp(1.6rem,4vw,2.1rem);letter-spacing:-.03em}
.confirma-risco{margin:10px 0 18px;font-size:1.02rem;color:var(--ink-2);line-height:1.55}
.confirma-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.confirma-acoes form{margin:0}
@media (max-width:520px){.confirma-acoes,.confirma-acoes form,.confirma-acoes .btn{width:100%}}

/* Aviso de quem já usava: a escala passou a seguir a jornada da lei e a 5x2. */
.aviso-mudanca{margin:4px 0 16px;padding:18px 22px;border-radius:var(--r);background:var(--info-soft);border:1px solid color-mix(in srgb,var(--info) 30%,transparent);color:var(--ink)}
.aviso-mudanca h2{font-size:1.05rem;color:var(--info);letter-spacing:-.01em}
.aviso-mudanca p{margin-top:4px;font-size:.9rem;color:var(--ink-2)}
.aviso-mudanca ul{margin:10px 0 12px;padding-left:20px;display:grid;gap:6px;font-size:.9rem;line-height:1.5}
.aviso-mudanca form{margin:0}
@media (max-width:640px){.aviso-mudanca{padding:16px}}

/* Painel da Análise: escalas baixadas com infração. */
.g-infracoes{margin-bottom:16px}
.g-infracoes h2{font-size:1.05rem;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:6px 6px 8px}

/* Passo a passo da montagem: turnos → cargos → colaboradores → escala. Situação em texto, não só em cor. */
.etapas-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px}
.etapas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex:1 1 640px}
.etapa a{display:flex;align-items:center;gap:10px;height:100%;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none}
.etapa a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.etapa-n{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-weight:700;font-size:.85rem}
.etapa-txt{display:grid;min-width:0}
.etapa-txt b{font-size:.9rem}
.etapa-txt small{font-size:.76rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.etapa.feita .etapa-n{background:var(--ok-soft);color:var(--ok)}
.etapa.atual a{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}
.etapa.atual .etapa-n{background:var(--accent);color:var(--on-accent)}
.etapas.compacta .etapa a{padding:6px 10px}
.etapas.compacta .etapa-n{width:22px;height:22px;font-size:.78rem}
.etapa-pendente{margin:-6px 0 18px}
.atalho-planilha{margin:-6px 0 12px}
.almoco-fases{grid-column:1/-1;margin:2px 0 0;font-size:.8rem;color:var(--muted)}
.almoco-fases .curto,.almoco-fases.curto{color:var(--red)}
.almoco-fases .longo{color:var(--amber-ink)}
.sugestao-12x36{margin:6px 0 12px;padding:10px 12px;border-radius:var(--r-sm);background:var(--info-soft);font-size:.86rem;line-height:1.5}
@media (max-width:760px){.etapas{grid-template-columns:repeat(2,minmax(0,1fr))}.etapa-txt small{white-space:normal}.etapa-proxima{width:100%;justify-content:center}}
.dica.sug-12x36{width:auto;padding:2px 8px;border-radius:999px;background:var(--info-soft);color:var(--info);font-size:.78rem;font-weight:700}

/* Assistente de primeiro acesso: uma pergunta por vez, um botão principal. */
.ass-top .ass-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ass-acoes{display:flex;gap:4px}
.ass-acoes form{margin:0}
body.app.assistente main.ass-main{padding:24px 16px 64px}
.ass-caixa{max-width:760px;margin:0 auto}
.ass-progresso{display:block;margin-bottom:18px}
.ass-passo{font-size:.9rem;color:var(--ink-2);margin-bottom:8px}
.ass-barra{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.ass-barra span{display:block;height:100%;background:var(--accent);border-radius:inherit}
.ass-passos{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.84rem;color:var(--muted)}
.ass-passos li{display:flex;align-items:center;gap:6px}
.ass-passos li>span[aria-hidden]{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--surface-2);font-size:.72rem;font-weight:700}
.ass-passos li.feito>span[aria-hidden]{background:var(--ok-soft);color:var(--ok)}
.ass-passos li.atual{color:var(--ink);font-weight:600}
.ass-passos li.atual>span[aria-hidden]{background:var(--accent);color:var(--on-accent)}
.ass-ola{font-size:1rem;color:var(--ink-2);margin:0 0 12px}
.ass-cartao{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,4vw,36px);box-shadow:var(--e1)}
.ass-cartao h1{font-size:clamp(1.5rem,4vw,2rem);letter-spacing:-.03em}
.ass-cartao h2{font-size:1.05rem;margin:0 0 8px}
.ass-explica{margin:8px 0 22px;color:var(--ink-2);line-height:1.6;max-width:62ch}
.ass-turnos{display:grid;gap:12px;margin-bottom:24px}
.ass-turno-cab,.ass-turno{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr) 44px;gap:8px;align-items:center}
.ass-turno-cab{font-size:.78rem;color:var(--muted)}
.ass-turno .almoco-fases{grid-column:1/-1;margin:0}
.ass-mais summary{cursor:pointer;color:var(--link);font-weight:600;font-size:.92rem;padding:6px 0}
.ass-mais .ass-turno{margin-top:8px}
.ass-dias{border:0;padding:0;margin:0 0 8px}
.ass-dias legend{padding:0;margin-bottom:8px}
.ass-lista{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px}
.ass-lista li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--r-sm);background:var(--surface-2)}
.ass-lista li>span{display:grid}
.ass-lista small{color:var(--muted)}
.ass-lista form{margin:0}
.ass-nova-funcao{display:grid;gap:12px;padding:16px;border:1px dashed var(--line);border-radius:var(--r-sm)}
.ass-campos{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
.ass-campos .ass-largo{grid-column:1/-1}
.ass-nova-funcao .btn{justify-self:start}
.ass-grupo{border:0;padding:0;margin:0 0 18px}
.ass-grupo legend{padding:0}
.ass-pessoa{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px;margin-bottom:8px}
.ass-pessoa.com-turno{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
.ass-pessoa .field{margin:0}
.ass-dica{font-size:.88rem;color:var(--muted);margin:12px 0 0}
.ass-erro{color:var(--red);font-weight:600;margin:16px 0 0}
.ass-atencao{padding:10px 12px;border-radius:var(--r-sm);background:var(--amber-soft);color:var(--amber-ink);font-size:.92rem;margin:0 0 12px}
.ass-atencao .btn{margin:8px 0 0;min-height:44px}
.ass-resumo{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 18px}
.ass-resumo div{padding:14px;border-radius:var(--r-sm);background:var(--surface-2)}
.ass-resumo dt{font-size:.78rem;color:var(--muted)}
.ass-resumo dd{margin:2px 0 0;font-size:1.15rem;font-weight:700}
.ass-depois{margin:0 0 8px;padding-left:20px;display:grid;gap:4px;color:var(--ink-2)}
.ass-rodape{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line-2)}
.ass-rodape .btn-primary{min-height:48px;padding:0 24px}
@media (max-width:640px){
  .ass-campos,.ass-pessoa,.ass-pessoa.com-turno{grid-template-columns:1fr}
  .ass-turno-cab{display:none}
  .ass-turno{grid-template-columns:1fr 1fr}
  .ass-turno>input:first-of-type{grid-column:1/-1}
  .ass-resumo{grid-template-columns:1fr 1fr 1fr}
  .ass-rodape{flex-direction:column-reverse;align-items:stretch}
  .ass-rodape .btn{width:100%;justify-content:center}
  .ass-top .brand-txt small{display:none}
}
.ass-excluir{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-sm);cursor:pointer;color:var(--muted);font-size:1.1rem}
.ass-excluir:hover{background:var(--red-soft);color:var(--red)}
.ass-excluir input{position:absolute;opacity:0;width:1px;height:1px}
.ass-excluir:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.ass-turno[hidden]{display:none}
.ass-add{justify-self:start}
.ass-linha-erro{grid-column:1/-1;color:var(--red);font-size:.84rem}
@media (max-width:640px){.ass-turno{grid-template-columns:1fr 1fr 1fr 44px}.ass-turno>input[type="text"]{grid-column:1/4}.ass-turno .ass-excluir{grid-column:4;grid-row:1}}
.ass-sugestoes{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ass-sug-rot{font-size:.84rem;color:var(--muted);margin-right:2px}
.ass-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:6px 12px;font:inherit;font-size:.86rem;cursor:pointer;min-height:36px}
.ass-chip:hover{border-color:var(--accent);background:var(--accent-soft)}
.ass-chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);font-weight:600}
.ass-chip:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.ass-planilha{margin-top:16px;padding:12px 16px;border-radius:var(--r-sm);background:var(--surface-2)}
.ass-planilha summary{cursor:pointer;font-weight:600;color:var(--link)}
.ass-planilha ol{margin:12px 0 0;padding-left:20px;display:grid;gap:10px}
.ass-planilha .ass-dica{margin:0 0 0 6px}
.ass-importar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ass-importar .check{display:flex;align-items:center;gap:6px;font-size:.88rem}

/* Painel na ordem do assistente: 1 Horários, 2 Funções, 3 Pessoas, 4 Escala. */
.pl-cartoes{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pl-cartao{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--e1)}
.pl-cab{display:flex;align-items:center;gap:8px}
.pl-cab h3{font-size:1rem;margin:0;flex:1;min-width:0}
.pl-num{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--ok-soft);color:var(--ok);font-weight:700;font-size:.85rem}
.pl-sit{font-size:.74rem;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--ok-soft);color:var(--ok)}
.pl-cartao.pendente .pl-sit{background:var(--amber-soft);color:var(--amber-ink)}
.pl-cartao.falta .pl-sit,.pl-cartao.falta .pl-num{background:var(--accent-soft);color:var(--accent-ink)}
.pl-cartao.falta{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.pl-resumo{margin:0;color:var(--ink-2);font-size:.9rem;line-height:1.45}
.pl-pend{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.86rem;color:var(--amber-ink)}
.pl-pend li{display:flex;gap:6px;align-items:baseline}
.pl-pend li>span{display:inline-grid;place-items:center;flex:none;width:16px;height:16px;border-radius:50%;background:var(--amber);color:#fff;font-size:.7rem;font-weight:800}
.pl-escala .pl-pend{color:var(--red)}
.pl-escala .pl-pend li>span{background:var(--red)}
.pl-ok{margin:0;font-size:.86rem;color:var(--ok);font-weight:600;display:flex;gap:6px}
.pl-acao{margin-top:auto;align-self:flex-start}
.pl-link{margin-top:auto;font-weight:600;font-size:.88rem}
.pl-custo{margin-bottom:28px}
@media (max-width:1000px){.pl-cartoes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pl-cartoes{grid-template-columns:1fr}}
.pl-loja{margin:0}
.ass-explica.curta{margin:4px 0 18px}
.ass-rotulo{display:flex;align-items:center;gap:6px}
.ass-rotulo label{margin:0}

/* Edição da grade sem recarregar: aviso no rodapé com "Desfazer" e o estado de salvando. */
.esc-aviso{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;border-radius:var(--r-sm);background:var(--ink);color:#fff;box-shadow:var(--e3);font-size:.92rem}
.esc-aviso .btn-text{color:var(--accent);font-weight:700}
.esc-salvando [data-grade]{opacity:.6;transition:opacity .15s}
.tb-desfazer{margin:0}
.tb-desfazer .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){.esc-aviso{bottom:88px}}

/* Feriado: a coluna inteira fica destacada em azul, com o cabeçalho marcado (nome no title do dia). */
.esc-tbl td.ferc{background-image:linear-gradient(color-mix(in srgb,var(--info) 12%,transparent),color-mix(in srgb,var(--info) 12%,transparent))}
.esc-tbl td.ferc:not(.fer){box-shadow:inset 1px 0 0 color-mix(in srgb,var(--info) 35%,transparent),inset -1px 0 0 color-mix(in srgb,var(--info) 35%,transparent)}
.esc-tbl td.trab.fe.ferc{box-shadow:inset 0 0 0 2px var(--amber)}
.esc-tbl thead th.fer{background:var(--info-soft);box-shadow:inset 0 3px 0 var(--info)}
.esc-tbl thead th.fer .dia-btn::after{content:'Fer';display:block;font-size:.58rem;font-weight:700;letter-spacing:.02em;color:var(--info)}
.legend i.lg-ferc{background:var(--info-soft);box-shadow:inset 0 3px 0 var(--info)}
.dt.fer{background:var(--info-soft);border-color:var(--info);color:var(--info)}
.almoco-fases .extra{color:var(--warn,#9a5b00);font-weight:600}
.enc-he label{font-size:.8rem;color:var(--muted);margin-right:4px;white-space:nowrap}
.he-turnos{margin:0 0 24px}
.he-turnos p{margin:0 0 12px}
.he-lista{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.he-lista li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line-2)}
.he-lista span{color:var(--ink-2);font-variant-numeric:tabular-nums}
.he-faixa{margin:0 0 16px;padding:14px 16px;border:1px solid color-mix(in srgb,#c47f00 35%,transparent);background:color-mix(in srgb,#f2b233 12%,var(--surface,#fff));border-radius:14px}
.he-faixa h2{display:flex;align-items:center;gap:8px;font-size:1rem;margin:0 0 4px;color:color-mix(in srgb,#9a5b00 90%,#000)}
.he-faixa h2 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;flex:none}
.he-faixa .infr-lista li{grid-template-columns:1fr}
@media print{.he-faixa{display:none}}
/* ---------- Tutorial: o vídeo à esquerda, a trilha (na ordem de uso) à direita ---------- */
.tut-contagem{font-size:.86rem;color:var(--muted);font-variant-numeric:tabular-nums;margin:0 0 4px}
.tut-grade{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,27%,340px);gap:clamp(16px,2.2vw,28px);align-items:start}
/* nunca mais alto que a tela: o vídeo cabe inteiro também num notebook baixo */
.tut-tela{max-width:calc((100svh - 190px) * 16 / 9);aspect-ratio:16/9;background:#141210;border-radius:18px;overflow:hidden;box-shadow:0 22px 44px -24px rgba(45,32,20,.45),0 0 0 1px rgba(45,32,20,.08)}
.tut-tela iframe{display:block;width:100%;height:100%;border:0}
.tut-trilha{display:block;position:sticky;top:88px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 8px 8px}
.tut-trilha h2{font-size:.95rem;letter-spacing:-.01em;margin:0 12px 2px}
.tut-trilha>p{margin:0 12px 10px;font-size:.82rem;color:var(--muted)}
.tut-trilha ol{list-style:none;margin:0;padding:0}
.tut-trilha li{position:relative}
.tut-trilha li+li::before{content:"";position:absolute;left:27px;top:-10px;height:20px;width:1px;background:var(--line)}
.tut-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border-radius:12px;color:var(--ink);text-decoration:none}
a.tut-item:hover{background:var(--surface-2);text-decoration:none}
a.tut-item:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.tut-n{position:relative;z-index:1;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;background:var(--surface);border:1.5px solid var(--accent);color:var(--accent-ink)}
.tut-n svg{width:13px;height:13px;fill:currentColor;margin-left:2px}
.tut-item b{display:block;font-size:.92rem;font-weight:600;line-height:1.3}
.tut-item small{display:block;font-size:.78rem;color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums}
.tut-item[aria-current]{background:var(--accent-soft)}
.tut-item[aria-current] .tut-n{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.tut-item[aria-current] small{color:var(--accent-ink);font-weight:600}
.tut-item.breve b{color:var(--muted);font-weight:500}
.tut-item.breve .tut-n{border:1.5px dashed var(--control-line);color:var(--muted)}
@media (max-width:1023px){.tut-grade{grid-template-columns:minmax(0,1fr);gap:20px}.tut-tela{max-width:none}.tut-trilha{position:static}.tut-trilha ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px}.tut-trilha li+li::before{display:none}}
@media (max-width:640px){.tut-palco{margin:0 -16px}.tut-tela{border-radius:0;box-shadow:none}.tut-trilha ol{grid-template-columns:minmax(0,1fr)}.tut-trilha li+li::before{display:block}.tut-item{padding:9px 10px}}
/* ---------- Custo: salários de todas as funções numa lista ---------- */
.sal-card{margin:0 0 24px}
.sal-card>h2{font-size:1.25rem;letter-spacing:-.02em;margin:0 0 10px}
.sal-card>p{margin:0 0 16px}
details.sal-card>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}
details.sal-card>summary::-webkit-details-marker{display:none}
details.sal-card>summary h2{font-size:1.05rem;margin:0}
details.sal-card>summary::after{content:"";margin-left:auto;width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23625E58' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .2s}
details.sal-card[open]>summary{margin-bottom:14px}
details.sal-card[open]>summary::after{transform:rotate(180deg)}
.sal-falta{font-size:.8rem;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:3px 10px}
.sal-lista{list-style:none;margin:0;padding:0}
.sal-linha{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:10px 0;border-top:1px solid var(--line-2)}
.sal-linha label{display:block;cursor:text}
.sal-linha b{display:block;font-weight:600}
.sal-linha small{display:block;color:var(--muted);font-size:.82rem}
.sal-linha.falta small{color:var(--accent-ink)}
.sal-campo{display:inline-flex;align-items:center;gap:8px}
.sal-campo i{font-style:normal;color:var(--muted);font-size:.9rem}
.sal-campo input{width:150px;height:42px;text-align:right;font-variant-numeric:tabular-nums}
.sal-campo em{font-style:normal;color:var(--muted);font-size:.82rem;white-space:nowrap}
.sal-erro{grid-column:1/-1;color:var(--danger,#a3271c);font-size:.85rem}
.sal-rodape{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;padding-top:14px;border-top:1px solid var(--line-2)}
.sal-rodape p{margin:0}
@media (max-width:560px){.sal-linha{grid-template-columns:minmax(0,1fr)}.sal-campo input{flex:1;width:auto}.sal-rodape .btn{width:100%}}
.tempo-dados{margin-top:14px}
.tempo-dados>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;color:var(--link)}
.tempo-tabela-scroll{max-height:320px;overflow:auto}
.tempo-tabela th[scope=row]{font-weight:600;color:var(--ink)}
.tempo-tabela td{text-align:right;font-variant-numeric:tabular-nums}
/* ---------- Boas-vindas do assistente ---------- */
.ass-inicio h1{margin-bottom:4px}
.ass-video{aspect-ratio:16/9;background:#141210;border-radius:16px;overflow:hidden;margin:4px 0 6px;box-shadow:0 18px 36px -22px rgba(45,32,20,.45)}
.ass-video iframe{display:block;width:100%;height:100%;border:0}
@media (max-width:560px){.ass-inicio .ass-rodape{flex-direction:column-reverse;align-items:stretch;gap:8px}.ass-inicio .ass-rodape .btn{width:100%;justify-content:center}}

/* As opções da Equipe continuam descobríveis e o item atual não fica fora da tela. */
@media (max-width:640px){
  .abas{-webkit-mask-image:none;mask-image:none;scrollbar-width:thin;scrollbar-color:var(--control-line) transparent;scroll-padding-inline:16px}
  .abas::-webkit-scrollbar{display:block;height:4px}
  .abas::-webkit-scrollbar-thumb{background:var(--control-line);border-radius:4px}
  .abas a{min-height:48px;padding-inline:16px}
  .etapa a{min-height:52px}
}
@media (pointer:coarse){
  .dica,.eq-numeros dt .dica{min-width:40px;height:40px}
  .menu>summary{width:44px;height:44px}
}
.auto-status{font-size:.8rem;font-weight:600;color:var(--accent-ink)}
.arquivo .sr-only{display:block}
@media (max-width:1100px){.etapa-descricao{display:none}}
@media (max-width:900px){
  .loja-grid{grid-template-columns:minmax(0,1fr)}
  .loja-grid>*{min-width:0}
  .loja-grid .arquivo input{min-width:0;width:100%}
}

/* O cabeçalho basta no desktop; cada campo recebe seu rótulo no celular. */
.turno-campo{display:block;min-width:0}
.turno-campo input{width:100%}
.turno-campo label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:640px){
  .ass-turno .turno-campo.nome{grid-column:1/4}
  .turno-campo label{position:static;width:auto;height:auto;margin:0 0 4px;overflow:visible;clip:auto;white-space:normal;font-size:.78rem;font-weight:600;color:var(--ink-2)}
}
@media (max-width:560px){
  .turno-form .turno-campo.nome{grid-column:1/-1}
}

/* Hierarquia e estados compartilhados das telas internas. */
body.app:not(.assistente) main{padding-top:clamp(28px,3vw,48px)}
body.app .page-head{gap:20px 28px;margin-bottom:clamp(24px,3vw,36px)}
body.app .page-head h1{font-size:clamp(1.85rem,2.6vw,2.65rem);line-height:1.12;text-wrap:balance}
body.app .page-sub{margin-top:9px;line-height:1.55;color:var(--ink-2)}
body.app .sec{margin-top:clamp(36px,4vw,56px)}
body.app .sec-head{margin-bottom:6px}
body.app .sec-head h2,body.app .sec>h2{font-size:clamp(1.35rem,1.8vw,1.65rem)}
body.app .panel{margin-top:18px;box-shadow:var(--e1)}
body.app .panel+.panel{margin-top:18px}
body.app .form-grid{gap:18px 20px}
body.app .field{gap:8px}
body.app .field>label,body.app .field>.lbl{font-size:.88rem}
body.app .field:focus-within>label,body.app .field:focus-within>.lbl{color:var(--accent-ink)}
body.app .form-actions{gap:10px 12px;margin-top:24px}
body.app .msg{border:1px solid currentColor;line-height:1.5}

/* A próxima etapa tem prioridade sem depender apenas da cor. */
body.app .pl-cartoes{gap:16px;margin-bottom:18px}
body.app .pl-cartao{gap:12px;padding:clamp(20px,2vw,26px);min-width:0}
body.app .pl-cab{gap:10px;flex-wrap:wrap}
body.app .pl-cab h3{font-size:1.12rem;line-height:1.25}
body.app .pl-num{width:32px;height:32px}
body.app .pl-sit{padding:4px 9px}
body.app .pl-resumo{line-height:1.6}
body.app .pl-cartao.falta:not(.proxima){border-color:var(--line);box-shadow:var(--e1)}
body.app .pl-cartao.proxima{background:linear-gradient(180deg,#fffaf0,var(--surface) 42%);border-color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-ink),var(--e1)}
body.app .pl-acao,body.app .pl-link{margin-top:auto}
body.app .pl-link{display:inline-flex;align-items:center;min-height:44px;align-self:flex-start;text-underline-offset:4px}
body.app .pl-link:hover{text-decoration:underline}
body.app .pl-custo{margin-bottom:0}
body.app .passos{gap:16px}
body.app .passos li{padding:22px;gap:6px}
body.app .passos li.atual{border-color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-ink)}

/* Navegação e ações: foco visível, resposta imediata e áreas de toque. */
body.app .app-nav a{min-height:44px;transition:background .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease)}
body.app .app-nav a[aria-current=page]{font-weight:700;box-shadow:inset 0 -2px 0 var(--accent-ink)}
body.app .menu>summary{width:44px;height:44px;transition:background .16s var(--ease),box-shadow .16s var(--ease)}
body.app .menu>summary:hover{background:var(--accent-soft)}
body.app .menu .pop a,body.app .menu .pop button{min-height:44px}
body.app :is(.btn,.app-nav a,.menu>summary,.menu .pop a,.menu .pop button,.pl-link,.resumo-item,.fn-card,.etapa a,.abas a,.g-atalhos-secoes a,.chips-input label):active{filter:brightness(.94)}
body.app :is(.btn,.app-nav a,.menu>summary,.menu .pop a,.menu .pop button,.pl-link,.resumo-item,.fn-card,.etapa a,.abas a,.g-atalhos-secoes a):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
body.app :is(.btn,button,input,select,textarea):disabled{cursor:not-allowed;opacity:.55;filter:none;box-shadow:none}
body.app .menu[open]>summary{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-ink)}
body.app details.nova-emp>summary{cursor:pointer}
body.app details.nova-emp[open]>summary{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-ink)}

@media (max-width:860px){
  body.app .app-nav a{min-height:56px}
  body.app .app-nav a[aria-current=page]{box-shadow:none}
}
@media (max-width:640px){
  body.app:not(.assistente) main{padding-top:24px}
  body.app .page-head{align-items:flex-start}
  body.app .page-head .acoes{width:100%}
  body.app .page-head .acoes .btn{flex:1 1 auto}
  body.app .pl-cartao{padding:20px}
  body.app .form-grid{gap:16px}
}
@media (prefers-reduced-motion:reduce){
  body.app .app-nav a,body.app .menu>summary{transition:none}
}

/* Ritmo de leitura e agrupamento nas demais áreas do sistema. */
body.app :is(.panel,.card,.dia-det,.resumo-custo){scroll-margin-top:88px}
body.app .crumbs{margin-bottom:14px}
body.app .cols,body.app .loja-grid{gap:20px}
body.app .panel-head{align-items:center;margin-bottom:16px}
body.app .eq-numeros{margin-bottom:26px;box-shadow:var(--e1)}
body.app .eq-numeros>div{padding:20px 22px}
body.app .eq-numeros dt{font-size:.82rem;font-weight:600}
body.app .eq-numeros dd{margin-top:7px;font-size:1.6rem}
body.app .abas{gap:8px;margin-bottom:24px;scroll-padding-inline:16px}
body.app .abas a{min-height:48px;padding-inline:16px}
body.app .abas a:hover{background:var(--surface-2);border-radius:10px 10px 0 0}
body.app .abas a[aria-current=page]{background:var(--surface);border-radius:10px 10px 0 0}
body.app .fn-lista{gap:16px}
body.app .fn-card{gap:18px;padding:22px;border-radius:var(--r);box-shadow:var(--e1)}
body.app .fn-card:focus-visible,body.app .fn-card:hover{border-color:var(--accent-ink);box-shadow:var(--e2)}
body.app .fn-nome b{font-size:1.12rem}
body.app .fn-turnos{gap:12px;padding-top:16px}
body.app .pessoas-barra{gap:14px 20px;margin-bottom:20px}
body.app .pessoas-barra p{max-width:70ch;line-height:1.5}
body.app .tag-fn{min-height:36px}

/* Ferramentas da escala e escolhas de custo mantêm o estado selecionado evidente. */
body.app .toolbar-esc{gap:10px 12px;padding:14px 16px;box-shadow:var(--e1)}
body.app .seg-vis{gap:4px}
body.app .seg-vis button[aria-selected=true],body.app .fase-tab[aria-current=page]{box-shadow:0 1px 4px rgba(45,32,20,.14),inset 0 -2px 0 var(--accent-ink)}
body.app .seg-vis button:active,body.app .fase-tab:active,body.app .dt:active{filter:brightness(.9)}
body.app .dt[aria-selected=true]{box-shadow:0 0 0 2px var(--accent-ink)}
body.app .dec{gap:16px 28px;padding:22px 24px}
body.app .dec-fn small{display:block;margin-top:5px;line-height:1.5}
body.app .dec-opcoes{gap:12px}
body.app .op{min-height:72px;padding:12px 14px}
body.app .op:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
body.app .op.escolhida{box-shadow:inset 0 0 0 1px var(--accent-ink)}
body.app .pop-painel{max-height:min(75vh,680px);overflow-y:auto}
body.app :is(.pop,.tb-mais)[open]>summary{background:var(--accent-soft);border-color:var(--accent-ink)}

/* Formulários mostram o campo com erro e o passo ativo do assistente. */
body.app .field:has(.errorlist) :is(input,select,textarea),body.app :is(input,select,textarea)[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
body.app .field .errorlist{font-weight:600;line-height:1.45}
body.app .check:focus-within,body.app .radio-linha:focus-within{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}
body.app .ass-progresso{margin-bottom:24px}
body.app .ass-passo b{color:var(--accent-ink)}
body.app .ass-passos{gap:8px 18px;margin-top:14px}
body.app .ass-passos li.atual{color:var(--accent-ink)}
body.app .ass-cartao{border-top:3px solid var(--accent);box-shadow:var(--e2)}
body.app .ass-cartao h1{font-size:clamp(1.65rem,4vw,2.25rem);text-wrap:balance}
body.app .ass-explica{margin:10px 0 26px}
body.app .ass-turno:focus-within,body.app .turno-form:focus-within{background:var(--accent-soft);border-radius:var(--r-sm)}
body.app .ass-rodape{margin-top:30px;padding-top:22px}
body.app .ass-mais>summary,body.app .ass-planilha>summary{min-height:44px;display:flex;align-items:center}

@media (max-width:1180px){
  body.app .loja-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  body.app .toolbar-esc{padding:12px}
  body.app .turnos-cab{display:none}
  body.app .turno-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--line-2);border-radius:var(--r-sm)}
  body.app .turno-form .turno-campo.nome,body.app .turno-form .turno-acoes{grid-column:1/-1}
  body.app .turno-form .turno-campo label{position:static;width:auto;height:auto;margin:0 0 4px;overflow:visible;clip:auto;white-space:normal;font-size:.82rem;font-weight:600;color:var(--ink-2)}
  body.app .turnos-lista{gap:12px}
  body.app .turno-form.novo{margin-top:16px;padding:16px;border-style:dashed}
  body.app .mes-nav{width:100%;justify-content:space-between}
  body.app .mes-nav input[type=month]{flex:1;min-width:0;width:auto}
  body.app .dec{padding:18px}
}
@media (max-width:560px){
  body.app .eq-numeros>div{padding:16px}
  body.app .dec-opcoes{grid-template-columns:minmax(0,1fr)}
  body.app .fn-topo{grid-template-columns:minmax(0,1fr) 20px}
  body.app .fn-pessoas{grid-column:1;grid-row:2;justify-self:start}
  body.app .fn-seta{grid-column:2;grid-row:1}
  body.app .ass-resumo{grid-template-columns:minmax(0,1fr)}
  body.app .ass-resumo div{padding:12px 16px}
  body.app .pop-painel{bottom:calc(80px + env(safe-area-inset-bottom));max-height:65dvh}
}
