/* Encomendas – estilo único (operador e morador). Mobile primeiro, alto contraste,
   texto >= 16px e botões >= 48px (pensado para usar com uma mão). */
:root { --azul:#0f2a47; --azul2:#1c4f86; --texto:#14202e; --fundo:#f3f6fa; --card:#fff; --borda:#b9c4d2;
  --ok:#0c6b3a; --okfundo:#dff3e7; --alerta:#8a4b00; --alertafundo:#fff0d6; --erro:#a11d1d; --errofundo:#fde4e4; --cinza:#4a5b6e; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; font:18px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; color:var(--texto); background:var(--fundo); }
h1 { font-size:1.35rem; margin:.2rem 0 .6rem; } h2 { font-size:1.15rem; margin:1rem 0 .4rem; }
a { color:var(--azul2); }
.oculto { display:none !important; }
.topo { background:var(--azul); color:#fff; padding:.6rem .9rem; display:flex; align-items:center; gap:.6rem; position:sticky; top:0; z-index:5; }
.topo h1 { color:#fff; margin:0; font-size:1.1rem; flex:1; }
.topo select { max-width:48vw; font-size:16px; min-height:44px; border-radius:8px; }
.topo .icone { background:transparent; border:2px solid #fff; color:#fff; min-width:48px; min-height:48px; border-radius:10px; font-size:1.1rem; }
main { padding:.8rem .9rem 6rem; max-width:720px; margin:0 auto; }
.card { background:var(--card); border:2px solid var(--borda); border-radius:14px; padding:.8rem; margin:.6rem 0; }
.card.destaque { border-color:var(--alerta); background:var(--alertafundo); }
.linha { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.linha .cresce { flex:1; min-width:0; }
.grande { font-size:1.35rem; font-weight:700; }
.suave { color:var(--cinza); font-size:.95rem; }
.contadores { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin:.4rem 0; }
.contador { background:#fff; border:2px solid var(--borda); border-radius:12px; padding:.5rem; text-align:center; }
.contador b { display:block; font-size:1.7rem; line-height:1.1; }
.contador.novo { border-color:var(--ok); background:var(--okfundo); }
.abas { display:flex; gap:.4rem; overflow-x:auto; margin:.6rem 0; padding-bottom:.2rem; }
.abas button { flex:1 0 auto; min-height:48px; padding:0 .9rem; border:2px solid var(--azul2); background:#fff; color:var(--azul2); border-radius:24px; font-size:16px; font-weight:600; }
.abas button[aria-selected="true"] { background:var(--azul2); color:#fff; }
button, .botao { font:inherit; min-height:52px; padding:.5rem 1rem; border-radius:12px; border:2px solid var(--azul2); background:#fff; color:var(--azul2); font-weight:700; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; text-align:center; }
button.primario, .botao.primario { background:var(--azul2); color:#fff; }
button.verde, .botao.verde { background:var(--ok); border-color:var(--ok); color:#fff; }
button.perigo { border-color:var(--erro); color:var(--erro); }
button.bloco, .botao.bloco { width:100%; margin:.35rem 0; }
button.pequeno { min-height:48px; padding:.3rem .8rem; font-size:16px; }
button:disabled { opacity:.55; cursor:not-allowed; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:4px solid #ffb703; outline-offset:2px; }
label { display:block; font-weight:700; margin:.7rem 0 .2rem; }
input, select, textarea { width:100%; font:inherit; font-size:18px; min-height:52px; padding:.5rem .7rem; border:2px solid var(--borda); border-radius:10px; background:#fff; color:var(--texto); }
textarea { min-height:90px; }
.ajuda { font-size:.95rem; color:var(--cinza); margin:.15rem 0 0; }
.erro-campo { color:var(--erro); font-weight:700; font-size:.98rem; margin:.2rem 0 0; }
.selo { display:inline-block; padding:.1rem .55rem; border-radius:999px; font-size:.9rem; font-weight:700; border:2px solid currentColor; }
.selo.ok { color:var(--ok); background:var(--okfundo); } .selo.alerta { color:var(--alerta); background:var(--alertafundo); }
.selo.erro { color:var(--erro); background:var(--errofundo); } .selo.neutro { color:var(--cinza); background:#eaeff5; }
.aviso { border-radius:12px; padding:.7rem .8rem; margin:.6rem 0; font-weight:600; }
.aviso.erro { background:var(--errofundo); color:var(--erro); border:2px solid var(--erro); }
.aviso.alerta { background:var(--alertafundo); color:var(--alerta); border:2px solid var(--alerta); }
.aviso.ok { background:var(--okfundo); color:var(--ok); border:2px solid var(--ok); }
.foto { width:100%; max-height:46vh; object-fit:contain; background:#000; border-radius:10px; }
.assinatura-img { width:100%; background:#fff; border:2px solid var(--borda); border-radius:10px; }
.tela-cheia { position:fixed; inset:0; background:rgba(15,42,71,.6); z-index:20; display:flex; align-items:flex-end; justify-content:center; }
.folha { background:#fff; width:100%; max-width:720px; max-height:92vh; overflow:auto; border-radius:18px 18px 0 0; padding:1rem; }
.pad-caixa { border:3px dashed var(--azul2); border-radius:12px; background:#fff; }
.pad-caixa canvas { display:block; width:100%; height:auto; touch-action:none; -ms-touch-action:none; }
.tempo { list-style:none; margin:.3rem 0; padding:0 0 0 1rem; border-left:4px solid var(--borda); }
.tempo li { margin:.5rem 0; padding-left:.4rem; } .tempo li b { display:block; }
#toasts { position:fixed; left:.6rem; right:.6rem; bottom:5.2rem; z-index:30; display:flex; flex-direction:column; gap:.4rem; pointer-events:none; }
.toast { pointer-events:auto; background:var(--azul); color:#fff; padding:.8rem 1rem; border-radius:12px; font-weight:700; box-shadow:0 4px 14px rgba(0,0,0,.35); }
.toast.ok { background:var(--ok); } .toast.erro { background:var(--erro); }
.fab { position:fixed; right:1rem; bottom:3.6rem; z-index:6; min-height:64px; padding:0 1.4rem; border-radius:32px; font-size:1.15rem; box-shadow:0 4px 14px rgba(0,0,0,.35); }
.rodape { position:fixed; left:0; right:0; bottom:0; background:#fff; border-top:2px solid var(--borda); display:flex; align-items:center; justify-content:space-between; padding:.25rem .8rem; font-size:.9rem; z-index:4; }
.rodape a { color:var(--cinza); }
.marca { display:inline-flex; align-items:center; gap:.2rem; font-weight:700; color:var(--cinza); }
.marca img { width:44px; height:28px; display:block; }
.pagina-morador { max-width:560px; margin:0 auto; padding:1rem 1rem 5rem; }
.pagina-morador .topo-morador { background:var(--azul); color:#fff; padding:1rem; border-radius:14px; margin-bottom:.8rem; }
.pagina-morador .topo-morador h1 { color:#fff; margin:0; }
.dados { display:grid; grid-template-columns:auto 1fr; gap:.25rem .8rem; margin:.5rem 0; } .dados dt { font-weight:700; } .dados dd { margin:0; }
.ciencia { background:var(--okfundo); border:2px solid var(--ok); border-radius:12px; padding:.8rem; font-weight:700; margin:.8rem 0; }
@media (prefers-reduced-motion: no-preference) { .toast { animation: sobe .18s ease-out; } @keyframes sobe { from { transform:translateY(12px); opacity:0; } } }
