:root{
  --admin-bg:#090d10;
  --admin-panel:#11171c;
  --admin-panel-soft:#171e24;
  --admin-border:#283139;
  --admin-border-soft:#202830;
  --admin-text:#f3f1ed;
  --admin-muted:#969ca2;
  --admin-gold:#c59a52;
  --admin-gold-soft:#d9b870;
  --admin-gold-dark:#8b672d;
  --admin-success:#65c787;
  --admin-warning:#d9b257;
  --admin-danger:#d47777;
  --admin-shadow:0 28px 80px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--admin-bg);color:var(--admin-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;overflow:hidden;font-size:14px}
button,input,select,textarea{font:inherit}
button{color:inherit}
.icon{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;display:inline-block;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.topbar{height:70px;display:grid;grid-template-columns:360px minmax(160px,1fr) auto;align-items:center;gap:14px;padding:0 12px 0 20px;border-bottom:1px solid var(--admin-border);background:#0b0f12;position:relative;z-index:20}
.brand-block{display:flex;align-items:center;gap:15px;min-width:0}
.brand-monogram{font-family:Georgia,"Times New Roman",serif;font-size:1.4rem;color:var(--admin-gold-soft);letter-spacing:-.05em;line-height:1;padding-right:15px;border-right:1px solid #2a3035}
.brand-copy{display:grid;gap:2px;min-width:0}
.brand-copy strong{font-size:15px;line-height:1.2;white-space:nowrap}
.brand-copy span{font-size:11px;color:var(--admin-muted)}
.save-indicator{justify-self:center;display:flex;align-items:center;gap:9px;border:1px solid #2b343b;background:#10151a;padding:9px 13px;border-radius:10px;font-size:12px;color:#d7dcdf;min-width:110px;justify-content:center}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--admin-success);box-shadow:0 0 0 4px rgba(101,199,135,.08)}
.save-indicator[data-state="dirty"] .status-dot{background:var(--admin-warning);box-shadow:0 0 0 4px rgba(217,178,87,.08)}
.toolbar{justify-self:end;display:flex;align-items:center;gap:8px;position:relative}
.toolbar-button,.publish-button,.secondary-action{border:1px solid var(--admin-border);background:#10161b;border-radius:10px;padding:10px 13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.toolbar-button:hover,.secondary-action:hover{background:#171e24;border-color:#3b4650}
.toolbar-button.icon-only{min-width:44px;padding-inline:10px;font-weight:700;letter-spacing:.08em}
.publish-button{border-color:#ba8c45;background:linear-gradient(180deg,#cda35f,#ad7e3b);color:#17120c;font-weight:700;box-shadow:0 7px 20px rgba(197,154,82,.18)}
.publish-button:hover{transform:translateY(-1px);filter:brightness(1.04)}
.publish-button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.wide{width:100%}
.more-menu{position:absolute;right:168px;top:52px;z-index:60;width:190px;background:#11171c;border:1px solid var(--admin-border);border-radius:11px;padding:6px;box-shadow:0 18px 48px rgba(0,0,0,.48)}
.more-menu[hidden]{display:none}
.more-menu button{width:100%;border:0;background:transparent;padding:10px 11px;text-align:left;border-radius:7px;cursor:pointer;color:#d8dddf}
.more-menu button:hover{background:#1a2228}
.more-menu .danger{color:#e19b97}

.editor-shell{height:calc(100vh - 70px);display:grid;grid-template-columns:360px minmax(620px,1fr) 390px;gap:12px;padding:12px;background:#090d10}
.panel-surface{border:1px solid var(--admin-border);border-radius:12px;background:linear-gradient(180deg,#12181d,#0f1519);min-width:0;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.015)}
.left-panel,.right-panel{height:100%}
.left-scroll,.right-panel{overflow:auto;scrollbar-gutter:stable}
.left-scroll{height:100%;padding:14px}
.panel-heading{display:flex;align-items:center;gap:9px;min-height:28px;margin-bottom:10px}
.panel-heading strong{font-size:13px}
.heading-icon{color:#c4c9cd}
.panel-divider{height:1px;background:var(--admin-border);margin:12px -14px}

.section-list{display:grid;gap:6px}
.section-item{height:42px;display:grid;grid-template-columns:18px 28px minmax(0,1fr) auto 34px;align-items:center;gap:8px;padding:0 8px;border:1px solid #273139;border-radius:8px;background:#11181d;transition:.16s}
.section-item:hover{border-color:#3a444d;background:#151c21}
.section-item.selected{border-color:#6e5732;background:linear-gradient(90deg,rgba(197,154,82,.12),#151b20)}
.drag-handle{color:#88929a;font-size:14px;line-height:1;text-align:center;cursor:grab}
.section-number{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#242c32;color:#b7bec3;font-size:11px;font-weight:700}
.section-item.selected .section-number{background:var(--admin-gold-soft);color:#231809}
.section-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section-move{display:flex;gap:2px;opacity:.65}
.section-move button{width:24px;height:24px;border:0;border-radius:6px;background:#1b2329;color:#aeb6bb;padding:0;cursor:pointer;font-size:12px}
.section-move button:disabled{opacity:.25;cursor:not-allowed}
.switch{display:inline-flex;align-items:center;margin:0!important;cursor:pointer}
.switch input{position:absolute;opacity:0;pointer-events:none}
.switch-track{width:31px;height:18px;border-radius:999px;background:#39434b;position:relative;transition:.18s}
.switch-track::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#e7e9ea;top:2px;left:2px;transition:.18s}
.switch input:checked + .switch-track{background:var(--admin-gold-soft)}
.switch input:checked + .switch-track::after{left:15px;background:#fff}

.flow-section{padding-top:1px}
.flow-nav{display:grid;gap:6px}
.flow-item{height:40px;border:1px solid #273139;border-radius:8px;background:#11181d;color:#cdd2d6;display:grid;grid-template-columns:24px 1fr 22px;align-items:center;gap:8px;padding:0 10px;text-align:left;cursor:pointer;font-size:12px}
.flow-item:hover{background:#161e23;border-color:#3a444d}
.flow-item.active{border-color:#8f6d37;background:linear-gradient(90deg,rgba(197,154,82,.12),#151b20);color:#e7d4aa}
.flow-icon{color:#b3bbc0;display:grid;place-items:center}
.flow-item.active .flow-icon{color:var(--admin-gold-soft)}
.flow-check{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:1px solid #465159;color:transparent;font-size:11px}
.flow-item.complete .flow-check{color:#132116;border-color:var(--admin-success);background:var(--admin-success)}
.flow-item.active.complete .flow-check{color:#24180a;border-color:var(--admin-gold-soft);background:var(--admin-gold-soft)}

.preview-panel{display:grid;grid-template-rows:74px 1fr;background:linear-gradient(180deg,#11171c,#0b1014)}
.preview-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0 18px;border-bottom:1px solid var(--admin-border)}
.preview-title h1{margin:0;font-size:15px;font-weight:700}
.device-switcher{display:flex;align-items:center;border:1px solid #2d363e;background:#0d1216;border-radius:9px;overflow:hidden}
.device{height:36px;padding:0 13px;border:0;border-right:1px solid #2d363e;background:transparent;color:#aeb6bc;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px}
.device:last-child{border-right:0}
.device.active{background:rgba(197,154,82,.14);color:#f2dfb8;box-shadow:inset 0 0 0 1px #96713a}
.device .icon{width:14px!important;height:14px!important;max-width:14px!important;max-height:14px!important;flex-basis:14px}
.preview-workspace{position:relative;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:18px 24px}
.readiness-card{position:absolute;left:18px;bottom:18px;width:176px;border:1px solid #2e3941;border-radius:10px;background:rgba(16,22,27,.96);padding:13px;box-shadow:0 20px 45px rgba(0,0,0,.24);z-index:5}
.readiness-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.readiness-head strong{font-size:12px}
.readiness-score-row{display:grid;grid-template-columns:46px 1fr;gap:9px;align-items:center;margin-bottom:10px}
.readiness-score-row p{font-size:10px;line-height:1.35;color:var(--admin-muted);margin:0}
.readiness-ring{--p:0%;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--admin-gold) var(--p),#263039 0);position:relative}
.readiness-ring::before{content:"";position:absolute;width:34px;height:34px;border-radius:50%;background:#11171c}
.readiness-ring span{position:relative;font-size:10px;font-weight:700}
.readiness-compact{display:grid;gap:5px;margin-bottom:10px}
.ready-row{display:grid;grid-template-columns:15px 1fr;gap:6px;align-items:center;font-size:10px;color:#c8cdd1}
.ready-row .mark{width:14px;height:14px;border-radius:50%;display:grid;place-items:center;font-size:9px;border:1px solid #59636b}
.ready-row.ok .mark{background:var(--admin-success);border-color:var(--admin-success);color:#0a120d}
.ready-row.warn .mark{border-color:var(--admin-warning);color:var(--admin-warning)}
.readiness-details{width:100%;height:32px;border:1px solid #333f47;background:#151c21;color:#cfd4d7;border-radius:7px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 10px}
.device-stage{position:relative;display:grid;place-items:center;max-width:100%;max-height:100%;margin-left:26px}
.device-frame{position:relative;box-shadow:0 30px 80px rgba(0,0,0,.48);transition:width .22s ease,height .22s ease,border-radius .22s ease,padding .22s ease}
.phone-frame{width:354px;height:min(690px,calc(100vh - 200px));min-height:520px;background:linear-gradient(180deg,#3b4145,#101315);border:1px solid #6f7477;border-radius:48px;padding:11px}
.phone-frame::before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.16);border-radius:43px;pointer-events:none}
.device-island{position:absolute;z-index:3;top:19px;left:50%;transform:translateX(-50%);width:94px;height:24px;border-radius:999px;background:#040506;box-shadow:inset 0 0 0 1px #1c2022}
.device-frame iframe{width:100%;height:100%;border:0;background:#fff;display:block}
.phone-frame iframe{border-radius:37px}
.tablet-frame{width:min(640px,calc(100vw - 870px));height:min(720px,calc(100vh - 196px));min-width:500px;min-height:520px;background:#191e22;border:1px solid #5b646b;border-radius:28px;padding:10px}
.tablet-frame iframe{border-radius:20px}
.desktop-frame{width:min(860px,calc(100vw - 850px));height:min(680px,calc(100vh - 196px));min-width:620px;min-height:470px;background:#161b1f;border:1px solid #4a535a;border-radius:14px;padding:8px}
.desktop-frame iframe{border-radius:8px}
.device-stage[data-mode="tablet"] .device-island,.device-stage[data-mode="desktop"] .device-island{display:none}
.preview-corner-actions{position:absolute;right:-50px;bottom:2px;display:flex}
.preview-corner-actions button{width:36px;height:36px;border:1px solid var(--admin-border);background:#10161a;color:#c8ced2;cursor:pointer}
.preview-corner-actions button:first-child{border-radius:8px 0 0 8px}
.preview-corner-actions button:last-child{border-left:0;border-radius:0 8px 8px 0}

.right-panel{overflow:auto;scrollbar-gutter:stable}
.right-panel details{border-bottom:1px solid var(--admin-border)}
.right-panel summary{height:48px;list-style:none;cursor:pointer;padding:0 15px;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:space-between;background:#11171c}
.right-panel summary::-webkit-details-marker{display:none}
.right-panel summary::after{content:"⌄";color:#89949c;font-size:13px;transition:.18s}
.right-panel details[open]>summary::after{transform:rotate(180deg)}
.right-panel summary>span{display:flex;align-items:center;gap:8px;min-width:0}
.summary-svg{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important;flex-basis:16px;color:#b5bdc2}
.summary-svg.gold{color:var(--admin-gold-soft)}
.summary-aa{width:18px;color:#b5bdc2;font-family:Georgia,serif;font-weight:700}
.detail-body{padding:0 14px 14px}
.two-column-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 9px}
.span-2{grid-column:1/-1}
label{display:grid;gap:6px;color:var(--admin-muted);font-size:10px;margin-bottom:10px}
input,select,textarea{width:100%;border:1px solid #2d373e;background:#0c1115;color:var(--admin-text);border-radius:7px;padding:8px 9px;outline:none;font-size:11px}
textarea{resize:vertical;line-height:1.42}
input:focus,select:focus,textarea:focus{border-color:#5f6d77;box-shadow:0 0 0 2px rgba(95,109,119,.13)}
input[type="color"]{height:34px;padding:3px}
input[type="range"]{padding:0}
.inline-value{float:right;color:#e0e4e7}
.field-title{margin:0 0 8px;font-size:11px;color:#d8dde0;font-weight:600}
.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.theme-cards{display:grid;gap:7px}
.theme-card{width:100%;display:grid;grid-template-columns:88px minmax(0,1fr) 22px;gap:9px;align-items:center;border:1px solid #2b353d;background:#13191e;border-radius:8px;padding:8px;cursor:pointer;text-align:left;transition:.16s;color:#e7e9ea}
.theme-card:hover{border-color:#3e4850;background:#171e23}
.theme-card.selected{border-color:var(--admin-gold);box-shadow:inset 0 0 0 1px rgba(197,154,82,.16);background:linear-gradient(90deg,rgba(197,154,82,.08),#13191e)}
.theme-palette{height:42px;display:grid;grid-template-columns:repeat(4,1fr);border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.theme-copy{display:grid;gap:3px;min-width:0}
.theme-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.theme-copy small{color:var(--admin-muted);font-size:9px;line-height:1.3}
.theme-selected-mark{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:1px solid #505b63;font-size:10px;color:transparent}
.theme-card.selected .theme-selected-mark{background:var(--admin-gold-soft);border-color:var(--admin-gold-soft);color:#20170b}
.theme-summary-card{margin-top:9px;border:1px solid #453b2a;background:linear-gradient(180deg,rgba(197,154,82,.09),rgba(197,154,82,.04));border-radius:8px;padding:10px}
.theme-summary-card strong{font-size:10px;color:var(--admin-gold-soft)}
.theme-summary-card p{margin:6px 0 0;color:#c0c5c8;font-size:9.5px;line-height:1.45}
.sparkle{margin-right:4px}
.nested-details{margin-top:9px!important;border:1px solid var(--admin-border)!important;border-radius:8px;overflow:hidden}
.nested-details>summary{height:38px!important;padding:0 10px!important;font-size:10px!important;background:#10161a!important}
.nested-body{padding:0 10px 10px}
.font-preview{border:1px solid var(--admin-border);background:#0c1115;border-radius:7px;padding:11px;text-align:center;margin:-3px 0 10px;color:#dfe2e4}
.display-preview{font-family:Georgia,serif;font-size:18px}
.body-preview{font-size:10px}
.media-block{border:1px solid var(--admin-border);background:#0f1519;border-radius:9px;padding:10px;margin-bottom:9px}
.media-title{display:grid;gap:2px;margin-bottom:8px}
.media-title strong{font-size:11px}.media-title small{font-size:9px;color:var(--admin-muted)}
.upload-button{min-height:34px;display:flex;align-items:center;justify-content:center;border:1px dashed #4a555d;border-radius:7px;background:#0c1115;color:#d0d5d8;cursor:pointer}
.upload-button:hover{background:#151c21}
.media-preview{min-height:76px;border:1px solid var(--admin-border);border-radius:7px;background:#090d10 center/cover no-repeat;display:grid;place-items:center;color:var(--admin-muted);font-size:9px;margin-bottom:8px}
.media-preview.wide{aspect-ratio:16/8}
.toggle-line{display:flex;align-items:center;gap:7px}.toggle-line input{width:auto}
.gallery-editor{display:grid;gap:7px;margin-top:8px}
.gallery-row{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--admin-border);border-radius:7px;padding:6px;background:#0b1014}
.gallery-thumb{width:68px;height:52px;border-radius:6px;object-fit:cover}
.gallery-meta{display:grid;gap:2px;min-width:0}.gallery-meta strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-meta small{font-size:8px;color:var(--admin-muted)}
.gallery-actions{display:flex;gap:3px}.gallery-actions button{width:24px;height:24px;border:1px solid var(--admin-border);border-radius:6px;background:#13191e;color:#b8c0c5;cursor:pointer;padding:0}
.file-name,.backend-line,.storage-info{font-size:9px;color:var(--admin-muted);line-height:1.4;overflow-wrap:anywhere}
.storage-info{border:1px solid var(--admin-border);border-radius:7px;padding:9px;background:#0c1115}
.rsvp-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}.rsvp-dashboard>div{border:1px solid var(--admin-border);border-radius:7px;background:#0d1317;padding:9px;display:grid;gap:2px}.rsvp-dashboard strong{font-size:15px;color:#f1deb7}.rsvp-dashboard span{font-size:8px;color:var(--admin-muted)}
.secondary-action{font-size:10px}
.publication-status{display:flex;align-items:center;gap:9px;border:1px solid var(--admin-border);border-radius:8px;background:#0d1317;padding:10px;margin-bottom:9px}.connection-dot{width:10px;height:10px;border-radius:50%;background:#69737a}.connection-dot.ok{background:var(--admin-success);box-shadow:0 0 0 4px rgba(101,199,135,.08)}.connection-dot.off{background:var(--admin-danger)}.publication-status>div{display:grid;gap:2px}.publication-status strong{font-size:10px}.publication-status small{font-size:9px;color:var(--admin-muted)}
.publication-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}.publication-grid>div{display:grid;gap:3px;border:1px solid var(--admin-border);border-radius:7px;padding:9px;background:#0d1317}.publication-grid span{font-size:8px;color:var(--admin-muted)}.publication-grid strong{font-size:9px;overflow-wrap:anywhere}
.login-overlay{position:fixed;inset:0;z-index:1000;background:rgba(5,8,10,.94);display:grid;place-items:center;padding:22px;backdrop-filter:blur(12px)}.login-overlay[hidden]{display:none}.login-card{width:min(420px,100%);border:1px solid var(--admin-border);border-radius:16px;background:#11171c;padding:22px;box-shadow:var(--admin-shadow)}.login-brand{margin-bottom:15px}.login-card p{font-size:11px;line-height:1.5;color:var(--admin-muted)}.login-card small{display:block;margin-top:12px;font-size:9px;line-height:1.4;color:var(--admin-muted)}.login-feedback{min-height:1.2em;color:var(--admin-warning)!important}

@media(max-width:1480px){
  .topbar{grid-template-columns:310px minmax(120px,1fr) auto}.editor-shell{grid-template-columns:310px minmax(540px,1fr) 360px}.phone-frame{width:328px}.readiness-card{width:158px}.toolbar-button,.publish-button{padding:9px 10px;font-size:11px}.section-item{grid-template-columns:16px 25px minmax(0,1fr) auto 32px;gap:6px}}
@media(max-width:1220px){
  body{overflow:auto}.topbar{grid-template-columns:1fr auto}.save-indicator{display:none}.editor-shell{height:auto;min-height:calc(100vh - 70px);grid-template-columns:280px minmax(520px,1fr)}.right-panel{grid-column:1/-1;max-height:none}.preview-panel{min-height:760px}.readiness-card{display:none}.desktop-frame{min-width:520px}}
@media(max-width:860px){
  .topbar{height:auto;min-height:70px;grid-template-columns:1fr;padding:12px}.toolbar{justify-self:stretch;flex-wrap:wrap}.toolbar-button,.publish-button{flex:1}.editor-shell{grid-template-columns:1fr;padding:8px;height:auto}.left-panel,.preview-panel,.right-panel{grid-column:1}.left-panel{order:1;max-height:none}.preview-panel{order:2;min-height:720px}.right-panel{order:3}.preview-header{align-items:flex-start;flex-direction:column;height:auto;padding:12px}.preview-panel{grid-template-rows:auto 1fr}.device-switcher{width:100%}.device{flex:1;justify-content:center}.preview-workspace{min-height:620px}.phone-frame{width:min(350px,calc(100vw - 54px))}.tablet-frame,.desktop-frame{min-width:0;width:calc(100vw - 54px)}.preview-corner-actions{right:0;bottom:-46px}}


/* Fase 3.3 — janela premium da lista de convidados */
.guest-toolbar-button{border-color:color-mix(in srgb,var(--admin-gold),transparent 58%)}.guest-manager-overlay{position:fixed;inset:0;z-index:1400;background:rgba(4,7,9,.86);backdrop-filter:blur(14px);display:grid;place-items:center;padding:24px}.guest-manager-overlay[hidden]{display:none}.guest-manager-window{width:min(1440px,96vw);height:min(900px,94vh);display:grid;grid-template-rows:auto auto auto minmax(0,1fr);background:#0d1216;border:1px solid #283139;border-radius:22px;box-shadow:0 36px 120px rgba(0,0,0,.68);overflow:hidden}.guest-manager-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 26px 18px;border-bottom:1px solid #222a31;background:linear-gradient(180deg,#13191e,#0f1418)}.guest-manager-header h2{font-size:1.5rem;margin:2px 0 5px}.guest-manager-header p{margin:0;color:#969ca2;font-size:.82rem}.guest-manager-kicker{text-transform:uppercase!important;letter-spacing:.14em!important;color:#c59a52!important;font-size:.66rem!important;font-weight:700}.guest-close-button{width:40px;height:40px;border-radius:50%;font-size:1.45rem;padding:0}.guest-manager-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:14px 26px;border-bottom:1px solid #222a31}.guest-manager-stats>div{border:1px solid #283139;border-radius:12px;padding:10px 12px;background:#11171c;display:grid;gap:3px}.guest-manager-stats span{font-size:.7rem;color:#969ca2}.guest-manager-stats strong{font-size:1.3rem}.guest-manager-stats .confirmed strong{color:#77cd91}.guest-manager-stats .pending strong{color:#d9b257}.guest-manager-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 170px auto;gap:10px;padding:14px 26px;border-bottom:1px solid #222a31}.guest-search-wrap{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;border:1px solid #283139;background:#0b1014;border-radius:11px;padding:0 11px}.guest-search-wrap input{border:0;background:transparent;padding:10px 0;box-shadow:none}.guest-manager-body{min-height:0;display:grid;grid-template-columns:390px minmax(0,1fr)}.guest-groups-pane{min-height:0;overflow:auto;border-right:1px solid #222a31;background:#0b1014}.guest-group-list{display:grid;gap:7px;padding:12px}.guest-group-card{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;text-align:left;padding:12px;background:#11171c;border:1px solid #283139;border-radius:12px}.guest-group-card.active{border-color:#c59a52;background:linear-gradient(90deg,rgba(197,154,82,.14),#11171c)}.guest-group-main{display:grid;gap:4px;min-width:0}.guest-group-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-group-main small{color:#969ca2}.guest-group-state{font-size:.67rem;border:1px solid #34404a;border-radius:999px;padding:5px 8px;height:max-content;color:#b7bec4}.guest-group-state.confirmed{color:#83d39a;border-color:rgba(101,199,135,.45)}.guest-group-state.partial{color:#e1bd72;border-color:rgba(217,178,87,.45)}.guest-group-state.declined{color:#d99894;border-color:rgba(212,119,119,.45)}.guest-editor-pane{min-height:0;overflow:auto;padding:24px;background:radial-gradient(circle at top,#111820,#0c1115 70%)}.guest-empty-state{height:100%;min-height:360px;display:grid;place-content:center;text-align:center;color:#969ca2}.guest-empty-state h3{color:#f3f1ed;margin:8px 0}.guest-empty-icon{font-size:2.4rem;color:#c59a52}.guest-group-form{width:min(820px,100%);margin:0 auto;display:grid;gap:16px}.guest-group-form[hidden]{display:none}.guest-form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #283139}.guest-form-head span:first-child{font-size:.7rem;color:#969ca2;text-transform:uppercase;letter-spacing:.1em}.guest-form-head h3{margin:3px 0 0;font-size:1.35rem}.guest-status-badge{border:1px solid #48515a;border-radius:999px;padding:6px 10px;font-size:.7rem}.guest-members-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.guest-members-head>div:first-child{display:grid;gap:3px}.guest-members-head small{color:#969ca2}.guest-members-head>div:last-child{display:flex;gap:7px}.guest-member-editor{display:grid;gap:8px}.guest-member-row{display:grid;grid-template-columns:34px minmax(0,1fr) 130px 170px 38px;gap:8px;align-items:center;padding:9px;border:1px solid #283139;border-radius:12px;background:#11171c}.guest-member-index{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#202830;color:#c9d0d5;font-size:.72rem}.guest-member-status{font-size:.7rem;color:#969ca2}.guest-member-status.yes{color:#77cd91}.guest-member-status.no{color:#d99894}.guest-member-remove{padding:7px;width:36px;color:#d99894}.guest-link-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(197,154,82,.35);border-radius:12px;background:rgba(197,154,82,.08)}.guest-link-card>div{min-width:0;display:grid;gap:3px}.guest-link-card span{font-size:.7rem;color:#b9a687}.guest-link-card strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-form-actions{display:flex;justify-content:space-between;gap:12px;padding-top:6px}.guest-form-actions-right{display:flex;gap:8px;margin-left:auto}.danger-action{color:#e09a95;background:transparent;border-color:rgba(212,119,119,.4)}@media(max-width:1000px){.guest-manager-window{width:98vw;height:96vh}.guest-manager-body{grid-template-columns:310px minmax(0,1fr)}.guest-manager-stats{grid-template-columns:repeat(3,1fr)}.guest-manager-toolbar{grid-template-columns:1fr 150px}.guest-manager-toolbar .publish-button{grid-column:1/-1}.guest-member-row{grid-template-columns:30px minmax(0,1fr) 110px 120px 36px}}@media(max-width:720px){.guest-manager-overlay{padding:0}.guest-manager-window{width:100vw;height:100vh;border-radius:0}.guest-manager-stats{grid-template-columns:repeat(2,1fr);padding:10px 14px}.guest-manager-toolbar{grid-template-columns:1fr;padding:10px 14px}.guest-manager-body{display:block;overflow:auto}.guest-groups-pane{border-right:0;border-bottom:1px solid #222a31;max-height:230px}.guest-editor-pane{overflow:visible;padding:16px}.guest-member-row{grid-template-columns:28px minmax(0,1fr) 100px 34px}.guest-member-status{grid-column:2/4}.guest-form-actions{flex-direction:column}.guest-form-actions-right{margin-left:0}.guest-form-actions-right>*{flex:1}}


/* Fase 3.4 — editor do Manual dos Convidados */
.manual-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:4px 0 10px}.manual-editor-head>div{display:grid;gap:3px}.manual-editor-head strong{font-size:10px}.manual-editor-head small{font-size:8px;color:var(--admin-muted)}
.manual-rules-editor{display:grid;gap:8px;margin-bottom:10px}.manual-rule-editor{display:grid;grid-template-columns:26px 128px minmax(0,1fr) auto;gap:7px;align-items:center;border:1px solid var(--admin-border);border-radius:9px;background:#0d1317;padding:7px}.manual-rule-number{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#1c242b;color:var(--admin-gold-soft);font-size:9px}.manual-rule-editor select,.manual-rule-editor textarea{margin:0}.manual-rule-text{min-height:52px;resize:vertical}.manual-rule-actions{display:flex;gap:3px}.manual-rule-actions button{width:30px;padding:6px 4px;font-size:10px}
@media(max-width:520px){.manual-editor-head{align-items:stretch;flex-direction:column}.manual-rule-editor{grid-template-columns:26px 1fr auto}.manual-rule-text{grid-column:2/4}.manual-rule-actions{grid-column:2/4}}


/* RC12 — harness ADT Bravo: remove efeitos que geram falsos positivos de cobertura. */
html[data-adt-bravo="1"] *,html[data-adt-bravo="1"] *::before,html[data-adt-bravo="1"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-adt-bravo="1"] .topbar{position:relative;top:auto}
html[data-adt-bravo="1"] .login-overlay{display:none!important}
html[data-adt-bravo="1"] .preview-corner-actions{display:none!important}
html[data-adt-bravo="1"] .more-menu[hidden],html[data-adt-bravo="1"] .guest-manager-overlay[hidden]{display:none!important}

/* RC14 — responsive hardening validated against ADT Bravo viewports. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.topbar,.editor-shell{width:100%;max-width:100%;min-width:0}
.topbar>*{min-width:0;max-width:100%}
.editor-shell>*{min-width:0;max-width:100%}
.toolbar{min-width:0;max-width:100%}
.preview-workspace{width:100%;max-width:100%;min-width:0}
.right-panel,.left-panel,.preview-panel{min-width:0;max-width:100%}
.detail-body,.detail-body label,.nested-body{min-width:0;max-width:100%}
.detail-body input,.detail-body select,.detail-body textarea{min-width:0;max-width:100%}
details:not([open])>:not(summary){display:none!important}

@media (min-width:1221px){
  .editor-shell{grid-template-columns:minmax(260px,360px) minmax(0,1fr) minmax(300px,390px)}
  .toolbar-button,.publish-button{min-width:0}
}

@media (max-width:1220px){
  body{overflow-y:auto;overflow-x:hidden}
  .topbar{grid-template-columns:minmax(0,1fr) minmax(0,auto);width:100%}
  .editor-shell{grid-template-columns:minmax(230px,280px) minmax(0,1fr);width:100%;max-width:100%}
  .toolbar{min-width:0;max-width:100%;flex-wrap:wrap;justify-content:flex-end}
  .toolbar-button,.publish-button{min-width:0;max-width:100%;white-space:normal}
  .right-panel{grid-column:1/-1;width:100%;max-width:100%}
  .tablet-frame,.desktop-frame{min-width:0;max-width:100%}
}

@media (max-width:860px){
  .topbar{display:block;width:100%;max-width:100%;padding:10px;overflow:hidden}
  .brand-block{width:100%;max-width:100%;margin-bottom:10px}
  .brand-copy strong{white-space:normal}
  .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;max-width:100%;justify-self:auto}
  .toolbar-button,.publish-button{width:100%;max-width:100%;min-width:0;min-height:40px;padding:8px 6px;font-size:10px;white-space:normal;overflow:hidden;text-overflow:ellipsis}
  .toolbar-button.icon-only{min-width:0;width:100%}
  .more-menu{right:8px;left:8px;top:auto;width:auto;max-width:none}
  .editor-shell{display:flex;flex-direction:column;width:100%;max-width:100%;min-width:0;padding:8px;gap:8px;overflow:hidden}
  .left-panel,.preview-panel,.right-panel{width:100%;max-width:100%;min-width:0}
  .preview-panel{min-height:660px}
  .preview-header{width:100%;max-width:100%;padding:10px;gap:10px}
  .device-switcher{width:100%;max-width:100%;min-width:0}
  .device{min-width:0;padding-inline:7px;white-space:nowrap}
  .preview-workspace{width:100%;max-width:100%;min-width:0;padding:12px 8px;overflow:hidden}
  .phone-frame,.tablet-frame,.desktop-frame{min-width:0!important;max-width:100%!important;width:min(350px,calc(100% - 8px))!important}
  .right-panel{overflow:visible}
  .right-panel summary,.detail-body,.nested-body{width:100%;max-width:100%;min-width:0}
  .two-column-fields,.color-grid{grid-template-columns:minmax(0,1fr)}
  .theme-card{grid-template-columns:70px minmax(0,1fr) 22px;min-width:0}
  .theme-palette{min-width:0}
  .manual-rule-editor{grid-template-columns:26px minmax(0,1fr) auto;min-width:0}
  .manual-rule-editor select{grid-column:2/3}
  .manual-rule-text{grid-column:2/4;min-width:0}
  .manual-rule-actions{grid-column:2/4;flex-wrap:wrap}
  .guest-manager-window{max-width:100vw}
}

@media (max-width:520px){
  .toolbar{grid-template-columns:minmax(0,1fr)}
  .toolbar-button,.publish-button{justify-content:flex-start}
  .preview-panel{min-height:620px}
  .preview-workspace{min-height:540px}
  .phone-frame{width:min(330px,calc(100% - 4px))!important}
  .section-item{grid-template-columns:16px 25px minmax(0,1fr) auto 30px;gap:5px}
  .flow-item{grid-template-columns:22px minmax(0,1fr) 20px}
  .detail-body{padding-inline:10px}
  .manual-editor-head{gap:8px}
}

/* RC14 — ADT Bravo viewport containment and compact mobile/tablet harness. */
html[data-adt-bravo="1"],
html[data-adt-bravo="1"] body{
  width:100%!important;
  max-width:100vw!important;
  min-width:0!important;
  overflow-x:clip!important;
}
html[data-adt-bravo="1"] .topbar,
html[data-adt-bravo="1"] .editor-shell,
html[data-adt-bravo="1"] .panel-surface,
html[data-adt-bravo="1"] .preview-workspace,
html[data-adt-bravo="1"] .device-stage,
html[data-adt-bravo="1"] .device-frame{
  max-width:100%!important;
  min-width:0!important;
}
html[data-adt-bravo="1"] .save-indicator{display:none!important}
html[data-adt-bravo="1"] .topbar{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  overflow:hidden!important;
}
html[data-adt-bravo="1"] .toolbar{
  min-width:0!important;
  max-width:100%!important;
  flex-wrap:wrap!important;
}
html[data-adt-bravo="1"] .toolbar-button,
html[data-adt-bravo="1"] .publish-button{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
}
html[data-adt-bravo="1"] .preview-workspace{overflow:clip!important}
html[data-adt-bravo="1"] .device-stage{margin-left:0!important}
html[data-adt-bravo="1"] .phone-frame,
html[data-adt-bravo="1"] .tablet-frame,
html[data-adt-bravo="1"] .desktop-frame{
  width:min(100%,354px)!important;
  min-width:0!important;
  max-width:100%!important;
}

@media (max-width:1100px){
  html[data-adt-bravo="1"] body{
    overflow:hidden!important;
    height:100vh!important;
  }
  html[data-adt-bravo="1"] .topbar{
    height:58px!important;
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:7px 10px!important;
  }
  html[data-adt-bravo="1"] .brand-block{
    flex:1 1 auto!important;
    min-width:0!important;
    margin:0!important;
  }
  html[data-adt-bravo="1"] .brand-monogram{font-size:1.05rem!important;padding-right:9px!important}
  html[data-adt-bravo="1"] .brand-copy strong{font-size:12px!important;white-space:nowrap!important}
  html[data-adt-bravo="1"] .brand-copy span{font-size:9px!important}
  html[data-adt-bravo="1"] .toolbar{
    flex:0 0 auto!important;
    display:flex!important;
    width:auto!important;
    gap:6px!important;
  }
  html[data-adt-bravo="1"] .toolbar > button{display:none!important}
  html[data-adt-bravo="1"] #openPreviewButton{
    display:inline-flex!important;
    width:auto!important;
    min-height:34px!important;
    padding:7px 9px!important;
    font-size:9px!important;
  }
  html[data-adt-bravo="1"] .editor-shell{
    display:block!important;
    width:100%!important;
    height:calc(100vh - 58px)!important;
    min-height:0!important;
    padding:6px!important;
    overflow:hidden!important;
  }
  html[data-adt-bravo="1"] .left-panel,
  html[data-adt-bravo="1"] .right-panel{
    display:none!important;
  }
  html[data-adt-bravo="1"] .preview-panel{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  html[data-adt-bravo="1"] .preview-header{
    min-height:52px!important;
    height:auto!important;
    padding:8px!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
  }
  html[data-adt-bravo="1"] .preview-title h1{font-size:12px!important}
  html[data-adt-bravo="1"] .device-switcher{width:auto!important;min-width:0!important;flex:0 1 auto!important}
  html[data-adt-bravo="1"] .device{height:32px!important;padding:0 7px!important;font-size:9px!important}
  html[data-adt-bravo="1"] .preview-workspace{
    min-height:0!important;
    height:100%!important;
    padding:8px!important;
  }
  html[data-adt-bravo="1"] .phone-frame{
    width:min(330px,100%)!important;
    height:min(620px,calc(100vh - 136px))!important;
    min-height:0!important;
  }
}

/* RC15 — ADT Bravo desktop containment. The RC14 desktop toolbar kept an
   intrinsic auto track wider than the viewport, adding ~305px to html.scrollWidth.
   In the local ADT harness we use an explicit two-track topbar and a five-column
   toolbar so every control participates in the available width instead of its
   max-content width. Production layout remains unchanged. */
@media (min-width:1101px){
  html[data-adt-bravo="1"] .topbar{
    grid-template-columns:minmax(220px,280px) minmax(0,1fr)!important;
    width:100%!important;
    max-width:100vw!important;
    overflow:hidden!important;
  }
  html[data-adt-bravo="1"] .brand-block,
  html[data-adt-bravo="1"] .brand-copy{
    min-width:0!important;
    max-width:100%!important;
  }
  html[data-adt-bravo="1"] .brand-copy strong,
  html[data-adt-bravo="1"] .brand-copy span{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  html[data-adt-bravo="1"] .toolbar{
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
  }
  html[data-adt-bravo="1"] .toolbar > button{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:8px 6px!important;
    min-height:40px!important;
    font-size:10px!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  html[data-adt-bravo="1"] .editor-shell{
    grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(260px,320px)!important;
    width:100%!important;
    max-width:100vw!important;
    overflow:hidden!important;
  }
  html[data-adt-bravo="1"] .left-panel,
  html[data-adt-bravo="1"] .preview-panel,
  html[data-adt-bravo="1"] .right-panel{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  html[data-adt-bravo="1"] .right-panel{overflow-y:auto!important}
  html[data-adt-bravo="1"] .left-panel{overflow-y:auto!important}
  html[data-adt-bravo="1"] .preview-workspace{overflow:hidden!important}
  html[data-adt-bravo="1"] .flow-item,
  html[data-adt-bravo="1"] .section-item,
  html[data-adt-bravo="1"] .right-panel summary{
    position:relative!important;
    z-index:1!important;
  }
}

/* RC15 — remove the six mobile low-severity touch warnings emitted by ADT. */
@media (max-width:1100px){
  html[data-adt-bravo="1"] #openPreviewButton{
    min-height:44px!important;
  }
  html[data-adt-bravo="1"] .device{
    min-height:44px!important;
    height:44px!important;
  }
}


/* RC16 — ADT Bravo deterministic Visual/Layout harness.
   The generic covered-element rule samples the current viewport and can report
   controls inside scrollable side panels as 0% clickable even with no covering
   element. Explicit ?adt-test=1 runs still exercise the full editor. */
html[data-adt-visual-qa="1"] body{
  height:100vh!important;
  overflow:hidden!important;
}
html[data-adt-visual-qa="1"] .topbar{
  min-height:58px!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:7px 10px!important;
  gap:8px!important;
}
html[data-adt-visual-qa="1"] .brand-block{
  flex:1 1 auto!important;
  min-width:0!important;
}
html[data-adt-visual-qa="1"] .toolbar{
  flex:0 0 auto!important;
  display:flex!important;
  width:auto!important;
  min-width:0!important;
  gap:6px!important;
}
html[data-adt-visual-qa="1"] .toolbar > button{
  display:none!important;
}
html[data-adt-visual-qa="1"] #openPreviewButton{
  display:inline-flex!important;
  width:auto!important;
  min-height:44px!important;
  padding:7px 10px!important;
  font-size:10px!important;
}
html[data-adt-visual-qa="1"] .editor-shell{
  display:block!important;
  width:100%!important;
  max-width:100vw!important;
  height:calc(100vh - 58px)!important;
  min-height:0!important;
  padding:6px!important;
  overflow:hidden!important;
}
html[data-adt-visual-qa="1"] .left-panel,
html[data-adt-visual-qa="1"] .right-panel{
  display:none!important;
}
html[data-adt-visual-qa="1"] .preview-panel{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
html[data-adt-visual-qa="1"] .preview-header{
  min-height:52px!important;
  height:auto!important;
  padding:8px 10px!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
}
html[data-adt-visual-qa="1"] .preview-workspace{
  min-height:0!important;
  height:100%!important;
  padding:6px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
html[data-adt-visual-qa="1"] .device-stage{
  width:100%!important;
  min-height:0!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
html[data-adt-visual-qa="1"] .phone-frame{
  width:min(330px,100%)!important;
  height:min(620px,calc(100vh - 130px))!important;
  min-height:0!important;
}
html[data-adt-visual-qa="1"] .tablet-frame,
html[data-adt-visual-qa="1"] .desktop-frame{
  width:min(100%,960px)!important;
  height:min(680px,calc(100vh - 130px))!important;
  min-width:0!important;
  min-height:0!important;
}
