:root{color-scheme:light;--navy:#121a2b;--orange:#ff5532;--muted:#596777;--line:#dce2e8;--paper:#f0f0f0;--red:#a71d24;--green:#187448}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--navy);font:15px/1.45 system-ui,Segoe UI,Roboto,Arial}body{padding-bottom:calc(85px + env(safe-area-inset-bottom))}button,input,textarea,select{font:inherit}button{min-height:46px;border:0;border-radius:12px;padding:10px 13px;background:#e8edf3;color:var(--navy);cursor:pointer;font-weight:650}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #407bd4;outline-offset:2px}input,select,textarea{width:100%;padding:12px;border:1px solid #b7c2ce;border-radius:11px;background:white;color:var(--navy);min-height:46px}input[type=checkbox]{width:24px;min-height:24px;accent-color:var(--orange)}textarea{min-height:105px;resize:vertical}label{display:block;font-size:13px;font-weight:650;margin:12px 0}label input,label textarea,label select{display:block;margin-top:5px}header{position:sticky;top:0;z-index:10;background:var(--navy);color:white;display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 18px 12px}header button{color:white;background:#293345}.brand{display:flex;gap:12px;align-items:center}.brand strong{font-size:21px}.brand small{display:block;font-size:11px;color:#b7c5d8}.mark{background:var(--orange);color:white;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:13px;font-size:23px}main{max-width:780px;margin:auto;padding:18px}h1{font-size:25px;line-height:1.2;margin:8px 0 14px}h2{font-size:19px;margin:8px 0}h3{font-size:16px;margin:0 0 8px}p{margin:8px 0 15px}small,.muted{font-size:12px;color:var(--muted)}#connection{background:#e8eef4;padding:8px 18px;color:#455467;font-size:12px}.primary{background:var(--orange);color:white}.secondary{background:white;border:1px solid var(--line)}.danger{background:#ffe9e9;color:var(--red)}.wide{width:100%}.row{display:flex;align-items:center;gap:8px}.row>*{min-width:0}.row input{flex:1}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card{background:white;padding:15px;border:1px solid var(--line);border-radius:16px;margin:12px 0}.tabs{display:flex;gap:7px;overflow-x:auto;padding:12px 0}.tabs button{white-space:nowrap;min-height:40px;font-size:12px}.tabs .selected{background:var(--navy);color:white}.task{display:grid;grid-template-columns:26px 1fr 46px;gap:7px;padding:12px;background:white;border:1px solid var(--line);border-radius:14px;margin:8px 0}.task.urgent{border-left:4px solid var(--orange)}.task.critical{border-left:4px solid var(--red)}.taskbody{text-align:left;background:none;padding:0;font-weight:400;min-height:60px}.taskbody strong{font-size:11px;color:var(--muted)}.taskbody h3{font-size:15px;margin:3px 0}.taskbody small{display:block}.iconaction{padding:4px;background:#f0f4f8;font-size:12px;align-self:center}.badge{background:#e9edf4;padding:4px 7px;display:inline-block;border-radius:6px;font-size:11px}.late{color:var(--red);font-weight:650}.empty{padding:32px 14px;border:1px dashed #b7c2ce;border-radius:16px;text-align:center;color:var(--muted);margin-top:15px}.sector{width:100%;text-align:left;display:flex;gap:13px;align-items:center;background:white;border:1px solid var(--line);margin:8px 0;padding:16px}.sector .emoji{font-size:25px}.sector small{display:block;font-weight:400}.menu{display:grid;gap:10px}.menu button{text-align:left;background:white;border:1px solid var(--line);padding:17px}.notice{padding:12px;border-radius:12px;background:#e9f0f8;font-size:13px;margin:12px 0}.warning{background:#fff0dc}.actions{display:flex;gap:8px;justify-content:flex-end;margin:18px 0;flex-wrap:wrap}.actions button{flex:1}.stickyactions{position:sticky;bottom:0;background:white;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}#nav{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);z-index:20;display:grid;grid-template-columns:repeat(6,1fr);padding:5px 6px calc(5px + env(safe-area-inset-bottom))}#nav button{background:white;font-size:24px;padding:3px;min-height:57px}#nav span{display:block;font-size:11px}#nav .selected{color:var(--orange);background:#fff0eb}dialog{border:0;border-radius:20px 20px 0 0;max-width:780px;width:100%;max-height:93vh;max-height:93dvh;margin:auto auto 0;padding:0 18px calc(18px + env(safe-area-inset-bottom,0px));background:white;color:var(--navy);overscroll-behavior:contain}dialog::backdrop{background:#101a2bb3}.modalhead{position:sticky;top:0;display:flex;align-items:center;gap:8px;justify-content:space-between;background:white;border-bottom:1px solid var(--line);z-index:3;padding:12px 0}.modalhead h2{font-size:16px}.modalhead button{min-width:44px;font-size:12px}.modalhead button:last-child{font-size:20px}.login{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:var(--navy);overflow:auto;padding:35px 20px;display:grid;place-items:center}.loginbox{width:100%;max-width:410px;background:white;padding:24px;border-radius:24px}.loginbox h1{margin-top:20px}.hidden{display:none!important}#loginError{color:var(--red);font-size:13px}#toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:100;background:var(--navy);color:white;padding:12px 16px;border-radius:12px;display:none;max-width:90%;width:max-content}#toast.show{display:block}audio{width:100%;margin:7px 0}pre{white-space:pre-wrap;font:inherit;overflow-wrap:anywhere}.history{border-left:2px solid #d7dfe8;padding:8px 12px;margin:8px 0;font-size:12px}.attachment{border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0}.attachment img{max-width:100%;max-height:250px;object-fit:contain}.pill{border-radius:20px;padding:6px 10px;background:#e8edf3;font-size:11px}.numbers{display:flex;justify-content:space-between;font-size:12px;margin:12px 0}.numbers b{font-size:20px;display:block}.checkrow{display:flex;gap:8px;align-items:center}.checkrow input{width:24px}.subtle{background:transparent;color:var(--muted)}.compat-alert{position:fixed;left:12px;right:12px;bottom:12px;z-index:200;background:#fff0dc;color:#121a2b;border:2px solid #ff5532;border-radius:14px;padding:14px;font-size:14px;line-height:1.4}@media(min-width:780px){dialog{margin:auto;border-radius:20px;max-height:87vh;max-height:87dvh}header{padding-left:calc((100% - 744px)/2);padding-right:calc((100% - 744px)/2)}#nav{padding-left:calc((100% - 780px)/2);padding-right:calc((100% - 780px)/2)}}

/* Marca Plasmetal: Charcoal Blue #121A2B, Portland Orange #FF5532, Anti-Flash White #F0F0F0 (docs/MARCA.md) */
.logo{display:block;width:46px;height:auto}.loginbox .logo{width:68px;margin-bottom:4px}
/* Logo oficial PlasOne (símbolo + palavra, vetor enviado pela Plasmetal): cabeçalho e tela de entrada — ver docs/MARCA.md */
.wordlogo{display:block;height:30px;width:auto;flex:none}
/* Logo do cabeçalho "ganha vida" uma vez só, ao abrir o app (pedido do usuário) — sem precisar de um arquivo GIF
 * (não temos um pronto, e criar do zero não dava pra fazer bem aqui): a mesma imagem SVG de sempre, só com uma
 * entrada sutil via CSS. `animation` sem "infinite" roda 1x e para sozinha — não repete a cada tela, só na
 * primeira vez que o cabeçalho aparece na sessão. Desliga sozinha pra quem pediu menos movimento no aparelho. */
@keyframes logoIntro{0%{opacity:0;transform:scale(.7) rotate(-8deg)}60%{opacity:1;transform:scale(1.06) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0deg)}}
header .wordlogo{animation:logoIntro .7s cubic-bezier(.34,1.56,.64,1) both}
@media (prefers-reduced-motion: reduce){header .wordlogo{animation:none}}
.lwordlogo{display:block;height:36px;width:auto}
/* Modo rápido (3ª forma de criar pendência): botões grandes, espaços compactos, "Salvar pendência" fixo respeitando a barra do Android e o teclado */
#modal.quick{padding-bottom:0}#modal.quick #backModal{display:none}
.qform{display:block}
.qdictate{width:100%;min-height:64px;font-size:19px;display:flex;align-items:center;justify-content:center;gap:10px;background:#e4eefa;color:var(--navy);border:1px solid #c5d9f0;margin-top:12px}
.qform textarea{font-size:17px;min-height:96px}.qform label{margin:12px 0 6px}
.qtitle{font-size:14px;color:var(--muted);margin:16px 0 8px;font-weight:650}
.qcard{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:white;border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-height:76px}
/* Alertas ClickUp: o MESMO cartão .task da pendência do Início (ícone|corpo|ver|+), não um cartão à parte —
 * antes era um cartão simplificado próprio (.card/.cucard), com título pequeno e 2 botões fixos embaixo; agora
 * usa a mesma grade, o mesmo título (.tl1 h3, 17px/750) e o mesmo par de botões ver/+ dos outros cartões — o "+"
 * abre o mesmo menu de ações (Virar Pendência/Tarefa) em vez de 2 botões fixos só desta tela. */
.task.cutask{border-left-color:#8b93a3}
.task.cutask.unread{border-left-color:var(--orange);background:#FFF6F2}
.chk.cuicon{background:none;padding:0;min-height:0;border-radius:0;color:var(--orange)}
.cutag{display:inline-flex;align-items:center;gap:4px;margin:2px 0 0}.cutag .mi{width:14px;height:14px}
.cutext{display:-webkit-box;margin:6px 0 4px;font-size:15px;font-weight:500;line-height:1.35;color:var(--navy);-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.qavatar{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e8edf3;font-size:24px;flex:none}
.qwho{flex:1;min-width:0}.qwho small{display:block;font-weight:400;color:var(--muted);font-size:13px}.qwho b{display:block;font-size:20px;overflow-wrap:anywhere}.qchev{font-size:28px;color:var(--muted)}
.mtgcard{margin:8px 0}.mtgcard .qcard{margin:0}
.cobtime{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:650}
.cobtime.live{color:var(--red)}.cobtime.done{color:var(--green)}
.cobday{border:1px solid var(--line);border-radius:12px;background:#fff;margin:10px 0;padding:0 12px}
.cobday>summary{min-height:48px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;list-style:none;color:var(--navy)}
.cobday>summary::-webkit-details-marker{display:none}
.cobday .qcard{margin:8px 0}
#cobrancasBtn .mi{fill:var(--orange)}
.qpanel{border:1px solid var(--line);border-radius:14px;padding:4px 14px 12px;margin-top:8px;background:#f7f8fa}
.qdue{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.qform .qdue>*{position:relative;min-height:76px;margin:0;padding:6px;border:0;border-radius:14px;background:#e8ebef;color:var(--navy);font-size:16px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;cursor:pointer}
.qform .qdue>.on{background:var(--navy);color:#f0f0f0}
.qdue input[type=date]{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.qdueinfo{margin:8px 0 0;justify-content:space-between}.qdueinfo .subtle{min-height:36px;padding:4px 10px}
.qprio{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:14px;font-weight:700;font-size:16px;margin-top:12px;background:#e8ebef;color:var(--navy)}
.qprio.urgente{background:#ffe3df;color:#c4231a}.qprio.urgentissimo{background:#c4231a;color:#f0f0f0}
.qhelp{margin:6px 0 0}
.qsecondary{margin-top:14px}.qsecondary>button{flex:1;min-height:60px;font-size:16px}
.qfooter{position:sticky;bottom:0;z-index:4;background:white;margin:14px -18px 0;padding:10px 18px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
.qfooter button{width:100%;min-height:60px;font-size:19px}

/* Tela de acesso do PlasOne (Tela 10): fundo Charcoal Blue, sem cartão branco, campos Anti-Flash White, botão Portland Orange */
/* Tela estática (sem rolar): antes passava do tamanho de uma tela de celular comum (812px) em ~200px — dois
 * blocos de logo grandes (Plasmetal + PlasOne) empilhados e espaçamento generoso demais. Reduzido tudo
 * proporcionalmente (logos, títulos, espaços entre blocos) pra caber de uma vez, sem cortar nenhuma informação —
 * pedido do usuário: "se for preciso remover rodapé, pode", mas coube tudo só encolhendo.
 * Depois, pedido novo do usuário: tirar o bloco Plasmetal do topo (logo + "Global Industrial Force") por completo
 * — a tela agora começa direto no logo do PlasOne + frase, com o "Boa noite" logo em seguida; o selo de versão saiu
 * do topo e foi pro rodapé, na ordem pedida (status do servidor → versão → Configurar conexão). */
.login{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:block;padding:0;background:var(--navy);color:#f0f0f0;overflow:auto;-webkit-overflow-scrolling:touch}
.loginwrap{box-sizing:border-box;min-height:100%;max-width:440px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top,0px)) 28px calc(10px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;justify-content:center}
.lmain h1{margin:0;font-size:23px;line-height:1.15;font-weight:700;color:#f0f0f0}
.lsub{margin:2px 0 0;font-size:14px;color:rgba(240,240,240,.82)}
.lapp{margin:0 0 14px}
.ldesc{display:block;margin-top:4px;font-size:13px;color:rgba(240,240,240,.85)}
.lfield{margin:0 0 8px}.lfield label{display:block;margin:0 0 5px;font-size:12px;font-weight:600;letter-spacing:.09em;color:rgba(240,240,240,.72)}
.login input{display:block;width:100%;box-sizing:border-box;min-height:48px;margin:0;padding:0 16px;border:0;border-radius:12px;background:#f0f0f0;color:var(--navy);font-size:17px;font-weight:600;outline:none;box-shadow:none}
.login input:focus{box-shadow:0 0 0 2px var(--orange)}
.login input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #f0f0f0 inset;-webkit-text-fill-color:#121a2b}
.lpass{position:relative}.lpass input{padding-right:58px}
.leye{position:absolute;top:0;right:0;width:48px;height:48px;min-height:48px;padding:0;display:grid;place-items:center;background:none;border:0;border-radius:12px;color:var(--navy);opacity:.72}
.leye:focus-visible{outline:none;box-shadow:0 0 0 2px var(--orange);opacity:1}
.lhint{margin:0 0 8px;font-size:13px;color:rgba(240,240,240,.82)}
#loginError{min-height:18px;margin:0 0 4px;font-size:13px;color:var(--orange)}
.lenter{width:100%;min-height:56px;margin:2px 0 0;padding:0 16px;border:0;border-radius:14px;background:var(--orange);color:#f0f0f0;font-size:17px;font-weight:700;letter-spacing:.08em;box-shadow:none}
.lenter:disabled{opacity:.55}
.lstatus{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin:4px 0 0;font-size:13px;color:#f0f0f0;pointer-events:none;user-select:none;-webkit-user-select:none}
.ldot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--orange)}.lstatus.on .ldot{background:#3DBE7A;box-shadow:0 0 0 3px rgba(61,190,122,.28)}
.lstatus small{flex-basis:100%;padding-left:19px;font-size:12px;color:rgba(240,240,240,.66)}.lstatus .lver{flex-basis:100%;padding-left:19px;margin:0}
.lfoot{margin-top:22px;padding-top:4px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.llink{min-height:36px;padding:4px 0;border:0;background:none;color:rgba(240,240,240,.82);font-size:14px;font-weight:500;text-align:left}
.llink:focus-visible{outline:none;box-shadow:0 0 0 2px var(--orange)}

/* ---------- P1: lista de pendências, navegação, Central de Respostas, visualizador de foto ---------- */
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
#nav button{font-size:11px;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
#nav .ic{width:24px;height:24px}#nav span{font-size:11px}
#quick{border-radius:14px;min-height:52px}
#quickVoice,#quickAdd{width:52px;min-height:52px;padding:0;border-radius:14px;font-size:22px;flex:none}
.stats{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px;margin:12px 0}
.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:10px 12px;text-align:left;min-height:64px;font-weight:400;display:block}
.stat b{display:block;font-size:24px;line-height:1.1;font-weight:700}.stat span{display:block;font-size:13px;color:var(--muted)}
.stat.bell b{font-size:20px;color:var(--orange)}
.ctrl{justify-content:space-between;gap:10px;margin-bottom:6px}
.ctrl .wa{white-space:nowrap;font-size:14px;flex:1;display:flex;align-items:center;gap:8px;justify-content:flex-start;text-align:left;min-height:48px}.ctrl .wa .mi{width:22px;height:22px}
.ctrl .sync{display:flex;flex-direction:column;align-items:flex-end;gap:0;background:none;min-height:48px;padding:4px 6px;font-weight:650}.ctrl .sync small{font-weight:400;font-size:11px}
.task{grid-template-columns:28px 1fr auto;align-items:start;padding:12px 12px 12px 10px;gap:8px}
.task.pr-urgente{border-left:4px solid var(--orange)}.task.pr-urgentissimo{border-left:4px solid #c4231a;background:#fff6f5}
.task .trow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task .trow strong{font-size:12px;letter-spacing:.02em;color:var(--muted)}
.pbadge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5}
.tagcode{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.2px;background:var(--navy,#121A2B);color:#F0F0F0;flex:none}
.qttext{font-size:14px;line-height:1.4;margin:5px 0 3px;overflow-wrap:anywhere}
.task .qtdone{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:4px;margin:0 0 2px;padding:4px 10px;border-radius:999px;border:none;background:rgba(24,116,72,.14);color:var(--green);font-size:13px;font-weight:650}
.pbadge.normal{background:#e3ecff;color:#1e4fc2}.pbadge.urgente{background:#FFE4D1;color:#B34700}.pbadge.urgentissimo{background:#c4231a;color:#f0f0f0}
.pbadge.quick{background:#ffe4db;color:var(--orange)}.pbadge.quick .mi{fill:var(--orange)}
.taskbody h3{font-size:16px;line-height:1.3;margin:5px 0 3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.tmeta{font-size:13px;color:var(--muted)}.tdate{display:flex!important;align-items:center;gap:5px;font-size:13px;color:var(--muted);margin-top:2px}.tdate .ic{width:14px;height:14px}
.tside{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.waicon{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:12px;background:#e4f5ea;color:#1faa59}.waicon .mi{width:24px;height:24px}
.tclip{display:flex;align-items:center;gap:3px;font-size:13px;color:var(--muted)}.tclip .ic{width:16px;height:16px}
.plus{width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;background:var(--orange);color:#f0f0f0;font-size:26px;line-height:1}
/* Menu "+" universal do cartão (Ações): chips coloridos + 2 grupos, no padrão do mockup "Popup Ações Plasmetal" (27/09) — cores reais do projeto (--orange/--navy/--green), não as do mockup. */
.cardmenu{position:fixed;z-index:120;width:280px;max-width:calc(100vw - 16px);background:#fff;border-radius:16px;box-shadow:0 18px 40px -14px rgba(18,26,43,.28),0 2px 8px rgba(18,26,43,.06);overflow:hidden}
.amhead{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 14px;font-size:16px;font-weight:700;color:var(--navy)}
.amclose{width:36px;height:36px;min-height:36px;border-radius:18px;background:transparent;color:var(--muted);padding:0;display:grid;place-items:center}
.amclose:hover{background:#f0f2f5}
.amgroup{display:flex;flex-direction:column;padding:4px 8px}
.amgroup+.amgroup{border-top:1px solid var(--line);padding-top:8px;margin-top:2px}
.amrow{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:6px 8px;border:0;background:none;border-radius:12px;text-align:left;font-weight:600;font-size:15px;color:var(--navy)}
.amrow.two{min-height:64px}
.amrow:hover{background:#f0f2f5}
.amchip{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center}
.amchip.orange{background:rgba(255,85,50,.12);color:var(--orange)}
.amchip.blue{background:rgba(18,26,43,.07);color:var(--navy)}
.amchip.green{background:rgba(24,116,72,.14);color:var(--green)}
.amchip .mi{fill:currentColor}
.amtext{display:flex;flex-direction:column;gap:1px;min-width:0}
.amlabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.amsub{font-size:12px;font-weight:500;color:var(--muted)}
.amdivider{margin:10px 14px 4px;padding-top:10px;border-top:1px solid var(--line)}
.amdivider span{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
#nav [data-route="add"].addopen{color:var(--orange);background:#fff0eb}
.topinfo{justify-content:space-between;align-items:center;gap:10px}.topinfo p{margin:0}
.agroup{margin:14px 0}.ahead{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#ffe6e2;text-align:left}
.agroup.norm .ahead{background:#e3ecff}.ahead b{flex:1;font-size:18px}.acount{min-width:34px;padding:2px 10px;border-radius:999px;background:white;text-align:center;font-weight:700}.achev{font-size:18px}
.task.answer{grid-template-columns:1fr auto;align-items:center}
.await{display:inline-flex;align-items:center;gap:6px;background:#fff0dc;color:#8a5200;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:650;white-space:nowrap}
.attact{margin:6px 0 2px}.attact button{flex:1;min-height:44px}
.attachment img.zoomable{cursor:zoom-in;border-radius:10px;display:block;width:64px;height:64px;object-fit:cover}
/* ---------- Agenda: calendário mensal (Dia/Semana/Mês/Lista) ---------- */
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:8px 0}
.calhead{font-size:11px;color:var(--muted);text-align:center;font-weight:700;text-transform:uppercase}
.calday{aspect-ratio:1;min-height:0;background:white;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;font-weight:600;position:relative}
.calday.out{opacity:.4}.calday.today{border-color:var(--orange);border-width:2px}
.caldots{position:absolute;bottom:5px;display:flex;gap:3px}
.caldots .dot{width:6px;height:6px;border-radius:50%;display:inline-block}
.dot.reuniao{background:var(--orange)}.dot.compromisso{background:#1e4fc2}.dot.baixa{background:var(--green)}.dot.normal{background:#1e4fc2}.dot.urgente{background:var(--orange)}.dot.urgentissimo{background:#c4231a}
.agnavlabel{flex:1;text-align:center}
.agitem{border-left:4px solid var(--line);padding-left:10px !important}
.agitem.reuniao{border-left-color:var(--orange)}.agitem.compromisso{border-left-color:#1e4fc2}.agitem.baixa{border-left-color:var(--green)}.agitem.normal{border-left-color:#1e4fc2}.agitem.urgente{border-left-color:var(--orange)}.agitem.urgentissimo{border-left-color:#c4231a}
.agpill{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;margin-left:6px;vertical-align:middle}
.agpill.done{background:#dff3e6;color:#187448}.agpill.current{background:#ffe3db;color:#c73f1f}.agpill.todo{background:#e4eefa;color:#1e4fc2}.agpill.late{background:#fdecea;color:#a71d24}.agpill.off{background:#eceff3;color:#5b6577}
.agconflict{display:flex;align-items:center;gap:4px;color:#a71d24;font-size:12px;font-weight:650;margin-top:2px}
.agbanner{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.agbannerrow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;text-align:left;border:1px solid transparent;width:100%}
.agbannerrow.today{background:#fff0dc;border-color:#ffdca6}
.agbannerrow.late{background:#fdecea;border-color:#f3c2c0}
.agbannerrow b{display:block}.agbannerrow small{display:block;color:var(--muted)}
.agsummary{display:flex;justify-content:space-between;gap:8px;background:white;border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0}
.agsummary .stat{text-align:center;flex:1;background:none;border:none;padding:0;min-height:0}
.agfab{position:fixed;right:16px;bottom:calc(80px + env(safe-area-inset-bottom, 0px));z-index:20;width:56px;height:56px;border-radius:50%;background:var(--orange);color:#fff;border:none;box-shadow:0 4px 12px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}
.agfabmenu{position:fixed;right:16px;bottom:calc(144px + env(safe-area-inset-bottom, 0px));z-index:20;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.agfabmenu button{min-height:44px;padding:0 14px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex;align-items:center;gap:6px;font-weight:700}
/* ---------- Indicador flutuante de ditado (padrão em todo campo com "Ditar", PC ou Android) ---------- */
.dictoverlay{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:200;background:var(--navy);color:#fff;border-radius:14px;padding:12px 16px;max-width:88%;width:340px;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.dictoverlay b{display:flex;align-items:center;gap:6px;font-size:14px}
.dictoverlay p{margin:6px 0 8px;font-size:13px;color:#c7d0dd;min-height:18px}
.dictoverlay button{width:100%;min-height:40px;background:var(--orange);color:#fff;border:none;border-radius:10px;font-weight:700}
/* ---------- Chat interno: conversa privada 1:1 ---------- */
/* Chat interno no padrão WhatsApp: lista de conversas (com prévia/hora/não lidas) e bolhas por remetente, ver docs/MARCA.md pelas cores. */
.chatconvlist{margin:6px 0}
.chatrow{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:none;padding:10px 4px;border-bottom:1px solid var(--line);border-radius:0;min-height:auto}
.chatavatar{flex:none;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:700}
.chatrowmid{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.chatrowmid b{font-size:15px}
.chatrowmid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chatrowend{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.chatrowend .cbadge{position:static;background:var(--orange);color:#fff;border-radius:999px;min-width:18px;height:18px;font-size:11px;display:grid;place-items:center;padding:0 5px}
.chattop{display:flex;justify-content:space-between;align-items:center;margin:0 0 4px}
.chatlink{background:none;padding:6px 4px;min-height:36px;color:var(--navy);font-weight:650;display:flex;align-items:center;gap:4px}
.chatpriv{margin:0 0 8px;display:flex;align-items:center;gap:4px}
.chatlist{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto;overflow-x:hidden;padding:6px 4px}
.chatmsgrow{display:flex;align-items:center;gap:6px}
.chatmsgrow.mine{justify-content:flex-end}
.chatpick{flex:none;width:22px;min-height:22px;margin:0}
.chatbubble{max-width:75%;padding:8px 12px 6px;border-radius:14px 14px 14px 3px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.chatmsgrow.mine .chatbubble{border-radius:14px 14px 3px 14px;background:#ffe6de;border-color:#ffd0c2}
.chatbtext{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}
.chattime{align-self:flex-end;font-size:10px;color:var(--muted)}
.chatselbar{margin:8px 0}
.chatmore{flex:none;width:28px;height:28px;border-radius:50%;padding:0;display:grid;place-items:center;background:transparent;align-self:flex-end}
.chatimg{max-width:220px;max-height:220px;border-radius:10px;display:block;cursor:pointer}
.chatfile{display:inline-flex;align-items:center;gap:6px;background:#f0f0f0;border-radius:10px;padding:6px 10px;font-size:13px;text-align:left}
.chatcard{display:flex;flex-direction:column;gap:2px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:10px;padding:6px 10px;text-align:left;max-width:100%}
.chatcardcode{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:12px;color:var(--orange)}
.chatcardtitle{font-size:13px;color:var(--navy)}
.chatcomposer{display:flex;align-items:center;gap:8px;margin-top:8px;position:sticky;bottom:0;background:white;padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px))}
/* Borda giratória (::before, negativo) precisa que ALGUÉM com fundo opaco fique por cima dela na mesma pilha —
 * Linha simples e estática, sem animação nem pseudo-elemento — nunca mais tem risco de "vazar" por cima do cartão. */
.qmframe{position:relative;border:2px solid var(--orange);border-radius:14px;padding:14px 12px 12px;margin:10px 0;min-width:0;background:#fff}
.qmhead{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;margin-left:6px;font-weight:650;font-size:12px;color:#fff;background:var(--navy);border-radius:10px}
.qmlogo{display:block;height:15px;width:auto}
/* 3 chips numa linha só (Responsável/Prazo/Prioridade): ícone + valor sempre visível, nunca precisa tocar pra ver
 * o que já foi preenchido sozinho. Cada chip é um <label> em volta do <select>/<input type=date> de verdade (só
 * visualmente escondido) — tocar em qualquer parte do chip abre o seletor nativo, sem JS extra pra isso. */
.qmchips{display:flex;gap:6px;margin:2px 0}
.qmchip{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:5px;background:#f7f8fa;border:1px solid var(--line);border-radius:10px;padding:8px 6px;cursor:pointer}
.qmchip .mi{flex:none;width:18px;height:18px}
.qmchip b{font-size:12.5px;font-weight:650;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.qmchip select,.qmchip input{position:absolute;inset:0;width:100%;height:100%;opacity:0;padding:0;min-height:0;border:0}
.qmchip.warn{border-color:var(--orange);background:#FFF6F2}
.qmchip-baixa .mi{color:#187448}.qmchip-normal .mi{color:#1E4FC2}.qmchip-urgente .mi{color:#FF5532}.qmchip-urgentissimo .mi{color:#C4231A}.qmchip-urgentissimo{border-color:#C4231A;background:#fff6f5}
.qmwarn{display:block;margin-top:6px;color:var(--orange);font-weight:650;font-size:12px}
/* "O que você compartilhou" (texto copiado fora do app): a mensagem é o dado principal da tela, centralizada
 * em vez de parágrafo corrido no canto — os 3 botões de ação continuam como já estavam. */
.shpreview{text-align:center;padding:6px 4px 4px}
.shpreview>p:first-child{font-size:18px;font-weight:650;color:var(--navy);overflow-wrap:anywhere}
input.qfwarn{border-color:var(--orange);border-width:2px}
.chatcomposer textarea{flex:1;min-height:44px;max-height:120px;border-radius:22px;padding:10px 16px;resize:none}
.chaticon{flex:none;width:44px;height:44px;min-height:44px;border-radius:50%;padding:0;display:grid;place-items:center;background:#e8edf3}
.chaticon.primary{background:var(--orange);color:#fff}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mctxcard{background:#f7f8fa;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.mctxcard b{display:block;font-size:14px;overflow-wrap:anywhere}.mctxcard small{color:var(--muted)}
.availhead .mheadcard{margin-bottom:0}.availhead .mheadcard span:first-child{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center}.availhead .mheadcard span:first-child b,.availhead .mheadcard span:first-child small{grid-column:2}.availhead .mheadcard span:first-child>.material-symbols-outlined{grid-row:1/4;grid-column:1}.availlegend{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:4px 0 8px}.availlegend span{display:inline-flex;align-items:center;gap:4px}.availlegend i,.availstate i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#20a66a}.availlegend i.after{background:#f0a51a}.availlegend i.conflict,.availstate.conflict i{background:#ef3b35}.availlegend i.off{background:#9aa5b5}.availpeople{border:1px solid var(--line);border-radius:12px;overflow:hidden}.availperson{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--line);min-height:54px}.availperson:last-child{border-bottom:0}.availperson>div{min-width:0;flex:1}.availperson>div b,.availperson>div small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availperson>div small,.availstate small{font-size:11px;color:var(--muted)}.availstate{color:#168052;font-size:12px;display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.availstate.conflict{color:#d52b28}.availstate i{margin-right:4px}.availalert,.availok{display:flex;align-items:center;gap:8px;border-radius:12px;padding:10px 12px;margin:10px 0;background:#fff0ee;color:#c4231a}.availok{background:#eaf8f0;color:#168052}.availalert>div{flex:1}.availalert small{display:block;font-size:11px;color:inherit;opacity:.85}.availalert button{min-height:34px;padding:0 8px;background:transparent;color:inherit;border:1px solid currentColor}.availsectionlabel{grid-column:1/-1;font-size:12px;font-weight:700;color:var(--navy)}.availsuggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.availsuggest{min-height:106px;border:1px solid var(--line);border-radius:10px;background:#f7f8fa;padding:8px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}.availsuggest.selected{border:2px solid var(--orange);background:#fff7f3}.availsuggest b{font-size:13px}.availsuggest small{font-size:10px;color:var(--muted)}.availsuggest em{font-style:normal;font-size:10px;color:var(--navy);font-weight:700;margin-top:auto}.availrooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.availroom{border:1px solid var(--line);border-radius:10px;padding:8px;display:grid;grid-template-columns:auto 1fr;gap:2px 6px;align-items:center}.availroom b,.availroom small{grid-column:2}.availroom small{font-size:10px;color:var(--muted)}.availroom.free{background:#effaf4;color:#168052}.availroom.busy{background:#fff0ee;color:#c4231a}.availdetail{white-space:pre-wrap;margin:0;background:#f7f8fa;padding:10px;border-radius:10px;font:inherit;font-size:13px}
.mheadcard{background:#f7f8fa;border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.mheadcard .kbadge{white-space:nowrap}
.monlinelbl{margin-top:30px}
.mminutes{white-space:pre-wrap;font:inherit;margin:0}
.viewer{border:0;padding:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;background:#0c121e;color:#f0f0f0;display:none;flex-direction:column;border-radius:0}
.viewer[open]{display:flex}.viewer::backdrop{background:#000}
.vbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px}.vbar b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
.vbar button{width:46px;background:#293345;color:#f0f0f0}
.vstage{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
#vImg{display:block;width:100%;max-width:none;height:auto;margin:0 auto}
.vtools{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));background:#121a2b}.vtools button{flex:1 1 auto;min-width:64px;background:#293345;color:#f0f0f0}

/* ---------- P1.1: foco na cor da marca, Modo rápido (dias úteis, chips), acesso com saudação/decoração e abertura ---------- */
input:focus,textarea:focus,select:focus{outline:none;box-shadow:0 0 0 2px var(--orange)}
.qchips{display:flex;gap:8px;margin:10px 0 0}.qchips button{flex:1;min-height:48px;font-size:14px;background:#e8ebef}.qchips button.on{background:var(--navy);color:#f0f0f0}
.qform .qdue>*{flex:1}.qdue{display:flex!important;gap:8px}.qform .qdue>.hidden{display:none!important}
.qdue small{font-size:11px;font-weight:600;color:inherit;opacity:.85}
.qsecondary #moreBtn.on{background:var(--navy);color:#f0f0f0}
.notice.qhint,#nameHint{font-size:14px}#nameHint button,#splitBox button{min-height:44px;margin:6px 0 0;background:var(--navy);color:#f0f0f0}
#splitBox ol{margin:6px 0 0;padding-left:20px}#splitBox li{margin:4px 0}#splitBox small{color:var(--muted)}
.lkeep{display:flex;align-items:center;gap:10px;margin:2px 0 6px;font-size:14px;font-weight:500;color:rgba(240,240,240,.9)}
.lkeep input,.login .lkeep input{width:22px;min-height:22px;height:22px;padding:0;margin:0;flex:none;accent-color:var(--orange)}
.ldeco{position:absolute;right:0;bottom:0;width:190px;height:auto;pointer-events:none;opacity:.9}
.inviteResults{display:grid;gap:6px;margin-top:6px}.inviteResult{display:flex;justify-content:space-between;align-items:center;text-align:left;min-height:42px;padding:8px 10px}.inviteResult small{display:block;color:var(--muted);font-size:11px}
.loginwrap{position:relative}.login{isolation:isolate}
.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--navy);color:#f0f0f0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;transition:opacity .4s}
.splash.out{opacity:0}.splash .sdeco{position:absolute;right:0;bottom:0;width:230px;height:auto;opacity:.9}
.scenter{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.ssym{width:96px;height:auto;margin-bottom:6px}
.sname{font-size:46px;font-weight:500;letter-spacing:-.02em;line-height:1}.sname b{font-weight:500;color:var(--orange)}
.sdesc{font-size:16px;color:rgba(240,240,240,.85)}
.sfoot{position:absolute;left:28px;bottom:calc(30px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(240,240,240,.85)}.sbar{width:2px;height:26px;background:var(--orange)}

/* ---------- P2: Responder, Não entendi, Devolver para… e detalhe da pendência ---------- */
.rhead{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 12px}.rhead h3{margin:6px 0 4px;font-size:17px;line-height:1.25;overflow-wrap:anywhere}.rhead details{margin:2px 0 6px}.rhead summary{color:var(--muted);font-size:13px;min-height:32px;display:flex;align-items:center}.otext{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 8px}
.ansgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.ans{min-height:76px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);font-size:17px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px}.ans span{font-size:22px}.ans.on{border-color:var(--orange);background:#fff2ee}
.sumline{display:flex;flex-direction:column;gap:2px;font-size:14px}.racts{margin:0 0 8px}.racts button{min-height:44px;flex:1 1 auto}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.chips button{min-height:44px;background:#e8ebef;color:var(--navy);font-size:14px;border-radius:999px;padding:0 14px}
.asec{font-size:15px;margin:18px 0 6px;color:var(--navy)}
.dview .dtitle{font-size:20px;line-height:1.25;margin:10px 0 6px;overflow-wrap:anywhere}.dmeta{margin:12px 0}.drow{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.drow dt{flex:0 0 112px;color:var(--muted);font-size:13px}.drow dd{margin:0;flex:1;min-width:0;overflow-wrap:anywhere}
.pbadge.st{background:#e8ebef;color:var(--navy);margin-left:6px}
.dattach{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.dattach .row{margin:0}.dattach button{min-height:40px}
.dconv{border-left:3px solid var(--line);padding:4px 0 4px 10px;margin:10px 0}.dconv p{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.dconv.k-resposta{border-color:var(--green)}.dconv.k-nao_entendi,.dconv.k-devolucao{border-color:var(--orange)}
.kbadge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#e8ebef;color:var(--navy)}.kbadge.alt{background:#e3f4ea;color:var(--green)}
details.acts{position:relative;flex:1}details.acts summary{list-style:none;min-height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:700;cursor:pointer}details.acts summary::-webkit-details-marker{display:none}
.actmenu{position:absolute;right:0;bottom:calc(100% + 6px);min-width:230px;display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 8px 24px rgba(18,26,43,.22);z-index:5}.actmenu button{min-height:44px;text-align:left}
.rhead .trow{display:flex;align-items:center;gap:8px}

/* ---------- Passo a passo ---------- */
.sform .sprog{height:6px;background:#e1e6ec;border-radius:999px;overflow:hidden;margin:2px 0 10px}.sform .sbarfill{height:100%;width:20%;background:var(--orange);border-radius:999px;transition:width .25s}
.sform .sstep{margin:0 0 6px;font-weight:700;font-size:16px}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0}.sgrid.s3{grid-template-columns:1fr 1fr 1fr}
.sgrid button{min-height:56px;padding:6px 10px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font-size:16px;font-weight:600;line-height:1.2;overflow-wrap:anywhere}
.sgrid button.on{border-color:var(--orange);background:#fff2ee}.sgrid button small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.sgrid.s3 button.pr-urgente.on{background:#ffe3df}.sgrid.s3 button.pr-urgentissimo.on{background:#c4231a;color:#f0f0f0;border-color:#c4231a}
.sform .sline{margin:8px 0}.sform .swfoot{display:flex;gap:8px}.sform .swfoot button{flex:1;width:auto}.sform .swfoot button.primary{flex:2}
#sSaveNow{margin-top:8px}
#modal.quick{scroll-padding-bottom:120px}.sform section{padding-bottom:8px}
#toast{pointer-events:none}
#modal.wizard{height:100vh;height:100dvh;max-height:none;border-radius:0;margin:0}
#modal.wizard #modalBody{display:flex;flex-direction:column;min-height:calc(100dvh - 72px)}
.sform{display:flex;flex-direction:column;flex:1}.sform .swfoot{margin-top:auto}
.sform .sheadrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px}.sform .sheadrow .sstep{margin:0}.sform .sheadrow button{min-height:40px;padding:6px 12px;font-size:14px;flex:none}

/* ---------- Versão, novidades e sugestões ---------- */
.lver{display:block;margin:0 0 2px;font-size:12px;color:rgba(240,240,240,.62)}.lupd{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:rgba(255,85,50,.2);color:#f0f0f0;font-size:13px;line-height:1.3}
.chips button.on{background:var(--navy);color:#f0f0f0}
.chg{margin:14px 0;padding-bottom:6px;border-bottom:1px solid var(--line)}.chg h3{margin:0 0 2px;font-size:16px}.chg ul{margin:8px 0 4px;padding-left:20px}.chg li{margin:5px 0}
.fbitem{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0;background:#fff}.fbitem p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.hrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.hrow button{min-height:40px;flex:none}

/* ---------- Projeto, Lote, clientes e indicadores ---------- */
.tblwrap{overflow-x:auto}.itbl{width:100%;border-collapse:collapse;font-size:14px}.itbl th,.itbl td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.itbl th:first-child,.itbl th[scope=row]{text-align:left;white-space:normal}.itbl thead th{color:var(--muted);font-weight:600;font-size:12px}
#projectFilter{width:100%;margin-top:8px}
.istats{grid-template-columns:1fr 1fr}

/* ---------- Pessoas e ramais ---------- */
.ctbar input{width:100%}.ctbar .row{align-items:flex-end;margin-top:8px}.ctsort{flex:1;margin:0}.ctbar .row .primary{flex:none}
.cchips{display:flex;gap:8px;overflow-x:auto;padding:8px 0;margin:0 -2px;-webkit-overflow-scrolling:touch}.cchips button{flex:none;min-height:40px;padding:6px 14px;border-radius:999px;background:#e8ebef;color:var(--navy);font-size:14px}.cchips button.on{background:var(--navy);color:#f0f0f0}
.ccard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0}.ccard.off{opacity:.6}.chead{display:flex;align-items:center;justify-content:space-between;gap:10px}.chead b{font-size:17px;overflow-wrap:anywhere}
.cext{flex:none;background:var(--navy);color:#f0f0f0;border-radius:999px;padding:2px 12px;font-weight:700;font-size:16px}
.cact{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.cact button,.cact .btn{min-height:44px;padding:8px 14px;font-size:15px;display:inline-flex;align-items:center;gap:6px}
a.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#e8edf3;color:var(--navy);text-decoration:none;font-weight:600}

/* 0.4.0 — correções do Passo a passo: cabeçalho abaixo da barra de status, rodapé some com o teclado aberto, palavra inteira nos botões de prioridade */
#modal.wizard{padding-top:calc(18px + env(safe-area-inset-top,0px))}
#modal.kbd .qfooter{padding-top:6px;padding-bottom:6px;margin-top:8px}#modal.kbd .qfooter button{min-height:48px;font-size:16px}
.sgrid.s3 button{font-size:14.5px;padding:6px 4px;overflow-wrap:normal;hyphens:none}/* Ícones Material Symbols (icons.mjs): preenchidos, herdam a cor do texto; o glifo do WhatsApp fica sempre no verde oficial */
.mi{width:24px;height:24px;fill:currentColor;flex:none;vertical-align:middle}.mi.sm{width:20px;height:20px}.wa-glyph{fill:#25D366;color:#25D366}
/* WhatsApp: cartões grandes para escolher Texto/Imagem e um cartão por pendência */
#waMode button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:96px;font-size:16px}
#waMode button.on{border-color:var(--orange);background:#fff2ee;color:var(--orange)}
.wacard b{display:block;margin-bottom:8px}.wacard textarea{min-height:260px;font-size:14px;line-height:1.4}.wacard .actions button{min-height:56px}
.waimg{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);margin:8px 0}
/* 0.4.1 — prioridade Baixa (verde) e Urgente em laranja Portland */
.pbadge.baixa{background:#dff3e6;color:#187448}.task.pr-baixa{border-left:4px solid #187448}.agroup.low .ahead{background:#dff3e6}.sgrid button.pr-baixa.on{background:#dff3e6;border-color:#187448}.sgrid button.pr-urgente.on{background:#FFE4D1;border-color:#B34700}.sgrid button.pr-urgentissimo.on{background:#c4231a;color:#f0f0f0;border-color:#c4231a}

/* ===== 0.4.1 — Início novo, cartões grandes (Filtrar/Classificar), cabeçalho com sino e faixa de rede ===== */
.spread{justify-content:space-between;align-items:flex-start}
.sq{width:48px;height:48px;min-height:48px;padding:0;display:grid;place-items:center;border-radius:12px;flex:none}
.tabs{gap:8px;flex-wrap:wrap;overflow:visible}.tabs button{min-height:48px;font-size:14px;padding:8px 14px;border-radius:14px}
.tabs .selected{background:var(--navy);color:#fff}
.stats{grid-template-columns:repeat(3,1fr)}button.stat{font:inherit;color:inherit;cursor:pointer}.stat span{font-size:13px;color:var(--muted)}
.ctrl3{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:8px;margin:6px 0 10px}
.ctl{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;background:#fff;border:1px solid var(--line);font-size:14px;padding:8px 6px;white-space:nowrap}
.ctl .mi,.ctl .wa-glyph{flex:none}
.cbadge{position:absolute;top:-6px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--orange);color:#fff;font:700 12px/20px system-ui;text-align:center;padding:0 5px;font-style:normal}
.cdot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--muted);margin-right:8px;flex:none}.cdot.ok{background:var(--green)}
#connection{display:flex;align-items:center;cursor:pointer;min-height:36px}#connection:active{background:#dbe5ee}
.hbtns{display:flex;gap:8px}.hbtn{position:relative;width:48px;height:48px;min-height:48px;padding:0;display:grid;place-items:center;background:#293345;color:#f0f0f0;border-radius:12px}.hbtn .mi{width:26px;height:26px}
.hbtn .cbadge{top:2px;right:2px}
#nav button{position:relative}#nav .mi{width:26px;height:26px}#nav .cbadge{top:2px;right:calc(50% - 26px)}
#nav .navmark{width:24px;height:24px;object-fit:contain}
.dchip{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:#ffe8e1;color:#b93815}.dchip.hot{background:#c4231a;color:#fff}
.task .tdate .mi,.tclip .mi{width:18px;height:18px}
.plus .mi{width:22px;height:22px}
.draftc{grid-template-columns:1fr}.draftc .dbody small{display:block}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}
.fcard{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:96px;padding:12px 6px;border:2px solid var(--line);background:#fff;border-radius:16px;text-align:center;font-size:14px;font-weight:650;line-height:1.15;color:var(--navy)}
.fcard .fl{overflow-wrap:normal;hyphens:none}.fcard small{font-weight:400;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.fcard .fc{font-size:13px;font-weight:700;color:var(--muted)}
.fcard.on{border-color:var(--orange);background:#fff2ee;color:var(--orange)}.fcard.on .fc,.fcard.on small{color:var(--orange)}
.fok{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-style:normal}.fok .mi{width:16px;height:16px}
.fsec{margin:18px 0 6px;font-size:15px}
.bigbtn{width:100%;min-height:56px;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px}
.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#f0f0f0;font-size:15px;font-weight:700;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatarpick{display:flex;justify-content:center;margin:10px 0}i[data-icon]{font-style:normal;display:grid;place-items:center}
.spread{align-items:center}.sync{display:flex;align-items:center;gap:6px;min-height:44px;padding:4px 8px;background:none;font-weight:650;font-size:12px;color:var(--muted);flex-direction:row}.sync .mi{color:var(--orange)}
.tabs{gap:6px}.tabs button{font-size:13px;padding:8px 10px}
.dgrow{display:flex;gap:8px;align-items:flex-start;margin:8px 0}.dgrow small{display:block;font-weight:400;color:var(--muted)}.dgrow .mi{margin-top:1px}#dgAlerts .actions button{min-height:52px}

.ei{display:inline-flex;vertical-align:-4px;line-height:0}.ei .mi{width:1.15em;height:1.15em}.cdot.warn{background:#e0a100}.cdot.bad{background:var(--red)}.cdot.hot{background:var(--orange)}.cdot.dark{background:var(--navy)}.cdot.light{background:#cbd5e1}.cdot{width:.7em;height:.7em;margin:0 .35em 0 0;vertical-align:.05em}

/* ---------- 0.4.2: linha do tempo (verde = concluída · laranja = atual · azul = falta executar · vermelho = atrasada) ---------- */
.tl{list-style:none;margin:8px 0 14px;padding:0}.tl li{position:relative;display:flex;gap:12px;padding:0 0 14px}
.tl li::before{content:"";position:absolute;left:10px;top:24px;bottom:-2px;width:3px;background:var(--line)}.tl li:last-child::before{display:none}.tl li.tl-done::before{background:#187448}
.tl-dot{flex:none;width:22px;height:22px;border-radius:50%;background:var(--c);margin-top:1px;box-shadow:0 0 0 3px #fff}
.tl-done{--c:#187448}.tl-current{--c:#FF5532}.tl-todo{--c:#1E4FC2}.tl-late{--c:#C4231A}.tl-off{--c:#5B6577}
.tl li>div{display:flex;flex-direction:column;gap:1px;min-width:0}.tl-title{font-size:16px}.tl-current .tl-title{color:#FF5532}.tl-late .tl-title{color:#C4231A}.tl-todo .tl-title{color:#1E4FC2}
.tl small{color:var(--muted);font-size:13px}.tl small.tl-tag{font-size:12px}.tl small.tl-at{color:#121A2B;font-weight:600}
.tl-state{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--c);font-weight:700}.tl li.tl-more{display:block;padding:0 0 10px 34px;color:var(--muted);font-size:13px}.tl li.tl-more::before{display:none}
details.marks{margin:10px 0}details.marks summary{cursor:pointer;font-weight:650;padding:8px 0}details.marks p{margin:4px 0;font-size:13px}

/* ---------- 0.4.3: histórico completo (cada evento com todos os detalhes) ---------- */
.history ul.hd{margin:4px 0 6px;padding-left:18px}.history ul.hd li{font-size:14px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}
.history{padding:8px 0;border-bottom:1px solid var(--line)}

/* ---------- 0.4.3: Respostas (abas Meu / Dos outros, ações no cartão), anexos e contexto nas respostas ---------- */
.atabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 6px}
.atabs button{min-height:56px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:16px;border-radius:14px;background:#fff;border:2px solid var(--line)}
.atabs button.on{border-color:var(--orange);background:#FFE8E1;color:#121A2B}.atabs b{background:#121A2B;color:#fff;border-radius:999px;padding:1px 9px;font-size:13px}
.aacts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.aact{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:13px;font-weight:650;border-radius:12px;padding:6px 4px}
.aact.primary{background:var(--orange);color:#fff;border-color:var(--orange)}.aact.primary .mi{fill:#fff}
.attachbox{margin:12px 0}.attachbox .attachment{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0}
details.ctx{margin:8px 0}details.ctx summary{cursor:pointer;font-weight:650;padding:8px 0}
#toast.top{bottom:auto;top:calc(72px + env(safe-area-inset-top,0px))}
.row #notesDict{width:100%}

/* ---------- 0.4.4: tela Início industrial (compacta, leitura rápida, toque >= 48 dp) ---------- */
header{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:8px;gap:8px}
header .brand{gap:8px;min-width:0;flex:1}header .wordlogo{height:26px}header .brand small{font-size:10px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbtn{width:44px;height:44px;min-height:44px}.hplas{height:17px;width:auto;flex:none;margin-left:2px}
@media (max-width:359px){.hplas{display:none}}
#connection{gap:8px;padding:5px 12px;min-height:44px;font-size:13px}#connection .ctext{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.syncbtn{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:12px;background:#dbe8fb;color:#1E4FC2;font-weight:700;font-size:13px}.syncbtn .mi{fill:#1E4FC2}
main{padding:10px 14px 96px}
.avatar.big{width:44px;height:44px;font-size:16px;background:#293345;color:#f0f0f0;flex:none}
main h1{font-size:24px;margin:4px 0 8px;color:#121A2B}
.htop{display:flex;align-items:center;gap:8px}
.htop h1{margin-bottom:0;min-width:0;flex:none}
.hqhelp{position:relative;flex:none;width:36px;height:36px;min-height:36px;padding:0;display:grid;place-items:center;border-radius:10px;background:#e9eef5}
.qrow{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:8px;margin:0 0 8px;align-items:center}
.qin{position:relative;flex:1 1 0;min-width:0}.qin .mi{position:absolute;left:12px;top:15px;fill:#5B6577}.qin input{width:100%;min-width:0;min-height:52px;padding-left:42px;padding-right:14px;border-radius:14px;text-overflow:ellipsis}
.qrow .sq{width:52px;height:52px;min-height:52px;border-radius:14px;background:#e9eef5}
/* Colar/Anexar/Câmera do campo rápido: mesmo padrão dos botões Classificar/Filtrar (.ctl), só em 3 colunas. */
.qtools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 8px}
.qtools .ctl{min-height:48px;padding:6px 4px;font-size:12px;font-weight:600;border-radius:12px}
.qtools .ctl span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.qmatt{flex-wrap:wrap;margin:8px 0}
.qrow #quickAdd{width:auto;min-width:0;padding:0 14px;font-size:15px;white-space:nowrap}.qrow #quickVoice{width:52px}
.qadd{min-height:52px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;border-radius:14px;font-size:15px;font-weight:700;flex:none}.qadd .mi{fill:#fff}
.qtaskbtn{grid-column:1/-1;justify-self:start;background:#e8edf3;color:var(--navy)}.qtaskbtn .mi{fill:var(--navy)}
.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0}
.stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;min-height:88px;padding:8px 4px;border-radius:14px;border:1px solid var(--line)}
.stat .mi{width:24px;height:24px}.stat b{font-size:24px;line-height:1.1}.stat span{font-size:12px;line-height:1.15;color:#334}
.stat.st-blue{background:#EAF1FF}.stat.st-blue .mi{fill:#1E4FC2}.stat.st-red{background:#FDECEA}.stat.st-red .mi{fill:#C4231A}.stat.st-red b{color:#C4231A}.stat.st-orange{background:#FFF0EA}.stat.st-orange .mi{fill:#FF5532}
.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:3px;padding:6px 0 8px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
.tabs .chip{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:0 3px;border-radius:12px;background:#EEF1F5;border:1px solid transparent;color:#121A2B;font-size:12px;font-weight:650;flex:1 0 auto;white-space:nowrap}
.tabs .chip .mi{width:16px;height:16px}.tabs .chip:nth-child(2) .mi{fill:#C4231A}.tabs .chip:nth-child(3) .mi{fill:#FF5532}.tabs .chip:nth-child(4) .mi{fill:#5B6577}.tabs .chip:nth-child(5) .mi{fill:#1E4FC2}
.tabs .chip.selected{background:var(--navy);color:#fff}.tabs .chip.selected .mi{fill:#fff}
.ctlrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:2px 0 8px}
body{max-width:100%;overflow-x:hidden}
.ctlrow .ctl,.viol{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;min-width:0;padding:0 8px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:14px;font-weight:600;white-space:nowrap;color:#121A2B}
.ctlrow .ctl span{min-width:0;overflow:hidden;text-overflow:ellipsis}.viol{width:100%;margin:2px 0 8px}
.viol{justify-content:space-between;background:#FDECEA;border-color:#F3C6C1;color:#8f1d16}.viol .mi{fill:#C4231A}.viol span{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}
.ctlrow .ctl .mi{fill:#121A2B}
/* cartão da pendência */
.task{grid-template-columns:48px 1fr 44px 48px;align-items:center;gap:2px;padding:8px 8px 8px 0;margin:8px 0;border-radius:14px;border:1px solid var(--line);border-left:6px solid #1E4FC2;background:#fff;box-shadow:none}
.task.pr-urgentissimo,.task.pr-urgente,.task.pr-normal,.task.pr-baixa{border-left-width:6px}
.task.pr-urgentissimo{border-left-color:#C4231A;background:#fff}.task.pr-urgente{border-left-color:#FF5532}.task.pr-normal{border-left-color:#1E4FC2}.task.pr-baixa{border-left-color:#187448}
.task .chk{display:grid;place-items:center;width:48px;height:56px}.task .chk input{width:26px;height:26px}
.task .taskbody{display:flex;flex-direction:column;gap:3px;min-height:64px;padding:2px 0;text-align:left;min-width:0}
.task .tl1{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px 8px}.task .tl1 h3{margin:0;flex:1 1 160px;font-size:17px;line-height:1.25;font-weight:750;color:#121A2B;overflow-wrap:anywhere}
.task .pbadge{flex:none;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:12px;border-radius:999px}.task .pbadge .mi{width:14px;height:14px}
.pbadge.baixa{background:#DDF3E6;color:#187448}.pbadge.baixa .mi{fill:#187448}.pbadge.normal .mi{fill:#1E4FC2}.pbadge.urgente .mi{fill:#FF5532}.pbadge.urgentissimo .mi{fill:#fff}
.task .tl2{font-size:13px;color:#5B6577;overflow-wrap:anywhere}.task .tl2 strong{font-size:13px;color:#5B6577}
.tl3{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:14px;color:#334}
.tl3 .mi{width:18px;height:18px;fill:#5B6577;vertical-align:-4px}.tl3>span{display:inline-flex;align-items:center;gap:4px}
/* Contadores de comentário/anexo (💬/📎) eram só ícone+número soltos no meio da linha, sem nenhum contorno — se
   perdiam junto com data/prazo/dias em aberto do lado. Mesmo selo (fundo + cor) do resto dos badges do cartão,
   pra ficar claramente "um dado à parte", não texto corrido. */
.tcm,.tclip{background:#e8ebef;color:var(--navy);padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;gap:4px!important}
.tcm .mi,.tclip .mi{width:14px;height:14px;fill:var(--navy)!important}
.task .tdue{font-weight:700}.task .tdue.today{color:#B93815}.task .tdue.today .mi{fill:#FF5532}.task .tdue.late{color:#C4231A}.task .tdue.late .mi{fill:#C4231A}
.task .tst{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:650}.task .tst.ok{color:#187448}.task .tst.ok .mi{fill:#187448}.task .tst.wait{color:#1E4FC2}.task .tst.wait .mi{fill:#1E4FC2}
.task.done{opacity:.86}
.task .plus{width:48px;height:48px;min-height:48px;border-radius:12px;align-self:center}
.task .view{width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;align-self:center;background:#eef2f8;color:#293345}
.task .view .mi{fill:#293345}
/* Lista rápida de tarefas: 3 filhos (chk/taskbody/taskactions), não os 4 do cartão de pendência (chk/taskbody/view/plus) — sem esta coluna própria, o grid de 4 colunas espremia as 4 ações em 44px. */
.task.qtcard .taskbody{flex-direction:column;align-items:flex-start}
/* "+" que expande o conteúdo (observação/texto) dentro do próprio cartão, sem abrir a pendência. */
.task .peek{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:2px 4px;background:none;border:none;color:#1E4FC2;font-size:13px;font-weight:650}
.task .peek .mi{fill:#1E4FC2;transition:transform .15s}
.task .peek[aria-expanded="true"] .mi{transform:rotate(45deg)}
.task .peekbody{grid-column:1/-1;white-space:pre-wrap;overflow-wrap:anywhere;background:#F0F0F0;border-radius:10px;padding:10px 12px;font-size:13px;color:#334;margin:0 0 2px}
.task .peekbody.hidden{display:none}
.actxt{align-items:center;gap:10px}.actxt p{flex:1;margin:0}
/* Notificações não lidas: antes só um "●" na frente do texto — agora cor de verdade (borda e negrito), some ao tocar (marca como lida). */
.sector.unread{border-left:4px solid var(--orange);background:#FFF6F2}
.sector.unread span{font-weight:700;color:var(--navy)}
/* Modo automático: aviso com "Desfazer" (10 s), separado do toast comum. */
.undotoast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:101;background:var(--navy);color:#fff;padding:10px 10px 10px 16px;border-radius:12px;display:flex;align-items:center;gap:12px;max-width:92%}
.undotoast.hidden{display:none}
.undotoast #undoText{font-size:14px}
.undotoast #undoBtn{background:var(--orange);color:#fff;border-radius:10px;padding:8px 14px;font-weight:700;min-height:40px;flex:none}
/* barra de marcadas */
.selbar{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:9;display:flex;align-items:center;gap:8px;padding:8px 14px;background:#121A2B;color:#fff}
.selbar.hidden{display:none}.selbar #selCount{flex:none;font-weight:700;white-space:nowrap}
.selbar .selbtns{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.selbar .selbtns::-webkit-scrollbar{display:none}
.selbtn{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 14px;border-radius:12px;background:#293345;color:#fff;font-weight:650;flex:none;white-space:nowrap}.selbtn .mi{fill:#fff}
/* ícones coloridos nos cartões (Filtrar, Classificar, Mais) */
.fcard.t-blue .mi{fill:#1E4FC2}.fcard.t-orange .mi{fill:#FF5532}.fcard.t-green .mi{fill:#187448}.fcard.t-red .mi{fill:#C4231A}.fcard.t-navy .mi{fill:#121A2B}.fcard.t-gray .mi{fill:#5B6577}
.fcard.on.t-blue .mi,.fcard.on.t-orange .mi,.fcard.on.t-green .mi,.fcard.on.t-red .mi,.fcard.on.t-navy .mi,.fcard.on.t-gray .mi{fill:currentColor}
.fcard .fok .mi{fill:#fff!important}
h2.msec{font-size:15px;color:#5B6577;margin:14px 0 4px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.mgrid .fcard{min-height:104px}

/* ---------- 0.4.4: assistente que aprende (caixa, perguntas "Seria para…?", chips de respostas usadas antes) ---------- */
.assist{margin:10px 0;padding:10px 12px;border:1px solid #F3D3C9;border-left:5px solid #FF5532;border-radius:12px;background:#FFF6F2}
.assist>b{display:flex;align-items:center;gap:6px;color:#B93815;font-size:14px}.assist .mi{fill:#FF5532}.assist p{margin:6px 0;font-size:14px}
.achips{display:flex;flex-direction:column;gap:6px;margin:6px 0}
.achip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;min-height:48px;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid #F0C9BC;color:#121A2B;font-size:14px;font-weight:600}
.achip small{color:#5B6577;font-weight:400;font-size:12px}
.optlist{display:flex;flex-direction:column;gap:8px;margin:6px 0 10px}
.optrow{display:flex;align-items:center;gap:10px;text-align:left;min-height:56px;padding:10px 12px;border-radius:14px;border:2px solid var(--line);background:#fff;color:#121A2B;font-weight:650}
.optrow small{display:block;color:#5B6577;font-weight:400;font-size:12px}.optrow .mi{fill:#1E4FC2;flex:none}
.optrow.on{border-color:#FF5532;background:#FFF2EE}.optrow.on .mi{fill:#FF5532}
.optq{margin:8px 0;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}.optq p{margin:0 0 8px;font-weight:650}
.optq .row{gap:8px}.ch{flex:1;min-height:52px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:12px;background:#EEF1F5;font-weight:700}
.ch.on{background:#187448;color:#fff}.ch.on .mi{fill:#fff}.ch.on.no{background:#C4231A}
.row.wrap{flex-wrap:wrap}#rAttRec.rec{background:#C4231A;color:#fff}#rAttRec.rec .mi{fill:#fff}
/* 0.4.4 (revisão no celular real): nada passa da largura da tela; 5 atalhos sempre visíveis (ícone em cima, texto embaixo); cabeçalho enxuto. */
header .brand{overflow:hidden}header .wordlogo{height:22px}
.hbtn{width:40px;height:40px;min-height:40px}.hbtn .mi{width:24px;height:24px}.hbtns{gap:6px}
.hplas{height:13px;max-width:34vw;object-fit:contain}
@media (max-width:339px){.hplas{display:none}}
.tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;overflow:visible;flex-wrap:nowrap}
.tabs .chip{flex-direction:column;gap:2px;min-height:54px;padding:6px 1px;font-size:11.5px;line-height:1.1;letter-spacing:-.1px;min-width:0;overflow:hidden}
.tabs .chip .mi{width:20px;height:20px}
/* Bug 23/09: label longa (ex.: "Quebras de regra") cortava — agora quebra em até 2 linhas em vez de cortar. */
.tabs .chip span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:center}
@media (max-width:349px){.tabs .chip{font-size:10.5px;letter-spacing:-.2px}}
.stats>*,.qrow>*,.ctlrow>*{min-width:0}

/* 0.4.4.1 (revisão das fotos do Samsung): cabeçalho fixo de volta, Respostas em cartões iguais, botões do topo da pendência, imagens do WhatsApp na largura da tela. */
.task.answer{grid-template-columns:1fr;gap:6px;align-items:stretch;padding:10px 12px;margin:8px 0;border-left-width:6px}
.task.answer .taskbody{min-height:0;gap:4px}
.task.answer .trow{gap:6px 8px;flex-wrap:wrap}.task.answer .trow .pbadge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px}.task.answer .trow .pbadge .mi{width:14px;height:14px}
.task.answer .await{margin-left:auto;padding:4px 10px;font-size:12px;gap:4px;white-space:normal;line-height:1.25}.task.answer .await .mi{width:16px;height:16px;flex:none}
.task.answer .taskbody h3{font-size:17px;line-height:1.25;font-weight:750;margin:2px 0 0;-webkit-line-clamp:2}
.task.answer .tmeta{font-size:13px;overflow-wrap:anywhere}
.task.answer .aacts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 0}
.task.answer .aact{min-height:56px;min-width:0;padding:6px 2px;font-size:13px;line-height:1.1;text-align:center;overflow-wrap:normal;word-break:normal;hyphens:none}
.task.answer .aact .mi{width:22px;height:22px}
.agroup.crit .ahead{background:#FBD9D5;color:#8f1d16}.agroup.urg .ahead{background:#FFE6DC}.agroup.norm .ahead{background:#E3ECFF}.agroup.low .ahead{background:#DDF3E6}
.ahead b{font-size:17px}.ahead{min-height:52px}
.racts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 10px}
.racts button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;min-width:0;padding:6px 8px;font-size:15px;line-height:1.15;text-align:center}
.racts button .mi{width:22px;height:22px;flex:none}.racts button.primary{background:var(--orange);color:#fff}.racts button.primary .mi{fill:#fff}
.waimg,.wahist{display:block;width:100%;max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line);margin:8px 0}
.wapreview{overflow-x:auto}.wapreview img.zoomed{width:230%;max-width:none}
.qdictate{min-height:56px;font-size:17px}
/* assistente de criação: o cabeçalho é que leva a folga do topo (antes o conteúdo rolava por cima dela, atrás da barra do Android) */
#modal.wizard{padding-top:0}#modal.wizard .modalhead{padding-top:calc(14px + env(safe-area-inset-top,0px))}
/* Passo a passo: descrição não invade a tela com o teclado aberto; dicas somem enquanto digita */
.sform textarea{resize:none}#modal.kbd .sform #description{min-height:88px;max-height:28vh;overflow:auto}#modal.kbd .sform .qhelp{display:none}
/* Bug 22/09: o editor de pendência (id="taskForm" sem classe) não tinha altura nenhuma no textarea — ficava do tamanho padrão do navegador (~2 linhas), parecendo limitado. */
#taskForm textarea{min-height:110px}
.sform section[data-s="1"] #attachments:empty{display:none}

/* 0.4.5: tela de opções ao entrar, miniaturas de anexo */
.hubhead{margin:4px 0 10px}.hubhead h1{margin:2px 0 4px;font-size:26px}
.hubmain{margin-bottom:6px}.hubmain .fcard{min-height:112px}
.dfile{display:inline-flex;align-items:center;gap:8px;min-width:0}.dthumbbtn{padding:0;min-height:0!important;width:64px;height:64px;border-radius:10px;background:#e8edf3;flex:none;overflow:hidden}
.dthumb{display:block;width:64px;height:64px;object-fit:cover}
.lic{display:inline-block;vertical-align:-4px;margin-right:6px}.lic .mi{fill:#FF5532}
#sPrio button .mi{vertical-align:-5px}#sPrio button.pr-urgentissimo .mi{fill:#C4231A}#sPrio button.pr-urgente .mi{fill:#FF5532}#sPrio button.pr-normal .mi{fill:#1E4FC2}#sPrio button.pr-baixa .mi{fill:#187448}#sPrio button.pr-urgentissimo.on .mi{fill:#fff}
.aacts.one{grid-template-columns:1fr}

/* 0.4.5: Regulamento interno, "Posso ou não?" e Advertências */
.regverdict{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;margin:10px 0;font-size:17px;background:#E3ECFF;color:#123}.regverdict .mi{flex:none}
.regverdict.v-proibido{background:#FDECEA;color:#8f1d16}.regverdict.v-proibido .mi{fill:#C4231A}.regverdict.v-autorizacao{background:#FFF0DC;color:#7a4300}.regverdict.v-autorizacao .mi{fill:#FF5532}
.regverdict.v-permitido{background:#DDF3E6;color:#125c38}.regverdict.v-permitido .mi{fill:#187448}.regverdict.v-informa .mi{fill:#1E4FC2}.regverdict.v-nada{background:#EEF1F5}.regverdict.v-nada .mi{fill:#5B6577}
.reghit{background:#fff;border:1px solid var(--line);border-left:6px solid #1E4FC2;border-radius:12px;padding:10px 12px;margin:8px 0}.reghit.v-proibido{border-left-color:#C4231A}.reghit.v-autorizacao{border-left-color:#FF5532}.reghit.v-permitido{border-left-color:#187448}
.reghit p{margin:6px 0}.regfull{white-space:normal;line-height:1.5;margin:8px 0}
.regchap{border:1px solid var(--line);border-radius:12px;background:#fff;margin:8px 0;padding:0 12px}.regchap>summary{min-height:48px;display:flex;align-items:center;cursor:pointer}
.regart{border-top:1px solid var(--line);padding:0}.regart>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:650}
#wHits{min-height:118px}
/* 0.4.5: atalhos Gerência / Líder */
.whobtns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.whobtns button{min-height:52px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;line-height:1.15;text-align:center}.whobtns .mi{fill:#FF5532}
.infobtn{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#dbe8fb;cursor:pointer}.infobtn .mi{fill:#1E4FC2;width:24px;height:24px}

/* 0.4.5: título do bloco, rodapé com teclado, assistente compacto */
h3.qtitle.who{color:var(--navy);font-size:17px;margin:14px 0 4px}
#modal.kbd:not(.wizard):not(.quick) .qfooter,#modal.kbd:not(.wizard):not(.quick) .stickyactions{position:static}
.assistmini{font-size:13px;margin:6px 0}
.actstats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:6px 0}
.actstats .stat{min-height:64px}
/* @ com lista de nomes (0.4.5) */
.mentionbox{display:flex;flex-direction:column;gap:2px;margin:4px 0 8px;padding:4px;background:#fff;border:1px solid #d5dbe6;border-radius:14px;box-shadow:0 6px 18px rgba(18,26,43,.14);max-height:260px;overflow:auto}
.mentionbox.hidden{display:none}
.mentionbox .mopt{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 10px;border:0;border-radius:10px;background:transparent;text-align:left;color:#121A2B;font:inherit}
.mentionbox .mopt:active,.mentionbox .mopt:hover{background:#eef2f8}
.mentionbox .mopt b{display:block;font-size:15px}.mentionbox .mopt small{display:block;color:#5d6675;font-size:12px}
.mentionbox .avatar{flex:none;width:34px;height:34px;font-size:13px}
/* Bola da vez (0.4.5) */
.notice.ball{display:flex;gap:10px;align-items:flex-start;background:#eef3fb;border-left:4px solid #3b6fb6}
.notice.ball.mine{background:#fff4ef;border-left-color:#FF5532}
.notice.ball.escalated{background:#fdecea;border-left-color:#c62828}
.notice.ball small{display:block;color:#5d6675;margin-top:2px}
.notice.ball .ballesc{margin:8px 0 0;color:#8a1c1c}
.ballbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ballbtns button{min-height:44px;padding:0 14px;border-radius:12px}
.tst.esc{background:#fdecea;color:#8a1c1c}
/* Salas e recursos: referência visual de reservas */
.resource-top{display:flex;align-items:center;gap:10px;text-align:center}.resource-top>div{flex:1}.resource-top h1{margin:0;font-size:22px}.resource-top p{margin:2px 0;color:var(--muted);font-size:12px}.backbtn{width:42px;min-height:42px;padding:0;background:#edf1f6}.resource-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin:10px 0}.resource-tabs button{min-height:40px;font-size:12px}.resource-tabs .selected{background:var(--orange);color:#fff}.resource-date{display:flex;align-items:center;justify-content:space-between;background:#f2f5f9;border-radius:8px;padding:4px 8px;margin-bottom:8px}.resource-date button{min-height:34px;padding:0 10px;background:transparent;font-size:26px}.resource-room{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px;margin:7px 0}.resource-title{display:flex;align-items:center;gap:7px}.resource-title b{flex:1}.resource-title button{min-height:30px;padding:0 5px;background:transparent}.resource-room>small{display:block;color:var(--muted);margin-left:30px}.resource-hours,.resource-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;text-align:center;font-size:10px;margin-top:7px}.resource-hours{grid-template-columns:repeat(5,1fr);color:var(--muted)}.resource-slots i{font-style:normal;padding:8px 2px;border-radius:4px;background:#dff6e7;color:#168052}.resource-slots i.busy{background:#ffdedd;color:#c4231a}.resource-slots i.maint{background:#dfeaff;color:#245bc4}.resource-slots small{display:block;font-size:8px}.resource-legend{display:flex;justify-content:center;gap:16px;color:var(--muted);font-size:11px;padding:6px}.resource-section-title{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.resource-section-title button{background:transparent;color:var(--navy);min-height:30px}.resource-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.resource-card{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;font-size:12px}.resource-card small,.resource-card span{color:var(--muted);font-size:10px}.resource-status{min-height:26px;padding:0 6px;background:#e3f7eb;color:#168052;font-size:10px}.resource-warning{display:flex;gap:8px;align-items:center}.resource-warning small{display:block}.resource-fast{border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:10px}.resource-fast h3{margin:0 0 8px}.resource-fast label{font-size:11px}.resource-fast .grid3{gap:5px}.resource-fast input,.resource-fast select{font-size:12px;padding:7px}.resource-fast .wide{margin-top:8px;width:100%}
/* 0.4.57: cabeçalho com avatar/nome no lugar do logo Plasmetal (menu ao tocar), faixa rotativa abaixo (frases/avisos/status), botão de colar no Modo rápido. */
.brand small{font-size:12.5px}
.userchip{display:flex;align-items:center;gap:6px;background:none;min-height:auto;padding:4px 6px 4px 4px;border-radius:20px;flex:none}
.userchip .avatar{width:26px;height:26px;font-size:11px;background:#fff;color:var(--navy);flex:none}
.userchip .umeta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;color:#fff;font-size:13px;font-weight:400;max-width:34vw;overflow:hidden}
.userchip .umeta b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.userchip .umeta small{color:#9aa3b5;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.userchip .mi{fill:#fff;width:16px;height:16px}
.usermenu{position:fixed;top:calc(52px + env(safe-area-inset-top,0px));right:10px;background:#fff;border-radius:14px;box-shadow:0 8px 24px rgba(18,26,43,.22);min-width:220px;max-width:80vw;z-index:40;overflow:hidden}
.usermenu.hidden{display:none}
.usermenu .umhead{padding:10px 14px 8px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:10px}
.usermenu .umhead .avatar{width:38px;height:38px;font-size:14px;flex:none}
.usermenu .umheadtext{min-width:0;flex:1}
.usermenu .umhead b{display:block;font-size:13px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.usermenu button{display:flex;align-items:center;gap:10px;width:100%;min-height:auto;padding:11px 14px;background:#fff;border-radius:0;font-size:14px;font-weight:400;color:var(--navy);justify-content:flex-start}
.usermenu button .mi{fill:var(--navy);flex:none}
.usermenu .umdiv{border-top:1px solid var(--line)}
#connection{overflow:hidden;white-space:nowrap;display:flex;align-items:center;gap:8px}
#connection .ctrackwrap{flex:1;overflow:hidden;min-width:0}
#connection .ctrack{display:inline-block;white-space:nowrap;padding-left:100%;animation:ctrackmove 12s linear infinite}
@keyframes ctrackmove{from{transform:translateX(0)}to{transform:translateX(-100%)}}
/* Faltava position:absolute — sem isso o botão de colar (só existe fora do app nativo, no navegador) ficava em
 * fluxo normal, empurrando pra baixo e "esticando" a caixa de busca inteira (o microfone ao lado ficava centralizado
 * nessa altura inflada, parecendo desalinhado). */@media(prefers-reduced-motion:reduce){#connection .ctrack{animation:none;padding-left:0}}
/* Foto de quem criou/está com a pendência no cartão (no lugar do ícone genérico de pessoa) + "Já passou por N". */
.twho .avatar.cardav{width:18px;height:18px;font-size:8px;flex:none;cursor:zoom-in}
.twho{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;overflow-wrap:normal}
.task .tarrow{color:#5B6577}
.chainbtn{display:inline-flex;align-items:center;gap:4px;grid-column:1/-1;justify-self:start;background:none;border:none;min-height:auto;padding:4px 2px;color:#1E4FC2;font-size:12px;font-weight:650;cursor:pointer}
.chainbtn .mi{fill:#1E4FC2}
.chainbody{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:#334;background:#F0F0F0;border-radius:10px;padding:8px 10px;margin:0 0 2px}
.chainbody.hidden{display:none}
.chainav{width:22px;height:22px;font-size:9px;cursor:zoom-in}
.avatarpreview{width:100%;border-radius:16px;display:block}
/* Foto de quem fez cada movimento, na Linha do tempo completa (Detalhe) — ao lado do pontinho colorido de sempre. */
.tlav{width:22px;height:22px;font-size:9px;flex:none;margin-top:1px;cursor:zoom-in}
