/* Portal Unità: painel de trabalho. Chão creme, barra lateral grafite, acentos ocre e marrom. */
:root{
  --grafite:#333E40;--grafite-2:#3B4749;--ocre:#F1A836;--ocre-2:#F6C778;--terracota:#72210A;--marrom:#72210A;
  --papel:#FBF6EC;--papel-2:#F3EADA;--branco:#FFFDF8;--tinta:#2A2F30;--suave:#626A6B;--linha:rgba(47,58,60,.13);
  --ok:#3F7D5A;--ok-bg:#E3EFE6;--alerta:#B7791F;--alerta-bg:#FBEFD8;--ruim:#72210A;--ruim-bg:#F1E2DA;--neutro-bg:#ECE6DA;
  --f-display:"Gloock","Bodoni 72",Georgia,serif;--f-texto:"Nata Sans","Avenir Next","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--f-texto);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--marrom)}
:focus-visible{outline:2px solid var(--ocre);outline-offset:2px}
h1,h2,h3{font-family:var(--f-display);font-weight:400;margin:0;line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
.num{font-variant-numeric:tabular-nums}
.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--terracota)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.7em 1.2em;border-radius:999px;border:1.5px solid transparent;font-weight:600;font-size:.92rem;cursor:pointer;text-decoration:none;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-1px)}
.btn-ocre{background:var(--ocre);color:var(--grafite)}
.btn-escuro{background:var(--grafite);color:var(--papel)}
.btn-linha{border-color:var(--grafite);background:transparent;color:var(--grafite)}
.btn-mini{padding:.4em .85em;font-size:.82rem}
.btn-perigo{border-color:var(--ruim);color:var(--ruim);background:transparent}
.campo{display:grid;gap:6px}
.campo label{font-size:.8rem;font-weight:600;color:var(--suave)}
.campo input,.campo select,.campo textarea{width:100%;padding:.75em .9em;border:1.5px solid var(--linha);border-radius:10px;background:var(--branco)}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--ocre);outline:none}
.msg-erro{color:var(--ruim);font-size:.88rem;min-height:1.3em}

/* Entrada */
.entrada{min-height:100%;display:grid;grid-template-columns:1.1fr .9fr;background:var(--grafite)}
.entrada-foto{position:relative;overflow:hidden}
.entrada-foto img{width:100%;height:100%;object-fit:cover;opacity:.92}
.entrada-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(47,58,60,0) 50%,rgba(47,58,60,.75))}
.entrada-foto p{position:absolute;left:clamp(20px,4vw,48px);bottom:clamp(20px,4vw,48px);z-index:1;color:var(--papel);font-family:var(--f-display);font-size:clamp(1.6rem,3vw,2.6rem);max-width:14em;line-height:1.1}
.entrada-form{background:var(--papel);display:grid;align-content:center;padding:clamp(28px,6vw,72px) clamp(20px,5vw,64px);gap:28px}
.entrada-form img.logo{height:64px;width:auto}
.entrada-form h1{font-size:clamp(2rem,3.4vw,2.8rem)}
.entrada-form form{display:grid;gap:16px;max-width:420px}
.entrada-form .rodape{font-size:.85rem;color:var(--suave);max-width:420px}
@media (max-width:820px){.entrada{grid-template-columns:1fr}.entrada-foto{height:34vh;min-height:220px}}

/* Aplicação */
.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100%}
.lateral{background:var(--grafite);color:var(--papel);padding:22px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow:auto}
.lateral .logo{height:52px;width:auto;margin:4px 10px 8px}
.nav{display:grid;gap:2px}
.nav button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;color:rgba(251,246,236,.78);padding:9px 12px;border-radius:10px;cursor:pointer;font-size:.93rem}
.nav button:hover{background:rgba(251,246,236,.07);color:var(--papel)}
.nav button[aria-current="page"]{background:var(--ocre);color:var(--grafite);font-weight:600}
.nav svg{width:18px;height:18px;flex:none}
.nav .cont{margin-left:auto;font-size:.75rem;opacity:.75;font-variant-numeric:tabular-nums}
.lateral .pe{margin-top:auto;display:grid;gap:8px;padding:0 10px;font-size:.82rem;color:rgba(251,246,236,.6)}
.lateral .pe button{background:none;border:1px solid rgba(251,246,236,.25);color:var(--papel);border-radius:999px;padding:7px 12px;cursor:pointer}
.principal{min-width:0;padding:clamp(18px,3vw,40px) clamp(16px,3.5vw,48px) 80px;display:grid;gap:28px;align-content:start}
.cab{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;justify-content:space-between}
.cab h1{font-size:clamp(1.9rem,3.4vw,2.9rem)}
.cab .sub{color:var(--suave);font-size:.95rem;margin-top:6px}
.salvo{font-size:.8rem;color:var(--suave);display:inline-flex;align-items:center;gap:6px}
.salvo i{width:8px;height:8px;border-radius:50%;background:var(--ok)}
.salvo.salvando i{background:var(--ocre);animation:pisca 1s infinite}
.salvo.erro i{background:var(--ruim)}
@keyframes pisca{50%{opacity:.3}}
.topo-movel{display:none}
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .lateral{position:fixed;inset:0 auto 0 0;width:min(290px,86vw);z-index:40;transform:translateX(-100%);transition:transform .3s;height:100%}
  .app.menu-aberto .lateral{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.35)}
  .topo-movel{display:flex;align-items:center;justify-content:space-between;background:var(--grafite);color:var(--papel);padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));position:sticky;top:0;z-index:30}
  .topo-movel img{height:38px}
  .topo-movel button{background:none;border:1px solid rgba(251,246,236,.3);color:var(--papel);border-radius:999px;padding:6px 14px}
}

/* Blocos */
.grade{display:grid;gap:18px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.g3,.g2{grid-template-columns:1fr}}
@media (max-width:460px){.g4{grid-template-columns:1fr}}
.caixa{background:var(--branco);border:1px solid var(--linha);border-radius:16px;padding:20px;min-width:0}
.caixa h2{font-size:1.45rem;margin-bottom:14px}
.caixa-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.caixa-cab h2{margin:0}
.kpi{display:grid;gap:4px}
.kpi small{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--suave);font-weight:600}
.kpi b{font-family:var(--f-display);font-weight:400;font-size:1.9rem;line-height:1.1;font-variant-numeric:tabular-nums}
.kpi span{font-size:.85rem;color:var(--suave)}

