:root {
    --pl-brand: #e85d4a;
    --pl-brand-dark: #c74334;
    --pl-accent: #176b68;
    --pl-ink: #1f2928;
    --pl-muted: #66716f;
    --pl-surface: #ffffff;
    --pl-surface-soft: #fffaf1;
    --pl-cream: #fff7e8;
    --pl-coral: #e85d4a;
    --pl-teal: #176b68;
    --pl-yellow: #f3bd4d;
    --pl-lilac: #b9a4da;
    --pl-border: #e9dfd1;
    --pl-radius-sm: 0.75rem;
    --pl-radius: 1rem;
    --pl-radius-lg: 1.5rem;
    --pl-shadow: 0 0.75rem 2.25rem rgba(21, 22, 43, 0.08);
    --pl-focus: 0 0 0 0.25rem rgba(232, 93, 74, 0.25);
}

[data-bs-theme="dark"] {
    --pl-ink: #f6f7fb;
    --pl-muted: #aeb4c5;
    --pl-surface: #141625;
    --pl-surface-soft: #0f1120;
    --pl-border: #303449;
    --pl-shadow: 0 0.75rem 2.25rem rgba(0, 0, 0, 0.24);
}

html { scroll-behavior: smooth; }
body { min-width: 320px; color: var(--pl-ink); background: var(--pl-surface-soft); }
h1, h2, h3, h4, h5, h6 { color: var(--pl-ink); letter-spacing: -0.025em; }

