@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--wine:#711c38;--wine-dark:#3a1526;--pink:#b43f64;--paper:#fffdfb;--base:#f7f3f1;--ink:#2a2025;--muted:#81757a;--line:#e9deda;--shadow:0 18px 50px #3c203016}*{box-sizing:border-box}body{margin:0;background:var(--base);color:var(--ink);font:14px/1.5 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.15}h2{font-size:22px}small{font-size:11px}input,select,textarea{width:100%;border:1px solid #ddcdcf;background:#fff;padding:11px 12px;color:var(--ink);border-radius:7px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px #b43f6420}textarea{resize:vertical}label{display:block;font-size:11px;font-weight:800;color:#604b54;letter-spacing:.035em}label input,label select,label textarea{display:block;margin-top:7px;font-size:13px;font-weight:500;letter-spacing:0}.eyebrow{color:#a43655;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.primary,.outline{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.04em;white-space:nowrap}.primary{border:1px solid var(--wine);background:var(--wine);color:white}.primary:hover{background:#8a2445}.outline{border:1px solid #d8bbc4;background:#fff;color:var(--wine)}.outline:hover{border-color:var(--wine);background:#fff7f9}.link-button{display:inline-flex}.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 13% 20%,#d5a0ad88,transparent 26%),radial-gradient(circle at 85% 70%,#b6849a55,transparent 29%),#f6f0ed}.auth-card{width:min(100%,430px);padding:42px;background:#fff;box-shadow:var(--shadow)}.auth-card h1,.app-logo{font:italic 600 38px 'Playfair Display',Georgia,serif;color:var(--wine-dark)}.auth-card h1 span,.app-logo span{color:#aa3e61}.auth-card p{color:var(--muted)}.auth-card form{display:grid;gap:17px;margin:28px 0}.auth-card small{color:var(--muted)}.shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:28px 15px;background:#321725;color:#f7e9ed}.app-logo{font-size:27px;color:#fff;padding:0 15px 28px}.app-logo span{color:#eda2b6}.app-logo small{display:block;margin-top:3px;font:700 9px 'DM Sans',sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#caaeb9}.sidebar-label{padding:10px 15px;color:#ad8e9c;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.event-pill{display:flex;align-items:center;gap:10px;margin:5px 9px 15px;padding:12px;border:1px solid #815868;border-radius:9px;background:#ffffff0d}.event-dot{flex:0 0 11px;width:11px;height:11px;border-radius:50%;background:#e784a1;box-shadow:0 0 0 4px #e784a12a}.event-pill strong,.event-pill small{display:block}.event-pill strong{font-size:12px}.event-pill small{color:#c8aeba}.sidebar nav{display:grid;gap:3px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;color:#d9c5cf;border-radius:7px;font-weight:700;font-size:12px}.sidebar nav a:hover,.sidebar nav a.active{background:#a948683a;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 #e281a0}.nav-icon{width:20px;text-align:center;color:#d896aa;font-size:19px;line-height:1}.sidebar-foot{margin-top:auto;padding:15px;color:#bda8b2;font-size:11px}.sidebar-foot span{display:block}.sidebar-foot button{padding:8px 0;border:0;background:none;color:#fff;font-weight:700}.main{min-width:0;max-width:1600px;width:100%;padding:37px clamp(20px,4vw,60px) 25px}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.top h1{margin:4px 0 0;font:italic 600 36px 'Playfair Display',Georgia,serif}.event-switch{display:flex;align-items:center;gap:13px;padding:10px 15px;margin-bottom:22px;background:#fff;border:1px solid var(--line);border-radius:8px}.event-switch strong{font-size:11px;color:var(--muted)}.event-switch select{width:auto;min-width:230px;border:0;background:#fff;font-weight:800;color:var(--wine)}.event-switch span{margin-left:auto;color:var(--muted);font-size:11px}.notice{padding:12px 17px;margin:0 0 20px;background:#edf7f1;border:1px solid #bcdccb;color:#2a6a45;border-radius:6px;font-weight:700}.panel,.stat{background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 25px #3c203008}.panel{padding:26px;margin-bottom:20px}.panel h2{margin:6px 0 10px}.panel p{color:var(--muted);font-size:13px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:19px}.panel-head h2{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:20px}.form-grid button{align-self:end}.form-grid textarea{min-height:95px}.form-grid label:has(textarea){grid-column:1/-1}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two-cols .panel{min-width:0}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.stat{padding:21px}.stat span,.stat small{display:block;color:var(--muted)}.stat span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.stat strong{display:block;margin:7px 0 1px;font:italic 600 43px 'Playfair Display',Georgia,serif;color:var(--wine)}.stat small{font-size:11px}.url-box{padding:13px;margin:17px 0;background:#f8f1f0;border:1px dashed #d9b9c3;color:var(--wine);word-break:break-all;font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:9px}.steps{padding-left:22px;color:#59434d;line-height:2}.editor-group{margin:26px 0;border:0;border-top:1px solid var(--line);padding:18px 0 0}.editor-group legend{padding:0 12px 0 0;color:var(--wine);font:italic 600 21px 'Playfair Display',Georgia,serif}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:20px}.media-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fff}.media-card strong{min-height:38px;font-size:12px}.media-card input{font-size:10px;padding:7px}.media-preview{height:140px;display:grid;place-items:center;overflow:hidden;background:#f1e8e8;color:#be9fac;font-size:36px}.media-preview img{width:100%;height:100%;object-fit:contain}.media-card button{margin-top:auto}.guest-top .form-grid,.table-top .form-grid{margin-top:16px}.summary-card{background:linear-gradient(135deg,#fffbf9,#f8e9e8)}.stat-line{display:flex;align-items:center;gap:12px;margin:25px 0}.stat-line strong{font:italic 600 45px 'Playfair Display',serif;color:var(--wine)}.stat-line span{color:var(--muted)}.guest-list{display:grid}.guest-row{display:flex;align-items:center;gap:13px;padding:14px 3px;border-top:1px solid var(--line)}.avatar{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:50%;background:#f2dfe5;color:var(--wine);font-weight:800}.guest-info{min-width:0}.guest-info strong,.guest-info span{display:block}.guest-info span{font-size:11px;color:var(--muted)}.guest-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-left:auto}.guest-actions form{display:inline}.mini{display:inline-block;border:1px solid #e0c9d0;border-radius:5px;background:#fff;padding:7px 9px;color:var(--wine);font-size:10px;font-weight:800;white-space:nowrap}.mini:hover{background:#f9edf0}.danger{color:#a8313b}.empty{padding:30px;text-align:center;background:#f9f3f1}.seating-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:20px}.unassigned .drop-zone{display:grid;align-content:start;gap:9px;min-height:280px;padding:13px;border:1px dashed #d4abb9;border-radius:7px;background:#fff8fa}.guest-chip{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:7px 10px;border-radius:6px;background:#fff;border:1px solid #d8bec6;color:#5c2b3e;font-size:11px;cursor:grab}.guest-chip small{color:#9e7886;white-space:nowrap}.board-head{display:flex;justify-content:space-between;margin-bottom:15px;color:var(--wine)}.board-head span{font-size:11px;color:var(--muted)}.seating-board{position:relative;min-height:570px;overflow:hidden;border:1px dashed #d7bdc6;border-radius:12px;background:linear-gradient(90deg,#eddcdd66 1px,transparent 1px),linear-gradient(#eddcdd66 1px,transparent 1px),#fbf5f2;background-size:32px 32px}.table-node{position:absolute;width:160px;min-height:120px;transform:translate(-50%,-50%);padding:8px;border:2px solid #b85b79;border-radius:18px;background:#fff;box-shadow:0 8px 22px #64243e22;text-align:center;touch-action:none}.table-node strong,.table-node span{display:block}.table-node strong{font-size:12px;color:var(--wine)}.table-node span{font-size:10px;color:var(--muted)}.table-grip{font-size:17px;line-height:1;cursor:move;color:#b55877}.table-drop{display:grid;gap:3px;min-height:45px;margin-top:6px}.table-drop .guest-chip{padding:3px 5px;font-size:9px}.drop-zone.is-over,.table-drop.is-over{background:#ffecf1;outline:2px dashed #b34b6c}.assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assignment-row{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:6px}.assignment-row strong{font-size:11px}.assignment-row select{font-size:11px}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo-grid a{display:block;aspect-ratio:1;overflow:hidden;background:#f6eeee}.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-grid a:hover img{transform:scale(1.05)}.wish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.wish-card{padding:22px;background:#fff8f4;border:1px solid #edd7d1;text-align:center}.wish-card span{font-size:28px;color:#b64262}.wish-card p{margin:8px 0;color:#5b414c;font:italic 16px Georgia,serif}.wish-card strong{color:var(--wine);font-size:12px}.access-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.narrow{max-width:650px}.app-footer{padding:24px 0;color:#a3949b;font-size:11px}.toast{position:fixed;right:20px;bottom:20px;z-index:50;padding:13px 17px;background:var(--wine-dark);color:#fff;border-radius:7px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}
@media(max-width:1050px){.stat-grid,.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seating-layout{grid-template-columns:1fr}.unassigned .drop-zone{grid-template-columns:repeat(3,minmax(0,1fr));min-height:90px}.table-node{width:150px}}
@media(max-width:760px){.shell{display:block}.sidebar{position:relative;height:auto;padding:14px}.app-logo{display:block;padding:0 5px 13px;font-size:24px}.sidebar-label,.event-pill,.sidebar-foot{display:none}.sidebar nav{display:flex;overflow-x:auto;padding-bottom:4px}.sidebar nav a{flex:0 0 auto;white-space:nowrap;padding:8px 10px;font-size:11px}.main{padding:24px 15px}.top{align-items:start}.top h1{font-size:30px}.top .outline{font-size:9px;white-space:normal;text-align:center}.event-switch{flex-wrap:wrap}.event-switch select{min-width:0;flex:1}.event-switch span{display:none}.two-cols,.stat-grid,.form-grid,.assignment-grid{grid-template-columns:1fr}.form-grid label:has(textarea){grid-column:auto}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:19px}.panel-head,.guest-row{align-items:start;flex-wrap:wrap}.guest-actions{margin-left:52px}.seating-board{min-height:510px}.unassigned .drop-zone{grid-template-columns:1fr 1fr}.wish-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr 1fr}.assignment-row{grid-template-columns:1fr 120px auto}}
@media(max-width:450px){.media-grid,.wish-grid{grid-template-columns:1fr}.assignment-row{grid-template-columns:1fr 1fr}.assignment-row strong{grid-column:1/-1}.assignment-row button{justify-self:end}.panel-head .actions{width:100%}}
.edit-details{flex:1 0 100%;margin:8px 0 0 53px;padding:8px 0;border-top:1px dashed var(--line)}.edit-details summary{color:var(--wine);cursor:pointer;font-size:11px;font-weight:800}.edit-details .form-grid{margin-top:15px}.subheading{margin:26px 0 12px;color:var(--wine);font-size:16px}.table-edit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table-edit-row{display:grid;grid-template-columns:1fr 90px auto;align-items:end;gap:7px}.table-edit-list>form:nth-child(even){align-self:end}.access-row{flex-wrap:wrap}.access-row .edit-details{margin-left:0}@media(max-width:760px){.table-edit-list{grid-template-columns:1fr}.table-edit-row{grid-template-columns:1fr 80px auto}.edit-details{margin-left:0}}