/* Abertura do painel */
.contagem{background:var(--grafite);color:var(--papel);border-radius:20px;padding:clamp(20px,3vw,32px);display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,40px);align-items:center;overflow:hidden;position:relative}
.contagem .dias{font-family:var(--f-display);font-size:clamp(3.6rem,8vw,6.4rem);line-height:.9;color:var(--ocre);font-variant-numeric:tabular-nums}
.contagem .dias small{display:block;font-family:var(--f-texto);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(251,246,236,.7);margin-top:10px}
.contagem h2{font-size:clamp(1.5rem,2.6vw,2.2rem)}
.contagem p{color:rgba(251,246,236,.75);margin-top:8px}
@media (max-width:560px){.contagem{grid-template-columns:1fr}}
.aneis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:760px){.aneis{grid-template-columns:1fr}}
.anel{display:flex;gap:16px;align-items:center;cursor:pointer;text-align:left;border:1px solid var(--linha);background:var(--branco);border-radius:16px;padding:18px;transition:transform .2s,box-shadow .2s}
.anel:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(47,58,60,.08)}
.anel svg{width:84px;height:84px;flex:none;transform:rotate(-90deg)}
.anel circle{fill:none;stroke-width:9}
.anel .fundo{stroke:var(--papel-2)}
.anel .valor{stroke-linecap:round;transition:stroke-dashoffset 1.4s cubic-bezier(.2,.7,.2,1)}
.anel .pct{font-family:var(--f-display);font-size:1.7rem;line-height:1}
.anel small{display:block;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--suave);font-weight:600;margin-bottom:4px}
.anel span{display:block;font-size:.85rem;color:var(--suave);margin-top:4px}

.barras{display:grid;gap:12px}
.barra{display:grid;grid-template-columns:minmax(0,9em) minmax(0,1fr) auto;gap:12px;align-items:center;font-size:.88rem}
.barra .trilho{height:10px;border-radius:9px;background:var(--papel-2);overflow:hidden;position:relative}
.barra .trilho i{position:absolute;inset:0 auto 0 0;border-radius:9px;transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.barra .trilho i.prev{background:var(--ocre-2)}
.barra .trilho i.pago{background:var(--terracota)}
.barra em{font-style:normal;color:var(--suave);font-variant-numeric:tabular-nums;white-space:nowrap}
.legenda{display:flex;gap:16px;font-size:.8rem;color:var(--suave);flex-wrap:wrap}
.legenda i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* Pílulas de estado */
.pill{display:inline-flex;align-items:center;gap:6px;padding:.22em .7em;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;border:0;cursor:default}
button.pill{cursor:pointer}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.alerta{background:var(--alerta-bg);color:var(--alerta)}
.pill.ruim{background:var(--ruim-bg);color:var(--ruim)}
.pill.neutro{background:var(--neutro-bg);color:var(--suave)}
.pill.ocre{background:#FCE9C6;color:#8A5A0B}

/* Checklist */
.periodo{background:var(--branco);border:1px solid var(--linha);border-radius:16px;overflow:hidden}
.periodo.atual{border-color:var(--ocre);box-shadow:0 0 0 3px rgba(241,168,54,.18)}
.periodo>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;cursor:pointer}
.periodo>summary::-webkit-details-marker{display:none}
.periodo h3{font-size:1.25rem}
.periodo .mini{height:6px;border-radius:9px;background:var(--papel-2);overflow:hidden;margin-top:8px;max-width:260px}
.periodo .mini i{display:block;height:100%;background:var(--ocre);border-radius:9px;transition:width .6s}
.periodo .marca{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);background:var(--papel-2);color:var(--grafite);font-size:.95rem}
.periodo.completo .marca{background:var(--ok);color:#fff}
.periodo.atual .marca{background:var(--ocre)}
.tarefas{display:grid;border-top:1px solid var(--linha)}
.tarefa{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 18px;border-bottom:1px solid var(--linha)}
.tarefa:last-child{border-bottom:0}
.check{appearance:none;width:22px;height:22px;border-radius:7px;border:2px solid rgba(47,58,60,.35);display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s;margin:0}
.check:checked{background:var(--terracota);border-color:var(--terracota)}
.check:checked::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px);animation:marca .25s ease}
@keyframes marca{from{transform:rotate(45deg) scale(.2)}}
.tarefa input.txt{border:0;background:transparent;padding:6px 4px;border-radius:6px;width:100%}
.tarefa input.txt:focus{background:var(--papel)}
.tarefa.feita input.txt{color:var(--suave);text-decoration:line-through}
.x{background:none;border:0;color:var(--suave);cursor:pointer;opacity:.0;padding:4px 8px;border-radius:6px}
.tarefa:hover .x,.linha:hover .x,.x:focus{opacity:1}
@media (hover:none){.x{opacity:.6}}
.add{display:flex;gap:8px;padding:10px 18px 16px}
.add input{flex:1;min-width:0;border:1.5px dashed var(--linha);background:transparent;border-radius:10px;padding:8px 12px}

/* Tabelas editáveis */
.ferramentas{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ferramentas input[type=search],.ferramentas select{padding:.55em .9em;border:1.5px solid var(--linha);border-radius:999px;background:var(--branco);min-width:0}
.ferramentas .abas{display:flex;gap:6px;flex-wrap:wrap}
.ferramentas .abas button{border:1.5px solid var(--linha);background:var(--branco);border-radius:999px;padding:.45em .9em;font-size:.84rem;cursor:pointer}
.ferramentas .abas button[aria-pressed="true"]{background:var(--grafite);color:var(--papel);border-color:var(--grafite)}
.tabela-wrap{overflow-x:auto;border:1px solid var(--linha);border-radius:14px;background:var(--branco)}
table.ed{border-collapse:collapse;width:100%;min-width:720px;font-size:.9rem}
table.ed th{text-align:left;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);font-weight:600;padding:12px 10px;border-bottom:1px solid var(--linha);background:var(--papel);position:sticky;top:0;white-space:nowrap}
table.ed td{padding:4px 6px;border-bottom:1px solid var(--linha);vertical-align:middle}
table.ed tr:last-child td{border-bottom:0}
table.ed tr.grupo td{background:var(--papel-2);font-weight:600;padding:8px 12px;font-size:.84rem}
table.ed input,table.ed select{width:100%;border:0;background:transparent;padding:7px 6px;border-radius:6px;min-width:0}
table.ed input:focus,table.ed select:focus{background:var(--papel);outline:1.5px solid var(--ocre)}
table.ed input.din{text-align:right;font-variant-numeric:tabular-nums}
table.ed td.c{text-align:center}
table.ed .check{margin:auto;width:22px;padding:0}
table.ed th.t-text{min-width:150px}table.ed th.t-select{min-width:140px}table.ed th.t-money{min-width:110px}table.ed th.t-date{min-width:140px}table.ed th.t-url{min-width:170px}table.ed th.t-lista{min-width:200px}table.ed th.t-check{min-width:64px;text-align:center}
table.ed tfoot td{font-weight:600;padding:10px;background:var(--papel)}
.vazio{padding:28px;text-align:center;color:var(--suave)}

