@import url('https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:wght@500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');*{box-sizing:border-box}:root{--black:#080808;--cream:#f7f2e9;--ivory:#fffdf9;--gold:#c69a4b;--line:#ded4c6;--muted:#6f6962;--green:#26734d;--red:#a63d3d}body{margin:0;font-family:Montserrat,Arial;background:var(--ivory);color:#171513;line-height:1.65}header{min-height:88px;display:flex;justify-content:space-between;align-items:center;padding:12px 6vw;border-bottom:1px solid var(--line);background:#fffdfa;position:sticky;top:0;z-index:20}.brand-logo{width:170px;height:62px}.brand-logo img{width:100%;height:100%;object-fit:contain}nav{display:flex;gap:22px}nav a{text-decoration:none;font-weight:600}.hero,.event-hero{width:100%;min-height:680px;display:grid;place-items:center;text-align:center;padding:90px 7vw;color:#fff;background:radial-gradient(circle at 75% 25%,rgba(198,154,75,.28),transparent 32%),linear-gradient(135deg,#050505,#17110b 58%,#7a5527)}.hero-inner{width:min(100%,1000px);margin:auto}.hero h1,.event-hero h1{font:500 clamp(4rem,10vw,8rem)/.85 'Cormorant Garamond';margin:18px 0}.hero h1 span{font-family:Allura;color:#ead19b}.hero-copy,.event-hero p{max-width:760px;margin:0 auto 30px}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;font-weight:700;color:#ead19b}.gold{color:#76511f}.center{text-align:center}.section{padding:95px 7vw}.soft-section{background:var(--cream)}.display-title{font:600 clamp(2.6rem,5vw,4.7rem)/1 'Cormorant Garamond';margin:8px 0 24px}.split-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.actions{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}.actions.left{justify-content:flex-start}.btn{display:inline-block;border-radius:999px;padding:15px 24px;font-weight:700;text-decoration:none}.primary{background:linear-gradient(135deg,#d4aa5a,#a8792d);color:white}.secondary{border:1px solid white;color:white}.dark{background:#080808;color:white}.outline{border:1px solid #080808}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border:1px solid var(--line)}.feature-strip div{padding:28px;border-right:1px solid var(--line)}.feature-strip strong,.feature-strip span{display:block}.feature-strip strong{font:600 1.6rem 'Cormorant Garamond'}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:40px}.video-card{background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden}.video-card video{display:block;width:100%;height:min(68vh,720px);background:#080808;object-fit:contain}.video-copy{padding:24px}.video-copy h3,.event-card h3,.experience-item h3{font-family:'Cormorant Garamond';font-size:2rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.card,.panel{padding:30px;background:white;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:inherit;box-shadow:0 12px 35px rgba(40,30,20,.05)}.event-card{min-height:280px;display:flex;flex-direction:column}.event-card b{margin-top:auto}.experience-banner,.final-cta{margin:0 3vw;padding:70px 7vw;background:linear-gradient(135deg,#090909,#3a2817);color:white;display:flex;justify-content:space-between;align-items:center;gap:35px;border-radius:24px}.experience-banner h2,.final-cta h2{font:600 clamp(2.5rem,5vw,4.5rem)/1 'Cormorant Garamond';margin:8px 0}.location-card{padding:60px;border:1px solid var(--line);border-radius:24px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.experience-item{padding:30px;background:#fff;border:1px solid var(--line);border-radius:18px}.package-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.package-list div{display:grid;grid-template-columns:.45fr .55fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps div{padding:28px;border-top:2px solid var(--gold);background:white}.steps span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#080808;color:white}.final-cta{display:block;text-align:center;margin-bottom:80px}.booking-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:30px}.panel label{display:grid;gap:7px;margin-bottom:16px}.panel input,.panel select{width:100%;padding:13px;border:1px solid #cbbda9;border-radius:9px}.addon,.total-box p,.summary-list p{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.addon label{display:flex;align-items:center}.addon input{width:auto}.note{font-size:.86rem;color:var(--muted)}.calendar-panel{margin-bottom:30px}.calendar-header{display:flex;justify-content:space-between;align-items:center}.calendar-nav{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:white}.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0}.legend-dot{width:11px;height:11px;border-radius:50%;display:inline-block}.available-dot{background:#dff1e7}.booked-dot{background:#f2dddd}.partial-dot{background:#fff0c9}.closed-dot{background:#e4e1dc}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{min-height:92px;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;justify-content:space-between}.calendar-day.available{background:#edf8f1}.calendar-day.partial{background:#fff7df}.calendar-day.booked{background:#f8eaea}.calendar-day.closed{background:#eeeae4}.calendar-day.selected{outline:3px solid var(--gold)}.calendar-day.blank{visibility:hidden}footer{background:#090909;color:#c8c2ba}.footer-content{padding:40px 7vw;display:flex;justify-content:space-between;align-items:center}.footer-brand img{width:170px;height:70px;object-fit:contain}.social-links{display:flex;gap:18px}.social-links a{color:white;text-decoration:none;font-weight:700}.footer-bottom{text-align:center;border-top:1px solid #333;padding:18px}@media(max-width:900px){nav{display:none}.split-heading,.package-layout{grid-template-columns:1fr}.cards,.experience-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.section{padding:70px 6vw}.video-grid,.cards,.experience-grid,.booking-layout,.steps{grid-template-columns:1fr}.feature-strip{grid-template-columns:1fr}.experience-banner,.final-cta{display:block;padding:55px 7vw}.footer-content{flex-direction:column;align-items:flex-start}.calendar-day{min-height:68px;padding:6px}.brand-logo{width:135px}}
.wordmark{text-decoration:none;color:#111;display:grid;line-height:.8}.wordmark span{font:2.2rem Allura;color:#b1843d}.wordmark b{font:.7rem Montserrat;letter-spacing:.42em}.wordmark.light b{color:#fff}.auth-wrap{min-height:70vh;display:grid;place-items:center}.auth-card{width:min(100%,560px)}textarea{width:100%;min-height:120px;padding:13px;border:1px solid #cbbda9;border-radius:9px;font:inherit}.link-button{border:0;background:none;font:inherit;font-weight:700;cursor:pointer;padding:10px;color:inherit}.dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dashboard-grid{display:grid;grid-template-columns:1fr 2fr;gap:22px}.dashboard-grid .wide{grid-column:auto}.stack{display:grid;gap:12px}.booking-card{display:grid;gap:5px;padding:18px;border:1px solid var(--line);border-radius:12px}.messages{height:360px;overflow:auto;background:#f6f1e8;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}.message{max-width:80%;background:white;padding:10px 14px;border-radius:14px}.message.mine{align-self:flex-end;background:#1b1b1b;color:white}.message p{margin:0}.message small{opacity:.65}.chat-form{display:flex;gap:10px;margin-top:12px}.chat-form input{flex:1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.stats div{padding:25px;background:#111;color:#fff;border-radius:16px}.stats b,.stats span{display:block}.stats b{font:2.5rem 'Cormorant Garamond'}.admin-list{display:grid;gap:12px}.admin-row{display:flex;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);border-radius:12px}.admin-row div:first-child{display:grid;gap:3px}.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-chat-layout{display:grid;grid-template-columns:260px 1fr;gap:18px}.conversation-list{display:grid;align-content:start;gap:8px}.conversation-list button{padding:13px;text-align:left;border:1px solid var(--line);background:white;border-radius:10px}.event-photo-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.event-photo-grid img{width:100%;height:340px;object-fit:cover;border-radius:18px}.event-photo-grid img:first-child{grid-row:span 1}@media(max-width:800px){.dashboard-grid,.admin-chat-layout{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.admin-row{display:grid}.event-photo-grid{grid-template-columns:1fr}.event-photo-grid img{height:260px}.dashboard-head{align-items:flex-start;flex-direction:column}}

/* Persistent signed-in navigation */
.session-control{display:inline-flex;align-items:center;gap:14px;margin-left:10px}.session-control .link-button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.is-logged-in nav>a[href="login.html"]{display:none}@media(max-width:760px){.session-control{display:flex;width:100%;justify-content:center;margin:8px 0 0;gap:18px}}
.auth-link{display:inline-block;margin-top:10px;font-weight:700;color:#76511f}.password-checks{display:grid;gap:5px;margin:-3px 0 18px;font-size:.84rem;color:var(--muted)}.password-checks .valid{color:var(--green);font-weight:700}.checkout-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.payment-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;cursor:pointer}.payment-option input{width:auto;margin-top:5px}.payment-option strong,.payment-option small{display:block}.pay-button[disabled]{opacity:.55;cursor:not-allowed}.secure-note{padding:13px;background:#f5f0e6;border-radius:10px;font-size:.86rem}.status-banner{padding:18px;border-radius:12px;margin-bottom:20px}.status-banner.success{background:#e7f5ec;color:#1d653f}.status-banner.cancel{background:#fff2d8;color:#77520f}@media(max-width:800px){.checkout-grid{grid-template-columns:1fr}}
.receipt-links{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.12)}
.receipt-links a{text-decoration:underline;font-weight:600}

/* Premium photo gallery */
.gallery-page{max-width:1500px;margin:0 auto}.gallery-intro{max-width:760px;font-size:1.05rem;line-height:1.7;margin:-1rem 0 2rem;color:#5f5a54}.photo-gallery{columns:4 260px;column-gap:18px}.gallery-card{display:block;width:100%;margin:0 0 18px;padding:0;border:0;border-radius:16px;overflow:hidden;background:#eee;cursor:zoom-in;break-inside:avoid;box-shadow:0 8px 28px rgba(24,18,10,.10);transition:transform .22s ease,box-shadow .22s ease}.gallery-card:hover,.gallery-card:focus-visible{transform:translateY(-3px);box-shadow:0 13px 34px rgba(24,18,10,.18);outline:2px solid #b8842f;outline-offset:3px}.gallery-card img{display:block;width:100%;height:auto;object-fit:cover}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.94);display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:30px 18px}.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;max-height:94vh}.lightbox img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:8px;box-shadow:0 16px 60px rgba(0,0,0,.45)}.lightbox figcaption{color:#fff;margin-top:10px;font-size:.9rem}.lightbox-close,.lightbox-nav{border:0;background:rgba(255,255,255,.12);color:white;cursor:pointer;border-radius:999px}.lightbox-close{position:absolute;right:20px;top:16px;width:46px;height:46px;font-size:34px;line-height:40px}.lightbox-nav{width:52px;height:52px;font-size:27px;justify-self:center}.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.25)}body.lightbox-open{overflow:hidden}@media(max-width:700px){.photo-gallery{columns:2 145px;column-gap:10px}.gallery-card{margin-bottom:10px;border-radius:10px}.lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:18px 5px}.lightbox-nav{width:40px;height:40px;font-size:21px}.lightbox-close{right:10px;top:10px}}

/* Admin destructive actions and paid-in-full summary */
.btn-danger,
.row-actions .btn-danger,
.conversation-list .btn-danger {
  background: #8b1e1e;
  color: #fff;
  border-color: #8b1e1e;
}
.btn-danger:hover,
.row-actions .btn-danger:hover,
.conversation-list .btn-danger:hover { background: #681616; }
.paid-full-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; }
.paid-full-card { border:1px solid #e3d6c6; border-radius:18px; padding:18px; background:#fbf8f3; display:grid; gap:7px; }
.paid-full-card strong { font-size:1.05rem; }
.paid-full-card span { display:block; color:#5f5a54; }
.chat-list-item { display:flex; align-items:stretch; gap:8px; margin-bottom:8px; }
.chat-list-item > button:first-child { flex:1; }
.chat-list-item > .btn-danger { width:auto; padding:8px 12px; border-radius:12px; }

/* Pricing and time options */
.pricing-strip{padding-top:42px;padding-bottom:42px}.price-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:980px;margin:28px auto}.price-card{border:1px solid #dfd1bc;border-radius:22px;padding:28px;background:#fff;text-align:center;box-shadow:0 16px 38px rgba(49,35,20,.06)}.price-card span{display:block;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.price-card strong{display:block;font-family:Georgia,serif;font-size:3rem;margin:8px 0;color:#9b6a1c}.price-card p{margin:0;line-height:1.7;color:#625b52}.pricing-strip .center{margin-top:12px}@media(max-width:700px){.price-cards{grid-template-columns:1fr}.price-card strong{font-size:2.5rem}}

/* Gallery and category hero performance update 2026-07-21 */
.event-hero{background-repeat:no-repeat;background-size:cover;background-position:center;transition:background-image .2s ease}.gallery-card img{background:#eee;content-visibility:auto}.photo-gallery{contain:layout paint}.event-photo-grid img{background:#eee}

/* Authentication navigation and form actions */
.session-control{display:inline-flex;align-items:center;gap:1.25rem}
.auth-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:.2rem}
.auth-actions .btn{margin:0}
.auth-actions .auth-link{white-space:nowrap}
@media (max-width:700px){.session-control{gap:.75rem}.auth-actions{align-items:stretch}.auth-actions .btn{flex:1 1 auto;text-align:center}}

/* Premium event-page redesign */
.wordmark{display:flex;flex-direction:column;text-decoration:none;color:#171513;line-height:1}.wordmark span{font:2rem Allura;color:#b77b20}.wordmark b{font-size:.63rem;letter-spacing:.42em;margin-left:.15rem;margin-top:.2rem}
.event-showcase{display:grid;grid-template-columns:40% 60%;min-height:560px;border-bottom:1px solid var(--line);background:#fffdf9}.event-intro{padding:70px 5vw;display:flex;flex-direction:column;justify-content:center}.event-intro h1{font:600 clamp(3.8rem,6.5vw,7rem)/.9 'Cormorant Garamond';margin:10px 0 16px}.event-intro>p:not(.eyebrow){max-width:560px;font-size:1.02rem}.gold-rule{width:52px;height:2px;background:var(--gold);margin:4px 0 18px}.event-hero-photo{min-height:560px;background-size:cover;background-position:center}.event-intro .outline{border-color:#b98732;color:#80591e;background:#fff}.event-details-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:34px;padding:42px 4vw 58px}.included-panel,.upgrades-panel{border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff}.included-panel h2,.upgrades-panel h2{font:600 clamp(2rem,3vw,3rem)/1 'Cormorant Garamond';margin:4px 0 22px}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr)}.amenity-grid div{min-height:116px;padding:15px 10px;text-align:center;border-right:1px solid #eee1d0;border-bottom:1px solid #eee1d0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}.amenity-grid div:nth-child(4n){border-right:0}.amenity-grid div:nth-last-child(-n+4){border-bottom:0}.amenity-grid span{font-size:2rem;color:#b77b20}.amenity-grid b{font-size:.79rem;line-height:1.35}.upgrade-card{display:grid;grid-template-columns:45% 55%;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:14px 0}.upgrade-card>div:last-child{padding:18px}.upgrade-card h3{margin:0 0 5px}.upgrade-card p{font-size:.83rem;line-height:1.45;margin:0 0 7px}.upgrade-card strong{font-size:1.25rem;color:#a96f18}.upgrade-visual{min-height:155px;display:grid;place-items:center;color:#fff;font:700 2.4rem Montserrat;background:radial-gradient(circle,#403342,#161116 60%)}.upgrade-visual.booth{box-shadow:inset 0 -15px 50px #2d62b3}.upgrade-visual.projector{background:radial-gradient(circle at center,#d9d7e2 0 27%,#2d2031 28% 48%,#110d14 70%)}
.event-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.event-photo-grid img{width:100%;height:320px;object-fit:cover;border-radius:16px}.price-cards{display:grid;grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;gap:20px}.price-card{border:1px solid var(--line);border-radius:16px;padding:24px;background:#fff;text-align:center}.price-card span,.price-card strong{display:block}.price-card strong{font:600 2.8rem 'Cormorant Garamond';color:#9e6a1d}.event-choice-cards .card{transition:.2s transform,.2s box-shadow}.event-choice-cards .card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(40,30,20,.10)}
.auth-card{max-width:580px;margin:auto}.auth-actions{display:flex;gap:14px;align-items:center;margin-top:20px}.auth-actions .btn{min-width:130px;text-align:center}.forgot-row{text-align:center;margin-top:18px}.forgot-row a{font-weight:700;color:#76511f}
@media(max-width:900px){header{position:relative;flex-wrap:wrap}nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px}.event-showcase{grid-template-columns:1fr}.event-hero-photo{min-height:430px;order:-1}.event-details-grid{grid-template-columns:1fr}.amenity-grid{grid-template-columns:repeat(3,1fr)}.amenity-grid div:nth-child(4n){border-right:1px solid #eee1d0}.amenity-grid div:nth-child(3n){border-right:0}.amenity-grid div:nth-last-child(-n+4){border-bottom:1px solid #eee1d0}.amenity-grid div:nth-last-child(-n+3){border-bottom:0}}
@media(max-width:650px){header{padding:14px 5vw}nav{width:100%;justify-content:center;font-size:.84rem}.event-intro{padding:46px 6vw}.event-hero-photo{min-height:330px}.event-details-grid{padding:28px 4vw}.amenity-grid{grid-template-columns:repeat(2,1fr)}.amenity-grid div:nth-child(3n){border-right:1px solid #eee1d0}.amenity-grid div:nth-child(2n){border-right:0}.amenity-grid div:nth-last-child(-n+3){border-bottom:1px solid #eee1d0}.amenity-grid div:nth-last-child(-n+2){border-bottom:0}.upgrade-card{grid-template-columns:1fr}.upgrade-visual{min-height:125px}.event-photo-grid{grid-template-columns:1fr}.event-photo-grid img{height:260px}.price-cards{grid-template-columns:1fr}.auth-actions{flex-direction:column}.auth-actions .btn{width:100%}}

/* Baby shower/event experience page — polished reference layout */
.premium-event-page{background:#fffdf9}
.premium-event-page .event-showcase{min-height:375px;grid-template-columns:35% 65%}
.premium-event-page .event-intro{padding:45px 4.5vw}
.premium-event-page .event-intro h1{font-size:clamp(3.4rem,5vw,5.6rem);margin:6px 0 12px}
.premium-event-page .event-intro>p:not(.eyebrow){font-size:.98rem;line-height:1.7;margin:0 0 18px;max-width:450px}
.premium-event-page .event-hero-photo{min-height:375px;background-position:center;background-size:cover}
.premium-event-page .actions.left{gap:16px}
.premium-event-page .btn{padding:13px 24px}
.premium-event-page .event-details-grid{grid-template-columns:1.25fr 1fr;gap:28px;padding:0 3vw 12px;margin-top:0}
.premium-event-page .included-panel,.premium-event-page .upgrades-panel{border-radius:14px;padding:20px 24px 12px}
.premium-event-page .included-panel h2,.premium-event-page .upgrades-panel h2{font-size:clamp(1.9rem,2.6vw,2.7rem);margin:2px 0 14px}
.premium-event-page .amenity-grid div{min-height:98px;padding:10px 6px}
.premium-event-page .amenity-grid span{font-size:1.75rem;line-height:1;color:#b77b20}
.premium-event-page .amenity-grid b{font-size:.72rem}
.premium-event-page .upgrade-card{grid-template-columns:50% 50%;margin:10px 0;min-height:142px}
.premium-event-page .upgrade-card img{width:100%;height:100%;min-height:142px;object-fit:cover;display:block}
.premium-event-page .upgrade-card>div{padding:14px 16px}
.premium-event-page .upgrade-card h3{font-size:1rem;font-family:Montserrat;margin:0 0 5px}
.premium-event-page .upgrade-card p{font-size:.78rem}
.premium-event-page nav a.active{color:#5d20a4;border-bottom:2px solid #5d20a4}
@media(max-width:900px){
 .premium-event-page .event-showcase{grid-template-columns:1fr}
 .premium-event-page .event-hero-photo{order:-1;min-height:390px}
 .premium-event-page .event-details-grid{grid-template-columns:1fr;padding:20px 4vw}
}
@media(max-width:650px){
 .premium-event-page .event-hero-photo{min-height:300px}
 .premium-event-page .event-intro{padding:35px 6vw}
 .premium-event-page .upgrade-card{grid-template-columns:42% 58%}
}

/* Final navigation, login, event cards and footer polish */
header nav{display:flex;align-items:center;justify-content:flex-end;gap:28px;flex-wrap:wrap}
header nav a,header nav .link-button{font:600 1rem/1 Montserrat,sans-serif;color:#35105e;text-decoration:none;white-space:nowrap}
header nav a.active{color:#6c20a8;border-bottom:2px solid #6c20a8;padding-bottom:6px}
header nav .link-button{color:#242020;background:none;border:0;border-bottom:1px solid #242020;padding:0 0 4px;cursor:pointer}
.auth-wrap{min-height:650px;display:grid;place-items:center}
.auth-card{width:min(100%,580px);padding:42px 38px}
.auth-card label{display:block;margin:17px 0;font-size:1rem}
.auth-card input{width:100%;margin-top:9px;padding:15px;border:1px solid #cfb995;border-radius:11px;background:#fff;box-sizing:border-box}
.auth-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:16px!important;margin-top:24px!important}
.auth-actions .btn{width:100%;min-width:0!important;box-sizing:border-box;text-align:center}
.forgot-row{text-align:center;margin-top:18px}.forgot-row a{font-weight:700;color:#76511f}
.event-choice-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.event-choice-cards .card{min-height:180px}
.footer-premium{display:grid;grid-template-columns:1.2fr .7fr .8fr 1.3fr;gap:40px;padding:42px 6vw 30px;background:#090909;color:#fff;text-align:left}
.footer-premium h4{color:#d09a37;text-transform:uppercase;letter-spacing:.14em;margin:0 0 12px;font-size:.78rem}
.footer-premium a,.footer-premium p{display:block;color:#fff;text-decoration:none;margin:8px 0;line-height:1.5}.footer-brand p{color:#ddd}.footer-bottom{background:#090909;color:#bbb;border-top:1px solid #292929;text-align:center;padding:18px}
@media(max-width:900px){header nav{gap:16px}.event-choice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-premium{grid-template-columns:1fr 1fr}}
@media(max-width:650px){header nav{width:100%;justify-content:center;gap:12px;font-size:.84rem}.auth-actions{grid-template-columns:1fr!important}.event-choice-cards{grid-template-columns:1fr}.footer-premium{grid-template-columns:1fr;text-align:center}}

.request-history{margin-top:28px}.request-history h3{margin-bottom:14px}.video-card video{width:100%;height:auto;max-height:520px;background:#111;object-fit:contain;display:block}.video-grid{align-items:start}

/* Admin booking calendar */

.admin-calendar-panel {
  margin-top: 28px;
}

.calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.calendar-header h2 {
  margin: 4px 0 0;
}

.calendar-nav {
  width: 46px;
  height: 46px;
  border: 1px solid #d9c8b2;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}

.calendar-nav:hover {
  background: #f7f0e7;
}

.calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 16px;
  font-size: 0.85rem;
}

.calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
}

.available-dot {
  background: #f4f1ec;
}

.pending-dot {
  background: #e5b84c;
}

.approved-dot {
  background: #6f9fd1;
}

.paid-dot {
  background: #58a879;
}

.calendar-weekdays,
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.calendar-weekdays {
  border: 1px solid #e3d6c6;
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
}

.calendar-weekdays strong {
  padding: 12px 5px;
  text-align: center;
  background: #f8f3ed;
  font-size: 0.78rem;
}

.calendar-grid {
  border-top: 1px solid #e3d6c6;
  border-left: 1px solid #e3d6c6;
}

.calendar-day {
  min-height: 115px;
  padding: 10px;
  border: 0;
  border-right: 1px solid #e3d6c6;
  border-bottom: 1px solid #e3d6c6;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}

.calendar-day:hover {
  box-shadow: inset 0 0 0 2px #b77b20;
}

.calendar-day > strong {
  display: block;
  margin-bottom: 8px;
  font-size: 1rem;
}

.calendar-day-empty {
  cursor: default;
  background: #faf8f5;
}

.calendar-day-empty:hover {
  box-shadow: none;
}

.calendar-day.available {
  background: #fff;
}

.calendar-day.pending {
  background: #fff6d9;
}

.calendar-day.approved {
  background: #eaf3fc;
}

.calendar-day.paid {
  background: #e9f7ef;
}

.calendar-event-label {
  display: block;
  padding: 4px 6px;
  margin-top: 4px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.75);
  font-size: 0.68rem;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-day small {
  display: block;
  margin-top: 5px;
  font-size: 0.66rem;
}

.calendar-event-details {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid #e3d6c6;
}

.calendar-event-details h3 {
  margin-top: 0;
}

.calendar-event-card {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid #e3d6c6;
}

.calendar-event-card strong,
.calendar-event-card span {
  display: block;
}

.calendar-event-card span {
  margin-top: 5px;
}

@media (max-width: 750px) {
  .calendar-weekdays strong {
    font-size: 0.65rem;
    padding: 9px 2px;
  }

  .calendar-day {
    min-height: 78px;
    padding: 6px;
  }

  .calendar-event-label {
    font-size: 0.58rem;
    padding: 3px;
  }

  .calendar-event-card {
    flex-direction: column;
  }
}
/* Digital rental agreement */
.contract-page{background:#f7f2ea}.contract-shell{max-width:1120px}.contract-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.contract-notice{padding:14px 18px;border:1px solid #d8c8b5;border-radius:12px;background:#fff9ed;margin-bottom:18px}.contract-document{background:#fff;border:1px solid #dfd1bf;border-radius:18px;padding:clamp(22px,5vw,64px);box-shadow:0 18px 50px rgba(57,43,28,.1)}.contract-brand{text-align:center;border-bottom:1px solid #dfd1bf;padding-bottom:22px;margin-bottom:24px}.contract-script{font:clamp(2.7rem,7vw,4.8rem) Allura;color:#c78917;line-height:1}.contract-brand p{font-family:'Cormorant Garamond';font-style:italic;color:#b77b20;margin:4px 0 10px}.contract-brand h2{margin:0}.contract-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-bottom:28px}.contract-facts div{display:grid;gap:2px;padding-bottom:8px;border-bottom:1px solid #eee3d6}.contract-facts span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#745f48}.contract-terms{max-height:620px;overflow:auto;padding:26px;border:1px solid #d9c7b2;border-radius:14px;background:#fffdf9;line-height:1.58}.contract-terms h3{text-transform:uppercase;text-decoration:underline;margin-top:28px}.contract-warning{color:#a62d24;font-weight:700;text-decoration:underline}.contract-final-warning{color:#a62d24;font-weight:800;font-size:1.2rem;text-decoration:underline;margin-top:34px}.contract-scroll-marker{text-align:center;padding:18px;background:#f7efe4;border-radius:10px;margin-top:24px}.signature-section{margin-top:32px;padding-top:28px;border-top:1px solid #dfd1bf}.signature-pad-wrap{margin:12px 0 18px}.signature-pad-wrap canvas{display:block;width:100%;height:180px;background:#fff;border:2px dashed #b9a48b;border-radius:12px;touch-action:none;margin-bottom:10px}.contract-checkbox{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:12px;background:#f7f1e8}.contract-checkbox input{width:auto;margin-top:4px}.contract-pay-button{width:100%;margin-top:14px}.signed-record{margin-top:30px;padding:24px;border:1px solid #a7c8ae;border-radius:14px;background:#edf8ef}.signed-record img{display:block;max-width:420px;width:100%;height:130px;object-fit:contain;object-position:left center;border-bottom:1px solid #333;margin:12px 0}.contract-print-actions{margin-top:18px}.receipt-links{display:grid;gap:5px;margin-top:8px}.contract-link{font-weight:700;color:#54228a}@media(max-width:720px){.contract-topbar{align-items:flex-start;flex-direction:column}.contract-facts{grid-template-columns:1fr}.contract-document{padding:20px}.contract-terms{max-height:520px;padding:18px}}
@media print{body.contract-page{background:#fff}.contract-page header,.contract-page footer,.no-print{display:none!important}.contract-shell{padding:0;max-width:none}.contract-document{border:0;box-shadow:none;padding:0}.contract-terms{max-height:none;overflow:visible;border:0;padding:0}.contract-facts{grid-template-columns:repeat(2,1fr)}.signed-record{display:block!important;break-inside:avoid}.contract-document{font-size:11pt}}


/* Signed contract libraries */
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.panel-heading h2{margin:2px 0 0}.contracts-grid{display:grid;gap:14px}.contract-summary-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border:1px solid var(--line,#e3d6c6);border-radius:16px;background:#fff}.contract-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e9f7ef;color:#21643d;font-weight:800;font-size:1.15rem}.contract-summary-card strong,.contract-summary-card span{display:block}.contract-summary-card span{margin-top:4px;color:#5d574f}.contract-payment-state{font-weight:700;color:#745012!important}.contract-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.contract-card-actions .btn{white-space:nowrap}.admin-contracts-grid{grid-template-columns:1fr}@media(max-width:780px){.contract-summary-card{grid-template-columns:auto 1fr}.contract-card-actions{grid-column:1/-1;justify-content:flex-start}.panel-heading{display:block}.panel-heading>.note,.panel-heading>.paid-badge{display:inline-block;margin-top:8px}}


/* Drag-and-drop admin calendar v3.1 */
.calendar-toolbar{display:grid;grid-template-columns:auto minmax(180px,1.4fr) minmax(150px,1fr) minmax(150px,1fr);gap:12px;align-items:end;margin:0 0 18px}.calendar-toolbar label{display:grid;gap:6px;font-size:.78rem;font-weight:700}.calendar-toolbar input,.calendar-toolbar select{width:100%;padding:11px 12px;border:1px solid #d9c8b2;border-radius:10px;background:#fff;box-sizing:border-box}.calendar-day{display:flex;flex-direction:column}.calendar-date-button{border:0;background:transparent;text-align:left;padding:0;color:inherit;cursor:pointer}.calendar-events{display:grid;gap:5px;min-width:0}.calendar-event-label{width:100%;border:0;text-align:left;cursor:grab}.calendar-event-label:active{cursor:grabbing}.calendar-event-label b,.calendar-event-label span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-label span{font-size:.61rem;margin-top:2px}.calendar-event-label.dragging{opacity:.35}.calendar-day.drag-over{outline:3px dashed #8a4fbd;outline-offset:-5px;background:#f3eafa}.calendar-event-card.focused{background:#fff8e6;border-radius:12px;padding:18px}.calendar-event-card .row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.calendar-event-card .row-actions a,.calendar-event-card .row-actions button{white-space:nowrap}@media(max-width:900px){.calendar-toolbar{grid-template-columns:1fr 1fr}.calendar-toolbar .btn{align-self:stretch}}@media(max-width:620px){.calendar-toolbar{grid-template-columns:1fr}.calendar-day{min-height:92px}.calendar-event-label span{display:none}}


/* Phase 4.3 professional FullCalendar */
#adminFullCalendar{margin-top:18px}.calendar-main-heading{align-items:flex-start}.calendar-filter-toolbar{grid-template-columns:minmax(220px,1.5fr) minmax(170px,1fr) minmax(170px,1fr)}
.blocked-dot{background:#8b2e2e}.fc{--fc-border-color:#e1d6c8;--fc-button-bg-color:#111;--fc-button-border-color:#111;--fc-button-hover-bg-color:#8b6429;--fc-button-active-bg-color:#b2843d;--fc-today-bg-color:#fff8e8;font-family:Montserrat,Arial}.fc .fc-toolbar-title{font-family:'Cormorant Garamond';font-size:2rem}.fc .fc-button{border-radius:999px;padding:.55em 1em;font-weight:700;text-transform:capitalize}.fc .fc-event{border:0;border-left:5px solid rgba(0,0,0,.32);border-radius:7px;padding:3px 5px;cursor:pointer}.fc-event-custom{display:grid;min-width:0}.fc-event-custom b,.fc-event-custom span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-event-custom span{font-size:.68rem;opacity:.88}.fc .event-wedding{background:#7f4ca5}.fc .event-baby{background:#c96f9d}.fc .event-graduation{background:#367fc2}.fc .event-birthday{background:#d59c22}.fc .event-corporate{background:#308466}.fc .event-repast{background:#404040}.fc .event-other{background:#9b6545}.fc .status-pending{opacity:.72}.fc .status-approved{box-shadow:inset 0 0 0 2px rgba(255,255,255,.48)}.fc .status-paid{box-shadow:inset 0 0 0 3px #b9f2ca}.fc .calendar-blackout{background:repeating-linear-gradient(135deg,rgba(126,34,34,.18),rgba(126,34,34,.18) 8px,rgba(126,34,34,.28) 8px,rgba(126,34,34,.28) 16px)}
.blackout-dialog{width:min(92vw,560px);border:1px solid var(--line);border-radius:20px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.28)}.blackout-dialog::backdrop{background:rgba(0,0,0,.58)}.blackout-form{padding:28px}.blackout-form label{display:grid;gap:7px;margin:14px 0}.blackout-form input,.blackout-form select{padding:12px;border:1px solid #cbbda9;border-radius:9px}.calendar-event-card .btn-danger{align-self:center}
@media(max-width:850px){.calendar-filter-toolbar{grid-template-columns:1fr}.fc .fc-toolbar{align-items:flex-start;gap:12px}.fc .fc-toolbar.fc-header-toolbar{flex-direction:column}.fc .fc-toolbar-chunk{display:flex;flex-wrap:wrap}.fc .fc-toolbar-title{font-size:1.65rem}}

/* Phase 4.4 — Customer Event Dashboard */
.customer-command-center { margin: 0 0 30px; }
.customer-dashboard-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:18px; }
.customer-dashboard-heading h2 { margin:4px 0 0; }
.customer-summary-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.customer-summary-cards article { padding:18px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,#fff,#fbf6ef); box-shadow:0 10px 24px rgba(48,35,20,.05); }
.customer-summary-cards span { display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:#746a5e; }
.customer-summary-cards strong { display:block; margin-top:8px; font-size:1.55rem; }
.customer-dashboard-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr); gap:18px; }
.customer-feature-card { min-width:0; }
.customer-next-event-head { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.customer-next-event-head h2 { margin:4px 0 6px; font-size:2rem; }
.customer-next-event-head p { margin:0; }
.event-countdown { min-width:128px; padding:16px; border-radius:16px; background:#17130f; color:white; text-align:center; }
.event-countdown strong { display:block; font-size:2rem; line-height:1; }
.event-countdown span { display:block; margin-top:7px; font-size:.72rem; opacity:.82; }
.payment-progress-block { margin:22px 0; }
.payment-progress-label { display:flex; justify-content:space-between; gap:12px; margin-bottom:9px; }
.payment-progress-track { height:12px; overflow:hidden; border-radius:999px; background:#eee5d9; }
.payment-progress-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#9a6a2f,#d4ad67); transition:width .35s ease; }
.payment-progress-block small { display:block; margin-top:8px; color:#71695f; }
.event-journey { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin:22px 0; }
.journey-step { position:relative; text-align:center; color:#948b81; font-size:.68rem; }
.journey-step i { display:grid; place-items:center; width:27px; height:27px; margin:0 auto 7px; border:2px solid #d7cdc1; border-radius:50%; background:white; font-style:normal; }
.journey-step.complete { color:#3d3a34; font-weight:700; }
.journey-step.complete i { border-color:#70a781; background:#e7f4eb; color:#2d7344; }
.next-action-box { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:17px; border-radius:15px; background:#f8f1e7; border:1px solid #e5d4bd; }
.next-action-box span,.next-action-box strong,.next-action-box small { display:block; }
.next-action-box span { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:#826945; }
.next-action-box strong { margin:3px 0; }
.customer-quick-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.customer-quick-links a { font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.customer-notification-list { display:grid; gap:2px; }
.customer-notification-item { display:grid; grid-template-columns:12px 1fr; gap:11px; padding:14px 0; border-bottom:1px solid var(--line); }
.customer-notification-item i { width:9px; height:9px; margin-top:5px; border-radius:50%; background:#b9863f; }
.customer-notification-item strong,.customer-notification-item span,.customer-notification-item small { display:block; }
.customer-notification-item span { margin:3px 0; font-size:.87rem; }
.customer-notification-item small { color:#81786f; }
.customer-review-form,.review-complete-card { display:grid; gap:14px; padding:20px; border:1px solid var(--line); border-radius:15px; background:#fffdf9; }
.customer-review-form + .customer-review-form,.review-complete-card + .review-complete-card { margin-top:14px; }
.review-stars { font-size:1.3rem; letter-spacing:.08em; color:#b68232; }
.review-complete-card p { margin:0; }
@media (max-width: 980px) {
  .customer-summary-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-dashboard-layout { grid-template-columns:1fr; }
  .event-journey { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:16px; }
}
@media (max-width: 620px) {
  .customer-dashboard-heading,.customer-next-event-head,.next-action-box { align-items:stretch; flex-direction:column; }
  .customer-summary-cards { grid-template-columns:1fr 1fr; }
  .event-countdown { min-width:0; }
  .event-journey { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Phase 5 Event Planning Suite */
.planning-page{max-width:1180px;margin:auto}.planning-form{display:grid;gap:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.choice-grid{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 20px}.choice-grid label,.check-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.planning-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:12px;padding:16px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:16px;box-shadow:0 -8px 24px rgba(0,0,0,.06)}.planning-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px}.planning-file-card{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px}.planning-file-card a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-comment-box:not(:empty){margin-top:12px;padding:16px;border-left:4px solid var(--gold);background:#fff8e8}.planning-admin-card p{margin:.5rem 0 0}@media(max-width:720px){.form-grid{grid-template-columns:1fr}.planning-actions{flex-direction:column}.planning-actions .btn{width:100%}}

/* Phase 6 — Owner Command Center */
.owner-command-center { margin: 28px 0 34px; }
.command-center-heading { margin-bottom: 18px; }
.command-center-updated { font-size: .85rem; color: var(--muted, #746b62); }
.command-kpi-grid { display:grid; grid-template-columns:repeat(7,minmax(130px,1fr)); gap:12px; margin-bottom:18px; }
.command-kpi { background:#fff; border:1px solid var(--line,#e4d9cc); border-radius:16px; padding:16px; min-height:100px; display:flex; flex-direction:column; justify-content:space-between; box-shadow:0 8px 24px rgba(41,31,20,.05); }
.command-kpi span { font-size:.76rem; text-transform:uppercase; letter-spacing:.06em; color:#756b61; }
.command-kpi strong { font-size:1.45rem; line-height:1.1; }
.command-kpi.danger { border-color:#d89a9a; background:#fff5f5; }
.command-kpi.clear { border-color:#aad0b7; background:#f3fbf5; }
.command-center-grid { display:grid; grid-template-columns:1.25fr .9fr; gap:18px; margin-bottom:18px; }
.command-center-grid > .panel { margin:0; }
.revenue-bars { height:250px; display:flex; gap:12px; align-items:flex-end; padding:18px 4px 0; }
.revenue-bar-column { flex:1; min-width:0; height:100%; display:grid; grid-template-rows:auto 1fr auto; gap:6px; text-align:center; }
.revenue-bar-value { font-size:.7rem; color:#746b62; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.revenue-bar-track { height:100%; border-radius:12px 12px 4px 4px; background:#f1ebe4; display:flex; align-items:flex-end; overflow:hidden; }
.revenue-bar-fill { width:100%; min-height:0; background:linear-gradient(180deg,#c49a53,#8d6425); border-radius:12px 12px 4px 4px; transition:height .35s ease; }
.revenue-bar-column > span { font-size:.75rem; font-weight:700; }
.command-alert-list { display:grid; gap:9px; max-height:330px; overflow:auto; }
.command-alert { width:100%; display:grid; grid-template-columns:10px 1fr; gap:10px; text-align:left; border:1px solid #e5dbcf; border-radius:12px; background:#fff; padding:12px; cursor:pointer; }
.command-alert:hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(41,31,20,.07); }
.command-alert-dot { width:9px; height:9px; border-radius:50%; margin-top:5px; background:#7f93ad; }
.command-alert.warning .command-alert-dot { background:#d9a62e; }
.command-alert.danger .command-alert-dot { background:#c95a5a; }
.command-alert.success .command-alert-dot { background:#4a9a6a; }
.command-alert strong,.command-alert small { display:block; }
.command-alert small { margin-top:3px; color:#766d64; line-height:1.35; }
.snapshot-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.snapshot-grid > div { border:1px solid #e5dbcf; border-radius:13px; padding:15px; background:#fffdf9; }
.snapshot-grid strong,.snapshot-grid span { display:block; }
.snapshot-grid strong { font-size:1.35rem; }
.snapshot-grid span { margin-top:4px; font-size:.78rem; color:#756b61; }
.quick-actions-grid { display:flex; flex-wrap:wrap; gap:10px; }
@media (max-width:1200px){ .command-kpi-grid{grid-template-columns:repeat(4,1fr)} }
@media (max-width:850px){ .command-center-grid{grid-template-columns:1fr}.command-kpi-grid{grid-template-columns:repeat(2,1fr)}.snapshot-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .command-kpi-grid,.snapshot-grid{grid-template-columns:1fr}.revenue-bars{height:210px;gap:6px}.revenue-bar-value{display:none}.quick-actions-grid .btn{width:100%} }


/* Phase 7 Marketing & Sales Suite */
.sales-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.sales-card{border:1px solid var(--line,#ddd1c1);border-radius:16px;padding:22px;background:#fff;display:flex;flex-direction:column;gap:10px}.sales-card h3{margin:0;font-size:1.5rem}.sales-card ul{padding-left:20px;flex:1}.sales-price{font-size:1.8rem;color:#9b6a20}.sales-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px;align-items:end}.sales-form-grid label{display:grid;gap:6px}.promo-row{display:flex;gap:10px}.promo-row input{flex:1}.promo-entry{margin-top:22px;padding-top:18px;border-top:1px solid var(--line,#ddd1c1)}.portal-sales-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;margin-bottom:22px;border:1px solid var(--line,#ddd1c1);border-radius:16px;background:#fff9ef}.portal-sales-banner p{margin:0}.portal-sales-banner strong{display:block;margin-top:3px}@media(max-width:650px){.promo-row,.portal-sales-banner{flex-direction:column;align-items:stretch}}


/* Phase 8 business automation */
.invoice-page{max-width:1000px;margin:auto}.invoice-actions{display:flex;justify-content:space-between;margin-bottom:20px}.invoice-document{background:#fff;border:1px solid var(--line,#ded6c9);padding:42px;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.08)}.invoice-brand{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #b88a44;padding-bottom:24px}.invoice-brand h1{margin:0;font-size:2.4rem}.invoice-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:28px 0}.invoice-meta-grid span,.invoice-totals span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:#746b61}.invoice-meta-grid strong{display:block;margin:6px 0}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th,.invoice-table td{padding:14px;border-bottom:1px solid #e7dfd4;text-align:left}.invoice-table th:last-child,.invoice-table td:last-child{text-align:right}.invoice-totals{max-width:380px;margin:25px 0 25px auto}.invoice-totals>div{display:flex;justify-content:space-between;padding:10px 0}.invoice-balance{font-size:1.25rem;border-top:2px solid #222}.invoice-note{border-top:1px solid #e7dfd4;padding-top:20px}.invoice-status{display:inline-block;padding:4px 9px;border-radius:999px;background:#eee;font-size:.78rem;text-transform:capitalize}.invoice-status.paid,.invoice-status.approved,.invoice-status.completed{background:#dff3e7;color:#21643a}.invoice-status.overdue,.invoice-status.denied{background:#fde2e2;color:#8b2020}.invoice-status.pending,.invoice-status.open{background:#fff0c9;color:#7a5710}.invoice-list-row{align-items:center}
@media(max-width:720px){.invoice-document{padding:22px}.invoice-meta-grid{grid-template-columns:1fr}.invoice-brand{gap:20px}.invoice-brand h1{font-size:1.8rem}}
@media print{.no-print,header,footer{display:none!important}.invoice-document{box-shadow:none;border:0;padding:0}.invoice-page{max-width:none}.invoice-document{break-inside:avoid}}

/* Phase 9: security, privacy, and recovery */
.privacy-notice{position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 18px;border:1px solid #dac7aa;border-radius:14px;background:#fffaf3;box-shadow:0 18px 50px rgba(32,23,12,.2);font-size:.9rem}.privacy-notice a{text-decoration:underline}.legal-page{max-width:900px}.legal-page h1{font-family:"Cormorant Garamond",serif;font-size:3rem}.legal-page h2{margin-top:30px}.security-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.health-card{display:grid;gap:6px;padding:18px;border-radius:12px;border:1px solid var(--line);background:#fff}.health-card.healthy{border-color:#86b997;background:#eef8f1}.health-card.unhealthy{border-color:#d59696;background:#fff0f0}.security-callout{padding:16px;border-left:4px solid #c9973f;background:#fff7e8;border-radius:8px}.security-checklist{display:grid;gap:12px}.security-checklist label{display:flex;align-items:center;gap:10px}.footer-bottom a{color:inherit}.footer-bottom a:hover{text-decoration:underline}@media(max-width:700px){.privacy-notice{align-items:flex-start;flex-direction:column}.privacy-notice .btn{width:100%}}

/* Phase 9.1: persistent admin navigation */
:root { --admin-sidebar-width: 260px; }
.has-admin-shell { padding-left: var(--admin-sidebar-width); }
.admin-shell-sidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 1200; width: var(--admin-sidebar-width);
  display: flex; flex-direction: column; background: #17130f; color: #fff;
  box-shadow: 12px 0 28px rgba(24, 18, 12, .16); overflow-y: auto;
}
.admin-shell-brand { display: flex; align-items: center; justify-content: space-between; padding: 24px 18px; border-bottom: 1px solid rgba(255,255,255,.12); }
.admin-shell-brand a { color: #fff; text-decoration: none; display: grid; line-height: 1; }
.admin-shell-brand span { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.7rem; }
.admin-shell-brand b { margin-top: 7px; color: #d6aa64; letter-spacing: .22em; font-size: .7rem; }
.admin-shell-close { display: none; border: 0; background: transparent; color: #fff; font-size: 1.8rem; cursor: pointer; }
.admin-shell-nav { display: grid; gap: 4px; padding: 16px 12px; }
.admin-shell-link { display: flex; align-items: center; gap: 11px; width: 100%; padding: 11px 13px; border: 0; border-radius: 9px; color: rgba(255,255,255,.82); background: transparent; text-decoration: none; text-align: left; font: inherit; cursor: pointer; }
.admin-shell-link:hover, .admin-shell-link.active { color: #fff; background: rgba(214,170,100,.18); }
.admin-shell-link.active { box-shadow: inset 3px 0 0 #d6aa64; }
.admin-shell-footer { margin-top: auto; display: grid; gap: 4px; padding: 14px 12px 22px; border-top: 1px solid rgba(255,255,255,.12); }
.admin-shell-button { appearance: none; }
.admin-shell-mobilebar { display: none; }
.admin-shell-overlay { display: none; }
.has-admin-shell > header { padding-left: 22px; padding-right: 22px; }

@media (max-width: 980px) {
  .has-admin-shell { padding-left: 0; padding-top: 56px; }
  .admin-shell-sidebar { transform: translateX(-105%); transition: transform .2s ease; width: min(86vw, 300px); }
  .admin-shell-open .admin-shell-sidebar { transform: translateX(0); }
  .admin-shell-close { display: inline-block; }
  .admin-shell-mobilebar { position: fixed; inset: 0 0 auto 0; z-index: 1150; height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; background: #17130f; box-shadow: 0 4px 16px rgba(0,0,0,.18); }
  .admin-shell-mobilebar button, .admin-shell-mobilebar a { border: 0; background: transparent; color: #fff; font: inherit; text-decoration: none; cursor: pointer; }
  .admin-shell-overlay { position: fixed; inset: 0; z-index: 1190; border: 0; background: rgba(0,0,0,.48); }
  .admin-shell-open .admin-shell-overlay { display: block; }
  .has-admin-shell > header { padding-left: 16px; padding-right: 16px; }
}


/* Focused admin pages and admin-only portal */
[hidden]{display:none!important}.admin-hub{max-width:1180px}.admin-hub-intro{max-width:720px;font-size:1.05rem}.admin-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}.admin-page-card{display:grid;gap:9px;min-height:165px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 12px 28px rgba(37,27,18,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.admin-page-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(37,27,18,.12);border-color:#b98942}.admin-page-card>span{font-size:2rem}.admin-page-card strong{font-family:"Cormorant Garamond",serif;font-size:1.55rem}.admin-page-card small{font-size:.9rem;line-height:1.45;color:#6b6259}.is-admin-only-link{display:none}@media(max-width:900px){.admin-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.admin-page-grid{grid-template-columns:1fr}.admin-page-card{min-height:auto}}

/* Admin real-time notification center */
.admin-notification-root{position:relative;z-index:1500}.admin-notification-button{position:fixed;top:16px;right:20px;z-index:1510;width:48px;height:48px;border:1px solid #d9c49e;border-radius:50%;background:#fffaf2;box-shadow:0 10px 28px rgba(30,22,13,.16);font-size:1.25rem;cursor:pointer}.admin-notification-button:hover{transform:translateY(-2px)}.admin-notification-button b{position:absolute;top:-5px;right:-4px;min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#b92f2f;color:#fff;border:2px solid #fff;font-size:.66rem}.admin-notification-overlay{position:fixed;inset:0;z-index:1515;border:0;background:rgba(12,9,6,.46)}.admin-notification-drawer{position:fixed;inset:0 0 0 auto;z-index:1520;width:min(440px,94vw);display:flex;flex-direction:column;padding:22px;background:#fffdf9;box-shadow:-18px 0 45px rgba(25,18,10,.22);transform:translateX(105%);transition:transform .22s ease}.admin-notifications-open .admin-notification-drawer{transform:translateX(0)}.admin-notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:15px}.admin-notification-header h2{margin:2px 0 0;font-size:2rem}.admin-notification-close{border:0;background:transparent;font-size:2rem;cursor:pointer}.admin-notification-actions{display:grid;grid-template-columns:1fr auto;gap:9px;margin:16px 0 10px}.admin-notification-actions select{min-width:0}.admin-notification-sound{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#665e55;margin-bottom:12px}.admin-notification-list{display:grid;gap:9px;overflow:auto;padding-right:3px;flex:1}.admin-notification-item{position:relative;width:100%;display:grid;grid-template-columns:38px 1fr 8px;gap:11px;padding:14px;border:1px solid #e4d9cb;border-radius:13px;background:#fff;color:inherit;text-align:left;cursor:pointer}.admin-notification-item:hover{border-color:#bc8a42;box-shadow:0 9px 22px rgba(38,28,16,.08)}.admin-notification-item.unread{background:#fff8e9;border-color:#d7b576}.admin-notification-item.priority-critical{border-left:4px solid #bb3636}.admin-notification-item.priority-warning{border-left:4px solid #d49a26}.admin-notification-item.priority-success{border-left:4px solid #3f9561}.admin-notification-item.priority-info{border-left:4px solid #668dbd}.admin-notification-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f4ede3}.admin-notification-copy{min-width:0;display:grid;gap:4px}.admin-notification-topline{display:flex;justify-content:space-between;gap:10px}.admin-notification-topline strong{font-size:.92rem}.admin-notification-topline small{white-space:nowrap;color:#7b7166;font-size:.7rem}.admin-notification-copy>span:not(.admin-notification-topline){font-size:.81rem;line-height:1.4;color:#564e46}.admin-notification-copy em{font-style:normal;text-transform:capitalize;font-size:.68rem;color:#8a7762}.admin-notification-unread-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#b87921}.admin-notification-history-link{display:block;padding:14px 0 2px;text-align:center;color:#8a5b18;font-weight:700}.admin-notification-history-page{max-width:1000px}.admin-notification-page-list{display:grid;gap:10px}.admin-notification-page-list .admin-notification-item{grid-template-columns:42px 1fr 8px;padding:17px}.admin-page-card.notification-card{border-color:#d7b576;background:#fffaf0}@media(max-width:980px){.admin-notification-button{top:62px;right:12px;width:44px;height:44px}.admin-notification-drawer{padding-top:70px}}@media(max-width:600px){.admin-notification-actions{grid-template-columns:1fr}.admin-notification-topline{display:grid;gap:2px}.admin-notification-topline small{white-space:normal}}

/* Customer event cancellation controls */
.customer-cancel-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line, #e4d9cc);
}

.customer-cancel-actions small {
  flex-basis: 100%;
  color: #6f655c;
}

.customer-delete-booking {
  background: #8f2626;
  border: 1px solid #8f2626;
  color: #fff;
  border-radius: 999px;
  padding: 10px 16px;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.customer-delete-booking:hover {
  background: #701d1d;
}

/* Organized customer portal pages */
:root{--customer-sidebar-width:250px}.has-customer-shell{padding-left:var(--customer-sidebar-width)}.customer-shell-sidebar{position:fixed;inset:0 auto 0 0;z-index:1200;width:var(--customer-sidebar-width);display:flex;flex-direction:column;background:#f7efe3;color:#211b15;border-right:1px solid #dfcfba;box-shadow:10px 0 26px rgba(42,30,18,.08);overflow-y:auto}.customer-shell-brand{display:flex;align-items:center;justify-content:space-between;padding:24px 18px;border-bottom:1px solid #dfcfba}.customer-shell-brand a{display:grid;color:#211b15;text-decoration:none;line-height:1}.customer-shell-brand span{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.75rem}.customer-shell-brand b{margin-top:7px;color:#9b681f;letter-spacing:.18em;font-size:.67rem}.customer-shell-close{display:none;border:0;background:transparent;font-size:1.8rem;cursor:pointer}.customer-shell-nav{display:grid;gap:4px;padding:16px 12px}.customer-shell-link{display:flex;align-items:center;gap:11px;width:100%;padding:11px 13px;border:0;border-radius:9px;color:#50463d;background:transparent;text-decoration:none;text-align:left;font:inherit;cursor:pointer}.customer-shell-link:hover,.customer-shell-link.active{color:#211b15;background:#ead9bf}.customer-shell-link.active{box-shadow:inset 3px 0 0 #a56f24;font-weight:700}.customer-shell-footer{margin-top:auto;display:grid;gap:4px;padding:14px 12px 22px;border-top:1px solid #dfcfba}.customer-shell-button{appearance:none}.customer-shell-mobilebar,.customer-shell-overlay{display:none}.customer-page{max-width:1180px}.customer-page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.customer-page-head h1{margin:0}.customer-page-back{display:inline-flex;align-items:center;gap:7px}.customer-hub{max-width:1120px}.customer-hub-intro{max-width:720px;font-size:1.05rem}.customer-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}.customer-hub-card{display:grid;gap:9px;min-height:165px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 12px 28px rgba(37,27,18,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.customer-hub-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(37,27,18,.12);border-color:#b98942}.customer-hub-card>span{font-size:2rem}.customer-hub-card strong{font-family:"Cormorant Garamond",serif;font-size:1.55rem}.customer-hub-card small{font-size:.9rem;line-height:1.45;color:#6b6259}.customer-focused-grid{display:grid;grid-template-columns:1fr;gap:22px}.customer-focused-grid>.panel{width:100%}.customer-hub-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
@media(max-width:980px){.has-customer-shell{padding-left:0;padding-top:56px}.customer-shell-sidebar{transform:translateX(-105%);transition:transform .2s ease;width:min(86vw,300px)}.customer-shell-open .customer-shell-sidebar{transform:translateX(0)}.customer-shell-close{display:inline-block}.customer-shell-mobilebar{position:fixed;inset:0 0 auto 0;z-index:1150;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:#f7efe3;border-bottom:1px solid #dfcfba;box-shadow:0 4px 16px rgba(0,0,0,.12)}.customer-shell-mobilebar button,.customer-shell-mobilebar a{border:0;background:transparent;color:#211b15;font:inherit;text-decoration:none;cursor:pointer}.customer-shell-overlay{position:fixed;inset:0;z-index:1190;border:0;background:rgba(0,0,0,.45)}.customer-shell-open .customer-shell-overlay{display:block}.customer-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.customer-hub-grid{grid-template-columns:1fr}.customer-hub-card{min-height:auto}.customer-page-head{align-items:flex-start;flex-direction:column}}


/* Master V7 — larger contract agreement control and contact details */
.contract-checkbox{display:flex!important;align-items:flex-start!important;gap:16px!important;width:100%;margin:22px 0!important;padding:20px!important;border:2px solid #c9973f!important;border-radius:16px!important;background:#fff9ed!important;cursor:pointer!important;font-size:1.08rem!important;font-weight:700!important;line-height:1.45!important;box-sizing:border-box}.contract-checkbox:hover{background:#fff3d8!important;box-shadow:0 10px 24px rgba(108,77,31,.12)}.contract-checkbox input[type="checkbox"]{appearance:none;-webkit-appearance:none;flex:0 0 34px;width:34px!important;height:34px!important;min-width:34px!important;margin:1px 0 0!important;border:3px solid #8d6425!important;border-radius:8px!important;background:#fff!important;display:grid!important;place-content:center!important;cursor:pointer!important}.contract-checkbox input[type="checkbox"]::before{content:"✓";font-size:26px;font-weight:900;line-height:1;color:#fff;transform:scale(0);transition:transform .12s ease}.contract-checkbox input[type="checkbox"]:checked{background:#8d6425!important}.contract-checkbox input[type="checkbox"]:checked::before{transform:scale(1)}.contract-checkbox input[type="checkbox"]:focus-visible{outline:4px solid rgba(201,151,63,.35);outline-offset:3px}.contract-checkbox span{display:block;flex:1}.contract-contact-box{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:22px 0;padding:16px 18px;border:1px solid #dfd1bf;border-radius:12px;background:#fffaf1}.contract-contact-box strong{width:100%;color:#8d6425}.contract-contact-box a{font-weight:700;text-decoration:none}.contract-contact-box a:hover{text-decoration:underline}.footer-premium>div:last-child a{display:block;margin-top:7px}.contract-pay-button{min-height:56px;font-size:1.05rem;padding:15px 22px}@media(max-width:620px){.contract-checkbox{padding:17px!important;font-size:1rem!important;gap:13px!important}.contract-checkbox input[type="checkbox"]{flex-basis:38px;width:38px!important;height:38px!important;min-width:38px!important}.contract-pay-button{width:100%;min-height:60px;font-size:1.08rem}.contract-contact-box{display:grid;gap:8px}}

/* Master V8 contact and mobile action polish */
.contact-link{color:inherit;text-decoration:none}.contact-link:hover{text-decoration:underline}.location-actions{align-items:stretch}.location-actions .btn{min-height:58px;display:inline-flex;align-items:center;justify-content:center}.location-actions .location-primary{padding:16px 26px;font-size:1rem;font-weight:700}.contract-contact-box span{display:block}.contract-checkbox{min-height:74px;padding:16px 18px;cursor:pointer}.contract-checkbox input{width:28px;height:28px;min-width:28px;accent-color:var(--gold)}.contract-checkbox span{font-size:1rem;font-weight:600;line-height:1.45}.contract-pay-button{min-height:58px;font-size:1rem;font-weight:700;padding:16px 24px}@media(max-width:700px){.location-actions{display:grid;grid-template-columns:1fr}.location-actions .btn{width:100%;min-height:62px;font-size:1.02rem}.contract-checkbox{align-items:flex-start;min-height:86px}.contract-checkbox input{width:32px;height:32px;min-width:32px}.contract-pay-button{width:100%;min-height:64px;font-size:1.08rem}}

.instagram-icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.18em;flex:0 0 auto}.btn .instagram-icon,footer a .instagram-icon{margin-right:.45rem}footer a[href*="instagram.com"]{display:flex;align-items:center}


/* Master V8.2 — iPad admin layout, notification drawer, and security checklist fixes */
.has-admin-shell > main,
.has-admin-shell > .section,
.has-admin-shell main.section { min-width: 0; max-width: 100%; overflow-x: hidden; }
.security-checklist { width: 100%; }
.security-checklist label {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  text-align: left !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere;
}
.security-checklist label input[type="checkbox"] {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  margin: 1px 0 0 !important;
}
.admin-notification-drawer {
  width: min(520px, 100vw) !important;
  max-width: 100vw;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
  padding: max(22px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) 22px;
}
.admin-notification-list { min-height: 0; overscroll-behavior: contain; }
.admin-notification-item { min-width: 0; }
.admin-notification-copy,
.admin-notification-copy > span { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.admin-notification-topline strong { min-width: 0; overflow-wrap: anywhere; }
.admin-notifications-open .privacy-notice { display: none !important; }
@media (max-width: 980px) {
  .admin-notification-drawer { padding-top: max(24px, env(safe-area-inset-top)) !important; }
  .admin-notification-button { top: 66px !important; right: 14px !important; }
  .has-admin-shell > header { overflow: visible; }
}
@media (max-width: 600px) {
  .admin-notification-drawer { width: 100vw !important; padding-left: 16px !important; padding-right: 16px !important; }
  .admin-notification-header h2 { font-size: 1.75rem; }
  .admin-notification-actions .btn { width: 100%; }
}

/* V8.5 admin event editor */
.booking-editor-dialog{border:0;border-radius:22px;padding:0;width:min(760px,94vw);max-height:90vh;box-shadow:0 30px 90px #0006;background:#fff}.booking-editor-dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}.booking-editor-card{padding:26px;overflow:auto;max-height:90vh}.booking-editor-close{border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer;padding:4px 10px}.booking-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.booking-editor-grid label{display:grid;gap:7px;font-weight:700}.booking-editor-grid input,.booking-editor-grid select,.booking-editor-grid textarea{width:100%;box-sizing:border-box;border:1px solid #d8cdbc;border-radius:12px;padding:12px;background:#fff;font:inherit;font-weight:400}.booking-editor-wide{grid-column:1/-1}.booking-editor-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.booking-editor-summary span{background:#f8f3eb;border:1px solid #eadcc6;border-radius:12px;padding:12px;display:grid;gap:4px}.booking-editor-summary b{font-size:1.15rem}.booking-editor-actions{justify-content:flex-end}@media(max-width:680px){.booking-editor-grid{grid-template-columns:1fr}.booking-editor-wide{grid-column:auto}.booking-editor-summary{grid-template-columns:1fr 1fr}.booking-editor-card{padding:18px}}


/* V8.6 pending approval + manual payment */
.customer-approval-banner{display:grid;gap:5px;margin:14px 0;padding:14px 16px;border-radius:14px;border:1px solid #dfcba8;background:#fff8e9}.customer-approval-banner strong{font-size:1rem}.customer-approval-banner span{font-size:.92rem;line-height:1.45;color:#5f5548}.customer-approval-banner.pending{border-left:5px solid #c8952e}.customer-approval-banner.approved{border-left:5px solid #2f8f5b;background:#f2fbf6}.customer-approval-banner.compact{margin:8px 0;padding:10px 12px}.manual-payment-event{display:grid;gap:4px;padding:12px 14px;margin:14px 0;background:#f8f3eb;border:1px solid #eadcc6;border-radius:12px}.payment-record-btn{font-weight:800}.row-actions .paid-badge{align-self:center}

/* V8.9 scalable customer directory */
.customer-directory-shortcut{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#faf7f1}.customer-dashboard-preview{max-height:420px;overflow:auto}.customer-directory-page{max-width:1500px}.customer-directory-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 170px auto auto;gap:12px;align-items:end;margin-bottom:18px}.customer-directory-toolbar label{display:grid;gap:7px;font-weight:700}.customer-directory-toolbar input,.customer-directory-toolbar select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}.customer-directory-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:8px 0 14px}.customer-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.customer-directory-table{width:100%;border-collapse:collapse;min-width:850px;background:#fff}.customer-directory-table th,.customer-directory-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.customer-directory-table th{position:sticky;top:0;background:#f6f0e6;z-index:1;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.customer-directory-table tbody tr:hover{background:#fcfaf6}.customer-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px;flex-wrap:wrap}.customer-page-numbers{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.customer-page-button{min-width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;font-weight:700}.customer-page-button.active{background:#111;color:#fff;border-color:#111}.page-gap{padding:0 4px}.customer-pagination button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:900px){.customer-directory-toolbar{grid-template-columns:1fr 1fr}.customer-directory-shortcut{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.customer-directory-toolbar{grid-template-columns:1fr}.customer-directory-summary{align-items:flex-start;flex-direction:column}}
.booking-editor-card-wide{width:min(920px,94vw)}
.editor-section-title{margin:22px 0 4px;font-size:1.05rem;border-bottom:1px solid #eadcc6;padding-bottom:8px}
.payment-danger-actions{justify-content:flex-start;gap:10px;flex-wrap:wrap;margin:8px 0 4px}
.payment-danger-actions .btn{border-color:#b58b45}
@media(max-width:680px){.booking-editor-card-wide{width:auto}.payment-danger-actions .btn{width:100%}}
/* V8.14 Tour booking */
.tour-date-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:22px 0}.tour-date-card{border:1px solid rgba(185,146,57,.35);border-radius:18px;padding:18px;background:#fff}.tour-time-list{display:flex;gap:10px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.form-grid label{display:grid;gap:7px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:12px;border:1px solid #d7d7d7;border-radius:10px;font:inherit}.form-grid .full{grid-column:1/-1}.notice{padding:18px;border-radius:14px;background:#f7f3e8;margin:16px 0}.notice.success{background:#edf8ef}.notice.error,.error{background:#fff0f0;color:#8d1e1e}@media(max-width:650px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}


/* V8.17 Tour calendars */
.tour-calendar-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:18px 0 14px}.tour-calendar-toolbar h2{text-align:center;margin:0;font-family:'Cormorant Garamond';font-size:2rem}.tour-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 18px;font-size:.86rem}.tour-calendar-legend span{display:flex;align-items:center;gap:7px}.tour-legend{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid #d7cbbb}.tour-legend.open{background:#e9f5e8}.tour-legend.booked{background:#f5e5c8}.tour-legend.unavailable{background:#ece9e5}.tour-calendar-weekdays,.tour-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.tour-calendar-weekdays{margin-bottom:8px}.tour-calendar-weekdays strong{text-align:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.tour-calendar-day{min-height:96px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;text-align:left;display:flex;flex-direction:column;justify-content:space-between;font:inherit;color:inherit}.tour-calendar-day strong{font-size:1rem}.tour-calendar-day span{font-size:.68rem;font-weight:700}.tour-calendar-day.open{background:#e9f5e8;border-color:#aad0ac;cursor:pointer}.tour-calendar-day.open:hover{box-shadow:inset 0 0 0 2px #79ad7d}.tour-calendar-day.booked{background:#f5e5c8;border-color:#d9bb81}.tour-calendar-day.unavailable{background:#ece9e5;color:#8c8882}.tour-calendar-day.past{opacity:.48}.tour-calendar-day.selected{outline:3px solid var(--gold);outline-offset:1px}.tour-calendar-day.blank{visibility:hidden}.tour-calendar-day:disabled{cursor:not-allowed}.tour-times-panel{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}.tour-times-panel h3{margin-top:0;font-family:'Cormorant Garamond';font-size:1.6rem}.booking-editor-dialog #assignBookingCustomer{min-height:220px}.booking-editor-dialog input[type="search"]{width:100%;padding:12px;border:1px solid #cbbda9;border-radius:9px}
@media(max-width:650px){.tour-calendar-toolbar{grid-template-columns:1fr 1fr}.tour-calendar-toolbar h2{grid-column:1/-1;grid-row:1}.tour-calendar-day{min-height:72px;padding:7px}.tour-calendar-day span{font-size:.58rem}.tour-calendar-weekdays strong{font-size:.62rem}}

/* V8.21 homepage featured-event slideshow + ticket page */
.home-hero-slider{position:relative;overflow:hidden;background:#0b0a09}.home-slides{position:relative;min-height:665px}.home-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease;pointer-events:none}.home-slide.active{opacity:1;visibility:visible;pointer-events:auto}.home-slide .hero{height:100%;min-height:665px}.hero-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.4);color:#fff;font-size:34px;line-height:1;cursor:pointer;backdrop-filter:blur(6px)}.hero-slider-arrow:hover{background:rgba(0,0,0,.7)}.hero-slider-arrow.prev{left:20px}.hero-slider-arrow.next{right:20px}.hero-slider-dots{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:6;display:flex;gap:10px}.hero-slider-dots button{width:11px;height:11px;border-radius:50%;padding:0;border:1px solid #fff;background:rgba(255,255,255,.35);cursor:pointer}.hero-slider-dots button.active{background:#fff}.candyland-slide{background:radial-gradient(circle at 75% 35%,#6b123c 0,#231015 45%,#080707 100%);color:#fff}.candyland-slide-inner{max-width:1280px;min-height:665px;margin:0 auto;padding:42px 88px 52px;display:grid;grid-template-columns:minmax(300px,430px) 1fr;gap:58px;align-items:center}.candyland-poster-wrap{height:560px;display:flex;justify-content:center}.candyland-poster-wrap img{height:100%;width:auto;max-width:100%;object-fit:contain;border-radius:18px;box-shadow:0 25px 70px #0008}.candyland-slide-copy{max-width:620px}.candyland-slide-copy h2{font-family:'Cormorant Garamond',serif;font-size:clamp(3.3rem,6vw,6rem);line-height:.88;margin:14px 0 24px}.candyland-slide-copy h2 em{display:block;font-weight:400;color:#ff3e9d}.candyland-slide-copy p:not(.eyebrow){font-size:1.15rem;line-height:1.65;max-width:560px;color:#eee}.ticket-cta{font-weight:900}.ticket-page{background:#0b090a;color:#fff}.ticket-hero{padding:70px 6vw;background:radial-gradient(circle at 80% 25%,#75194c,#190d12 48%,#070707 100%)}.ticket-layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(310px,470px) 1fr;gap:60px;align-items:start}.ticket-poster img{width:100%;border-radius:18px;box-shadow:0 25px 70px #0008}.ticket-copy h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3.1rem,6vw,5.7rem);line-height:.95;margin:12px 0 18px}.ticket-copy h1 span{display:block;color:#ff3e9d;font-style:italic}.ticket-facts{display:grid;gap:10px;margin:24px 0 30px}.ticket-fact{padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.06)}.ticket-buy-card{padding:26px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.08)}.ticket-buy-card h2{margin-top:0}.ticket-buy-card .btn{width:100%;justify-content:center;text-align:center}.ticket-note{font-size:.9rem;color:#d9d4d4;margin-top:12px}.ticket-back{margin-top:18px;display:inline-block;color:#fff}.ticket-disclaimer{max-width:1180px;margin:0 auto;padding:28px 6vw 60px;color:#c8c2c2;font-size:.9rem;line-height:1.6}
@media(max-width:850px){.home-slides,.home-slide .hero{min-height:610px}.candyland-slide-inner{min-height:610px;padding:32px 55px;grid-template-columns:280px 1fr;gap:32px}.candyland-poster-wrap{height:480px}.hero-slider-arrow{width:40px;height:40px}.hero-slider-arrow.prev{left:8px}.hero-slider-arrow.next{right:8px}.ticket-layout{grid-template-columns:1fr}.ticket-poster{max-width:480px;margin:auto}}
@media(max-width:650px){.home-slides{min-height:790px}.home-slide .hero{min-height:790px}.candyland-slide-inner{min-height:790px;padding:26px 22px 55px;display:flex;flex-direction:column;gap:22px;text-align:center}.candyland-poster-wrap{height:475px}.candyland-slide-copy h2{font-size:3rem}.candyland-slide-copy p:not(.eyebrow){font-size:1rem}.candyland-slide-copy .actions{justify-content:center}.hero-slider-arrow{top:40%}.ticket-hero{padding:35px 18px}.ticket-layout{gap:30px}.ticket-copy h1{font-size:3.4rem}.ticket-disclaimer{padding:24px 18px 50px}}

/* ===== V8.22 Ticket sales, receipts and QR check-in ===== */
.ticket-purchase-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.ticket-purchase-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}.ticket-purchase-form input,.ticket-purchase-form select,.ticket-checkin-form input,.admin-search-input{width:100%;padding:14px 15px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.08);color:inherit;font:inherit}.ticket-purchase-form input::placeholder{color:rgba(255,255,255,.55)}.ticket-purchase-form label:nth-of-type(1),.ticket-purchase-form label:nth-of-type(2),.ticket-purchase-form label:nth-of-type(3){grid-column:span 1}.ticket-order-summary{grid-column:1/-1;display:grid;gap:9px;padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.09);font-size:1.05rem}.ticket-summary-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.ticket-summary-row strong{font-size:1.05rem}.ticket-summary-total{border-top:1px solid rgba(255,255,255,.18);margin-top:3px;padding-top:12px}.ticket-summary-total strong{font-size:1.5rem}.ticket-purchase-form .btn,.ticket-purchase-form .form-message{grid-column:1/-1}.notice.warn{background:#fff4d8;color:#5a3a00;border:1px solid #e2c26d;padding:12px 14px;border-radius:12px;margin:12px 0}.form-message{min-height:22px;font-weight:700}
.ticket-account-gate{margin-top:18px;padding:22px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(0,0,0,.28)}.ticket-account-gate>strong{display:block;font-size:1.25rem}.ticket-account-gate p{line-height:1.55;color:#eee}.ticket-account-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.ticket-purchase-form input[readonly]{opacity:.82;cursor:not-allowed}
.ticket-success-wrap{max-width:1100px;margin:auto}.ticket-receipt-shell,.ticket-digital-receipt,.ticket-qr-list{background:#fff;border:1px solid #e6d9c8;border-radius:22px;padding:26px;margin:22px 0;box-shadow:0 16px 50px rgba(36,22,10,.08)}.ticket-receipt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid #eadfce;padding-bottom:18px}.ticket-receipt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.ticket-receipt-grid>div{display:flex;flex-direction:column;gap:4px;padding:13px;border-radius:12px;background:#f8f3ea}.ticket-receipt-grid span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#745f48}.ticket-event-summary{padding:18px;border-radius:14px;background:#17120d;color:#fff}.ticket-event-summary h3{margin:0 0 6px}.ticket-qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:20px}.digital-ticket{border:2px solid #17120d;border-radius:20px;padding:20px;text-align:center;background:#fff}.digital-ticket .qr-target{width:180px;height:180px;margin:16px auto;background:#fff}.digital-ticket .qr-target img,.digital-ticket .qr-target canvas{max-width:100%;height:auto}.ticket-code{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;font-size:1rem}.ticket-valid-state{display:inline-block;margin-top:12px;padding:7px 12px;border-radius:999px;background:#eaf7ea;color:#1f6a2c;font-weight:800}
.admin-ticket-sales{max-width:1180px;margin:auto}.ticket-admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.ticket-admin-stats>div{background:#111;color:#fff;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:7px}.ticket-admin-stats strong{font-family:Georgia,serif;font-size:2rem}.ticket-admin-stats span{opacity:.75}.panel-title-row{display:flex;justify-content:space-between;align-items:center;gap:18px}.ticket-checkin-form{display:grid;grid-template-columns:1fr auto;gap:12px;margin:18px 0}.admin-ticket-sales .ticket-checkin-form input,.admin-ticket-sales .admin-search-input{background:#fff;color:#111;border:1px solid #d9ccbc}.admin-search-input{max-width:360px}.ticket-scanner-wrap{margin-top:18px;padding:18px;border-radius:16px;background:#111;color:#fff}.ticket-scanner-wrap video{width:100%;max-width:520px;display:block;border-radius:14px;margin-bottom:12px;background:#000}.ticket-sale-card{border:1px solid #e0d2c1;border-radius:18px;padding:20px;margin:16px 0;background:#fff}.ticket-sale-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.ticket-sale-head h3{margin:3px 0}.ticket-sale-total{text-align:right;display:flex;flex-direction:column}.ticket-sale-total strong{font-size:1.6rem}.ticket-sale-total span,.ticket-sale-meta,.admin-ticket-row span,.admin-ticket-row small{color:#6e6256}.ticket-sale-meta{display:flex;gap:18px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #eee3d7}.admin-ticket-list{margin-top:8px}.admin-ticket-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid #f0e7dc}.admin-ticket-row:last-child{border-bottom:0}.admin-ticket-row>div{display:flex;flex-direction:column;gap:4px}.admin-ticket-row>div:last-child{align-items:flex-end}.ticket-status{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:800;text-transform:capitalize}.ticket-status.valid{background:#edf7ed;color:#176323}.ticket-status.checked_in{background:#e8f0ff;color:#254fa7}.ticket-status.cancelled,.ticket-status.refunded{background:#feecec;color:#a52727}.btn.small{padding:8px 12px;font-size:.82rem}.undo-ticket-checkin{color:#a52727;text-decoration:underline}
@media(max-width:800px){.ticket-purchase-form{grid-template-columns:1fr}.ticket-account-actions{grid-template-columns:1fr}.ticket-purchase-form label{grid-column:1/-1}.ticket-receipt-grid{grid-template-columns:1fr}.ticket-admin-stats{grid-template-columns:1fr 1fr}.panel-title-row,.ticket-sale-head{align-items:stretch;flex-direction:column}.ticket-checkin-form{grid-template-columns:1fr}.admin-search-input{max-width:none}.admin-ticket-row{grid-template-columns:1fr}.admin-ticket-row>div:last-child{align-items:flex-start}.ticket-sale-total{text-align:left}}
@media(max-width:520px){.ticket-admin-stats{grid-template-columns:1fr}.ticket-receipt-head{flex-direction:column}.digital-ticket{padding:15px}}
.customer-ticket-wrap{max-width:1180px;margin:auto}.customer-ticket-order{border:1px solid #dfd1bf;border-radius:20px;padding:22px;background:#fff;margin:22px 0}.customer-ticket-order .ticket-qr-grid{margin-top:20px}.customer-ticket-order .digital-ticket{background:#fff}.customer-ticket-order .qr-target{background:#fff;padding:10px;display:inline-block;border-radius:10px}.customer-ticket-order .ticket-code{display:block;margin-top:10px}.ticket-checkin-link{margin-top:10px}.ticket-scan-note{display:block;margin-top:8px;color:#75685b}

/* V8.31 manual ticket creation and deletion */
.manual-ticket-panel{margin-bottom:22px}.manual-ticket-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.manual-ticket-form label{display:grid;gap:7px;font-weight:700}.manual-ticket-form input,.manual-ticket-form select{width:100%;padding:13px 14px;border:1px solid #d9ccbc;border-radius:12px;background:#fff;color:#111;font:inherit}.manual-ticket-form .btn,.manual-ticket-form .form-message{grid-column:1/-1}.manual-ticket-created{margin-top:22px;padding:22px;border:1px solid #a9d5af;border-radius:18px;background:#eef9ef;text-align:center}.manual-ticket-qr{width:190px;height:190px;margin:16px auto;background:#fff;padding:6px;border-radius:10px}.manual-ticket-created .row-actions{justify-content:center}.delete-admin-ticket{margin-top:5px}.admin-ticket-row>div:last-child{gap:6px}
@media(max-width:700px){.manual-ticket-form{grid-template-columns:1fr}.manual-ticket-form .btn,.manual-ticket-form .form-message{grid-column:auto}}
@media print{body *{visibility:hidden}.manual-ticket-created,.manual-ticket-created *{visibility:visible}.manual-ticket-created{position:absolute;inset:0;margin:0;border:0;background:#fff}}
