:root{--sea:#0c3b47;--sea2:#17596b;--sand:#f7f0e4;--sand2:#eee2cc;--coral:#ff6a45;--sun:#ffc24a;--wa:#1fa855;--ink:#12262c;--mu:#56707a;--hd:Sora,system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;font:400 .96rem/1.6 Manrope,system-ui,sans-serif;color:var(--ink);background:var(--sand)}a{color:var(--coral)}svg.ic{flex:none;vertical-align:middle}code{background:var(--sand);padding:2px 8px;border-radius:7px;font-size:.85rem;word-break:break-all}
h1,h2,h3{font-family:var(--hd);letter-spacing:-.02em;margin:0;color:var(--sea)}.muted{color:var(--mu)}.sm{font-size:.86rem}.center{text-align:center}.inline{display:inline}.grow{flex:1;min-width:160px}
.b{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:2px solid var(--coral);border-radius:12px;background:var(--coral);color:#fff!important;font:700 .92rem Manrope;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s}
.b:hover{transform:translateY(-2px);box-shadow:0 12px 20px -12px rgba(255,106,69,.9)}.b.l{background:#fff;border-color:var(--sea);color:var(--sea)!important}.b.l:hover{background:var(--sea);color:#fff!important;box-shadow:none}.b.z{background:var(--wa);border-color:var(--wa)}.b.s{padding:8px 14px;font-size:.84rem;border-radius:10px}.b.block{width:100%}.b[disabled]{opacity:.45;pointer-events:none}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
/* ---- painel ---- */
body.app{display:grid;grid-template-columns:268px 1fr;min-height:100vh}
.sb{background:var(--sea);color:#cfe3e8;padding:22px 16px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh;overflow:auto}
.logo{display:flex;gap:10px;align-items:center;font:800 1.25rem var(--hd);color:#fff;text-decoration:none;letter-spacing:-.04em}.logo b{color:var(--coral)}.mk{width:34px;height:34px;border-radius:10px;background:var(--sun);color:var(--sea);display:grid;place-items:center}
.sb nav{display:grid;gap:4px}.sb nav a{display:flex;gap:12px;align-items:center;padding:11px 14px;border-radius:12px;color:#cfe3e8;text-decoration:none;font-weight:600;transition:.2s}.sb nav a:hover{background:rgba(255,255,255,.09);color:#fff}.sb nav a.on{background:var(--coral);color:#fff}
.me{margin-top:auto;display:flex;gap:10px;align-items:center;padding:12px;background:rgba(255,255,255,.08);border-radius:14px}.av{width:38px;height:38px;border-radius:50%;background:var(--sun);color:var(--sea);display:grid;place-items:center;font:800 1rem var(--hd);flex:none}.who{min-width:0;flex:1}.who b{display:block;color:#fff;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who small{opacity:.7}.me button{background:none;border:0;color:#cfe3e8;cursor:pointer;padding:6px;border-radius:8px}.me button:hover{background:rgba(255,255,255,.12)}
.tb{display:flex;align-items:center;gap:14px;padding:26px 36px 0}.tb h1{font-size:1.8rem;font-weight:800}.mb{display:none;background:#fff;border:1.5px solid var(--sand2);border-radius:10px;width:42px;height:42px;cursor:pointer;color:var(--sea);place-items:center}.ct{padding:20px 36px 70px;max-width:1240px}
.card{background:#fff;border:1.5px solid var(--sand2);border-radius:18px;padding:22px;margin-bottom:18px}.card h3{font-size:1.05rem;margin-bottom:14px;display:flex;gap:8px;align-items:center}.h2{font-size:1.3rem;margin:26px 0 12px}
.g2,.g3,.g4{display:grid;gap:18px;margin-bottom:0}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr);margin-bottom:18px}
.stat{background:#fff;border:1.5px solid var(--sand2);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}.stat span{color:var(--mu);font-size:.84rem;font-weight:600;display:flex;gap:6px;align-items:center}.stat b{font:800 2rem/1.1 var(--hd);color:var(--sea)}.stat b.sm{font-size:1.05rem;line-height:1.3}
.al{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:14px;margin-bottom:18px;background:#e3f6ea;border:1.5px solid #b2e6c4;color:#0a4a24}.al.err{background:#fde8e3;border-color:#f6b8a8;color:#6d1b12}.al.info{background:#fff4d6;border-color:#f3d98b;color:#5a3d00}
.fm label{display:block;margin-bottom:14px;font-weight:700;font-size:.86rem;color:var(--ink)}.fm input:not([type=checkbox]),.fm select,.fm textarea,input:not([type=checkbox]),select,textarea{width:100%;padding:11px 13px;border:1.5px solid #d9cdb4;border-radius:11px;font:inherit;margin-top:5px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--coral);box-shadow:0 0 0 4px rgba(255,106,69,.15)}label.chk{display:flex;gap:9px;align-items:center;font-weight:500!important}label.chk input{width:auto!important;margin:0!important;accent-color:var(--coral)}
.fg2,.fg3,.fg4{display:grid;gap:0 16px}.fg2{grid-template-columns:1fr 1fr}.fg3{grid-template-columns:repeat(3,1fr)}.fg4{grid-template-columns:repeat(4,1fr)}.full{grid-column:1/-1}.row input,.row select{width:auto;margin:0}.mini{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 6px}.mini select,.mini input{width:auto!important;margin:0!important;padding:7px 10px!important}.mini label{margin:0}.xs{width:70px!important;padding:6px 8px!important;margin:0!important}
.pill{display:inline-block;padding:3px 12px;border-radius:99px;background:#eceff0;font-size:.76rem;font-weight:700}.s-pago,.s-published,.s-concluido,.s-respondido,.s-entregue{background:#d3f4e3;color:#065f46}.s-pendente,.s-draft,.s-aberto,.s-novo,.s-tolerancia,.s-em_curso{background:#fff0c7;color:#7a4b00}.s-suspenso,.s-suspended,.s-expirado,.s-cancelado{background:#fcd8d3;color:#8a1f12}
.meter{margin:12px 0;font-size:.88rem}.meter>div{background:var(--sand);border-radius:99px;height:10px;overflow:hidden;margin-top:5px}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--sun),var(--coral));border-radius:99px}
.ticks{list-style:none;padding:0;margin:12px 0}.ticks li{padding:5px 0 5px 30px;position:relative}.ticks li:before{content:"";position:absolute;left:0;top:8px;width:20px;height:20px;border-radius:50%;background:#d6f5e6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231fa855' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}.ticks li.todo{color:var(--mu)}.ticks li.todo:before{background:var(--sand2)}
.tw{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:.9rem}.tbl th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mu);padding:8px 12px;border-bottom:1.5px solid var(--sand2)}.tbl td{padding:12px;border-bottom:1px solid var(--sand);vertical-align:middle}.tbl tr:hover td{background:#fffcf6}.tbl small{color:var(--mu)}
.thumb{width:48px;height:48px;object-fit:cover;border-radius:12px;display:block}.thumb.ph{background:var(--sand);display:grid;place-items:center;color:var(--mu)}
.list{list-style:none;padding:0;margin:0 0 14px}.list li{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--sand)}
.ib{display:inline-grid;place-items:center;width:34px;height:34px;border:1.5px solid var(--sand2);background:#fff;border-radius:10px;color:var(--sea);cursor:pointer;text-decoration:none;transition:.2s}.ib:hover{background:var(--sea);color:#fff}.ib.danger:hover{background:#c0392b;border-color:#c0392b}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 16px}.kv dt{color:var(--mu)}.kv dd{margin:0;font-weight:600}.log{border-top:1px solid var(--sand);padding:12px 0;font-size:.9rem}.log p{margin:4px 0 0}.resp{background:var(--sand);border-radius:10px;padding:8px 12px}
.steps5{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.steps5 span{padding:6px 12px;border-radius:99px;background:var(--sand);font-size:.8rem;font-weight:600;color:var(--mu)}.steps5 .on{background:var(--sea);color:#fff}
.tabs{margin-bottom:16px}.tabs a{padding:8px 16px;border-radius:99px;background:#fff;border:1.5px solid var(--sand2);text-decoration:none;color:var(--sea);font-weight:700;font-size:.86rem}.tabs a.on{background:var(--sea);color:#fff;border-color:var(--sea)}
.qrw{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:16px}#qr{padding:10px;background:#fff;border:1.5px solid var(--sand2);border-radius:14px;display:inline-block}.cred{border-color:var(--coral);background:#fff9f4}
/* ---- login / instalação ---- */
body.auth{min-height:100vh;display:grid;place-items:center;padding:22px;background:var(--sand) radial-gradient(circle at 85% 10%,var(--sun) 0,var(--sun) 160px,transparent 161px)}.ab{width:min(430px,100%);background:#fff;border:1.5px solid var(--sand2);border-radius:26px;padding:36px;box-shadow:0 30px 60px -30px rgba(12,59,71,.5)}.ab .logo{color:var(--sea);margin-bottom:22px}.ab h1{font-size:1.6rem;margin-bottom:8px}.ab>p{color:var(--mu);margin:0 0 20px}
/* ---- catálogo público ---- */
body.cat{max-width:520px;margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 80px -20px rgba(12,59,71,.4)}.dbar{background:var(--sea);color:#fff;text-align:center;padding:9px;font-size:.8rem}
.chd{text-align:center;padding:38px 20px 18px;background:radial-gradient(80% 90% at 50% 0%,#ffe9b8,#fff 75%)}.clogo{width:98px;height:98px;border-radius:50%;object-fit:cover;margin:0 auto;border:4px solid #fff;box-shadow:0 14px 30px -12px rgba(12,59,71,.5)}.clogo.ph{background:var(--sea);color:var(--sun);display:grid;place-items:center;font:800 2.4rem var(--hd)}
.chd h1{margin:14px 0 6px;font-size:1.55rem}.chd p{color:var(--mu);margin:0 0 16px;font-size:.95rem}.cnav{display:flex;gap:8px;overflow-x:auto;padding:12px 16px;position:sticky;top:0;background:rgba(255,255,255,.93);backdrop-filter:blur(10px);z-index:5;scrollbar-width:none;border-bottom:1px solid var(--sand2)}
.cnav button{border:1.5px solid var(--sand2);background:#fff;border-radius:10px;padding:7px 16px;white-space:nowrap;cursor:pointer;font:700 .84rem Manrope;color:var(--sea);transition:.2s}.cnav button.on{background:var(--sea);color:#fff;border-color:var(--sea)}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 16px}.cc{border:1.5px solid var(--sand2);border-radius:18px;padding:9px;position:relative;display:flex;flex-direction:column;gap:5px;opacity:0;animation:rise .6s forwards;animation-delay:calc(var(--i,0)*70ms);transition:transform .3s,box-shadow .3s}.cc:hover{transform:translateY(-5px);box-shadow:0 22px 34px -20px rgba(12,59,71,.5)}.cc.off{opacity:.55!important}.cc[hidden]{display:none}
.imw{overflow:hidden;border-radius:12px}.cc img,.imp{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;transition:transform .5s}.cc:hover img{transform:scale(1.06)}.imp{background:var(--sand);display:grid;place-items:center;color:var(--sea2)}.cc h3{font-size:.94rem;margin:6px 0 0}.cc p{margin:0;font-size:.8rem;color:var(--mu);flex:1;line-height:1.45}.cc strong{font:800 1rem var(--hd);color:var(--sea)}
.tg{position:absolute;top:14px;left:14px;display:inline-flex;gap:4px;align-items:center;background:var(--sun);font-size:.68rem;padding:3px 10px;border-radius:99px;font-weight:800;color:var(--sea);z-index:2}.cft{padding:26px 20px 56px;background:var(--sand);font-size:.9rem}.cft div{display:flex;gap:10px;align-items:center;margin:8px 0;color:var(--sea)}.cft small{display:block;margin-top:18px;color:var(--mu)}
@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.g4{grid-template-columns:1fr 1fr}.fg4{grid-template-columns:1fr 1fr}.g3,.fg3{grid-template-columns:1fr 1fr}}
@media(max-width:860px){body.app{grid-template-columns:1fr}.sb{position:fixed;left:0;top:0;bottom:0;width:272px;z-index:50;transform:translateX(-102%);transition:transform .3s}.sb.open{transform:none;box-shadow:0 0 0 100vmax rgba(10,33,40,.55)}.mb{display:grid}.tb{padding:18px 18px 0}.tb h1{font-size:1.4rem}.ct{padding:16px 18px 60px}.g2,.g3,.fg2,.fg3,.fg4{grid-template-columns:1fr}}
@media(max-width:480px){.g4{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.cc{opacity:1}}