/* Indicações Unità */
.ind-intro{display:grid;gap:10px;background:var(--grafite);color:var(--papel);border:0}
.ind-intro p{margin:0;line-height:1.65;color:rgba(251,246,236,.86)}
.ind-intro .assina{font-family:var(--f-display);font-size:1.25rem;color:var(--ocre)}
.ind-cats{display:flex;flex-wrap:wrap;gap:8px}
.ind-cats button{border:1.5px solid var(--linha);background:var(--branco);border-radius:999px;padding:.45em .9em;font-size:.84rem;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.ind-cats button:hover{border-color:var(--ocre)}
.ind-cats .num,.ind-grupo h2 .num{color:var(--suave);font-size:.78rem;font-family:var(--f-texto)}
.ind-grupo{display:grid;gap:12px}
.ind-grupo h2{font-size:1.5rem;display:flex;align-items:baseline;gap:10px}
.ind-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:12px}
.ind{background:var(--branco);border:1px solid var(--linha);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.ind-nome{font-weight:700;line-height:1.3}
.ind-nome small{font-weight:400;color:var(--suave)}
.ind-contato{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.88rem;color:var(--suave)}
.ind-contato a{color:var(--marrom);text-decoration:none;overflow-wrap:anywhere}
.ind-contato a:hover{text-decoration:underline}
.ind-wa{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.ind-wa svg{width:16px;height:16px;flex:none}
.ind .btn,.ind .pill{align-self:flex-start;margin-top:auto}
.url-cel{display:flex;align-items:center;gap:4px}
.url-cel a{text-decoration:none;padding:4px 6px}

/* Anexos de contrato */
table.ed th.t-arquivo{min-width:200px}
td.arq{padding:6px 8px}
.arq-ok{display:flex;align-items:center;gap:4px;min-width:0}
.arq-ok a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.86rem;padding-left:6px}
.arq-ok a::before{content:"";display:inline-block;width:8px;height:10px;margin-right:6px;border:1.5px solid currentColor;border-radius:2px;vertical-align:-1px}
.arq-bt{cursor:pointer}
.arq-bt.enviando{opacity:.6;pointer-events:none}
.arq-ok .x{opacity:.6}

/* Questionários */
.q-alerta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#FCE9C6;border-radius:16px;padding:16px 20px}
.q-alerta div{display:grid;gap:2px}
.q-alerta b{font-family:var(--f-display);font-weight:400;font-size:1.3rem;color:var(--grafite)}
.q-alerta span{font-size:.9rem;color:#6B4A12}
.q-equipe{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between}
.q-equipe .campo{min-width:min(280px,100%)}
.q-abas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.q-abas button{display:grid;gap:8px;justify-items:start;text-align:left;border:1.5px solid var(--linha);background:var(--branco);border-radius:14px;padding:14px 16px;cursor:pointer}
.q-abas button b{font-family:var(--f-display);font-weight:400;font-size:1.25rem}
.q-abas button[aria-pressed="true"]{border-color:var(--grafite);box-shadow:inset 0 0 0 1px var(--grafite)}
@media (max-width:560px){.q-abas{grid-template-columns:1fr}}
.q-bloq{}.q-bloq p{margin:0;color:var(--suave);line-height:1.6}
.q-doc{background:var(--branco);border:1px solid var(--linha);border-radius:18px;width:100%;overflow:hidden}
.q-cab{background:var(--grafite);color:var(--papel);padding:clamp(22px,4vw,40px);display:grid;gap:12px}
.q-cab .eyebrow{color:var(--ocre)}
.q-cab h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.q-cab p{margin:0;color:rgba(251,246,236,.82);line-height:1.6;}
.q-prog{display:flex;align-items:center;gap:12px;font-size:.85rem;color:rgba(251,246,236,.75);margin-top:6px}
.q-prog .trilho{flex:1;max-width:320px;height:8px;border-radius:9px;background:rgba(251,246,236,.18);overflow:hidden}
.q-prog .trilho i{display:block;height:100%;background:var(--ocre);border-radius:9px;transition:width .4s}
.q-env{color:var(--ocre)!important;font-weight:600}
.q-sec{padding:clamp(20px,3.5vw,36px);border-bottom:1px solid var(--linha);display:grid;gap:14px}
.q-sec h3{font-size:1.5rem;display:flex;align-items:center;gap:12px}
.q-sec h3 .num{font-family:var(--f-texto);font-size:.8rem;font-weight:700;width:28px;height:28px;border-radius:50%;background:var(--papel-2);display:grid;place-items:center;flex:none}
.q-desc{margin:0;color:var(--suave);line-height:1.6;}
.q-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.q-campo{grid-column:1/-1;display:grid;gap:8px;min-width:0}
.q-campo.meia{grid-column:auto}
@media (max-width:640px){.q-campo.meia{grid-column:1/-1}}
.q-lab{font-weight:600;line-height:1.4;font-size:.95rem}
.q-lab small{font-weight:400;color:var(--suave)}
.q-campo input,.q-campo textarea,.q-campo select{width:100%;border:1.5px solid var(--linha);border-radius:10px;background:var(--papel);padding:.7em .85em;line-height:1.5}
.q-campo textarea{resize:vertical;min-height:64px;overflow:hidden}
.q-campo input:focus,.q-campo textarea:focus,.q-campo select:focus{outline:none;border-color:var(--ocre);background:var(--branco)}
.q-ops{display:flex;flex-wrap:wrap;gap:8px}
.q-op{border:1.5px solid var(--linha);background:var(--branco);border-radius:999px;padding:.5em 1em;cursor:pointer;font-size:.9rem}
.q-op.on{background:var(--grafite);border-color:var(--grafite);color:var(--papel)}
.q-op.on::before{content:"✓ "}
.q-mini{max-width:480px}
.q-ordem{display:grid;gap:8px}
.q-ordem label{display:flex;align-items:center;gap:12px}
.q-ordem select{width:72px;flex:none;text-align:center;font-family:var(--f-display);font-size:1.1rem;padding:.4em}
.q-ordem label.rep select{border-color:var(--ruim)}
.q-aviso{margin:0;color:var(--ruim);font-size:.85rem}
.q-tab{min-width:640px}
.q-tab td{padding:2px 4px}
.q-tab input{border:0!important;background:transparent!important;border-radius:6px!important;padding:7px 6px!important}
.q-tab input:focus{background:var(--papel)!important;outline:1.5px solid var(--ocre)}
.q-rot{font-size:.8rem;font-weight:600;color:var(--suave);text-transform:uppercase;letter-spacing:.06em;padding-left:10px!important}
.q-bancos{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:start}
.q-altar{writing-mode:vertical-rl;transform:rotate(180deg);align-self:stretch;display:grid;place-items:center;background:var(--papel-2);border-radius:10px;padding:10px 6px;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--suave)}
.q-lado{display:grid;gap:6px}
.q-lado h4{margin:0 0 4px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terracota)}
.q-lado label{display:grid;grid-template-columns:7.5em minmax(0,1fr);align-items:center;gap:8px;font-size:.82rem;color:var(--suave)}
.q-lado input{padding:.5em .7em!important}
@media (max-width:640px){.q-bancos{grid-template-columns:1fr}.q-altar{writing-mode:horizontal-tb;transform:none;order:-1}}
.q-fim{padding:clamp(20px,3.5vw,36px);display:grid;gap:14px;justify-items:start;background:var(--papel)}
.q-fim p{margin:0;line-height:1.6;}
.q-fim small{color:var(--suave)}
.q-doc.ro input,.q-doc.ro textarea,.q-doc.ro select{color:var(--tinta);opacity:1;-webkit-text-fill-color:var(--tinta)}
.q-doc.ro .q-op:not(.on){opacity:.45}
@media print{
  .lateral,.topo-movel,.toast,.salvo,#editarCasal,.q-equipe,.q-abas,.q-alerta,.q-fim .btn,.q-fim small,.principal>.cab,.principal>div:first-child{display:none!important}
  .app{display:block}.principal{padding:0}
  body{background:#fff}
  .q-doc{border:0;max-width:none}
  .q-cab{background:#fff;color:#000;padding:0 0 12px;border-bottom:2px solid #000}
  .q-cab p,.q-prog{color:#333}
  .q-sec{break-inside:auto;padding:14px 0}
  .q-campo{break-inside:avoid}
  .q-campo input,.q-campo textarea{border:0;border-bottom:1px solid #999;border-radius:0;background:#fff;padding:2px 0}
  .q-op:not(.on){display:none}
  .q-op.on{background:#fff;color:#000;border:1px solid #000}
  .tabela-wrap{overflow:visible;border:0}
  .q-tab{min-width:0}
}

/* Quadro do entretenimento */
.quadro{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px}
.coluna{background:var(--papel-2);border-radius:14px;padding:12px;display:grid;gap:10px;align-content:start;min-height:120px}
.coluna h3{font-family:var(--f-texto);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:10px;padding:10px 12px;display:grid;gap:8px;animation:entra .3s ease}
@keyframes entra{from{transform:translateY(6px);opacity:0}}
.cartao input{border:0;background:transparent;font-weight:600;width:100%;padding:2px}
.cartao .acoes{display:flex;gap:6px;flex-wrap:wrap}
.cartao .acoes button{font-size:.75rem;border:1px solid var(--linha);background:var(--papel);border-radius:999px;padding:2px 9px;cursor:pointer}

/* Linha do tempo do dia */
.linha-tempo{display:grid;gap:0;position:relative;padding-left:26px}
.linha-tempo::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--papel-2)}
.momento{display:grid;grid-template-columns:128px minmax(0,1fr) minmax(0,.8fr) auto;gap:10px;align-items:center;padding:8px 0;position:relative}
.momento::before{content:"";position:absolute;left:-23px;top:50%;width:12px;height:12px;border-radius:50%;background:var(--ocre);transform:translateY(-50%);box-shadow:0 0 0 4px var(--papel)}
.momento input{border:1.5px solid transparent;background:var(--branco);border-radius:8px;padding:8px 10px;width:100%;min-width:0}
.momento input:focus{border-color:var(--ocre);outline:none}
.momento input[type=time]{font-family:var(--f-display);font-size:1.05rem}
@media (max-width:700px){.momento{grid-template-columns:118px minmax(0,1fr) auto}.momento .f{grid-column:2/3}}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);background:var(--grafite);color:var(--papel);padding:12px 18px;border-radius:12px;font-size:.9rem;opacity:0;transition:.3s;z-index:60;max-width:calc(100vw - 32px)}
.toast.vis{opacity:1;transform:translateX(-50%)}
.carregando{display:grid;place-items:center;min-height:60vh;color:var(--suave)}
.bonus a{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--linha);text-decoration:none;color:var(--tinta);font-weight:600}
.bonus a span{font-weight:400;color:var(--suave)}
.bonus a:last-of-type{border-bottom:0}
.avaliacao{display:grid;gap:18px;justify-items:start}
.avaliacao p{margin:0;line-height:1.65}
.avaliacao small{color:var(--suave)}
textarea.notas{width:100%;min-height:320px;border:1px solid var(--linha);border-radius:14px;padding:18px;background:var(--branco);line-height:1.6;resize:vertical}
dialog{border:0;border-radius:18px;padding:0;max-width:min(520px,calc(100vw - 32px));width:100%;box-shadow:0 30px 80px rgba(0,0,0,.3)}
dialog::backdrop{background:rgba(47,58,60,.55)}
dialog form{padding:24px;display:grid;gap:14px}
dialog .acoes{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Estimativa automática do orçamento */
.est{display:grid;gap:16px}
.est .caixa-cab{align-items:flex-start;margin-bottom:0}
.est-intro{margin:6px 0 0;color:var(--suave);font-size:.9rem;line-height:1.55;}
.est-aviso{margin:0;background:var(--alerta-bg);color:#6B4A12;border-radius:12px;padding:12px 16px;font-size:.92rem;line-height:1.5}
.est-resumo{display:flex;flex-wrap:wrap;gap:10px 28px}
.est-resumo span{display:grid;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--suave);font-weight:600}
.est-resumo b{font-family:var(--f-display);font-weight:400;font-size:1.45rem;letter-spacing:0;text-transform:none;color:var(--tinta);font-variant-numeric:tabular-nums}
.est-tab{min-width:760px}
.est-tab td{padding:8px 10px}
.est-tab td b{display:block;font-weight:600}
.est-tab td small{display:block;color:var(--suave);font-size:.8rem;line-height:1.35}
.est-tab td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.est-tab th:nth-child(n+3):nth-child(-n+5){text-align:right}
.est-v{font-weight:600}
.est-nada{color:var(--suave);font-size:.82rem}
.est-bar{display:block;height:4px;border-radius:9px;background:var(--papel-2);margin-top:6px;max-width:220px;overflow:hidden}
.est-bar i{display:block;height:100%;background:var(--ocre);border-radius:9px;transition:width .5s}
.est-pct{display:flex;align-items:center;gap:2px}
.est-pct input{text-align:right;font-variant-numeric:tabular-nums;border:1.5px solid var(--linha)!important;background:var(--papel)!important;width:64px!important}
.est-pct span{color:var(--suave);font-size:.85rem}
tr.est-unita td{background:var(--ok-bg)}
.est-rem{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.85rem;color:var(--suave)}
.est-rem>span{font-weight:600;margin-right:4px}
.est-add{padding:0}
.est-nota{margin:0;color:var(--suave);font-size:.82rem}

/* Carta de boas-vindas */
.carta{background:var(--branco);border:1px solid var(--linha);border-radius:18px;overflow:hidden}
.carta-cab{background:var(--grafite);color:var(--papel);padding:clamp(22px,4vw,36px);display:grid;gap:10px}
.carta-cab .eyebrow{color:var(--ocre)}
.carta-cab h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
.carta-cab p{margin:0;color:rgba(251,246,236,.84);line-height:1.6;}
.carta-topicos{display:grid}
.carta-topicos details{border-bottom:1px solid var(--linha)}
.carta-topicos summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px clamp(18px,3vw,32px);font-family:var(--f-display);font-size:1.2rem}
.carta-topicos summary::-webkit-details-marker{display:none}
.carta-topicos summary::after{content:"+";margin-left:auto;font-family:var(--f-texto);color:var(--suave);font-size:1.2rem}
.carta-topicos details[open] summary::after{content:"−"}
.carta-topicos summary .num{font-family:var(--f-texto);font-size:.78rem;font-weight:700;width:28px;height:28px;border-radius:50%;background:var(--papel-2);display:grid;place-items:center;flex:none}
.carta-txt{padding:0 clamp(18px,3vw,32px) 18px calc(clamp(18px,3vw,32px) + 42px);display:grid;gap:10px;max-width:calc(72ch + 80px)}
.carta-txt p{margin:0;line-height:1.65}
.carta-txt ul{margin:0;padding-left:18px;display:grid;gap:8px;line-height:1.6}
.carta-fim{padding:clamp(18px,3vw,32px);display:grid;gap:12px;justify-items:start;background:var(--papel)}
.carta-fim p{margin:0;line-height:1.65;}
.assina{font-family:var(--f-display);font-size:1.2rem;color:var(--marrom)}
.carta-mini{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--branco);border:1px solid var(--linha);border-radius:16px;padding:14px 20px}
.carta-mini div{display:grid;gap:2px}
.carta-mini b{font-family:var(--f-display);font-weight:400;font-size:1.2rem}
.carta-mini span{font-size:.88rem;color:var(--suave)}
@media (max-width:560px){.carta-txt{padding-left:clamp(18px,3vw,32px)}}

