:root{--ink:#19152c;--muted:#706b80;--purple:#7251c7;--purple2:#a56fe8;--green:#238b68;--paper:#fff;--line:#e8e5ef;--shadow:0 20px 60px rgba(36,25,68,.13);--dream-speed:2.8s}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f7f3ff,#f6f7fb 42%,#edf1f6);min-height:100vh}.shell{width:min(1120px,100%);margin:auto;padding:22px}.hidden{display:none!important}button,input,textarea{font:inherit}.state-card,.login-screen{min-height:calc(100vh - 44px);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.state-card{display:grid;place-items:center;align-content:center;text-align:center;gap:10px;padding:40px}.state-card h1,.state-card p{margin:0}.state-card p{color:var(--muted)}.spinner{width:52px;height:52px;border:4px solid #e7ddff;border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.state-icon,.success-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;font-size:42px;font-weight:900;background:#fff1f2;color:#d74755}.success-icon{background:#e9fbf3;color:var(--green)}.soft-button{border:0;border-radius:12px;padding:12px 18px;background:#eee9fa;color:var(--purple);font-weight:800;cursor:pointer}.login-screen{display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;background:linear-gradient(135deg,#211641,#5c3c9e)}.login-brand{padding:70px;display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 20% 20%,rgba(196,150,255,.35),transparent 35%),radial-gradient(circle at 90% 80%,rgba(244,114,182,.22),transparent 35%)}.login-brand span,.brand-mark{font-size:11px;letter-spacing:.24em;font-weight:900}.login-brand h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,76px);line-height:1;margin:14px 0}.login-brand p{max-width:480px;font-size:18px;line-height:1.6;color:#e8dcff}.login-card{margin:auto;width:min(410px,calc(100% - 42px));padding:34px;border-radius:24px;background:#fff;box-shadow:0 25px 70px rgba(12,7,29,.3)}.login-card h2{text-align:center;margin:8px 0 24px}.login-icon{font-size:46px;text-align:center}.login-card label{display:grid;gap:7px;margin:14px 0;font-weight:800;font-size:13px}.login-card input,.notes-panel textarea{border:1px solid var(--line);border-radius:12px;padding:14px;outline:none}.login-card input:focus,.notes-panel textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(114,81,199,.12)}.login-card button,.confirm-box button{width:100%;margin-top:10px;border:0;border-radius:13px;padding:15px;background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;font-weight:900;box-shadow:0 12px 25px rgba(114,81,199,.25);cursor:pointer}.login-card button:disabled,.confirm-box button:disabled{opacity:.55}.form-message{min-height:20px;color:#c23545;text-align:center;font-size:13px}.dream-banner{position:relative;min-height:390px;border-radius:30px;overflow:hidden;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,var(--dream-a,#5f46b0),var(--dream-b,#be7de6));background-size:cover;background-position:center;box-shadow:var(--shadow)}.dream-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,32,.08),rgba(23,20,48,.7))}.logout-button{position:absolute;z-index:3;right:18px;top:18px;border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:8px 14px;color:#fff;background:rgba(18,13,41,.34);backdrop-filter:blur(8px);cursor:pointer}.dream-content{position:relative;z-index:1;padding:50px 25px;color:var(--dream-text,#fff);text-shadow:0 3px 16px rgba(0,0,0,.32)}.dream-emoji{display:block;font-size:52px;letter-spacing:12px;margin-bottom:12px}.dream-content p{font-weight:800;text-transform:uppercase;letter-spacing:.18em;margin:0 0 10px;color:var(--dream-title,#fef3c7)}.dream-content h1{font-family:Georgia,serif;font-size:clamp(40px,8vw,78px);line-height:1.02;margin:0;max-width:880px}.party-meta{margin-top:25px;display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.party-meta span{padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(9px);font-size:13px;font-weight:700}.dream-banner[data-animation="FLUTUAR"] .dream-emoji{animation:dreamFloat var(--dream-speed) ease-in-out infinite}.dream-banner[data-animation="PULSAR"] .dream-emoji{animation:dreamPulse var(--dream-speed) ease-in-out infinite}.dream-banner[data-animation="ONDA"] .dream-emoji{animation:dreamWave var(--dream-speed) ease-in-out infinite}.dream-banner[data-animation="BRILHO"] .dream-emoji,.dream-banner[data-animation="CINTILAR"] .dream-emoji{animation:dreamGlow var(--dream-speed) ease-in-out infinite}.dream-banner[data-animation="SUAVE"] .dream-emoji{animation:dreamSoft var(--dream-speed) ease-in-out infinite}.dream-banner[data-animation="SALTAR"] .dream-emoji{animation:dreamJump var(--dream-speed) ease-in-out infinite}.dream-banner[data-animation="ZOOM"] .dream-emoji{animation:dreamZoom var(--dream-speed) ease-in-out infinite}.dream-banner[data-animation="GIRO"] .dream-emoji{animation:dreamTurn var(--dream-speed) ease-in-out infinite}.dream-banner[data-animation="DESLIZAR"] .dream-emoji{animation:dreamSlide var(--dream-speed) ease-in-out infinite}.dream-banner[data-animation="CASCATA"] .dream-emoji{animation:dreamCascade var(--dream-speed) ease-in-out infinite}@keyframes dreamFloat{50%{transform:translateY(-10px)}}@keyframes dreamPulse{50%{transform:scale(1.16)}}@keyframes dreamWave{50%{transform:translate(12px,-8px) rotate(2deg)}}@keyframes dreamGlow{50%{filter:brightness(1.8) drop-shadow(0 0 18px #fff);transform:scale(1.07)}}@keyframes dreamSoft{50%{opacity:.72;transform:translateY(-5px)}}@keyframes dreamJump{45%{transform:translateY(-17px)}60%{transform:translateY(3px)}}@keyframes dreamZoom{50%{transform:scale(1.18)}}@keyframes dreamTurn{50%{transform:rotate(4deg) scale(1.06)}}@keyframes dreamSlide{50%{transform:translateX(18px)}}@keyframes dreamCascade{40%{transform:translateY(-11px);filter:brightness(1.5)}}.welcome{text-align:center;padding:35px 18px 25px}.welcome .brand-mark{color:var(--purple)}.welcome h2{font-size:32px;margin:8px 0}.welcome p{margin:0;color:var(--muted)}.portal-navigation{display:flex;flex-direction:column;gap:12px}.portal-nav-button{width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) auto 30px;align-items:center;gap:13px;padding:17px 19px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 8px 30px rgba(35,26,65,.06);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.portal-nav-button:hover{transform:translateY(-2px);border-color:#cbbbea;box-shadow:0 13px 35px rgba(64,42,110,.11)}.portal-nav-button[aria-expanded="true"]{border-color:var(--purple);box-shadow:0 0 0 3px rgba(114,81,199,.1)}.nav-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#f0eaff;font-size:25px}.portal-nav-button>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.portal-nav-button b{font-size:18px}.portal-nav-button small{color:var(--muted)}.nav-badge{padding:6px 10px;border-radius:999px;background:#f2eff8;color:#615773;font-size:11px;font-weight:900}.nav-badge.attention{background:#fff0cf;color:#8a5b00}.nav-chevron{font-size:26px;transition:transform .35s}.portal-nav-button[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)}.portal-expand{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .46s cubic-bezier(.22,.8,.25,1),opacity .3s}.portal-expand.open{grid-template-rows:1fr;opacity:1}.expand-inner{overflow:hidden}.content-panel{margin:0 5px 7px;padding:24px;border:1px solid var(--line);border-radius:0 0 20px 20px;background:#fff;box-shadow:0 12px 28px rgba(35,26,65,.055)}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.section-heading>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f0eaff;font-size:22px}.section-heading h3,.section-heading p{margin:0}.section-heading p{color:var(--muted);font-size:13px;margin-top:3px}.contract-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contract-category{border:1px solid var(--line);border-radius:14px;padding:14px}.contract-category h4{margin:0 0 9px;color:var(--purple)}.contract-item{display:flex;gap:8px;align-items:center;padding:7px 0;border-top:1px dashed #ece9f1;font-size:13px}.contract-item.gift{color:#805b00}.menu-strip,.comparison-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(235px,1fr);gap:10px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}.menu-summary,.comparison-menu{position:relative;border:1px solid var(--line);border-radius:14px;padding:14px;background:#faf9fc;scroll-snap-align:start}.menu-summary.selected,.comparison-menu.selected{border-color:var(--purple);background:#f8f4ff}.menu-summary h4{margin:5px 0}.menu-summary p{min-height:36px;margin:0 0 8px;color:var(--muted);font-size:12px}.menu-summary small{font-weight:800;color:#4e465e}.selected-chip{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--purple);color:#fff;font-size:9px;font-weight:900;text-transform:uppercase}.comparison-category{margin-top:18px}.comparison-category>h4{margin:0 0 8px;font-size:18px}.comparison-menu>b{color:var(--purple)}.comparison-menu ul{margin:9px 0 0;padding-left:18px}.comparison-menu li{padding:3px 0;font-size:12px}.not-included{color:#aaa3b4;font-size:12px}.pending-topic{margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfafd}.topic-title{display:flex;align-items:center;gap:11px}.topic-title>span{font-size:25px}.topic-title>div{flex:1}.topic-title h4,.topic-title p{margin:0}.topic-title p{color:var(--muted);font-size:12px}.topic-title>b{padding:5px 9px;border-radius:999px;background:#eeeaf4;color:#7f758c;font-size:10px}.pending-topic.preparing{border-style:dashed}.choice-panel{margin-top:14px;padding:15px;border-radius:13px;background:#fff;border:1px solid var(--line)}.choice-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.choice-title h4,.choice-title p{margin:0}.choice-title p{margin-top:3px;color:var(--muted);font-size:12px}.choice-counter{white-space:nowrap;padding:6px 9px;border-radius:999px;background:#f0eaff;color:var(--purple);font-size:11px;font-weight:900}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.option{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:.18s}.option:hover{border-color:#beaee5}.option.selected{border-color:var(--purple);background:#f8f4ff;box-shadow:0 0 0 2px rgba(114,81,199,.09)}.option input{width:19px;height:19px;accent-color:var(--purple)}.option b{font-size:13px}.notes-panel{margin-top:14px}.notes-panel label{display:grid;gap:8px;font-weight:800}.notes-panel textarea{resize:vertical}.confirm-box{text-align:center;padding:22px 10px 6px}.confirm-box>label{display:flex;gap:9px;justify-content:center;align-items:center;color:#4a4357}.confirm-box input{width:20px;height:20px;accent-color:var(--green)}.confirm-box button{max-width:330px}.empty-state{text-align:center;padding:25px;color:var(--muted);background:#f8f7fa;border-radius:13px}footer{text-align:center;padding:24px;color:var(--muted);font-size:12px}@media(max-width:760px){.shell{padding:0}.login-screen{min-height:100vh;border-radius:0;grid-template-columns:1fr}.login-brand{padding:38px 25px 20px;text-align:center}.login-brand h1{font-size:42px}.login-brand p{font-size:14px;margin:0 auto}.login-card{margin:20px auto 35px}.state-card{min-height:100vh;border-radius:0}.dream-banner{border-radius:0;min-height:350px}.dream-content h1{font-size:44px}.welcome{padding:28px 18px 20px}.portal-navigation{padding:0 12px}.portal-nav-button{grid-template-columns:48px minmax(0,1fr) 24px;padding:14px}.portal-nav-button .nav-badge{grid-column:2;justify-self:start}.nav-chevron{grid-column:3;grid-row:1}.nav-icon{width:45px;height:45px}.portal-nav-button small{line-height:1.35}.content-panel{padding:16px;margin:0}.contract-categories,.options{grid-template-columns:1fr}.menu-strip,.comparison-row{grid-auto-columns:minmax(82vw,1fr)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.portal-expand,.portal-nav-button,.nav-chevron,.dream-emoji{animation:none!important;transition:none!important}}
.instagram-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:16px;padding:10px 15px;border-radius:999px;background:#fff;border:1px solid #ddd6ea;color:var(--purple);font-weight:900;text-decoration:none;box-shadow:0 7px 22px rgba(35,26,65,.07);transition:transform .2s,box-shadow .2s}.instagram-link:hover{transform:translateY(-2px);box-shadow:0 11px 25px rgba(35,26,65,.12)}.instagram-link.hidden{display:none}
.portal-contact-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.portal-contact-links .instagram-link{margin-top:16px}

/* v1.5 — conteúdo dinâmico do ERP */
.payment-list{display:grid;gap:10px}.payment-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border:1px solid rgba(100,80,150,.18);border-radius:14px;background:rgba(255,255,255,.74)}.payment-row small{display:block;margin-top:4px;color:#6b6382}.custom-text-panel{line-height:1.65;white-space:normal}.portal-nav-button.hidden,.portal-expand.hidden{display:none!important}

.party-info-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.party-info-list>div{padding:13px;border:1px solid rgba(100,80,150,.16);border-radius:13px;background:rgba(255,255,255,.7)}.party-info-list small{display:block;color:#756d89;margin-bottom:4px}.party-info-list b{display:block}
/* v1.7 — troca de cardápio pelo cliente */
.selectable-menu-strip .menu-choice{position:relative;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.selectable-menu-strip .menu-choice:hover{transform:translateY(-2px)}.menu-choice input{position:absolute;opacity:0;pointer-events:none}.menu-radio-mark{position:absolute;right:14px;top:14px;width:20px;height:20px;border:2px solid rgba(255,255,255,.35);border-radius:50%}.menu-choice input:checked+.menu-radio-mark{border-width:6px;border-color:currentColor}.menu-estimate{display:block;margin-top:10px;font-size:.84rem}.menu-change-box{margin:14px 0 22px;padding:16px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);display:grid;gap:9px}.menu-change-box p,.menu-change-box small{margin:0}.menu-change-box small{min-height:18px;opacity:.85}.menu-change-box .primary-action{justify-self:start;border:0;border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer}.menu-change-box .primary-action:disabled{opacity:.52;cursor:not-allowed}

/* v1.8 — conteúdo configurável, convidados e cortesias */
.configurable-heading{background-size:cover;background-position:center;border-radius:14px;padding:10px}.section-link{display:inline-flex;margin-top:8px;padding:7px 11px;border-radius:999px;background:#7251c7;color:#fff;text-decoration:none;font-weight:800;font-size:12px}.courtesy-first{margin:0 0 16px;padding:15px;border:1px solid #f3d39a;border-radius:14px;background:#fff9e8}.courtesy-first h4{margin:0 0 8px;color:#92400e}.guest-editor{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#faf9fc;display:grid;gap:10px}.guest-editor>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guest-editor label{display:grid;gap:5px;font-weight:800}.guest-editor input{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px}.guest-editor button{justify-self:start;border:0;border-radius:11px;padding:10px 14px;background:var(--purple);color:#fff;font-weight:900;cursor:pointer}.guest-editor small{color:var(--muted)}.pending-topic{background-size:cover;background-position:center}
@media(max-width:600px){.guest-editor>div{grid-template-columns:1fr}}

/* v1.9 — Portal comercial / simulação / adicionais */
.party-countdown{display:inline-flex;align-items:center;justify-content:center;margin:.7rem 0 0;padding:.65rem 1rem;border-radius:999px;background:linear-gradient(135deg,#fff2b7,#ffd3ec);color:#4b2d5f;font-weight:900;letter-spacing:.02em;box-shadow:0 10px 28px rgba(67,41,95,.12)}
.courtesy-month-banner{margin:0 auto 18px;max-width:1120px;padding:18px 22px;border-radius:24px;background:linear-gradient(135deg,#fff5be,#ffe0ef,#e5dcff);box-shadow:0 16px 40px rgba(47,36,85,.12);border:1px solid rgba(255,255,255,.8)}
.courtesy-month-banner h3{margin:0 0 12px;text-align:center;font-size:clamp(1rem,2.5vw,1.35rem);letter-spacing:.04em}
.courtesy-banner-items{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.courtesy-banner-items span{background:#fff;padding:8px 13px;border-radius:999px;font-weight:800;box-shadow:0 5px 16px rgba(47,36,85,.08)}
.menu-fixed-list,.menu-choice-list{margin-top:9px}.menu-fixed-list small,.menu-choice-list small{font-size:.68rem;font-weight:900;letter-spacing:.08em;color:#796b97}.menu-fixed-list ul,.menu-choice-list ul{list-style:none;padding:0;margin:6px 0 0}.menu-fixed-list li,.menu-choice-list li{padding:5px 0;border-bottom:1px solid rgba(70,55,100,.08)}.menu-fixed-list li.fixed{font-weight:750}.menu-choice-list li.choice{color:#5f4c7f}
.guest-editor #guestSimulationHint{display:block;margin:8px 0;padding:8px 10px;border-radius:10px;background:#f4efff;color:#584c72;font-weight:700}
.additional-category{margin:0 0 22px}.additional-category>h4{margin:0 0 10px}.additional-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.additional-card{display:flex;flex-direction:column;gap:12px;padding:15px;border:1px solid rgba(77,60,110,.12);border-radius:16px;background:#fff}.additional-card p{margin:4px 0 0;color:#766e85;font-size:.88rem}.additional-price{font-size:1.05rem;color:#2e7d55}.additional-price-options{display:grid;gap:7px}.additional-price-options span{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 10px;border-radius:11px;background:#f7f4fb}.additional-price-options strong{color:#2e7d55}.catalog-time{display:block;text-align:right;color:#8a8198;margin-top:12px}.menu-change-box small{display:block;margin-top:8px;font-weight:700;color:#5d5072}
@media(max-width:640px){.courtesy-month-banner{margin-left:8px;margin-right:8px}.additional-grid{grid-template-columns:1fr}.party-countdown{font-size:.88rem}}


/* v1.10 — confirmação de assinatura do contrato */
.contract-signature-box{margin:14px 0 18px;padding:16px 18px;border:1px solid rgba(114,81,199,.18);border-radius:16px;background:linear-gradient(135deg,#fbf9ff,#f4f0ff);display:grid;gap:9px}.contract-signature-box h4,.contract-signature-box p{margin:0}.contract-signature-box p{color:var(--muted);font-size:13px}.contract-signature-box .primary-action{justify-self:start;border:0;border-radius:12px;padding:11px 16px;background:var(--purple);color:#fff;font-weight:900;cursor:pointer}.contract-signature-box .primary-action:disabled{opacity:.58;cursor:not-allowed}.contract-signature-status{font-size:12px;font-weight:800;color:#5c5172}.contract-signature-status.signed{color:#24734c}

/* v1.11 — pré-visualização REAL do ERP */
.preview-mode-badge{position:fixed;z-index:9999;left:50%;top:12px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;max-width:calc(100vw - 24px);padding:9px 14px;border-radius:999px;background:rgba(25,19,50,.94);color:#fff;box-shadow:0 10px 32px rgba(20,15,42,.25);backdrop-filter:blur(10px);font-size:11px;letter-spacing:.02em}.preview-mode-badge b{font-size:11px;white-space:nowrap}.preview-mode-badge span{opacity:.78;white-space:nowrap}.preview-mode .preview-action-hidden{display:none!important}.preview-mode .logout-button{display:none!important}.preview-mode .dream-banner{padding-top:44px}.preview-mode .choice-panel input{cursor:not-allowed}.preview-mode .choice-panel .option{cursor:default}@media(max-width:640px){.preview-mode-badge{top:7px;border-radius:14px;flex-direction:column;gap:2px;text-align:center}.preview-mode-badge span{white-space:normal}.preview-mode .dream-banner{padding-top:64px}}
