@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');
:root{--pine:#503448;--dark:#302C31;--text:#302C31;--muted:#6D626A;--line:#DED6D7;--cream:#FAF7F3;--white:#FFFFFF;--gold:#98654E;--soft:#F0E7E8;--danger:#A03942;--shadow:0 12px 35px #302C310b;--copper:#98654E;--aubergine:#503448;--focus:#A65F7D}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:'DM Sans',Arial,sans-serif;background:#FAF7F3;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-weight:400}h1{font-size:clamp(30px,4vw,45px);line-height:1.13;margin-bottom:10px}h2{font-size:30px;margin-bottom:9px}h3{font-size:23px;margin-bottom:10px}p{line-height:1.6}a{color:var(--pine)}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:.21em;font-weight:700;font-size:10px;color:#98654E}.app-shell{display:flex;min-height:100vh}.sidebar{width:242px;flex:0 0 242px;background:var(--white);border-right:1px solid var(--line);padding:26px 15px;display:flex;flex-direction:column;gap:12px;position:sticky;top:0;height:100vh}.logo{font:31px 'Fraunces',Georgia,serif;display:flex;align-items:center;gap:10px;padding:0 14px 25px}.logo em{font:11px 'DM Sans',sans-serif;letter-spacing:.23em;display:block;color:#766D73;font-style:normal}.logomark{background:var(--pine);color:white;border-radius:12px;padding:7px 12px;font-size:26px}.wedding-tag{background:#F8F2EE;border:1px solid var(--line);padding:18px;border-radius:15px;margin-bottom:13px}.wedding-tag strong{font:24px 'Fraunces',Georgia,serif;display:block;margin:8px 0 4px}.nav-item{border:0;background:none;display:flex;align-items:center;gap:12px;padding:13px 15px;width:100%;border-radius:10px;text-align:left;color:#70636E;font-weight:600}.nav-item:hover,.nav-item.active{background:#F0E7E8;color:var(--pine)}.navicon{font-size:18px;width:22px}.side-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}.main{max-width:1560px;width:100%;min-width:0;padding:35px 42px 70px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px}.panel{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:24px;margin-bottom:18px;min-width:0}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row.between{justify-content:space-between}.grid{display:grid;gap:16px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.btn{background:var(--pine);border:1px solid var(--pine);border-radius:10px;color:white;padding:12px 18px;min-height:44px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.btn:hover{background:#40283A}.btn.secondary{background:var(--white);color:var(--pine);border-color:var(--line)}.btn.secondary:hover{background:#F7F0F3}.btn.ghost{background:transparent;border-color:transparent;color:var(--pine)}.btn.danger{background:#fff0ed;border-color:#ecc7c1;color:#923e36}.btn:disabled{cursor:not-allowed;opacity:.42}.btn.smallbtn{font-size:12px;min-height:35px;padding:7px 12px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>label{font-weight:700;font-size:12px;color:#554753}.field input,.field select,.field textarea,select,input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea{background:white;border:1px solid #D8CED2;border-radius:10px;padding:11px 13px;width:100%;min-height:44px;color:var(--text)}input[type=color]{width:58px;height:44px;padding:3px;background:white;border:1px solid var(--line);border-radius:8px}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #C17C98;outline-offset:1px}.pill{background:#F0E7E8;border-radius:99px;padding:6px 10px;color:#603D50;display:inline-block;font-size:11px;font-weight:700}.pill.gold{background:#FCF2E7;color:#a47e2e}.pill.gray{background:#F1EDEE;color:#756D73}.pill.red{background:#fbe9e5;color:#a2584c}.step{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-radius:12px;background:white}.step-no{height:34px;width:34px;display:grid;place-items:center;background:var(--soft);border-radius:50%;font-weight:bold;color:var(--pine)}.step .btn{margin-left:auto}.sep{border:0;border-top:1px solid var(--line);margin:19px 0}.itemcard{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fff}.itemcard h3{margin:6px 0}.metric{border:1px solid var(--line);background:white;padding:20px;border-radius:14px}.metric strong{font:36px 'Fraunces',Georgia,serif;color:var(--pine);display:block}.metric span{color:var(--muted);font-size:12px}.hint{background:#F7F0ED;padding:14px;border-radius:10px;color:#6D626A;font-size:12px;line-height:1.6}.warning{background:#fff6eb;border:1px solid #f0d7b5;padding:14px;border-radius:10px;color:#8a6234;font-size:12px}.empty{padding:24px;text-align:center;color:var(--muted)}.listrow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.listrow:last-child{border:0}.listrow strong{display:block}.checkboxgroup{display:flex;gap:10px;flex-wrap:wrap}.tick{display:inline-flex;align-items:center;gap:7px;background:#F9F6F5;border:1px solid var(--line);padding:10px 12px;border-radius:9px}.tick input{width:auto}.studio{display:grid;grid-template-columns:260px minmax(0,1fr) 250px;gap:14px;align-items:start}.studio-canvas{overflow:auto;background:#F5EFF1;border:1px solid var(--line);border-radius:12px;padding:22px;max-height:74vh;text-align:center}.invite-art{width:min(100%,480px);min-height:610px;margin:auto;background:var(--paper,#faf4e9);color:var(--ink,#34513e);border:8px solid #FFFFFF;outline:1px solid #d7cabb;padding:55px 29px 38px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;box-shadow:0 9px 30px #4B2F4318}.invite-art .eyebrow{color:inherit}.invite-art h2{font-size:clamp(45px,5vw,66px);color:inherit;margin:18px 0}.invite-art .ornament{font-size:30px;letter-spacing:9px;color:#AC7764;margin:16px}.invite-art .invmsg{font:italic 19px/1.6 'Fraunces',Georgia,serif;max-width:340px}.invite-art .invdetails{border-top:1px solid #c5b49e;margin-top:26px;padding-top:22px;font:18px/1.6 'Fraunces',Georgia,serif}.invite-art .photo-strip{display:flex;gap:6px;overflow:hidden;width:100%;margin-top:20px}.invite-art .photo-strip img{width:33%;aspect-ratio:1;object-fit:cover}.clicktext{border-radius:4px;cursor:text}.clicktext:hover,.clicktext:focus{outline:2px dashed #a8b7a3;outline-offset:5px}.switcher{display:flex;gap:6px;background:#F3EBEE;border-radius:10px;padding:5px;flex-wrap:wrap}.switcher button{background:transparent;border:0;padding:9px 12px;border-radius:8px;color:#6D626A;font-size:12px;font-weight:700}.switcher button.active{background:white;color:var(--pine);box-shadow:0 2px 6px #0001}.guest-body{background:#FAF7F3}.guest-wrap{max-width:740px;margin:28px auto 70px;padding:0 16px}.guest-hero{text-align:center;background:#FFFFFF;padding:50px 18px;border:1px solid #E8DBDA;border-radius:18px}.guest-hero h1{font-size:clamp(51px,12vw,85px);font-style:italic}.guest-event{background:#FFFFFF;padding:24px;border-radius:15px;border:1px solid #E4DADB;margin:14px 0}.guest-event h2{margin:12px 0}.guest-event .options{display:flex;gap:9px}.guest-event .options label{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:#F9F4F5;padding:14px;border:1px solid #E5DDE0;border-radius:11px;cursor:pointer}.guest-event .options input{width:auto}.auth-wrap{display:grid;place-items:center;min-height:100vh;padding:20px}.auth-card{width:min(490px,100%);background:white;border:1px solid var(--line);border-radius:22px;padding:35px;box-shadow:var(--shadow)}.auth-card h1{font-size:38px}.loading{padding:60px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:18px;right:18px;background:#392934;color:white;border-radius:10px;padding:14px 20px;box-shadow:var(--shadow);max-width:340px;display:none;z-index:50}.room-viewport{height:540px;overflow:auto;position:relative;border:1px solid var(--line);border-radius:12px;background:#F8F4F5}.room-surface{width:950px;height:640px;transform-origin:top left;position:relative;background-image:linear-gradient(#E9DEE1 1px,transparent 1px),linear-gradient(90deg,#E9DEE1 1px,transparent 1px);background-size:36px 36px;border:2px solid #E3D9DB}.room-table{position:absolute;background:#F2E7EB;border:2px solid #B59EA9;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;color:var(--pine);font-weight:700;cursor:pointer;box-shadow:0 5px 10px #35243214;user-select:none}.room-table.long,.room-table.rectangle,.room-table.head{border-radius:14px}.room-table.u,.room-table.horseshoe{border:12px solid #C7B1BA;background:transparent;border-bottom:0;border-radius:40px 40px 0 0}.room-table.selected{outline:4px solid #C48C71}.seatdot{width:22px;height:22px;display:grid;place-items:center;border:1px solid #B7A4AC;border-radius:50%;background:white;position:absolute;font-size:10px;color:var(--pine)}.seatdot.taken{background:#503448;color:white}.seatside{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:8px}.seatbox{padding:10px;border:1px solid var(--line);background:white;border-radius:10px}.seating-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:16px}.fileinput{width:100%;border:2px dashed #b9ccb8;padding:15px;border-radius:9px}.mobile-header{display:none}.mobile-nav{display:none}.tagline{font:italic 19px 'Fraunces',Georgia,serif;color:#756674}.grid .panel{margin:0}
@media(max-width:1200px){.studio{grid-template-columns:220px minmax(0,1fr)}.studio .inspector{grid-column:1/-1}.seating-layout{grid-template-columns:1fr}.main{padding:25px}.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{display:none}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:white;position:sticky;top:0;z-index:8;border-bottom:1px solid var(--line)}.mobile-nav{display:flex;overflow-x:auto;gap:4px;background:white;padding:7px;position:sticky;top:63px;z-index:7;border-bottom:1px solid var(--line)}.mobile-nav button{flex:0 0 auto;padding:10px 12px;background:#F3EDF0;border:0;border-radius:8px;color:#665A65}.mobile-nav button.active{background:#EADCE3;color:var(--pine);font-weight:700}.main{padding:20px 14px 80px}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.studio{grid-template-columns:1fr}.studio .inspector{grid-column:auto}.studio-canvas{max-height:none;padding:10px}.invite-art{min-height:520px;padding:42px 20px 28px}.panel{padding:18px}.page-head{align-items:flex-start}.page-head .row{justify-content:flex-start}.room-viewport{height:400px}.topbar{margin-bottom:13px}}
@media(max-width:380px){.auth-card{padding:23px}.guest-hero{padding:33px 14px}.invite-art h2{font-size:45px}.page-head{flex-wrap:wrap}}

/* Vowhouse brand system v2 · warm editorial identity. Guest themes remain independently configurable. */
body{background:#FAF7F3}
.logo{padding:0 7px 18px;font:inherit}
.brand-lockup{display:inline-flex;align-items:center;gap:11px;color:var(--dark);line-height:1;text-align:left;white-space:nowrap}
.brand-symbol{display:flex;width:40px;height:40px;align-items:center;justify-content:center;color:var(--aubergine);flex:0 0 auto}
.brand-symbol svg{width:100%;height:100%;display:block}
.brand-words{display:flex;flex-direction:column;justify-content:center;gap:6px}
.brand-words strong{font-family:'Fraunces',Georgia,serif;font-size:27px;font-weight:500;letter-spacing:-.055em}
.brand-words small{font-family:'DM Sans',Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.19em;color:var(--muted)}
.brand-lockup-compact .brand-symbol{width:29px;height:29px}
.brand-lockup-compact .brand-words strong{font-size:23px}
.nav-item:hover,.nav-item.active{background:#F0E7E8;color:#503448}
.btn:focus-visible,.nav-item:focus-visible,.auth-text-link:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #C984A0;outline-offset:3px}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid #9B5E79;outline-offset:2px}
.btn:not(.secondary):not(.danger):not(.ghost):hover{background:#3E2938}
:root{color-scheme:light}
/* Dedicated entry experience: independent from the host dashboard and guest invitation */
.auth-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(440px,.96fr);min-height:100vh;min-height:100dvh;background:#FFFEFC}
.auth-showcase{position:relative;display:flex;min-height:660px;flex-direction:column;overflow:hidden;padding:44px clamp(32px,5vw,92px) 32px;background:#F1E9E9;border-right:1px solid #E3D7DA;isolation:isolate}
.auth-showcase-top{position:relative;z-index:2}
.auth-showcase .brand-symbol{width:48px;height:48px}
.auth-showcase .brand-words strong{font-size:35px}
.auth-showcase .brand-words small{font-size:10px}
.auth-showcase-copy{position:relative;z-index:2;margin:auto 0 40px;max-width:540px;padding-top:365px}
.auth-eyebrow{color:#98654E;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.auth-showcase-copy h2{font-family:'Fraunces',Georgia,serif;letter-spacing:-.048em;font-weight:400;font-size:clamp(47px,5vw,76px);line-height:1.08;margin:15px 0 22px;color:#352633}
.auth-showcase-copy h2 i{font-weight:400}
.auth-showcase-copy p{color:#6D626A;font-size:16px;max-width:390px;line-height:1.8;margin:0}
.auth-showcase-foot{position:relative;z-index:2;display:flex;justify-content:space-between;border-top:1px solid #D7C9CD;padding-top:22px;letter-spacing:.16em;font-size:10px;font-weight:700;color:#7B6873}
.auth-showcase-foot span:last-child{font-size:20px;font-weight:400}
.auth-illustration{position:absolute;top:70px;left:0;right:0;height:450px;pointer-events:none;z-index:1;opacity:.83}
.arch-outline{position:absolute;display:block;width:270px;height:330px;border:1.5px solid #BE9BAA;border-radius:155px 155px 0 0;transform:rotate(-11deg);top:18px;left:calc(50% - 172px)}
.arch-two{width:244px;height:305px;border-color:#D5B8B6;left:calc(50% - 116px);transform:rotate(16deg);top:64px}
.illustration-ring{position:absolute;width:120px;height:120px;border:2px solid #9E798B;border-radius:50%;top:167px;left:calc(50% - 95px)}
.ring-two{left:calc(50% - 10px);border-color:#C58C77}
.illustration-star{position:absolute;font-size:28px;color:#A66D7F;top:93px;left:calc(50% + 30px)}
.auth-main{min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;padding:72px clamp(28px,6vw,112px) 56px;background:#FFFEFC}
.auth-layout .auth-card{width:min(100%,430px);background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.auth-layout .auth-card h1{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(42px,4vw,61px);letter-spacing:-.048em;line-height:1.11;margin:15px 0 15px}
.auth-intro{color:var(--muted);font-size:15px;line-height:1.7;margin:0 0 36px;max-width:360px}
.auth-form{display:flex;flex-direction:column;gap:22px}
.auth-field{display:flex;flex-direction:column;gap:9px}
.auth-field label{font-weight:600;font-size:13px;color:#463943}
.auth-field>input,.auth-password-input input{display:block;width:100%;height:54px;min-height:54px;padding:14px 16px;border:1px solid #D5C9CD;border-radius:10px;background:white;color:#302C31;font-size:15px;outline:none;transition:border-color .16s,box-shadow .16s}
.auth-field>input::placeholder,.auth-password-input input::placeholder{color:#958991}
.auth-field>input:focus,.auth-password-input input:focus{border-color:#87556F;box-shadow:0 0 0 3px #C78EA927}
.auth-field-label{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.auth-password-input{position:relative}
.auth-password-input input{padding-right:78px}
.auth-show{background:transparent;border:0;position:absolute;right:10px;top:50%;transform:translateY(-50%);padding:9px 11px;font-size:12px;font-weight:700;color:#503448;border-radius:7px}
.auth-show:hover{background:#F0E7E8}
.auth-text-link{display:inline;border:0;background:transparent;color:#503448;text-decoration:underline;text-underline-offset:3px;font-size:13px;font-weight:700;padding:3px 0;cursor:pointer}
.auth-text-link:hover{color:#98654E}
.auth-helper{margin:0;font-size:12px;line-height:1.55;color:#6D626A}
.auth-submit{min-height:54px;display:flex;justify-content:space-between;padding:13px 20px;border-radius:10px;font-size:15px;letter-spacing:.01em;margin-top:4px}
.auth-submit span{font-size:19px;font-weight:400}
.auth-switch{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:26px;padding-top:23px;border-top:1px solid #E9E1E3;font-size:13px;color:var(--muted)}
.auth-switch a{color:#503448;font-weight:700}
.auth-pilot-note{margin:24px 0 0;font-size:12px;color:#786E75;line-height:1.6}
.auth-bottom{position:absolute;bottom:26px;left:clamp(28px,6vw,112px);right:clamp(28px,6vw,112px);display:flex;justify-content:space-between;gap:14px;color:#8A7D85;font-size:11px}
.auth-mobile-logo{display:none}
@media(max-width:1000px){.auth-layout{grid-template-columns:minmax(0,.82fr) minmax(420px,1fr)}.auth-showcase{padding:34px 28px}.auth-showcase-copy h2{font-size:49px}.auth-main{padding:60px 46px 72px}.auth-bottom{left:46px;right:46px}}
@media(max-width:760px){.auth-layout{display:block;min-height:100dvh}.auth-showcase{display:none}.auth-main{min-height:100dvh;align-items:stretch;justify-content:flex-start;padding:26px 24px 78px}.auth-mobile-logo{display:block;margin-bottom:clamp(42px,10vh,92px)}.auth-layout .auth-card{width:100%;max-width:440px;margin:0 auto}.auth-layout .auth-card h1{font-size:44px}.auth-intro{margin-bottom:32px}.auth-bottom{position:static;margin:auto 0 0;padding-top:46px;font-size:10px}.auth-bottom span:last-child{display:none}}
@media(max-width:380px){.auth-main{padding:22px 20px 70px}.auth-layout .auth-card h1{font-size:39px}.auth-mobile-logo{margin-bottom:46px}.auth-form{gap:18px}.auth-bottom{padding-top:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Guest album: self-contained, mobile-first and readable under poor lighting. */
.album-body{background:#FAF7F3;color:#302C31}
.album-page{max-width:730px;margin:0 auto;padding:25px 18px 60px}
.album-brand{font:500 26px 'Fraunces',Georgia,serif;color:#503448;margin-bottom:28px}
.album-cover{text-align:center;padding:46px 20px 28px;background:#FFFFFF;border-radius:22px 22px 0 0;border:1px solid #E5DBDB;border-bottom:0}
.album-cover h1{font-size:clamp(36px,8vw,55px);margin:12px 0 18px}
.album-cover p{font-size:15px;color:#6D626A;max-width:410px;margin:0 auto}
.album-upload{background:white;border-radius:0 0 22px 22px;border:1px solid #E5DBDB;border-top:0;padding:0 26px 34px;display:flex;flex-direction:column;gap:17px}
.album-upload-label{font-size:14px;font-weight:700;color:#503448}
.album-upload input[type=file]{border:2px dashed #CBB8C2;border-radius:12px;padding:20px 12px;background:#FAF7F9;min-height:60px}
.album-preview,.album-status{color:#503448;font-size:13px;min-height:20px;line-height:1.6}
.album-consent{display:flex;gap:11px;font-size:13px;line-height:1.5;color:#574B52;align-items:flex-start}
.album-consent input{width:20px;height:20px;flex:0 0 20px;accent-color:#503448}
.album-btn{width:100%;font-size:15px}
.album-gallery{background:white;border:1px solid #E5DBDB;margin-top:18px;border-radius:18px;padding:26px}
.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.album-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}
.album-footer{text-align:center;font-size:12px;color:#6D626A;padding-top:28px}
.album-host .album-print-card{width:min(100%,430px);margin:24px auto;padding:30px 25px;border:1px solid #E0D1D7;text-align:center;background:#FAF7F3;border-radius:14px;box-shadow:0 10px 24px #302C3110}
.album-print-card h2{font:400 33px 'Fraunces',Georgia,serif}
.album-print-card p{font-size:16px;margin:12px 0}
.album-print-card img{width:230px;max-width:92%;display:block;margin:15px auto}
.album-print-card small{color:#6D626A}
@media(max-width:500px){.album-page{padding:17px 12px 50px}.album-cover{padding:32px 17px 24px}.album-upload{padding:0 18px 28px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
 body *{visibility:hidden!important}
 #album-print-card,#album-print-card *{visibility:visible!important}
 #album-print-card{position:absolute!important;top:15mm;left:50%;transform:translateX(-50%);width:125mm!important;max-width:none!important;border:1px solid #aaa!important;box-shadow:none!important;padding:20mm!important}
 #album-print-card img{width:65mm!important}
}

/* Invitation Studio: responsive three-pane design surface and object controls. */
.editor-workspace{display:grid;grid-template-columns:minmax(215px,.85fr) minmax(320px,2.05fr) minmax(240px,.9fr);gap:16px;align-items:start}
.editor-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0}
.editor-panel h3{font-size:23px}
.editor-tools{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}
.editor-layer-list{display:flex;flex-direction:column;gap:7px;max-height:360px;overflow:auto}
.editor-layer-entry{width:100%;text-align:left;background:#FAF7F3;border:1px solid #E9DFE3;border-radius:8px;min-height:39px;padding:9px 12px;font-size:12px;color:#534351;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.editor-layer-entry.selected{background:#F0E7E8;border-color:#98654E;color:#503448;font-weight:700}
.editor-centre{min-width:0}
.editor-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.editor-canvas-surround{border:1px solid #D8CCD1;background:#E9E2E6;box-shadow:inset 0 0 20px #302C3110;border-radius:14px;padding:25px;overflow:auto}
.editor-canvas{max-width:480px;width:100%;margin:auto;aspect-ratio:480 / 650;background:#FAF7F3;box-shadow:0 12px 32px #302C3133;overflow:hidden}
.vow-document-layer{box-sizing:border-box;overflow:visible}
.editor-canvas .vow-document-layer{cursor:move;touch-action:none;border:1px solid transparent}
.editor-canvas .vow-document-layer:hover{border:1px dashed #98654E}
.editor-canvas .vow-document-layer.selected{outline:2px solid #98654E;outline-offset:0;border:1px solid white}
.editor-canvas .vow-document-layer[contenteditable]{cursor:text;outline:2px solid #503448;overflow:auto}
.editor-resize-handle{position:absolute;width:15px;height:15px;right:-8px;bottom:-8px;border-radius:4px;background:#503448;border:2px solid white;cursor:nwse-resize;z-index:10;touch-action:none}
.editor-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:13px}
.editor-property-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#5D4F58}
.editor-property-grid input,.editor-property-grid select{width:100%;min-width:0;height:39px;border-radius:7px;border:1px solid #DED6D7;padding:7px 8px}
.editor-property-grid input[type=color]{padding:3px}
.editor-properties textarea{width:100%;margin-top:8px;min-height:90px;resize:vertical}
.editor-action-row{gap:7px;margin:20px 0 10px}
.guest-design-frame{width:100%;max-width:480px;margin:15px auto 20px;box-shadow:0 9px 25px #302C3112;overflow:hidden;background:#FAF7F3}
.guest-hero>.guest-design-frame{margin:0 auto}
@media(max-width:1230px){.editor-workspace{grid-template-columns:minmax(190px,.8fr) minmax(320px,1.8fr)}.editor-properties{grid-column:1/-1}.editor-properties #editor-inspector{max-width:1000px}}
@media(max-width:1000px){
 .editor-workspace{grid-template-columns:minmax(0,1fr)}
 .editor-properties{grid-column:auto}
 .editor-topline,.studio-primary-actions{flex-wrap:wrap}
}
@media(max-width:760px){.editor-workspace{grid-template-columns:minmax(0,1fr)}.editor-properties{grid-column:auto}.editor-panel{padding:16px}.editor-canvas-surround{padding:13px}.editor-tools{margin:10px 0}.editor-topline{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.editor-canvas .vow-document-layer{scroll-behavior:auto}}

/* Integrated Vowhouse Invitation Studio · features must not disappear behind a replacement canvas */
.studio-hub{background:#fff;border:1px solid #E3DADF;border-radius:17px;padding:22px 24px;margin:0 0 23px;box-shadow:0 9px 22px #302C3107}
.studio-hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:19px}
.studio-hub-head h3{font:400 27px 'Fraunces',Georgia,serif;margin:5px 0;color:#342B32}
.studio-hub-head p{max-width:225px;line-height:1.5;text-align:right}
.studio-hub-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}
.studio-tool-card{border-radius:13px;background:#FAF7F8;border:1px solid #E9E1E5;padding:17px;min-width:0;display:flex;flex-direction:column;gap:9px}
.studio-tool-ai{background:#F6EDF3}
.studio-tool-heading{display:flex;align-items:center;gap:8px;color:#503448}
.studio-tool-icon{font-size:24px;color:#A5708B;width:28px}
.studio-tool-heading strong{font-size:14px}
.studio-tool-card p.small{font-size:12px;line-height:1.55;margin:0;min-height:43px}
.studio-tool-label{font-size:12px;font-weight:700;color:#4C3B48}
.studio-tool-card textarea{background:white;border:1px solid #DBCBD2;border-radius:8px;padding:10px;min-height:66px;width:100%;font-size:13px;resize:vertical}
.studio-tool-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:auto}
.studio-tool-actions .smallbtn{font-size:12px}
.studio-inline-check{font-size:11px;color:#5C4F58;display:flex;gap:6px;align-items:center}
.studio-inline-check input{width:16px;height:16px;accent-color:#503448}
.studio-ai-preview{background:white;border:1px solid #DAC9D4;border-radius:8px;padding:12px;margin-top:8px;font-size:13px}
.studio-ai-preview p{margin:10px 0;font-size:13px;line-height:1.65}
.studio-ai-preview .row{margin-top:10px}
.studio-reel-tiles{display:flex;align-items:center;gap:10px;overflow-x:auto;min-height:84px;padding:5px 1px 10px}
.studio-reel-tile{flex:0 0 75px;border-radius:9px;background:#fff;border:1px solid #E5DDE1;padding:3px}
.studio-reel-tile img{display:block;width:100%;height:57px;object-fit:cover;border-radius:5px}
.studio-reel-buttons{display:flex;justify-content:center}
.studio-reel-buttons button{border:0;background:transparent;cursor:pointer;font-size:13px;min-width:20px;color:#503448}
.studio-reel-buttons button:disabled{opacity:.25;cursor:default}
.studio-track-box{font-size:12px;color:#796F75;min-height:69px;display:flex;justify-content:center;flex-direction:column}
.studio-track-box audio{width:100%;height:37px}
.studio-minor-action{background:none;border:none;color:#6A425B;text-decoration:underline;cursor:pointer;text-align:left;padding:7px 0}
.studio-workflow-bar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-top:18px;margin-top:18px;border-top:1px solid #EEE7EA}
.studio-template-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}
.studio-template-buttons button{border:1px solid #DDCFD4;border-radius:8px;background:white;padding:9px 13px;cursor:pointer;font-size:12px;color:#503448}
.studio-template-buttons button:hover{background:#F5E9EF;border-color:#AD879A}
.studio-preview-toggle{font-size:12px;font-weight:600;color:#604D59;display:flex;gap:9px;align-items:center}
.studio-preview-toggle select{max-width:178px;padding:9px;background:white;border:1px solid #DED6D7;border-radius:8px;font-size:12px}
.studio-primary-actions{display:flex;gap:8px;align-items:center}
.studio-primary-actions .smallbtn{padding:8px 12px;font-size:18px}
.guest-invitation-media{padding:22px 15px;margin:15px auto 30px;max-width:480px;background:white;border:1px solid #E9DFE3;border-radius:14px;text-align:center}
.guest-invitation-media h3{font:400 27px 'Fraunces',Georgia,serif;color:#503448;margin:7px 0 15px}
.guest-invitation-media audio{max-width:100%;width:390px;margin:9px auto}
.guest-music-intro{font-size:13px;color:#665A63;margin:15px 0 7px}
.guest-photo-reel img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px}
.guest-reel-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px 0 0}
.guest-reel-controls button{background:#FAF7F3;border:1px solid #DFD3D7;padding:7px 12px;border-radius:8px;color:#503448;cursor:pointer;min-height:36px}
.guest-reel-controls button:last-child{font-size:12px}
.guest-reel-counter{font-size:12px;color:#6D626A;min-width:45px}
@media(max-width:1140px){.studio-hub-grid{grid-template-columns:1fr 1fr}.studio-tool-ai{grid-column:1/-1}.studio-hub-head p{display:none}}
@media(max-width:760px){.studio-hub{padding:15px}.studio-hub-grid{grid-template-columns:1fr}.studio-tool-ai{grid-column:auto}.studio-workflow-bar{align-items:stretch;flex-direction:column}.studio-preview-toggle{justify-content:space-between}.studio-hub-head h3{font-size:24px}}

/* Mobile editor navigation: invitation first, creative tools second, detailed inspector last. */
.studio-mobile-tabs{display:none}
@media(max-width:760px){
  .studio-flow{display:flex;flex-direction:column;gap:14px}
  .studio-flow .editor-workspace{display:contents}
  .studio-flow .editor-centre{order:1;min-width:0}
  .studio-flow .studio-hub{order:2;margin:0}
  .studio-flow .editor-panel{order:3}
  .studio-flow .editor-properties{order:4}
  .studio-mobile-tabs{display:flex;gap:5px;align-items:center;margin:12px 0 16px}
  .studio-mobile-tabs button{flex:1;min-width:0;min-height:44px;background:white;color:#503448;border:1px solid #DACDD3;border-radius:9px;padding:8px;font-weight:700;font-size:13px}
  .studio-mobile-tabs button[aria-selected="true"]{background:#503448;color:white;border-color:#503448}
  .studio-hub-grid[data-mode] .studio-tool-card{display:none}
  .studio-hub-grid[data-mode="ai"] .studio-tool-ai{display:flex}
  .studio-hub-grid[data-mode="photos"] .studio-tool-photos{display:flex}
  .studio-hub-grid[data-mode="music"] .studio-tool-music{display:flex}
  .editor-centre .studio-primary-actions .btn{min-height:38px;padding:8px 10px}
  .editor-centre .editor-topline{gap:9px}
  .studio-hub-head{margin-bottom:5px}
  .studio-hub-head h3{font-size:23px}
}

/* Vowhouse Venue Designer: large room, object editor, interactive SVG and printable plan */
.venue-workspace{display:flex;flex-direction:column;gap:16px;min-width:0}
.venue-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;background:#FFF;border:1px solid #E2D8DD;padding:15px 20px;border-radius:14px}
.venue-toolbar label,.venue-room-bar label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#705767}
.venue-toolbar select{min-height:40px;border:1px solid #D9C9D0;background:#FEFDFD;border-radius:8px;padding:8px 9px;min-width:165px;color:#503448}
.venue-actions{display:flex;align-items:end;flex-wrap:wrap;gap:8px}
.venue-actions .btn{white-space:nowrap}
.venue-metrics{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#F5EFF3;border-radius:13px;padding:12px 17px}
.venue-metrics>span{padding-right:18px;margin-right:7px;border-right:1px solid #DED0D7;font-size:12px;color:#685764}
.venue-metrics>span strong{font-size:19px;color:#503448;margin-right:5px}
.venue-metrics .btn:first-of-type{margin-left:auto}
.venue-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.85fr);gap:17px;align-items:start}
.venue-canvas-panel,.venue-inspector-panel{background:#FFF;border:1px solid #E2D8DD;border-radius:16px;padding:21px;min-width:0;box-shadow:0 8px 28px #38263709}
.venue-scene-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}
.venue-scene-head h2{font-size:29px;margin:6px 0 0}
.venue-zoom{display:flex;align-items:center;gap:5px}
.venue-zoom button{background:white;border:1px solid #E0D3DA;border-radius:7px;color:#503448;min-width:32px;min-height:36px}
.venue-zoom span{font-size:12px;color:#655660;min-width:44px;text-align:center}
.venue-canvas-wrap{overflow:hidden;border:1px solid #DFD4DA;border-radius:12px;background:#FCFAF9}
#venue-svg{display:block;width:100%;height:auto;max-width:100%;touch-action:none;user-select:none}
#venue-svg [data-table-id],#venue-svg [data-object-id]{cursor:grab;touch-action:none}
#venue-svg [data-table-id]:active,#venue-svg [data-object-id]:active{cursor:grabbing}
#venue-svg [data-seat]{cursor:pointer}
#venue-svg [data-seat]:hover circle{stroke:#503448;stroke-width:3}
.venue-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;color:#6D626A;font-size:11px}
.venue-inspector-panel{max-height:850px;overflow-y:auto}
.venue-inspector-panel h2{font-size:27px;margin-top:9px}
.venue-inspector-panel .field{margin:11px 0}
.venue-inspector-panel .field input,.venue-inspector-panel .field select{min-width:0}
.venue-inspector-panel .stack>label{font-size:13px;font-weight:700;color:#504452}
.venue-inspector-panel .stack>label input{display:block;min-height:42px;width:100%;border:1px solid #D9CAD1;border-radius:9px;padding:7px}
.venue-chair-highlight{font-size:12px;font-weight:700;color:#503448;background:#F0E6ED;padding:7px;border-radius:7px;margin-bottom:7px}
.venue-room-bar{display:flex;gap:17px;align-items:end;flex-wrap:wrap;background:#FFF;border:1px solid #E2D8DD;padding:20px;border-radius:15px}
.venue-room-bar>div{flex:1;min-width:210px}
.venue-room-bar p{margin:5px 0 0}
.venue-room-bar input,.venue-room-bar select{padding:9px;border:1px solid #DACBD3;border-radius:8px;width:90px;background:white}
.venue-room-bar .btn{margin-left:auto}
#venue-print-note{display:none}
@media(max-width:1220px){.venue-grid{grid-template-columns:minmax(0,1.25fr) minmax(290px,1fr)}.venue-toolbar{flex-wrap:wrap}}
@media(max-width:900px){.venue-grid{grid-template-columns:1fr}.venue-inspector-panel{max-height:none}}
@media(max-width:500px){.venue-canvas-panel,.venue-inspector-panel{padding:13px}.venue-scene-head h2{font-size:24px}.venue-toolbar{padding:13px}.venue-metrics{gap:8px}.venue-metrics>span{padding-right:7px}.venue-foot{flex-direction:column;align-items:start}}
@media print{
 body.venue-print .sidebar,body.venue-print .topbar,body.venue-print .mobile-header,
 body.venue-print .mobile-nav,body.venue-print .page-head,body.venue-print .venue-toolbar,
 body.venue-print .venue-metrics,body.venue-print .venue-inspector-panel,
 body.venue-print .venue-room-bar,body.venue-print .venue-foot,
 body.venue-print .venue-zoom,body.venue-print #toast{display:none!important}
 body.venue-print .app-shell,body.venue-print .main,body.venue-print .venue-workspace,
 body.venue-print .venue-grid,body.venue-print .venue-canvas-panel{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
 body.venue-print .venue-canvas-wrap{border:1px solid #999!important;page-break-inside:avoid!important}
 body.venue-print #venue-print-note{display:block;text-align:center;padding-top:18px;font:12px Arial,sans-serif}
 @page{size:A4 landscape;margin:10mm}
}

.guest-host-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}
.guest-host-gallery-item{border:1px solid #E1D7DD;background:#FEFCFD;border-radius:12px;overflow:hidden;min-width:0}
.guest-host-gallery-item>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.guest-host-gallery-actions{display:flex;flex-direction:column;gap:8px;padding:12px}
.guest-host-gallery-actions strong{font-size:12px;overflow-wrap:anywhere}
.guest-host-gallery-actions .row{gap:7px}
.guest-host-gallery-actions .btn{padding:6px 10px;min-height:35px}
@media(max-width:950px){.guest-host-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.guest-host-gallery{grid-template-columns:minmax(0,1fr)}}

.studio-template-drawer{flex:1;min-width:0}
.studio-template-drawer summary{cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#503448;list-style:disclosure-closed;padding:7px 0}
.studio-template-drawer summary strong{font-size:13px}
.studio-template-drawer summary span{font-size:11px;color:#7D6A74;font-weight:400}
.studio-template-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 5px;max-height:500px;overflow-y:auto;padding-right:5px}
.studio-template-tile{display:flex;flex-direction:column;align-items:stretch;gap:6px;background:white;border:1px solid #E1D5DB;border-radius:11px;padding:9px;text-align:left;color:#503448;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.studio-template-tile:hover{border-color:#9C6E84;box-shadow:0 7px 20px #50344818}
.studio-template-tile:focus-visible{outline:3px solid #98654E;outline-offset:3px}
.studio-template-preview{width:100%;aspect-ratio:480/650;overflow:hidden;border:1px solid #E3D9DA;border-radius:5px;pointer-events:none}
.studio-template-tile strong{font-size:12px}
.studio-template-tile>span{font-size:10px;color:#736770;line-height:1.45}
@media(max-width:1100px){.studio-template-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.studio-template-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-height:530px}.studio-template-drawer summary span{display:none}}

/* The canvas is the hero: full creative toolbox lives inside the left editor pane. */
.studio-flow{display:block}
.studio-flow .editor-workspace{align-items:start}
.studio-flow .editor-create-panel{min-width:0}
.studio-flow .editor-create-panel .studio-hub{padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;margin:0 0 24px}
.studio-flow .editor-create-panel .studio-hub-head{display:block;margin-bottom:12px}
.studio-flow .editor-create-panel .studio-hub-head h3{font-size:23px;line-height:1.16}
.studio-flow .editor-create-panel .studio-hub-head p{display:none}
.studio-flow .editor-create-panel .studio-mobile-tabs{display:flex;gap:5px;margin-bottom:12px}
.studio-flow .editor-create-panel .studio-mobile-tabs button{flex:1;min-width:0;border:1px solid #DDCED6;background:white;min-height:38px;padding:7px 4px;border-radius:8px;color:#503448;font-size:12px;font-weight:700}
.studio-flow .editor-create-panel .studio-mobile-tabs button[aria-selected=true]{background:#503448;color:white}
.studio-flow .editor-create-panel .studio-hub-grid{display:block}
.studio-flow .editor-create-panel .studio-hub-grid .studio-tool-card{display:none;padding:12px;min-height:0}
.studio-flow .editor-create-panel .studio-hub-grid[data-mode=ai] .studio-tool-ai,
.studio-flow .editor-create-panel .studio-hub-grid[data-mode=photos] .studio-tool-photos,
.studio-flow .editor-create-panel .studio-hub-grid[data-mode=music] .studio-tool-music{display:flex}
.studio-flow .editor-create-panel .studio-tool-heading strong{font-size:12px}
.studio-flow .editor-create-panel .studio-tool-card p.small{font-size:11px;min-height:0}
.studio-flow .editor-create-panel .studio-tool-actions{gap:7px}
.studio-flow .editor-create-panel .studio-tool-actions .smallbtn{font-size:11px;padding:9px}
.studio-flow .editor-create-panel .studio-workflow-bar{display:flex;align-items:stretch;flex-direction:column}
.studio-flow .editor-create-panel .studio-template-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-height:500px}
.studio-flow .editor-create-panel .studio-template-drawer summary{font-size:12px;line-height:1.4}
.studio-flow .editor-create-panel .studio-template-drawer summary span{display:none}
.studio-flow .editor-create-panel .studio-preview-toggle{display:flex;justify-content:space-between}
.studio-flow .editor-create-panel .studio-preview-toggle select{max-width:150px}
.studio-flow .editor-create-panel .editor-layer-list{max-height:450px}
.studio-flow .editor-create-panel>.eyebrow{border-top:1px solid #E6DCE2;padding-top:22px}
.studio-flow .editor-create-panel>h3{font-size:23px}
@media(min-width:1240px){.studio-flow .editor-workspace{grid-template-columns:minmax(235px,.8fr) minmax(380px,1.9fr) minmax(240px,.84fr)}}
@media(max-width:760px){
 .app-shell:has(.studio-flow) .mobile-header,.app-shell:has(.studio-flow) .mobile-nav{position:static}
 .studio-flow{display:flex;flex-direction:column;gap:15px}
 .studio-flow .editor-workspace{display:contents}
 .studio-flow .editor-centre{order:1}
 .studio-flow .editor-create-panel{order:2}
 .studio-flow .editor-properties{order:3}
 .studio-flow .editor-create-panel .studio-hub{margin-bottom:20px}
 .studio-flow .editor-create-panel .studio-hub-head h3{font-size:23px}
}

.venue-guest-queue-panel{display:flex;flex-wrap:wrap;gap:18px;align-items:start;padding:22px;background:white;border:1px solid #E0D7DB;border-radius:14px}
.venue-guest-queue-panel>div:first-child{flex:1;min-width:220px}
.venue-guest-queue-panel h3{font-size:23px;margin:7px 0}
.venue-guest-search{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:5px;color:#62505D;min-width:170px}
.venue-guest-search input{min-height:42px;border:1px solid #DACCD4;border-radius:8px;padding:8px 11px;max-width:260px}
.venue-guest-queue{flex-basis:100%;display:flex;gap:9px;flex-wrap:wrap;max-height:245px;overflow-y:auto;padding:4px 1px}
.venue-guest-chip{min-height:40px;padding:9px 13px;border:1px solid #D8CBD2;border-radius:9px;color:#503448;background:#FDF8FA;font-size:12px;font-weight:600}
.venue-guest-chip:hover,.venue-guest-chip.selected{background:#503448;border-color:#503448;color:white;cursor:grab}
.venue-guest-chip:focus-visible{outline:3px solid #A76E8B;outline-offset:2px}
@media print{body.venue-print .venue-guest-queue-panel{display:none!important}}


/* Premium artwork library: independent canvas background styling and visible style cards. */
.studio-flow .editor-create-panel .studio-hub-grid[data-mode=backgrounds] .studio-tool-backgrounds{display:flex}
.studio-background-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.studio-background-options button{border:1px solid #DCD0D5;background:#FFF;border-radius:9px;color:#513F48;padding:11px 8px;min-height:42px;font-size:12px;font-weight:600;cursor:pointer}
.studio-background-options button:hover,.studio-background-options button.selected,.studio-background-options button[aria-pressed=true]{background:#503448;color:white;border-color:#503448}
.studio-background-options button:focus-visible{outline:3px solid #98654E;outline-offset:2px}
.studio-background-property{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.studio-background-property label,.studio-background-photo label{display:flex;flex-direction:column;gap:5px;color:#6D5561;font-size:11px;font-weight:700;min-width:0}
.studio-background-property label:last-child{grid-column:1/-1}
.studio-background-property input[type=color]{width:100%;height:40px;cursor:pointer;border:1px solid #DCCDD5;border-radius:8px;background:#fff;padding:4px}
.studio-background-property input[type=range],.studio-background-photo input[type=range]{width:100%;accent-color:#503448;min-height:30px}
.studio-background-photo{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:11px;background:#F1EAEF}
.studio-background-photo[hidden]{display:none!important}
.studio-template-drawer[open] summary{color:#503448}
.studio-template-tile .vow-document-canvas{isolation:isolate}
.studio-template-preview .vow-document-layer{pointer-events:none}
.studio-mobile-workspace-nav{display:none}
@media(max-width:760px){
  .studio-mobile-workspace-nav{position:sticky;top:0;z-index:24;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;
    margin:0 -2px;padding:9px 5px;background:rgba(250,247,243,.98);border:1px solid #E5DBDF;border-radius:12px;box-shadow:0 8px 24px #302C3114}
  .studio-mobile-workspace-nav button{min-height:45px;min-width:0;padding:9px 3px;border:1px solid #E0D1D8;border-radius:8px;background:#FFF;color:#503448;font-size:12px;font-weight:700}
  .studio-mobile-workspace-nav button[aria-pressed=true]{background:#503448;border-color:#503448;color:#FFF}
  .studio-mobile-workspace-nav button:focus-visible{outline:3px solid #98654E;outline-offset:2px}
  .studio-flow .editor-workspace[data-mobile-view=canvas] .editor-create-panel,
  .studio-flow .editor-workspace[data-mobile-view=canvas] .editor-properties{display:none!important}
  .studio-flow .editor-workspace[data-mobile-view=design] .editor-create-panel{display:block;order:1}
  .studio-flow .editor-workspace[data-mobile-view=design] .editor-create-panel>:not(.studio-hub){display:none!important}
  .studio-flow .editor-workspace[data-mobile-view=design] .editor-centre{order:2}
  .studio-flow .editor-workspace[data-mobile-view=design] .editor-properties{display:none!important}
  .studio-flow .editor-workspace[data-mobile-view=layers] .editor-create-panel{display:block;order:2}
  .studio-flow .editor-workspace[data-mobile-view=layers] .editor-create-panel>.studio-hub{display:none!important}
  .studio-flow .editor-workspace[data-mobile-view=layers] .editor-centre{order:1}
  .studio-flow .editor-workspace[data-mobile-view=layers] .editor-properties{display:none!important}
  .studio-flow .editor-workspace[data-mobile-view=properties] .editor-create-panel{display:none!important}
  .studio-flow .editor-workspace[data-mobile-view=properties] .editor-properties{position:fixed;z-index:32;display:block!important;bottom:0;left:0;right:0;
    margin:0;max-height:min(68dvh,620px);overflow:auto;border-radius:20px 20px 0 0;
    box-shadow:0 -14px 55px #302C3150;padding:18px 20px 34px;background:#FFF}
  .studio-flow .editor-workspace[data-mobile-view=properties] .editor-properties:before{content:'EDIT SELECTED LAYER · tap Canvas to close';display:block;letter-spacing:.12em;font-weight:700;font-size:10px;color:#946E80;margin:3px 0 15px}
  .studio-flow .editor-workspace[data-mobile-view=properties] .editor-centre{order:1}
  .studio-flow .editor-centre .editor-topline{position:sticky;top:61px;z-index:21;background:#FAF7F3;padding:9px 0;border-radius:8px}
  .studio-flow .editor-centre .studio-primary-actions{gap:7px}
  .studio-flow .editor-centre .studio-primary-actions .btn{min-height:42px}
  .studio-flow .editor-centre .editor-resize-handle{width:24px;height:24px;right:-12px;bottom:-12px}
  .studio-flow .editor-create-panel .studio-mobile-tabs button{min-height:44px}
  .studio-flow .editor-create-panel .studio-template-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Invitation gallery gets a real full-sized browsing surface, not 90px sidebar cards. */
.studio-template-launch{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
 min-height:58px;padding:15px;border:1px solid #CDB4C0;border-radius:13px;background:#FFF9FB;color:#503448;
 font-size:14px;font-weight:700;cursor:pointer;text-align:left}
.studio-template-launch span{font-size:11px;font-weight:600;color:#916B7E}
.studio-template-launch:hover{background:#F3E9EE;border-color:#98654E}
.studio-template-dialog{width:min(950px,calc(100vw - 32px));max-width:none;max-height:92dvh;overflow-y:auto;
 background:#FFFCFD;color:#352934;border:1px solid #E6D6DC;border-radius:20px;padding:24px;
 box-shadow:0 30px 100px #1D0E2044}
.studio-template-dialog::backdrop{background:#20131FD1;backdrop-filter:blur(3px)}
.studio-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
 margin-bottom:14px;padding-bottom:17px;border-bottom:1px solid #E4D7DF}
.studio-dialog-heading h2{font:400 clamp(27px,4vw,41px) 'Fraunces',Georgia,serif;letter-spacing:-.045em;margin:7px 0}
.studio-dialog-heading p{color:#776771;font-size:13px;margin:0}
.studio-dialog-close{min-height:44px;border:1px solid #D8C8D0;background:#FFF;border-radius:9px;
 padding:9px 13px;color:#503448;cursor:pointer;white-space:nowrap;font-weight:700}
.studio-template-dialog .studio-template-gallery{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;
 max-height:none;overflow:visible;padding:0;margin:14px 0}
.studio-template-dialog .studio-template-tile{padding:13px;gap:9px;border-radius:14px}
.studio-template-dialog .studio-template-preview{width:100%;max-width:320px;margin:auto;
 aspect-ratio:480 / 650;border:1px solid #E5D9DF;border-radius:7px;overflow:hidden}
.studio-template-dialog .studio-template-tile strong{font-size:17px;font-family:'Fraunces',Georgia,serif;font-weight:500}
.studio-template-dialog .studio-template-tile>span{font-size:12px}
.studio-generate-art{display:flex;flex-direction:column;gap:10px;margin-top:14px;
 padding:14px;border-radius:12px;border:1px solid #E2CED8;background:#FFFCFF}
.studio-generate-art h4{font:500 19px 'Fraunces',Georgia,serif;color:#503448;margin:0}
.studio-generate-art p{margin:0;line-height:1.5}
.studio-generate-art select,.studio-generate-art textarea{width:100%;min-width:0;padding:11px;
 border:1px solid #D8C4CE;border-radius:9px;background:#FFF;color:#352934;font-size:13px}
.studio-generate-art textarea{min-height:85px;resize:vertical;font-family:inherit}
.studio-art-generate{min-height:44px}
.studio-art-generate:disabled{opacity:.58;cursor:not-allowed}
.studio-art-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.studio-art-results[hidden]{display:none!important}
.studio-art-result{display:flex;flex-direction:column;gap:9px;min-width:0}
.studio-art-result img{display:block;width:100%;aspect-ratio:480/650;object-fit:cover;
 border-radius:9px;border:1px solid #D8C4CF}
.studio-art-result button{min-height:42px;white-space:normal}
@media(max-width:820px){
 .studio-template-dialog .studio-template-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
}
@media(max-width:500px){
 .studio-template-dialog{width:calc(100vw - 18px);max-height:95dvh;padding:15px;border-radius:16px}
 .studio-dialog-heading{align-items:flex-start}
 .studio-dialog-close{font-size:11px}
 .studio-template-dialog .studio-template-gallery{grid-template-columns:minmax(0,1fr);gap:18px}
 .studio-template-dialog .studio-template-tile{max-width:360px;margin:auto;width:100%}
 .studio-template-dialog .studio-template-preview{max-width:310px}
}


/* Visual review 2026-10-12: considered hierarchy and density across working journeys. */
:root{--vh-border:#E8DFE0;--vh-ink:#392D37;--vh-soft:#FCF8F7;--vh-accent:#705061}
#toast{bottom:24px;right:24px;padding:12px 17px;max-width:min(320px,calc(100vw - 36px));
 font-size:12px;line-height:1.45;border:1px solid #765D6B;box-shadow:0 16px 35px #34253226}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #B97996;outline-offset:2px}
.studio-hub-head h3{font-size:22px!important;line-height:1.2!important;letter-spacing:-.025em}
.studio-flow .editor-create-panel .studio-hub{margin-bottom:19px}
.studio-flow .editor-create-panel .studio-hub-grid .studio-tool-card{background:#FFF;border:1px solid var(--vh-border);border-radius:12px}
.studio-flow .editor-create-panel .studio-tool-card p.small{font-size:12px;line-height:1.5}
.studio-flow .editor-create-panel .studio-tool-heading strong{font-size:13px}
.studio-flow .editor-create-panel .studio-mobile-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.studio-flow .editor-create-panel .studio-mobile-tabs button{min-height:44px;padding:9px 3px;font-size:11px;border-radius:9px}
.studio-flow .editor-create-panel .studio-hub-grid{margin-top:8px}
.studio-tool-card.studio-tool-backgrounds{gap:13px!important;padding:16px!important}
.studio-background-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.studio-background-options button{
 min-width:0;display:flex;flex-direction:column;align-items:stretch;text-align:center;gap:7px;
 padding:7px 7px 9px;min-height:94px;background:white!important;color:#503448!important;
 border:1px solid #E4D9DD!important;border-radius:11px;cursor:pointer;
 box-shadow:0 2px 5px #1D152008;transition:transform .15s,border-color .15s,box-shadow .15s}
.studio-background-options button:hover{transform:translateY(-1px);border-color:#C3A1B0!important;box-shadow:0 5px 16px #32233113}
.studio-background-options button[aria-pressed=true]{border:2px solid #684357!important;padding:6px 6px 8px;
 box-shadow:0 0 0 3px #D9C0CB4D!important}
.studio-paper-thumb{display:block;width:100%;height:52px;border-radius:6px;border:1px solid #E6DBDB;
 background:#F8F3EA;position:relative;overflow:hidden}
.studio-paper-thumb-linen{background:repeating-linear-gradient(0deg,#E8DED2 0 1px,transparent 1px 6px),
 repeating-linear-gradient(90deg,#EAE1D7 0 1px,transparent 1px 7px),#F6F0E8}
.studio-paper-thumb-botanical{background:radial-gradient(ellipse at 15% 15%,#AAB09A 0 8%,transparent 9%),
 radial-gradient(ellipse at 30% 32%,#879B82 0 6%,transparent 7%),
 radial-gradient(ellipse at 91% 87%,#B5BC9B 0 10%,transparent 11%),#F2F0E8}
.studio-paper-thumb-deco{background:linear-gradient(140deg,transparent 16%,#B89979 17% 18%,transparent 19%),
 linear-gradient(40deg,transparent 16%,#B89979 17% 18%,transparent 19%),#F5EDE3;box-shadow:inset 0 0 0 5px #F5EDE3,inset 0 0 0 6px #B89979}
.studio-paper-thumb-coastal{background:repeating-radial-gradient(ellipse at 50% -90%,transparent 0 15px,#AEC7D0 16px 17px,transparent 18px 33px),#EEF5F4}
.studio-paper-thumb-terracotta{background:repeating-radial-gradient(ellipse at 50% 105%,#DDB59A 0 2px,transparent 3px 18px),#F4E5D9}
.studio-paper-thumb-nocturne{background:linear-gradient(120deg,transparent 28%,#CEAC7C 29% 30%,transparent 31%),#302835;box-shadow:inset 0 0 0 5px #302835,inset 0 0 0 6px #CEAC7C}
.studio-paper-thumb-gradient{background:linear-gradient(145deg,#FAF3F2,#CDB2BE)}
.studio-paper-thumb-plain{background:#FBF8F1}
.studio-paper-thumb-photo{background:linear-gradient(150deg,#B9B9A6,#B3A9A4 52%,#7A6759);position:relative}
.studio-paper-thumb-photo:after{content:'▧';font-size:25px;color:#FFF8F1;position:absolute;inset:0;display:grid;place-items:center}
.studio-paper-name{font-size:11px;font-weight:700;line-height:1.3}
.studio-paper-navigation{display:grid;grid-template-columns:1fr 1.15fr .9fr;gap:5px;background:#F4EEF1;
 padding:5px;border-radius:11px}
.studio-paper-navigation button{border:0;background:transparent;color:#6C5762;border-radius:8px;
 min-height:41px;min-width:0;padding:7px 3px;font-size:11px;font-weight:700}
.studio-paper-navigation button[aria-pressed=true]{background:white;color:#503448;box-shadow:0 2px 8px #3A2E3C18}
.studio-paper-pane[hidden]{display:none!important}
.studio-paper-pane{display:flex;flex-direction:column;gap:14px;min-width:0}
.studio-background-property{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}
.studio-background-property label{font-size:11px;line-height:1.35;gap:8px}
.studio-background-property input[type=color]{display:block;width:100%;min-height:45px;height:45px;padding:5px;
 border-radius:9px;cursor:pointer;border:1px solid #D6C9CE}
.studio-background-property label:last-child{grid-column:1/-1}
.studio-background-property input[type=range]{accent-color:#684357;min-height:32px}
.studio-background-photo{margin-top:5px}
.studio-generate-art{margin-top:3px;border-color:#E5D8DE;background:#FCFAFA}
.studio-tool-backgrounds>#studio-background-note{font-size:11px}
.studio-hub .studio-template-launch{min-height:53px}
.studio-flow .editor-create-panel .studio-template-gallery{max-height:none}
.studio-template-dialog .studio-template-gallery{gap:22px}
.studio-flow .editor-create-panel .editor-layer-entry{min-height:37px;padding:9px 10px}
.editor-centre .editor-canvas-surround{background:#F5F0EF;border:1px solid #E6DCDF;border-radius:16px;padding:16px}
.editor-centre .editor-topline{padding-bottom:4px}
.editor-centre .editor-resize-handle{min-width:19px;min-height:19px}
@media(min-width:1360px){
 .studio-flow .editor-workspace{grid-template-columns:minmax(286px,310px) minmax(390px,1fr) minmax(246px,265px);gap:18px}
 .studio-flow .editor-create-panel .studio-hub-head h3{font-size:23px!important}
}
@media(min-width:761px) and (max-width:1359px){
 .studio-flow .editor-workspace{grid-template-columns:minmax(250px,295px) minmax(330px,1fr);gap:16px}
 .studio-flow .editor-properties{grid-column:1/-1}
}
@media(max-width:760px){
 .studio-flow .editor-create-panel .studio-hub-head h3{font-size:21px!important}
 .studio-flow .editor-create-panel .studio-mobile-tabs{margin:6px 0 12px}
 .studio-flow .editor-create-panel .studio-hub-grid .studio-tool-card{padding:18px!important}
 .studio-flow .editor-create-panel .studio-template-launch{font-size:13px}
 .studio-flow .editor-workspace[data-mobile-view=design] .editor-centre,
 .studio-flow .editor-workspace[data-mobile-view=layers] .editor-centre{display:none}
 .studio-flow .editor-workspace[data-mobile-view=properties] .editor-centre{visibility:visible}
 .studio-flow .editor-create-panel .studio-background-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .studio-background-options button{min-height:89px}
 .studio-paper-thumb{height:44px}
 .studio-paper-name{font-size:11px}
 #toast{bottom:14px;left:14px;right:14px;margin:auto;max-width:420px;text-align:center}
}
@media(max-width:345px){
 .studio-flow .editor-create-panel .studio-background-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .studio-flow .editor-create-panel .studio-mobile-tabs button{font-size:10px}
}


/* Shared guest, venue, tablet polish from inspected rendered journeys. */
.guest-wrap{max-width:780px}
.guest-event{padding:clamp(16px,4.5vw,34px);border-radius:19px;box-shadow:0 9px 32px #302C3109}
.guest-design-frame{max-width:570px;margin:0 auto 24px;border-radius:4px;box-shadow:0 15px 32px #3B273F12;overflow:hidden}
.guest-celebrations-intro{margin:18px 0 25px!important;padding:16px 18px;border-radius:12px;
 box-shadow:none;border-color:#E9DEE3;background:#FBF8F8}
.guest-celebrations-intro h2{font:400 clamp(22px,4vw,29px) 'Fraunces',Georgia,serif;letter-spacing:-.025em;margin:7px 0}
.guest-celebrations-intro p{font-size:13px;line-height:1.5;margin:0}
.guest-invitation-media{max-width:570px;margin:0 auto 18px}
.guest-event .options{gap:12px}
.guest-event .options label{min-height:58px;font-weight:600;color:#493847}
.guest-event .options label:has(input:checked){background:#F2E7EE;border-color:#A47B8C;box-shadow:inset 0 0 0 1px #A47B8C}
.guest-event .options input{accent-color:#503448}
.guest-wrap>form>div>.btn[type=submit]{min-height:52px}
.venue-canvas-wrap{background:#FDFBFA}
@media(min-width:761px) and (max-width:1010px){
 .studio-flow .editor-workspace{grid-template-columns:minmax(0,1fr)!important}
 .studio-flow .editor-centre{order:1}
 .studio-flow .editor-create-panel{order:2}
 .studio-flow .editor-properties{order:3;grid-column:auto}
 .studio-flow .editor-create-panel .studio-template-launch{max-width:580px}
 .studio-flow .editor-create-panel .studio-background-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .guest-wrap{padding:0 12px;margin:16px auto 50px}
 .guest-event{padding:16px;margin:12px 0}
 .guest-design-frame{margin-bottom:14px}
 .guest-celebrations-intro{padding:14px;margin:13px 0 19px!important}
 .guest-event .options label{font-size:12px;padding:12px 10px}
 .guest-invitation-media{margin-bottom:13px}
 .venue-canvas-wrap{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
 .venue-canvas-wrap #venue-svg{width:700px!important;max-width:none!important;min-height:460px}
 .venue-canvas-panel{padding:15px}
 .venue-foot:after{content:'Swipe sideways to see all tables';display:block;font-weight:700;color:#866478;margin-top:7px}
 .venue-scene-head{align-items:flex-start;gap:7px}
 .venue-zoom button{min-width:38px;min-height:40px}
 .venue-inspector-panel{padding:17px}
}


/* Second rendered review: progressive disclosure and refined guest touch controls. */
.venue-seat-details{margin-top:2px;border:1px solid #E5D8DF;border-radius:12px;background:#FFFCFD;overflow:hidden}
.venue-seat-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;
 padding:15px 14px;min-height:52px;color:#503448;font-weight:700;font-size:13px;cursor:pointer;list-style:none}
.venue-seat-details>summary::-webkit-details-marker{display:none}
.venue-seat-details>summary:before{content:'▦';font-size:16px;color:#997185}
.venue-seat-details>summary:after{content:'⌄';font-size:18px;margin-left:auto;transition:transform .15s}
.venue-seat-details[open]>summary:after{transform:rotate(180deg)}
.venue-seat-details summary>span{font-size:11px;font-weight:500;color:#776971;margin-left:auto}
.venue-seat-fields{padding:0 15px 13px;border-top:1px solid #E9DCE2}
.venue-seat-fields .field{margin:12px 0!important}
.guest-body input[type=file],.album-body input[type=file]{border:1px dashed #BFAAB5!important;border-radius:12px;
 background:#FFFDFC;min-height:58px;padding:12px!important;font-size:13px;color:#6D5C68}
.guest-body input[type=file]::file-selector-button,.album-body input[type=file]::file-selector-button{
 border:1px solid #CDBCC6;border-radius:8px;background:#F4E9EF;color:#503448;padding:9px 13px;
 margin-right:13px;font:700 12px 'DM Sans',sans-serif;cursor:pointer}
.guest-body input[type=file]::file-selector-button:hover,.album-body input[type=file]::file-selector-button:hover{background:#EADBE3}
.guest-body .guest-invitation-media{background:#FFF;border:1px solid #E8DDDF;border-radius:16px;padding:22px;
 box-shadow:0 6px 24px #362A3509;margin:22px auto}
.guest-body .guest-invitation-media h3{font-size:25px}
@media(max-width:760px){
 .venue-seat-details{margin-top:8px}
 .venue-seat-details>summary{padding:15px;min-height:54px}
 .venue-seat-fields{padding:0 12px 9px}
 .guest-body .guest-invitation-media{padding:15px;margin:18px 0}
 .guest-wrap>form>div:has(.btn[type=submit]){margin:18px 0 20px!important}
}


/* Venue planner design review: calm canvas, navigable chair editing, honest clearance warnings. */
.venue-workspace{gap:18px}
.venue-grid{grid-template-columns:minmax(0,2.1fr) minmax(278px,.85fr);gap:16px}
.venue-canvas-panel{padding:clamp(14px,2vw,24px)}
.venue-scene-head{margin-bottom:6px}
.venue-scene-head h2{font:500 clamp(22px,2.5vw,29px) 'Fraunces',Georgia,serif}
.venue-scene-hint{font-size:12px;color:#756771;margin:0 0 12px}
.venue-table-jump{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:8px;padding:4px 2px 9px;margin-bottom:9px}
.venue-table-jump[hidden]{display:none!important}
.venue-table-jump button{flex:none;min-height:40px;max-width:150px;padding:8px 13px;font-size:11px;font-weight:700;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#FBF9F9;border:1px solid #DDCED6;color:#503448;border-radius:22px}
.venue-table-jump button:hover,.venue-table-jump button[aria-pressed=true]{background:#503448;color:#FFF;border-color:#503448}
.venue-table-jump button[title]{box-shadow:inset 0 -3px #C67D53}
.venue-clearance{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:11px 12px;margin:0 0 12px;
 background:#F4F5F0;color:#455B4A;border:1px solid #DBE5D9;border-radius:10px;font-size:11px;line-height:1.45}
.venue-clearance strong{font-weight:700}
.venue-clearance.has-warnings{color:#8B4936;border-color:#E6BCA5;background:#FFF3ED}
.venue-clearance details{flex-basis:100%;width:100%;margin-top:4px}
.venue-clearance summary{font-weight:700;cursor:pointer;min-height:24px}
.venue-clearance ul{margin:8px 0 0;padding-left:18px}
.venue-clearance li{margin-bottom:5px}
.venue-canvas-wrap{border-color:#E5DDE0;background:#FEFCFB;scrollbar-width:thin}
.venue-canvas-wrap #venue-svg [data-table-id][data-layout-warning=true]>ellipse,
.venue-canvas-wrap #venue-svg [data-table-id][data-layout-warning=true]>rect,
.venue-canvas-wrap #venue-svg [data-table-id][data-layout-warning=true]>path{stroke:#BA6948}
#venue-svg [data-seat].venue-chair-active circle{stroke:#B26E8C;stroke-width:4;fill:#F9E6EE}
#venue-svg [data-seat].venue-chair-active text{fill:#503448}
#venue-svg [role=button]:focus-visible{outline:none}
#venue-svg [role=button]:focus circle,#venue-svg [role=button]:focus rect,#venue-svg [role=button]:focus ellipse{stroke:#B66C91;stroke-width:4}
.venue-inspector-panel{padding:20px;max-height:920px;overflow-y:auto}
.venue-inspector-panel .stack{gap:12px}
.venue-inspector-panel .stack>.row{margin-top:4px}
.venue-inspector-panel #venue-inspector>h2{font-size:25px;line-height:1.2}
.venue-advanced-details{border:1px solid #E8DEE1;border-radius:11px;overflow:hidden;background:#FFFCFC}
.venue-advanced-details>summary{min-height:49px;display:flex;align-items:center;gap:10px;padding:12px 13px;
 font-size:12px;font-weight:700;color:#614A56;list-style:none;cursor:pointer}
.venue-advanced-details>summary:before{content:'⚙';color:#A07588}
.venue-advanced-details>summary:after{content:'⌄';margin-left:auto;font-size:16px}
.venue-advanced-details[open]>summary:after{transform:rotate(180deg)}
.venue-advanced-details>summary::-webkit-details-marker{display:none}
.venue-advanced-fields{display:grid;gap:13px;padding:13px;border-top:1px solid #E8DEE1}
.venue-advanced-fields .grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.venue-advanced-fields .field{min-width:0}
.venue-seat-focus{padding:17px;margin:0 0 17px;background:linear-gradient(145deg,#FAF1F6,#FFFDFD);
 border:1px solid #E3D4DC;border-radius:13px;display:flex;flex-direction:column;gap:9px}
.venue-seat-focus .eyebrow{letter-spacing:.13em;font-size:10px}
.venue-seat-focus h3{font:500 23px 'Fraunces',Georgia,serif;letter-spacing:-.02em;color:#503448;margin:0 0 3px}
.venue-seat-focus label{font-size:12px;font-weight:700;color:#503448}
.venue-seat-focus select{width:100%;min-height:47px;border:1px solid #D1BCC8;padding:9px 11px;border-radius:9px;background:#FFF;color:#503448}
.venue-seat-focus p{margin:1px 0 6px;line-height:1.5}
.venue-seat-focus button{align-self:start;min-height:43px}
.venue-foot{line-height:1.45}
@media(max-width:1220px){.venue-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}}
@media(max-width:1000px){.venue-grid{grid-template-columns:1fr}.venue-inspector-panel{max-height:none}.venue-table-jump{margin-bottom:10px}}
@media(max-width:760px){
 .venue-workspace{gap:12px}
 .venue-metrics{gap:7px;padding:12px}
 .venue-metrics>span{font-size:11px;padding-right:7px;margin-right:0}
 .venue-scene-hint{margin:0 0 10px}
 .venue-table-jump{margin:0 0 10px}
 .venue-table-jump button{min-height:44px;font-size:12px}
 .venue-clearance{padding:11px;margin-bottom:10px}
 .venue-canvas-wrap{overflow-x:auto;overflow-y:hidden;scroll-snap-type:none}
 .venue-canvas-wrap #venue-svg{width:720px!important;min-height:480px}
 .venue-canvas-panel{padding:13px}
 .venue-inspector-panel{padding:16px;max-height:none}
 .venue-seat-focus{margin-top:3px;padding:15px}
 .venue-zoom button{min-width:44px;min-height:44px}
 .venue-guest-queue-panel{padding:16px}
 .venue-room-bar{padding:15px}
}
@media print{
 body.venue-print .venue-scene-hint,body.venue-print .venue-clearance,body.venue-print .venue-table-jump{display:none!important}
 body.venue-print .venue-canvas-wrap{overflow:visible!important}
 body.venue-print #venue-svg{width:100%!important;min-height:0!important;max-width:100%!important}
}


/* Keep venue navigation usable on 320px devices without document-wide sideways scrolling. */
.venue-grid,.venue-canvas-panel,.venue-inspector-panel,.venue-scene-head,.venue-clearance,.venue-toolbar,.venue-room-bar{min-width:0;max-width:100%}
.venue-clearance{overflow-wrap:anywhere}
.venue-table-jump{min-width:0;max-width:100%;overscroll-behavior-x:contain}
@media(max-width:500px){
 .venue-grid{grid-template-columns:minmax(0,1fr)}
 .venue-scene-head{flex-direction:column;align-items:flex-start;gap:12px}
 .venue-scene-head>div:first-child{max-width:100%;min-width:0}
 .venue-zoom{width:100%;justify-content:flex-start;flex-wrap:wrap}
 .venue-zoom button{min-height:44px;min-width:44px}
 .venue-zoom span{min-width:45px}
 .venue-advanced-fields .grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .venue-seat-focus{min-width:0}
 .venue-seat-focus select{max-width:100%}
}


/* Complimentary pilot: clear incomplete-invitation guidance and mobile first actions. */
.editor-readiness{border:1px solid #D9A989;background:#FFF5EF;color:#633D31;border-radius:12px;
 padding:14px 17px;margin:13px 0 0;font-size:12px;line-height:1.5}
.editor-readiness[hidden]{display:none!important}
.editor-readiness strong{display:block;font-weight:750;font-size:13px}
.editor-readiness ul{margin:9px 0 13px;padding-left:19px}
.editor-readiness li{margin-bottom:5px}
.editor-readiness .btn{min-height:42px}
@media(max-width:600px){
 .main .grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .main .metric{padding:12px 10px;min-height:85px}
 .main .metric strong{font-size:23px}
 .main .metric span{font-size:11px;line-height:1.3}
 .editor-readiness{padding:14px;font-size:12px}
}


/* Cross-browser invitation music preview: usable even when Safari hides native audio controls. */
.studio-track-status{font-size:12px;font-weight:700;color:#503448;margin-bottom:8px}
.studio-track-preview{align-self:flex-start;margin:9px 0;min-height:44px}
.studio-track-box audio{min-height:37px}