/* Bônus: guias e formulário */
.bonus-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.bonus-cards{grid-template-columns:1fr}}
.bonus-card{display:grid;gap:8px;align-content:start;text-align:left;cursor:pointer;background:var(--branco);border:1px solid var(--linha);border-radius:16px;padding:18px 20px;transition:transform .2s,box-shadow .2s,border-color .2s}
.bonus-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(47,58,60,.08);border-color:var(--ocre)}
.bonus-card b{font-family:var(--f-display);font-weight:400;font-size:1.35rem;line-height:1.15}
.bonus-card>span:last-child{color:var(--suave);font-size:.9rem;line-height:1.5}
.guia-volta{display:flex}
.guia-acoes{display:flex;flex-wrap:wrap;gap:10px;padding:16px clamp(20px,3.5vw,36px);border-bottom:1px solid var(--linha);background:var(--papel)}
.guia .q-sec h3{font-size:1.35rem}
.guia-lista{margin:0;padding-left:18px;display:grid;gap:8px;line-height:1.6;}
.guia-janela{margin:0;background:#FCE9C6;color:#6B4A12;border-radius:12px;padding:12px 16px}
.guia-tipos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:860px){.guia-tipos{grid-template-columns:1fr}}
.guia-tipos article{border:1px solid var(--linha);border-radius:14px;padding:16px;display:grid;gap:8px;align-content:start;background:var(--papel)}
.guia-tipos h4{margin:0;font-family:var(--f-display);font-weight:400;font-size:1.2rem}
.guia-tipos p{margin:0;font-size:.9rem;line-height:1.55;color:var(--suave)}
.guia-tipos b{font-family:var(--f-display);font-weight:400;font-size:1.5rem;color:var(--marrom);font-variant-numeric:tabular-nums}
.guia-tipos small{color:var(--suave);font-size:.8rem;margin-top:-6px}
.guia-regimes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:640px){.guia-regimes{grid-template-columns:1fr}}
.guia-regimes div{border-left:3px solid var(--ocre);padding:4px 0 4px 12px;display:grid;gap:2px}
.guia-regimes span{font-size:.9rem;color:var(--suave);line-height:1.5}
.doc-lista{display:grid;border:1px solid var(--linha);border-radius:14px;overflow:hidden}
.doc-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px 16px;border-bottom:1px solid var(--linha);cursor:pointer;line-height:1.5}
.doc-item:last-child{border-bottom:0}
.doc-item .check{margin-top:1px}
.doc-item small{display:block;color:var(--suave);font-size:.85rem}
.doc-item.feito>span{color:var(--suave)}
.doc-lista.passos .doc-item>span{font-weight:600}
.doc-lista.passos .doc-item small{font-weight:400;margin-top:2px}
.guia .q-op{cursor:default}
.form-linhas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}
@media (max-width:640px){.form-linhas{grid-template-columns:1fr}}
.form-linha{display:flex;align-items:flex-end;gap:10px;padding:8px 0;font-size:.92rem}
.form-linha span{white-space:nowrap}
.form-linha i{flex:1;border-bottom:1.5px dotted rgba(47,58,60,.35);min-width:40px;margin-bottom:4px}
.guia-pais{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.guia-pais .form-linhas{grid-template-columns:1fr}
.guia-pais h4{margin:0 0 4px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terracota)}
@media (max-width:640px){.guia-pais{grid-template-columns:1fr}}
.tarefa.com-guia{grid-template-columns:auto minmax(0,1fr) auto auto}
.guia-bt{white-space:nowrap}
@media (max-width:560px){.form-linha span{white-space:normal}}
.q-alerta .ferramentas{display:flex;gap:8px}

