/* Oklaworks(R) System - Med+ - style.css
   Responsivo e adaptativo (320px a 2560px+): unidades rem, grid fluido, menu lateral no desktop,
   gaveta + barra inferior no mobile, modais em folha inferior, tabelas em cartoes. Paleta laranja Med+ e branco. */
:root{
  --g900:#7C2D12;--g800:#8F3410;--g700:#A8400F;--g600:#B8461A;--g500:#C2501F;--g400:#FF9A73;--g300:#FFC2A8;--g200:#FFDCCB;--g100:#FFEDE3;--g50:#FFF7F2;--w:#FFFFFF;--lar:#FF7647;--lar-d:#E8541F;--lar-dd:#C2410C;--lar-l:#FF8A5C;--grad:linear-gradient(135deg,#FF7647,#FF8A5C);
  --ok-bg:#E7F5EC;--ok:#166534;--warn-bg:#FEF3C7;--warn:#92400E;--err-bg:#FEE2E2;--err:#991B1B;
  --r8:8px;--r12:12px;--sombra:0 1px 2px rgba(124,45,18,.06),0 4px 14px rgba(124,45,18,.06);
  --side:15.5rem;--top:3.5rem;--bottom:0rem;
  --sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);
  --fonte-titulo:'Syne',system-ui,sans-serif;--fonte:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--fonte-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (min-width:1920px){html{font-size:18px}}