/* Acceso */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:clamp(16px,3vw,46px);background:radial-gradient(circle at 12% 9%,#f3dce1 0,transparent 32%),radial-gradient(circle at 85% 85%,#e8cbd0 0,transparent 31%),#f7f1f0}
.auth-shell{width:min(1120px,100%);min-height:min(730px,calc(100vh - 92px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;border:1px solid #e4d3d4;border-radius:24px;background:#fff;box-shadow:0 35px 90px #552b3b21,0 5px 20px #552b3b0e}
.auth-story{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:600px;overflow:hidden;padding:clamp(32px,4vw,55px);color:#fff;background:radial-gradient(circle at 77% 24%,#ec75965b 0,transparent 19%),radial-gradient(circle at 25% 78%,#e0698555 0,transparent 24%),linear-gradient(145deg,#62162f 5%,#9c2b50 52%,#49172c 100%)}
.auth-story::before{content:"";position:absolute;z-index:-1;width:560px;height:560px;right:-230px;top:110px;border:1px solid #ffffff35;border-radius:50%;box-shadow:0 0 0 80px #ffffff0b,0 0 0 160px #ffffff09}
.auth-story::after{content:"✦";position:absolute;z-index:-1;right:50px;bottom:105px;color:#ffffff2a;font-size:155px;line-height:1;transform:rotate(-15deg)}
.auth-story-top{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#f7dce3}.auth-symbol{width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;color:#fff;font-size:20px}.auth-story-center{position:relative;margin:70px 0 90px}.auth-story-eyebrow{display:block;margin-bottom:24px;color:#f7c8d3;font-size:10px;font-weight:800;letter-spacing:.24em}.auth-story h2{margin:0;font:600 clamp(40px,4.4vw,65px)/1.09 'Playfair Display',Georgia,serif;letter-spacing:-.045em}.auth-story h2 em{font-weight:600;color:#ffdce7}.auth-story-center p{max-width:360px;margin:27px 0 0;color:#f3d8e0;font-size:15px;line-height:1.8}.auth-story-bottom{display:flex;align-items:center;gap:12px;font-size:9px;font-weight:800;letter-spacing:.17em;color:#f5d6de}.auth-story-bottom i{width:4px;height:4px;border-radius:50%;background:#ffc7d6}
.auth-panel{display:flex;flex-direction:column;min-width:0;padding:clamp(32px,4vw,55px);background:linear-gradient(160deg,#fff 72%,#fffcfa)}.auth-panel-top,.auth-panel-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-panel-kicker{font:italic 600 25px 'Playfair Display',Georgia,serif;color:#69223d}.auth-panel-note{color:#a5848e;font-size:10px;font-weight:700}.auth-panel-note span{margin-left:6px;color:#ba5c7c}.auth-form-wrap{width:min(100%,390px);margin:auto}.auth-form-eyebrow{display:block;margin-bottom:16px;color:#a43d60;font-size:10px;font-weight:800;letter-spacing:.22em}.auth-panel h1{margin:0;color:#2e2028;font:600 clamp(34px,3.3vw,48px)/1.13 'Playfair Display',Georgia,serif;letter-spacing:-.035em}.auth-description{margin:15px 0 31px;color:#806f76;font-size:14px;line-height:1.7}.auth-form{display:grid;gap:18px}.auth-field label{display:block;margin-bottom:8px;color:#594750;font-size:11px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.auth-field input{height:51px;margin:0;padding:0 17px;border:1px solid #dfd3d4;border-radius:9px;background:#fff;color:#2e2028;font-size:14px;font-weight:600;transition:border-color .2s,box-shadow .2s}.auth-field input::placeholder{color:#aa9ca1;font-weight:400}.auth-field input:focus{border-color:#9e3e60;box-shadow:0 0 0 4px #ad41631c}.password-field{position:relative}.password-field input{padding-right:61px}.password-toggle{position:absolute;right:5px;top:5px;width:43px;height:41px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#896d78}.password-toggle:hover,.password-toggle:focus-visible{background:#f8edf0;color:#8b284b;outline:none}.password-toggle svg{width:21px;height:21px}.password-toggle .eye-closed{display:none}.password-toggle[aria-pressed="true"] .eye-open{display:none}.password-toggle[aria-pressed="true"] .eye-closed{display:block}.auth-hint{margin:-6px 0 0;color:#897780;font-size:11px;line-height:1.6}.auth-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:53px;margin-top:6px;padding:0 19px;border:1px solid #782240;border-radius:9px;background:#782240;color:#fff;font-size:13px;font-weight:800;box-shadow:0 10px 20px #78224028;transition:transform .2s,background .2s,box-shadow .2s}.auth-submit:hover{transform:translateY(-2px);background:#9a3157;box-shadow:0 13px 24px #78224035}.auth-submit:focus-visible{outline:3px solid #df8daa;outline-offset:3px}.auth-submit span:last-child{font-size:21px;font-weight:400}.auth-footnote{margin-top:33px;padding-top:19px;border-top:1px solid #eee3e2;color:#99848c;font-size:11px}.auth-footnote span{margin-right:5px;color:#b64f72;font-size:18px}.auth-panel-bottom{color:#aa999f;font-size:10px}.auth-panel-bottom span{padding:0 5px;color:#b94e70}
@media(max-width:800px){.auth-shell{max-width:560px;grid-template-columns:1fr;min-height:0}.auth-story{min-height:0;padding:28px 32px}.auth-story-center{margin:30px 0 22px}.auth-story h2{font-size:31px}.auth-story-center p,.auth-story-bottom{display:none}.auth-panel{min-height:560px;padding:32px}.auth-form-wrap{margin:45px auto}.auth-panel-bottom{margin-top:auto}}
@media(max-width:480px){.auth-page{padding:0;background:#fff}.auth-shell{min-height:100dvh;border:0;border-radius:0;box-shadow:none}.auth-story{padding:22px 24px}.auth-story-top{font-size:9px}.auth-story-center{margin:20px 0 5px}.auth-story-eyebrow{margin-bottom:9px;font-size:8px}.auth-story h2{font-size:26px}.auth-panel{min-height:0;padding:27px 24px 22px}.auth-panel-top{margin-bottom:30px}.auth-panel h1{font-size:34px}.auth-description{margin-bottom:24px}.auth-form-wrap{margin:0 auto 45px}.auth-footnote{margin-top:25px}}

/* Vista previa de secciones */
.editor-group-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:3px 0 17px}.editor-group-toolbar span{color:#9a858d;font-size:11px}.preview-section-button{min-height:35px;padding:7px 13px}.section-preview-dialog{width:min(1320px,calc(100vw - 32px));max-width:none;height:min(940px,calc(100dvh - 28px));max-height:none;margin:auto;padding:0;border:1px solid #dfcdd2;border-radius:17px;background:#fff;box-shadow:0 35px 110px #240e1b75}.section-preview-dialog::backdrop{background:#1b0c16bd;backdrop-filter:blur(7px)}.preview-shell{height:100%;display:flex;flex-direction:column;min-height:0}.preview-header{display:flex;justify-content:space-between;gap:20px;padding:23px 30px 16px;border-bottom:1px solid #eee2e4}.preview-header h2{margin:4px 0 3px;font:italic 600 27px 'Playfair Display',Georgia,serif;color:#422331}.preview-header p{margin:0;color:#94818a;font-size:11px}.preview-close{width:39px;height:39px;flex:0 0 39px;border:1px solid #e3d1d7;border-radius:50%;background:#fff;color:#8a3452;font-size:25px;line-height:1}.preview-close:hover{background:#f8edf0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 30px;background:#fdf9f8;border-bottom:1px solid #eee2e4}.preview-toolbar>span{color:#9b878e;font-size:11px}.preview-devices{display:inline-flex;gap:4px;padding:4px;border:1px solid #e4d5da;border-radius:8px;background:#fff}.preview-devices button{min-width:112px;padding:8px 13px;border:0;border-radius:5px;background:transparent;color:#876e79;font-size:11px;font-weight:800}.preview-devices button.active{background:#852947;color:#fff;box-shadow:0 3px 8px #68243c24}.preview-stage{flex:1;min-height:0;overflow:auto;padding:23px;background:radial-gradient(circle at 50% 30%,#fff,#eee7e7)}.preview-frame{width:100%;height:100%;min-height:520px;margin:auto;overflow:hidden;border:1px solid #e3d6d8;background:#fff;box-shadow:0 14px 35px #4a273024;transition:border-radius .2s ease}.preview-frame iframe{display:block;width:100%;height:100%;min-height:520px;border:0;background:#fff}.section-preview-dialog[data-device="mobile"] .preview-frame{width:min(390px,100%);border:8px solid #2c252b;border-radius:29px;box-shadow:0 25px 40px #34202640}.section-preview-dialog[data-device="mobile"] .preview-frame iframe{min-height:calc(520px - 16px)}.preview-stage.is-loading .preview-frame{opacity:.45}.preview-error{max-width:600px;margin:40px auto;padding:20px;background:#fff;color:#9d294c;text-align:center}.preview-error:not([hidden])+.preview-frame{display:none}
@media(max-width:700px){.editor-group-toolbar{align-items:flex-start;flex-direction:column;gap:9px}.section-preview-dialog{width:100vw;height:100dvh;border:0;border-radius:0}.preview-header{padding:16px}.preview-header h2{font-size:23px}.preview-toolbar{padding:10px 16px}.preview-toolbar>span{display:none}.preview-stage{padding:11px}.preview-devices button{min-width:100px}.preview-frame,.preview-frame iframe{min-height:400px}}

/* Evento activo en la cabecera */
.top{position:sticky;top:0;z-index:35;margin:-37px calc(-1 * clamp(20px,4vw,60px)) 24px;padding:21px clamp(20px,4vw,60px);border-bottom:1px solid #eadfe0;background:#f7f3f1ed;backdrop-filter:blur(16px)}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.active-event{position:relative;flex:0 1 300px;min-width:190px}.active-event-trigger{width:100%;display:flex;align-items:center;gap:11px;padding:8px 12px;border:1px solid #ddcbd1;border-radius:11px;background:#fff;color:#3c2732;text-align:left;box-shadow:0 4px 14px #4f25310b}.active-event-trigger:hover,.active-event-trigger[aria-expanded="true"]{border-color:#af5a75;box-shadow:0 5px 20px #64273b17}.active-event-mark{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:8px;background:#f5e4e9;color:#a33558;font-size:18px}.active-event-text{display:grid;min-width:0;line-height:1.23}.active-event-text small,.client-event-name small{color:#a5838f;font-size:9px;font-weight:800;letter-spacing:.12em}.active-event-text strong,.client-event-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#513042;font-size:13px;font-weight:800}.active-event-chevron{margin-left:auto;color:#9d6d7e;font-size:20px}.active-event-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:60;width:min(360px,calc(100vw - 30px));padding:10px;border:1px solid #e7d9dc;border-radius:12px;background:#fff;box-shadow:0 20px 50px #3a1b2c31}.active-event-menu[hidden],.active-event-option[hidden],.active-event-empty[hidden]{display:none!important}.active-event-menu>label{display:block;padding:6px 8px 8px;color:#8b6f7c;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.active-event-menu input{margin:0 0 8px;padding:9px 11px;font-size:12px}.active-event-list{max-height:320px;overflow-y:auto}.active-event-option{display:flex;align-items:center;gap:10px;padding:10px 9px;border-radius:8px}.active-event-option:hover,.active-event-option.is-active{background:#f7e9ee}.active-event-option span:nth-child(2){display:grid;min-width:0}.active-event-option strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#402d38;font-size:12px}.active-event-option small{color:#9c8490;font-size:10px}.active-event-option.is-active strong,.active-event-option b{color:#a42d54}.event-option-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:#f2dfe6;color:#a42d54}.active-event-option b{margin-left:auto}.active-event-empty{padding:13px;color:#8e7e84;font-size:11px}.client-event-name{display:grid;min-width:0}.public-site-link{min-height:47px}.top-title{min-width:0}

/* Biblioteca de imágenes */
.media-card{gap:8px}.media-preview-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.media-preview-open:focus-visible{outline:3px solid #a4385a;outline-offset:3px}.media-preview-open:disabled{cursor:default}.media-preview{position:relative;height:165px;border-radius:5px;background:#efe7e7;transition:filter .2s}.media-preview-open:hover .media-preview{filter:brightness(.96)}.media-preview.is-light-logo{background:linear-gradient(135deg,#512337,#9a3458)}.media-preview.is-logo{padding:18px}.media-preview img{width:100%;height:100%;object-fit:cover}.media-preview.is-logo img{object-fit:contain}.media-empty-icon{font-size:36px;color:#bb9da9}.media-zoom{display:block;margin-top:6px;color:#9b3555;font-size:10px;font-weight:800}.media-card>strong{min-height:0;color:#3c2b32;line-height:1.35}.media-source{color:#9a858e;font-size:10px}.media-file-label{display:block;margin-top:5px;color:#6c4a58;font-size:10px;font-weight:800}.media-file-label input{display:block;width:100%;margin-top:7px}.media-file-name{min-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9c858e;font-size:10px}.media-card>.outline{width:100%}.media-lightbox{width:min(1000px,calc(100vw - 30px));max-width:none;max-height:calc(100dvh - 30px);padding:0;border:1px solid #e6d7db;border-radius:12px;background:#fff;box-shadow:0 30px 90px #210d19a1}.media-lightbox::backdrop{background:#180b15c9;backdrop-filter:blur(6px)}.media-lightbox-header{display:flex;justify-content:space-between;gap:15px;padding:19px 22px;border-bottom:1px solid #eee1e5}.media-lightbox-header h2{margin:4px 0 2px}.media-lightbox-header p{margin:0;color:#9b8490;font-size:11px}.media-lightbox-close{width:36px;height:36px;flex:0 0 36px;border:1px solid #decbd2;border-radius:50%;background:#fff;color:#8d3453;font-size:24px}.media-lightbox-stage{display:grid;place-items:center;max-height:calc(100dvh - 150px);min-height:260px;padding:20px;overflow:auto;background:#f8f3f3}.media-lightbox-stage img{display:block;max-width:100%;max-height:calc(100dvh - 190px);object-fit:contain}
@media(max-width:760px){.top{top:0;margin:-24px -15px 20px;padding:14px 15px;flex-wrap:wrap;gap:12px}.top-actions{width:100%;justify-content:space-between}.active-event{flex:1;max-width:none}.public-site-link{flex:0 0 auto}.media-preview{height:165px}}
@media(max-width:450px){.top h1{font-size:25px}.active-event{min-width:0}.active-event-trigger{padding:7px}.active-event-text strong{font-size:11px}.public-site-link{font-size:9px;padding:8px}.media-preview{height:190px}}

/* Crear evento desde la cabecera */
.create-event-trigger{min-height:47px;padding:10px 16px;font-size:11px}.create-event-trigger span{margin-right:5px;font-size:18px;font-weight:500;line-height:0}.create-event-dialog{width:min(600px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #ead5dd;border-radius:16px;background:#fff;box-shadow:0 30px 90px #2d142280}.create-event-dialog::backdrop{background:#1b0b17b8;backdrop-filter:blur(6px)}.create-event-modal{padding:30px}.create-event-modal-head{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-bottom:22px;border-bottom:1px solid #eee0e4}.create-event-modal-head h2{margin:7px 0 8px;color:#3c2631;font:italic 600 34px 'Playfair Display',Georgia,serif}.create-event-modal-head p{max-width:420px;margin:0;color:#897780;font-size:12px;line-height:1.6}.create-event-close{width:38px;height:38px;flex:0 0 38px;border:1px solid #e4cfd7;border-radius:50%;background:#fff;color:#92334f;font-size:25px;line-height:1}.create-event-close:hover{background:#f9edf1}.create-event-form{display:grid;gap:18px;padding-top:24px}.create-event-form label{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.create-event-form input{height:48px;margin-top:8px;font-size:13px;text-transform:none}.create-event-form small{display:block;margin-top:7px;color:#9a858d;font-size:10px;font-weight:500;letter-spacing:0;text-transform:none}.create-event-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:9px}.create-event-actions button{min-height:45px}.empty-state{padding:42px;text-align:center}.empty-state h2{margin:8px 0}.empty-state p{margin:0 auto;max-width:430px}
@media(max-width:760px){.top-actions{flex-wrap:wrap}.active-event{flex:1 1 180px}.create-event-trigger{flex:0 0 auto}}
@media(max-width:480px){.create-event-trigger{width:100%}.create-event-dialog{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}.create-event-modal{padding:25px}.create-event-modal-head h2{font-size:30px}.create-event-actions{flex-direction:column-reverse}.create-event-actions button{width:100%}}

/* Navegación del panel */
.shell{grid-template-columns:272px minmax(0,1fr)}
.sidebar{isolation:isolate;overflow:hidden;padding:0 14px 14px;background:radial-gradient(circle at 85% -8%,#88415a55,transparent 38%),linear-gradient(168deg,#351a2a,#281420 80%);border-right:1px solid #794457;color:#f8edf1}
.sidebar::before{content:"";position:absolute;z-index:-1;top:-90px;right:-95px;width:250px;height:250px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 40px #ffffff05,0 0 0 85px #ffffff03;pointer-events:none}
.sidebar-brand-wrap{margin:0 -14px 12px;padding:28px 26px 22px;border-bottom:1px solid #ffffff18}
.sidebar .app-logo{display:flex;align-items:center;gap:12px;padding:0;color:#fff;font-size:25px;line-height:1;white-space:nowrap}
.sidebar .app-logo-emblem{display:grid;flex:0 0 39px;place-items:center;width:39px;height:39px;border:1px solid #eaa5bb90;border-radius:12px;background:linear-gradient(145deg,#b76482,#7a2d4d);color:#fff;font:24px Georgia,serif;box-shadow:0 8px 22px #18071255,inset 0 1px #ffffff60}
.sidebar .app-logo-name{color:#fff}.sidebar .app-logo-name em{font-weight:600;color:#f2b5c9}
.sidebar .app-logo small{margin-top:8px;color:#d8aeba;font-size:8px;letter-spacing:.22em}
.sidebar-brand-caption{display:block;margin:15px 0 0 51px;color:#b998a6;font-size:10px;letter-spacing:.015em}
.sidebar-event{margin:0 3px 15px}.sidebar-event-label,.sidebar-group-title{display:block;padding:0 12px;color:#b58e9d;font-size:9px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.sidebar .event-pill{position:relative;display:flex;min-height:65px;align-items:center;gap:12px;margin:9px 0 0;padding:11px 13px;border:1px solid #bc779071;border-radius:11px;background:linear-gradient(115deg,#ffffff13,#ffffff08);box-shadow:inset 0 1px #ffffff17,0 9px 23px #170a1236}
.sidebar .event-dot{flex:0 0 12px;width:12px;height:12px;background:#efa1bb;box-shadow:0 0 0 5px #e784a12b,0 0 12px #fa9bbacf}
.sidebar .event-pill div{min-width:0}.sidebar .event-pill strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:12px}.sidebar .event-pill small{margin-top:3px;color:#cfb1bd;font-size:10px}.event-pill-spark{margin-left:auto;color:#efb4c8;font-size:15px}
.sidebar-nav-stack{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8c566b transparent;padding:2px 3px 12px}
.sidebar-nav-group{margin:0 0 16px}.sidebar-nav-group+.sidebar-nav-group{padding-top:15px;border-top:1px solid #ffffff12}
.sidebar-group-title{margin:0 0 7px}.sidebar nav{display:grid;gap:3px;overflow:visible;padding:0}
.sidebar nav .sidebar-link{position:relative;display:flex;min-height:43px;align-items:center;gap:11px;padding:9px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:#d8c2cb;font-size:12px;font-weight:600;letter-spacing:.005em;transition:background .18s,color .18s,border-color .18s,transform .18s}
.sidebar nav .sidebar-link:hover,.sidebar nav .sidebar-link:focus-visible{transform:translateX(2px);border-color:#ffffff20;background:#ffffff10;color:#fff;outline:none}
.sidebar nav .sidebar-link.active{border-color:#e49ab84f;background:linear-gradient(105deg,#a34266a6,#743452a6);box-shadow:inset 3px 0 #f1afc6,0 6px 17px #1e0b1738;color:#fff;font-weight:800}
.sidebar .nav-icon{display:grid;flex:0 0 29px;place-items:center;width:29px;height:29px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff0a;color:#dca6b8;font-size:initial}
.sidebar .nav-icon svg{display:block;width:17px;height:17px}.sidebar .sidebar-link.active .nav-icon{border-color:#ffc5d57a;background:#ffffff25;color:#fff}
.sidebar-link-arrow{margin-left:auto;color:#e6aac0;opacity:0;transform:translateX(-3px);font-size:22px;line-height:1;transition:opacity .18s,transform .18s}.sidebar-link:hover .sidebar-link-arrow,.sidebar-link.active .sidebar-link-arrow{opacity:1;transform:none}
.sidebar .sidebar-foot{display:grid;gap:12px;margin:0 -14px -14px;padding:14px 22px 18px;border-top:1px solid #ffffff18;background:#1e101a7d;color:#e9d3dc}
.sidebar-user{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-user-avatar{display:grid!important;flex:0 0 31px;place-items:center;width:31px;height:31px;border:1px solid #d28da4;border-radius:50%;background:#7d3857;color:#fff;font-size:12px;font-weight:800}
.sidebar-user>span:last-child{min-width:0}.sidebar-user strong,.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:11px}.sidebar-user small{color:#b69ba7;font-size:9px}
.sidebar .sidebar-foot form{margin:0}.sidebar .sidebar-foot button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:9px 10px;border:1px solid #ffffff2a;border-radius:7px;background:#ffffff0c;color:#f1dfe6;font-size:10px;letter-spacing:.03em}.sidebar .sidebar-foot button:hover,.sidebar .sidebar-foot button:focus-visible{background:#ffffff20;outline:none}
@media(max-width:760px){
  .shell{display:block}.sidebar{position:relative;display:block;height:auto;padding:12px 14px 0;border-right:0;border-bottom:1px solid #794457}
  .sidebar-brand-wrap{margin:0 0 10px;padding:2px 0 13px;border-bottom:0}.sidebar .app-logo{font-size:24px}.sidebar .app-logo-emblem{width:34px;height:34px;flex-basis:34px;font-size:21px}.sidebar .app-logo small{margin-top:5px}.sidebar-brand-caption{display:none}
  .sidebar-event{margin:0 0 13px}.sidebar-event-label{padding:0 2px;font-size:8px}.sidebar .event-pill{min-height:47px;margin-top:5px;padding:7px 11px}.sidebar .event-pill strong{font-size:11px}.sidebar .event-pill small{font-size:9px}
  .sidebar-nav-stack{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;margin:0 -14px;padding:0 14px 11px;scroll-snap-type:x proximity}
  .sidebar-nav-group,.sidebar-nav-group+.sidebar-nav-group{flex:0 0 auto;margin:0;padding:0;border:0}.sidebar-group-title{display:none}.sidebar nav{display:flex;gap:6px;padding:0;overflow:visible}
  .sidebar nav .sidebar-link{flex:0 0 auto;min-height:37px;gap:6px;padding:5px 10px;scroll-snap-align:start;white-space:nowrap;font-size:10px}.sidebar .nav-icon{flex-basis:25px;width:25px;height:25px}.sidebar .nav-icon svg{width:15px;height:15px}.sidebar-link-arrow{display:none}
  .sidebar .sidebar-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 -14px;padding:9px 14px}.sidebar-user-avatar{width:26px;height:26px;flex-basis:26px}.sidebar .sidebar-foot form{flex:0 0 auto}.sidebar .sidebar-foot button{width:auto;gap:12px;padding:6px 9px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.sidebar nav .sidebar-link,.sidebar-link-arrow{transition:none}.sidebar nav .sidebar-link:hover{transform:none}}
@media(min-width:761px){.sidebar-brand-wrap{padding-top:23px;padding-bottom:17px}.sidebar-event{margin-bottom:12px}.sidebar .event-pill{min-height:59px}.sidebar-nav-group{margin-bottom:10px}.sidebar-nav-group+.sidebar-nav-group{padding-top:11px}.sidebar nav{gap:1px}.sidebar nav .sidebar-link{min-height:39px;padding:5px 10px}.sidebar .nav-icon{flex-basis:27px;width:27px;height:27px}.sidebar .sidebar-foot{gap:8px;padding-top:10px;padding-bottom:12px}}

/* Plano de mesas y sillas */
.table-create-form{grid-template-columns:1.2fr .7fr .9fr auto;align-items:end}.table-create-form .primary{min-width:130px}
.table-summary-count{display:flex;align-items:baseline;gap:9px;margin:19px 0 22px;padding:14px 16px;border:1px solid #efdadf;border-radius:9px;background:#fff7f8}.table-summary-count strong{font:italic 600 32px 'Playfair Display',Georgia,serif;color:#873252}.table-summary-count span{color:#826c76;font-size:11px;font-weight:700}
.seating-layout{grid-template-columns:minmax(200px,250px) minmax(0,1fr);align-items:start}.unassigned>p,.board-help{color:#8a747d;font-size:11px;line-height:1.6}.unassigned .drop-zone{min-height:220px}.board-panel{min-width:0}.board-head{align-items:end;gap:18px}.board-head .eyebrow{display:block;margin-bottom:4px}.board-head strong{display:block;font-size:17px}.board-head>span{max-width:370px;text-align:right;line-height:1.5}.board-scroll{max-width:100%;max-height:820px;overflow:auto;border:1px solid #e5cbd3;border-radius:12px;scrollbar-color:#c58a9e #f8f0f1}.seating-board{width:100%;min-width:1200px;height:900px;min-height:900px;overflow:visible;border:0;border-radius:0;background-color:#fbf7f6;background-image:linear-gradient(90deg,#eadfe166 1px,transparent 1px),linear-gradient(#eadfe166 1px,transparent 1px),radial-gradient(circle at 50% 50%,#fff 2px,transparent 3px);background-size:32px 32px,32px 32px,160px 160px}.board-help{margin:12px 0 0}
.table-node{position:absolute;z-index:1;width:252px;height:252px;min-height:0;transform:translate(-50%,-50%);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center;touch-action:none}.table-node.shape-banquet{width:324px;height:236px}.table-node.is-large{width:342px;height:342px}.table-node.shape-banquet.is-large{width:390px;height:286px}.table-node:hover,.table-node:focus-within{z-index:10}.table-node.is-moving,.table-node.is-rotating{z-index:20}.table-rotor{position:absolute;inset:0;transform:rotate(var(--turn));transform-origin:center;transition:transform .25s ease;pointer-events:none}.table-node.is-rotating .table-rotor{transition:none}.table-drop{position:absolute;inset:0;display:block;min-height:0;margin:0;padding:0;pointer-events:none}.table-surface{position:absolute;inset:22%;display:grid;place-items:center;border:2px solid #be6d87;border-radius:50%;background:linear-gradient(145deg,#fffdfa,#fff1f4);box-shadow:0 10px 23px #73374c22,inset 0 0 0 5px #fff;pointer-events:auto}.shape-square .table-surface{inset:23%;border-radius:17px}.shape-banquet .table-surface{inset:30% 15%;border-radius:17px}.table-node.is-over .table-surface{background:#ffe8ef;box-shadow:0 0 0 5px #b34b6c55}.table-grip{display:grid;place-content:center;width:100%;height:100%;padding:8px;color:#7f294a;cursor:grab;touch-action:none;pointer-events:auto}.table-grip:active{cursor:grabbing}.table-grip:focus-visible{outline:3px solid #b35a77;outline-offset:-5px;border-radius:inherit}.table-grip>span{display:block;color:#b55275;font-size:18px;line-height:1}.table-grip strong{display:block;margin-top:3px;font-size:12px;line-height:1.1;overflow-wrap:anywhere}.table-grip small{display:block;margin-top:4px;color:#927985;font-size:9px;font-weight:700}.table-rotate-grip{position:absolute;z-index:3;right:-8px;top:-8px;display:grid;place-items:center;width:35px;height:35px;padding:0;border:1px solid #c77791;border-radius:50%;background:#fff;color:#953f60;font-size:23px;line-height:1;box-shadow:0 5px 15px #6c2a4226;cursor:grab;touch-action:none}.table-rotate-grip:hover,.table-rotate-grip:focus-visible{background:#8b3152;color:#fff;outline:none}.table-rotate-grip:active{cursor:grabbing}
.seat-chair{position:absolute;z-index:2;display:grid;place-items:center;width:27px;height:27px;padding:0;border:1.5px solid #bda4ab;border-radius:50%;background:#fff;color:#8c7080;transform:translate(-50%,-50%);box-shadow:0 2px 5px #693b4c25;pointer-events:auto;touch-action:none}.seat-chair.is-occupied{border-color:#a44163;background:#aa4166;color:#fff;cursor:grab}.seat-chair.is-occupied:active{cursor:grabbing}.seat-chair:hover,.seat-chair:focus-visible{z-index:15;outline:2px solid #fff;box-shadow:0 0 0 3px #a43e62,0 6px 18px #42203042}.seat-figure{position:relative;display:block;width:16px;height:16px}.seat-figure::before{content:"";position:absolute;top:2px;left:6px;width:5px;height:5px;border:1.4px solid currentColor;border-radius:50%}.seat-figure::after{content:"";position:absolute;bottom:2px;left:3px;width:11px;height:5px;border:1.4px solid currentColor;border-radius:8px 8px 2px 2px}.is-empty .seat-figure::before{content:"";top:3px;left:3px;width:10px;height:7px;border-radius:3px 3px 1px 1px}.is-empty .seat-figure::after{content:"";bottom:2px;left:2px;width:12px;height:4px;border-top:0;border-radius:0 0 2px 2px}
.seat-tooltip{position:absolute;z-index:30;bottom:calc(100% + 9px);left:50%;display:block;width:max-content;min-width:76px;max-width:170px;padding:7px 9px;border-radius:6px;background:#321825;color:#fff;font-size:10px;font-weight:700;line-height:1.3;overflow-wrap:anywhere;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) rotate(var(--counter-turn)) translateY(4px);box-shadow:0 7px 20px #220b16a1}.seat-tooltip::after{content:"";position:absolute;top:100%;left:50%;border:5px solid transparent;border-top-color:#321825;transform:translateX(-50%)}.seat-chair:hover .seat-tooltip,.seat-chair:focus-visible .seat-tooltip,.seat-chair.is-revealed .seat-tooltip{opacity:1;visibility:visible;transform:translateX(-50%) rotate(var(--counter-turn)) translateY(0)}
.table-edit-list{gap:12px}.table-edit-card{padding:14px;border:1px solid #ead9dd;border-radius:9px;background:#fff}.table-edit-row{grid-template-columns:minmax(110px,1fr) minmax(110px,.9fr) 82px 92px auto;align-items:end}.table-edit-card>form:last-child{margin-top:10px}.assignment-row strong small{display:block;color:#9a7885;font-size:9px;font-weight:600}.companion-names-field{grid-column:1/-1}.companion-names-field textarea{min-height:70px}
@media(max-width:1250px){.table-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.table-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.table-edit-row .mini{grid-column:1/-1}}
@media(max-width:1050px){.seating-layout{grid-template-columns:1fr}.unassigned .drop-zone{min-height:80px}}
@media(max-width:760px){.board-head{align-items:start;flex-direction:column}.board-head>span{text-align:left}.board-panel{padding:14px}.seating-layout{gap:12px}.table-create-form{grid-template-columns:1fr 1fr}.table-create-form .primary{grid-column:1/-1}.assignment-row{grid-template-columns:minmax(0,1fr) 125px auto}.board-scroll{max-height:620px}.table-edit-row{grid-template-columns:1fr 1fr}.table-edit-row .mini{grid-column:1/-1}}
@media(max-width:470px){.table-create-form{grid-template-columns:1fr}.table-create-form .primary{grid-column:auto}.assignment-row{grid-template-columns:1fr 1fr}.assignment-row strong{grid-column:1/-1}.assignment-row .mini{justify-self:end}}
@media(prefers-reduced-motion:reduce){.table-rotor,.seat-tooltip{transition:none}}
/* El plano ocupa el ancho principal; la lista pendiente queda encima como bandeja. */
.seating-layout{grid-template-columns:minmax(0,1fr)}
.unassigned .drop-zone{display:flex;flex-wrap:wrap;align-content:flex-start;gap:9px;min-height:82px;padding:11px}
.unassigned .guest-chip{min-width:150px;max-width:240px}
@media(max-width:760px){.unassigned .drop-zone{display:flex;min-height:70px}.unassigned .guest-chip{flex:1 1 145px}}

/* Editor de contenido por secciones */
.content-editor{max-width:1480px}.content-editor-intro{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:145px;margin-bottom:16px;padding:27px 31px;overflow:hidden;background:linear-gradient(110deg,#fffdfa 0%,#fff8f8 72%,#f8e8ed 100%)}
.content-editor-intro::before{content:"";position:absolute;right:90px;top:-70px;width:210px;height:210px;border:1px solid #b9637c2a;border-radius:50%;box-shadow:0 0 0 34px #b9637c0a,0 0 0 67px #b9637c08;pointer-events:none}.content-editor-intro>div:first-child{position:relative;z-index:1}.content-editor-intro h2{margin:7px 0 8px;font:italic 600 clamp(25px,2.4vw,34px) 'Playfair Display',Georgia,serif;color:#38202b}.content-editor-intro p{max-width:670px;margin:0;color:#806c75;font-size:12px;line-height:1.6}.content-editor-intro-mark{position:relative;z-index:1;display:grid;flex:0 0 64px;place-items:center;width:64px;height:64px;border:1px solid #dbb7c4;border-radius:20px;background:linear-gradient(145deg,#fff,#f7e6ec);color:#a74365;font-size:30px;box-shadow:0 10px 24px #93436017}
.content-editor-form{padding-bottom:105px}.content-section-nav{position:sticky;top:var(--content-nav-offset,88px);z-index:30;margin-bottom:17px;padding:7px 8px 8px;border:1px solid #e9d9dd;border-radius:12px;background:#fffdfbf2;box-shadow:0 10px 30px #3d203013;backdrop-filter:blur(16px)}.content-section-nav-scroll{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d6b3bf transparent;scroll-snap-type:x proximity;padding:2px 1px 5px}.content-section-tab{display:flex;flex:1 0 auto;min-width:110px;min-height:43px;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border:1px solid transparent;border-radius:8px;color:#765f69;font-size:11px;font-weight:800;white-space:nowrap;scroll-snap-align:center;transition:background .18s,color .18s,box-shadow .18s}.content-section-tab:hover,.content-section-tab:focus-visible{background:#f9eef1;color:#7e2547;outline:none}.content-section-tab.is-active{border-color:#8a3152;background:linear-gradient(110deg,#7b2342,#a14063);color:#fff;box-shadow:0 5px 13px #6f24443b}.content-section-number{color:#b75f7b;font-size:9px;font-weight:800;letter-spacing:.07em}.content-section-tab.is-active .content-section-number{color:#f4cbd8}.content-nav-hint{display:none}
.content-editor-stage{min-height:410px}.content-editor .editor-group{min-width:0;margin:0 0 17px;padding:27px 30px 33px;border:1px solid #e8d9dc;border-radius:12px;background:#fffdfc;box-shadow:0 12px 32px #4325370b}.content-editor .editor-group[hidden]{display:none}.content-editor .editor-legend-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.editor-group-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #efdfdf}.editor-section-index{display:block;margin-bottom:8px;color:#b24a6d;font-size:10px;font-weight:800;letter-spacing:.18em}.editor-group-head h3{margin:0 0 6px;color:#38202b;font:italic 600 clamp(24px,2vw,30px) 'Playfair Display',Georgia,serif}.editor-group-head p{margin:0;color:#937d87;font-size:12px;line-height:1.5}.editor-group-head .preview-section-button{flex:0 0 auto;min-height:39px;padding:8px 15px;background:#fff;color:#842c4e}.editor-group-head .preview-section-button:hover{background:#fff4f7}.content-editor .form-grid{gap:21px 24px;margin-top:26px}.content-editor .form-grid label{color:#604b54;font-size:11px;letter-spacing:.025em}.content-editor .form-grid input,.content-editor .form-grid textarea{min-height:47px;margin-top:8px;padding:12px 14px;border-color:#e1cfd3;background:#fff;color:#2d2328;font-size:13px;box-shadow:0 1px 2px #43253705}.content-editor .form-grid textarea{min-height:112px;line-height:1.55}.content-editor .form-grid input:focus,.content-editor .form-grid textarea:focus{border-color:#b34d70;box-shadow:0 0 0 4px #a6385a18}
.content-editor-footer{position:sticky;bottom:14px;z-index:29;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 14px 12px 17px;border:1px solid #e4cfd5;border-radius:12px;background:#fffdfcf0;box-shadow:0 16px 44px #42223524;backdrop-filter:blur(16px)}.content-editor-pagination,.content-save-actions{display:flex;align-items:center;gap:10px}.content-editor-pagination .outline{min-height:36px;padding:7px 11px}.content-editor-pagination .outline:disabled{opacity:.42;cursor:not-allowed}.content-editor-pagination>span{min-width:105px;color:#806974;font-size:10px;font-weight:800;text-align:center}.content-save-state{color:#9c8990;font-size:10px;font-weight:700;white-space:nowrap}.content-save-state.is-dirty{color:#a0375b}.content-save-state.is-dirty::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#cc557b}.content-publish-button{min-height:39px;padding:8px 15px}
@media(max-width:1150px){.content-section-tab{min-width:105px;flex-grow:0}.content-nav-hint{display:block;padding:1px 8px 0;color:#aa9099;font-size:9px;text-align:right}.content-editor-footer{flex-wrap:wrap}.content-save-actions{margin-left:auto}}
@media(max-width:760px){.content-editor-intro{min-height:0;padding:22px}.content-editor-intro-mark{display:none}.content-editor-intro h2{font-size:27px}.content-section-nav{margin:0 -5px 14px;border-radius:0 0 10px 10px}.content-section-tab{min-height:40px;min-width:auto;padding:7px 11px;font-size:10px}.content-editor .editor-group{padding:21px 18px 25px}.editor-group-head{align-items:start;flex-direction:column;padding-bottom:17px}.editor-group-head .preview-section-button{width:100%}.content-editor .form-grid{gap:16px;margin-top:18px}.content-editor-footer{bottom:0;margin:0 -15px;padding:10px 15px;border-radius:10px 10px 0 0;gap:9px}.content-editor-pagination,.content-save-actions{width:100%;justify-content:space-between}.content-save-actions{margin:0}.content-editor-pagination .outline{font-size:10px}.content-save-state{font-size:9px}.content-publish-button{font-size:10px}.content-editor-form{padding-bottom:118px}}
@media(max-width:430px){.content-editor-pagination>span{min-width:75px;font-size:9px}.content-editor-pagination .outline{padding:7px 8px}.content-publish-button{padding:8px 10px;white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){.content-section-tab{transition:none}}
/* Selector de fecha y hora del contador */
.countdown-fields{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.7fr);gap:14px 18px;padding:18px;border:1px solid #ead4dc;border-radius:10px;background:linear-gradient(110deg,#fffaf9,#fff4f7)}
.content-editor .countdown-fields input,.content-editor .countdown-fields select{width:100%;min-height:48px;margin-top:8px;padding:10px 13px;border:1px solid #ddc9d0;border-radius:7px;background:#fff;color:#3b2931;font-size:13px}
.content-editor .countdown-fields input:focus,.content-editor .countdown-fields select:focus{border-color:#ad4b6d;box-shadow:0 0 0 4px #a6385a18;outline:none}
.countdown-fields small{grid-column:1/-1;color:#927883;font-size:10px;font-weight:500;letter-spacing:0}
@media(max-width:650px){.countdown-fields{grid-template-columns:1fr;padding:15px}.countdown-fields small{grid-column:auto}}

/* Lista de canciones en el editor */
.music-manager{grid-column:1/-1;min-width:0;margin-top:3px;border:1px solid #ead8de;border-radius:11px;background:#fff;overflow:hidden}
.music-manager-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:linear-gradient(110deg,#fff8fa,#fffdfc);border-bottom:1px solid #eee0e3}.music-manager-head h4{margin:5px 0 4px;color:#402633;font:italic 600 23px 'Playfair Display',Georgia,serif}.music-manager-head p{margin:0;color:#8a737c;font-size:11px;line-height:1.5}.music-manager-head .primary{flex:0 0 auto}.music-manager-head .primary:disabled{opacity:.5;cursor:not-allowed}
.music-table-scroll{max-width:100%;overflow-x:auto;scrollbar-color:#d4a7b8 #fff4f7}.music-editor-table{width:100%;min-width:720px;border-collapse:collapse;text-align:left}.music-editor-table th{padding:12px 16px;background:#fbf5f5;color:#9b7483;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.music-editor-table th:first-child,.music-editor-table td:first-child{width:58px;text-align:center}.music-editor-table th:last-child,.music-editor-table td:last-child{width:260px}.music-editor-table td{padding:13px 16px;border-top:1px solid #f0e5e7;color:#62515a;font-size:11px}.music-editor-table tbody tr:hover{background:#fff9fa}.music-editor-table td strong{color:#35252d;font-size:12px}.music-editor-table .music-row-number{color:#b25171;font-size:10px;font-weight:800}.music-youtube-link{display:inline-flex;align-items:center;gap:4px;color:#9d3154;font-size:10px;font-weight:800;white-space:nowrap}.music-youtube-link:hover{text-decoration:underline}.music-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.music-row-actions button{min-height:29px;padding:5px 8px;border:1px solid #e5cdd5;border-radius:5px;background:#fff;color:#803350;font-size:10px;font-weight:800;white-space:nowrap}.music-row-actions button:hover,.music-row-actions button:focus-visible{border-color:#b6637e;background:#fff3f6;outline:none}.music-row-actions .music-delete-button{color:#a33a4c}.music-row-actions button:disabled{opacity:.35;cursor:not-allowed}.music-manager-empty{margin:0;padding:24px;text-align:center;color:#917a83;font-size:12px}.music-manager-count{margin:0;padding:11px 21px;border-top:1px solid #f0e5e7;color:#9a7d88;font-size:10px;font-weight:700}
.music-track-dialog{width:min(510px,calc(100vw - 26px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #e7d0d9;border-radius:16px;background:#fffdfd;box-shadow:0 32px 90px #2d101f8a}.music-track-dialog::backdrop{background:#230e1ac7;backdrop-filter:blur(5px)}.music-track-modal{padding:27px}.music-track-modal-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid #efdee3}.music-track-modal-head h4{margin:5px 0 0;color:#3e2530;font:italic 600 28px 'Playfair Display',Georgia,serif}.music-modal-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e8d3db;border-radius:50%;background:#fff;color:#8d3655;font-size:22px}.music-modal-close:hover{background:#fff0f4}.music-track-modal-fields{display:grid;gap:16px;margin-top:19px}.music-track-modal-fields label{display:block;color:#654d58;font-size:11px;font-weight:800}.music-track-modal-fields input{display:block;width:100%;min-height:45px;margin-top:7px;padding:10px 12px;border:1px solid #dfcbd2;border-radius:7px;background:#fff;color:#342630;font-size:13px;font-weight:500}.music-track-modal-fields input:focus{border-color:#ad4b6d;box-shadow:0 0 0 4px #a6385a18;outline:none}.music-track-modal-error{margin:15px 0 0;padding:10px 12px;border:1px solid #e8b6c3;border-radius:6px;background:#fff4f6;color:#a72c50;font-size:11px}.music-track-modal-error[hidden]{display:none}.music-track-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}
@media(max-width:760px){.music-manager-head{align-items:stretch;flex-direction:column;padding:17px}.music-manager-head .primary{width:100%}.music-track-modal{padding:21px}.music-track-modal-actions button{flex:1}.music-editor-table{min-width:680px}}

.editor-head-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.editor-head-actions .editor-media-jump{min-height:39px;padding:8px 13px;background:#fff8fa;color:#8d3454}.editor-media{margin-top:34px;padding-top:25px;border-top:1px solid #efdfdf}.editor-media-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.editor-media-head h4{margin:4px 0 3px;color:#38202b;font:italic 600 23px 'Playfair Display',Georgia,serif}.editor-media-head p{margin:0;color:#937d87;font-size:11px}.editor-media-count{flex:0 0 auto;padding:6px 10px;border-radius:20px;background:#f9edf1;color:#9b3c5d;font-size:10px;font-weight:800}.editor-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px}.editor-media-card{padding:11px;border-color:#ecdcdf;box-shadow:0 4px 14px #3e233009}.editor-media-card .media-preview{height:130px}.editor-media-card>strong{font-size:11px}.editor-media-card .media-file-label input{padding:6px;font-size:10px}.editor-media-upload:disabled{opacity:.55;cursor:not-allowed}.editor-media-message{display:block;margin-top:1px;color:#386d50;font-size:10px;font-weight:700;line-height:1.4}.editor-media-message.is-error{color:#a32f50}.editor-media-message[hidden]{display:none}
@media(max-width:760px){.editor-head-actions{width:100%;flex-wrap:wrap}.editor-head-actions .outline{flex:1}.editor-media{margin-top:27px}.editor-media-head{align-items:start;flex-direction:column;gap:8px}.editor-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-media-card .media-preview{height:120px}}
@media(max-width:490px){.editor-media-grid{grid-template-columns:1fr}.editor-media-card .media-preview{height:175px}}

/* Plano: controles y listado compacto de mesas. */
.board-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px}.board-head-actions>span{max-width:360px;color:#8c7880;font-size:11px;text-align:right}.board-expand{flex:0 0 auto;min-height:36px;padding:7px 12px}.board-panel:fullscreen,.board-panel.is-board-fullscreen{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;width:100vw;height:100dvh;max-width:none;margin:0;padding:18px;border:0;border-radius:0;background:#fffaf9}.board-panel:fullscreen .board-scroll,.board-panel.is-board-fullscreen .board-scroll{flex:1;max-height:none;min-height:0}.board-panel:fullscreen .seating-board,.board-panel.is-board-fullscreen .seating-board{width:max(1200px,100%);height:max(900px,100%)}.board-panel:fullscreen .board-help,.board-panel.is-board-fullscreen .board-help{margin:8px 0 0}.board-fullscreen-open{overflow:hidden}
.table-delete-grip{position:absolute;z-index:4;top:-8px;left:-8px;display:grid;place-items:center;width:35px;height:35px;padding:0;border:1px solid #e1a5b4;border-radius:50%;background:#fff;color:#a33354;font-size:23px;line-height:1;box-shadow:0 5px 15px #6c2a4226}.table-delete-grip:hover,.table-delete-grip:focus-visible{border-color:#a33354;background:#a33354;color:#fff;outline:none}
.seat-trigger{display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.seat-trigger:focus-visible{outline:3px solid #741934;outline-offset:3px}.seat-chair.is-revealed{z-index:25}.seat-chair.is-revealed .seat-tooltip,.seat-chair:hover .seat-tooltip,.seat-chair:focus-within .seat-tooltip{pointer-events:auto}.seat-tooltip{min-width:170px;max-width:225px;padding:10px;text-align:left}.seat-person-name{display:block!important;color:#fff!important;font-size:11px!important;font-weight:800}.seat-person-note{display:block!important;margin:3px 0 8px;color:#e8c8d3!important;font-size:9px!important;font-weight:600}.seat-actions{display:flex!important;gap:5px}.seat-actions button{flex:1;min-height:30px;padding:5px 7px;border:1px solid #ffffff69;border-radius:5px;background:#fff;color:#711c38;font-size:10px;font-weight:800;white-space:nowrap}.seat-actions .seat-unassign{background:transparent;color:#fff}.seat-actions button:hover{background:#fce4ec;color:#711c38}.seat-actions .seat-move{touch-action:none}.seat-chair.is-tooltip-below .seat-tooltip{top:calc(100% + 9px);bottom:auto}.seat-chair.is-tooltip-below .seat-tooltip::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#321825}
.seat-drag-ghost{position:fixed;z-index:2000;display:grid;place-items:center;width:48px;height:48px;border:2px solid #fff8d2;border-radius:50%;background:linear-gradient(145deg,#ffcf55,#d88022);box-shadow:0 9px 27px #43172888,0 0 0 6px #ffcf5540;pointer-events:none;transform:translate(-50%,-50%) scale(1.18);animation:seat-pickup .18s ease-out}.seat-drag-ghost svg{width:32px;height:32px;fill:#fff9e8;stroke:#8a420b;stroke-width:2.4;stroke-linecap:round}.is-guest-target .table-surface{background:#ffe6ac!important;box-shadow:0 0 0 7px #f2b94188,0 10px 25px #7c3b2460!important}.drop-zone.is-guest-target{outline:3px solid #e5a330;background:#fff5dd}.is-guest-moving .table-node:not(.is-guest-target){transition:filter .2s}.is-guest-moving .table-node.is-guest-target{z-index:30}@keyframes seat-pickup{from{opacity:.3;transform:translate(-50%,-50%) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) scale(1.18)}}
.table-list-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:32px 0 14px;padding-top:25px;border-top:1px solid #eee1e3}.table-list-head h3{margin:4px 0 3px;color:#39232e;font:italic 600 24px 'Playfair Display',Georgia,serif}.table-list-head p{margin:0!important;font-size:11px!important}.table-list-count{flex:0 0 auto;padding:7px 11px;border-radius:20px;background:#f8eaf0;color:#963553;font-size:10px;font-weight:800}.table-list-scroll{max-width:100%;overflow-x:auto;border:1px solid #eadbe0;border-radius:10px;background:#fff}.table-list{width:100%;min-width:670px;border-collapse:collapse}.table-list th{padding:12px 14px;background:#fbf5f6;color:#9b7c87;font-size:10px;font-weight:800;letter-spacing:.1em;text-align:left;text-transform:uppercase}.table-list td{padding:12px 14px;border-top:1px solid #f0e5e8;color:#6d5660;font-size:11px}.table-list tbody tr:hover{background:#fff9fa}.table-list td:first-child{white-space:nowrap}.table-list td strong{color:#3c2731;font-size:12px}.table-list-icon{display:inline-grid;place-items:center;width:27px;height:27px;margin-right:8px;border-radius:7px;background:#f9eaf0;color:#9a3e5d;font-size:19px;font-weight:700;vertical-align:middle}.table-occupancy{display:inline-block;min-width:52px;padding:4px 7px;border-radius:15px;background:#edf7f0;color:#367651;font-size:10px;font-weight:800;text-align:center}.table-occupancy.is-full{background:#fff0e8;color:#9b5833}.table-list-actions{display:flex;gap:6px}.table-list-actions .mini{min-height:30px}.table-list-actions .danger{border-color:#e7c7d0}
.assignment-details{margin:18px 0 0;border:1px solid #ecdce0;border-radius:9px;background:#fff}.assignment-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;color:#702741;font-size:11px;font-weight:800;cursor:pointer;list-style:none}.assignment-details summary::-webkit-details-marker{display:none}.assignment-details summary::before{content:'▸';margin-right:3px;color:#ac5270}.assignment-details[open] summary::before{content:'▾'}.assignment-details summary span{margin-left:auto;color:#947d87;font-size:10px;font-weight:600}.assignment-details .assignment-grid{padding:0 14px 14px}
.table-edit-dialog{width:min(540px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #e6d2da;border-radius:14px;background:#fff;box-shadow:0 30px 90px #24101ba1}.table-edit-dialog::backdrop{background:#230d1bbd;backdrop-filter:blur(4px)}.table-edit-modal{padding:26px}.table-edit-modal-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid #f0e3e6}.table-edit-modal-head h3{margin:5px 0 0;color:#402630;font:italic 600 28px 'Playfair Display',Georgia,serif}.table-edit-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e5d0d8;border-radius:50%;background:#fff;color:#9d3658;font-size:22px}.table-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.table-edit-form label:first-of-type{grid-column:1/-1}.table-edit-form label{min-width:0}.table-edit-form p{grid-column:1/-1;margin:0!important;color:#917b85;font-size:11px!important}.table-edit-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:7px}
@media(max-width:760px){.board-head-actions{width:100%;justify-content:space-between}.board-head-actions>span{text-align:left}.board-expand{font-size:10px}.table-list-head{align-items:start;flex-direction:column}.board-panel:fullscreen,.board-panel.is-board-fullscreen{padding:10px}.board-panel:fullscreen .board-help,.board-panel.is-board-fullscreen .board-help{display:none}}
@media(max-width:480px){.board-head-actions{align-items:start;flex-direction:column;gap:8px}.table-edit-form{grid-template-columns:1fr}.table-edit-form label:first-of-type{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.seat-drag-ghost{animation:none}}

.board-head-actions{flex-wrap:wrap;gap:10px}.board-zoom{display:inline-flex;align-items:center;flex:0 0 auto;height:36px;overflow:hidden;border:1px solid #dfc7d0;border-radius:8px;background:#fff;box-shadow:0 3px 10px #70354b0d}.board-zoom button{display:grid;place-items:center;min-width:36px;height:100%;padding:0 8px;border:0;background:transparent;color:#822c4b;font-size:19px;font-weight:700;line-height:1}.board-zoom button:hover:not(:disabled),.board-zoom button:focus-visible{background:#faedf2;outline:none}.board-zoom button:disabled{color:#c7b4bc;cursor:not-allowed}.board-zoom #board-zoom-reset{min-width:63px;border-right:1px solid #f0e3e7;border-left:1px solid #f0e3e7;font-size:10px;font-weight:800;white-space:nowrap}.board-zoom output{font:inherit}.seating-board{margin-inline:auto}
.board-scroll{height:820px}.board-panel:fullscreen .board-scroll,.board-panel.is-board-fullscreen .board-scroll{height:auto}
@media(max-width:760px){.board-head-actions{justify-content:flex-start}.board-head-actions>span{flex:1 0 100%;max-width:none}.board-expand{min-height:36px}}

/* Lugares numerados y movimiento de personas sobre el plano. */
.seat-number{position:absolute;right:-10px;bottom:-10px;display:grid!important;place-items:center;min-width:18px;height:18px;padding:0 3px;border:1px solid #d9a8b8;border-radius:9px;background:#fff;color:#842c4d!important;font-size:10px!important;font-weight:900!important;line-height:1;box-shadow:0 1px 4px #5b243f30;pointer-events:none}
.seat-chair.is-guest-target{z-index:35;outline:0;box-shadow:0 0 0 5px #ffc85e,0 0 0 10px #ffc85e55,0 7px 22px #57223766;transform:translate(-50%,-50%) scale(1.28);transition:transform .16s ease,box-shadow .16s ease}
.seat-chair.is-guest-target .seat-number{background:#ffe19d;border-color:#e3a83f}
.seat-chair.is-seat-landing{animation:seat-land .58s ease-out}
.seat-chair.is-being-moved{opacity:.35}
.is-guest-moving .seat-tooltip{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.guest-chip.is-being-moved{opacity:.42}
.unassigned .guest-chip{touch-action:none;user-select:none}
.seat-drag-ghost{display:flex;flex-direction:column;align-items:center;gap:4px;width:auto;height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:translate(-50%,-50%) scale(1.12);filter:drop-shadow(0 12px 11px #3b152a66);animation:seat-lift .2s cubic-bezier(.18,.8,.25,1) both}
.seat-drag-person{display:grid;place-items:center;width:50px;height:50px;border:2px solid #fff5d2;border-radius:50%;background:linear-gradient(145deg,#ffe69b,#e9a839 52%,#ae5c31);box-shadow:0 0 0 6px #ffdc7947,0 3px 10px #481d2870}
.seat-drag-ghost svg{width:32px;height:32px}
.seat-drag-label{display:block;max-width:156px;padding:5px 9px;border:1px solid #f8dfb3;border-radius:12px;background:#fffdf9;color:#67233c;font-size:11px;font-weight:800;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 5px 14px #3b152a35}
.seat-drag-ghost.is-dropping{filter:drop-shadow(0 16px 16px #3b152a70)}
.banquet-end-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;margin:0;padding:13px 15px;border:1px solid #e7cbd4;border-radius:9px;background:#fff8fa}.banquet-end-options[hidden]{display:none}.banquet-end-options legend{padding:0 5px;color:#7b2948;font-size:11px;font-weight:800}.banquet-end-options label,.table-edit-form .banquet-end-options label{display:flex;grid-column:auto;align-items:center;gap:8px;padding:9px 11px;border:1px solid #ead9df;border-radius:7px;background:#fff;color:#583c49;font-size:11px;cursor:pointer}.banquet-end-options label:has(input:checked){border-color:#bd718d;background:#fcedf2;color:#782640}.banquet-end-options input{width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:#a43b60}.banquet-end-options small{grid-column:1/-1;color:#8a717c;font-size:10px;font-weight:500}.table-edit-form .banquet-end-options{width:100%}.banquet-end-summary{display:block;margin-top:3px;color:#977f88;font-size:9px;font-weight:700}.shape-banquet.is-large{width:var(--banquet-width,390px)}
@media(max-width:480px){.banquet-end-options{grid-template-columns:1fr}}
@keyframes seat-lift{from{opacity:.5;transform:translate(-50%,-25%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1.12)}}
@keyframes seat-land{0%{box-shadow:0 0 0 0 #ffcb66aa}65%{box-shadow:0 0 0 14px #ffcb6600}100%{box-shadow:0 2px 5px #693b4c25}}
@media(prefers-reduced-motion:reduce){.seat-drag-ghost,.seat-chair.is-seat-landing{animation:none}}

/* Sillas dentro de zonas amplias para soltar invitados. */
.table-node.shape-banquet,.table-node.shape-banquet.is-large{width:var(--banquet-width,390px)}
.seat-chair,.seat-chair.is-occupied{width:54px;height:54px;border:0;background:transparent;box-shadow:none}
.seat-chair .seat-trigger{position:relative;width:40px;height:40px;border:1.5px solid #bda4ab;background:#fff;box-shadow:0 3px 9px #693b4c30}
.seat-chair.is-occupied .seat-trigger{border-color:#a44163;background:#aa4166}
.seat-chair:hover,.seat-chair:focus-visible{outline:none;box-shadow:none}
.seat-chair:hover .seat-trigger,.seat-chair:focus-visible .seat-trigger{box-shadow:0 0 0 3px #a43e62,0 6px 18px #42203042}
.seat-chair.is-guest-target{outline:none;box-shadow:none;transform:translate(-50%,-50%) scale(1.08)}
.seat-chair.is-guest-target .seat-trigger{box-shadow:0 0 0 5px #ffc85e,0 0 0 10px #ffc85e55,0 7px 22px #57223766}
.seat-number{right:-7px;bottom:-7px}
.seat-figure{width:20px;height:20px}
.seat-figure::before{top:2px;left:7px;width:6px;height:6px}
.seat-figure::after{bottom:2px;left:3px;width:14px;height:7px}
.is-empty .seat-figure::before{top:3px;left:3px;width:14px;height:9px}
.is-empty .seat-figure::after{bottom:1px;left:2px;width:16px;height:5px}

/* Plano del salón: controles claros y sillas cómodas para soltar invitados. */
.board-panel{padding:24px;border-color:#e5cbd4;border-radius:18px;background:linear-gradient(165deg,#fffdfd 0%,#fff9fa 100%);box-shadow:0 18px 48px #57273a14}
.board-head{align-items:center;gap:18px;margin-bottom:14px;padding-bottom:18px;border-bottom:1px solid #efdee4}
.board-title{min-width:0}.board-title .eyebrow{display:block;margin-bottom:4px;color:#ad4263;font-size:10px;letter-spacing:.17em}.board-title strong{display:block;color:#512138;font:italic 600 27px/1.15 'Playfair Display',Georgia,serif}.board-title small{display:block;margin-top:5px;color:#8d7480;font-size:11px;font-weight:500;line-height:1.45}
.board-head-actions{gap:10px}.board-zoom{height:42px;border-color:#e7cbd5;border-radius:10px;box-shadow:0 3px 11px #64304812}.board-zoom button{min-width:42px;font-size:22px}.board-zoom #board-zoom-reset{min-width:70px;font-size:11px}.board-expand{min-height:42px;border-radius:10px;box-shadow:0 3px 11px #6430480e}
.board-guide{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:14px;color:#755968}.board-guide span{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:5px 9px;border:1px solid #eddde3;border-radius:16px;background:#fff;color:#7d6270;font-size:10px;font-weight:700;line-height:1.2}.board-guide i{display:block;width:12px;height:12px;flex:0 0 12px;border:1.5px solid #ae8191;border-radius:50%;background:#fff}.board-guide .guide-seat-full{border-color:#a94166;background:#a94166}
.board-scroll{border-color:#e6ced6;border-radius:15px;background:#fbf6f5;box-shadow:inset 0 1px 7px #6937490b}
.seating-board{background-color:#fcf8f7;background-image:linear-gradient(90deg,#d9c4ca70 1px,transparent 1px),linear-gradient(#d9c4ca70 1px,transparent 1px),linear-gradient(90deg,#eadce080 1px,transparent 1px),linear-gradient(#eadce080 1px,transparent 1px),radial-gradient(circle at 50% 50%,#fff 2px,transparent 3px);background-size:160px 160px,160px 160px,32px 32px,32px 32px,160px 160px}
.table-surface{border-color:#bd6e8a;background:linear-gradient(145deg,#fffefd 10%,#fff4f6 58%,#f9e7ed);box-shadow:0 13px 30px #73374c24,inset 0 0 0 5px #fff}
.shape-banquet .table-surface{inset:28% 16%;border-radius:21px}
.table-grip strong{margin-top:5px;font-size:14px;letter-spacing:.01em}.table-grip small{font-size:10px}.table-grip>span{font-size:19px}
.table-delete-grip,.table-rotate-grip{width:34px;height:34px;border-color:#dca5b6;box-shadow:0 5px 13px #6c2a4228}
.seat-chair,.seat-chair.is-occupied{width:60px;height:60px}
.seat-chair .seat-trigger{width:45px;height:45px;border:2px solid #b896a4;background:linear-gradient(150deg,#fff,#fff9fb);box-shadow:0 4px 11px #693b4c30,inset 0 0 0 3px #fff}
.seat-chair.is-occupied .seat-trigger{border-color:#963452;background:linear-gradient(150deg,#bc5478,#8f2e50);box-shadow:0 5px 14px #74304b55,inset 0 0 0 2px #ffffff38}
.seat-chair:hover .seat-trigger,.seat-chair:focus-visible .seat-trigger{box-shadow:0 0 0 4px #be6a88,0 7px 19px #42203042}
.seat-chair.is-guest-target .seat-trigger{box-shadow:0 0 0 6px #ffd278,0 0 0 12px #ffc85e55,0 8px 22px #57223766}
.seat-number{right:-6px;bottom:-7px;min-width:20px;height:20px;border-color:#c38ba0;border-radius:10px;background:#fff;color:#76223f!important;font-size:10px!important;box-shadow:0 2px 5px #60283d35}
.seat-figure{width:22px;height:22px}.seat-figure::before{left:8px;width:6px;height:6px}.seat-figure::after{left:3px;width:16px;height:8px}.is-empty .seat-figure::before{left:3px;width:16px;height:10px}.is-empty .seat-figure::after{left:2px;width:18px;height:6px}
.seat-chair.is-occupied .seat-trigger{border-color:#8e2949;background:linear-gradient(145deg,#b7466d,#862343);color:#fff;box-shadow:0 5px 14px #74304b55,inset 0 0 0 2px #ffffff30}
.seat-chair.is-occupied .seat-figure{width:24px;height:24px}
.seat-chair.is-occupied .seat-figure::before{top:2px;left:8px;width:8px;height:8px;border:0;border-radius:50%;background:#fff}
.seat-chair.is-occupied .seat-figure::after{bottom:2px;left:2px;width:20px;height:10px;border:0;border-radius:10px 10px 4px 4px;background:#fff}
.board-help{margin:14px 2px 0!important;color:#816a75;font-size:11px;line-height:1.55}
.unassigned{border-color:#e8d7dc;background:linear-gradient(150deg,#fffefd,#fff9fa)}.unassigned-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.unassigned-heading h2{margin:6px 0 8px;font-size:20px}.unassigned-count{display:grid;place-items:center;min-width:31px;height:31px;padding:0 8px;border-radius:50%;background:#f6e5eb;color:#8c3150;font-size:12px;font-weight:900}.unassigned .drop-zone{border-color:#d5a8b9;border-radius:10px;background:#fff8fa}.unassigned .guest-chip{border-color:#e2c8d1;border-radius:8px;box-shadow:0 2px 7px #6032470d}.unassigned .guest-chip:hover,.unassigned .guest-chip:focus-visible{border-color:#aa4d6e;background:#fff1f5;outline:none;box-shadow:0 4px 11px #60324720}
.board-fit{min-height:42px;border-radius:10px;background:#fff8fa;color:#8b2d4f;box-shadow:0 3px 11px #6430480e}
@media(max-width:760px){.board-panel{padding:16px}.board-head{align-items:flex-start}.board-title strong{font-size:24px}.board-guide{gap:5px}.board-guide span{font-size:9px}.board-expand{min-height:42px}}

/* Acabado del plano: superficies con profundidad y lugares de lectura inmediata. */
.board-scroll{border:1px solid #dcb8c5;box-shadow:0 10px 30px #71354b12,inset 0 0 0 3px #fff}
.seating-board{background-color:#fcf8f6;background-image:linear-gradient(90deg,#d7c3c975 1px,transparent 1px),linear-gradient(#d7c3c975 1px,transparent 1px),linear-gradient(90deg,#eee2e578 1px,transparent 1px),linear-gradient(#eee2e578 1px,transparent 1px),radial-gradient(circle at 50% 50%,#fff 2px,transparent 3px),radial-gradient(circle at 48% 46%,#fffefe 0%,#faf1f1 100%);background-size:160px 160px,160px 160px,32px 32px,32px 32px,160px 160px,100% 100%}
.table-surface{border:3px solid #b95f80;background:radial-gradient(circle at 30% 22%,#fff 0%,#fff9fb 34%,#f6dfe7 100%);box-shadow:0 18px 25px #65263e30,0 3px 0 #a74f6f,inset 0 0 0 5px #fff,inset 0 -12px 25px #eab9c922}
.table-surface::before{content:"";position:absolute;inset:9px;border:1px solid #dba9ba;border-radius:inherit;pointer-events:none}
.table-grip{position:relative;z-index:1}
.table-grip strong{color:#68213b;font-size:15px;font-weight:900;text-shadow:0 1px #fff}
.table-grip small{color:#8c6475;font-size:10px;font-weight:800}
.table-grip>span{color:#b44469;font-size:20px}
.seat-chair .seat-trigger{border-color:#b67b91;background:radial-gradient(circle at 30% 25%,#fff 0%,#fff 46%,#f9e9ef 100%);box-shadow:0 6px 12px #5b2d4030,inset 0 0 0 3px #fff;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.seat-chair.is-occupied .seat-trigger{border-color:#8e2949;background:radial-gradient(circle at 29% 22%,#c35479 0%,#a53459 51%,#7d1c3d 100%);box-shadow:0 7px 15px #62223e59,inset 0 0 0 2px #ffffff40}
.seat-chair:hover .seat-trigger,.seat-chair:focus-within .seat-trigger{transform:scale(1.08);border-color:#a63f63;box-shadow:0 0 0 3px #fff,0 0 0 5px #c97d99,0 8px 19px #4e223c4b}
.seat-chair.is-guest-target .seat-trigger{transform:scale(1.12);box-shadow:0 0 0 5px #ffe2a3,0 0 0 10px #eeb94b78,0 10px 24px #6f314459}
.seat-number{border:1px solid #ba8196;background:#fff;box-shadow:0 3px 6px #5d273947}
.table-delete-grip,.table-rotate-grip{background:#fff;color:#9a3658;box-shadow:0 6px 14px #6b2a4430,inset 0 0 0 2px #fff}
.table-delete-grip:hover,.table-delete-grip:focus-visible{border-color:#8e2949;background:#8e2949;color:#fff}

/* Confirmaciones y avisos SweetAlert del panel. */
.swal2-container{z-index:20000!important}
.fest-swal{width:min(92vw,430px);padding:27px 28px 25px;border:1px solid #e6c9d4;border-radius:20px;background:linear-gradient(155deg,#fff 0%,#fff9fa 100%);box-shadow:0 28px 75px #36132250;font-family:'DM Sans',Arial,sans-serif}
.fest-swal .swal2-icon.swal2-question{width:58px;height:58px;margin:7px auto 16px;border-color:#dca1b6;color:#9c365b;font-size:38px}
.fest-swal .swal2-icon.swal2-warning{border-color:#dca1b6;color:#9c365b}
.fest-swal-title{padding:0;color:#4b2033;font:italic 600 27px/1.2 'Playfair Display',Georgia,serif}
.fest-swal-message{margin:13px 0 0;padding:0;color:#785967;font-size:13px;line-height:1.55}
.fest-swal .swal2-actions{display:flex;gap:10px;width:100%;margin:24px 0 0}
.fest-swal-confirm,.fest-swal-cancel{min-width:120px;min-height:43px;padding:10px 17px;border:1px solid #74203f;border-radius:9px;font-size:12px;font-weight:800;letter-spacing:.025em;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.fest-swal-confirm{background:#74203f;color:#fff;box-shadow:0 7px 15px #74203f2e}
.fest-swal-confirm:hover{background:#952d52;transform:translateY(-1px)}
.fest-swal-cancel{border-color:#dfc2cc;background:#fff;color:#71334b}
.fest-swal-cancel:hover{background:#fff1f5}
.fest-swal-confirm:focus-visible,.fest-swal-cancel:focus-visible{outline:3px solid #d67f9e;outline-offset:2px}
.fest-swal-toast{width:min(92vw,385px)!important;padding:13px 16px;border-radius:13px;box-shadow:0 12px 32px #3d1d2e35}
.fest-swal-toast .swal2-title{margin:0;color:#4b2033;font:700 12px/1.4 'DM Sans',Arial,sans-serif}
.fest-swal-toast .swal2-icon{width:27px;height:27px;min-width:27px;margin:0 10px 0 0;font-size:17px}
.fest-swal-toast .swal2-timer-progress-bar{background:#ad486a}
@media(max-width:520px){.fest-swal{padding:23px 20px}.fest-swal-title{font-size:24px}.fest-swal .swal2-actions{flex-direction:column-reverse}.fest-swal-confirm,.fest-swal-cancel{width:100%}}
.table-list-actions{align-items:center;white-space:nowrap}.table-list-actions .table-guests-open{border-color:#d8b9c5;background:#fff7fa;color:#802442;font-weight:800}.table-list-actions .table-guests-open:hover{background:#f8e8ef}
.table-guests-dialog{width:min(580px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #e6d2da;border-radius:16px;background:#fff;box-shadow:0 30px 90px #24101ba1}.table-guests-dialog::backdrop{background:#230d1bbd;backdrop-filter:blur(4px)}.table-guests-modal{padding:26px}.table-guests-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;border-bottom:1px solid #f0e3e6}.table-guests-header h3{margin:5px 0;color:#402630;font:italic 600 28px 'Playfair Display',Georgia,serif}.table-guests-header p{margin:0;color:#856d78;font-size:12px}.table-guests-close:not(.outline){display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;padding:0;border:1px solid #e5d0d8;border-radius:50%;background:#fff;color:#9d3658;font-size:22px}.table-guests-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:min(60dvh,540px);overflow:auto;margin:20px 0}.table-guest-item{display:flex;align-items:center;gap:11px;min-width:0;padding:11px;border:1px solid #eddde3;border-radius:10px;background:#fffafb}.table-guest-item.is-empty{background:#fbf9f9;color:#9f8c94}.table-guest-number{display:grid;place-items:center;flex:0 0 33px;width:33px;height:33px;border-radius:50%;background:#8c2549;color:#fff;font-size:13px;font-weight:800}.table-guest-item.is-empty .table-guest-number{border:1px solid #e0cbd2;background:#fff;color:#9e7282}.table-guest-item>div{min-width:0}.table-guest-item strong{display:block;overflow:hidden;color:#3c2731;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.table-guest-item.is-empty strong{color:#93808a}.table-guest-item small{display:block;margin-top:2px;font-size:10px}.table-guests-footer{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid #f0e3e6}
@media(max-width:520px){.table-guests-modal{padding:20px}.table-guests-list{grid-template-columns:1fr}.table-guests-header h3{font-size:24px}}
.guest-section-head{align-items:flex-end;padding-bottom:19px;border-bottom:1px solid var(--line)}.guest-section-head p{margin:7px 0 0}.guest-export-actions{display:flex;gap:8px;flex-wrap:wrap}.guest-export-actions .outline{min-height:38px}.guest-list{gap:0}.guest-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:center;padding:17px 4px;border-bottom:1px solid var(--line)}.guest-card:last-child{border-bottom:0}.guest-card-main{display:flex;align-items:center;gap:13px;min-width:0}.guest-card .guest-info{flex:1;min-width:0}.guest-card .guest-info strong{overflow-wrap:anywhere;font-size:14px;line-height:1.35}.guest-card .guest-info span{margin-top:3px;line-height:1.4}.guest-status{flex:0 0 auto;padding:5px 9px;border-radius:30px;background:#f2edf0;color:#7e6170;font-size:10px;font-weight:800}.guest-status-yes{background:#e8f6ed;color:#28764b}.guest-status-no{background:#fff0ed;color:#a54e40}.guest-card .guest-actions{justify-content:flex-end;margin:0}.guest-card .guest-actions form{margin:0}.guest-edit-details{grid-column:1/-1;min-width:0;padding:0 0 0 53px}.guest-edit-details summary{width:max-content;max-width:100%;color:var(--wine);cursor:pointer;font-size:11px;font-weight:800}.guest-edit-details[open]{padding:12px 15px 17px;margin:3px 0 0 53px;border:1px solid #ecd6de;border-radius:9px;background:#fff9fa}.guest-edit-details .form-grid{margin-top:17px}.guest-edit-details .companion-names-field{grid-column:1/-1}.guest-edit-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.guest-edit-actions .primary{min-width:190px}
@media(max-width:1100px){.guest-card{grid-template-columns:1fr}.guest-card .guest-actions{justify-content:flex-start;padding-left:53px}}
@media(max-width:760px){.guest-section-head{align-items:stretch}.guest-export-actions{width:100%}.guest-export-actions .outline{flex:1}.guest-card-main{flex-wrap:wrap}.guest-card .guest-status{margin-left:53px}.guest-card .guest-actions{margin:0;padding-left:0}.guest-edit-details,.guest-edit-details[open]{margin-left:0;padding-left:0}.guest-edit-details[open]{padding:14px}.guest-edit-details .form-grid{grid-template-columns:1fr}.guest-edit-actions .primary{width:100%}}
.guest-card .guest-edit-open{border-color:#d8b9c5;background:#fff3f7;color:#792340}.guest-edit-dialog{width:min(640px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #e6d2da;border-radius:16px;background:#fff;box-shadow:0 30px 90px #24101ba1}.guest-edit-dialog::backdrop{background:#230d1bbd;backdrop-filter:blur(4px)}.guest-edit-modal{padding:27px}.guest-edit-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;border-bottom:1px solid #f0e3e6}.guest-edit-modal-head h2{margin:5px 0 6px;color:#402630;font:italic 600 29px 'Playfair Display',Georgia,serif}.guest-edit-modal-head p{margin:0;color:#856d78;font-size:12px}.guest-edit-close{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;padding:0;border:1px solid #e5d0d8;border-radius:50%;background:#fff;color:#9d3658;font-size:22px}.guest-edit-form{margin-top:22px}.guest-edit-form .companion-names-field{grid-column:1/-1}.guest-edit-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:8px}.guest-edit-modal-actions button{min-width:135px}
@media(max-width:600px){.guest-edit-modal{padding:21px}.guest-edit-modal-head h2{font-size:24px}.guest-edit-form{grid-template-columns:1fr;gap:14px}.guest-edit-modal-actions{flex-direction:column-reverse}.guest-edit-modal-actions button{width:100%}}
.companion-names-field textarea:disabled{background:#f5f0f1;color:#9b8c91;cursor:not-allowed}.companion-count{display:block;margin-top:7px;color:#886f79;font-size:10px;font-weight:600;letter-spacing:0}.companion-count.is-error{color:#a33145;font-weight:800}
.guest-send-status{display:flex!important;gap:6px;flex-wrap:wrap;margin-top:6px!important}.guest-send-status span{display:inline-block!important;padding:3px 7px;border:1px solid #ead7df;border-radius:12px;background:#fff8fa;color:#7b465a;font-size:10px!important}.guest-card .guest-invitation-open{border-color:#9b3557;background:#842544;color:#fff}.guest-card .guest-invitation-open:hover{background:#a03259}
.invitation-qr-card{display:flex;align-items:center;gap:14px;margin:16px 0;padding:13px;border:1px solid #ead8dd;border-radius:10px;background:#fff9fa}.invitation-qr-card img{flex:0 0 132px;width:132px;height:132px;padding:6px;background:#fff;border:1px solid #ead8dd;object-fit:contain}.invitation-qr-card strong{display:block;color:#653047;font-size:13px}.invitation-qr-card p{margin:7px 0 12px;color:#826977;font-size:11px;line-height:1.5}.invitation-qr-card a,.invitation-qr-card button{display:block;width:100%;margin-top:6px;text-align:center;font-size:11px}@media(max-width:600px){.invitation-qr-card{flex-direction:column;text-align:center}.invitation-qr-card img{flex-basis:auto}}
.invitation-dialog{width:min(1120px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #e6d2da;border-radius:16px;background:#fff;box-shadow:0 30px 90px #24101ba1}.invitation-dialog::backdrop{background:#230d1bd1;backdrop-filter:blur(5px)}.invitation-modal{padding:25px}.invitation-modal-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:15px;border-bottom:1px solid #f0e3e6}.invitation-modal-head h2{margin:4px 0;color:#402630;font:italic 600 28px 'Playfair Display',Georgia,serif}.invitation-modal-head p{margin:0;color:#856d78;font-size:12px}.invitation-close{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #e5d0d8;border-radius:50%;background:#fff;color:#9d3658;font-size:22px}.invitation-modal-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:20px;margin-top:20px}.invitation-modal-body iframe{width:100%;height:min(70dvh,700px);border:1px solid #ead8dd;border-radius:10px;background:#faf3f3}.invitation-modal-side{min-width:0}.invitation-state{padding:12px;border-radius:8px;background:#fff3f6;color:#6f2e48;font-size:12px}.invitation-send-actions{display:grid;gap:9px;margin:18px 0}.invitation-send-actions>*{width:100%}.invitation-send-actions button:disabled{opacity:.48;cursor:not-allowed}.invitation-send-note{font-size:11px!important;line-height:1.5}.invitation-history{margin-top:20px;padding-top:14px;border-top:1px solid #ead8dd}.invitation-history h3{margin:0 0 12px;color:#50313f;font-size:14px}.invitation-history-row{padding:9px 0;border-top:1px solid #f1e5e9}.invitation-history-row strong,.invitation-history-row span{display:block;font-size:11px}.invitation-history-row span{color:#8b7380;overflow-wrap:anywhere}
.invitation-contact{margin:10px 0;color:#765a66;font-size:11px!important;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:750px){.invitation-modal{padding:17px}.invitation-modal-body{grid-template-columns:1fr}.invitation-modal-body iframe{height:46dvh}.invitation-send-actions{grid-template-columns:1fr 1fr}.invitation-send-actions a{grid-column:1/-1}}

/* Correo saliente */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mail-page{max-width:1460px;margin:0 auto 40px}.mail-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:215px;margin-bottom:18px;padding:31px 36px;overflow:hidden;background:linear-gradient(115deg,#fffcfa 0%,#fff7f5 55%,#f4e4e9 100%)}.mail-hero::after{content:"";position:absolute;right:125px;top:-125px;width:330px;height:330px;border:1px solid #9e3a5b24;border-radius:50%;box-shadow:0 0 0 45px #a7395509,0 0 0 95px #a7395506;pointer-events:none}.mail-hero-copy{position:relative;z-index:1;max-width:650px}.mail-hero h2{margin:8px 0 10px;color:#37222b;font:italic 600 clamp(27px,2.8vw,40px) 'Playfair Display',Georgia,serif}.mail-hero p{max-width:610px;margin:0;color:#74636b;font-size:13px;line-height:1.65}.mail-hero-steps{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:25px}.mail-hero-steps span{display:flex;align-items:center;gap:8px;color:#795866;font-size:11px;font-weight:800}.mail-hero-steps b{display:grid;place-items:center;width:23px;height:23px;border:1px solid #d9aabd;border-radius:50%;background:#fff9fb;color:#a94467;font-size:9px}.mail-hero-steps i{width:30px;height:1px;background:#d8b9c5}.mail-hero-state{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 230px;min-height:155px;padding:18px;text-align:center;border:1px solid #e2cfd6;border-radius:15px;background:#fffdfce8;box-shadow:0 12px 35px #65364912}.mail-hero-state .mail-state-mark{display:grid;place-items:center;width:47px;height:47px;margin-bottom:10px;border-radius:15px;font:700 24px Georgia,serif}.mail-hero-state.is-ready .mail-state-mark{background:#e8f6ed;color:#22824b}.mail-hero-state.is-pending .mail-state-mark{background:#faeaf0;color:#a04465}.mail-hero-state strong{color:#442c36;font-size:13px}.mail-hero-state small{margin-top:5px;color:#9a7f89;font-size:10px}.mail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.72fr);align-items:start;gap:18px}.mail-settings-card,.mail-test-card{min-width:0;padding:30px 32px}.mail-card-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}.mail-card-heading h2,.mail-test-card h2{margin:7px 0;color:#34242c;font-size:22px}.mail-card-heading p,.mail-test-card>p{margin:6px 0 0;color:#8b767f;font-size:12px;line-height:1.55}.mail-source{padding:7px 10px;border:1px solid #e5cbd5;border-radius:30px;background:#fff7f9;color:#8e3a58;font-size:10px;font-weight:800;white-space:nowrap}.mail-form-section{display:flex;align-items:center;gap:13px;margin:29px 0 15px;padding-top:22px;border-top:1px solid #ecdee1}.mail-section-index{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:10px;background:#f7e8ed;color:#aa4668;font-size:10px;font-weight:900}.mail-form-section h3{margin:0 0 2px;color:#4e2d3a;font-size:14px}.mail-form-section p{margin:0;color:#9a8790;font-size:11px}.mail-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.mail-field-grid label{display:block;min-width:0;color:#654c57;font-size:11px;font-weight:800}.mail-field-grid input,.mail-field-grid select,.mail-test-send input{display:block;width:100%;min-height:46px;margin-top:7px;padding:11px 12px;border:1px solid #e0cdd2;border-radius:8px;background:#fff;color:#30242a;font:500 12px 'DM Sans',sans-serif;outline:none}.mail-field-grid input:focus,.mail-field-grid select:focus,.mail-test-send input:focus{border-color:#a54465;box-shadow:0 0 0 4px #a5446518}.mail-password{position:relative;display:block}.mail-password input{padding-right:74px}.mail-password button{position:absolute;right:6px;top:50%;transform:translateY(-40%);padding:7px 8px;border:0;background:transparent;color:#8b3855;font-size:10px;font-weight:800;cursor:pointer}.mail-form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:30px;padding-top:23px;border-top:1px solid #ecdee1}.mail-form-footer span{color:#9c8790;font-size:10px}.mail-form-footer .primary{min-height:44px}.mail-side{display:grid;gap:18px}.mail-test-item{display:flex;align-items:start;gap:12px;padding:22px 0;border-top:1px solid #eee0e2}.mail-test-item:first-of-type{margin-top:18px}.mail-test-number{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #d9b6c2;border-radius:50%;color:#a04465;font-size:10px;font-weight:900}.mail-test-item>div{min-width:0;flex:1}.mail-test-item strong{display:block;color:#4c2c39;font-size:13px}.mail-test-item small{display:block;margin-top:4px;color:#947d86;font-size:10px;line-height:1.45}.mail-test-form{margin-top:13px}.mail-test-form .outline{min-height:38px}.mail-test-form button:disabled,.mail-test-send input:disabled{opacity:.45;cursor:not-allowed}.mail-test-date{margin-top:11px!important;color:#a49199!important}.mail-test-send{display:grid;gap:9px}.mail-test-send input{margin:0}.mail-note{display:flex;gap:14px;padding:20px 22px;border:1px solid #e9d1dc;border-radius:11px;background:linear-gradient(125deg,#fdf6f8,#fffaf7)}.mail-note>span{color:#ad5373;font-size:22px}.mail-note strong{color:#573349;font-size:12px}.mail-note p{margin:6px 0 0;color:#806c76;font-size:11px;line-height:1.55}.mail-config-error{padding:13px 15px;border:1px solid #edb8c3;border-radius:9px;background:#fff1f3;color:#9c344e;font-size:11px;line-height:1.5}.mail-inline-status{margin:14px 0 0;padding:11px 13px;border-radius:8px;background:#e9f6ee;color:#267849;font-size:11px;font-weight:700}.mail-inline-status.is-error{background:#fff0f2;color:#a02e4d}
@media(max-width:1050px){.mail-layout{grid-template-columns:1fr}.mail-side{grid-template-columns:1fr 1fr}.mail-test-card,.mail-settings-card{padding:24px}.mail-hero-state{flex-basis:200px}}
@media(max-width:720px){.mail-hero{align-items:flex-start;flex-direction:column;min-height:0;padding:25px}.mail-hero-state{width:100%;min-height:0;flex-basis:auto;grid-template-columns:auto 1fr;justify-items:start;text-align:left;column-gap:12px}.mail-hero-state .mail-state-mark{grid-row:1/3;margin:0}.mail-side{grid-template-columns:1fr}.mail-field-grid{grid-template-columns:1fr}.mail-form-footer{align-items:stretch;flex-direction:column}.mail-form-footer .primary{width:100%}.mail-card-heading{flex-wrap:wrap}}

/* Accesos del cliente */
.access-page{max-width:1440px;margin:0 auto}.access-credentials{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px;padding:23px 27px;border:1px solid #d8b0bf;border-radius:12px;background:linear-gradient(115deg,#fff9f8,#f8e9ee);box-shadow:0 10px 28px #66314513}.access-credentials h2{margin:5px 0;color:#482437;font-size:21px}.access-credentials p{margin:0 0 15px;color:#8a6d79;font-size:11px}.access-credential-values{display:flex;gap:28px;flex-wrap:wrap}.access-credential-values span{display:grid;gap:2px}.access-credential-values small{color:#aa6780;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.access-credential-values strong{color:#4c2939;font-size:13px;overflow-wrap:anywhere}.access-copy-credentials{flex:0 0 auto}.access-form .access-password-control{position:relative;display:block}.access-password-control input{width:100%;padding-right:76px}.access-password-visibility{position:absolute;right:7px;top:50%;transform:translateY(-50%);padding:7px 8px;border:0;background:transparent;color:#873456;font-size:10px;font-weight:800;cursor:pointer}.access-password-actions{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}.access-password-actions .outline{min-height:36px;padding:8px 12px;font-size:10px}.access-password-actions .outline:disabled{opacity:.45;cursor:not-allowed}.access-password-hint{grid-column:1/-1;margin:-5px 0 0;color:#947c87;font-size:10px}.access-create-submit{grid-column:1/-1;width:max-content;min-width:190px}.access-form.compact{grid-template-columns:1fr;margin-top:15px}.access-form.compact .access-password-actions{grid-column:1}.access-form.compact .access-reset-submit{width:max-content}.access-users .access-row{align-items:center}.access-users .edit-details{width:100%}
@media(max-width:720px){.access-credentials{align-items:stretch;flex-direction:column}.access-copy-credentials{width:100%}.access-form .access-create-submit{width:100%}}
.access-credentials-actions{display:grid;align-content:center;grid-auto-rows:max-content;gap:9px;flex:0 0 255px}.access-credentials-actions form{display:grid;grid-auto-rows:max-content;gap:9px;margin:0}.access-credentials-actions form label{color:#795965;font-size:10px;font-weight:800}.access-credentials-actions form input{display:block;width:100%;min-height:36px;margin-top:5px;padding:7px 9px;border:1px solid #d9bbc6;border-radius:6px;background:#fff;color:#4c2939;font-size:10px}.access-credentials-actions button{width:100%;min-height:40px}.access-credentials-actions .primary{white-space:nowrap}
@media(max-width:720px){.access-credentials-actions{width:100%;flex-basis:auto;align-content:start}}

/* La relación de cada acompañante permanece visible al asignar lugares. */
.unassigned .guest-chip.is-companion{display:grid;justify-content:stretch;align-content:center;gap:2px;min-width:200px;max-width:275px;min-height:50px;padding:8px 11px}
.unassigned .guest-chip.is-companion strong{font-size:11px;line-height:1.25;overflow-wrap:anywhere}
.unassigned .guest-chip.is-companion small{color:#8b5369;font-size:10px;font-weight:700;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