/* Planos Silver e Gold: seleção de fornecedores e status de contratos */
.ind-acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto}
.ind .ind-acoes .btn,.ind .ind-acoes .pill{margin-top:0}
.ind-obs{margin:0;font-size:.86rem;color:var(--suave);line-height:1.45}
.sel-form{display:grid;gap:12px;max-width:880px}
.sel-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px}
.sel-campos input{width:100%;padding:.6em .8em;border:1.5px solid var(--linha);border-radius:10px;background:var(--branco);min-width:0}
.contr-status{display:flex;flex-wrap:wrap;gap:8px}
.plano-tag{display:inline-block;margin-left:6px;padding:.1em .6em;border-radius:999px;font-size:.7rem;letter-spacing:.08em;vertical-align:2px}
.plano-tag.gold{background:#FCE9C6;color:#8A5A0B}
.plano-tag.silver{background:var(--neutro-bg);color:var(--suave)}

/* Confirmação de presença pelo convite e RSVP Unità */
.rsvp{display:grid;gap:16px}
.rsvp-sub{margin:6px 0 0;color:var(--suave);font-size:.92rem;;line-height:1.55}
.copiar-link{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--papel);border-radius:12px;padding:10px 12px}
.copiar-link code{flex:1 1 260px;min-width:0;overflow-wrap:anywhere;font-size:.86rem}
.rsvp-cfg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px;align-items:end}
.rsvp-chk{display:flex;gap:10px;align-items:center;font-size:.9rem;flex-wrap:wrap}
.rsvp-dica{margin:0;font-size:.86rem;color:var(--suave)}
.rsvp-unita{border-top:1px solid var(--linha);padding-top:14px}
.rsvp-unita>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}
.rsvp-unita>summary::-webkit-details-marker{display:none}
.rsvp-unita>summary b{font-family:var(--f-display);font-weight:400;font-size:1.25rem}
.rsvp-unita>summary span{color:var(--suave);font-size:.86rem}
.rsvp-unita>summary::after{content:"+";margin-left:auto;font-size:1.2rem;color:var(--suave)}
.rsvp-unita[open]>summary::after{content:"−"}
.rsvp-servs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;margin-top:14px}
.rsvp-serv{border:1px solid var(--linha);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--branco)}
.rsvp-serv.on{border-color:var(--ok);box-shadow:0 0 0 2px rgba(63,125,90,.15)}
.rsvp-serv-cab{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.rsvp-serv-cab .num{font-family:var(--f-display);font-size:1.25rem}
.rsvp-serv p{margin:0;font-size:.88rem;line-height:1.5;color:var(--tinta)}
.rsvp-serv small{color:var(--suave);font-size:.78rem}
.rsvp-serv .btn{align-self:flex-start;margin-top:auto}
.rsvp-eq{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;align-items:end;margin-top:14px;padding:14px;border-radius:12px;background:var(--papel)}

/* Briefing da equipe */
.brf-dados{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:4px}
.brf-dados span{display:grid;gap:2px;font-weight:600}
.brf-dados small{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ocre);font-weight:600}
.brf-unita{display:flex;flex-wrap:wrap;gap:6px 22px;padding:14px 16px;border-radius:12px;background:var(--papel-2);font-size:.92rem}
.brf-unita b{width:100%}
.brf-forn{min-width:560px}