@media (min-width:2560px){html{font-size:22px}}
@media (max-width:360px){html{font-size:15px}}
body{margin:0;font-family:var(--fonte);background:var(--g50);color:var(--g900);line-height:1.5;min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4{font-family:var(--fonte-titulo);margin:0;color:var(--g900);line-height:1.2;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 .75rem}
img,svg,canvas{max-width:100%}
a{color:var(--g900)}
button,input,select,textarea{font:inherit;color:inherit}
svg{width:1.15rem;height:1.15rem;flex:none}
.hidden{display:none!important}
.mono{font-family:var(--fonte-mono)}
.mudo{color:var(--g500)}
.pequeno{font-size:.82rem}
.linha{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.espaco{flex:1}

/* ---------- layout ---------- */
.app{display:flex;min-height:100vh;min-height:100dvh}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--side);background:var(--g900);color:var(--w);display:flex;flex-direction:column;z-index:60;transform:translateX(-100%);transition:transform .22s ease;padding-left:var(--sal)}
.sidebar.aberta{transform:none}
.sidebar-overlay{position:fixed;inset:0;background:rgba(124,45,18,.5);opacity:0;pointer-events:none;transition:opacity .2s;z-index:55}
.sidebar-overlay.ativa{opacity:1;pointer-events:auto}
.sidebar-topo{padding:1.1rem 1rem .9rem;border-bottom:1px solid var(--g800);padding-top:calc(1.1rem + var(--sat))}
.marca{display:flex;gap:.7rem;align-items:center}
.marca-icone{width:2.4rem;height:2.4rem;border-radius:var(--r8);background:var(--g700);display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden}
.marca-icone img{width:100%;height:100%;object-fit:contain;background:#fff}
.marca-nome{font-family:var(--fonte-titulo);font-weight:700;font-size:1rem;line-height:1.15;word-break:break-word}
.marca-tag{font-size:.7rem;color:var(--g400);font-family:var(--fonte-mono)}
.sidebar-nav{flex:1;overflow-y:auto;padding:.7rem .6rem;display:flex;flex-direction:column;gap:.15rem}
.sidebar-nav{scrollbar-width:none;-ms-overflow-style:none}
.sidebar-nav::-webkit-scrollbar{width:0;height:0;display:none}
.nav-item{display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;border-radius:var(--r8);color:var(--g300);cursor:pointer;font-size:.93rem;border:0;background:none;text-align:left;width:100%;min-height:2.75rem}
.nav-item:hover{background:var(--g800);color:var(--w)}
.nav-item.ativo{background:var(--w);color:var(--g900);font-weight:600}
.nav-item .contagem{margin-left:auto;background:var(--err);color:#fff;border-radius:99px;font-size:.7rem;padding:.05rem .45rem;font-family:var(--fonte-mono)}
.sidebar-foot{padding:.8rem 1rem calc(.8rem + var(--sab));font-size:.72rem;color:var(--g500);border-top:1px solid var(--g800);font-family:var(--fonte-mono)}
.conteudo{flex:1;min-width:0;display:flex;flex-direction:column;margin-left:0}
.topbar{position:sticky;top:0;z-index:40;height:calc(var(--top) + var(--sat));padding:var(--sat) max(1rem,var(--sar)) 0 max(1rem,var(--sal));background:var(--w);border-bottom:1px solid var(--g200);display:flex;align-items:center;gap:.7rem}
.topbar h2{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.topbar-acoes{margin-left:auto;display:flex;align-items:center;gap:.5rem}
.menu-mobile-btn,.btn-icone{width:2.6rem;height:2.6rem;border:1px solid var(--g200);background:var(--w);border-radius:var(--r8);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;flex:none}
.menu-mobile-btn:hover,.btn-icone:hover{background:var(--g100)}
.usuario-chip{display:flex;align-items:center;gap:.5rem;font-size:.88rem}
.usuario-avatar{width:2.1rem;height:2.1rem;border-radius:50%;background:var(--g900);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;flex:none}
.usuario-chip span{max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sino-wrap{position:relative}
.sino-bolha{position:absolute;top:-.3rem;right:-.3rem;min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:99px;background:var(--err);color:#fff;font-size:.65rem;display:flex;align-items:center;justify-content:center;font-family:var(--fonte-mono)}
.dropdown{position:absolute;right:0;top:3rem;width:min(22rem,calc(100vw - 1.5rem));max-height:60vh;overflow:auto;background:var(--w);border:1px solid var(--g200);border-radius:var(--r12);box-shadow:var(--sombra);display:none;z-index:70}
.dropdown.aberto{display:block}
.dropdown-item{padding:.75rem .9rem;border-bottom:1px solid var(--g100);font-size:.86rem}
.dropdown-item:last-child{border-bottom:0}
.dropdown-item .quando{color:var(--g500);font-size:.74rem;margin-top:.15rem;font-family:var(--fonte-mono)}
.dropdown-vazio{padding:1rem;text-align:center;color:var(--g500);font-size:.88rem}
.pagina{padding:1rem max(1rem,var(--sar)) calc(1.5rem + var(--bottom) + var(--sab)) max(1rem,var(--sal));width:100%;max-width:90rem;margin:0 auto}

/* barra inferior (mobile) */
.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--w);border-top:1px solid var(--g200);display:flex;padding:.25rem max(.25rem,var(--sar)) calc(.25rem + var(--sab)) max(.25rem,var(--sal))}
.bottomnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:.1rem;border:0;background:none;padding:.4rem .2rem;font-size:.68rem;color:var(--g500);cursor:pointer;min-height:3rem;border-radius:var(--r8);position:relative}
.bottomnav button.ativo{color:var(--g900);font-weight:600;background:var(--g100)}
.bottomnav .contagem{position:absolute;top:.15rem;right:calc(50% - 1.5rem);background:var(--err);color:#fff;border-radius:99px;font-size:.6rem;padding:0 .35rem}
@media (max-width:1023.98px){:root{--bottom:3.9rem}}
@media (min-width:1024px){
  :root{--bottom:0rem}
  .sidebar{transform:none}
  .conteudo{margin-left:var(--side)}
  .menu-mobile-btn,.bottomnav,.sidebar-overlay{display:none!important}
  .pagina{padding:1.4rem 1.6rem 2rem}
}
@media (max-width:640px){.usuario-chip span{display:none}}

/* ---------- componentes ---------- */
.cabeca-pagina{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
.cabeca-pagina h3{font-size:1.2rem;flex:1;min-width:8rem}
.cabeca-pagina .acoes{margin-left:auto;display:flex;gap:.5rem;flex-wrap:wrap}
.card{background:var(--w);border:1px solid var(--g200);border-radius:var(--r12);padding:1rem;box-shadow:var(--sombra);margin-bottom:1rem;min-width:0}
.card h4{font-size:1rem;margin-bottom:.7rem}
.grade{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr))}
.grade-2{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
.stat{background:var(--w);border:1px solid var(--g200);border-radius:var(--r12);padding:.9rem 1rem;box-shadow:var(--sombra)}
.stat .rotulo{font-size:.7rem;color:var(--g500);text-transform:uppercase;letter-spacing:.04em}
.stat .valor{font-family:var(--fonte-titulo);font-size:1.7rem;font-weight:700;line-height:1.1;margin-top:.2rem}
.vazio{padding:2rem 1rem;text-align:center;color:var(--g500);border:1px dashed var(--g300);border-radius:var(--r12);background:var(--w)}
.vazio svg{width:2rem;height:2rem;margin-bottom:.4rem;color:var(--g400)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1rem;border-radius:var(--r8);border:1px solid transparent;font-weight:600;font-size:.9rem;cursor:pointer;min-height:2.6rem;text-decoration:none;line-height:1.1;transition:background .15s,border-color .15s}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-primario{background:var(--g900);color:#fff}
.btn-primario:hover:not(:disabled){background:var(--g700)}
.btn-secundario{background:var(--w);color:var(--g900);border-color:var(--g300)}
.btn-secundario:hover:not(:disabled){background:var(--g100)}
.btn-perigo{background:var(--w);color:var(--err);border-color:#FCA5A5}
.btn-perigo:hover:not(:disabled){background:var(--err-bg)}
.btn-sm{padding:.4rem .7rem;min-height:2.1rem;font-size:.82rem}
.btn-full{width:100%}
.btn svg{width:1rem;height:1rem}

label.campo,.campo{display:flex;flex-direction:column;gap:.3rem;font-size:.84rem;font-weight:600;color:var(--g700);margin-bottom:.8rem;min-width:0}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=month],select,textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--g300);border-radius:var(--r8);background:var(--w);font-size:1rem;font-weight:400;color:var(--g900);min-height:2.7rem}
textarea{min-height:5rem;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--g900);outline-offset:1px;border-color:var(--g900)}
.campo .dica{font-weight:400;color:var(--g500);font-size:.76rem}
.campo.erro input,.campo.erro select,.campo.erro textarea{border-color:var(--err);background:#FFF8F8}
.campo .msg-erro{color:var(--err);font-weight:500;font-size:.78rem}
.form-grade{display:grid;gap:0 .9rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.interruptor{display:flex;align-items:center;gap:.6rem;font-weight:500;font-size:.9rem;margin-bottom:.8rem;cursor:pointer}
.interruptor input{width:1.2rem;height:1.2rem;accent-color:var(--g900)}

.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:99px;font-size:.72rem;font-weight:600;font-family:var(--fonte-mono);background:var(--g100);color:var(--g700);white-space:nowrap}
.badge-ok{background:var(--ok-bg);color:var(--ok)}
.badge-aviso{background:var(--warn-bg);color:var(--warn)}
.badge-erro{background:var(--err-bg);color:var(--err)}
.badge-escuro{background:var(--g900);color:#fff}

.barra{height:.5rem;background:var(--g200);border-radius:99px;overflow:hidden}
.barra>i{display:block;height:100%;background:var(--g900);border-radius:99px;transition:width .25s}

/* tabelas: rolagem no desktop, cartoes no mobile */
.tabela-wrap{width:100%;overflow-x:auto;border:1px solid var(--g200);border-radius:var(--r12);background:var(--w)}
table.tabela{border-collapse:collapse;width:100%;font-size:.88rem}
.tabela th{background:var(--g100);text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--g600);padding:.6rem .8rem;white-space:nowrap}
.tabela td{padding:.65rem .8rem;border-top:1px solid var(--g100);vertical-align:middle}
.tabela tr:hover td{background:var(--g50)}
.tabela .acoes-cel{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:760px){
  .tabela-wrap{border:0;background:none}
  .tabela thead{display:none}
  .tabela,.tabela tbody,.tabela tr,.tabela td{display:block;width:100%}
  .tabela tr{background:var(--w);border:1px solid var(--g200);border-radius:var(--r12);margin-bottom:.7rem;padding:.4rem .2rem;box-shadow:var(--sombra)}
  .tabela td{border:0;display:flex;gap:.8rem;justify-content:space-between;align-items:flex-start;padding:.4rem .8rem;text-align:right}
  .tabela td::before{content:attr(data-label);font-weight:600;color:var(--g500);font-size:.74rem;text-transform:uppercase;text-align:left;flex:none;max-width:42%}
  .tabela td[data-label=""]::before{display:none}
  .tabela td.acoes-cel{justify-content:flex-end}
  .tabela tr:hover td{background:none}
}

/* abas e segmentados */
.abas{display:flex;gap:.3rem;overflow-x:auto;border-bottom:1px solid var(--g200);margin-bottom:1rem;scrollbar-width:none}
.abas::-webkit-scrollbar{display:none}
.aba{border:0;background:none;padding:.65rem .9rem;font-weight:600;font-size:.9rem;color:var(--g500);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;min-height:2.75rem}
.aba.ativa{color:var(--g900);border-color:var(--g900)}
.segmentado{display:inline-flex;border:1px solid var(--g300);border-radius:var(--r8);overflow:hidden;background:var(--w)}
.segmentado button{border:0;background:none;padding:.45rem .85rem;font-weight:600;font-size:.84rem;cursor:pointer;min-height:2.3rem}
.segmentado button.ativo{background:var(--g900);color:#fff}

/* modal / folha inferior */
.modal-fundo{position:fixed;inset:0;background:rgba(124,45,18,.55);display:none;align-items:center;justify-content:center;z-index:100;padding:1rem}
.modal-fundo.aberto{display:flex}
.modal{background:var(--w);border-radius:var(--r12);width:min(32rem,100%);max-height:calc(100dvh - 2rem);overflow:auto;padding:1.2rem;box-shadow:0 20px 50px rgba(124,45,18,.3)}
.modal-lg{width:min(56rem,100%)}
.modal h3{font-size:1.15rem;margin-bottom:.9rem}
.modal-acoes{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.9rem}
@media (max-width:640px){
  .modal-fundo{align-items:flex-end;padding:0}
  .modal,.modal-lg{width:100%;max-height:92dvh;border-radius:var(--r12) var(--r12) 0 0;padding:1.1rem 1rem calc(1rem + var(--sab))}
  .modal-acoes .btn{flex:1}
}
#toastWrap{position:fixed;z-index:200;right:1rem;bottom:calc(1rem + var(--bottom) + var(--sab));display:flex;flex-direction:column;gap:.5rem;max-width:min(24rem,calc(100vw - 2rem))}
.toast{background:var(--g900);color:#fff;padding:.7rem 1rem;border-radius:var(--r8);font-size:.88rem;box-shadow:var(--sombra)}
.toast.erro{background:var(--err)}
.toast.ok{background:var(--ok)}
@media (max-width:640px){#toastWrap{left:1rem;right:1rem;max-width:none}}
.alerta{padding:.7rem .9rem;border-radius:var(--r8);font-size:.88rem;margin-bottom:.9rem;border:1px solid}
.alerta-aviso{background:var(--warn-bg);color:var(--warn);border-color:#FCD34D}
.alerta-erro{background:var(--err-bg);color:var(--err);border-color:#FCA5A5}
.alerta-ok{background:var(--ok-bg);color:var(--ok);border-color:#86EFAC}
.alerta ul{margin:.3rem 0 0 1.1rem;padding:0}

/* ---------- checklist ---------- */
.ck-topo{display:flex;flex-direction:column;gap:.6rem}
.ck-meta{display:flex;flex-wrap:wrap;gap:.4rem .5rem}
.ck-meta .badge{font-size:.74rem}
.ck-ferramentas{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.dias-faixa{display:flex;gap:.35rem;overflow-x:auto;padding:.2rem .1rem .5rem;scroll-snap-type:x proximity;scrollbar-width:thin}
.dia-chip{flex:none;scroll-snap-align:center;min-width:2.9rem;border:1px solid var(--g300);background:var(--w);border-radius:var(--r8);padding:.35rem .3rem;text-align:center;cursor:pointer;font-family:var(--fonte-mono);font-size:.82rem;line-height:1.15}
.dia-chip small{display:block;font-size:.62rem;color:var(--g500)}
.dia-chip.ativo{background:var(--g900);color:#fff;border-color:var(--g900)}
.dia-chip.ativo small{color:var(--g300)}
.dia-chip.completo{border-color:var(--ok)}
.dia-chip.parcial{border-color:#D97706;background:var(--warn-bg)}
.dia-chip.ativo.parcial{background:var(--g900)}
.dia-chip.bloqueado{opacity:.4;cursor:not-allowed}
.ck-secao{margin-bottom:1rem}
.ck-grupo{font-family:var(--fonte-titulo);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--g500);margin:1.1rem 0 .4rem;padding-bottom:.25rem;border-bottom:1px solid var(--g200)}
.ck-secao-nome{display:flex;align-items:center;gap:.6rem;background:var(--g900);color:#fff;border-radius:var(--r8) var(--r8) 0 0;padding:.55rem .8rem;font-family:var(--fonte-titulo);font-size:.9rem}
.ck-secao-nome .badge{margin-left:auto;background:var(--g700);color:#fff}
.ck-itens{border:1px solid var(--g200);border-top:0;border-radius:0 0 var(--r12) var(--r12);background:var(--w);overflow:hidden}
.ck-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem .8rem;padding:.7rem .8rem;border-top:1px solid var(--g100);align-items:center}
.ck-item:first-child{border-top:0}
.ck-item.v-F{background:var(--err-bg)}
.ck-item.v-I{background:var(--warn-bg)}
.ck-item .nome{font-size:.93rem;font-weight:500;word-break:break-word}
.ck-item .qtd{font-family:var(--fonte-mono);font-size:.74rem;color:var(--g500)}
.ck-controles{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ck-btn{min-width:2.75rem;height:2.75rem;border:1px solid var(--g300);background:var(--w);border-radius:var(--r8);font-weight:700;font-family:var(--fonte-mono);font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 .4rem}
.ck-btn.ativo{background:var(--g900);color:#fff;border-color:var(--g900)}
.ck-btn.ativo.F{background:var(--err);border-color:var(--err)}
.ck-btn.ativo.I{background:#B45309;border-color:#B45309}
.ck-btn:disabled{opacity:.45;cursor:not-allowed}
.ck-btn svg{width:1.1rem;height:1.1rem}
.ck-btn.tem-foto{border-color:var(--g900)}
.ck-qtd{width:3.6rem;height:2.75rem;text-align:center;font-family:var(--fonte-mono);padding:.2rem!important;min-height:0!important}
.ck-obs{grid-column:1/-1;font-size:.8rem;color:var(--g600);display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.ck-obs img{width:3.6rem;height:2.4rem;object-fit:cover;border-radius:6px;border:1px solid var(--g300);cursor:pointer}
@media (max-width:520px){
  .ck-item{grid-template-columns:1fr}
  .ck-controles{justify-content:flex-start}
  .ck-btn{flex:1;min-width:2.6rem}
  .ck-qtd{flex:1.2}
}
.ck-barra-fixa{position:sticky;bottom:calc(var(--bottom) + var(--sab));z-index:30;background:rgba(255,255,255,.97);border:1px solid var(--g200);border-radius:var(--r12);padding:.6rem .8rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;box-shadow:var(--sombra);margin-top:1rem}
.ck-barra-fixa .barra{flex:1;min-width:6rem}

/* matriz mensal */
.matriz-wrap{overflow:auto;border:1px solid var(--g200);border-radius:var(--r12);background:var(--w);max-height:calc(100dvh - 11rem);-webkit-overflow-scrolling:touch}
table.matriz{border-collapse:separate;border-spacing:0;font-size:.76rem;min-width:max-content}
.matriz th,.matriz td{border-right:1px solid var(--g200);border-bottom:1px solid var(--g200);padding:0;text-align:center;height:2rem}
.matriz thead th{position:sticky;top:0;background:var(--g100);z-index:3;font-family:var(--fonte-mono);min-width:2.1rem}
.matriz .col-nome{position:sticky;left:0;z-index:2;background:var(--w);text-align:left;min-width:13rem;max-width:17rem;padding:.25rem .6rem;line-height:1.2;font-size:.76rem}
.matriz thead .col-nome{z-index:4;background:var(--g100)}
.matriz .col-qtd{min-width:2.2rem;font-family:var(--fonte-mono);color:var(--g500)}
.matriz .sec-linha td{background:var(--g900);color:#fff;text-align:left;padding:.3rem .6rem;font-family:var(--fonte-titulo);position:sticky;left:0}
.matriz .grp-linha td{background:var(--g200);text-align:left;padding:.25rem .6rem;font-weight:700;text-transform:uppercase;font-size:.68rem}
.matriz td.cel{cursor:pointer;font-family:var(--fonte-mono);font-weight:600;min-width:2.1rem}
.matriz td.cel:hover{background:var(--g100)}
.matriz td.cel.F{background:#FCA5A5;color:var(--err)}
.matriz td.cel.I{background:#FDE68A;color:var(--warn)}
.matriz td.cel.fora{background:var(--g200);cursor:not-allowed}
.matriz td.cel.futuro{background:repeating-linear-gradient(45deg,var(--g50),var(--g50) 4px,var(--g100) 4px,var(--g100) 8px);cursor:not-allowed}
.matriz td.cel.hoje{box-shadow:inset 0 0 0 2px var(--g900)}
.matriz td.cel.foto::after{content:"";display:inline-block;width:.35rem;height:.35rem;background:var(--g900);border-radius:50%;margin-left:.15rem}

/* assinatura */
.assinatura-caixa{border:1px dashed var(--g400);border-radius:var(--r8);background:var(--w);touch-action:none;width:100%;height:11rem;display:block}
.assinatura-img{max-height:7rem;border:1px solid var(--g200);border-radius:var(--r8);background:#fff;padding:.3rem}
.camera-previa{width:100%;border-radius:var(--r8);border:1px solid var(--g300);aspect-ratio:15/10;object-fit:cover;background:var(--g100);display:block}
.camera-video{width:100%;border-radius:var(--r8);background:#7C2D12;aspect-ratio:15/10;object-fit:cover;display:block}

/* modo paisagem em tela cheia */
.modo-paisagem-ativo{overflow:hidden}
.paisagem-overlay{position:fixed;inset:0;z-index:90;background:var(--g50);display:flex;flex-direction:column}
.paisagem-topo{display:flex;align-items:center;gap:.6rem;padding:calc(.4rem + var(--sat)) max(.8rem,var(--sar)) .4rem max(.8rem,var(--sal));background:var(--w);border-bottom:1px solid var(--g200);flex-wrap:wrap}
.paisagem-corpo{flex:1;min-height:0;padding:.4rem max(.6rem,var(--sar)) calc(.4rem + var(--sab)) max(.6rem,var(--sal))}
.paisagem-corpo .matriz-wrap{max-height:none;height:100%}
.aviso-girar{display:none}
@media (orientation:portrait) and (max-width:700px){.paisagem-overlay .aviso-girar{display:block}}
.paisagem-topo .titulo{font-family:var(--fonte-titulo);font-weight:700;font-size:.95rem}

/* setup */
.arvore-modelo{display:flex;flex-direction:column;gap:.8rem}
.arv-secao{border:1px solid var(--g200);border-radius:var(--r12);background:var(--w);overflow:hidden}
.arv-secao-topo{display:flex;gap:.5rem;align-items:center;padding:.6rem .8rem;background:var(--g100);flex-wrap:wrap}
.arv-secao-topo .nome{font-weight:700;font-family:var(--fonte-titulo);min-width:0;word-break:break-word}
.arv-item{display:flex;gap:.5rem;align-items:center;padding:.5rem .8rem;border-top:1px solid var(--g100);flex-wrap:wrap}
.arv-item .nome{flex:1;min-width:10rem;font-size:.9rem;word-break:break-word}
.arv-acoes{display:flex;gap:.25rem;flex-wrap:wrap}
.btn-mini{width:2.1rem;height:2.1rem;border:1px solid var(--g300);background:var(--w);border-radius:var(--r8);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.btn-mini:hover{background:var(--g100)}
.btn-mini svg{width:.95rem;height:.95rem}
.btn-mini:disabled{opacity:.35;cursor:not-allowed}

/* login e legal */
body.tela-login{display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--g100)}
.login-caixa{width:min(26rem,100%);background:var(--w);border:1px solid var(--g200);border-radius:var(--r12);padding:1.8rem 1.4rem;box-shadow:var(--sombra)}
.login-marca{text-align:center;margin-bottom:1.3rem}
.login-badge{width:3.2rem;height:3.2rem;border-radius:var(--r12);background:var(--g900);display:inline-flex;align-items:center;justify-content:center;margin-bottom:.7rem}
.login-badge svg{width:1.6rem;height:1.6rem}
.login-marca h1{font-size:1.4rem}
.login-marca p{color:var(--g500);font-size:.88rem;margin-top:.3rem}
.login-erro{background:var(--err-bg);color:var(--err);padding:.6rem .8rem;border-radius:var(--r8);font-size:.86rem;margin-bottom:.8rem}
.login-rodape{text-align:center;margin-top:1.2rem;font-size:.74rem;color:var(--g500);font-family:var(--fonte-mono)}
.pagina-legal{max-width:46rem;margin:0 auto;padding:1.5rem 1rem 3rem}
.pagina-legal h1{margin-bottom:1rem}
.pagina-legal h2{font-size:1.05rem;margin:1.2rem 0 .4rem}
.rodape-legal{color:var(--g500);font-size:.8rem;margin-top:1.5rem}

/* telas muito grandes e muito pequenas */
@media (min-width:1600px){.grade{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}}
@media (max-width:380px){.pagina{padding-left:.7rem;padding-right:.7rem}.btn{padding:.55rem .75rem}.cabeca-pagina h3{font-size:1.1rem}}
@media (max-height:480px) and (orientation:landscape){
  :root{--top:3rem}
  .modal{max-height:calc(100dvh - 1rem)}
  .modal-fundo{padding:.5rem;align-items:center}
  .modal,.modal-lg{border-radius:var(--r12);width:min(40rem,100%)}
  .bottomnav button{min-height:2.4rem;flex-direction:row;justify-content:center;gap:.4rem}
}
@media (hover:none){.nav-item:hover,.btn-secundario:hover:not(:disabled){background:inherit}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* impressao do painel (a impressao oficial e o PDF) */
@media print{.sidebar,.topbar,.bottomnav,#toastWrap,.ck-barra-fixa,.ck-ferramentas{display:none!important}.conteudo{margin:0}body{background:#fff}}


.man-amb{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:0 1.5rem}
.man-amb-l{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--borda,#FFDCCB);font-size:.9rem}

.login-badge{background:#fff;border:1px solid var(--g200);width:4rem;height:4rem;padding:.35rem}
.login-badge img{width:100%;height:100%;object-fit:contain}

/* ===== modulos: plantao, abastecimento, registro fotografico ===== */
.relogio{font-family:var(--fonte-mono);font-weight:700;font-size:clamp(2rem,9vw,3.2rem);letter-spacing:.02em;line-height:1.1;margin:.5rem 0 .1rem;color:var(--g900)}
.relogio.atencao{color:var(--warn)}
.relogio.excedido{color:var(--err)}
.plantao-card{border-color:#86EFAC}
input.auto{background:var(--ok-bg);border-color:#86EFAC}
.foto-grade{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,8rem),1fr))}
.foto-grade:empty{display:none}
.foto-grade-lg{grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr))}
.foto-item{position:relative;min-width:0}
.foto-item img{width:100%;aspect-ratio:15/10;object-fit:cover;border-radius:var(--r8);border:1px solid var(--g300);background:var(--g100);display:block;cursor:zoom-in}
.foto-rm{position:absolute;top:.3rem;right:.3rem;width:1.9rem;height:1.9rem;border-radius:99px;border:0;background:rgba(124,45,18,.82);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.foto-rm svg{width:1rem;height:1rem}
.foto-rotulo{position:absolute;left:.3rem;top:.3rem;background:rgba(124,45,18,.8);color:#fff;font-size:.68rem;padding:.05rem .4rem;border-radius:99px}
.foto-leg{width:100%;margin-top:.3rem;font-size:.8rem;padding:.35rem .5rem;min-height:2rem}
.miniaturas{display:flex;gap:.4rem}
.miniaturas img{width:4.2rem;aspect-ratio:15/10;object-fit:cover;border-radius:6px;border:1px solid var(--g300);cursor:zoom-in}
.av-grade{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr))}
.av-card{padding:0;overflow:hidden;color:inherit;text-decoration:none;margin:0;display:block}
.av-card img,.av-sem-foto{width:100%;aspect-ratio:15/10;object-fit:cover;display:block;background:var(--g100)}
.av-sem-foto{display:flex;align-items:center;justify-content:center;color:var(--g400)}
.av-corpo{padding:.8rem .9rem;display:flex;flex-direction:column;gap:.25rem}
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(124,45,18,.93);display:flex;align-items:center;justify-content:center;padding:max(1rem,var(--sat)) 1rem}
.lightbox img{max-width:100%;max-height:88dvh;object-fit:contain;border-radius:6px}
.lb-fechar{position:absolute;top:max(.8rem,var(--sat));right:.8rem;width:2.6rem;height:2.6rem;border-radius:99px;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-fechar svg{width:1.3rem;height:1.3rem}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.8rem;height:3.4rem;border:0;border-radius:8px;background:rgba(255,255,255,.16);color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.lb-ant{left:.6rem}.lb-prox{right:.6rem}
.lb-info{position:absolute;bottom:max(.8rem,var(--sab));left:0;right:0;text-align:center;color:#fff;font-size:.82rem;font-family:var(--fonte-mono)}

.marca-icone.sem-fundo{background:transparent;overflow:visible}
.marca-icone.sem-fundo img{background:transparent}
.login-badge{background:transparent;border:0;box-shadow:none;width:4.2rem;height:4.2rem;padding:0}

/* ===== Aplicativos PWA (v2.6) ===== */
.apps-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:.75rem;margin:.75rem 0}
.apps-grade .app-card{display:flex;gap:.9rem;align-items:flex-start;margin:0}
.app-icone{width:64px;height:64px;border-radius:16px;flex:none;box-shadow:0 1px 4px rgba(124,45,18,.25)}
.app-info{min-width:0;flex:1}
.app-info h4{margin:0 0 .15rem}
.app-info p{margin:0 0 .6rem;opacity:.8;font-size:.9rem}
.app-info .linha{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.selo{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;background:rgba(74,222,128,.18);color:#15803D}
.lista-simples{margin:0;padding-left:1.1rem;line-height:1.6}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .selo{color:#4ADE80}}

/* ---------- aplicativo PWA: barras de estado (offline, pendencias, instalar, atualizar) ---------- */
#ckoBarras{position:sticky;top:calc(var(--top) + var(--sat));z-index:38;display:flex;flex-direction:column}
#ckoBarras:empty{display:none}
.cko-barra{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:.55rem max(1rem,var(--sar)) .55rem max(1rem,var(--sal));font-size:.85rem;border-bottom:1px solid;line-height:1.35}
.cko-barra svg{vertical-align:-.2em}
.cko-barra .cko-acoes{display:flex;gap:.4rem;flex-wrap:wrap}
.cko-aviso{background:var(--warn-bg);color:var(--warn);border-color:#FCD34D}
.cko-erro{background:var(--err-bg);color:var(--err);border-color:#FCA5A5}
.cko-info{background:var(--g100);color:var(--g800);border-color:var(--g200)}
.toast.aviso{background:var(--warn);color:#fff}
body.sem-rede .topbar{border-bottom-color:#FCD34D}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .cko-info{background:#8F3410;color:#FFDCCB;border-color:#A8400F}}
@media(display-mode:standalone){body{overscroll-behavior-y:contain}}

/* ---------- paleta laranja Med+ (laranja #FF7647 + branco) ---------- */
.sidebar{background:linear-gradient(180deg,#C2410C 0%,#E8541F 55%,#FF7647 100%)}
.sidebar-topo,.sidebar-foot{border-color:rgba(255,255,255,.28)}
.marca-icone{background:rgba(255,255,255,.22)}
.marca-tag,.sidebar-foot{color:#FFE8DD}
.nav-item{color:#fff}
.nav-item:hover{background:rgba(255,255,255,.18);color:#fff}
.nav-item.ativo{background:#fff;color:var(--lar-dd)}
.btn-primario{background:linear-gradient(135deg,#E8541F,#FF7647);color:#fff}
.btn-primario:hover:not(:disabled){background:var(--lar-dd)}
.topbar{border-bottom:2px solid var(--lar)}
.usuario-avatar,.login-badge{background:var(--lar-d)}
.badge-escuro,.segmentado button.ativo,.dia-chip.ativo,.dia-chip.ativo.parcial,.ck-btn.ativo,.toast,.ck-secao-nome,.matriz .sec-linha td{background:var(--lar-d)}
.ck-btn.ativo,.dia-chip.ativo{border-color:var(--lar-d)}
.ck-btn.ativo.F{background:var(--err);border-color:var(--err)}
.ck-btn.ativo.I{background:#B45309;border-color:#B45309}
.ck-secao-nome .badge{background:var(--lar-dd)}
.barra>i{background:var(--grad)}
.aba.ativa{color:var(--lar-dd);border-color:var(--lar)}
input:focus,select:focus,textarea:focus{outline-color:var(--lar);border-color:var(--lar)}
.interruptor input{accent-color:var(--lar-d)}
a{color:var(--lar-dd)}
.bottomnav button.ativo{color:var(--lar-dd)}

/* logo Med+ (horizontal, branca sobre laranja) */
.marca-icone.sem-fundo{width:auto;height:2.4rem;aspect-ratio:256/120;border-radius:0}
.marca-icone.sem-fundo img{width:auto;height:100%;object-fit:contain}
.login-badge{background:var(--grad);border:0;width:auto;min-width:4rem;height:4rem;padding:.55rem 1rem;border-radius:var(--r12)}
.login-badge img{width:auto;height:100%;background:transparent}
.login-links{text-align:center;margin-top:1rem;font-size:.86rem}
.login-links a{color:var(--lar-dd);font-weight:600}
.login-caixa .btn{text-decoration:none}

/* logo centralizada (menu lateral, login, recuperacao, offline) */
.marca{justify-content:center}
.sidebar-topo{display:flex;align-items:center;justify-content:center;padding-top:calc(1.2rem + var(--sat));padding-bottom:1.1rem}
.marca-icone.sem-fundo{height:3rem}
.login-marca{display:flex;flex-direction:column;align-items:center;text-align:center}
.login-badge{margin-left:auto;margin-right:auto}

/* funcoes: Super Admin x Administrador x Gestor x Colaborador */
button.usuario-chip{background:none;border:0;padding:.15rem .4rem;border-radius:var(--r8);cursor:pointer;text-align:left;font:inherit;color:inherit}
button.usuario-chip:hover{background:var(--g100)}
.usuario-chip .usuario-txt{display:flex;flex-direction:column;line-height:1.15;max-width:11rem}
.usuario-chip .usuario-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.usuario-funcao{font-size:.68rem;font-family:var(--fonte-mono);color:var(--g500)}
.usuario-funcao.super{color:var(--lar-dd);font-weight:700}
.badge-super{background:var(--g900);color:#fff}
@media (max-width:640px){.usuario-chip .usuario-txt{display:none}}

/* ===== Contratante: chat, auditorias, volume e status ===== */
.badge-contratante{background:var(--lar-d);color:#fff}
.barra>i.barra-aviso{background:#F59E0B}
.barra>i.barra-erro{background:var(--err)}
.delta{display:block;font-size:.72rem;margin-top:.25rem;color:var(--g500);font-family:var(--fonte-mono)}
.delta.bom{color:var(--ok)}.delta.ruim{color:var(--err)}
.serie{display:flex;align-items:flex-end;gap:.5rem;height:9rem;padding-top:1rem}
.serie-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:0}
.serie-barra{width:100%;max-width:2.6rem;background:var(--grad);border-radius:6px 6px 0 0}
.serie-val{font-size:.68rem;font-family:var(--fonte-mono);color:var(--g600);margin-bottom:.2rem}
.serie-rot{font-size:.7rem;color:var(--g500);margin-top:.25rem;text-transform:uppercase}
.aud-card{margin-bottom:.8rem;border-left:4px solid var(--g300)}
.aud-card.aud-aberta{border-left-color:#F59E0B}
.aud-card.aud-respondida{border-left-color:var(--lar-d)}
.aud-card.aud-encerrada{border-left-color:var(--ok)}
.aud-texto{white-space:pre-wrap;word-break:break-word}
.aud-resposta{margin-top:.6rem;padding:.6rem .8rem;background:var(--g50);border-radius:var(--r8);border:1px solid var(--g200)}
.chat-wrap{display:grid;grid-template-columns:19rem 1fr;height:calc(100vh - var(--top) - 4.5rem);min-height:26rem;background:var(--w);border:1px solid var(--g200);border-radius:var(--r12);overflow:hidden;box-shadow:var(--sombra)}
.chat-lista{border-right:1px solid var(--g200);overflow-y:auto;background:var(--g50)}
.chat-lista-topo{padding:.8rem 1rem;font-weight:700;font-family:var(--fonte-titulo);border-bottom:1px solid var(--g200)}
.chat-contato{display:flex;align-items:center;gap:.7rem;width:100%;border:0;background:none;padding:.7rem 1rem;cursor:pointer;text-align:left;border-bottom:1px solid var(--g100);font:inherit;color:inherit}
.chat-contato:hover{background:var(--g100)}.chat-contato.ativo{background:var(--g200)}
.chat-avatar{position:relative;flex:none;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--lar-d);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}
.chat-online{position:absolute;right:-1px;bottom:-1px;width:.75rem;height:.75rem;border-radius:50%;background:var(--g400);border:2px solid #fff}
.chat-online.on{background:#16A34A}
.chat-on-txt{color:#16A34A;font-weight:600}
.chat-contato-txt{flex:1;min-width:0;display:flex;flex-direction:column}
.chat-contato-nome{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-contato-ult{color:var(--g500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-contato-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;color:var(--g500)}
.chat-contato-meta .contagem{background:var(--err);color:#fff;border-radius:99px;font-size:.7rem;padding:.05rem .45rem;font-family:var(--fonte-mono)}
.chat-conv{display:flex;flex-direction:column;min-width:0;min-height:0}
.chat-cab{display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;border-bottom:1px solid var(--g200)}
.chat-voltar{display:none}
.chat-msgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.35rem;background:var(--g50)}
.chat-msg{display:flex}.chat-msg.minha{justify-content:flex-end}
.chat-balao{max-width:75%;padding:.5rem .75rem;border-radius:14px;background:#fff;border:1px solid var(--g200);white-space:pre-wrap;word-break:break-word}
.chat-msg.minha .chat-balao{background:var(--lar-d);color:#fff;border-color:var(--lar-d)}
.chat-hora{display:block;text-align:right;font-size:.65rem;opacity:.75;margin-top:.15rem}
.chat-tick.lida{color:#FFE9A8;font-weight:700}
.chat-dia{text-align:center;margin:.5rem 0}.chat-dia span{background:var(--g200);color:var(--g700);font-size:.7rem;padding:.15rem .6rem;border-radius:99px}
.chat-form{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid var(--g200);align-items:flex-end}
.chat-form textarea{flex:1;resize:none;max-height:140px;min-height:2.6rem}
.chat-vazio,.chat-vazio-msg{margin:auto;text-align:center;color:var(--g500);padding:2rem}
.chat-vazio svg{width:3rem;height:3rem;opacity:.5}
@media (max-width:820px){
  .chat-wrap{grid-template-columns:1fr;height:calc(100vh - var(--top) - 9rem)}
  .chat-wrap .chat-conv{display:none}
  .chat-wrap.com-ativa .chat-lista{display:none}
  .chat-wrap.com-ativa .chat-conv{display:flex}
  .chat-voltar{display:inline-flex}
  .chat-balao{max-width:88%}
}

/* ===== Espacamento padrao: titulos, campos, botoes e avisos (escala unica) ===== */
:root{--esp-1:.35rem;--esp-2:.6rem;--esp-3:1rem;--esp-4:1.4rem}
/* login, recuperacao e qualquer formulario simples */
.login-form{display:flex;flex-direction:column;gap:var(--esp-3);margin:0}
.login-form label{display:flex;flex-direction:column;gap:var(--esp-1);font-size:.84rem;font-weight:600;color:var(--g700);margin:0;min-width:0}
.login-form .login-erro,.login-form .alerta{margin:0}
.login-form .btn{margin-top:var(--esp-1)}
.login-marca{margin-bottom:var(--esp-4)}
.login-marca p{margin:var(--esp-2) 0 0}
.login-marca h1{margin:0}
.login-caixa > .login-erro,.login-caixa > .alerta{margin:0 0 var(--esp-3)}
.login-links{margin-top:var(--esp-3);line-height:1.6}
.login-rodape{margin-top:var(--esp-4)}
/* campos, titulos, botoes e avisos nas demais telas */
.campo{margin-bottom:var(--esp-3);gap:var(--esp-1)}
.form-grade{gap:0 var(--esp-3)}
.form-grade + .campo,.campo + .campo{margin-top:0}
.cabeca-pagina{margin-bottom:var(--esp-3)}
.card h4{margin-bottom:var(--esp-2)}
.modal h3{margin-bottom:var(--esp-3)}
.modal-acoes{margin-top:var(--esp-3);gap:var(--esp-2)}
.alerta{margin-bottom:var(--esp-3)}
.cabeca-pagina + .alerta,.cabeca-pagina + .card,.alerta + .grade,.alerta + .card,.card + .card{margin-top:0}
.cabeca-pagina .acoes,.linha{gap:var(--esp-2)}
.grade{gap:var(--esp-2)}
.grade-2{gap:var(--esp-3)}
.stat + .stat{margin:0}
.tabela-wrap,.segmentado{margin-bottom:var(--esp-3)}
.btn + .btn{margin-left:0}

/* ===== Aviso de inatividade ===== */
.sessao-aviso{position:fixed;inset:0;z-index:9999;background:rgba(124,45,18,.55);display:flex;align-items:center;justify-content:center;padding:1rem;padding-bottom:calc(1rem + var(--sab,0px))}
.sessao-aviso-caixa{width:min(26rem,100%);background:var(--w);border-radius:var(--r12);padding:1.4rem;box-shadow:0 20px 50px rgba(0,0,0,.35);border-top:4px solid var(--lar-d)}
.sessao-aviso-caixa h3{margin-bottom:var(--esp-2)}
.sessao-aviso-caixa p{margin:0;line-height:1.5}
.sessao-aviso-caixa .mono{font-size:1.15rem;color:var(--lar-dd)}
@media (max-width:520px){.sessao-aviso-caixa .modal-acoes{flex-direction:column-reverse}.sessao-aviso-caixa .btn{width:100%}}

/* ===== Responsividade total (prioridade): sem rolagem horizontal da pagina em 320 px ate telas grandes ===== */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
.conteudo,.pagina,.card,.stat,.alerta,.modal,.login-caixa{min-width:0;overflow-wrap:anywhere}
.segmentado{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.segmentado::-webkit-scrollbar{display:none}
.segmentado button{white-space:nowrap;flex:none}
form.linha input[type=search],form.linha input[type=text]{min-width:0!important;flex:1 1 9rem!important}
.tabela-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cabeca-pagina .acoes{max-width:100%}
.modal{max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);overflow-y:auto}
input,select,textarea,button{max-width:100%}
@media (max-width:520px){
  .cabeca-pagina .acoes{width:100%;margin-left:0}
  .cabeca-pagina .acoes .btn{flex:1 1 auto}
  .modal-acoes .btn{flex:1 1 auto}
  .grade{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grade-2,.form-grade{grid-template-columns:minmax(0,1fr)}
  .stat .valor{font-size:1.4rem}
}
@media (max-width:360px){.grade{grid-template-columns:minmax(0,1fr)}}
@supports (padding:max(0px)){.pagina{padding-left:max(1rem,var(--sal,0px));padding-right:max(1rem,var(--sar,0px))}}

/* ---------- Documentos (hub e modulos) ---------- */
.doc-grupo{margin:1.2rem 0 .6rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--g500)}
.doc-grade{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}
.doc-card{background:var(--w);border:1px solid var(--g200);border-radius:var(--r12);padding:1rem;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:.5rem;min-width:0}
.doc-card h4{font-size:.98rem;margin:0}
.doc-topo{display:flex;gap:.7rem;align-items:center}
.doc-icone{width:2.4rem;height:2.4rem;border-radius:var(--r8);background:var(--g100);color:var(--lar-d);display:inline-flex;align-items:center;justify-content:center;flex:none}
.doc-icone svg{width:1.3rem;height:1.3rem}
.doc-cod{font-size:.78rem;font-weight:700;color:var(--g700)}
.doc-rev{font-size:.72rem;color:var(--g500)}
.doc-chips,.doc-ferr{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}
.doc-acoes{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto;padding-top:.4rem}
.doc-cab .doc-chips{margin-top:.6rem}
.doc-abas{max-width:100%;overflow-x:auto}
.doc-barras{display:grid;gap:.6rem}
.doc-barra-txt{display:flex;justify-content:space-between;gap:.6rem;font-size:.84rem;font-weight:600}
.doc-barra-fundo{height:.45rem;border-radius:99px;background:var(--g100);overflow:hidden;margin:.2rem 0}
.doc-barra-fundo div{height:100%;background:var(--lar-d);border-radius:99px}
.doc-itens{display:grid;gap:.25rem}
.doc-item{display:flex;gap:.6rem;align-items:baseline;font-size:.86rem;padding:.2rem 0;border-bottom:1px dashed var(--g200)}
.doc-q{min-width:2.4rem;text-align:right;font-weight:700;color:var(--g700)}
.doc-sec h4{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.doc-ferr-barra{margin-bottom:.8rem;align-items:center}
.doc-tanque{display:grid;gap:3px;margin:.6rem 0 1rem;max-width:15rem}
.doc-nivel{border:1px solid var(--g300);background:var(--w);border-radius:6px;height:1.9rem;text-align:left;padding:0 .6rem;font-size:.74rem;font-family:var(--fonte-mono);color:var(--g500);cursor:pointer}
.doc-nivel.cheio{background:var(--lar-d);color:#fff;border-color:var(--lar-d)}
.doc-nivel.reserva{border-color:var(--err)}
.doc-nivel.reserva.cheio{background:var(--err);border-color:var(--err)}
.doc-nivel:disabled{cursor:default}
.doc-vistas{max-width:100%;overflow-x:auto;margin-bottom:.6rem}
.doc-viatura{position:relative;display:inline-block;max-width:100%;border:1px solid var(--g300);border-radius:var(--r8);background:#fff;margin-bottom:.8rem;line-height:0;touch-action:manipulation}
.doc-viatura img{display:block;max-width:100%;max-height:22rem;width:auto;height:auto;user-select:none;-webkit-user-drag:none}
.doc-pino{position:absolute;transform:translate(-50%,-50%);min-width:1.45rem;height:1.45rem;border-radius:99px;background:var(--g900);color:#fff;font:700 .72rem/1.45rem var(--fonte-mono);text-align:center;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer;padding:0 .2rem}
.doc-pino.ativo,.doc-pino.novo{background:var(--lar-d)}
.doc-pino.fixo{position:static;transform:none;flex:none;cursor:default}
.doc-av-lista{display:grid;gap:.5rem}
.doc-av-item{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem}
.doc-form-avaria{margin-top:.4rem}
@media (max-width:700px){.doc-grade{grid-template-columns:1fr}.doc-viatura img{max-height:15rem}}
