:root{--bg:#f4f3ef;--card:#fff;--ink:#0b0b0e;--muted:#5e5f66;--line:#e2e0da;--gold:#ffd23f;--gold2:#9a7a00;--wa:#1fa855;--red:#c0392b;--q:#f2994a;--font:"Inter Tight",system-ui,sans-serif;--serif:"Instrument Serif",Georgia,serif;color-scheme:light}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--font)}
[hidden]{display:none!important}
button,input,textarea,select{font:inherit;color:inherit}
svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;padding:12px clamp(16px,3vw,32px);padding-top:calc(12px + env(safe-area-inset-top,0px));background:#0b0b0e;color:#f3f1ec}
.bar__logo img{height:34px;width:auto;display:block}
.bar__t{font-weight:600;font-size:14px;padding:5px 10px;border:1px solid rgba(243,241,236,.2);border-radius:99px}
.bar__couple{margin-left:auto;font-weight:600;color:var(--gold);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wrap{width:min(1100px,calc(100% - 32px));margin:0 auto;padding-block:36px 80px;display:grid;gap:18px}

/* topo */
.intro h1{font-size:clamp(30px,4.4vw,48px);line-height:1.04;letter-spacing:-.035em;font-weight:800;text-wrap:balance;max-width:20ch}
.intro h1 em{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.01em;color:var(--gold2)}
.intro p{color:var(--muted);margin-top:12px;max-width:64ch;font-size:17px}
.intro p b{color:var(--ink);font-weight:600}

/* etapas */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;counter-reset:s}
.steps li{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;position:relative;transition:border-color .3s,background .3s}
.steps li b{display:block;font-size:15px;letter-spacing:-.01em}
.steps li small{display:block;font-size:13px;color:var(--muted);line-height:1.3}
.steps__n{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;background:#f1efe9;color:var(--muted);transition:.3s}
.steps li.is-now{border-color:var(--ink);box-shadow:0 8px 24px rgba(11,11,14,.08)}
.steps li.is-now .steps__n{background:var(--ink);color:var(--gold)}
.steps li.is-done .steps__n{background:var(--wa);color:#fff;font-size:0}
.steps li.is-done .steps__n::after{content:"✓";font-size:15px}
.steps li.is-done small{color:#1d6b3a;font-weight:600}

/* cartões */
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(18px,3vw,30px);display:grid;gap:16px;min-width:0;scroll-margin-top:80px}
.card__h{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.card__h > div{flex:1;min-width:220px}
.card__h h2{font-size:22px;letter-spacing:-.025em;line-height:1.15}
.card__sub{font-size:14.5px;color:var(--muted);margin-top:3px}
.num{width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--gold);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.fld{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}
.fld input,.fld textarea{font-size:16px;font-weight:400;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#fbfaf7;outline:0;resize:vertical;min-width:0;width:100%}
.fld input:focus,.fld textarea:focus{border-color:var(--ink);background:#fff}
.help{font-size:13.5px;color:var(--muted)}
.lnk{border:0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:600;font-size:inherit}
.row,.tools{display:flex;flex-wrap:wrap;gap:8px}
.err{color:var(--red);font-weight:600;font-size:14px}
.err:empty{display:none}

/* abas */
.tabs{display:inline-flex;background:#f1efe9;border-radius:99px;padding:4px;gap:4px;justify-self:start;max-width:100%;overflow-x:auto}
.tab{border:0;background:none;border-radius:99px;padding:9px 16px;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer;white-space:nowrap}
.tab.is-on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(11,11,14,.08)}
.pane{display:grid;gap:12px}

/* arquivo */
.up{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:stretch}
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border:2px dashed #cfccc3;border-radius:18px;padding:30px 18px;background:#fbfaf7;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;min-height:220px}
.drop:hover{border-color:var(--ink);background:#fff}
.drop.is-over{border-color:var(--ink);background:#fff8d6;transform:scale(1.01)}
.drop svg{width:46px;height:46px;stroke-width:1.8;color:var(--gold2);margin-bottom:6px}
.drop b{font-size:18px;letter-spacing:-.01em}
.drop u{font-weight:600;text-underline-offset:3px}
.drop small{font-size:12.5px;color:var(--muted);margin-top:8px;max-width:32ch}
.howto{background:#fbfaf7;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:10px;align-content:start}
.howto__t{font-weight:700;font-size:14px}
.howto__h{font-size:13px;color:var(--muted)}
.howto .btn{justify-self:start}
.ex{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.ex th{background:#1f7a44;color:#fff;text-align:left;font-weight:600;padding:7px 10px}
.ex td{padding:7px 10px;border-top:1px solid var(--line);white-space:nowrap}
.ex td:last-child,.ex th:last-child{text-align:center}
.demo-l{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:99px;padding:11px 16px;font-weight:600;font-size:14.5px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .15s,border-color .15s,background .15s}
.btn svg{width:17px;height:17px}
.btn:active{transform:scale(.97)}
.btn--ink{background:var(--ink);color:#fff}
.btn--ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink)}
.btn--danger{color:var(--red)}
.btn--sm{padding:8px 13px;font-size:13.5px}
.btn--lg{padding:17px 22px;font-size:16px;width:100%;white-space:normal;text-align:center;line-height:1.25}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* números */
.stats{display:flex;flex-wrap:wrap;gap:8px}
.stat{background:#f6f5f0;border-radius:12px;padding:8px 13px;font-size:13px;color:var(--muted)}
.stat b{display:block;font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}
.stat--q b{color:var(--q)}
.stat--ok b{color:#1d6b3a}

/* conferir */
.review{display:flex;gap:12px;align-items:center;background:#fff6ec;border:1px solid #f7c99a;border-radius:14px;padding:12px 14px;flex-wrap:wrap}
.review > div{flex:1;min-width:220px}
.review b{font-size:15px}
.review p{font-size:13.5px;color:#7a4a17}
.review__ic{flex:none;width:30px;height:30px;border-radius:50%;background:var(--q);color:#fff;display:grid;place-items:center;font-weight:800}
.review .btn.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}

.tbl{display:grid;gap:6px}
.g{display:grid;grid-template-columns:24px minmax(160px,1.5fr) 158px 62px minmax(150px,1.2fr) var(--stw,0px) 310px;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.g > *{min-width:0}
.g:hover{border-color:#cfccc3}
.g.is-sent{background:#f3faf5;border-color:#cde9d6}
.g.is-sel{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--gold)}
.g.is-q{border-color:#f7c99a}
.g--head{background:none;border:0;padding:0 10px 2px;cursor:default;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.g--head:hover{border:0}
.g__n{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}
.g input,.g select{width:100%;border:1px solid transparent;border-radius:9px;padding:7px 8px;font-size:15px;background:transparent;outline:0}
.g input:hover,.g select:hover{border-color:var(--line)}
.g input:focus,.g select:focus{border-color:var(--ink);background:#fff}
.g input[type=number]{text-align:center}
.g input::placeholder{color:#b3b0a8}
.g__name input{font-weight:600}
.g select{cursor:pointer;border-color:var(--line);background:#f6f5f0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235e5f66' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 10px center/10px;appearance:none;-webkit-appearance:none;padding-right:26px;font-size:14px;font-weight:600}
.g select.is-q{background-color:#fff1e3;border-color:#f7c99a;color:#9a4f0c}
.g__act{display:flex;gap:6px;justify-content:flex-end;min-width:max-content}
.ic{height:34px;min-width:32px;padding:0 8px;border-radius:10px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}
.ic svg{width:16px;height:16px}
.ic:hover{border-color:var(--ink)}
.ic--off{opacity:.35;pointer-events:none}
.ic--sent{background:#e7f6ec;border-color:#bfe4cb;color:#1d6b3a}
.ic--del:hover{color:var(--red);border-color:var(--red)}

/* enviar */
.send{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}
.send__l{display:grid;gap:12px;min-width:0}
.send__r{display:grid;gap:10px;justify-items:start;position:sticky;top:80px}
.prog{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}
.prog__bar{flex:1;height:10px;border-radius:99px;background:#eceae4;overflow:hidden}
.prog__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1fa855,#5fd38a);border-radius:99px;transition:width .6s cubic-bezier(.2,.7,.2,1)}
.custom{border:1px solid var(--line);border-radius:14px;background:#fbfaf7}
.custom summary{cursor:pointer;font-weight:600;font-size:15px;padding:14px 16px;list-style:none;display:flex;justify-content:space-between}
.custom summary::-webkit-details-marker{display:none}
.custom summary::after{content:"+";font-size:22px;line-height:1;color:var(--gold2)}
.custom[open] summary::after{content:"–"}
.custom__b{display:grid;gap:12px;padding:0 16px 16px}
.tokens{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
.tokens button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:5px 10px;font-size:13px;font-weight:600;cursor:pointer}
.tokens button:hover{border-color:var(--ink)}
.phone__t{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.phone__t b{color:var(--ink)}
.phone{width:100%;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 40px rgba(11,11,14,.1)}
.phone__top{display:flex;align-items:center;gap:10px;background:#075e54;color:#fff;padding:10px 14px;font-size:15px}
.phone__av{width:32px;height:32px;border-radius:50%;background:#dfe5e7;color:#075e54;display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.wa{background:#efeae2;padding:16px;min-height:200px}
.wa__msg{background:#d9fdd3;border-radius:12px 12px 4px 12px;padding:10px 12px;white-space:pre-wrap;font-size:14.5px;margin-left:auto;max-width:92%;word-break:break-word;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.wa__msg a{color:#027eb5}
.privacy{font-size:13.5px;color:var(--muted);text-align:center}
.toast{position:fixed;left:50%;bottom:20px;translate:-50% 200%;background:var(--ink);color:#fff;padding:11px 18px;border-radius:99px;font-size:14px;transition:translate .35s;z-index:20;visibility:hidden;max-width:calc(100% - 32px);text-align:center}
.toast.is-on{translate:-50% 0;visibility:visible}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.flash{animation:flash 1.2s ease}
@keyframes flash{0%{background:#fff8d6}100%{background:#fff}}

/* modo nuvem */
.is-cloud{--stw:110px}
@media (min-width:1061px){.is-cloud .g{grid-template-columns:24px minmax(140px,1.4fr) 150px 56px minmax(110px,1fr) 110px 310px}}
.cloud-only{display:none}
.is-cloud .cloud-only{display:inline-flex}
.card__h .sync{font-size:12.5px;color:#2b7a46;font-weight:600;align-self:center}
.card__h .sync.is-busy{color:var(--muted)}
.st{display:inline-block;font-size:12.5px;font-weight:600;padding:4px 9px;border-radius:99px;background:#f1efe9;color:var(--muted);white-space:nowrap}
.st--yes{background:#dff3e5;color:#1d6b3a;cursor:help}
.st--no{background:#f9e3e0;color:#9b2c1f;cursor:help}
.st--open{background:#fff4cc;color:#7a5b00}
.st--wait{background:transparent;border:1px dashed var(--line)}
.mailbox{display:grid;grid-template-columns:1fr auto;gap:10px 14px;align-items:center;background:#fbfaf7;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.mailbox__t p{font-size:14px;color:var(--muted)}
.mailbox__test{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.mailbox__test input{flex:1;min-width:180px;border:1px solid var(--line);border-radius:99px;padding:9px 14px;font-size:15px}
.mailbox__prog{grid-column:1/-1;font-size:14px;font-weight:600}
.mailbox__prog:empty{display:none}

@media (max-width:1060px){
  .g{grid-template-columns:24px 1fr auto;grid-template-areas:"n name gen" "n st st" "n ppl ppl" "n mail mail" "n act act";row-gap:4px;padding:10px}
  .g--head{display:none}
  .g__n{grid-area:n;align-self:start;padding-top:9px}.g__name{grid-area:name}.g__gen{grid-area:gen}.g__ppl{grid-area:ppl}.g__mail{grid-area:mail}.g__st{grid-area:st}.g__st:empty{display:none}
  .g__act{grid-area:act;justify-content:flex-start;flex-wrap:wrap;min-width:0;margin-top:4px}
  .g__ppl,.g__mail{display:flex;align-items:center}
  .g__ppl::before,.g__mail::before{font-size:12px;color:var(--muted);width:70px;flex:none}
  .g__ppl::before{content:"Pessoas"}.g__mail::before{content:"E-mail"}
  .g__ppl input{width:70px;text-align:left!important}
  .g__gen select{width:auto;max-width:170px}
  .bar__t{display:none}
  .up,.send{grid-template-columns:1fr}
  .send__r{position:static}
  .mailbox{grid-template-columns:1fr}
}
@media (max-width:640px){
  .steps{grid-template-columns:repeat(3,1fr);gap:6px}
  .steps li{flex-direction:column;align-items:flex-start;gap:6px;padding:10px}
  .steps li small{display:none}
  .tabs{display:flex;justify-self:stretch}
  .tab{flex:1;white-space:normal;line-height:1.2;padding:9px 10px;font-size:13px}
  .g{grid-template-columns:22px 1fr;grid-template-areas:"n name" "n gen" "n st" "n ppl" "n mail" "n act"}
  .g__gen select{max-width:none;width:100%}
  .ex{font-size:12px}.ex td,.ex th{padding:6px 7px}
}

/* mensagem pronta pra copiar */
.btn--go{background:var(--ink);color:#fff}
.btn--go:hover{background:#26262c}
.btn--go:disabled{background:#9aa39c;opacity:1}
.ic--go{background:var(--ink);border-color:var(--ink);color:#fff}
.ic--go:hover{background:#26262c;border-color:#26262c}
.phone__top{background:var(--ink)}
.phone__av{color:var(--ink)}
.wa{background:#f4f2ec}
.wa__msg{background:#fff;border:1px solid var(--line);box-shadow:none}

/* =====================================================================
   v3 · abas, respostas, mesas, recepção e "Meus casamentos"
   ===================================================================== */
.bar__back{display:inline-flex;align-items:center;gap:4px;color:#f3f1ec;text-decoration:none;font-size:13.5px;font-weight:600;padding:6px 11px 6px 7px;border-radius:99px;background:rgba(243,241,236,.1);white-space:nowrap}
.bar__back svg{width:16px;height:16px}
.bar__back:hover{background:rgba(243,241,236,.18)}
.modes{position:sticky;top:58px;z-index:9;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:5px;box-shadow:0 10px 30px rgba(11,11,14,.06)}
.modes button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;border-radius:13px;padding:11px 10px;font-weight:650;font-size:14.5px;color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.modes button svg{width:19px;height:19px;flex:none}
.modes button:hover{color:var(--ink);background:#f6f5f0}
.modes button.is-on{background:var(--ink);color:#fff}
.modes button.is-on svg{color:var(--gold)}
.view{display:grid;gap:18px;min-width:0}
.num--ic svg{width:17px;height:17px}
.empty{font-size:14px;color:var(--muted);padding:10px 2px}
.only-narrow{display:none}
.stat--bad b{color:var(--red)}
.card__h .sync{margin-left:auto}

/* respostas */
.dates{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:14px}
.fld select{font-size:16px;font-weight:400;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#fbfaf7;min-width:0;width:100%}
.pz{font-size:14.5px;color:var(--muted);background:#f6f5f0;border-radius:12px;padding:11px 14px}
.pz--on{background:#eef7f1;color:#1d6b3a}.pz--on b{color:#145430}
.pz--off{background:#fdeeec;color:#8f2a1e}
.buf{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.bn{background:#f6f5f0;border-radius:16px;padding:14px 16px;display:grid;gap:2px}
.bn b{font-size:34px;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.bn span{font-size:13.5px;color:var(--muted);font-weight:600}
.bn--t{background:var(--ink);color:#fff}.bn--t b{color:var(--gold)}.bn--t span{color:#c9c8c2}
.buf__t{font-weight:700;font-size:14px;margin-bottom:6px}
.rchips{display:flex;flex-wrap:wrap;gap:6px}
.rchip{display:inline-flex;align-items:baseline;gap:6px;background:#fff6dc;border:1px solid #f1dd9a;color:#6b5300;border-radius:99px;padding:6px 12px;font-size:14px;font-weight:600}
.rchip b{font-size:16px}
.buf__al{font-size:14px;color:#5e4a10;margin-top:8px}
.fchips{display:flex;flex-wrap:wrap;gap:6px}
.fchip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 13px;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--muted);display:inline-flex;gap:6px;align-items:center}
.fchip b{font-variant-numeric:tabular-nums;background:#f1efe9;border-radius:99px;padding:0 7px;color:var(--ink)}
.fchip b:empty{display:none}
.fchip.is-on{border-color:var(--ink);color:var(--ink);background:#fffbe9}
.lem{display:grid;gap:6px;max-height:380px;overflow:auto;padding-right:2px}
.lr{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fff;cursor:pointer}
.lr input{width:19px;height:19px;accent-color:var(--ink);flex:none}
.lr__t{flex:1;min-width:0;display:grid}
.lr__t b{font-size:15px}
.lr__t small{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.lr--nm{cursor:default;background:#fbfaf7}
.lr__x{width:19px;height:19px;color:#b3b0a8;flex:none}.lr__x svg{width:19px;height:19px}
.lem__act{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lem__all{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-right:auto}
.lem__all input{width:18px;height:18px;accent-color:var(--ink)}
#lemSend.is-sure{background:var(--red)}
.lem__prev{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f4f3ef}
.lem__subj{font-size:13.5px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.lem__prev iframe{display:block;width:100%;height:640px;border:0;background:#f4f3ef}
#lembrete .mailbox__test input{flex:1;min-width:180px;border:1px solid var(--line);border-radius:99px;padding:9px 14px;font-size:15px}
.rl{display:grid;gap:8px}
.rr{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:8px}
.rr__h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rr__h b{font-size:15.5px}
.rr__h small{margin-left:auto;color:var(--muted);font-size:12.5px}
.rr__p{display:flex;flex-wrap:wrap;gap:6px}
.pp{font-size:13.5px;background:#f6f5f0;border-radius:99px;padding:5px 11px;font-weight:600}
.pp small{font-weight:600;color:#3d6fb8}
.pp i{font-style:normal;color:#8a5a00;font-weight:600}
.pp--cr{background:#eef3fb}
.rr__rec{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.35;color:#3e3f45}

/* mesas */
.mtools{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
.mtools__add,.mtools__auto{display:flex;flex-wrap:wrap;gap:6px}
.mgrid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
.mside{border:1px solid var(--line);border-radius:16px;background:#fbfaf7;padding:12px;display:grid;gap:10px;align-content:start;max-height:640px;overflow:auto;min-width:0}
.ms__f{display:grid;gap:8px}
.seg{display:grid;grid-template-columns:1fr 1fr;background:#efede6;border-radius:99px;padding:3px}
.seg button{border:0;background:none;border-radius:99px;padding:7px 8px;font-size:13px;font-weight:650;color:var(--muted);cursor:pointer}
.seg button.is-on{background:#fff;color:var(--ink);box-shadow:0 2px 6px rgba(11,11,14,.08)}
.tgl{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600}
.tgl input{width:17px;height:17px;accent-color:var(--ink)}
.tchips{display:flex;flex-wrap:wrap;gap:5px}
.tchips button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:99px;padding:4px 9px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}
.tchips button.is-on{border-color:var(--ink);color:var(--ink)}
.tdot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1.5px rgba(11,11,14,.12);flex:none}
.ms__q{border:1px solid var(--line);border-radius:99px;padding:8px 13px;font-size:15px;background:#fff;width:100%;min-width:0}
.ms__l{display:grid;gap:5px}
.ms__h{font-size:12.5px}
.gc{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 9px;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;transition:opacity .15s,border-color .15s}
.gc:hover{border-color:#bdb9ae}
.gc.is-seated{background:#f6f5f0}
.gc.is-seated .gc__t b{color:#4b4c52}
.gc.is-drag{opacity:.35}
.gc__t{flex:1;min-width:0;display:grid;line-height:1.25}
.gc__t b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc__t small{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc__tag{width:92px;flex:none;font-size:12px;border:1px solid var(--line);border-radius:8px;padding:4px 5px;background:#fff;color:var(--muted);cursor:pointer}
.is-dragging,.is-dragging *{cursor:grabbing!important}
.ghost{position:fixed;left:0;top:0;z-index:60;pointer-events:none;display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border-radius:12px;padding:9px 13px;font-size:14px;box-shadow:0 14px 30px rgba(11,11,14,.3)}
.ghost small{color:#c9c8c2}
.hallw{display:grid;gap:8px;min-width:0}
.hall{--u:7px;position:relative;width:100%;aspect-ratio:16/10;border-radius:18px;border:1px solid #e3ddcc;background:#fbf8f0 radial-gradient(circle,#e7e1d1 1px,transparent 1.3px) 0 0/22px 22px;overflow:hidden;touch-action:none}
.hall__empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:4px;padding:20px;color:var(--muted);font-size:14px}
.hall__empty b{color:var(--ink);font-size:16px}
.hall__help{font-size:12.5px}
.mt{position:absolute;transform:translate(-50%,-50%);cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}
.mt__b{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#fff;border:2px solid #3b3c42;border-radius:50%;box-shadow:0 6px 14px rgba(11,11,14,.12);line-height:1.1;padding:2px;transition:border-color .2s,background .2s,box-shadow .2s}
.mt__b b{font-size:clamp(9px,calc(var(--u)*1.35),13px);font-weight:700;letter-spacing:-.01em;max-width:calc(var(--u)*13);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt__b small{font-size:clamp(8.5px,calc(var(--u)*1.2),12px);color:var(--muted);font-weight:650;font-variant-numeric:tabular-nums}
.mt--retangular .mt__b,.mt--noivos .mt__b{border-radius:8px}
.mt--noivos .mt__b{background:#fff8dc;border-color:#9a7a00}
.mt--pista .mt__b{border-radius:6px;border:2px dashed #b9b2a0;background:repeating-conic-gradient(#f1ebdc 0 25%,#fbf8f0 0 50%) 0 0/calc(var(--u)*4) calc(var(--u)*4);box-shadow:none}
.mt--pista .mt__b b{color:#7a7363;letter-spacing:.2em;text-transform:uppercase;font-size:clamp(9px,calc(var(--u)*1.4),13px)}
.ch{position:absolute;width:calc(var(--u)*1.55);height:calc(var(--u)*1.55);border-radius:50%;transform:translate(-50%,-50%);background:#fff;border:1.5px solid #c9c4b6}
.ch.is-on{background:#3b3c42;border-color:#3b3c42}
.mt.is-full .mt__b{border-color:#9a7a00;background:#fffbea}
.mt.is-full .ch.is-on{background:#9a7a00;border-color:#9a7a00}
.mt.is-over .mt__b{border-color:var(--red);background:#fdeeec;box-shadow:0 0 0 4px rgba(192,57,43,.15)}
.mt.is-over .mt__b small{color:var(--red)}
.mt.is-over .ch.is-on{background:var(--red);border-color:var(--red)}
.mt.is-sel .mt__b{box-shadow:0 0 0 4px var(--gold),0 8px 18px rgba(11,11,14,.18)}
.mt.is-target .mt__b{box-shadow:0 0 0 5px #1fa855;transform:scale(1.06)}
.mt__w{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--q);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;box-shadow:0 0 0 2px #fff}
.ms__back{display:inline-flex;align-items:center;gap:4px;justify-self:start;font-size:13.5px}
.ms__back svg{width:16px;height:16px}
.md{display:grid;gap:10px}
.md .fld input,.md .fld select{padding:9px 11px;font-size:15px;background:#fff}
.md__row{display:grid;grid-template-columns:90px 1fr;gap:8px}
.md__occ{font-size:14px;color:var(--muted)}.md__occ b{color:var(--ink)}
.md__w{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;background:#fff6ec;border:1px solid #f7c99a;color:#7a4a17;border-radius:10px;padding:8px 10px}
.md__w svg{width:17px;height:17px;flex:none;margin-top:1px}
.md__w--over{background:#fdeeec;border-color:#f0b7ae;color:#8f2a1e}
.md__gs{display:grid;gap:8px}
.md__g{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px;display:grid;gap:4px}
.md__gh{display:flex;align-items:center;gap:7px}
.md__gh b{flex:1;font-size:14px;min-width:0}
.md__gh .lnk{font-size:12.5px;color:var(--muted)}
.md__p{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px;border-top:1px dashed var(--line);padding-top:5px}
.md__p select,.ml__r select,.ml__p select{font-size:12.5px;border:1px solid var(--line);border-radius:8px;padding:5px 6px;background:#fbfaf7;max-width:130px;cursor:pointer}
.kid{font-size:11.5px;font-weight:700;color:#3d6fb8;background:#eef3fb;border-radius:99px;padding:1px 7px;white-space:nowrap}
.rs{font-size:11.5px;font-weight:700;color:#8a5a00;background:#fff6dc;border-radius:99px;padding:1px 7px}
.mlist{display:none}
.rgx{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rgx select{flex:1;min-width:180px;font-size:15px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fbfaf7}
.rgx span{color:var(--muted);font-weight:600}
.rgl{display:grid;gap:6px}
.rgr{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:14px}
.rgr svg{width:17px;height:17px;flex:none;color:var(--muted)}
.rgr span{flex:1}
.rgr.is-bad{background:#fdeeec;border-color:#f0b7ae;color:#8f2a1e}.rgr.is-bad svg{color:var(--red)}
.exp{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.expb{display:grid;justify-items:start;gap:3px;text-align:left;border:1px solid var(--line);background:#fbfaf7;border-radius:16px;padding:14px;cursor:pointer;transition:border-color .2s,transform .15s}
.expb:hover{border-color:var(--ink)}
.expb:active{transform:scale(.98)}
.expb svg{width:24px;height:24px;color:var(--gold2);margin-bottom:6px}
.expb b{font-size:15px}
.expb small{font-size:13px;color:var(--muted)}
.tagsbox,.libera{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:14px}
.tagleg{display:flex;flex-wrap:wrap;gap:12px}
.tleg{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600}
.tleg b{color:var(--muted);font-weight:600}
.fld--in{max-width:340px}

/* recepção */
.rc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(16px,3vw,26px);display:grid;gap:14px;max-width:760px;width:100%;justify-self:center}
.rc__top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rc__count{display:flex;align-items:center;gap:12px}
.rc__count > b{font-size:52px;line-height:.9;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.rc__count span{font-size:14.5px;color:var(--muted);font-weight:600;line-height:1.25}
.rc__count span b{color:var(--ink)}
.rc__net{font-size:13px;font-weight:700;border-radius:99px;padding:6px 12px;white-space:nowrap}
.rc__net::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:currentColor;vertical-align:1px}
.rc__net.is-on{background:#e7f6ec;color:#1d6b3a}
.rc__net.is-sync{background:#fff4cc;color:#7a5b00}
.rc__net.is-off{background:#fdeeec;color:#a3301f}
.rc .prog__bar{height:12px}
.rc .prog__bar i{transition:width .5s}
.rc__qw{position:relative}
.rc__qw svg{position:absolute;left:16px;top:50%;translate:0 -50%;width:22px;height:22px;color:var(--muted);pointer-events:none}
.rc__q{width:100%;font-size:20px;border:2px solid var(--ink);border-radius:16px;padding:15px 16px 15px 50px;background:#fff;outline:0}
.rc__q:focus{box-shadow:0 0 0 4px rgba(255,210,63,.55)}
.rc__res{display:grid;gap:10px}
.rc__hint{font-size:14px;color:var(--muted)}
.rc__sub{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:4px}
.rg{border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:grid;gap:8px;background:#fff}
.rg.is-all{background:#f3faf5;border-color:#cde9d6}
.rg__h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.rg__h > div{display:grid;min-width:0}
.rg__h b{font-size:18px;letter-spacing:-.01em;line-height:1.2}
.rg__st{font-size:13px;font-weight:600;color:var(--muted)}
.rg__st--sim{color:#1d6b3a}.rg__st--nao{color:#a3301f}.rg__st--extra{color:#7a5b00}
.rc__mesa{flex:none;display:inline-block;background:var(--ink);color:var(--gold);font-weight:800;font-size:15px;border-radius:10px;padding:6px 11px;white-space:nowrap}
.rp .rc__mesa{font-size:12px;padding:2px 8px;border-radius:7px;vertical-align:1px}
.rc__mesa--no{background:#f1efe9;color:var(--muted)}
.rp{display:flex;align-items:center;gap:8px;min-height:52px;border-top:1px solid var(--line);padding-top:8px}
.rc__res > .rp{border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.rp__n{flex:1;min-width:0;font-size:16.5px;font-weight:600;line-height:1.25}
.rp__go{border:0;background:#1fa855;color:#fff;font-weight:800;font-size:16px;border-radius:12px;padding:12px 20px;min-height:46px;cursor:pointer;flex:none}
.rp__go:active{transform:scale(.97)}
.rp__ok{display:inline-flex;align-items:center;gap:4px;color:#1d6b3a;font-weight:800;font-size:15px;flex:none}
.rp__ok svg{width:18px;height:18px;stroke-width:2.6}
.rp__undo{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 10px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;flex:none;min-height:40px}
.rp.is-in .rp__n{color:#1d6b3a}
.rg__all{width:100%;font-size:16px;padding:14px;border-radius:13px;background:#1d6b3a}
.rg__all svg{stroke-width:2.6}
.rc__xbtn{justify-self:start}
.rc__xf{display:grid;gap:10px;border:1px dashed #cfccc3;border-radius:16px;padding:14px;background:#fbfaf7}
.rc__mesas .rc__mb{display:grid;gap:6px;padding:0 16px 16px}
.rcm{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:14px;align-items:center}
.rcm span{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}
.rcm i{grid-column:1/-1;height:6px;border-radius:99px;background:linear-gradient(90deg,#1fa855 var(--p),#eceae4 var(--p))}
.rc__link{display:grid;gap:8px;justify-items:start;background:#fbfaf7;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:14px;color:var(--muted)}
.rc__link b{color:var(--ink)}
.rc__off{font-size:13px}
.is-recep .intro,.is-recep .modes{display:none}
.is-recep .wrap{padding-top:16px}

/* organizador */
.wl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,470px),1fr));gap:14px}
.wc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:14px;align-content:start}
.wc__h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.wc__h h3{font-size:24px;letter-spacing:-.025em;line-height:1.1}
.wc__h p{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:14px;color:var(--muted);margin-top:4px}
.wc__h p svg{width:16px;height:16px}
.wc__h p b{color:var(--ink)}
.wc__tag{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#f1efe9;color:var(--muted);border-radius:99px;padding:4px 9px;white-space:nowrap}
.wc__n{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wc__n > div{background:#f6f5f0;border-radius:12px;padding:10px 11px;display:grid;gap:2px;align-content:start}
.wc__n b{font-size:24px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.wc__n b small{font-size:14px;color:var(--muted);font-weight:600}
.wc__n b.ok{color:#1d6b3a}.wc__n b.q{color:var(--q)}
.wc__n span{font-size:12px;color:var(--muted);font-weight:600;line-height:1.25}
.wc__pz{font-size:13.5px;color:var(--muted)}
.wc__a{display:flex;flex-wrap:wrap;gap:6px}
.onew{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
.onew .btn{justify-self:start}
.onew__ok{display:grid;gap:10px;background:#eef7f1;border:1px solid #cde9d6;border-radius:14px;padding:14px;font-size:14.5px}
.onew__l{display:flex;flex-wrap:wrap;gap:8px}
.onew__l input{flex:1;min-width:200px;border:1px solid var(--line);border-radius:99px;padding:9px 14px;font-size:14px;background:#fff}
.is-org .modes{display:none}

@media (max-width:1060px){
  .mgrid{grid-template-columns:260px minmax(0,1fr)}
  .exp{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .modes{top:58px;padding:4px;border-radius:16px}
  .modes button{flex-direction:column;gap:3px;padding:8px 2px;font-size:12px;border-radius:12px}
  .modes button svg{width:20px;height:20px}
  .mgrid,.hall__help,.only-wide{display:none}
  .only-narrow{display:block}
  .mlist{display:grid;gap:10px}
  .ml__f{display:grid;gap:8px}
  .ml__sem{border:1px solid var(--line);border-radius:16px;background:#fbfaf7;padding:10px;display:grid;gap:6px}
  .ml__h{font-weight:700;font-size:14px;display:flex;justify-content:space-between}
  .ml__h b{background:var(--ink);color:var(--gold);border-radius:99px;padding:0 9px;font-size:13px}
  .ml__r{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 9px}
  .ml__n{flex:1;min-width:0;display:grid;line-height:1.25}
  .ml__n b{font-size:14.5px;overflow-wrap:anywhere}
  .ml__n small{font-size:12px;color:var(--muted)}
  .ml__r select{max-width:118px;font-size:13px;padding:7px 6px}
  .ml__m{border:1px solid var(--line);border-radius:16px;background:#fff}
  .ml__m summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;cursor:pointer}
  .ml__m summary::-webkit-details-marker{display:none}
  .ml__mt{display:flex;align-items:center;gap:8px;min-width:0}
  .ml__mt b{font-size:16px}
  .ml__w{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;color:#9a4f0c;background:#fff1e3;border-radius:99px;padding:2px 7px}
  .ml__w svg{width:13px;height:13px}
  .ml__c{font-weight:800;font-variant-numeric:tabular-nums;background:#f1efe9;border-radius:99px;padding:3px 10px;font-size:14px}
  .ml__m.is-full .ml__c{background:#fff4cc;color:#7a5b00}
  .ml__m.is-over{border-color:#f0b7ae}.ml__m.is-over .ml__c{background:#fdeeec;color:var(--red)}
  .ml__b{display:grid;gap:8px;padding:0 10px 12px}
  .ml__g{display:grid;gap:4px}
  .ml__r--g{background:#fbfaf7}
  .ml__p{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px;padding:3px 4px 3px 26px}
  .ml__p select{max-width:118px}
  .ml__ed{display:grid;grid-template-columns:1fr 84px;gap:8px;align-items:end;border-top:1px solid var(--line);padding-top:10px}
  .ml__ed .fld input{padding:9px 10px;font-size:15px}
  .ml__ed .btn{grid-column:1/-1;justify-self:start}
  .mtools,.mtools__add,.mtools__auto{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .mtools{grid-template-columns:1fr}
  .mtools .btn{justify-content:flex-start;white-space:normal;text-align:left;line-height:1.2}
  .dates,.onew{grid-template-columns:1fr}
  .wc__n{grid-template-columns:repeat(2,1fr)}
  .rgx select{min-width:0;width:100%}
  .rgx span{display:none}
  .lem__prev iframe{height:560px}
  .rc{padding:14px;border-radius:18px}
  .rc__count > b{font-size:44px}
  .rp__go{padding:12px 16px}
  .card__h .sync{margin-left:0;width:100%}
}
@media (max-width:400px){
  .exp{grid-template-columns:1fr 1fr;gap:8px}
  .expb{padding:12px}
  .rp__n{font-size:15.5px}
}

/* impressão (mapa, listas e plaquinhas) */
.print-area{display:none}
@page{margin:14mm}
@page land{size:A4 landscape;margin:10mm}
@media print{
  body.is-printing{background:#fff}
  body.is-printing > *:not(.print-area){display:none!important}
  body.is-printing .print-area{display:block;color:#111;font:400 11pt/1.45 var(--font)}
  .pa--land{page:land}
  .ph{margin-bottom:14px;border-bottom:1.5px solid #111;padding-bottom:8px}
  .ph__k{font-size:10pt;text-transform:uppercase;letter-spacing:.12em;color:#555}
  .ph h1{font:400 30pt/1.05 var(--serif)}
  .ph__s{font-size:11pt;color:#444}
  .hall--print{width:940px;max-width:100%;border-color:#bbb;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .hall--print .mt{cursor:default}
  .hall--print .mt__b{box-shadow:none}
  .pmap{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px;font-size:10pt}
  .pbs{columns:2;column-gap:28px}
  .pb{break-inside:avoid;margin-bottom:14px}
  .pb h2{font:600 13pt var(--font);border-bottom:1px solid #999;padding-bottom:3px}
  .pb h2 small{font-weight:400;font-size:10pt;color:#555}
  .pb__r{font-size:10pt;font-weight:700;margin:4px 0}
  .pb ol{padding-left:20px;font-size:10.5pt}
  .pb strong{font-weight:800}
  .pa2{list-style:none;columns:2;column-gap:32px;font-size:11pt}
  .pa2 li{display:flex;align-items:baseline;gap:6px;break-inside:avoid;padding:2px 0}
  .pa2 i{flex:1;border-bottom:1px dotted #999}
  .pa2 b{font-weight:700;white-space:nowrap}
  .plq{page:land;height:186mm;display:grid;grid-template-rows:1fr 1fr;break-after:page;border:1px dashed #bbb}
  .plq__h{display:grid;place-content:center;text-align:center;gap:4px}
  .plq__h--up{transform:rotate(180deg);border-bottom:1px dashed #bbb}
  .plq__k{font:italic 400 18pt var(--serif);color:#444}
  .plq__n{font:400 64pt/1 var(--serif);letter-spacing:-.01em}
  .plq__d{font-size:10pt;letter-spacing:.2em;text-transform:uppercase;color:#666}
}
/* nunca uma palavra sozinha na última linha */
.view h1,.view h2,.view h3,.expb b,.expb small,.gc__t b,.ml__n b,.md__gh b,.rg__h b,.lr__t b,.rr__h b{text-wrap:balance}
.view p,.view small,.view span,.card__sub,.help,.rr__rec,.md__w span,.rgr span,.pz{text-wrap:pretty}

/* v3.1 · zoom do salão e tamanho de cada mesa/pista */
.hallvp{position:relative;width:100%;aspect-ratio:16/10;border-radius:18px;border:1px solid #e3ddcc;background:#efeadc;overflow:hidden;touch-action:none;cursor:default}
.hallvp.is-zoom{cursor:grab}
.hallvp.is-panning{cursor:grabbing}
.hallvp .hall{border:0;border-radius:0;transform-origin:0 0;will-change:transform;position:absolute;left:0;top:0;overflow:visible}
.zoomui{position:absolute;right:10px;top:10px;z-index:5;display:flex;align-items:center;gap:2px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:3px;box-shadow:0 6px 18px rgba(11,11,14,.12)}
.zoomui button{border:0;background:none;height:32px;min-width:32px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:var(--ink);font-weight:650;font-size:12.5px;padding:0 8px}
.zoomui button:hover{background:#f1efe9}
.zoomui button svg{width:16px;height:16px}
.zoomui__v{font-size:12.5px;font-weight:700;min-width:42px;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted)}
.zoomui__fit{border-left:1px solid var(--line)!important;border-radius:0 99px 99px 0!important}
.mt__rs{position:absolute;right:-7px;bottom:-7px;width:16px;height:16px;border-radius:50%;background:var(--gold);border:2px solid var(--ink);cursor:nwse-resize;z-index:3;box-shadow:0 2px 6px rgba(11,11,14,.25);touch-action:none}
.mt--redonda .mt__rs{right:2%;bottom:2%}
.mt__rs::after{content:"";position:absolute;inset:-10px}
.szs{display:grid;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 10px}
.sz__t{font-size:12.5px;font-weight:700;color:var(--muted)}
.sz{display:flex;align-items:center;gap:6px;font-size:13.5px}
.sz span{flex:1;font-weight:600}
.sz b{min-width:38px;text-align:center;font-variant-numeric:tabular-nums}
.szb{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fbfaf7;font-size:17px;font-weight:700;cursor:pointer;line-height:1;color:var(--ink)}
.szb:hover{border-color:var(--ink)}
.sz__r{justify-self:start;font-size:12.5px;color:var(--muted)}

/* v3.2 · tamanho do salão (área do evento) */
.salc{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:#fff8dc;border:1px solid #f1dd9a;border-radius:14px;padding:9px 12px}
.salc__t{display:inline-flex;align-items:center;gap:7px;font-weight:750;font-size:14.5px}
.salc__t svg{width:19px;height:19px;color:var(--gold2)}
.salc__g{display:inline-flex;align-items:center;gap:6px;font-size:14px}
.salc__g small{font-size:12.5px;font-weight:650;color:var(--muted);margin-right:2px}
.salc__g b{min-width:62px;text-align:center;font-variant-numeric:tabular-nums}
.salc__g button{width:32px;height:32px;border-radius:50%;border:1px solid var(--ink);background:#fff;font-size:18px;font-weight:700;cursor:pointer;line-height:1;color:var(--ink)}
.salc__g button:hover{background:var(--ink);color:#fff}
.salc__h{font-size:12.5px;color:var(--muted)}
.hallvp .hall{box-shadow:0 0 0 1px #d8cfb6,0 10px 30px rgba(11,11,14,.08)}
.hall__edge{position:absolute;z-index:4;touch-action:none}
.hall__edge--r{top:0;right:-7px;width:14px;height:100%;cursor:ew-resize;background:linear-gradient(90deg,transparent 5px,#b9ae8e 5px,#b9ae8e 9px,transparent 9px);background-size:100% 14px;opacity:.55}
.hall__edge--b{left:0;bottom:-7px;height:14px;width:100%;cursor:ns-resize;background:linear-gradient(180deg,transparent 5px,#b9ae8e 5px,#b9ae8e 9px,transparent 9px);background-size:14px 100%;opacity:.55}
.hall__edge--r:hover,.hall__edge--b:hover{opacity:1}
.hall__edge--c{right:-11px;bottom:-11px;width:22px;height:22px;border-radius:6px;background:var(--gold);border:2px solid var(--ink);cursor:nwse-resize;z-index:5}

/* =====================================================================
   v3.3 · celular: compacto e elegante (360–430 px) + bottom sheets
   ===================================================================== */
.ic--more{display:none}
/* bottom sheet */
.sheet{position:fixed;inset:0;z-index:80}
.sheet__bg{position:absolute;inset:0;background:rgba(11,11,14,.42);opacity:0;transition:opacity .2s}
.sheet__box{position:absolute;left:0;right:0;bottom:0;margin:0 auto;width:min(560px,100%);max-height:86dvh;display:flex;flex-direction:column;background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -10px 40px rgba(11,11,14,.18);padding:0 14px calc(14px + env(safe-area-inset-bottom,0px));transform:translateY(100%);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.sheet.is-on .sheet__bg{opacity:1}
.sheet.is-on .sheet__box{transform:translateY(0)}
.sheet--tall .sheet__box{height:86dvh}
.sheet__grab{width:38px;height:4px;border-radius:99px;background:#d6d3cb;margin:8px auto 2px;flex:none}
.sheet__h{display:flex;align-items:center;gap:10px;padding:4px 0 10px;flex:none;touch-action:none}
.sheet__h b{flex:1;font-size:16px;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sheet__x{width:36px;height:36px;border-radius:50%;border:0;background:#f1efe9;font-size:22px;line-height:1;cursor:pointer;color:var(--ink);flex:none}
.sheet__c{overflow:auto;display:grid;gap:12px;align-content:start;min-height:0;flex:1;overscroll-behavior:contain}
html.sheet-open,html.sheet-open body{overflow:hidden}
.shf{display:grid;gap:10px}
.shf .fld select,.shf .fld input{padding:10px 12px;font-size:16px}
.sha{display:grid;gap:6px}
.sha__b{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:14.5px;font-weight:600;color:var(--ink);text-decoration:none;cursor:pointer;text-align:left}
.sha__b svg{width:18px;height:18px;flex:none}
.sha__b--go{background:var(--ink);border-color:var(--ink);color:#fff}
.sha__b--del{color:var(--red)}
.sha__b:disabled{opacity:.4}
.mvl{display:grid;gap:6px}
.mvl__i{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14.5px;cursor:pointer;color:var(--ink)}
.mvl__i span{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.mvl__i.is-cur{border-color:var(--ink);background:#fffbe9}
.mvl__i.is-full span{color:var(--red)}
.mm{overflow:auto;flex:1;min-height:240px;max-height:calc(86dvh - 120px);border-radius:12px;background:#efeadc;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.mm__s{position:relative}
.hall--mini{position:absolute;left:0;top:0;aspect-ratio:auto;border:0;border-radius:0;overflow:visible}
.hall--mini .mt{cursor:default}
.mm__h{font-size:12.5px}
.sh__frame{width:100%;height:calc(86dvh - 130px);border:0;border-radius:12px;background:#f4f3ef}
.mvb{flex:none;border:1px solid var(--line);background:#fbfaf7;border-radius:99px;padding:7px 12px;font-size:12.5px;font-weight:650;color:var(--ink);cursor:pointer;min-height:34px}
.mvb--s{padding:5px 10px;min-height:30px;font-size:12px}
.ml__map{width:100%;justify-content:center}
.rc__head{display:grid;gap:12px}

@media (max-width:640px){
  body{font-size:14.5px}
  .bar{padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top,0px));gap:8px}
  .bar__logo img{height:24px}
  .bar__back{font-size:0;padding:7px;gap:0}
  .bar__back svg{width:18px;height:18px}
  .bar__couple{font-size:13px}
  .wrap{width:calc(100% - 20px);padding-block:12px calc(92px + env(safe-area-inset-bottom,0px));gap:12px}
  /* abas viram barra fixa embaixo, ao alcance do polegar */
  .modes{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;border-radius:16px 16px 0 0;border-width:1px 0 0;padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px));gap:4px;box-shadow:0 -6px 24px rgba(11,11,14,.08)}
  .modes button{flex-direction:column;gap:2px;padding:6px 2px;font-size:11px;border-radius:12px;font-weight:650}
  .modes button svg{width:20px;height:20px}
  .modes button.is-on{background:#f6f3e6;color:var(--ink)}
  .modes button.is-on svg{color:var(--gold2)}
  .has-modes .toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  /* topo e passo a passo */
  .intro h1{font-size:24px;line-height:1.08}
  .intro p{font-size:13.5px;margin-top:6px}
  .steps{gap:6px}
  .steps li{flex-direction:row;align-items:center;gap:7px;padding:7px 8px;border-radius:12px}
  .steps__n{width:24px;height:24px;font-size:12px}
  .steps li b{font-size:12.5px}
  .steps li.is-done .steps__n::after{font-size:12px}
  /* cartões */
  .card{padding:14px 12px;border-radius:16px;gap:12px}
  .card__h{gap:10px}
  .card__h > div{min-width:0}
  .card__h h2{font-size:17.5px}
  .card__sub{font-size:13px;line-height:1.4}
  .num{width:26px;height:26px;font-size:12px}
  .num--ic svg{width:14px;height:14px}
  .btn{font-size:13.5px;padding:9px 13px}
  .btn--sm{font-size:12.5px;padding:7px 11px}
  .btn svg{width:15px;height:15px}
  .tab{font-size:12px;padding:8px 8px}
  .drop{min-height:140px;padding:18px 12px}
  .drop svg{width:34px;height:34px}
  .drop b{font-size:16px}
  .howto{padding:12px}
  .fld{font-size:12.5px}
  .fld input,.fld textarea,.fld select{font-size:16px;padding:9px 11px;border-radius:10px}
  .help{font-size:12.5px}
  /* números em grade compacta */
  .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .stat{padding:7px 9px;font-size:11.5px;border-radius:10px;line-height:1.25}
  .stat b{font-size:18px}
  .card__h .sync{font-size:12px}
  #refresh{order:3}
  /* lista: linha compacta (nome · pessoas · ⋯) + status embaixo */
  .tbl{gap:5px}
  .g{grid-template-columns:minmax(0,1fr) 52px 36px;grid-template-areas:"name ppl act" "st st st";gap:2px 6px;padding:6px 6px 6px 8px;border-radius:12px;align-items:center}
  .g__n,.g__gen,.g__mail{display:none!important}
  .g__name{grid-area:name}.g__ppl{grid-area:ppl}.g__act{grid-area:act}.g__st{grid-area:st}
  .g__name input{font-size:15px;padding:6px 6px}
  .g__ppl{display:flex;align-items:center;gap:2px}
  .g__ppl::before{content:"";width:14px;height:14px;flex:none;background:var(--muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0z'/%3E%3C/svg%3E") center/contain no-repeat}
  .g__ppl input{width:34px!important;padding:6px 2px;font-size:15px;text-align:center!important}
  .g__act{margin:0;justify-content:flex-end}
  .g__act .ic{display:none}
  .g__act .ic--more{display:inline-flex;width:36px;height:36px;padding:0;border-radius:10px}
  .g__st{padding-left:6px;min-height:0}
  .g__st:empty{display:none}
  .st{font-size:11px;padding:2px 8px}
  .tools{gap:6px}
  .review{padding:10px 12px;gap:8px}
  .review p{font-size:12.5px}
  /* enviar */
  .btn--lg{padding:12px 14px;font-size:14.5px}
  .mailbox{padding:12px;gap:8px}
  .mailbox__t p{font-size:13px}
  .mailbox__test input{min-width:0;font-size:16px;padding:8px 12px}
  .custom summary{font-size:14px;padding:12px 14px}
  .phone__t{font-size:11.5px}
  .wa{padding:12px;min-height:120px}
  .wa__msg{font-size:13.5px}
  /* respostas */
  .dates{grid-template-columns:1fr 1fr;gap:8px}
  .pz{font-size:13px;padding:9px 11px}
  .buf{grid-template-columns:1fr 1fr;gap:6px}
  .bn{padding:10px 12px;border-radius:12px}
  .bn b{font-size:24px}
  .bn span{font-size:12px}
  .rchip{font-size:12.5px;padding:4px 10px}
  .rchip b{font-size:14px}
  .buf__al{font-size:12.5px}
  .fchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-12px;padding-inline:12px}
  .fchips::-webkit-scrollbar{display:none}
  .fchip{white-space:nowrap;font-size:12.5px;padding:7px 11px}
  .lem{max-height:320px;gap:5px}
  .lr{padding:8px 10px;gap:10px;border-radius:11px}
  .lr__t b{font-size:14px}
  .lr__t small{font-size:12px}
  .lr .ic{font-size:12px;height:32px;padding:0 8px}
  .lem__act{gap:6px}
  .lem__all{width:100%;font-size:13px}
  .rr{padding:10px 12px;gap:6px}
  .rr__h b{font-size:14.5px}
  .pp{font-size:12.5px;padding:3px 9px}
  .rr__rec{font-size:15.5px}
  /* mesas */
  .mtools{gap:6px}
  .mtools__add{grid-template-columns:1fr 1fr;gap:6px}
  .mtools__auto{grid-template-columns:1fr;gap:6px}
  .mtools .btn{padding:8px 10px;font-size:12.5px;justify-content:center}
  .ml__f{gap:6px}
  .ml__f .tchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-12px;padding-inline:12px}
  .ml__f .tchips::-webkit-scrollbar{display:none}
  .tchips button{white-space:nowrap}
  .ml__sem{padding:8px;border-radius:14px}
  .ml__r{padding:6px 8px;border-radius:11px}
  .ml__n b{font-size:14px}
  .ml__m{border-radius:14px}
  .ml__m summary{padding:11px 12px}
  .ml__mt b{font-size:15px}
  .ml__c{font-size:13px;padding:2px 9px}
  .ml__b{padding:0 8px 10px}
  .ml__p{padding:2px 2px 2px 22px;font-size:13px;min-height:34px}
  .rgx{display:grid;grid-template-columns:1fr;gap:6px}
  .rgx select{font-size:15px;padding:9px 10px}
  .rgr{font-size:13px;padding:8px 10px}
  .exp{grid-template-columns:1fr 1fr;gap:6px}
  .expb{padding:10px;border-radius:12px}
  .expb svg{width:20px;height:20px;margin-bottom:2px}
  .expb b{font-size:13.5px}
  .expb small{font-size:11.5px}
  .tleg{font-size:12.5px}
  .tagleg{gap:8px}
  /* recepção: cabeçalho fixo com contador e busca */
  .rc{padding:0 12px 12px;border-radius:16px;gap:10px}
  .rc__head{position:sticky;top:calc(40px + env(safe-area-inset-top,0px));z-index:6;background:#fff;margin:0 -12px;padding:10px 12px 10px;border-radius:16px 16px 0 0;gap:8px;box-shadow:0 8px 14px -12px rgba(11,11,14,.25)}
  .rc__top{flex-wrap:nowrap}
  .rc__count{gap:8px}
  .rc__count > b{font-size:30px}
  .rc__count span{font-size:12.5px}
  .rc__net{font-size:11.5px;padding:4px 9px}
  .rc .prog__bar{height:6px}
  .rc__q{font-size:17px;padding:11px 12px 11px 42px;border-radius:13px}
  .rc__qw svg{left:13px;width:19px;height:19px}
  .rc__hint{font-size:12.5px}
  .rg{padding:10px 12px;border-radius:14px;gap:4px}
  .rg__h b{font-size:16px}
  .rg__st{font-size:12px}
  .rc__mesa{font-size:13px;padding:4px 9px;border-radius:8px}
  .rp{min-height:46px;padding-top:6px;gap:6px}
  .rp__n{font-size:15px}
  .rp__go{font-size:14.5px;padding:9px 16px;min-height:40px;border-radius:11px}
  .rp__undo{font-size:12px;padding:7px 9px;min-height:36px}
  .rp__ok{font-size:13.5px}
  .rg__all{font-size:14px;padding:10px;border-radius:11px}
  .rc__link{padding:10px 12px;font-size:13px}
  .rc__off{font-size:12px}
  /* organizador */
  .wl{gap:10px}
  .wc{padding:14px 12px;gap:10px;border-radius:16px}
  .wc__h h3{font-size:18px}
  .wc__h p{font-size:12.5px}
  .wc__tag{font-size:10px;padding:3px 7px}
  .wc__n{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .wc__n > div{padding:7px 7px;border-radius:10px}
  .wc__n b{font-size:17px}
  .wc__n b small{font-size:11px}
  .wc__n span{font-size:10.5px}
  .wc__pz{font-size:12px}
  .wc__a{gap:5px}
  .wc__a .btn{padding:7px 10px;font-size:12px}
  .onew{gap:8px}
  .privacy{font-size:12px}
}
@media (max-width:380px){
  .wc__n{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps li b{font-size:11.5px}
  .modes button{font-size:10.5px}
}
.gsearch{position:relative;display:flex;align-items:center}
.gsearch svg{position:absolute;left:12px;width:17px;height:17px;color:var(--muted);pointer-events:none}
.gsearch input{width:100%;border:1px solid var(--line);border-radius:99px;padding:9px 40px 9px 36px;font-size:15px;background:#fbfaf7;outline:0}
.gsearch input:focus{border-color:var(--ink);background:#fff}
.gsearch span{position:absolute;right:14px;font-size:12px;font-weight:700;color:var(--muted)}
.only-s{display:none}
@media (max-width:640px){
  .only-l{display:none}.only-s{display:inline}
  .gsearch{position:sticky;top:calc(40px + env(safe-area-inset-top,0px));z-index:5;background:#fff;margin:0 -12px;padding:6px 12px;box-shadow:0 8px 12px -12px rgba(11,11,14,.3)}
  .gsearch svg{left:24px}
  .gsearch span{right:26px}
  .gsearch input{font-size:16px;padding:8px 40px 8px 36px}
  .g{padding:4px 5px 4px 7px}
  .g__name input{padding:5px 6px}
  .howto .ex,.howto__t{display:none}
  .howto{gap:8px}
  .wc__a{display:grid;grid-template-columns:1.3fr 1fr 1fr}
  .wc__a .btn{justify-content:center;padding:8px 6px}
}
.mm{min-height:0;flex:none}
.hall--mini .mt__b b{max-width:none;font-size:clamp(7.5px,calc(var(--u)*1.35),13px)}
.hall--mini .mt__b small{font-size:clamp(7px,calc(var(--u)*1.2),12px)}
.privacy,.intro p{text-wrap:pretty}
@media (min-width:1061px){
  .g{grid-template-columns:24px minmax(160px,1.5fr) 158px 62px minmax(120px,1fr) var(--stw,0px) 366px}
  .is-cloud .g{grid-template-columns:24px minmax(120px,1.4fr) 146px 56px minmax(90px,1fr) 96px 366px}
}

/* =====================================================================
   v4 · faixas do buffet, transfer, lembretes automáticos, biblioteca, QR, cerimonialista
   ===================================================================== */
.bcat{display:grid;gap:4px;border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.bcat__r{display:grid;grid-template-columns:minmax(0,1fr) 40px 112px;align-items:center;gap:8px;font-size:14px;min-height:36px;border-top:1px dashed var(--line)}
.bcat__r:first-of-type{border-top:0}
.bcat__r b{text-align:right;font-variant-numeric:tabular-nums}
.bcat__r select{font-size:13.5px;border:1px solid var(--line);border-radius:9px;padding:6px 8px;background:#fbfaf7;cursor:pointer}
.bwarn{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;background:#fff6ec;border:1px solid #f7c99a;color:#7a4a17;border-radius:12px;padding:10px 12px}
.bwarn svg{width:18px;height:18px;flex:none}
.trp{display:grid;gap:6px}
.trp__i{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:14px}
.trp__i span{display:flex;align-items:center;gap:7px;min-width:0}
.trp__i svg{width:16px;height:16px;color:var(--gold2);flex:none}
.trp__i small{color:var(--muted);font-weight:600}
.trn{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:8px}
.trn input{border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:15px;background:#fbfaf7;min-width:0}
.trr{display:grid;gap:6px}
.trr__i{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;background:#f6f5f0;border-radius:12px;padding:9px 12px;font-size:14px}
.trr__i p{grid-column:1/-1;font-size:12.5px;color:var(--muted)}
.trr__n{font-weight:700}
.auto{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:14px}
.tgl--big{font-size:15px}
.tgl--big b{font-weight:750}
.auto__dias{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.auto__dias input{width:120px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:15px;color:var(--ink)}
.auto:not(.is-on) .auto__dias{opacity:.55}
.auto__next{display:flex;gap:8px;align-items:flex-start;font-size:14px;background:#f6f5f0;border-radius:12px;padding:10px 12px}
.auto.is-on .auto__next{background:#eef7f1;color:#145430}
.auto__next svg{width:17px;height:17px;flex:none;margin-top:1px}
.hist{display:flex;gap:10px;font-size:13px;padding:5px 0;border-top:1px dashed var(--line)}
.hist b{min-width:52px}
.tpls{display:flex;flex-wrap:wrap;gap:6px}
.bib{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}
.bib__l,.bib__r{display:grid;gap:10px;min-width:0}
.bib__r .wa{min-height:150px}
.bib__mail{display:grid;gap:8px;background:#fbfaf7;border:1px solid var(--line);border-radius:14px;padding:12px}
#bibSend.is-sure{background:var(--red)}
.rc__qrbtn{justify-self:start}
.scan{position:relative;border-radius:14px;overflow:hidden;background:#000;aspect-ratio:3/4;max-height:62dvh;width:100%}
.scan video{width:100%;height:100%;object-fit:cover;display:block}
.scan__f{position:absolute;inset:18% 14%;border:3px solid var(--gold);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}
.scan__s{text-align:center}
.otabs{display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:4px;justify-self:start;max-width:100%;overflow-x:auto}
.otabs button{border:0;background:none;border-radius:99px;padding:8px 14px;font-weight:650;font-size:14px;color:var(--muted);cursor:pointer;white-space:nowrap}
.otabs button.is-on{background:var(--ink);color:#fff}
.otabs b{background:var(--gold);color:var(--ink);border-radius:99px;padding:0 7px;font-size:12px;margin-left:4px}
.otabs b:empty{display:none}
.opane{display:grid;gap:14px}
.ind{display:grid;gap:8px}
.indi{border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:grid;gap:3px;font-size:14px}
.indi__h{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.indi a{color:var(--ink);font-weight:600}
.indi small{color:var(--muted);font-size:12px}
.perf{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.perf__f{display:grid;gap:10px}
.perf__f .btn{justify-self:start}
.perf__logo{display:flex;gap:12px;align-items:center}
.perf__logo img{width:64px;height:64px;object-fit:contain;border-radius:12px;border:1px solid var(--line);background:#fff}
.perf__logo > div{display:grid;gap:6px;flex:1;min-width:0}
.perf__logo input{border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:13.5px;min-width:0}
.perf__logo label{justify-self:start}
.perf__logo .lnk{justify-self:start;font-size:12.5px;color:var(--muted)}
.ccard{display:grid;justify-items:center;text-align:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 18px;box-shadow:0 14px 34px rgba(11,11,14,.08)}
.ccard__logo{max-width:120px;max-height:72px;object-fit:contain}
.ccard__k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ccard__n{font-size:20px;letter-spacing:-.02em}
.ccard__f{font-size:14px;color:var(--muted);max-width:32ch;text-wrap:balance}
.ccard__a{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px}
.ccard__a a{border:1px solid var(--line);border-radius:99px;padding:7px 13px;font-size:13px;font-weight:650;color:var(--ink);text-decoration:none}
.ccard__a a:first-child{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:1060px){.bib,.perf{grid-template-columns:1fr}}
@media (max-width:640px){
  .bcat{padding:8px 10px}
  .bcat__r{grid-template-columns:minmax(0,1fr) 30px 98px;font-size:13px;gap:6px}
  .bcat__r select{font-size:13px;padding:5px 6px}
  .trn{grid-template-columns:1fr 92px}
  .trn .btn{grid-column:1/-1;justify-self:start}
  .trn input{font-size:16px}
  .auto__dias input{font-size:16px;width:100px}
  .tpls{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-12px;padding-inline:12px}
  .tpls::-webkit-scrollbar{display:none}
  .tpls .fchip{white-space:nowrap}
  .otabs{justify-self:stretch}
  .otabs button{flex:1;padding:7px 8px;font-size:13px}
}
@media print{
  .pqr{display:grid;grid-template-columns:repeat(3,1fr);gap:8mm}
  .pqr__i{break-inside:avoid;display:grid;justify-items:center;gap:2mm;border:1px dashed #bbb;border-radius:3mm;padding:4mm;text-align:center}
  .pqr__i svg{width:38mm;height:38mm}
  .pqr__i b{font-size:11pt}
  .pqr__i span{font-size:9pt;color:#555}
  .chk{float:right;font-size:13pt}
}
.custom summary{text-wrap:balance}

/* ===== aba "Comissões" do organizador (programa de parceiras, convidados-parceira.js) ===== */
.com__link{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.com__l{display:grid;gap:8px;min-width:0}
.com__lbl{font-weight:700;font-size:14.5px}
.com__qr{display:grid;justify-items:center;gap:6px}
.com__qr #comQr{width:132px;height:132px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px}
.com__qr svg{width:100%;height:100%;display:block}
.com__n{margin-top:4px}
.com__n b{font-size:26px}
.com__regra{margin-top:6px;font-size:14.5px;color:var(--muted);text-wrap:pretty}
.com__regra b{color:var(--ink)}
.com__v{display:grid;gap:6px}
.com__mat{display:grid;gap:10px;margin-top:4px}
.com__t{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;background:#f6f5f0;border-radius:14px;padding:12px 14px}
.com__t > div{min-width:0}
.com__t b{font-size:14px}
.com__t p{font-size:14px;color:var(--muted);margin-top:4px;text-wrap:pretty;white-space:pre-line;overflow-wrap:anywhere}
@media (max-width:640px){
  .com__link{grid-template-columns:1fr}
  .com__qr{justify-items:start;grid-template-columns:auto 1fr;align-items:center}
  .com__qr #comQr{width:104px;height:104px}
  .com__n{grid-template-columns:1fr 1fr}
  .com__t{flex-direction:column}
}
/* 4 abas do organizador (com "Comissões") no celular estreito: grade 2 × 2 em vez de cortar a última */
@media (max-width:440px){
  .otabs{display:grid;grid-template-columns:1fr 1fr;border-radius:18px;overflow:visible}
  .otabs button{border-radius:14px}
}

/* 23/out · painel mais limpo com a lista montada (convidados-ux.js) */
.ux-abrir{display:none;margin-left:auto;align-self:center}
.ux-tem-lista .view[data-view="lista"] > .intro,
.ux-tem-lista .view[data-view="lista"] > .steps{display:none}
.ux-tem-lista #lista .ux-abrir{display:inline-flex}
.ux-tem-lista #lista{padding-top:16px;padding-bottom:16px}
.ux-tem-lista #lista:not(.ux-aberto) > :not(.card__h){display:none}
.ux-tem-lista #lista .card__h{margin-bottom:0;align-items:center}
.ux-tem-lista #lista.ux-aberto .card__h{margin-bottom:18px}
.ux-tem-lista #enviar{order:-1}
.ux-tem-lista .view[data-view="lista"] .card__h > .num{display:none}

/* lugares 3D (02/nov/2026) */
.l3d .card__h{flex-wrap:wrap}
.l3d__tela{margin-left:auto;font-weight:650;font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.l3d__f{margin-top:14px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#f3efe6;height:max(560px,calc(100vh - 230px))}
.l3d__f iframe{display:block;width:100%;height:100%;border:0}
@media (max-width:640px){.l3d__f{height:82vh;margin-inline:-6px}.l3d__tela{margin:6px auto 0}.l3d .card__h{text-align:center;justify-content:center}}

/* iOS: campo de data respeita a largura do contêiner */
input[type=date],input[type=time],input[type=datetime-local]{max-width:100%;min-width:0;-webkit-appearance:none;appearance:none;min-height:44px}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:inherit;margin:0}