.momento .mover{display:flex;flex-direction:column;gap:2px}
.momento .mover .x{width:26px;height:22px;font-size:.8rem;line-height:1}
.momento .mover .x:disabled{opacity:.25;cursor:default}
.rsvp-fixo{display:grid;gap:2px}.rsvp-fixo small{font-size:.8rem;color:var(--suave)}
.rsvp-qr{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:14px;padding:14px;border:1px solid var(--linha);border-radius:12px;background:var(--branco)}
.rsvp-qr img{width:120px;height:120px;border-radius:8px;flex:none}
.rsvp-qr div{flex:1 1 240px;min-width:0}.rsvp-qr p{margin:4px 0 10px;color:var(--suave);line-height:1.5}
.momento{grid-template-columns:auto 128px minmax(0,1fr) minmax(0,.8fr) auto}
@media (max-width:700px){.momento{grid-template-columns:auto 104px minmax(0,1fr) auto}.momento .mover{grid-row:span 2}.momento .f{grid-column:3/4}}
.momento .mover .x{opacity:1;width:28px;height:24px;padding:0;font-size:.85rem;color:var(--tinta);border:1px solid var(--linha);background:var(--branco);display:grid;place-items:center}
.momento .mover .x:hover:not(:disabled){border-color:var(--ocre);color:var(--terracota)}
.momento .mover .x:disabled{opacity:.3}

.rsvp-total{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:end;margin:4px 0 14px}
.rsvp-total .campo{flex:0 1 240px}.rsvp-total p{flex:1 1 280px;margin:0;color:var(--suave);font-size:.88rem;line-height:1.5}

.rsvp-serv.base{grid-column:1/-1}
.rsvp-serv.esc{border-color:var(--ocre);box-shadow:0 0 0 2px rgba(214,154,58,.18)}
.rsvp-serv-acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:auto}
.rsvp-serv-acoes .btn{margin-top:0}
.rsvp-chk.mini{font-size:.82rem;gap:6px}
.rsvp-resumo{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:14px;padding:14px 16px;border-radius:12px;background:var(--papel-2)}
.rsvp-resumo div{display:grid;gap:2px}.rsvp-resumo span{color:var(--suave);font-size:.88rem}
.rsvp-pag{margin-top:18px;padding-top:16px;border-top:1px solid var(--linha);display:grid;gap:12px}
.rsvp-pag h3{font-size:1.15rem;margin:0}
.rsvp .rsvp-servs{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.rsvp .rsvp-servs{grid-template-columns:1fr}}

/* ===== v3: checklist, pôr do sol, calendário, orçamento, contratos, recibos, inspirações, importação ===== */
.ck-mes{font-family:var(--f-texto);font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--terracota);margin-left:6px;white-space:nowrap}
.sol-chip{margin-left:8px;white-space:nowrap;align-self:center}
.vis-extra{align-items:stretch}
.sol{display:grid;gap:12px;align-content:start}
.sol-cab{display:flex;gap:14px;align-items:center}
.sol-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ocre);color:var(--grafite);font-size:1.3rem;flex:none}
.sol-cab div{display:grid;gap:2px}.sol-cab small{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--suave);font-weight:600}
.sol-cab b{font-family:var(--f-display);font-size:2rem;line-height:1}.sol-cab span{color:var(--suave);font-size:.85rem}
.sol-campos{display:flex;flex-wrap:wrap;gap:10px}.sol-campos label{display:grid;gap:4px;font-size:.8rem;color:var(--suave);flex:1 1 160px}
.sol-campos select,.sol-campos input{border:1px solid var(--linha);border-radius:10px;padding:.5em .7em;background:var(--branco);min-width:0}
.sol-dica{margin:0;color:var(--suave);font-size:.84rem;line-height:1.5}
.cal-data{color:var(--terracota);font-weight:600;white-space:nowrap;margin-right:6px}
.cal-wrap{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:980px){.cal-wrap{grid-template-columns:1fr}}
.cal-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.cal-cab h2{font-size:1.4rem;min-width:10ch;text-align:center}
.cal-sem,.cal-grade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-sem span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);text-align:center;padding:4px 0}
.cal-d{min-height:86px;border:1px solid var(--linha);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:3px;background:var(--branco);min-width:0;overflow:hidden}
.cal-d.vazio{background:transparent;border-color:transparent}
.cal-d .n{font-size:.8rem;font-weight:600;color:var(--suave)}
.cal-d.hoje{border-color:var(--ocre);box-shadow:0 0 0 1px var(--ocre)}.cal-d.hoje .n{color:var(--terracota)}
.cal-d.grande{background:var(--grafite)}.cal-d.grande .n{color:var(--ocre)}
.cal-ev{font-size:.7rem;line-height:1.25;padding:2px 5px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--papel-2)}
.cal-ev.evento{background:var(--ocre);color:var(--grafite);font-weight:600}
.cal-ev.manual{background:rgba(114,33,10,.12);color:var(--terracota)}
.cal-ev.pag{background:rgba(63,125,90,.14);color:var(--ok)}
.cal-ev.auto{background:var(--papel-2);color:var(--suave)}
.cal-mais{font-size:.68rem;color:var(--suave)}
.cal-leg{margin-top:12px;font-size:.8rem}.cal-leg i{width:12px;height:12px;border-radius:3px;display:inline-block}
.cal-leg i.evento{background:var(--ocre)}.cal-leg i.manual{background:rgba(114,33,10,.3)}.cal-leg i.pag{background:rgba(63,125,90,.35)}.cal-leg i.auto{background:var(--papel-2);border:1px solid var(--linha)}
@media (max-width:640px){.cal-d{min-height:56px;padding:4px}.cal-ev{font-size:0;height:6px;padding:0}.cal-mais{display:none}}
.ag-rapidos{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.ag-rapidos span{font-size:.85rem;color:var(--suave)}
td.area textarea{width:100%;min-width:300px;min-height:38px;border:1px solid var(--linha);border-radius:8px;background:var(--papel);padding:7px 8px;line-height:1.45;resize:vertical;field-sizing:content;font:inherit}
td.area textarea:focus{border-color:var(--ocre);background:var(--branco);outline:none}
.orc-dica{margin:0;color:var(--suave);font-size:.88rem;;line-height:1.55}
.pagtos h2{font-size:1.3rem;margin-bottom:8px}
td.info{font-size:.85rem;line-height:1.4}td.info b{display:block}td.info small{display:block;color:var(--suave)}
.link-bt{background:none;border:0;padding:0;color:var(--terracota);text-decoration:underline;cursor:pointer;font-size:.8rem}
td.docs{min-width:320px}
.doc{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:.84rem;min-width:0}
.doc select{border:1px solid var(--linha);border-radius:7px;padding:3px 4px;font-size:.78rem;background:var(--papel);max-width:150px}
.doc a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.doc .x{opacity:.6}
.contr-avulsa{margin:0;padding:12px 16px;border-radius:12px;background:var(--papel-2);;line-height:1.55;font-size:.92rem}
.arq-bt{cursor:pointer}
.mus .mover{display:flex;gap:4px}
.mus .mover .x,.ed .mover .x{opacity:1;width:28px;height:26px;padding:0;font-size:.85rem;color:var(--tinta);border:1px solid var(--linha);background:var(--branco);display:grid;place-items:center}
.mus .mover .x:disabled{opacity:.3;cursor:default}
.insp-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:16px}
.insp{border:1px solid var(--linha);border-radius:14px;overflow:hidden;background:var(--branco);display:flex;flex-direction:column}
.insp-img{display:block;aspect-ratio:4/5;background:var(--papel-2)}.insp-img img{width:100%;height:100%;object-fit:cover;display:block}
.insp-link{aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:18px;background:linear-gradient(160deg,var(--papel-2),var(--papel));text-decoration:none;color:var(--tinta)}
.insp-link span{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--suave)}.insp-link b{font-family:var(--f-display);font-size:1.3rem;font-weight:400}
.insp-link.vazio-l{justify-content:center;align-items:center;color:var(--suave)}
.insp-campos{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:10px}
.insp-campos select,.insp-campos input{border:1px solid var(--linha);border-radius:8px;padding:.45em .6em;background:var(--papel);min-width:0;grid-column:1}
.insp-campos .x{grid-column:2;grid-row:1;opacity:.6}
.imp-prev{border-color:var(--ocre);box-shadow:0 0 0 2px rgba(214,154,58,.15)}