.skip-link {
    position: fixed; top: 0.75rem; left: 0.75rem; z-index: 11000;
    padding: 0.75rem 1rem; border-radius: var(--pl-radius-sm);
    color: #fff; background: var(--pl-brand-dark); transform: translateY(-200%);
    transition: transform 0.15s ease;
}
.skip-link:focus { color: #fff; transform: translateY(0); }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid transparent; box-shadow: var(--pl-focus) !important;
}
.navbar {
    border-bottom: 1px solid var(--pl-border);
    background: color-mix(in srgb, var(--pl-surface) 92%, transparent);
    backdrop-filter: blur(16px);
}
.pl-navbar { background: rgba(255, 252, 246, 0.94); }
.pl-brand { gap: .65rem; color: var(--pl-ink) !important; font-size: 1.28rem; font-weight: 850; letter-spacing: -.04em; }
.pl-brand-mark { display: inline-grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .75rem .75rem .75rem .2rem; color: #fff; background: var(--pl-coral); transform: rotate(-3deg); }
.pl-brand-mark i { font-size: 1.55rem; font-weight: 900; }
.pl-navbar .nav-link { color: #45504e; font-size: .93rem; font-weight: 650; }
.pl-navbar .nav-link:hover, .pl-navbar .nav-link.active { color: var(--pl-coral); }
.pl-mini-plan { align-items: center; gap: .4rem; margin-right: .7rem; color: var(--pl-teal); font-size: .82rem; font-weight: 750; text-decoration: none; }
.pl-mini-plan span { display: inline-grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; color: #fff; background: var(--pl-teal); }
.app-main { min-height: 65vh; }
.card { border-radius: var(--pl-radius) !important; }
.card.border-0 { box-shadow: var(--pl-shadow); }
.btn { border-radius: 0.75rem; font-weight: 650; }
.btn-primary { border-color: var(--pl-brand); background: var(--pl-brand); }
.btn-primary:hover, .btn-primary:focus-visible { border-color: var(--pl-brand-dark); background: var(--pl-brand-dark); }
.page-heading { max-width: 48rem; }
.page-kicker { color: var(--pl-brand); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.pl-kicker { color: var(--pl-coral); font-size: .75rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }

/* Parent-first marketing system */
.pl-marketing-page { overflow: hidden; background: #fffdf8; }
.pl-hero { position: relative; background: var(--pl-cream); }
.pl-hero::before { position: absolute; top: 12%; left: 2%; width: 8px; height: 8px; border-radius: 50%; background: var(--pl-yellow); box-shadow: 42px 28px 0 var(--pl-coral), 18px 86px 0 var(--pl-teal), 78px 120px 0 var(--pl-lilac); content: ""; }
.pl-eyebrow { display: inline-flex; align-items: center; gap: .65rem; margin-bottom: 1.1rem; color: var(--pl-teal); font-size: .78rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.pl-eyebrow span { width: 2rem; height: 2px; background: var(--pl-teal); }
.pl-hero h1 { max-width: 12ch; font-size: clamp(3rem, 6.2vw, 5.6rem); line-height: .96; letter-spacing: -.065em; }
.pl-hero h1 em { color: var(--pl-coral); font-style: normal; }
.pl-hero__lead { max-width: 39rem; margin: 1.4rem 0 1.8rem; color: #56615e; font-size: clamp(1.08rem, 1.8vw, 1.27rem); line-height: 1.7; }
.pl-trust-line { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; color: #51605d; font-size: .86rem; font-weight: 650; }
.pl-trust-line span { display: inline-flex; align-items: center; gap: .3rem; }
.pl-trust-line i { color: var(--pl-teal); font-size: 1.1rem; }
.pl-hero-art { position: relative; margin-right: calc((100vw - 100%) / -2); }
.pl-hero-art picture,.pl-hero-art img { display:block; width:100%; }.pl-hero-art img { max-width:none; min-height:34rem; object-fit:cover; object-position:center; border-radius:3rem 0 0 3rem; }
.pl-float-card { position: absolute; display: flex; align-items: center; gap: .7rem; padding: .75rem 1rem; border: 1px solid rgba(31,41,40,.08); border-radius: 1rem; background: rgba(255,255,255,.94); box-shadow: 0 1rem 2rem rgba(31,41,40,.12); }
.pl-float-card i { font-size: 1.7rem; color: var(--pl-teal); }.pl-float-card span { display: grid; color: var(--pl-muted); font-size: .72rem; }.pl-float-card strong { color: var(--pl-ink); font-size: .9rem; }
.pl-float-card--rsvp { bottom: 12%; left: 5%; }.pl-float-card--allergy { top: 14%; right: 8%; }
.pl-proof-strip { padding: 1.5rem 0; border-block: 1px solid var(--pl-border); background: #fff; }
.pl-proof-strip .container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }.pl-proof-strip p { margin: 0; color: var(--pl-teal); font-weight: 800; }.pl-proof-strip .container > div { display: flex; flex-wrap: wrap; gap: .65rem; }.pl-proof-strip span { padding: .45rem .8rem; border-radius: 999px; background: var(--pl-cream); color: #6c6256; font-size: .78rem; }
.pl-section { padding: clamp(4.5rem, 9vw, 8rem) 0; background: #fffdf8; }
.pl-section--soft { background: #f8f2ea; }.pl-section--ink { color: #e9f2ef; background: #173d3b; }.pl-section--ink h2, .pl-section--ink .pl-kicker { color: #fff; }.pl-section--ink p { color: #c4d4d0; font-size: 1.08rem; line-height: 1.8; }
.pl-section-heading { max-width: 49rem; margin: 0 auto 3.25rem; text-align: center; }.pl-section-heading h2, .pl-section--ink h2 { margin: .7rem 0 1rem; font-size: clamp(2.35rem, 5vw, 4.25rem); line-height: 1.04; }.pl-section-heading p { color: var(--pl-muted); font-size: 1.08rem; line-height: 1.7; }
.pl-steps article { position: relative; height: 100%; padding: 2rem; border: 1px solid var(--pl-border); border-radius: 1.5rem; background: #fff; }.pl-steps article > span { position: absolute; top: 1.2rem; right: 1.3rem; color: #c8bfb2; font-weight: 850; }.pl-step-icon { display: grid; width: 3.5rem; height: 3.5rem; margin-bottom: 1.5rem; place-items: center; border-radius: 1rem; font-size: 1.6rem; transform: rotate(-3deg); }.pl-step-icon--coral { color: #a5382a; background: #ffd8ce; }.pl-step-icon--teal { color: #0e5956; background: #cce7df; }.pl-step-icon--yellow { color: #7b5610; background: #ffe8ae; }.pl-steps h3, .pl-feature-grid h3 { font-size: 1.3rem; }.pl-steps p, .pl-feature-grid p { margin: 0; color: var(--pl-muted); line-height: 1.7; }
.pl-product-demo { overflow: hidden; border: 10px solid rgba(255,255,255,.09); border-radius: 1.7rem; color: var(--pl-ink); background: #fff; box-shadow: 0 2rem 4rem rgba(0,0,0,.25); }.pl-demo-top { display: flex; align-items: center; justify-content: space-between; padding: 1.2rem 1.4rem; border-bottom: 1px solid var(--pl-border); font-weight: 800; }.pl-plus-pill { padding: .28rem .65rem; border-radius: 999px; color: #fff; background: var(--pl-coral); font-size: .7rem; text-transform: uppercase; }.pl-demo-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--pl-border); }.pl-demo-stats div { display: grid; padding: 1rem; background: var(--pl-cream); text-align: center; }.pl-demo-stats strong { font-size: 1.75rem; }.pl-demo-stats span { color: var(--pl-muted); font-size: .75rem; }.pl-demo-list { padding: .6rem 1.3rem; }.pl-demo-list > div { display: flex; align-items: center; gap: .75rem; padding: .85rem 0; border-bottom: 1px solid var(--pl-border); }.pl-demo-list > div:last-child { border: 0; }.pl-avatar { display: grid; width: 2.5rem; height: 2.5rem; flex: none; place-items: center; border-radius: 50%; background: #cce7df; font-weight: 800; }.pl-avatar--yellow { background: #ffe8ae; }.pl-avatar--lilac { background: #e8def4; }.pl-demo-list p { display: grid; flex: 1; margin: 0; }.pl-demo-list small { color: var(--pl-muted); }.pl-demo-list b { padding: .3rem .55rem; border-radius: 999px; font-size: .72rem; }.is-yes { color: #146245; background: #d9f3e7; }.is-waiting { color: #765512; background: #fff1c9; }
.pl-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.1rem; }.pl-feature-grid article { padding: 1.8rem; border-radius: 1.3rem; background: #f8f2ea; }.pl-feature-grid i { display: inline-grid; width: 3rem; height: 3rem; margin-bottom: 1.15rem; place-items: center; border-radius: 50%; color: var(--pl-coral); background: #fff; font-size: 1.45rem; }
.pl-text-link { color: var(--pl-teal); font-weight: 800; text-decoration: none; }.pl-theme-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; }.pl-theme-card { display: flex; min-height: 25rem; padding: 2rem; flex-direction: column; justify-content: center; border-radius: 1.6rem; box-shadow: var(--pl-shadow); text-align: center; transform: rotate(-1deg); }.pl-theme-card:nth-child(2) { transform: rotate(1.3deg); }.pl-theme-card span, .pl-theme-card small { letter-spacing: .12em; text-transform: uppercase; }.pl-theme-card strong { margin: .8rem 0; font-size: 2.2rem; line-height: 1.05; }.pl-theme-card--space { color: #fff; background: radial-gradient(circle at 20% 20%,#af9cdc 0 5%,transparent 6%),radial-gradient(circle at 80% 70%,#f3bd4d 0 4%,transparent 5%),#223a58; }.pl-theme-card--space strong { color:#fff; }.pl-theme-card--rainbow { color:#7c3d31; background: radial-gradient(circle at bottom,#fff1c9 0 28%,#f5c5b9 29% 46%,#d8c7e8 47% 64%,#cce7df 65%); }.pl-theme-card--dino { color:#20483e; background: radial-gradient(ellipse at 20% 90%,#176b68 0 18%,transparent 19%),radial-gradient(ellipse at 80% 10%,#f3bd4d 0 14%,transparent 15%),#dce9c8; }
.pl-plan-card { padding: 2.1rem; border: 1px solid var(--pl-border); border-radius: 1.6rem; background:#fff; box-shadow: 0 1rem 2.5rem rgba(31,41,40,.06); }.pl-plan-card--plus { border: 2px solid var(--pl-coral); background: linear-gradient(160deg,#fff 30%,#fff3ea); }.pl-plan-card__label { display:inline-flex; margin-bottom:1.2rem; padding:.35rem .7rem; border-radius:999px; color:var(--pl-teal); background:#dbece7; font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }.pl-plan-card h2,.pl-plan-card h3 { font-size:1.8rem; }.pl-plan-price { margin:.75rem 0; font-size:3.3rem; font-weight:900; letter-spacing:-.06em; }.pl-plan-price small { color:var(--pl-muted); font-size:.9rem; font-weight:650; letter-spacing:0; }.pl-check-list { display:grid; gap:.8rem; margin:1.5rem 0; padding:0; list-style:none; }.pl-check-list li { position:relative; padding-left:1.7rem; }.pl-check-list li::before { position:absolute; left:0; color:var(--pl-teal); font-family:'boxicons'; font-size:1.25rem; content:'\eb7b'; }
.pl-privacy { color:#e7f1ed; background:#245653; }.pl-privacy h2,.pl-privacy .pl-kicker { color:#fff; }.pl-privacy p { color:#c7d9d4; font-size:1.08rem; line-height:1.8; }.pl-privacy-points { display:grid; gap:.8rem; }.pl-privacy-points span { display:flex; align-items:center; gap:.7rem; padding:1rem; border-radius:1rem; background:rgba(255,255,255,.08); }.pl-privacy-points i { color:var(--pl-yellow); font-size:1.4rem; }
.pl-faq-list { max-width:52rem; margin:auto; }.pl-faq-list details { border-bottom:1px solid var(--pl-border); }.pl-faq-list summary { padding:1.4rem 2.4rem 1.4rem 0; cursor:pointer; font-size:1.1rem; font-weight:800; }.pl-faq-list p { padding:0 2rem 1.4rem 0; color:var(--pl-muted); line-height:1.7; }
.pl-final-cta { padding:4rem 0; background:#fffdf8; }.pl-final-cta .container > div { padding:clamp(2.5rem,6vw,5rem); border-radius:2rem; background:radial-gradient(circle at 90% 20%,rgba(243,189,77,.42),transparent 22%),radial-gradient(circle at 10% 90%,rgba(185,164,218,.34),transparent 22%),var(--pl-cream); text-align:center; }.pl-final-cta h2 { max-width:16ch; margin:.8rem auto; font-size:clamp(2.3rem,5vw,4rem); }.pl-final-cta p { color:var(--pl-muted); }.pl-final-cta small { display:block; margin-top:1rem; color:var(--pl-muted); }
.pl-feature-hero { padding:clamp(5rem,10vw,9rem) 0; background:radial-gradient(circle at 10% 20%,rgba(243,189,77,.25),transparent 18%),radial-gradient(circle at 90% 75%,rgba(185,164,218,.3),transparent 20%),var(--pl-cream); }.pl-feature-hero h1 { max-width:17ch; margin:.8rem auto 1.2rem; font-size:clamp(3rem,7vw,5.7rem); line-height:.98; }.pl-feature-hero p { max-width:47rem; margin:0 auto 2rem; color:var(--pl-muted); font-size:1.2rem; line-height:1.7; }.pl-feature-page-card { height:100%; padding:2rem; border:1px solid var(--pl-border); border-radius:1.5rem; background:#fff; }.pl-feature-page-card > span { color:var(--pl-coral); font-weight:900; }.pl-feature-page-card h2 { margin:1rem 0; font-size:1.4rem; }.pl-feature-page-card p { color:var(--pl-muted); line-height:1.7; }.pl-pricing-note { max-width:52rem; margin:3rem auto 0; padding:1.5rem; border-radius:1rem; background:var(--pl-cream); text-align:center; }.pl-pricing-note p { margin:.4rem 0 0; color:var(--pl-muted); }
.pl-sample-invite { min-height:100vh; padding:3rem 0 5rem; background:#ece4f5; }.pl-sample-card { position:relative; max-width:48rem; margin:2rem auto 0; overflow:hidden; padding:clamp(2rem,6vw,5rem); border:10px solid #fff; border-radius:2rem; background:radial-gradient(circle at 85% 8%,#f3bd4d 0 5%,transparent 5.5%),radial-gradient(circle at 12% 22%,#e85d4a 0 3%,transparent 3.5%),#223a58; box-shadow:0 2rem 5rem rgba(34,58,88,.25); color:#fff; text-align:center; }.pl-sample-card h1 { color:#fff; font-size:clamp(3rem,8vw,5rem); }.pl-sample-card .pl-kicker { color:#f8d77e; }.pl-sample-lead { color:#dbe5ef; font-size:1.15rem; }.pl-sample-details { display:grid; gap:.8rem; margin:2rem 0; text-align:left; }.pl-sample-details > div { display:flex; gap:1rem; padding:1rem; border-radius:1rem; background:rgba(255,255,255,.09); }.pl-sample-details i { color:var(--pl-yellow); font-size:1.5rem; }.pl-sample-details span { display:grid; }.pl-sample-rsvp { margin-top:2rem; padding:1.5rem; border-radius:1.3rem; color:var(--pl-ink); background:#fff; }.pl-sample-rsvp h2 { margin:0; }.pl-sample-rsvp small { display:block; margin-top:.7rem; color:var(--pl-muted); }

/* Party builder and plan UI */
.pl-party-builder { min-height:80vh; background:radial-gradient(circle at 8% 12%,rgba(243,189,77,.2),transparent 17%),var(--pl-surface-soft); }.pl-builder-card { overflow:hidden; border:1px solid var(--pl-border); border-radius:1.7rem; background:#fff; box-shadow:var(--pl-shadow); scroll-margin-top:6rem; }.pl-builder-progress { display:grid; grid-template-columns:repeat(4,1fr); padding:.7rem; border-bottom:1px solid var(--pl-border); background:#fbf7f0; }.pl-builder-progress button { display:flex; align-items:center; justify-content:center; gap:.45rem; border:0; padding:.75rem .4rem; color:var(--pl-muted); background:transparent; font-size:.8rem; font-weight:750; }.pl-builder-progress button span { display:grid; width:1.7rem; height:1.7rem; place-items:center; border-radius:50%; background:#e9dfd1; }.pl-builder-progress button.is-active { color:var(--pl-coral); }.pl-builder-progress button.is-active span { color:#fff; background:var(--pl-coral); }.pl-builder-step { margin:0; padding:clamp(1.5rem,5vw,3.5rem); border:0; }.pl-builder-step legend { display:grid; margin-bottom:2rem; }.pl-builder-step legend strong { margin-top:.5rem; font-size:clamp(1.7rem,4vw,2.6rem); }.pl-builder-step .form-control,.pl-builder-step .form-select { min-height:3.25rem; border-color:#dcd2c4; border-radius:.8rem; }.pl-inline-tip { display:flex; gap:.8rem; margin-top:1.5rem; padding:1rem; border-radius:1rem; color:#72541b; background:#fff2ca; }.pl-inline-tip i { font-size:1.3rem; }.pl-builder-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem clamp(1.5rem,5vw,3.5rem); border-top:1px solid var(--pl-border); }.pl-builder-actions [data-step-label] { margin-left:auto; }.pl-current-image { display:flex; align-items:center; gap:1rem; }.pl-current-image img { width:8rem; height:6rem; border-radius:1rem; object-fit:cover; }
.pl-offer-banner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.4rem 1.6rem; border-radius:1.2rem; color:#fff; background:var(--pl-teal); }.pl-offer-banner h2 { color:#fff; }.pl-offer-banner__eyebrow { color:#bfe0d8; font-size:.7rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }.pl-pass-balance { display:grid; padding:1.5rem; border-radius:1.2rem; color:#fff; background:var(--pl-teal); text-align:center; }.pl-pass-balance strong { font-size:3.5rem; line-height:1.1; }.pl-pass-balance small { color:#c6deda; }
.pl-party-dashboard-hero { position:relative; overflow:hidden; color:#fff; background:radial-gradient(circle at 85% 20%,rgba(243,189,77,.26),transparent 20%),radial-gradient(circle at 10% 80%,rgba(185,164,218,.2),transparent 24%),#173d3b; }.pl-party-dashboard-hero::after { position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle,rgba(255,255,255,.22) 0 2px,transparent 2.5px); background-size:56px 56px; content:""; opacity:.25; }.pl-party-dashboard-hero .container { position:relative; z-index:1; }.pl-party-dashboard-hero h1 { color:#fff; font-size:clamp(2.5rem,6vw,4.5rem); }.pl-party-dashboard-hero .nolist-style { display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; padding:0; list-style:none; }.pl-party-dashboard-hero .badge.bg-success,.pl-party-dashboard-hero .badge.bg-danger { background:rgba(255,255,255,.16)!important; }
.events-calendar { border-color:var(--pl-border)!important; }.events-calendar__weekday,.events-calendar__event-time,.events-calendar__more { color:var(--pl-coral)!important; }.events-calendar__day.is-today .events-calendar__day-number { background:var(--pl-coral)!important; }.events-calendar__event { background:var(--pl-cream)!important; }.events-calendar__event.is-span { border-left-color:var(--pl-coral)!important; }
.pl-register-page { min-height:calc(100vh - 80px); background:radial-gradient(circle at 8% 15%,rgba(245,181,71,.18),transparent 24rem),radial-gradient(circle at 90% 70%,rgba(119,187,173,.18),transparent 28rem),var(--pl-cream); }
.pl-register-privacy { display:inline-flex; align-items:center; gap:.7rem; padding:.8rem 1rem; border-radius:1rem; background:rgba(255,255,255,.74); color:var(--pl-ink); box-shadow:0 8px 28px rgba(38,52,52,.07); }
.pl-register-privacy i { color:var(--pl-teal); font-size:1.4rem; }

/* Host event workspace */
.pl-event-nav-wrap { position:relative; z-index:20; border-bottom:1px solid var(--pl-border); background:var(--pl-surface); }
.pl-event-nav { display:flex; min-height:4.25rem; align-items:center; gap:1.5rem; }
.pl-event-nav__back { display:inline-flex; align-items:center; gap:.35rem; flex:none; color:var(--pl-muted); font-size:.86rem; font-weight:750; text-decoration:none; }
.pl-event-nav__back i { font-size:1.3rem; }.pl-event-nav__back:hover { color:var(--pl-coral); }
.pl-event-nav__links { display:flex; min-width:0; align-self:stretch; align-items:center; gap:.25rem; overflow-x:auto; scrollbar-width:none; }
.pl-event-nav__links::-webkit-scrollbar { display:none; }
.pl-event-nav__links a { display:inline-flex; height:100%; align-items:center; gap:.4rem; padding:.2rem .85rem; border-bottom:3px solid transparent; color:var(--pl-muted); font-size:.86rem; font-weight:750; text-decoration:none; white-space:nowrap; }
.pl-event-nav__links a:hover,.pl-event-nav__links a.is-active { border-bottom-color:var(--pl-coral); color:var(--pl-ink); }
.pl-event-nav__links i { font-size:1.1rem; }
.pl-event-hero { position:relative; z-index:10; overflow:visible; color:#fff; background:radial-gradient(circle at 86% 18%,rgba(243,189,77,.32),transparent 22%),radial-gradient(circle at 8% 88%,rgba(185,164,218,.22),transparent 24%),#173d3b; }
.pl-event-hero::after { position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle,rgba(255,255,255,.18) 0 2px,transparent 2.5px); background-size:64px 64px; content:""; opacity:.22; }
.pl-event-hero .container { position:relative; z-index:1; }.pl-event-hero h1 { max-width:15ch; color:#fff; font-size:clamp(2.45rem,5vw,4.25rem); line-height:1; }
.pl-event-hero__lead { max-width:44rem; color:#d3e2df; font-size:1.05rem; line-height:1.65; }
.pl-event-pill { display:inline-flex; padding:.35rem .7rem; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#fff; background:rgba(255,255,255,.1); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.pl-event-pill--plus { border-color:#f3bd4d; color:#392b0b; background:#f3bd4d; }
.pl-event-facts { display:flex; flex-wrap:wrap; gap:.8rem 1.4rem; color:#e3eeeb; font-size:.9rem; }.pl-event-facts span { display:inline-flex; align-items:center; gap:.42rem; }.pl-event-facts i { color:#f3bd4d; font-size:1.2rem; }.pl-event-facts strong { color:#fff; }
.pl-event-hero__actions { display:flex; align-items:stretch; flex-direction:column; gap:.65rem; padding:1rem; border:1px solid rgba(255,255,255,.14); border-radius:1.25rem; background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }.pl-event-hero__actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; }.pl-event-hero__actions .btn-link { margin:auto; padding:.2rem; font-size:.85rem; text-decoration:none; }
.pl-event-workspace { position:relative; z-index:0; background:#f8f2ea; }.pl-event-workspace > .container { position:relative; }
.pl-event-next { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1.1rem; align-items:center; margin-bottom:1.25rem; padding:1.35rem 1.5rem; border:1px solid var(--pl-border); border-radius:1.25rem; background:#fff; box-shadow:0 .75rem 2rem rgba(31,41,40,.07); transform:translateY(-1.25rem); }
.pl-event-next__icon { display:grid; width:3rem; height:3rem; place-items:center; border-radius:50%; color:#fff; background:var(--pl-coral); font-size:1.6rem; }.pl-event-next h2 { margin:.2rem 0; font-size:1.25rem; }.pl-event-next p { margin:0; color:var(--pl-muted); }.pl-event-next__action { justify-self:end; }
.pl-event-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-bottom:3rem; overflow:hidden; border:1px solid var(--pl-border); border-radius:1.25rem; background:var(--pl-border); }
.pl-event-stats article { display:grid; padding:1.25rem 1.4rem; background:#fff; }.pl-event-stats article > span { color:var(--pl-muted); font-size:.75rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.pl-event-stats strong { margin:.2rem 0; font-size:2.1rem; line-height:1; letter-spacing:-.05em; }.pl-event-stats strong small { margin-left:.15rem; color:#9a9f9d; font-size:1rem; }.pl-event-stats article > small { color:var(--pl-muted); font-size:.78rem; }
.pl-event-journey { margin-bottom:3.5rem; }.pl-event-journey__steps { display:grid; grid-template-columns:repeat(5,1fr); gap:.65rem; }
.pl-event-journey__steps a { display:flex; min-width:0; align-items:center; gap:.75rem; padding:1rem; border:1px solid var(--pl-border); border-radius:1rem; color:var(--pl-ink); background:rgba(255,255,255,.72); text-decoration:none; }.pl-event-journey__steps a:hover { border-color:var(--pl-coral); background:#fff; transform:translateY(-2px); }.pl-event-journey__steps a > span { display:grid; width:2rem; height:2rem; flex:none; place-items:center; border-radius:50%; color:var(--pl-muted); background:#eee5da; font-size:.78rem; font-weight:850; }.pl-event-journey__steps div { display:grid; min-width:0; }.pl-event-journey__steps strong { overflow:hidden; font-size:.85rem; text-overflow:ellipsis; white-space:nowrap; }.pl-event-journey__steps small { overflow:hidden; color:var(--pl-muted); font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }.pl-event-journey__steps .is-complete > span { color:#fff; background:var(--pl-teal); }.pl-event-journey__steps .is-current { border-color:rgba(232,93,74,.45); background:#fff4ec; }.pl-event-journey__steps .is-current > span { color:#fff; background:var(--pl-coral); }
.pl-event-section { padding:clamp(1.4rem,4vw,2.5rem); border:1px solid var(--pl-border); border-radius:1.5rem; background:#fff; box-shadow:var(--pl-shadow); scroll-margin-top:6rem; }.pl-event-section__heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.5rem; }.pl-event-section__heading h2 { margin:.25rem 0; font-size:clamp(1.7rem,3vw,2.35rem); }.pl-event-section__heading p { margin:0; color:var(--pl-muted); }
.pl-event-empty { padding:clamp(2.5rem,7vw,5rem) 1rem; border:1px dashed #d7cbbd; border-radius:1.25rem; background:#fffbf4; text-align:center; }.pl-event-empty__icon { display:grid; width:4.5rem; height:4.5rem; margin:0 auto 1rem; place-items:center; border-radius:50%; color:var(--pl-teal); background:#dcece7; font-size:2rem; }.pl-event-empty p { max-width:36rem; margin:0 auto 1.4rem; color:var(--pl-muted); }
.pl-event-filters { margin-bottom:1.25rem; border:1px solid var(--pl-border); border-radius:1rem; background:#fbf8f3; }.pl-event-filters summary { display:flex; align-items:center; gap:.5rem; padding:1rem 1.2rem; cursor:pointer; font-weight:750; list-style:none; }.pl-event-filters summary::-webkit-details-marker { display:none; }.pl-event-filters summary i { color:var(--pl-coral); font-size:1.2rem; }.pl-event-filters form { padding:0 1.2rem 1.2rem; }
.pl-guest-list { display:grid; gap:.85rem; }.pl-guest-card { display:grid; grid-template-columns:minmax(15rem,2fr) minmax(7rem,.7fr) minmax(8rem,.8fr) minmax(9rem,auto); align-items:center; gap:1rem; border:1px solid var(--pl-border); border-radius:1.1rem; background:#fff; transition:border-color .15s ease,box-shadow .15s ease; }.pl-guest-card:hover { border-color:#d8c8b4; box-shadow:0 .7rem 1.5rem rgba(31,41,40,.06); }
.pl-guest-card__person { display:flex; min-width:0; align-items:flex-start; gap:.85rem; padding:1.15rem 0 1.15rem 1.15rem; }.pl-guest-avatar { display:grid; width:2.75rem; height:2.75rem; flex:none; place-items:center; border-radius:1rem 1rem 1rem .3rem; color:#0f5a56; background:#d5ebe4; font-size:1.05rem; font-weight:850; }.pl-guest-card__person > div { min-width:0; }.pl-guest-card__person h3 { overflow:hidden; margin:.05rem 0 .2rem; font-size:1rem; text-overflow:ellipsis; white-space:nowrap; }.pl-guest-card__person p { margin:0; color:var(--pl-muted); font-size:.75rem; }.pl-guest-contact { display:flex; min-width:0; flex-direction:column; margin-top:.4rem; color:var(--pl-muted); font-size:.72rem; }.pl-guest-contact span { display:flex; min-width:0; align-items:center; gap:.3rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pl-guest-card__status { display:grid; justify-items:start; gap:.25rem; }.pl-status-label { color:var(--pl-muted); font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.pl-guest-card__status small { color:var(--pl-muted); font-size:.7rem; }.pl-rsvp-pill { display:inline-flex; padding:.32rem .58rem; border-radius:999px; color:#775410; background:#fff0c2; font-size:.72rem; font-weight:800; }.pl-rsvp-pill--yes { color:#126046; background:#d8f0e4; }.pl-rsvp-pill--no { color:#a4392c; background:#ffe0d9; }.pl-rsvp-pill--maybe { color:#715216; background:#fff0c2; }.pl-invite-status { display:inline-flex; align-items:center; gap:.32rem; color:#775410; font-size:.78rem; font-weight:750; }.pl-invite-status.is-opened { color:var(--pl-teal); }
.pl-guest-card__actions { display:flex; padding-right:1rem; flex-direction:column; gap:.4rem; }.pl-guest-card__actions form,.pl-guest-card__actions .btn { width:100%; }.pl-guest-card__actions .btn { padding:.45rem .7rem; font-size:.75rem; }
.pl-guest-card__more { grid-column:1/-1; border-top:1px solid var(--pl-border); }.pl-guest-card__more > summary { display:flex; align-items:center; justify-content:center; gap:.3rem; padding:.65rem; color:var(--pl-muted); cursor:pointer; font-size:.75rem; font-weight:750; list-style:none; }.pl-guest-card__more > summary::-webkit-details-marker { display:none; }.pl-guest-card__more[open] > summary i { transform:rotate(180deg); }.pl-guest-card__details { display:grid; grid-template-columns:1fr 1fr .85fr; gap:1rem; padding:1.2rem; border-top:1px solid var(--pl-border); background:#fbf8f3; }.pl-guest-detail-panel { min-width:0; padding:1rem; border-radius:.9rem; background:#fff; }.pl-guest-detail-panel h4 { margin:0 0 .75rem; font-size:.86rem; }.pl-guest-detail-panel--code { display:flex; align-items:center; gap:1rem; }.pl-guest-detail-panel--code img { width:5rem; height:5rem; padding:.2rem; border:1px solid var(--pl-border); border-radius:.75rem; }.pl-guest-detail-panel--code code { color:var(--pl-coral); }.pl-guest-detail-panel--code p { margin:.3rem 0 0; color:var(--pl-muted); font-size:.72rem; }.pl-guest-notes { display:grid; gap:.5rem; margin:0; }.pl-guest-notes div { display:grid; grid-template-columns:6rem 1fr; gap:.4rem; font-size:.78rem; }.pl-guest-notes dt { color:var(--pl-muted); }.pl-guest-notes dd { margin:0; }.pl-guest-card__danger { display:flex; justify-content:flex-end; padding:0 1rem .75rem; background:#fbf8f3; }
.pl-event-utilities { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.25rem; }.pl-event-utilities > article,.pl-event-collaborators { padding:1.4rem; border:1px solid var(--pl-border); border-radius:1.25rem; background:#fff; }.pl-event-utilities > article,.pl-event-collaborators > summary { display:flex; align-items:flex-start; gap:1rem; }.pl-event-utilities > article > i,.pl-event-collaborators > summary > i:first-child { display:grid; width:2.8rem; height:2.8rem; flex:none; place-items:center; border-radius:.85rem; color:var(--pl-coral); background:#ffebe5; font-size:1.35rem; }.pl-event-utilities h2 { margin:0 0 .25rem; font-size:1rem; }.pl-event-utilities p { margin:0 0 .45rem; color:var(--pl-muted); font-size:.8rem; }.pl-event-utilities a { color:var(--pl-teal); font-size:.8rem; font-weight:800; text-decoration:none; }.pl-event-collaborators > summary { cursor:pointer; list-style:none; }.pl-event-collaborators > summary::-webkit-details-marker { display:none; }.pl-event-collaborators__body { padding-top:1.25rem; }.pl-event-collaborator { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem; border:1px solid var(--pl-border); border-radius:.75rem; }.pl-event-collaborator span { display:grid; }.pl-event-collaborator small { color:var(--pl-muted); }
.pl-copy-toast { position:fixed; right:1.25rem; bottom:1.25rem; z-index:1100; padding:.8rem 1rem; border-radius:.8rem; color:#fff; background:#173d3b; box-shadow:var(--pl-shadow); font-weight:750; }
.pl-event-form-page { min-height:70vh; background:radial-gradient(circle at 8% 12%,rgba(243,189,77,.14),transparent 18rem),#f8f2ea; }.pl-event-form-help { position:sticky; top:6.5rem; padding:1.5rem; border:1px solid var(--pl-border); border-radius:1.25rem; background:#fff; box-shadow:var(--pl-shadow); }.pl-event-form-help > i { display:grid; width:3rem; height:3rem; margin-bottom:1rem; place-items:center; border-radius:50%; color:var(--pl-teal); background:#dcece7; font-size:1.45rem; }.pl-event-form-help p { color:var(--pl-muted); font-size:.88rem; line-height:1.65; }
.pl-planning-jumps { display:flex; gap:.45rem; padding:.55rem; overflow-x:auto; border:1px solid var(--pl-border); border-radius:1rem; background:#fff; box-shadow:0 .5rem 1.5rem rgba(31,41,40,.05); scrollbar-width:none; }.pl-planning-jumps::-webkit-scrollbar { display:none; }.pl-planning-jumps a { display:inline-flex; align-items:center; gap:.35rem; padding:.65rem .8rem; border-radius:.7rem; color:var(--pl-muted); font-size:.78rem; font-weight:750; text-decoration:none; white-space:nowrap; }.pl-planning-jumps a:hover { color:var(--pl-ink); background:var(--pl-cream); }.pl-planning-jumps i { color:var(--pl-coral); font-size:1rem; }.pl-event-form-page [id] { scroll-margin-top:6rem; }

/* Parent-friendly planning workspace */
.pl-planner-page { min-height:78vh; background:radial-gradient(circle at 95% 3%,rgba(185,164,218,.2),transparent 22rem),#f8f2ea; }.pl-planner-page [id] { scroll-margin-top:6rem; }.pl-planner-header { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.5rem; }.pl-planner-header h1 { margin:.4rem 0; font-size:clamp(2.4rem,5vw,4.4rem); }.pl-planner-header p { max-width:44rem; margin:0; color:var(--pl-muted); font-size:1rem; line-height:1.65; }
.pl-planner-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; margin-bottom:1rem; }.pl-planner-summary article { position:relative; display:flex; min-width:0; align-items:center; gap:.8rem; padding:1rem; overflow:hidden; border:1px solid var(--pl-border); border-radius:1rem; background:#fff; }.pl-planner-summary article > i { display:grid; width:2.5rem; height:2.5rem; flex:none; place-items:center; border-radius:.75rem; color:var(--pl-teal); background:#dcece7; font-size:1.25rem; }.pl-planner-summary article > div:not(.pl-mini-progress) { display:grid; min-width:0; }.pl-planner-summary strong { overflow:hidden; font-size:1.25rem; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }.pl-planner-summary span { color:var(--pl-muted); font-size:.7rem; }.pl-mini-progress { position:absolute; right:0; bottom:0; left:0; height:3px; background:#eee7dd; }.pl-mini-progress i { display:block; height:100%; background:var(--pl-teal); }
.pl-planner-next { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; margin-bottom:1.4rem; padding:1.15rem 1.25rem; border-radius:1.1rem; color:#fff; background:radial-gradient(circle at 90% 20%,rgba(243,189,77,.25),transparent 30%),#173d3b; }.pl-planner-next__icon { display:grid; width:3rem; height:3rem; place-items:center; border-radius:.8rem; color:#173d3b; background:var(--pl-yellow); font-size:1.5rem; }.pl-planner-next .pl-kicker { color:#bfe0d8; }.pl-planner-next h2 { margin:.15rem 0; color:#fff; font-size:1.15rem; }.pl-planner-next p { margin:0; color:#c9dcd8; font-size:.78rem; }.pl-planner-next .btn { border-color:#fff; color:var(--pl-teal); background:#fff; }
.pl-planner-layout { display:grid; grid-template-columns:14.5rem minmax(0,1fr); gap:1.25rem; align-items:start; }.pl-planner-sidebar { position:sticky; top:5.5rem; }.pl-planner-sidebar nav { display:grid; padding:.65rem; border:1px solid var(--pl-border); border-radius:1.1rem; background:#fff; box-shadow:0 .6rem 1.7rem rgba(31,41,40,.05); }.pl-planner-sidebar nav > span { padding:.7rem .65rem .35rem; color:#9b9185; font-size:.62rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.pl-planner-sidebar a { display:flex; align-items:center; gap:.65rem; padding:.7rem .65rem; border-radius:.75rem; color:var(--pl-ink); text-decoration:none; }.pl-planner-sidebar a:hover { background:var(--pl-cream); }.pl-planner-sidebar a > i { color:var(--pl-coral); font-size:1.15rem; }.pl-planner-sidebar a > span { display:grid; font-size:.76rem; font-weight:800; }.pl-planner-sidebar a small { color:var(--pl-muted); font-size:.61rem; font-weight:550; }.pl-planner-main { display:grid; min-width:0; gap:1rem; }
.pl-planner-card { overflow:hidden; border:1px solid var(--pl-border); border-radius:1.25rem; background:#fff; box-shadow:0 .7rem 2rem rgba(31,41,40,.05); }.pl-planner-card.is-secondary { box-shadow:none; }.pl-planner-card__header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1rem; padding:1.3rem 1.4rem; border-bottom:1px solid var(--pl-border); }.pl-planner-card__header h2 { margin:.15rem 0; font-size:1.3rem; }.pl-planner-card__header p { max-width:42rem; margin:0; color:var(--pl-muted); font-size:.74rem; line-height:1.55; }.pl-planner-card__icon { display:grid; width:2.8rem; height:2.8rem; place-items:center; border-radius:.85rem; color:var(--pl-muted); background:#f0ece6; font-size:1.35rem; }.pl-planner-card__icon.is-coral { color:#aa3f31; background:#ffe1d9; }.pl-planner-card__icon.is-teal { color:var(--pl-teal); background:#dcece7; }.pl-planner-card__icon.is-yellow { color:#7a5715; background:#ffebba; }.pl-planner-card__icon.is-lilac { color:#654f89; background:#e9e0f5; }.pl-count-pill { padding:.35rem .6rem; border-radius:999px; color:var(--pl-teal); background:#dcece7; font-size:.65rem; font-weight:850; white-space:nowrap; }
.pl-task-list { padding:.4rem 1.35rem; }.pl-task-list article { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.75rem; padding:.85rem 0; border-bottom:1px solid var(--pl-border); }.pl-task-list article:last-child { border:0; }.pl-task-list article > div { display:grid; min-width:0; }.pl-task-list strong { font-size:.82rem; }.pl-task-list small { min-height:.85rem; color:var(--pl-muted); font-size:.65rem; }.pl-task-list article.is-complete strong { color:var(--pl-muted); text-decoration:line-through; }.pl-task-list button,.pl-simple-list button,.pl-timeline-list button,.pl-row-actions button { display:grid; width:2rem; height:2rem; place-items:center; border:0; border-radius:.55rem; color:var(--pl-muted); background:transparent; }.pl-task-list article > form:first-child button { color:var(--pl-teal); font-size:1.3rem; }.pl-task-list article > form:last-child button:hover,.pl-simple-list button:hover,.pl-timeline-list button:hover { color:#a82f2f; background:#fff0ef; }
.pl-planner-empty { display:flex; align-items:center; gap:.8rem; margin:1.2rem 1.35rem; padding:1rem; border-radius:.9rem; background:#fbf7f0; }.pl-planner-empty > i { color:var(--pl-coral); font-size:1.5rem; }.pl-planner-empty > div { display:grid; }.pl-planner-empty strong { font-size:.8rem; }.pl-planner-empty span { color:var(--pl-muted); font-size:.7rem; }.pl-quiet-empty { padding:.8rem; border-radius:.7rem; color:var(--pl-muted); background:#fbf7f0; font-size:.72rem; }
.pl-add-panel { margin:0 1.35rem 1.25rem; border:1px dashed #d4c7b7; border-radius:.9rem; }.pl-add-panel.is-compact { margin:1rem 0 0; }.pl-add-panel > summary { display:flex; align-items:center; gap:.45rem; padding:.8rem 1rem; cursor:pointer; color:var(--pl-teal); font-size:.75rem; font-weight:850; list-style:none; }.pl-add-panel > summary::-webkit-details-marker { display:none; }.pl-add-panel[open] > summary { border-bottom:1px solid var(--pl-border); }.pl-add-panel__body { padding:1rem; }.pl-add-panel__body .form-label,.pl-planner-split .form-label,.pl-message-actions .form-label,.pl-extra-tools .form-label { font-size:.72rem; font-weight:750; }.pl-add-panel__body .form-control,.pl-add-panel__body .form-select,.pl-planner-split .form-control,.pl-planner-split .form-select,.pl-message-actions .form-control,.pl-message-actions .form-select,.pl-extra-tools .form-control,.pl-extra-tools .form-select { border-color:#dcd2c4; border-radius:.7rem; }
.pl-timeline-list { padding:.5rem 1.35rem; }.pl-timeline-list article { display:grid; grid-template-columns:4.5rem auto minmax(0,1fr) auto; align-items:start; gap:.7rem; padding:.8rem 0; }.pl-timeline-list time { padding-top:.2rem; color:var(--pl-teal); font-size:.7rem; font-weight:850; text-align:right; }.pl-timeline-list article > span { position:relative; width:.65rem; height:.65rem; margin-top:.3rem; border:2px solid #fff; border-radius:50%; background:var(--pl-coral); box-shadow:0 0 0 2px #ffd9d2; }.pl-timeline-list article > div { display:grid; }.pl-timeline-list strong { font-size:.82rem; }.pl-timeline-list p { margin:.15rem 0; color:var(--pl-muted); font-size:.7rem; }.pl-timeline-list small { color:var(--pl-muted); font-size:.62rem; }
.pl-planner-split { display:grid; grid-template-columns:1fr 1fr; gap:0; }.pl-planner-split > div { min-width:0; padding:1.35rem; }.pl-planner-split > div + div { border-left:1px solid var(--pl-border); }.pl-planner-split h3 { display:flex; align-items:center; gap:.4rem; font-size:.95rem; }.pl-planner-split h3 i { color:var(--pl-coral); }.pl-planner-split > div > p { color:var(--pl-muted); font-size:.7rem; line-height:1.55; }.pl-simple-list { display:grid; }.pl-simple-list article { display:flex; align-items:center; gap:.65rem; padding:.7rem 0; border-bottom:1px solid var(--pl-border); }.pl-simple-list article > i { color:var(--pl-teal); }.pl-simple-list article > div:not(.pl-row-actions) { display:grid; min-width:0; flex:1; }.pl-simple-list strong,.pl-simple-list small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.pl-simple-list strong { font-size:.76rem; }.pl-simple-list small { color:var(--pl-muted); font-size:.62rem; }.pl-row-actions { display:flex; margin-left:auto; }
.pl-message-actions,.pl-extra-tools { display:grid; gap:.7rem; padding:1.2rem 1.35rem; }.pl-message-actions > details,.pl-extra-tools > details { border:1px solid var(--pl-border); border-radius:.9rem; }.pl-message-actions summary,.pl-extra-tools summary { display:flex; align-items:center; gap:.75rem; padding:.9rem 1rem; cursor:pointer; list-style:none; }.pl-message-actions summary::-webkit-details-marker,.pl-extra-tools summary::-webkit-details-marker { display:none; }.pl-message-actions summary > i:first-child,.pl-extra-tools summary > i:first-child { display:grid; width:2.25rem; height:2.25rem; flex:none; place-items:center; border-radius:.65rem; color:var(--pl-teal); background:#dcece7; font-size:1.1rem; }.pl-message-actions summary > span,.pl-extra-tools summary > span { display:grid; min-width:0; flex:1; }.pl-message-actions summary strong,.pl-extra-tools summary strong { font-size:.78rem; }.pl-message-actions summary small,.pl-extra-tools summary small { color:var(--pl-muted); font-size:.65rem; }.pl-message-actions summary > b { padding:.25rem .5rem; border-radius:999px; color:#7a5715; background:#ffebba; font-size:.6rem; text-transform:uppercase; }.pl-message-actions details[open] summary,.pl-extra-tools details[open] summary { border-bottom:1px solid var(--pl-border); }.pl-message-actions summary > i:last-child,.pl-extra-tools summary > i:last-child { transition:transform .15s ease; }.pl-message-actions details[open] summary > i:last-child,.pl-extra-tools details[open] summary > i:last-child { transform:rotate(180deg); }.pl-message-actions details > div,.pl-extra-tools details > div { padding:1rem; }.pl-upgrade-note { display:flex; align-items:center; gap:.75rem; padding:1rem; border-radius:.8rem; background:var(--pl-cream); }.pl-upgrade-note > i { color:var(--pl-coral); font-size:1.3rem; }.pl-upgrade-note > span { display:grid; flex:1; }.pl-upgrade-note strong { font-size:.78rem; }.pl-upgrade-note small { color:var(--pl-muted); font-size:.65rem; }.pl-message-history { padding:0 1.35rem 1.25rem; }.pl-message-history h3 { font-size:.82rem; }

/* Streamlined event creation */
.pl-builder-heading { max-width:48rem; margin:0 auto 2rem; text-align:center; }.pl-builder-heading h1 { margin:.55rem 0 .8rem; font-size:clamp(2.25rem,5vw,4rem); line-height:1.02; }.pl-builder-heading > p { color:var(--pl-muted); font-size:1.05rem; line-height:1.7; }
.pl-builder-progress--three { grid-template-columns:repeat(3,1fr); }.pl-builder-progress--three button { min-width:0; padding:.9rem; flex-wrap:wrap; }.pl-builder-progress--three button strong,.pl-builder-progress--three button small { display:block; width:100%; }.pl-builder-progress--three button strong { color:inherit; font-size:.8rem; }.pl-builder-progress--three button small { color:var(--pl-muted); font-size:.68rem; font-weight:550; }.pl-builder-step legend small { margin-top:.35rem; color:var(--pl-muted); font-size:.9rem; font-weight:500; line-height:1.6; }
.pl-builder-advanced { border:1px solid var(--pl-border); border-radius:1rem; background:#fbf8f3; }.pl-builder-advanced > summary { padding:1rem 1.15rem; color:var(--pl-teal); cursor:pointer; font-size:.85rem; font-weight:800; list-style:none; }.pl-builder-advanced > summary::after { float:right; font-family:'boxicons'; font-size:1.2rem; content:'\ea4a'; }.pl-builder-advanced[open] > summary::after { transform:rotate(180deg); }.pl-builder-advanced > summary::-webkit-details-marker { display:none; }.pl-builder-advanced > div { padding:0 1.15rem 1.15rem; }
.pl-builder-presets { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }.pl-builder-preset { position:relative; display:grid; grid-template-columns:4.25rem 1fr; gap:.85rem; align-items:center; min-width:0; padding:.85rem; border:2px solid var(--pl-border); border-radius:1rem; background:#fff; cursor:pointer; transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease; }.pl-builder-preset:hover { border-color:var(--preset-accent); transform:translateY(-2px); box-shadow:0 .7rem 1.5rem rgba(31,41,40,.08); }.pl-builder-preset:has(input:checked) { border-color:var(--preset-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--preset-accent) 14%,transparent); }.pl-builder-preset__art { position:relative; display:grid; width:4.25rem; height:4.75rem; place-items:center; overflow:hidden; border-radius:.75rem; color:var(--preset-accent); background:var(--preset-bg); font-size:1.6rem; }.pl-builder-preset__art::before { position:absolute; inset:0; background:radial-gradient(circle at 80% 15%,var(--preset-soft) 0 16%,transparent 17%); content:""; }.pl-builder-preset__art i { position:relative; z-index:1; }.pl-builder-preset__art b { position:absolute; width:.35rem; height:.35rem; border-radius:50%; background:var(--preset-accent); }.pl-builder-preset__art b:first-of-type { top:.6rem; left:.6rem; }.pl-builder-preset__art b:last-of-type { right:.7rem; bottom:.7rem; }.pl-builder-preset > span:nth-child(3) { display:grid; min-width:0; }.pl-builder-preset strong { color:var(--pl-ink); font-size:.9rem; }.pl-builder-preset small { display:-webkit-box; overflow:hidden; color:var(--pl-muted); font-size:.7rem; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.pl-builder-preset__check { position:absolute; top:.55rem; right:.55rem; color:var(--preset-accent); font-size:1.2rem; opacity:0; }.pl-builder-preset:has(input:checked) .pl-builder-preset__check { opacity:1; }

/* Invitation hub */
.pl-invite-hub { min-height:75vh; background:radial-gradient(circle at 92% 7%,rgba(185,164,218,.2),transparent 22rem),#f8f2ea; }.pl-invite-hub__header { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }.pl-invite-hub__header h1 { margin:.45rem 0; font-size:clamp(2.25rem,5vw,4rem); }.pl-invite-hub__header p { max-width:46rem; margin:0; color:var(--pl-muted); font-size:1.02rem; line-height:1.65; }
.pl-invite-hub__summary { display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem; margin-bottom:1.25rem; }.pl-invite-hub__summary article { display:flex; align-items:center; gap:.85rem; padding:1rem 1.15rem; border:1px solid var(--pl-border); border-radius:1rem; background:#fff; }.pl-invite-hub__summary article > i { display:grid; width:2.5rem; height:2.5rem; flex:none; place-items:center; border-radius:.75rem; color:var(--pl-teal); background:#dcece7; font-size:1.25rem; }.pl-invite-hub__summary article div { display:grid; }.pl-invite-hub__summary strong { font-size:1.35rem; line-height:1; }.pl-invite-hub__summary span { margin-top:.2rem; color:var(--pl-muted); font-size:.72rem; }
.pl-invite-panel { padding:clamp(1.25rem,3vw,2rem); border:1px solid var(--pl-border); border-radius:1.35rem; background:#fff; box-shadow:var(--pl-shadow); }.pl-invite-panel__heading { display:flex; align-items:start; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }.pl-invite-panel__heading h2 { margin:.25rem 0; font-size:1.45rem; }.pl-invite-panel__heading p { margin:0; color:var(--pl-muted); font-size:.85rem; }.pl-live-pill { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .55rem; border-radius:999px; color:var(--pl-teal); background:#e0f2ed; font-size:.7rem; font-weight:800; }.pl-live-pill span { width:.45rem; height:.45rem; border-radius:50%; background:var(--pl-teal); box-shadow:0 0 0 .2rem rgba(23,107,104,.12); }
.pl-invite-browser { overflow:hidden; border:1px solid #d8d1c8; border-radius:1rem; background:#eef0f3; }.pl-invite-browser__bar { display:flex; align-items:center; gap:.35rem; padding:.6rem .75rem; background:#ece7df; }.pl-invite-browser__bar i { width:.55rem; height:.55rem; border-radius:50%; background:#e85d4a; }.pl-invite-browser__bar i:nth-child(2) { background:#f3bd4d; }.pl-invite-browser__bar i:nth-child(3) { background:#77bbad; }.pl-invite-browser__bar span { flex:1; margin-left:.4rem; overflow:hidden; padding:.32rem .6rem; border-radius:.45rem; color:#777; background:#fff; font-size:.65rem; text-align:center; text-overflow:ellipsis; white-space:nowrap; }.pl-invite-browser iframe { display:block; width:100%; height:36rem; border:0; background:#fff; }
.pl-invite-readiness { display:grid; gap:.55rem; }.pl-invite-readiness > a,.pl-invite-readiness > div { display:flex; align-items:center; gap:.75rem; padding:.8rem; border:1px solid var(--pl-border); border-radius:.85rem; color:var(--pl-ink); text-decoration:none; }.pl-invite-readiness > * > i { display:grid; width:2rem; height:2rem; flex:none; place-items:center; border-radius:50%; color:#84601d; background:#fff0c2; }.pl-invite-readiness .is-ready > i { color:#fff; background:var(--pl-teal); }.pl-invite-readiness span { display:grid; min-width:0; }.pl-invite-readiness strong { font-size:.8rem; }.pl-invite-readiness small { overflow:hidden; color:var(--pl-muted); font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }.pl-invite-share-box { margin-top:1.25rem; padding:1rem; border-radius:1rem; background:var(--pl-cream); }.pl-invite-share-box h3 { font-size:.9rem; }.pl-invite-share-box p { color:var(--pl-muted); font-size:.74rem; line-height:1.55; }
.pl-invite-presets { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }.pl-invite-preset { border:2px solid var(--pl-border); border-radius:1rem; background:#fff; }.pl-invite-preset.is-selected { border-color:var(--preset-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--preset-accent) 13%,transparent); }.pl-invite-preset button { display:grid; grid-template-columns:4.5rem 1fr auto; width:100%; align-items:center; gap:.9rem; border:0; padding:.8rem; color:var(--preset-ink); background:transparent; text-align:left; }.pl-invite-preset__art { position:relative; display:grid; width:4.5rem; height:5.5rem; place-items:center; overflow:hidden; border-radius:.75rem; color:var(--preset-accent); background:var(--preset-bg); font-size:1.75rem; }.pl-invite-preset__art::after { position:absolute; top:.6rem; right:.6rem; width:1.2rem; height:1.2rem; border-radius:50%; background:var(--preset-soft); content:""; }.pl-invite-preset__art b { position:absolute; width:.35rem; height:.35rem; border-radius:50%; background:var(--preset-accent); }.pl-invite-preset__art b:nth-of-type(1) { top:.6rem; left:.6rem; }.pl-invite-preset__art b:nth-of-type(2) { right:.7rem; bottom:.8rem; }.pl-invite-preset__art b:nth-of-type(3) { bottom:.6rem; left:1rem; background:var(--preset-soft); }.pl-invite-preset__copy { display:grid; }.pl-invite-preset__copy strong { font-size:.9rem; }.pl-invite-preset__copy small { color:var(--pl-muted); font-size:.68rem; line-height:1.45; }.pl-invite-preset__choice { padding:.3rem .5rem; border-radius:999px; color:var(--preset-accent); background:var(--preset-soft); font-size:.65rem; font-weight:800; }
.pl-invite-recipients { display:grid; gap:.55rem; }.pl-invite-recipients > article { display:grid; grid-template-columns:auto minmax(10rem,1fr) auto auto; align-items:center; gap:.8rem; padding:.8rem; border:1px solid var(--pl-border); border-radius:.9rem; }.pl-invite-recipient__name { display:grid; min-width:0; }.pl-invite-recipient__name strong,.pl-invite-recipient__name small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.pl-invite-recipient__name strong { font-size:.85rem; }.pl-invite-recipient__name small { color:var(--pl-muted); font-size:.7rem; }.pl-invite-recipient__actions { display:flex; gap:.35rem; }.pl-invite-recipient__actions form { display:inline-flex; }
/* Invitation preset mini-previews mirror the full themed scenes. */
.pl-preset-mini--rainbow .pl-builder-preset__art,.pl-preset-mini--rainbow .pl-invite-preset__art { background:radial-gradient(ellipse at 50% 100%,transparent 0 25%,#fff 26% 31%,#7dd3fc 32% 39%,#86efac 40% 47%,#fde047 48% 55%,#fb7185 56% 63%,#c4b5fd 64% 72%,transparent 73%),#fffbea; }.pl-preset-mini--rainbow .pl-builder-preset__art i::before,.pl-preset-mini--rainbow .pl-invite-preset__art i::before { content:"🌈"; font-family:initial; }
.pl-preset-mini--space .pl-builder-preset__art,.pl-preset-mini--space .pl-invite-preset__art { background:radial-gradient(circle at 16% 18%,#fff 0 2%,transparent 3%),radial-gradient(circle at 78% 28%,#c4b5fd 0 3%,transparent 4%),radial-gradient(circle at 72% 78%,#fff 0 2%,transparent 3%),radial-gradient(circle at 22% 72%,#93c5fd 0 3%,transparent 4%),#111827; }.pl-preset-mini--space .pl-builder-preset__art::after,.pl-preset-mini--space .pl-invite-preset__art::after { background:#93c5fd; box-shadow:inset -.25rem -.25rem .4rem #4f46e5; }.pl-preset-mini--space .pl-builder-preset__art i,.pl-preset-mini--space .pl-invite-preset__art i { color:#c4b5fd; }
.pl-preset-mini--dinosaurs .pl-builder-preset__art,.pl-preset-mini--dinosaurs .pl-invite-preset__art { background:radial-gradient(ellipse at bottom,#84cc16 0 23%,transparent 24%),radial-gradient(ellipse at 90% 5%,#bef264 0 18%,transparent 19%),#edf5df; }.pl-preset-mini--dinosaurs .pl-builder-preset__art i::before,.pl-preset-mini--dinosaurs .pl-invite-preset__art i::before { content:"🦕"; font-family:initial; }
.pl-preset-mini--football .pl-builder-preset__art,.pl-preset-mini--football .pl-invite-preset__art { background:linear-gradient(90deg,transparent 48%,rgba(255,255,255,.7) 49% 51%,transparent 52%),radial-gradient(circle at 50% 50%,transparent 0 27%,rgba(255,255,255,.7) 28% 31%,transparent 32%),repeating-linear-gradient(90deg,#4ade80 0 25%,#22c55e 25% 50%); }.pl-preset-mini--football .pl-builder-preset__art i,.pl-preset-mini--football .pl-invite-preset__art i { color:#fff; filter:drop-shadow(0 .2rem .25rem rgba(21,128,61,.28)); }
.pl-preset-mini--pastel .pl-builder-preset__art,.pl-preset-mini--pastel .pl-invite-preset__art { background:radial-gradient(circle at 18% 22%,#f9a8d4 0 13%,transparent 14%),radial-gradient(circle at 82% 22%,#c4b5fd 0 18%,transparent 19%),radial-gradient(circle at 70% 82%,#bae6fd 0 15%,transparent 16%),linear-gradient(145deg,#fff7fb,#fce7f3); }.pl-preset-mini--pastel .pl-builder-preset__art i::before,.pl-preset-mini--pastel .pl-invite-preset__art i::before { content:"🌸"; font-family:initial; }
.pl-preset-mini--confetti .pl-builder-preset__art,.pl-preset-mini--confetti .pl-invite-preset__art { background:radial-gradient(circle at 15% 18%,#e85d4a 0 4%,transparent 5%),radial-gradient(circle at 80% 25%,#f3bd4d 0 8%,transparent 9%),radial-gradient(circle at 72% 78%,#176b68 0 5%,transparent 6%),radial-gradient(circle at 20% 82%,#b9a4da 0 4%,transparent 5%),#fff7e8; }
.pl-setting-toggle { display:flex; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--pl-border); cursor:pointer; }.pl-setting-toggle > span { display:grid; flex:1; }.pl-setting-toggle strong { font-size:.85rem; }.pl-setting-toggle small { color:var(--pl-muted); font-size:.72rem; line-height:1.5; }.pl-setting-toggle input { position:absolute; opacity:0; }.pl-setting-toggle > i { position:relative; width:2.6rem; height:1.45rem; flex:none; border-radius:999px; background:#d7d7d7; transition:background .15s ease; }.pl-setting-toggle > i::after { position:absolute; top:.2rem; left:.2rem; width:1.05rem; height:1.05rem; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.2); content:""; transition:transform .15s ease; }.pl-setting-toggle input:checked + i { background:var(--pl-teal); }.pl-setting-toggle input:checked + i::after { transform:translateX(1.15rem); }.pl-setting-toggle input:focus-visible + i { box-shadow:var(--pl-focus); }

/* Event library */
.pl-events-page { min-height:75vh; background:radial-gradient(circle at 7% 3%,rgba(243,189,77,.16),transparent 20rem),#f8f2ea; }.pl-events-header { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }.pl-events-header h1 { margin:.35rem 0; font-size:clamp(2.5rem,6vw,4.8rem); }.pl-events-header p { margin:0; color:var(--pl-muted); }.pl-events-header__actions { display:flex; flex:none; align-items:center; gap:.75rem; }
.pl-event-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }.pl-party-card { display:grid; grid-template-columns:9.5rem minmax(0,1fr); overflow:hidden; border:1px solid var(--pl-border); border-radius:1.4rem; background:#fff; box-shadow:0 .7rem 2rem rgba(31,41,40,.06); }.pl-party-card__visual { position:relative; display:grid; min-height:100%; place-items:center; color:#fff; background:radial-gradient(circle at 30% 25%,rgba(243,189,77,.8) 0 7%,transparent 8%),radial-gradient(circle at 76% 70%,rgba(185,164,218,.8) 0 8%,transparent 9%),var(--pl-teal); background-position:center; background-size:cover; text-decoration:none; }.pl-party-card__visual::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(17,38,37,.48)); content:""; }.pl-party-card__visual > i { font-size:3.2rem; }.pl-party-card__visual > span { position:absolute; right:.65rem; bottom:.65rem; z-index:1; padding:.25rem .55rem; border-radius:999px; color:#fff; background:rgba(17,38,37,.74); font-size:.62rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.pl-party-card__body { display:grid; grid-template-columns:3.6rem minmax(0,1fr); gap:.9rem; padding:1.1rem; }.pl-party-card__date { display:grid; height:3.7rem; place-content:center; border-radius:.85rem; color:var(--pl-coral); background:#fff0e7; text-align:center; }.pl-party-card__date strong { font-size:1.35rem; line-height:1; }.pl-party-card__date span { margin-top:.2rem; font-size:.65rem; font-weight:850; text-transform:uppercase; }.pl-party-card__title { min-width:0; }.pl-party-card__title small { color:var(--pl-coral); font-size:.7rem; font-weight:800; text-transform:uppercase; }.pl-party-card__title h2 { margin:.18rem 0; overflow:hidden; font-size:1.18rem; text-overflow:ellipsis; white-space:nowrap; }.pl-party-card__title h2 a { color:var(--pl-ink); text-decoration:none; }.pl-party-card__title p { display:flex; align-items:center; gap:.3rem; margin:0; overflow:hidden; color:var(--pl-muted); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }.pl-party-card__stats { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--pl-border); }.pl-party-card__stats span { display:grid; padding:.7rem .4rem; border-right:1px solid var(--pl-border); color:var(--pl-muted); font-size:.63rem; text-align:center; }.pl-party-card__stats span:last-child { border:0; }.pl-party-card__stats strong { color:var(--pl-ink); font-size:1rem; }.pl-party-card__stats .needs-attention strong { color:#9b5c12; }.pl-party-card__next { grid-column:1/-1; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.65rem; padding:.75rem; border-radius:.8rem; background:var(--pl-cream); }.pl-party-card__next > i { color:var(--pl-teal); font-size:1.3rem; }.pl-party-card__next span { display:grid; min-width:0; }.pl-party-card__next strong { font-size:.72rem; }.pl-party-card__next small { color:var(--pl-muted); font-size:.64rem; }.pl-party-card__next > a { color:var(--pl-teal); font-size:.7rem; font-weight:850; text-decoration:none; }.pl-party-card__actions { grid-column:1/-1; display:flex; align-items:center; gap:.25rem; }.pl-party-card__actions > a,.pl-party-card__actions > .dropdown > button { display:inline-flex; align-items:center; gap:.3rem; border:0; padding:.4rem .55rem; border-radius:.55rem; color:var(--pl-muted); background:transparent; font-size:.68rem; font-weight:750; text-decoration:none; }.pl-party-card__actions > a:hover,.pl-party-card__actions > .dropdown > button:hover { color:var(--pl-coral); background:#fff5ef; }.pl-party-card__actions .dropdown { margin-left:auto; }
.pl-event-empty { border:1px dashed #d9c9b6; border-radius:1.5rem; background:#fff; text-align:center; }.pl-event-empty__icon { display:grid; width:4.5rem; height:4.5rem; margin:0 auto 1rem; place-items:center; border-radius:50%; color:var(--pl-coral); background:#fff0e7; font-size:2.1rem; }.pl-event-empty p { color:var(--pl-muted); }.pl-section-small-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:1rem; }.pl-section-small-heading h2 { margin:.3rem 0 0; font-size:1.45rem; }.pl-event-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }.pl-event-mini-grid > a { display:flex; align-items:center; gap:.75rem; min-width:0; padding:1rem; border:1px solid var(--pl-border); border-radius:1rem; color:var(--pl-ink); background:#fff; text-decoration:none; }.pl-event-mini-grid > a > i { display:grid; width:2.4rem; height:2.4rem; flex:none; place-items:center; border-radius:.7rem; color:var(--pl-teal); background:#dcece7; font-size:1.2rem; }.pl-event-mini-grid span { display:grid; min-width:0; }.pl-event-mini-grid strong,.pl-event-mini-grid small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.pl-event-mini-grid strong { font-size:.82rem; }.pl-event-mini-grid small { color:var(--pl-muted); font-size:.68rem; }.pl-past-events { padding:1rem 1.2rem; border:1px solid var(--pl-border); border-radius:1rem; background:rgba(255,255,255,.6); }.pl-past-events summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; }.pl-past-events summary::-webkit-details-marker { display:none; }.pl-past-events summary > span { display:grid; }.pl-past-events summary > small { color:var(--pl-muted); }
.pl-calendar-panel { overflow:hidden; padding:1.25rem; border:1px solid var(--pl-border); border-radius:1.4rem; background:#fff; box-shadow:0 .7rem 2rem rgba(31,41,40,.05); }.pl-calendar-panel__header { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }.pl-calendar-panel__header h2 { margin:.2rem 0 0; }.events-calendar { overflow-x:auto; border:1px solid var(--pl-border); border-radius:1rem; }.events-calendar__header,.events-calendar__week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }.events-calendar__weekday { padding:.7rem; background:#fbf7f0; font-size:.68rem; font-weight:850; text-align:center; text-transform:uppercase; }.events-calendar__day { min-height:8.5rem; padding:.45rem; border-top:1px solid var(--pl-border); border-right:1px solid var(--pl-border); background:#fff; }.events-calendar__day:last-child { border-right:0; }.events-calendar__day.is-muted { color:#aaa; background:#fcfaf7; }.events-calendar__day-number { display:grid; width:1.7rem; height:1.7rem; margin-bottom:.25rem; place-items:center; border-radius:50%; font-size:.72rem; font-weight:800; }.events-calendar__day.is-today .events-calendar__day-number { color:#fff; }.events-calendar__events { display:grid; gap:.25rem; }.events-calendar__event { display:grid; overflow:hidden; padding:.35rem; border-left:3px solid var(--pl-coral); border-radius:.35rem; color:var(--pl-ink); text-decoration:none; }.events-calendar__event-time,.events-calendar__event-meta { font-size:.55rem; }.events-calendar__event-name { overflow:hidden; font-size:.65rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }.events-calendar__more { font-size:.6rem; font-weight:750; }

@media (max-width: 991.98px) {
    .pl-hero-art { margin-right:0; }.pl-hero-art img { min-height:auto; border-radius:2rem; }.pl-proof-strip .container { align-items:flex-start; flex-direction:column; }.pl-feature-grid { grid-template-columns:repeat(2,1fr); }.pl-theme-card { min-height:20rem; }
    .pl-navbar { -webkit-backdrop-filter:none; backdrop-filter:none; }
    .pl-navbar .offcanvas { height:100vh; height:100dvh; background:#fffdf8 !important; }
    .pl-navbar .offcanvas-body { display:block !important; flex:1 1 auto; padding:1.25rem; overflow-y:auto; }
    .pl-navbar .navbar-nav { gap:.35rem; }
    .pl-navbar .navbar-nav > .nav-item > .nav-link { display:flex; width:100%; align-items:center; justify-content:space-between; padding:.85rem 1rem; border-radius:.75rem; color:var(--pl-ink); font-size:1rem; }
    .pl-navbar .navbar-nav > .nav-item > .nav-link:hover,.pl-navbar .navbar-nav > .nav-item > .nav-link.active { color:var(--pl-coral); background:#fff2e9; }
    .pl-navbar .offcanvas > .offcanvas-header:last-child { flex:none; padding:1rem 1.25rem max(1rem,env(safe-area-inset-bottom)); }
    .pl-event-journey__steps { grid-template-columns:repeat(3,1fr); }.pl-guest-card { grid-template-columns:minmax(14rem,1.7fr) 1fr 1fr; }.pl-guest-card__actions { grid-column:1/-1; padding:0 1rem 1rem; flex-direction:row; }.pl-guest-card__actions form,.pl-guest-card__actions .btn { width:auto; }.pl-guest-card__details { grid-template-columns:1fr 1fr; }.pl-guest-detail-panel--code { grid-column:1/-1; }
    .pl-builder-presets,.pl-invite-presets { grid-template-columns:repeat(2,1fr); }.pl-invite-hub__summary { grid-template-columns:repeat(2,1fr); }.pl-event-card-grid { grid-template-columns:1fr; }.pl-event-mini-grid { grid-template-columns:repeat(2,1fr); }.events-calendar__header,.events-calendar__week { min-width:48rem; }.pl-planner-summary { grid-template-columns:repeat(2,1fr); }.pl-planner-layout { grid-template-columns:1fr; }.pl-planner-sidebar { position:static; }.pl-planner-sidebar nav { display:flex; gap:.3rem; overflow-x:auto; }.pl-planner-sidebar nav > span { display:none; }.pl-planner-sidebar a { min-width:max-content; }.pl-planner-sidebar a small { display:none; }
}
@media (max-width: 767.98px) {
    .pl-feature-grid,.pl-theme-grid { grid-template-columns:1fr; }.pl-builder-progress button { font-size:0; }.pl-builder-progress button span { font-size:.8rem; }.pl-builder-actions { flex-wrap:wrap; }.pl-builder-actions [data-step-label] { width:100%; order:-1; margin:0; text-align:center; }.pl-float-card--allergy { top:4%; right:3%; }.pl-float-card--rsvp { bottom:4%; left:3%; }.pl-theme-card { transform:none !important; }
    .pl-event-nav { gap:.65rem; }.pl-event-nav__back span { display:none; }.pl-event-nav__links a { padding-inline:.65rem; }.pl-event-nav__links a i { display:none; }.pl-event-next { grid-template-columns:auto 1fr; padding:1.1rem; }.pl-event-next__action { grid-column:1/-1; justify-self:stretch; }.pl-event-next__action .btn { width:100%; }.pl-event-stats { grid-template-columns:1fr 1fr; }.pl-event-journey__steps { display:flex; padding-bottom:.35rem; overflow-x:auto; }.pl-event-journey__steps a { min-width:11rem; }.pl-event-section__heading { align-items:stretch; flex-direction:column; }.pl-event-section__heading .btn { flex:1; }.pl-guest-card { grid-template-columns:1fr 1fr; }.pl-guest-card__person { grid-column:1/-1; padding-right:1rem; }.pl-guest-card__status { padding:0 1rem 1rem; }.pl-guest-card__actions { flex-wrap:wrap; }.pl-guest-card__actions form,.pl-guest-card__actions .btn { flex:1; width:100%; }.pl-guest-card__details,.pl-event-utilities { grid-template-columns:1fr; }.pl-guest-detail-panel--code { grid-column:auto; }.pl-event-collaborators { grid-column:1; }
    .pl-builder-progress--three button strong,.pl-builder-progress--three button small { display:none; }.pl-builder-presets,.pl-invite-presets { grid-template-columns:1fr; }.pl-invite-hub__header,.pl-invite-panel__heading { align-items:stretch; flex-direction:column; }.pl-invite-hub__summary { grid-template-columns:1fr 1fr; }.pl-invite-browser iframe { height:29rem; }.pl-invite-recipients > article { grid-template-columns:auto 1fr; }.pl-invite-recipients .pl-invite-status { justify-self:end; }.pl-invite-recipient__actions { grid-column:1/-1; flex-wrap:wrap; }.pl-invite-recipient__actions .btn { flex:1; }.pl-events-header,.pl-events-header__actions,.pl-calendar-panel__header { align-items:stretch; flex-direction:column; }.pl-events-header__actions .btn-group,.pl-events-header__actions > .btn { width:100%; }.pl-events-header__actions .btn { flex:1; }.pl-party-card { grid-template-columns:7rem minmax(0,1fr); }.pl-event-mini-grid { grid-template-columns:1fr; }.pl-calendar-panel { padding:.75rem; }.pl-planner-header { align-items:stretch; flex-direction:column; }.pl-planner-next { grid-template-columns:auto 1fr; }.pl-planner-next .btn { grid-column:1/-1; }.pl-planner-card__header { grid-template-columns:auto 1fr; }.pl-planner-card__header > :last-child:not(div) { grid-column:1/-1; justify-self:start; }.pl-planner-split { grid-template-columns:1fr; }.pl-planner-split > div + div { border-top:1px solid var(--pl-border); border-left:0; }.pl-upgrade-note { align-items:flex-start; flex-wrap:wrap; }.pl-upgrade-note .btn { width:100%; }
}
@media (max-width: 575.98px) {
    .pl-planner-summary article { gap:.55rem; padding:.75rem; }.pl-planner-summary article > i { width:2.1rem; height:2.1rem; }.pl-planner-summary strong { font-size:1rem; }.pl-planner-next { padding:1rem; }.pl-planner-next__icon { display:none; }.pl-planner-next { grid-template-columns:1fr; }.pl-planner-card__header { padding:1rem; }.pl-planner-card__icon { width:2.35rem; height:2.35rem; }.pl-planner-card__header h2 { font-size:1.1rem; }.pl-task-list,.pl-timeline-list { padding-inline:1rem; }.pl-add-panel { margin-inline:1rem; }.pl-timeline-list article { grid-template-columns:3.6rem auto minmax(0,1fr) auto; }.pl-planner-split > div,.pl-message-actions,.pl-extra-tools { padding:1rem; }.pl-message-actions summary,.pl-extra-tools summary { padding:.75rem; }.pl-message-actions summary > i:first-child,.pl-extra-tools summary > i:first-child { display:none; }
}
.empty-state {
    padding: clamp(2rem, 7vw, 5rem) 1.5rem; border: 1px dashed var(--pl-border);
    border-radius: var(--pl-radius-lg); background: var(--pl-surface); text-align: center;
}
.empty-state__icon {
    display: inline-grid; width: 4rem; height: 4rem; margin-bottom: 1rem; place-items: center;
    border-radius: 50%; color: var(--pl-brand); background: rgba(91, 76, 240, 0.1); font-size: 2rem;
}
.flash-stack { position: relative; z-index: 1030; }
.cookie-banner {
    position: fixed; right: 1rem; bottom: 1rem; left: 1rem; z-index: 1090; display: none;
    max-width: 54rem; margin-inline: auto; padding: 1rem; border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--pl-radius); color: #fff; background: #171827; box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.3);
}
.cookie-banner__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.cookie-banner__copy { flex: 1 1 22rem; }
.event-guests-table th, .event-guests-table td { vertical-align: middle; }
.event-guests-table thead th { white-space: nowrap; }
.event-guests-actions .btn, .event-guests-actions form { width: 100%; }
.event-guests-qr { width: 3.5rem; height: 3.5rem; }

@media (max-width: 767.98px) {
    .page-wrapper section:first-child .pt-5 { padding-top: 2rem !important; }
    .events-calendar__header, .events-calendar__week { min-width: 46rem !important; }
    .event-guests-filters .btn { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important; animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important; transition-duration: 0.01ms !important;
    }
}