/* Textos ocupam toda a largura da área em todas as abas */
#principal p,#principal .sub{max-width:none}

/* ===== Orçamento unificado (v4) ===== */
.orc-u{min-width:980px;table-layout:fixed;width:100%}
.orc-u td.area textarea{min-width:0}
.orc-u td{overflow:hidden}
.orc-u .g-est{white-space:normal}
.orc-u tr.g-cab td{background:var(--papel-2);padding:12px 10px;vertical-align:middle;border-top:2px solid var(--linha)}
.orc-u tr.g-cab b{font-family:var(--f-display);font-weight:400;font-size:1.08rem}
.orc-u tr.g-cab small{display:block;color:var(--suave);font-size:.78rem;margin-top:2px}
.orc-u tr.g-cab td.num{font-weight:600;text-align:right}
.g-est{white-space:nowrap}.g-est>span{margin-right:10px;display:inline-flex;align-items:center;gap:6px;font-size:.88rem}
.g-est b{font-family:var(--f-texto)!important;font-size:.95rem!important;font-weight:700!important}
.g-est .est-pct input{width:58px}
.orc-u tr.g-add td{padding:2px 10px 10px}
.orc-u .mover-est{display:block;margin-top:4px;font-size:.74rem;color:var(--suave);border:0;background:transparent;padding:0;max-width:220px}
.orc-u td.parc{white-space:nowrap}.orc-u td.parc small{display:block;color:var(--suave);font-size:.76rem;margin-top:4px}
.orc-u tr.aberta td{background:var(--branco)}
.pago-calc{display:block;text-align:right;padding:8px 10px;color:var(--terracota);font-weight:600}
.orc-u tfoot td{font-weight:700;padding:12px 10px}.orc-u tfoot td.num{text-align:right}
tr.plano-row>td{padding:0 10px 16px;background:var(--branco)}
.plano{border:1px solid var(--ocre);border-radius:12px;padding:14px;display:grid;gap:12px;background:var(--papel)}
.plano-ger{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.plano-ger>b{width:100%;font-size:.9rem}
.plano-ger label{display:grid;gap:4px;font-size:.76rem;color:var(--suave);flex:1 1 130px}
.plano-ger input{border:1px solid var(--linha);border-radius:8px;padding:.45em .6em;background:var(--branco);min-width:0}
.plano-dica{margin:0;color:var(--suave);font-size:.82rem}
table.pp{border-collapse:collapse;width:100%;max-width:720px;font-size:.88rem}
table.pp th{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);text-align:left;padding:4px 8px}
table.pp td{padding:3px 8px;border-top:1px solid var(--linha)}
table.pp input{border:1px solid transparent;border-radius:6px;padding:5px 6px;background:transparent;width:100%}
table.pp input:focus{border-color:var(--ocre);background:var(--branco);outline:none}
.pp-paga{display:inline-flex;gap:6px;align-items:center;cursor:pointer;font-size:.82rem}
.plano-res{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;font-size:.86rem}
.alerta-t{color:var(--ruim)}

.orc-u .plano-ger input,.orc-u .plano-ger input:focus{border:1px solid var(--linha)!important;background:var(--branco)!important;border-radius:8px!important;padding:.45em .6em!important}
.orc-u tr.plano-row td{overflow:visible}
.orc-u td.parc{white-space:normal}

.orc-u td.area textarea{max-height:3.3em;overflow:hidden}
.orc-u td.area textarea:focus{max-height:none;overflow:auto}
.orc-u tr.linha.aberta td{cursor:pointer}
.forn-fecha{background:none;border:0;padding:6px 0;text-align:left;cursor:pointer;font:inherit;color:var(--tinta);display:grid;gap:2px}
.forn-fecha span{font-size:.74rem;color:var(--terracota);text-decoration:underline}
.plano-topo{display:flex;justify-content:space-between;align-items:center;gap:10px}
.plano-gd{display:grid;gap:10px}.plano-gd>summary{cursor:pointer;font-size:.86rem;font-weight:600;color:var(--terracota)}.plano-gd[open]>summary{margin-bottom:8px}

/* Pacote e desfazer */
.orc-u tr.coberta td{background:var(--papel);color:var(--suave)}
.pac-bt{display:block;margin-top:6px;font-size:.76rem;text-align:left;white-space:normal}
.pac-ops{display:flex;flex-wrap:wrap;gap:8px 18px}.pac-ops label{display:inline-flex;gap:6px;align-items:center;font-size:.88rem}
.desfazer-bt{margin-left:8px}.desfazer-bt:disabled{opacity:.4;cursor:default}
.toast-bt{margin-left:10px;background:var(--ocre);color:var(--grafite);border:0;border-radius:8px;padding:4px 10px;font-weight:600;cursor:pointer}
.rest-bt{margin-left:14px;color:var(--ok)}
.contr-sug{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--papel-2)}.contr-sug span{font-size:.88rem;color:var(--suave);margin-right:4px}
/* v6: pacote por despesa, categorias editáveis, calendário com dia aberto */
.orc-u .g-nome{font:inherit;font-weight:700;font-size:1rem;border:1px solid transparent;background:transparent;padding:2px 6px;margin-left:-6px;border-radius:6px;width:100%;max-width:100%;color:inherit}
.orc-u .g-nome:hover,.orc-u .g-nome:focus{border-color:var(--linha);background:var(--branco)}
.pac-ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:8px}
.pac-cat{border:1px solid var(--linha);border-radius:10px;padding:8px 10px;margin:0;min-width:0;display:flex;flex-direction:column;gap:4px;background:var(--branco)}
.pac-cat legend{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);padding:0 4px}
.pac-cat label{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;line-height:1.3}
.pac-cat label small{color:var(--suave)}
.pac-cat label.off{opacity:.55}
.orc-u tr.pacote td:first-child{box-shadow:inset 3px 0 0 var(--ocre)}
.pac-v{color:var(--suave);font-size:.78rem}
.porta-t{display:block;color:var(--suave);font-size:.75rem;margin-top:4px}
.porta-bt{display:inline-block;font-size:.78rem;margin-top:2px}
button.cal-d{font:inherit;text-align:left;cursor:pointer;color:inherit;width:100%}
button.cal-d:hover{border-color:var(--ocre)}
.cal-d.sel{border-color:var(--terracota);box-shadow:0 0 0 2px var(--terracota)}
.cal-ev{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.cal-lado{display:flex;flex-direction:column;gap:20px;min-width:0}
.cal-diasel .caixa-cab{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cal-lista{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:10px}
.cal-lista li{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;align-items:start}
.cal-lista li i{width:12px;height:12px;border-radius:3px;margin-top:4px;background:var(--papel-2)}
.cal-lista li.evento i{background:var(--ocre)}.cal-lista li.manual i{background:rgba(114,33,10,.3)}.cal-lista li.pag i{background:rgba(63,125,90,.35)}
.cal-lista b{display:block;font-weight:600}.cal-lista small{color:var(--suave)}
.cal-dica{color:var(--suave);font-size:.82rem;margin:12px 0 0}
@media (max-width:640px){.cal-ev{-webkit-line-clamp:1;display:block}}
.pac-cat label{justify-content:flex-start;text-align:left;width:100%}
.pac-cat label input{flex:none;margin-top:2px}
.pac-cat label span{min-width:0;flex:1}
.cal-ev{overflow-wrap:break-word;word-break:normal;hyphens:auto;-webkit-line-clamp:3}
.pac-cat .check{width:20px!important;min-width:20px;height:20px!important;padding:0!important;border:2px solid rgba(47,58,60,.45)!important;background:var(--branco)!important}
.pac-cat .check:checked{background:var(--terracota)!important;border-color:var(--terracota)!important}
.cal-ev{font-size:.68rem;padding:2px 4px}
.cal-d{padding:6px 5px}
.cal-ev{font-size:.64rem;letter-spacing:-.01em;padding:2px 3px}.cal-grade{gap:3px}
.orc-u .x.confirma{width:auto;padding:0 8px;color:var(--ruim);font-weight:700;font-size:.8rem}
/* O que falta contratar */
.faltacontr .caixa-cab{align-items:flex-start;flex-wrap:wrap;gap:12px}
.fc-res{margin:4px 0 0;color:var(--suave);font-size:.92rem}.fc-res b{color:var(--grafite)}
.fc-barra{height:8px;border-radius:999px;background:var(--papel-2);overflow:hidden;margin:4px 0 18px}
.fc-barra i{display:block;height:100%;background:var(--ok);border-radius:999px;transition:width .4s}
.fc-g{display:grid;grid-template-columns:200px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--linha);align-items:start}
.fc-g>b{font-weight:600;font-size:.92rem;padding-top:6px}
.fc-l{display:flex;flex-wrap:wrap;gap:8px}
.fc{display:inline-flex;flex-direction:column;gap:2px;padding:7px 12px;border-radius:12px;font-size:.88rem;line-height:1.3;border:1px solid var(--linha);background:var(--branco);max-width:100%}
.fc small{font-size:.74rem;color:var(--suave)}
.fc.ok{background:rgba(63,125,90,.1);border-color:rgba(63,125,90,.25);color:var(--ok)}
.fc.cot{background:rgba(241,168,54,.12);border-color:rgba(241,168,54,.35)}
.fc.falta{border-style:dashed;border-color:rgba(114,33,10,.35)}
.fc.nao{opacity:.55;text-decoration:line-through}.fc.nao .link-bt{text-decoration:none}
.fc-acoes{display:flex;gap:10px;font-size:.78rem}.fc-acoes .link-bt{font-size:.78rem}
.fc-nao{color:var(--suave)!important}
.fc-dica{color:var(--suave);font-size:.84rem;margin:14px 0 0}
.fc-vis{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.fc-vis b{display:block}.fc-vis span{color:var(--suave);font-size:.88rem}
.add-fim{margin-top:12px}
@media (max-width:640px){.fc-g{grid-template-columns:1fr;gap:6px}}
.faltacontr>summary{list-style:none;cursor:pointer}.faltacontr>summary::-webkit-details-marker{display:none}
.fc-seta{font-size:.9rem;color:var(--suave);display:inline-block;transition:transform .2s}
.faltacontr:not([open]) .fc-seta{transform:rotate(-90deg)}
.faltacontr:not([open]) .fc-res{margin-bottom:0}
/* Planner Unità */
.consultoria{border-left:4px solid var(--ocre)}
.consultoria p{margin:0 0 10px}
.cons-resumo{white-space:pre-line;background:var(--papel-2);border-radius:12px;padding:14px 16px;font-size:.95rem}
.cons-eq{margin-top:14px;border-top:1px solid var(--linha);padding-top:12px}
.cons-eq summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--suave);margin-bottom:10px}
.cons-eq .campo input,.cons-eq .campo textarea{width:100%;border:1.5px solid var(--linha);border-radius:10px;background:var(--branco);padding:.55em .75em;font:inherit}
.pg-res{color:var(--suave);margin:-6px 0 18px}.pg-res b{color:var(--grafite)}
.pg-nova textarea,.pg-r textarea{width:100%;border:1.5px solid var(--linha);border-radius:12px;background:var(--branco);padding:.7em .9em;font:inherit;margin-top:8px;resize:vertical}
.pg-nova .acoes{display:flex;justify-content:flex-end;margin-top:10px}
.pg-lista{display:grid;gap:14px;margin-top:18px}
.pg{display:grid;gap:12px}
.pg small{color:var(--suave);font-size:.78rem;letter-spacing:.04em}
.pg p{margin:4px 0 0;white-space:pre-line}
.pg-r{background:var(--papel-2);border-radius:12px;padding:12px 14px}
.pg-r.eq{display:grid;gap:8px;justify-items:end;background:transparent;padding:0}
.consultoria .vazio{text-align:left;padding:0;margin:0}
/* Mapa do SIM: resumo do mês */
.resumo-mes{background:var(--branco);border:1px solid var(--linha);border-left:4px solid var(--grafite);border-radius:16px;padding:18px 20px;display:grid;gap:14px}
.rm-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.rm-cab h2{font-family:var(--f-display);font-weight:400;font-size:1.45rem;margin:4px 0 0}
.rm-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.rm-cols>div{min-width:0}
.rm-cols h3{font-size:.95rem;font-weight:700;margin:0 0 8px;display:flex;align-items:center;gap:8px}
.rm-cols ul{margin:0;padding-left:18px;display:grid;gap:5px;font-size:.92rem}
.rm-cols li.mais{list-style:none;margin-left:-18px;color:var(--suave);font-size:.86rem}
.rm-ok{margin:0;color:var(--ok, #3F7D5A);font-weight:600;font-size:.92rem}
.rm-cols h3{font-family:var(--f-texto)}.rm-cols .pill:not(.alerta){background:var(--papel-2);color:var(--grafite)}
