:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#251831;background:#f8f6fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 14% 17%,#eee4fa 0,transparent 28%),radial-gradient(circle at 89% 92%,#fff0e4 0,transparent 34%),#f9f7fc}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.shell{max-width:1360px;min-height:100vh;padding:0 34px;margin:auto;display:flex;flex-direction:column}.top{height:78px;display:flex;align-items:center;gap:34px;border-bottom:1px solid #e6e0ef}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;letter-spacing:1.7px;color:#44215f;font-size:22px}.brand img{object-fit:contain}.brand small{display:block;font-size:10px;color:#8c829b;font-weight:500;letter-spacing:0}.nav{display:flex;align-items:center;gap:7px;margin:auto}.nav button,.back{padding:10px 15px;border:0;background:transparent;color:#756c82;border-radius:9px;font-size:13px;font-weight:650}.nav button:hover,.nav button.active{background:#eee7f6;color:#592475}.account{border:1px solid #ddd1ec;border-radius:11px;padding:10px 18px;background:white;color:#562a72;font-weight:750;font-size:13px;white-space:nowrap;box-shadow:0 3px 12px #4b2c6a0a}main{flex:1}.intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:28px 0 23px}.eyebrow{font-size:10px;color:#855da2;letter-spacing:2.2px;font-weight:800;margin:0 0 10px}.intro h1{font-size:clamp(22px,2.4vw,34px);letter-spacing:-1.1px;line-height:1.12;margin:0;font-weight:850}.intro h1 em{font-style:normal;color:#b46da0}.intro p:not(.eyebrow){font-size:13px;color:#86788e;margin:8px 0 0}.steps{display:flex;gap:9px;padding-bottom:5px}.steps span{font-size:11px;font-weight:750;color:#755d83;background:#eee7f3;border-radius:20px;padding:8px 14px}.steps span:first-child{background:#582971;color:white}.workspace{display:grid;grid-template-columns:minmax(360px,1fr) minmax(350px,.95fr);gap:20px}.panel{min-width:0;background:#fff;border:1px solid #e9e3ef;box-shadow:0 10px 40px #3f234611;border-radius:18px;padding:22px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px;color:#392544;font-weight:850;font-size:15px}.sectionhead span{font-size:11px;color:#ad96b7;font-weight:600}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.formgrid .span2{grid-column:span 2}label{font-size:11px;font-weight:760;color:#655470;display:flex;flex-direction:column;gap:7px}input,textarea,select{width:100%;background:#fbf9fd;border:1px solid #e4dced;border-radius:10px;color:#33263e;padding:11px 12px;outline:none;font-size:13px}textarea{resize:vertical;min-height:65px}input:focus,select:focus,textarea:focus{border-color:#9d68b6;box-shadow:0 0 0 3px #e9dcf2}.soft{color:#8b8192;line-height:1.55;font-size:12px}.formpanel .soft{margin:15px 0 13px}.primary{background:linear-gradient(110deg,#54216e,#813a94);color:white;border:0;border-radius:11px;min-height:44px;font-size:13px;font-weight:800;box-shadow:0 6px 14px #692c8030;padding:10px 20px}.primary:hover{background:linear-gradient(110deg,#45165e,#6e2684)}.primary span{margin-left:9px}.wide{width:100%}.secondary{border:1px solid #cdb8dc;background:white;border-radius:9px;color:#562e71;font-size:12px;padding:10px 16px;font-weight:700}.previewpanel{display:flex;flex-direction:column}.cardPreview{flex:1;min-height:366px;border-radius:15px;background:radial-gradient(circle at 20% 5%,#fff6e4 0,transparent 38%),radial-gradient(circle at 80% 87%,#e9ceeb 0,transparent 52%),linear-gradient(140deg,#fcf3ee,#ead6e5);border:1px solid #f5e6db;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 24px;position:relative;overflow:hidden}.cardPreview:before{content:"";position:absolute;inset:13px;border:1px solid #ffffffcc;border-radius:10px;pointer-events:none}.cardPreview.midnight{background:radial-gradient(circle at 30% 10%,#70518f,transparent 50%),#32234d;color:#fff}.cardPreview.lavender{background:linear-gradient(145deg,#e7dcff,#f8eafa)}.cardPreview.champagne{background:linear-gradient(145deg,#fff7e5,#f4e0cf)}.cardPreview .sparkle{font-size:21px;color:#ac799d;letter-spacing:5px;margin-bottom:15px}.cardPreview>p:first-of-type{font-family:Georgia,serif;font-style:italic;font-size:19px;margin:0;color:#8c597a}.cardPreview h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-1.7px;font-size:clamp(29px,4vw,50px);margin:14px 0;color:inherit}.cardPreview #previewMessage{font-family:Georgia,serif;font-size:16px;max-width:310px;line-height:1.5;color:inherit;white-space:pre-line}.cardPreview .heart{color:#b46d98;font-size:27px;margin-top:5px}.cardPreview .previewfoot{position:absolute;bottom:21px;font-size:10px!important;letter-spacing:1px;color:#997890}.previewActions{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:650;color:#9789a1;margin:15px 2px 0}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#81bb91}.message{border-radius:11px;padding:12px 16px;margin-bottom:15px;background:#eee6f6;color:#54356c;font-size:13px}.message.bad{background:#ffecef;color:#a32440}.view{display:none}.view.active{display:block}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.tile{padding:18px;border-radius:13px;border:1px solid #eae0ef;background:#fcf9fe}.tile h3{margin:8px 0;font-size:16px}.tile p{font-size:12px;color:#85748e;line-height:1.4}.tile .eyebrow{font-size:9px}.tile a{display:inline-block;text-decoration:none;color:#682c82;font-weight:750;font-size:12px;margin-top:8px}.partnerGrid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.partnerGrid form{display:grid;gap:10px}.partnerGrid h3{font-size:17px;margin:4px 0 15px}.back{margin:-8px 0 10px;padding-left:0}.detailbox{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.detailbox h2{font-family:Georgia,serif;font-size:32px;margin:7px 0}.detailbox p{line-height:1.6;color:#81738c;font-size:14px}.detailbox form{display:grid;gap:11px;padding:20px;background:#faf7fc;border:1px solid #eee4f2;border-radius:13px}.actionGroup{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.linkBox{background:#f7f1fb;border:1px solid #e4d5ef;padding:11px 13px;border-radius:9px;font-size:12px;overflow-wrap:anywhere;margin:8px 0}.wish{border-bottom:1px solid #eee5f2;padding:12px 0}.wish b{font-size:13px}.wish p{margin:5px 0;font-size:14px;color:#4c3b56}footer{display:flex;justify-content:space-between;color:#aaa0b4;font-size:10px;margin-top:22px;padding:15px 0 25px}footer a{text-decoration:none}dialog{border:1px solid #e1d3e9;border-radius:19px;padding:28px;width:min(400px,calc(100vw - 30px));box-shadow:0 25px 90px #230b4260}dialog::backdrop{background:#28173499}dialog form{display:flex;flex-direction:column;gap:15px}dialog h2{font-size:21px;margin:0}dialog .soft{margin:0}.close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#7d6988;font-size:28px}.segmented{background:#f5f0f7;padding:4px;display:flex;border-radius:10px;gap:4px}.segmented button{flex:1;border:0;border-radius:8px;padding:9px;background:transparent;font-size:12px;font-weight:800;color:#876f97}.segmented button.active{background:white;color:#562a72;box-shadow:0 2px 9px #2b16430f}.error{font-size:12px;color:#ad304f}.empty{color:#8b8192;font-size:13px;padding:20px}.view.panel{min-height:410px}@media(max-width:920px){.shell{padding:0 18px}.top{gap:14px;flex-wrap:wrap;height:auto;padding:12px 0}.nav{order:3;width:100%;overflow-x:auto;justify-content:flex-start}.nav button{padding:8px 11px;white-space:nowrap}.account{margin-left:auto}.workspace{grid-template-columns:1fr}.previewpanel{min-height:450px}.steps{display:none}.partnerGrid,.detailbox{grid-template-columns:1fr}}@media(max-width:520px){.shell{padding:0 12px}.intro{margin:18px 0}.panel{padding:16px}.formgrid{grid-template-columns:1fr}.formgrid .span2{grid-column:auto}.cardPreview{min-height:320px}.brand{font-size:18px}.cardPreview h2{font-size:32px}.intro h1{font-size:24px}footer{gap:8px}.previewActions{font-size:9px}}
/* Compact optional celebration tools: one modal, clearly separated roles. */
.pgExtras{margin-top:14px}
.pg-tools{border:1px solid #e8deee;background:#fff;border-radius:13px;padding:13px 15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pg-tools-label{font-size:10px;font-weight:850;letter-spacing:1.1px;color:#867292;margin:0 12px 0 0}
.experienceDialog{width:min(780px,calc(100vw - 24px));max-height:min(86vh,850px);overflow-y:auto;padding:26px 30px;box-shadow:0 30px 90px #210e3690}
.experienceDialog h2{font-size:21px;margin:0 0 20px;color:#3d2850}
.experienceBody{display:grid;gap:17px}
.pg-section-title{border-top:1px solid #eee5f3;padding-top:15px}
.pg-section-title:first-child{border-top:0;padding-top:0}
.pg-section-title h3{font-size:14px;color:#4e3067;margin:0 0 4px}
.pg-section-title p{font-size:11px;color:#918399;margin:0}
.pg-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pg-formgrid .pg-span{grid-column:span 2}
.pg-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.pg-info-grid>div{background:#faf6fc;border:1px solid #eee3f2;border-radius:10px;padding:11px}
.pg-info-grid strong,.pg-line strong{font-size:12px;color:#4b3760}
.pg-info-grid p{font-size:12px;color:#776781;margin:6px 0 0;overflow-wrap:anywhere}
.pg-mini-list{display:grid;gap:6px;max-height:240px;overflow:auto}
.pg-line{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:9px 11px;background:#fbf8fd;border:1px solid #f0eaf3;border-radius:9px;font-size:12px;color:#655073}
.pg-line small{font-size:10px;color:#94879d}
.pg-line span{overflow-wrap:anywhere}
.pg-inline{display:flex;align-items:center;gap:8px}
.pg-inline input{flex:1;min-width:0}
.pg-soft-note{font-size:12px;color:#655575;white-space:pre-line}
.pg-check{grid-column:span 2;display:flex;flex-direction:row;align-items:center;gap:10px;line-height:1.3}
.pg-check input{width:auto;flex:0 0 auto}
.pg-success,.pg-error{padding:12px 14px;margin:0;border-radius:9px;font-size:12px;background:#e8f4ec;color:#326045}
.pg-error{background:#fff1f1;color:#a32f43}
.pg-application{border:1px solid #ece1f3;background:#fdfafe;border-radius:11px;padding:14px;margin:10px 0}
.pg-application strong{font-size:13px;color:#40285a}
.pg-application p{font-size:12px;line-height:1.5;color:#80738d}
#adminBody{max-height:66vh;overflow-y:auto}
@media(max-width:620px){.experienceDialog{padding:20px 15px;max-height:90vh}.pg-formgrid,.pg-info-grid{grid-template-columns:1fr}.pg-formgrid .pg-span,.pg-check{grid-column:auto}.pg-tools{gap:7px}.pg-tools-label{width:100%}.pg-tools button{font-size:11px}.pg-inline{flex-direction:column;align-items:stretch}}

.pg-event-photo{display:block;width:min(100%,380px);max-height:245px;object-fit:cover;border-radius:13px;border:1px solid #e8dbea;box-shadow:0 5px 18px #2c103416;margin:0 0 16px}
.pg-ticket-qr{display:block;width:220px;height:220px;max-width:100%;object-fit:contain;margin:14px auto;border:1px solid #e9dfed;border-radius:12px;padding:8px;background:white}
.experienceDialog input[type=file]{min-height:48px;padding:11px;border:1px dashed #bd9acc;background:#fbf5ff}

/* Optional advanced input stays inside the creation board, not another page. */
[hidden]{display:none!important}
.reveal-timing{border:1px solid #eee3f2;border-radius:10px;background:#fcf9fe;padding:9px 12px;color:#655470;font-size:12px}
.reveal-timing summary{cursor:pointer;font-weight:750;list-style-position:inside}
.reveal-timing summary span{float:right;color:#9577a3;font-size:10px;font-weight:650}
.reveal-timing[open] summary{margin-bottom:10px}
.reveal-timing label{max-width:460px}
.reveal-timing p{margin:8px 0 0;color:#8b8192;font-size:11px;line-height:1.45}

/* New production journeys preserve the dense board-first layout. */
.supplier-search{display:flex;align-items:end;gap:8px;margin:12px 0 18px;flex-wrap:wrap}
.supplier-search label{flex:1;min-width:155px}
.supplier-search button{min-height:40px}
.reminder-list{display:grid;gap:8px;margin-bottom:12px}
.reminder{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fcf6e8;border:1px solid #efdbb5;border-radius:12px;padding:12px}
.reminder strong{font-size:12px;color:#54435c}.reminder p{font-size:11px;color:#746274;margin:5px 0 0}
.reminder .actionGroup{margin:0;align-items:center}
.reminder a{font-size:11px;font-weight:750;color:#562e71}
@media(max-width:600px){.reminder{align-items:stretch;flex-direction:column}.supplier-search{align-items:stretch;flex-direction:column}.supplier-search label,.supplier-search button{width:100%}}

.share-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 12px}.share-shortcuts a{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px}

/* Production journey boards: explicit review and role-aware publication. */
body:not([data-active-view="create"]) .intro{display:none}
body:not([data-active-view="create"]) main{padding-top:22px}
.explore-filters{display:grid;grid-template-columns:minmax(180px,1.8fr) minmax(145px,1fr) auto;gap:12px;align-items:end;margin:12px 0 7px}
.explore-filters button{min-height:40px}
.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}
.review-list>div{border:1px solid #efe5f2;border-radius:10px;background:#fcf9fe;padding:10px;min-width:0}
.review-list dt{font-size:10px;font-weight:800;color:#836b90}
.review-list dd{margin:4px 0 0;font-size:12px;font-weight:700;color:#3c284a;overflow-wrap:anywhere;white-space:pre-wrap;max-height:85px;overflow:auto}
#reviewDialog,#publicationDialog{width:min(560px,calc(100vw - 28px));max-height:90vh;overflow-y:auto}
.review-confirm{display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:12px;border:1px solid #eadcf0;border-radius:10px;background:#faf5fd;line-height:1.5;font-size:12px}
.review-confirm input{width:18px;flex:none;margin:2px 0}
.publish-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}
.publish-actions button{min-height:45px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b381cb;outline-offset:3px}
button:disabled{cursor:wait;opacity:.65}
@media(max-width:700px){.explore-filters{grid-template-columns:1fr}.publish-actions{grid-template-columns:1fr}.review-list{grid-template-columns:1fr}}
@media(min-width:921px) and (max-height:840px){.intro{margin:14px 0}.panel{padding:16px}.formgrid{gap:9px}.formpanel .soft{margin:9px 0}.cardPreview{min-height:300px}.previewpanel{max-height:calc(100vh - 225px)}.previewActions{margin-top:9px}}

/* Same card identity from live editor to guest invitation to private recipient. */
.event-card{min-height:228px;padding:18px 20px;margin:0 0 15px}
.event-card .sparkle{font-size:12px;letter-spacing:3px;margin:0 0 9px}
.event-card>p:first-of-type{font-size:15px}
.event-card h2{font-size:clamp(25px,3vw,36px);margin:10px 0}
.event-card .event-card-message{font-family:Georgia,serif;font-size:15px;line-height:1.5;white-space:pre-line;max-width:450px;overflow-wrap:anywhere;margin:0}
.event-card .heart{font-size:20px}
.recipient-card{min-height:340px;max-width:760px;margin:0 auto 20px}
.recipient-card .recipient-card-message{font-family:Georgia,serif;font-size:16px;line-height:1.5;max-width:480px;white-space:pre-line;overflow-wrap:anywhere}
.recipient-photo{width:min(100%,280px);height:auto;max-height:220px;object-fit:cover;border:4px solid #ffffffb5;border-radius:12px;margin:8px auto;box-shadow:0 6px 24px #29163322}
@media(max-width:640px){.event-card{min-height:205px}.recipient-card{min-height:280px}.recipient-photo{max-height:170px}}

/* Messages never scroll the canvas away from its compact workspace. */
#message:not([hidden]){position:fixed;top:82px;right:18px;z-index:1000;max-width:min(420px,calc(100vw - 36px));box-shadow:0 14px 32px #31174130}
@media(max-width:700px){#message:not([hidden]){top:120px;right:10px;max-width:calc(100vw - 20px)}}

.private-link-fallback:not(:empty){border:1px dashed #cdb7dc;background:#fbf7ff;border-radius:9px;padding:10px;overflow-wrap:anywhere;user-select:text}

/* All primary journeys remain visible at once on small phones: no clipped nav labels. */
@media(max-width:520px){
 .nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:4px;overflow:visible;align-items:stretch}
 .nav button{min-width:0;min-height:40px;padding:6px 2px;font-size:11px;line-height:1.2;white-space:normal;overflow-wrap:normal;text-align:center}
}


/* PAMIPO SIGNATURE — a calm, warm, premium system for every active live view.
 * Polished without extra image requests, heavy dependencies or paid services.
 */
:root{
 --pm-ink:#32243b;--pm-wine:#592c55;--pm-plum:#56325f;--pm-rose:#b97186;
 --pm-soft:#7d7082;--pm-line:#e9e0e9;--pm-paper:#fffdfb;
 --pm-cream:#fdf8f4;--pm-gold:#ba9569;--pm-night:#342640;
}
body{
 color:var(--pm-ink);
 background:radial-gradient(ellipse at 5% 12%,#f1e7f0 0,transparent 34%),
            radial-gradient(ellipse at 90% 82%,#fff0e5 0,transparent 31%),#faf8f8;
 letter-spacing:.005em;
}
.shell{max-width:1390px;padding-inline:clamp(13px,2.6vw,36px)}
.top{height:73px;gap:22px;border-bottom:1px solid #e9e0e6}
.brand{gap:10px;font-size:21px;letter-spacing:1.8px;color:#3e2946}
.brand img{width:37px;height:37px;filter:drop-shadow(0 3px 6px #70456020)}
.brand small{font-size:9.5px;font-weight:580;color:#937b8b;letter-spacing:.3px}
.nav{margin:auto;padding:4px;border:1px solid #eae0e8;background:#ffffff9c;border-radius:13px;gap:2px}
.nav button,.back{transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.nav button{border-radius:9px;padding:9px 13px;font-size:12px;color:#766a7a;font-weight:660}
.nav button:hover{background:#f7f0f5;color:#56325f}
.nav button.active{background:#5e365e;color:#fff;box-shadow:0 3px 10px #4c23532c}
.nav button.active:hover{color:#fff;background:#49264c}
.account{border:1px solid #e4d6e4;background:#fffdfd;padding:10px 15px;color:#623c61;font-size:12px;box-shadow:0 3px 12px #422b440c}
.account:hover{border-color:#c6a6bd;background:#fff8fc}
.intro{align-items:center;margin:19px 0 16px;gap:20px;min-height:98px}
.intro .eyebrow{font-size:9px;letter-spacing:2px;font-weight:820;color:#926a7f;margin:0 0 9px}
.intro .eyebrow span{color:#ba9067}
.intro h1{font-size:clamp(24px,2.5vw,33px);line-height:1.13;letter-spacing:-1.1px;font-weight:820;color:#3c2c45;margin:0}
.intro h1 em{color:#a75e81;font-weight:760}
.intro p:not(.eyebrow){font-size:12px;max-width:640px;line-height:1.55;color:#89798a;margin-top:7px}
.hero-guide{display:grid;justify-items:end;gap:9px;min-width:330px}
.steps{gap:6px}
.steps span{font-size:10px;display:inline-flex;align-items:center;gap:5px;padding:8px 10px;background:#f3eaf0;border:1px solid #eedfea;color:#896b80;letter-spacing:.1px}
.steps span b{font-weight:750}
.steps span:first-child{background:#f8eff3;border:1px solid #e7cfdd;color:#73425d}
.quiet-link,.inline-inspire{background:transparent;border:0;color:#92557b;font-weight:760;cursor:pointer;text-decoration:none}
.quiet-link{font-size:11px;padding:1px 4px}
.quiet-link:hover,.inline-inspire:hover{text-decoration:underline}
.workspace{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:16px}
.panel{background:var(--pm-paper);border:1px solid #eee4e9;border-radius:17px;padding:18px 19px;box-shadow:0 11px 36px #4930440c}
.sectionhead{font-size:14px;font-weight:820;letter-spacing:-.15px;color:#453049;gap:12px;margin-bottom:13px;flex-wrap:wrap}
.sectionhead .panel-title{font-size:14.5px;font-weight:820;color:#463249;letter-spacing:-.22px}
.sectionhead .panel-eyebrow{font-size:9px;color:#ae8b9f;font-weight:760;letter-spacing:1.05px;white-space:nowrap}
.formgrid{gap:9px 12px}
label{position:relative;font-size:10.6px;letter-spacing:.05px;color:#6c5c70;gap:5px;font-weight:750}
input,select,textarea{
 border-radius:9px;background:#fff;border:1px solid #e7dfe5;
 color:#38293e;font-size:12px;padding:9px 11px;min-height:40px;
 transition:box-shadow .15s ease,border-color .15s ease;
}
input::placeholder,textarea::placeholder{color:#a99bab;opacity:1}
input:focus,textarea:focus,select:focus{border-color:#ae83a4;box-shadow:0 0 0 3px #f2e5f0;outline:none}
textarea{min-height:62px;line-height:1.45}
.occasion-shortcuts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 13px}
.occasion-chip{padding:7px 10px;border:1px solid #e8dee6;background:#faf6f9;border-radius:30px;color:#6e596d;font-size:10.5px;font-weight:730;min-height:32px;transition:all .14s ease}
.occasion-chip:hover{border-color:#ba92b1;background:#f8eff6}
.occasion-chip.selected{background:#603b61;color:#fff;border-color:#603b61;box-shadow:0 4px 10px #5431581e}
.occasion-chip.selected:hover{background:#512c58}
.inline-inspire{font-size:10px;position:absolute;right:0;top:-2px}
.formpanel .soft{margin:9px 0 10px}
.creation-note{display:flex;align-items:flex-start;gap:7px;font-size:10.5px;color:#877987;line-height:1.48}
.creation-note span{color:#b57e93;font-size:15px;line-height:1}
.primary{
 background:linear-gradient(108deg,#613660 0%,#7f466f 56%,#8e5174 100%);
 border:1px solid #75446f;border-radius:10px;font-size:12px;
 min-height:44px;padding:9px 16px;font-weight:770;
 box-shadow:0 6px 16px #693c6420;
 transition:transform .14s ease,filter .14s ease,box-shadow .14s ease;
}
.primary:hover{background:linear-gradient(108deg,#552d57,#783b6d);box-shadow:0 8px 18px #693c642d;transform:translateY(-1px)}
.primary:active{transform:translateY(0)}
.secondary{border:1px solid #dccbd9;background:#fff;border-radius:9px;color:#664367;font-size:11.5px;font-weight:730;padding:9px 12px;min-height:38px}
.secondary:hover{background:#faf3f8;border-color:#ba99b7}
.previewpanel{background:linear-gradient(155deg,#fffdfa,#fffaf7);padding:18px;display:flex}
.cardPreview{
 border-radius:14px;min-height:333px;padding:30px 20px 34px;
 background:radial-gradient(ellipse at 18% 9%,#fff7e7 0,transparent 39%),
            radial-gradient(ellipse at 88% 82%,#e2b8d6 0,transparent 52%),
            linear-gradient(135deg,#fff6ef 0%,#f7e8eb 55%,#e9d4df 100%);
 border:1px solid #ead5d8;color:#583850;
 box-shadow:inset 0 0 38px #ffffff55,0 14px 25px #5b39511a;
 isolation:isolate;
}
.cardPreview:before{inset:11px;border:1px solid #ffffffb8;border-radius:8px}
.cardPreview:after{content:"";position:absolute;inset:18px;border-radius:6px;border:1px solid #bf9ca350;pointer-events:none;z-index:-1}
.card-foil{font-size:8px;letter-spacing:2.7px;color:#9e7382;font-weight:790;margin:0 0 23px}
.cardPreview .sparkle{font-size:18px;color:#a66d88;letter-spacing:8px;margin-bottom:12px}
.cardPreview>p:first-of-type{color:#96566f;font-size:16px;letter-spacing:.2px}
.cardPreview h2{font-size:clamp(29px,3vw,41px);line-height:1.15;letter-spacing:-1px;margin:10px 0 11px;font-weight:500;color:inherit}
.cardPreview #previewMessage{font-size:14.5px;line-height:1.55;max-width:390px;word-break:break-word;overflow-wrap:anywhere}
.cardPreview .heart{font-size:20px;color:#ab708b;margin-top:4px}
.cardPreview .previewfoot{letter-spacing:1.25px;color:#a47e8e;bottom:20px;font-size:9px!important}
.cardPreview.midnight{background:radial-gradient(ellipse at 14% 12%,#75556d 0,transparent 43%),radial-gradient(ellipse at 90% 88%,#54395e 0,transparent 47%),#34243c;color:#fffaf0;border-color:#614760}
.cardPreview.midnight .card-foil,.cardPreview.midnight .previewfoot{color:#edcfb6}
.cardPreview.midnight>p:first-of-type,.cardPreview.midnight .sparkle,.cardPreview.midnight .heart{color:#eac5da}
.cardPreview.lavender{background:radial-gradient(ellipse at 85% 5%,#fff6fb 0,transparent 40%),linear-gradient(145deg,#e6dbf3,#f7edf5 65%,#e5d5ef);color:#59446e}
.cardPreview.lavender>p:first-of-type{color:#9067a8}
.cardPreview.champagne{background:radial-gradient(ellipse at 17% 10%,#fffefa 0,transparent 36%),linear-gradient(145deg,#fff9ec,#f4e3d3 58%,#e9ccb6);color:#684b46}
.cardPreview.champagne>p:first-of-type,.cardPreview.champagne .heart{color:#ac8560}
.previewActions{font-size:10px;color:#947e8d;margin:13px 1px 0}
.dot{width:7px;height:7px;background:#94bca6}
.section-subcopy{font-size:12px;color:#8d7e8b;line-height:1.45;margin:-4px 0 18px}
.view.panel{min-height:410px}
.explore-filters{border:1px solid #f0e5ed;padding:12px;background:#fbf8fb;border-radius:12px;margin:12px 0 13px}
.explore-filters button{min-height:40px}
.cards{gap:12px}
.tile{position:relative;overflow:hidden;background:linear-gradient(155deg,#fffcfa,#faf4f8);border:1px solid #eee1e9;border-radius:14px;padding:19px;box-shadow:0 5px 16px #52334e09;min-height:160px}
.tile:after{content:"";position:absolute;right:-25px;bottom:-42px;width:100px;height:100px;border:1px solid #eddae4;border-radius:50%;pointer-events:none}
.tile-decoration{position:absolute;right:17px;top:13px;color:#bc8aab;font-family:Georgia,serif;font-size:25px}
.tile h3{font-family:Georgia,serif;color:#4d354f;font-size:19px;font-weight:550;line-height:1.27;margin:9px 20px 9px 0}
.tile p{color:#89768a;line-height:1.52;font-size:12px}
.tile p strong{color:#635063;font-weight:710}
.tile a{display:inline-flex;margin-top:9px;position:relative;font-size:11px;color:#78476e}
.tile .eyebrow{font-size:9px;color:#9e7295;letter-spacing:1.3px}
.supplier-tile button{position:relative}
.supplier-tile .supplier-place{color:#75536f;font-weight:750}
.lovely-empty{margin:12px auto;max-width:500px;text-align:center;background:radial-gradient(circle at 30% 8%,#f7edf5,transparent 55%),#fffcfa;border:1px dashed #e2cedc;border-radius:16px;padding:26px 24px;color:#745d71}
.lovely-empty>span{color:#ba8aa6;font-size:30px;display:block;line-height:1}
.lovely-empty h3{font-family:Georgia,serif;font-weight:530;font-size:21px;color:#56405c;margin:8px 0}
.lovely-empty p{font-size:12px;line-height:1.6;color:#8c7b8c;margin:6px 0 17px}
.partnerGrid{gap:19px}
.partnerGrid>div{background:#fbf8fb;border:1px solid #f1e7ef;padding:18px;border-radius:13px}
.partnerGrid>form{background:#fffcfa;border:1px solid #f0e5e9;border-radius:13px;padding:18px}
.partnerGrid h3{font-size:17px;font-family:Georgia,serif;color:#4b3650;font-weight:590;letter-spacing:-.1px;margin:0 0 9px}
.partnerGrid h3 span{color:#b6819d}
.partnerGrid .soft{margin:4px 0 10px}
.supplier-search{gap:8px;margin:14px 0 17px}
.detailbox{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:17px}
.detailbox .share-intro{font-size:12px;color:#8a7386;line-height:1.5}
.detailbox form{background:linear-gradient(160deg,#fffcfb,#fbf5f9);padding:18px;border-radius:13px;border:1px solid #eee3ea;gap:10px}
.detailbox form h3{font-family:Georgia,serif;color:#4b3151;font-weight:560;font-size:20px;margin:0}
.detailbox form p{margin:0}
.detailbox form .eyebrow{font-size:9px;color:#ae7896}
.detailbox .cardPreview.event-card{margin-bottom:13px;min-height:224px}
.event-card .sparkle{font-size:13px;letter-spacing:3px}
.detailbox .event-card p.event-card-message{font-size:14px;color:inherit;line-height:1.47}
.owner-tools{border-top:1px solid #eee3e9;margin-top:12px;padding-top:13px}
.owner-tools .eyebrow{font-size:9px;letter-spacing:1.5px;margin:0 0 8px}
.owner-tools .actionGroup{margin:8px 0 10px;gap:7px}
.owner-tools .secondary{font-size:10.5px;padding:8px 10px}
.linkBox{background:#fbf7fb;border:1px solid #e8dae5;color:#6b5569}
.share-shortcuts{gap:7px}
.share-shortcuts a{border-radius:18px;padding:7px 11px;font-size:10.5px}
.pg-tools{background:#fffafc;border-radius:12px;gap:7px;border:1px solid #efdfeb}
.pg-tools .secondary{padding:9px 12px}
.pg-tools-label{color:#9e708d}
.recipient-card{background-position:center}
.recipient-wishes-heading{font-family:Georgia,serif;font-size:22px;line-height:1.2;font-weight:550;color:#503951}
.wish{border-bottom:1px solid #f0e6ee}
.wish b{color:#513b56}
.wish p{color:#66516a}
.reminder{border-radius:11px;border:1px solid #e8d4bb;background:#fff9f1}
.reminder p{color:#786f79}
dialog{position:fixed;max-height:90vh;overflow-y:auto;background:#fffdfb;border:1px solid #e4d5e1;border-radius:18px;box-shadow:0 25px 88px #351c3c48}
dialog::backdrop{background:#211529ad;backdrop-filter:blur(4px)}
dialog h2{font-family:Georgia,serif;font-size:24px;line-height:1.24;font-weight:540;letter-spacing:-.3px;color:#4a3151}
dialog .soft{font-size:12px;line-height:1.55;color:#8c7c89}
.close{width:33px;height:33px;display:flex;align-items:center;justify-content:center;border-radius:50%;right:12px;top:11px;font-size:25px}
.close:hover{background:#f4eaf0;color:#664066}
.review-list{margin:16px 0}
.review-list>div{background:#fdf9fb;border-color:#eadde7}
.review-list dt{color:#947388}
.review-list dd{color:#4c3851;font-size:12px}
.review-confirm{background:#faf3f9}
.publish-actions{gap:9px}
.howDialog{width:min(680px,calc(100vw - 28px));padding:27px;max-height:88vh;overflow-y:auto}
.howDialog h2{font-size:25px;margin:4px 0 21px}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}
.how-grid>div{padding:16px;border-radius:13px;background:linear-gradient(150deg,#fcf4f8,#fffaf5);border:1px solid #f0e2ed;min-width:0}
.how-number{font-family:Georgia,serif;color:#b37b9a;font-size:23px}
.how-grid h3{font-size:14px;color:#4c3654;margin:9px 0 8px;font-weight:760}
.how-grid p{font-size:12px;line-height:1.55;color:#827482;margin:0}
.experienceDialog{width:min(790px,calc(100vw - 22px));padding:23px 25px}
.experienceDialog h2{font-size:23px;letter-spacing:-.1px}
.pg-section-title h3{color:#593c5c;font-size:13px}
.pg-section-title p{line-height:1.45}
.pg-info-grid>div{border-color:#efe3eb;background:#fefafd}
.pg-line{background:#fefafd;border-color:#eee1eb}
.pg-application{border-color:#eee2e9;background:#fffcfa}
footer{align-items:center;color:#a194a2;border-top:1px solid #eee7ec;padding:12px 0 15px;margin-top:16px}
footer>span:first-child span{color:#b88498}
footer a:hover{text-decoration:underline;color:#633d65}
#message:not([hidden]){border-radius:11px;background:#f7edf5;color:#654564;border:1px solid #e4c9da;z-index:1005;font-size:12px}
#message.bad:not([hidden]){background:#fff2f2;color:#a33b4b;border-color:#e8b0ba}
:focus-visible{outline:3px solid #b985b0!important;outline-offset:2px}
@media(min-width:921px) and (max-height:860px){
 .top{height:67px}
 .intro{min-height:83px;margin:13px 0 12px}
 .panel{padding:15px 17px}
 .formgrid{gap:7px 10px}
 .occasion-shortcuts{margin-bottom:8px}
 .cardPreview{min-height:300px;padding-top:22px}
 .card-foil{margin-bottom:13px}
 .previewActions{margin-top:10px}
 .formpanel .soft{margin:7px 0 8px}
 footer{margin-top:11px;padding:10px 0 12px}
}
@media(max-width:1100px){
 .hero-guide{min-width:0}
 .steps span{padding:7px 9px}
}
@media(max-width:920px){
 .top{height:auto;padding:12px 0}
 .nav{border-radius:11px}
 .intro{margin:16px 0;gap:12px}
 .workspace{grid-template-columns:1fr}
 .previewpanel{min-height:0}
 .previewpanel .cardPreview{min-height:325px}
 .detailbox{grid-template-columns:1fr}
 .partnerGrid{grid-template-columns:1fr}
 .hero-guide{display:none}
}
@media(max-width:600px){
 .shell{padding-inline:12px}
 .intro{margin:13px 0 14px;min-height:auto}
 .intro .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:8px}
 .intro h1{font-size:25px;letter-spacing:-.7px}
 .intro p:not(.eyebrow){font-size:11.5px}
 .panel{padding:14px}
 .sectionhead .panel-title{font-size:14px}
 .sectionhead .panel-eyebrow{font-size:8px}
 .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .formgrid .span2{grid-column:span 2}
 .occasion-shortcuts{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:0 0 3px}
 .occasion-shortcuts::-webkit-scrollbar{display:none}
 .occasion-chip{white-space:nowrap;flex:0 0 auto;font-size:10px}
 .formgrid label{min-width:0}
 .cardPreview{min-height:290px}
 .previewpanel{min-height:auto}
 .card-foil{margin-bottom:15px}
 .cardPreview h2{font-size:33px}
 .partnerGrid>div,.partnerGrid>form{padding:13px}
 .how-grid{grid-template-columns:1fr;gap:7px}
 .how-grid>div{padding:12px}
 .howDialog{padding:21px 16px}
 .howDialog h2{font-size:22px}
 .review-list{grid-template-columns:1fr}
 .publish-actions{grid-template-columns:1fr}
 footer{gap:11px;align-items:flex-start}
}
@media(max-width:390px){
 .sectionhead .panel-eyebrow{white-space:normal}
 .formgrid{grid-template-columns:1fr}
 .formgrid .span2{grid-column:auto}
 .intro h1{font-size:23px}
 .brand{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Uploaded imagery belongs within the designed invitation, not above it. */
.event-card .pg-event-photo{width:min(72%,240px);max-height:150px;object-fit:cover;margin:8px auto 5px;border:3px solid #fff8;border-radius:11px;box-shadow:0 6px 17px #5a34522e}
.cardPreview.event-card:has(.pg-event-photo){min-height:320px}
.cardPreview.event-card:has(.pg-event-photo) .event-card-message{font-size:13px}
@media(max-width:600px){.cardPreview.event-card:has(.pg-event-photo){min-height:290px}.event-card .pg-event-photo{max-height:130px}}

/* Reveal first: show the heartfelt wishes without an oversized decorative card. */
.recipient-card{min-height:320px;max-width:690px;padding:20px 22px 24px;margin:0 auto 12px}
.recipient-card .sparkle{font-size:12px;letter-spacing:5px;margin:0 0 7px}
.recipient-card>p:first-of-type{font-size:16px}
.recipient-card h2{font-size:clamp(27px,3vw,36px);margin:8px 0}
.recipient-card .recipient-card-message{font-size:14px;max-width:500px;margin:7px 0;line-height:1.45}
.recipient-card .heart{font-size:18px;margin-top:3px}
.recipient-photo{width:min(66%,220px);max-height:138px;object-fit:cover;margin:7px auto;border:3px solid #fff9}
.recipient-wishes-heading{font-size:19px;margin:12px 0 4px}
@media(max-width:600px){.recipient-card{min-height:275px;padding:18px 13px 24px}.recipient-photo{max-height:118px}.recipient-card h2{font-size:30px}}

/* Useful dashboard composition without decorative empty cards. */
#mine.view.panel{min-height:310px}
.mine-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(255px,.65fr);gap:25px;align-items:start}
.mine-guide{border-left:1px solid #eadfe8;padding:6px 0 6px 24px;align-self:stretch}
.mine-guide .eyebrow{font-size:9px;color:#b17d9b;letter-spacing:1.8px}
.mine-guide h3{font:500 20px/1.22 Georgia,serif;letter-spacing:-.2px;color:#503753;margin:9px 0 10px}
.mine-guide>p:not(.eyebrow){font-size:12px;color:#8b7787;line-height:1.6}
.mine-tips{display:grid;gap:5px;margin:18px 0 0}
.mine-tips p{display:flex;align-items:flex-start;gap:12px;color:#69566a;font-size:11px;line-height:1.45;margin:0;padding:9px 0;border-top:1px solid #f0e7ec}
.mine-tips span{font:600 13px Georgia,serif;color:#b4839b}
@media(max-width:920px){.mine-layout{grid-template-columns:1fr}.mine-guide{border-left:0;border-top:1px solid #eadfe8;padding:15px 0 0}}
@media(max-width:600px){
 .top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;padding:10px 0}
 .top .brand{font-size:17px;gap:7px;min-width:0}
 .top .brand img{width:32px;height:32px}
 .top .brand small{font-size:8px}
 .top .account{margin:0;max-width:166px;min-width:0;padding:8px 10px;font-size:10px;overflow:hidden;text-overflow:ellipsis}
 .top .nav{grid-column:1/-1;order:unset;width:100%;margin:0}
 .occasion-shortcuts{flex-wrap:wrap;overflow:visible;gap:5px;margin-bottom:10px}
 .occasion-chip{font-size:10px;min-height:30px;padding:6px 9px}
}

/* Source order remains semantic; explicit mobile grid positions the account with the logo. */
@media(max-width:600px){
 .top .brand{grid-column:1;grid-row:1}
 .top .account{grid-column:2;grid-row:1;justify-self:end}
 .top .nav{grid-column:1/-1;grid-row:2}
}


/* Immersive experiences: invitation motion, share-ready imagery, itineraries and supplier profiles. */
.journey-animated{animation:pamipo-unfold 1.25s cubic-bezier(.16,.65,.25,1) both;transform-origin:50% 10%;will-change:transform,opacity,filter}
@keyframes pamipo-unfold{0%{opacity:.3;transform:perspective(1000px) rotateX(12deg) translateY(22px) scale(.94);filter:blur(4px)}48%{opacity:1;transform:perspective(1000px) rotateX(-2deg) translateY(-5px) scale(1.016);filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
.event-card,.recipient-card{overflow:hidden;position:relative}
.event-card::after,.recipient-card::after{animation:pamipo-foil 9s linear infinite;pointer-events:none}
@keyframes pamipo-foil{0%{opacity:.45}50%{opacity:.9}100%{opacity:.45}}
.journey-replay{display:block;margin:7px auto 13px;background:transparent;border:0;padding:8px 14px;color:#855677;font-size:11px;font-weight:740;border-radius:22px;cursor:pointer}
.journey-replay:hover{background:#f7ebf2}
.journey-sharing-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(190px,.6fr);gap:12px;align-items:stretch;margin:13px 0}
.journey-sharing-card{position:relative;overflow:hidden;min-height:260px;border-radius:14px;border:1px solid #e5c8d7;box-shadow:0 8px 28px #72486c17;padding:26px 19px;text-align:center;background:radial-gradient(circle at 12% 5%,#fffef7,transparent 45%),radial-gradient(circle at 87% 97%,#d9aacf,transparent 55%),linear-gradient(130deg,#fff7ef,#f2e2ed);display:flex;flex-direction:column;justify-content:center;gap:9px}
.journey-sharing-card:before{content:"";position:absolute;inset:9px;border:1px solid #e2cad2;border-radius:9px;pointer-events:none}
.journey-sharing-card .eyebrow{font-size:9px;letter-spacing:2.5px;color:#ac8299}
.journey-sharing-card h3{font:500 clamp(26px,3.4vw,38px)/1.1 Georgia,serif;color:#694660;letter-spacing:-.6px;margin:8px 0;overflow-wrap:anywhere}
.journey-sharing-card p{font-size:12px;color:#806879;line-height:1.45;margin:4px}
.journey-sharing-card>span{font-size:19px;color:#b48196}
.journey-qr{border-radius:14px;border:1px solid #efdee8;background:#fffafc;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:13px}
.journey-qr img{width:min(100%,180px);height:auto;aspect-ratio:1;display:block}
.journey-qr p{font-size:11px;color:#927e8c;font-weight:700;line-height:1.4}
.journey-share-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.journey-share-buttons button{min-height:39px;white-space:normal}
.journey-timeline{position:relative;margin:16px 0 15px;padding-left:16px;display:grid;gap:9px;max-height:32vh;overflow-y:auto}
.journey-timeline:before{content:"";position:absolute;top:0;bottom:0;left:29px;width:1px;background:#e7cfdc}
.journey-stop{position:relative;display:grid;grid-template-columns:39px minmax(0,1fr);gap:11px;align-items:start;background:#fffafc;border:1px solid #efe2eb;padding:12px 11px;border-radius:13px}
.journey-stop-icon{z-index:1;background:#fff1f8;border:1px solid #e9d2df;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;font-size:17px}
.journey-stop-content h3{font:600 16px/1.25 Georgia,serif;color:#553954;margin:3px 0 6px}
.journey-stop-content p{font-size:11px;margin:5px 0;color:#887589;line-height:1.5}
.journey-stop-content .eyebrow{font-size:9px;color:#a77a94;letter-spacing:1.4px}
.journey-stop-content .journey-seats{font-weight:750;color:#66546d}
.journey-stop-content .secondary{margin:6px 0 0}
.journey-divider{border-top:1px solid #efe1e9;margin:20px 0 12px;padding-top:14px}
.journey-divider h3{font:560 18px/1.3 Georgia,serif;color:#59405d;margin:5px 0 6px}
.journey-divider h3 small{font:700 11px system-ui;color:#9f8396}
.journey-divider p{font-size:11px;line-height:1.5}
.journey-empty{padding:17px 14px;color:#8e7989;background:#fdf8fc;border:1px dashed #e1cbd9;border-radius:10px;text-align:center;font-size:12px}
.journey-request{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;background:#fefbfc;border:1px solid #f0e5ed;border-radius:10px;margin:6px 0}
.journey-request strong{font-size:12px;color:#5d425d}
.journey-request p{font-size:11px;color:#89758a;margin:3px 0;line-height:1.4}
.journey-request small{font-size:10px;color:#8a6887;font-weight:730}
.journey-request .actionGroup{margin:0;gap:5px}
.journey-private-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere;letter-spacing:.2px}
.journey-confirm-icon{font-size:38px;color:#b47a9c;line-height:1.3;text-align:center}
.journey-budget-total{padding:12px 14px;border:1px solid #ead7e3;background:#fcf5f9;border-radius:11px;display:flex;justify-content:space-between;gap:12px;margin:7px 0;color:#745470;font-size:12px}
.journey-afterwish{border:1px solid #e8ccdd;background:linear-gradient(135deg,#fcf0f6,#fffbf8);padding:13px;border-radius:11px;margin:12px 0}
.journey-afterwish p{font-size:12px;color:#765778}
.journey-afterwish .actionGroup{margin:9px 0 0}
.journey-afterwish a.secondary{display:inline-flex;align-items:center;text-decoration:none}
.supplier-tile .supplier-tagline{font:italic 15px/1.35 Georgia,serif;color:#774d72;margin:8px 0}
.supplier-tile .supplier-services{font-size:11px;background:#fcf1f8;padding:9px;border-radius:8px;color:#76546f}
.supplier-tile .actionGroup{margin-top:11px;gap:5px;flex-wrap:wrap}
.supplier-tile a.secondary{text-decoration:none;margin-top:0;font-size:10px}
.supplier-tile .secondary{white-space:normal}
#supplierForm{max-height:min(62vh,610px);overflow-y:auto}
#supplierForm label{margin-bottom:8px}
.pg-tools{gap:7px;flex-wrap:wrap}
.pg-tools .secondary{min-height:36px}
@media(max-width:650px){
 .journey-sharing-grid{grid-template-columns:1fr}
 .journey-sharing-card{min-height:210px}
 .journey-share-buttons{grid-template-columns:1fr 1fr}
 .journey-timeline{max-height:47vh;padding-left:4px}
 .journey-timeline:before{display:none}
 .journey-stop{grid-template-columns:37px minmax(0,1fr)}
 .journey-qr img{width:142px}
 .journey-budget-total{flex-direction:column;gap:3px}
 .journey-request .actionGroup{width:100%}
 #supplierForm{max-height:none}
}
@media(prefers-reduced-motion:reduce){
 .journey-animated,.event-card::after,.recipient-card::after{animation:none!important;transition:none!important}
}

/* Business showcases are approved imagery, not remote trackers. */
.supplier-showcase{display:block;width:100%;height:148px;object-fit:cover;border-radius:10px;border:1px solid #e9dae4;margin:10px 0 12px;box-shadow:0 3px 11px #62405713}
.supplier-admin-photo{float:right;width:96px;height:78px;object-fit:cover;margin:0 0 9px 13px;border:1px solid #e9dae4;border-radius:9px}
#supplierForm input[type=file]{padding:9px 10px;min-height:42px;font-size:11px;color:#745d75}
#supplierForm .soft{font-size:10px;line-height:1.4;display:block;margin:5px 0}
@media(max-width:600px){.supplier-showcase{height:128px}.supplier-admin-photo{width:76px;height:68px}}

/* Returning celebration circle: lightweight, consent-first and account private. */
.circle-panel{border-top:1px solid #e8dbe5;margin-top:22px;padding-top:17px}
.circle-panel .eyebrow{letter-spacing:1.3px;font-size:9px;color:#a77e98;margin:0 0 8px}
.circle-panel h4{font:560 17px/1.2 Georgia,serif;color:#563b56;margin:0 0 8px}
.circle-panel>p{font-size:11px;color:#8d7a89;line-height:1.55;margin:5px 0}
.circle-details{background:#fffbfe;border:1px solid #ead8e4;border-radius:10px;margin:12px 0 8px;overflow:hidden}
.circle-details summary{cursor:pointer;color:#674669;font-size:11px;font-weight:760;padding:12px 13px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.circle-details summary span{color:#ac7896;font-size:16px}
.circle-details[open] summary{border-bottom:1px solid #f0e5ec}
.circle-form{display:grid;grid-template-columns:1fr;gap:7px;padding:12px}
.circle-form label{font-size:10px;margin:0}
.circle-form input,.circle-form select{width:100%;min-width:0;min-height:36px;padding:7px 9px;font-size:11px}
.circle-form label.circle-check{display:flex;align-items:flex-start;gap:7px;line-height:1.45;font-weight:590}
.circle-form label.circle-check input{min-height:auto;height:14px;width:14px;flex:none;margin:0;accent-color:#784268}
.circle-form .primary{min-height:38px;font-size:11px}
.circle-form small{color:#958396;line-height:1.5;font-size:9px}
.circle-status{font-size:10px;line-height:1.5;color:#795576}
.circle-upcoming{background:#fff5fa;padding:11px;border:1px solid #f0dae8;border-radius:9px}
.circle-upcoming p{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:4px 0;font-size:11px;color:#71566d;line-height:1.4}
.circle-upcoming span{color:#b582a4}
.circle-upcoming em{font-size:10px;color:#9c6b90;font-style:normal}
.circle-items{padding:5px 10px}
.circle-item{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:9px 0;border-bottom:1px solid #f1e6ec;font-size:10px;color:#755b76}
.circle-item:last-child{border-bottom:0}
.circle-item strong{font-size:11px;color:#634465}
.circle-item small{display:block;font-size:9px;color:#9c899a;margin-top:3px}
.circle-actions{display:flex;align-items:center;gap:3px}
.circle-actions .secondary{font-size:10px;white-space:nowrap;min-height:31px;padding:5px 7px}
.circle-remove{width:27px;height:27px;border:0;border-radius:50%;font-size:18px;background:transparent;color:#b57c9e;cursor:pointer}
.circle-remove:hover{background:#f8e7f0}
@media(max-width:920px){.circle-panel{margin-top:14px}.circle-form{grid-template-columns:1fr 1fr}.circle-form label.circle-check,.circle-form .primary,.circle-form small{grid-column:1/-1}}
@media(max-width:430px){.circle-form{grid-template-columns:1fr}}


/* PAMIPO Design Atelier: expansive composition, restrained user interface. */
.design-launch{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0}
.design-field-title{font-size:11px;font-weight:760;color:#655470}
.design-open{border:1px solid #ddc3e8;color:#5a2b76;border-radius:10px;min-height:41px;background:linear-gradient(100deg,#fff,#faf2fe);font-weight:800;font-size:12px;padding:9px 12px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:5px;box-shadow:0 3px 10px #4d275b10}
.design-open:hover,.design-open:focus-visible{background:#f3e9fb;border-color:#9764b6}
.design-selected{display:block;max-width:100%;font-size:10px;color:#786589;font-weight:550;overflow-wrap:anywhere;line-height:1.4}
.design-dialog{width:min(920px,calc(100vw - 26px));max-height:min(90vh,720px);padding:20px 22px 18px;overflow-y:auto;background:#fdfbff;border-radius:19px}
.design-dialog-head{display:flex;justify-content:space-between;gap:14px;margin:0 0 12px}
.design-dialog-head h2{font-family:Georgia,serif;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.7px;color:#3b2547;line-height:1.1;margin:2px 0 7px}
.design-dialog-head .soft{max-width:650px;line-height:1.4}
.design-x{border:0;background:#f1e9f5;color:#60406d;border-radius:50%;width:33px;height:33px;font-size:22px;flex-shrink:0}
.design-dialog-body{display:grid;grid-template-columns:minmax(220px,.83fr) minmax(280px,1.17fr);gap:19px;align-items:stretch}
.design-controls{border:1px solid #ede2f1;border-radius:14px;background:white;padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:13px}
.design-controls label{min-width:0}
.design-controls select{min-height:43px;font-size:12px}
.design-inspiration{display:flex;align-items:center;flex-wrap:wrap;gap:12px;grid-column:1/-1}
.design-inspiration .quiet-link{border:0;background:transparent;color:#755587;text-decoration:underline;padding:6px}
#designCombination{grid-column:1/-1;min-height:24px;margin:0;font-size:11px}
.design-dialog-preview{min-width:0;border:1px solid #eee5f1;border-radius:14px;padding:10px 13px 13px;background:linear-gradient(120deg,#fff,#f7f0fb)}
.design-dialog-preview .eyebrow{font-size:9px;margin:0 0 7px;letter-spacing:1.2px}
.designMiniCard.cardPreview{min-height:295px;height:100%;max-height:355px;padding:22px 18px}
.designMiniCard h2{font-size:clamp(27px,3vw,39px);overflow-wrap:anywhere}
.designMiniCard #designMiniMessage{font-size:13px;line-height:1.45;max-width:295px;overflow-wrap:anywhere;white-space:pre-line}
.design-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin:14px 1px 0}
.design-dialog-actions .primary{min-width:230px}
.cardPreview.pamipo-designed{background:radial-gradient(circle at 19% 10%,var(--pm-halo) 0,transparent 49%),radial-gradient(circle at 88% 94%,var(--pm-halo) 0,transparent 36%),linear-gradient(135deg,var(--pm-start),var(--pm-end));border-color:var(--pm-accent);color:var(--pm-ink);isolation:isolate;box-shadow:inset 0 0 55px #ffffff08}
.cardPreview.pamipo-designed::before{border-color:var(--pm-accent);opacity:.5}
.cardPreview.pamipo-designed .sparkle,.cardPreview.pamipo-designed .heart,.cardPreview.pamipo-designed .card-foil,.cardPreview.pamipo-designed .previewfoot,.cardPreview.pamipo-designed>p:first-of-type{color:var(--pm-accent)}
.cardPreview.pamipo-designed #previewMessage,.cardPreview.pamipo-designed #designMiniMessage,.cardPreview.pamipo-designed .event-card-message,.cardPreview.pamipo-designed .recipient-card-message{color:var(--pm-ink);opacity:.94}
.cardPreview.pamipo-designed h2{color:var(--pm-ink);text-wrap:balance;overflow-wrap:anywhere}
.cardPreview.pamipo-designed[data-pm-font="poetic"] h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}
.cardPreview.pamipo-designed[data-pm-font="modern"] h2{font-family:Inter,system-ui,sans-serif;font-weight:700;letter-spacing:-1.4px}
.cardPreview.pamipo-designed[data-pm-font="editorial"] h2{font-family:"Baskerville","Palatino Linotype",Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-1.5px}
.cardPreview.pamipo-designed[data-pm-font="signature"] h2{font-family:"Palatino Linotype",Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-1.3px}
.cardPreview.pamipo-designed[data-pm-font="bold"] h2{font-family:Inter,system-ui,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(25px,2.7vw,39px);letter-spacing:-.7px}
.cardPreview.pamipo-designed[data-pm-font="heritage"] h2{font-family:"Times New Roman",Georgia,serif;font-weight:600;letter-spacing:.15px}
.cardPreview.pamipo-designed[data-pm-motif="quiet"] .sparkle{opacity:.5;letter-spacing:1px}
.cardPreview.pamipo-designed[data-pm-motif="diamonds"] .sparkle{letter-spacing:2px;font-size:13px}
.cardPreview.pamipo-designed[data-pm-motif="confetti"] .sparkle{transform:rotate(-3deg);letter-spacing:7px}
.cardPreview.pamipo-designed[data-pm-motif="petals"] .heart{font-size:32px}
.cardPreview.pamipo-designed[data-pm-frame="none"]::before{opacity:0}
.cardPreview.pamipo-designed[data-pm-frame="double"]::before{border:3px double var(--pm-accent);inset:15px}
.cardPreview.pamipo-designed[data-pm-frame="arch"]::before{border:2px solid var(--pm-accent);border-radius:50% 50% 10px 10px / 18% 18% 10px 10px;inset:12px}
.cardPreview.pamipo-designed[data-pm-frame="luxe"]::before{border:4px ridge var(--pm-accent);inset:13px;opacity:.64}
.cardPreview.pamipo-designed[data-pm-frame="fine"]::before{border:1px solid var(--pm-accent)}
@media(max-width:700px){.design-dialog{max-height:94dvh;padding:15px}.design-dialog-body{grid-template-columns:1fr}.design-controls{grid-template-columns:1fr 1fr;gap:8px;padding:11px}.design-dialog-preview .designMiniCard{min-height:235px;max-height:255px}.design-dialog-actions .primary{min-width:0;flex:1}.design-dialog-actions .secondary{flex:1}.design-dialog-actions{gap:7px}.design-dialog-actions button{font-size:11px;padding:9px}.designMiniCard h2{font-size:27px}}
@media(max-width:390px){.design-controls{grid-template-columns:1fr}.design-dialog-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.designMiniCard,.design-open{animation:none!important;transition:none!important}}


/* Search-aware occasion landing remains a compact board, not a blog page. */
.pg-seo-caption{font-size:10px;color:#85718f;margin:-12px 0 9px;line-height:1.35}
footer{flex-wrap:wrap;gap:8px 18px;line-height:1.5}
footer a{white-space:nowrap}
/* Memory Studio: optional, non-blocking offline/photo-video to keepsake flow. */
.pm-dialog{width:min(890px,calc(100vw - 24px));max-height:93dvh;overflow-y:auto;padding:20px 22px;border:1px solid #e5d5e9;border-radius:18px;background:#fffcff;color:#33233e}
.pm-dialog h2{font-family:Georgia,serif;font-size:clamp(21px,2.8vw,28px);line-height:1.18;font-weight:520;color:#492f56;margin:0 0 7px;letter-spacing:-.4px}
.pm-dialog .soft{font-size:11px;line-height:1.5;margin:4px 0}
.pm-header{display:flex;justify-content:space-between;align-items:start;gap:18px}
.pm-inputs{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:9px;align-items:end;margin:15px 0 10px}
.pm-inputs>label{font-size:10px;gap:6px;min-width:0}
.pm-inputs input:not([type=file]){min-height:39px;padding:9px 10px}
.pm-pick{position:relative;display:flex;justify-content:center;align-items:center;text-align:center;min-height:40px;padding:9px;background:linear-gradient(135deg,#f5eafb,#fff7f9);border:1px solid #d8c3e3;border-radius:9px;color:#633877;font-size:11px;font-weight:750;cursor:pointer}
.pm-pick:focus-within{outline:2px solid #74448e;outline-offset:2px}
.pm-pick input[type=file]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pm-privacy{margin:7px 0 10px;padding:8px 10px;border-radius:9px;background:#f4f9f7;color:#416257;font-size:10px;line-height:1.4}
.pm-selection-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #eadfed;padding:8px 1px}
.pm-selection-bar span{font-size:11px;color:#644e6e;font-weight:800}
.pm-selection-bar .secondary{font-size:10px;padding:7px 10px}
#pmStatus{margin:7px 0 10px;min-height:17px}
.pm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:36vh;overflow:auto;padding:5px 2px}
.pm-shot{position:relative;min-width:0;padding:5px;border:1px solid #e6dce9;border-radius:11px;background:#fff;display:flex;flex-direction:column;gap:4px;text-align:left;box-shadow:0 2px 10px #371c4910;transition:transform .15s,border-color .15s}
.pm-shot:hover{transform:translateY(-2px);border-color:#b68abf}
.pm-shot[aria-pressed=true]{border:2px solid #8754a2;background:#f8f0fb;padding:4px}
.pm-shot[data-recommended=true]::after{content:"✦";position:absolute;right:9px;top:9px;background:#fff9e7;border-radius:50%;color:#805881;box-shadow:0 1px 6px #0001;padding:3px 6px}
.pm-shot img{width:100%;height:105px;object-fit:contain;background:#faf4f0;border-radius:7px}
.pm-shot-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#665870;font-weight:600;font-size:10px}
.pm-choice{color:#76548d;font-size:10px;font-weight:800}
.pm-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;margin-top:9px;border-top:1px solid #eadfed}
.pm-foot .soft{max-width:250px}
.pm-foot .primary{padding:10px 13px;white-space:normal}
.pm-printpages{display:none}
@media(max-width:780px){.pm-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-inputs>label:first-child{grid-column:1/-1}.pm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-dialog{padding:15px}}
@media(max-width:460px){.pm-inputs{grid-template-columns:1fr 1fr}.pm-pick{min-height:46px;font-size:10px}.pm-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:34vh}.pm-foot{flex-direction:column;align-items:stretch}.pm-foot .primary{width:100%}.pm-shot img{height:88px}}
@media(prefers-reduced-motion:reduce){.pm-shot{transition:none!important}.pm-shot:hover{transform:none!important}}
/* Print-only actual multi-page keepsake; Save as PDF uses the browser's print destination. */
@media print{
 @page{size:A4 portrait;margin:0}
 html,body{margin:0!important;padding:0!important;background:white!important}
 .shell,dialog{display:none!important}
 .pm-printpages{display:block!important}
 .pm-book-page{box-sizing:border-box;width:210mm;height:297mm;page-break-after:always;break-after:page;display:flex;flex-direction:column;align-items:center;text-align:center;padding:19mm 16mm 15mm;background:#fffaf8;color:#513c52}
 .pm-book-brand{font:700 11pt/1.3 Georgia,serif;letter-spacing:1px;color:#946883;margin:3mm 0 7mm}
 .pm-book-page h2{font:normal 28pt/1.25 Georgia,serif;max-width:170mm;margin:3mm 0 12mm}
 .pm-book-page img{width:100%;max-height:95mm;object-fit:contain;border-radius:3mm}
 .pm-book-page.pm-cover{justify-content:center;background:#f5e7ef}
 .pm-cover img{max-height:165mm;margin-top:13mm}
 .pm-book-page.pm-spread figure{margin:0 0 8mm;width:100%;min-height:100mm;display:flex;flex-direction:column;align-items:center;justify-content:center}
 .pm-book-page figure img{max-height:96mm}
 .pm-book-page figcaption{font:11pt/1.4 Georgia,serif;color:#826c7d;margin-top:3mm}
 .pm-book-page small{margin-top:auto;color:#8e7e8b}
}


/* Owner desk: compact premium business workspace, no unused whitespace. */
#admin.view.panel{padding:clamp(14px,1.8vw,24px);min-height:calc(100dvh - 158px);background:linear-gradient(155deg,#fffcff,#fbf8fc 66%,#fcf6f3);overflow:hidden}
#admin .sectionhead{margin-bottom:3px}
#admin>.section-subcopy{display:none}
#adminBody{max-height:calc(100dvh - 232px);min-height:300px;overflow-y:auto;overflow-x:hidden;scrollbar-color:#dac9d8 transparent;scrollbar-width:thin}
#adminBody [hidden]{display:none!important}
.pg-admin-wait{padding:40px 16px;text-align:center;font-size:13px;color:#745878}
.pg-admin-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:4px 0 18px;flex-wrap:wrap}
.pg-admin-hero h2{font-weight:800;letter-spacing:-.03em;font-size:clamp(21px,2vw,27px);color:#34213f;margin:0}
.pg-admin-hero p:not(.eyebrow){font-size:12px;color:#7a6b80;margin:7px 0 0}
.pg-admin-hero .eyebrow{color:#8d668d;letter-spacing:1.8px;margin-bottom:7px}
.pg-admin-live{display:flex;align-items:center;gap:8px;border:1px solid #d9eadd;background:#eff9f2;border-radius:30px;padding:9px 13px;color:#326345;font-weight:750;font-size:11px;white-space:nowrap}
.pg-admin-live .dot{background:#39a663;box-shadow:0 0 0 4px #39a66318}
.pg-admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 17px}
.pg-admin-metric{position:relative;border:1px solid #ece4ed;background:#fff;border-radius:14px;min-height:113px;padding:15px 17px;display:flex;flex-direction:column;gap:3px;box-shadow:0 6px 20px #391d4210}
.pg-admin-metric:nth-child(2){background:#fffaf5;border-color:#efe5db}
.pg-admin-metric:nth-child(3){background:#fdf8fd}
.pg-admin-metric-icon{position:absolute;right:15px;top:11px;font-size:18px;color:#ac88ab;opacity:.75}
.pg-admin-metric-label{font-size:11px;font-weight:750;color:#786a7e}
.pg-admin-metric strong{font-variant-numeric:tabular-nums;font-size:26px;letter-spacing:-1.2px;color:#3f264c;margin-top:5px}
.pg-admin-metric small{color:#93849a;font-size:10px}
.pg-admin-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto;border-bottom:1px solid #eadde8;padding:0 0 10px;margin-bottom:15px;scrollbar-width:thin}
.pg-admin-tabs button{border:1px solid transparent;border-radius:9px;padding:9px 14px;white-space:nowrap;background:transparent;color:#756b7d;font-weight:700;font-size:12px}
.pg-admin-tabs button:hover{background:#f4ebf4;color:#4c315d}
.pg-admin-tabs button.is-active{background:#603864;color:#fff;box-shadow:0 3px 11px #502b5626}
.pg-admin-pane{display:grid;gap:13px;align-content:start;min-height:260px}
.pg-admin-overview{display:grid;grid-template-columns:1.4fr minmax(270px,.75fr);gap:17px;align-items:start}
.pg-admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:9px;border-bottom:1px solid #eee5ee;margin:0 0 4px}
.pg-admin-section-head h3{font-size:15px;color:#42274d;margin:0}
.pg-admin-section-head p{font-size:11px;color:#918496;margin:5px 0 0}
.pg-admin-section-head small{font-size:11px;color:#826d86;white-space:nowrap}
.pg-admin-next{width:100%;display:flex;align-items:center;text-align:left;gap:13px;border:1px solid #efe6ee;border-radius:12px;padding:13px 15px;background:#fff;margin:9px 0;color:#543963;transition:transform .13s,border-color .13s,box-shadow .13s}
.pg-admin-next:hover{transform:translateY(-1px);border-color:#cfb7cc;box-shadow:0 5px 17px #5d336216}
.pg-admin-next span:nth-child(2){flex:1;display:grid;gap:5px}
.pg-admin-next strong{font-size:13px}
.pg-admin-next small{font-size:11px;color:#8c7f8f}
.pg-admin-next-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#f6ecf4;font-size:20px;color:#67426b}
.pg-admin-feature{border-radius:15px;background:linear-gradient(145deg,#513454,#39243d);padding:22px;min-height:187px;color:#fff;box-shadow:0 10px 20px #321b3d20}
.pg-admin-feature .eyebrow{color:#dac2d9;font-size:10px}
.pg-admin-feature h3{font-size:17px;color:#fff;margin:5px 0 12px;letter-spacing:-.03em}
.pg-admin-feature p{font-size:12px;line-height:1.65;color:#e7dce5}
.pg-admin-feature .secondary{background:#ffffffed;border-color:transparent}
.pg-admin-overview-side{display:grid;gap:11px}
.pg-admin-feature-light{background:linear-gradient(135deg,#faf1e9,#f8ecf4);min-height:135px;box-shadow:none;border:1px solid #ecdfdf}
.pg-admin-feature-light h3{color:#573959}
.pg-admin-feature-light p{color:#7e6d7d}
.pg-admin-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.pg-admin-filter label:first-child{flex:2;min-width:220px}
.pg-admin-filter label{flex:1;min-width:140px}
.pg-admin-filter input,.pg-admin-filter select{min-height:40px}
.pg-admin-suppliers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pg-admin-supplier,.pg-admin-record{background:#fff;border:1px solid #eee5ee;border-radius:13px;padding:15px;box-shadow:0 4px 14px #3b23420b;min-width:0}
.pg-admin-supplier-top,.pg-admin-record-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pg-admin-supplier-top strong,.pg-admin-record-head strong{font-size:13px;color:#39263f}
.pg-admin-supplier p,.pg-admin-record p{font-size:11px;line-height:1.5;color:#716579;overflow-wrap:anywhere;margin:8px 0}
.pg-admin-supplier-top p{margin-top:5px}
.pg-admin-meta{color:#947d96!important;font-size:10px!important}
.pg-admin-status{display:inline-flex;border:1px solid #e7deec;border-radius:20px;background:#f5f0f6;padding:5px 9px;color:#746379;font-size:10px;font-weight:750;white-space:nowrap}
.pg-admin-status-approved{background:#edf8f0;color:#32694d;border-color:#d3ecda}
.pg-admin-status-pending{background:#fff7e5;color:#85602c;border-color:#f1dfb8}
.pg-admin-status-rejected{background:#fff0f0;color:#a34859;border-color:#f5d7db}
.pg-admin-supplier .supplier-admin-photo{width:100%;max-height:126px;object-fit:cover;border-radius:8px;margin:8px 0}
.pg-admin-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;border-top:1px solid #f2edf2;padding-top:11px}
.pg-admin-actions button{font-size:11px;padding:8px 10px}
.pg-admin-record{max-width:100%}
.pg-admin-booking-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-items:end;padding-top:11px;border-top:1px solid #eee5ee}
.pg-admin-booking-form input,.pg-admin-booking-form select{font-size:11px}
.pg-admin-booking-form .pg-admin-verify{display:flex;flex-direction:row;align-items:center;gap:7px}
.pg-admin-verify input{width:auto}
.pg-admin-booking-form button{grid-column:1/-1;justify-self:end}
.pg-admin-mini-stats{display:flex;gap:10px;flex-wrap:wrap}
.pg-admin-mini-stats span{font-size:11px;border:1px solid #ece1ed;padding:13px;background:#fff;border-radius:11px}
.pg-admin-mini-stats strong{font-size:18px;color:#53375a}
.pg-admin-finance-line{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;background:#fff;border:1px solid #eee4ee;border-radius:10px;padding:12px;font-size:12px;color:#756477}
.pg-admin-finance-line strong{color:#47264e}
.pg-admin-finance-line small{font-size:10px;color:#9a869f}
.pg-admin-security{display:grid;grid-template-columns:.8fr 1.2fr;gap:17px;align-items:start}
.pg-admin-security>div{background:linear-gradient(135deg,#faf0f7,#fff9ee);border:1px solid #f0e5e9;border-radius:12px;padding:20px}
.pg-admin-security strong{color:#472a52;font-size:13px}
.pg-admin-security p{font-size:12px;line-height:1.6;color:#806f83}
.pg-admin-password-form{display:grid;gap:12px;background:#fff;border:1px solid #ede2ee;border-radius:12px;padding:18px}
.pg-admin-password-form input{min-height:42px}
.pg-admin-password-form button{justify-self:start}
.pg-admin-empty{border:1px dashed #d6c3d6;background:#fcf9fc;border-radius:10px;padding:18px;color:#87798d;font-size:12px}
@media(max-width:950px){#adminBody{max-height:unset}.pg-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-admin-overview{grid-template-columns:1fr}.pg-admin-overview-side{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.pg-admin-hero{align-items:flex-start}.pg-admin-suppliers{grid-template-columns:1fr}.pg-admin-booking-form{grid-template-columns:1fr 1fr}.pg-admin-overview-side{grid-template-columns:1fr}.pg-admin-security{grid-template-columns:1fr}}
@media(max-width:470px){.pg-admin-metric{padding:11px;min-height:104px}.pg-admin-metric strong{font-size:22px}.pg-admin-booking-form{grid-template-columns:1fr}.pg-admin-hero h2{font-size:22px}.pg-admin-live{font-size:10px}.pg-admin-tabs button{font-size:11px;padding:9px}}

/* In-place owner authenticator enrolment */
.pg-admin-mfa-start{display:grid;gap:10px;margin:14px 0 0}
.pg-admin-mfa-start label,.pg-admin-mfa-start button{max-width:360px}
#pgOwnerMfaKey{background:#fff9fe;border:1px solid #e8daea;border-radius:10px;padding:14px;margin-top:10px;overflow-wrap:anywhere}
#pgOwnerMfaSecret{font-size:15px;letter-spacing:2px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#46224d;text-align:center;user-select:all}
#pgOwnerMfaConfirm{display:grid;gap:10px;margin-top:10px}
#pgOwnerMfaConfirm input{max-width:240px;letter-spacing:3px}
#pgOwnerMfaConfirm button{justify-self:start}

/* Two-account owner controls */
.pg-admin-account-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pg-admin-account{border:1px solid #e8dce8;border-radius:12px;background:#fff;padding:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pg-admin-account strong{color:#46284d;font-size:13px}
.pg-admin-account small{width:100%;font-size:11px;color:#827386}
.pg-admin-backup-form{display:grid;gap:10px;border:1px solid #eaddec;background:#fffafc;padding:16px;border-radius:13px}
.pg-admin-backup-form label{max-width:400px}
.pg-admin-backup-form button{justify-self:start}
.pg-admin-backup-form .linkBox{font-size:12px;overflow-wrap:anywhere;user-select:all}
.pg-admin-rule{width:100%;height:1px;background:#ebdfea;border:0;margin:3px 0 9px}
@media(max-width:580px){.pg-admin-account-list{grid-template-columns:1fr}}


/* Compact, accessible guest photo/video/voice wish composer. */
.wish-media-pickers{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 2px;align-items:stretch}
.wish-media-pickers .wish-media-pickers label{margin:0}
.wish-media-pickers label{position:relative;display:inline-flex!important;align-items:center;justify-content:center;min-width:110px;padding:9px 13px!important;min-height:38px;border:1px solid #e7cde1;border-radius:12px;background:#fff8fd;color:#693b65;font-size:.86rem;font-weight:650;cursor:pointer;line-height:1.2}
.wish-media-pickers label:hover,.wish-media-pickers label:focus-within{outline:2px solid #a66697;outline-offset:2px}
.wish-media-pickers input[type=file]{position:absolute!important;inset:auto auto 0 0;width:1px!important;height:1px!important;opacity:0;overflow:hidden}
.wish-media-pickers #wishRecord{min-height:38px;font-size:.86rem;padding:8px 14px}
.wish-file-status{font-size:.81rem;line-height:1.4;margin:5px 0 8px}
.wish-media-display{display:grid;gap:7px;max-width:390px;margin:10px 0 6px}
.wish-media-display img,.wish-media-display video{display:block;width:100%;max-height:290px;object-fit:contain;border-radius:12px;background:#f5eaf4}
.wish-media-display audio{width:100%;max-width:360px}
.wish-media-display a{font-size:.83rem;font-weight:650;color:#744268;text-decoration:underline}
@media(max-width:640px){.wish-media-pickers label,.wish-media-pickers #wishRecord{flex:1 1 calc(50% - 7px);min-width:0}}


/* Guest magical delivery: the card IS the interface. Details stay secondary. */
#celebration:has(.pg-guest-board){background:linear-gradient(160deg,#fffdfb,#fff8f4);border-color:#ead9df}
#celebration:has(.pg-guest-board)>.back{display:none}
.pg-guest-board{max-width:800px;margin:0 auto;text-align:center}
.pg-guest-board .detailbox{display:block;padding:0;background:transparent;border:none;box-shadow:none}
.pg-guest-board .detailbox>div:first-child{max-width:750px;margin:0 auto}
.pg-guest-board .detailbox>div:first-child>:not(.cardPreview):not(.pg-guest-actions){display:none!important}
.pg-guest-board .event-card{min-height:410px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;border:1px solid #d9bda3;border-radius:22px;box-shadow:0 22px 65px #4e31542a,0 0 0 7px #f5e7df40;transition:transform .22s ease,box-shadow .22s ease;outline-offset:5px;position:relative;overflow:hidden}
.pg-guest-board .event-card:hover,.pg-guest-board .event-card:focus-visible{transform:translateY(-3px);box-shadow:0 27px 75px #5a325f40,0 0 0 8px #f6e4d980}
.pg-guest-board .event-card h2{font-size:clamp(27px,4vw,49px);line-height:1.09;max-width:92%}
.pg-guest-board .event-card .event-card-message{font-size:clamp(13px,1.5vw,18px);max-width:520px}
.pg-guest-actions{display:grid;justify-items:center;gap:9px;padding:15px 0 5px}
.pg-guest-actions p{font-size:13px;color:#68496d;font-weight:680;margin:0}
.pg-guest-actions .primary{font-size:15px;min-width:235px;min-height:46px;border-radius:30px;box-shadow:0 7px 18px #6b457b28}
.pg-guest-actions span{font-size:11px;color:#897083}
.pg-guest-more{display:block;margin:13px auto 0;border:0;background:transparent;color:#896f91;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:11px}
.pg-guest-board .pgExtras[hidden]{display:none!important}
.pg-wish-studio{width:min(850px,calc(100vw - 22px));max-height:94dvh;padding:19px clamp(14px,2.3vw,27px);border:1px solid #e5cedf;border-radius:23px;background:linear-gradient(135deg,#fffefd,#fff7fa);color:#493354;box-shadow:0 30px 110px #21142aa0}
.pg-wish-studio::backdrop{background:#1d1023a6;backdrop-filter:blur(6px)}
.pg-wish-dialog-top{display:flex;justify-content:space-between;align-items:start;gap:12px;border-bottom:1px solid #f0e6ed;padding:0 0 8px}
.pg-wish-dialog-top span{font-size:10px;letter-spacing:1.7px;color:#936e87;font-weight:800}
.pg-wish-dialog-top h2{font-family:Georgia,serif;font-size:clamp(22px,2.8vw,29px);margin:3px 0 4px}
.pg-wish-close{background:#f4e6ee;border:0;border-radius:50%;font-size:23px;width:35px;height:35px;cursor:pointer;color:#5d3d65}
.pg-wish-studio #wishForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:15px;row-gap:9px;margin:7px 0 0;text-align:left}
.pg-wish-studio #wishForm>h3,.pg-wish-studio #wishForm>.eyebrow,.pg-wish-studio #wishForm>p.soft,.pg-wish-studio .pg-wish-design,.pg-wish-studio .pg-wish-preview,.pg-wish-studio .pg-wish-money,.pg-wish-studio .wish-media-pickers,.pg-wish-studio .wish-file-status,.pg-wish-studio .wish-media-consent,.pg-wish-studio #wishForm>.primary,.pg-wish-studio #wishForm>.grow-celebrations,.pg-wish-studio .pg-wish-success{grid-column:1/-1}
.pg-wish-studio #wishForm>h3{font-size:15px;margin:0}
.pg-wish-studio #wishForm>.eyebrow{margin:3px 0 0}
.pg-wish-studio #wishForm>p.soft{font-size:11px;margin:0}
.pg-wish-studio label{font-size:11px;display:grid;gap:4px;color:#684b68}
.pg-wish-studio textarea{min-height:72px;resize:vertical}
.pg-wish-studio input:not([type=checkbox]):not([type=file]),.pg-wish-studio textarea,.pg-wish-studio select{width:100%;border:1px solid #e1d0df;border-radius:9px;min-height:37px;padding:7px 9px;background:#fff;font-size:12px}
.pg-wish-design{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.pg-wish-preview,.pg-styled-wish{background:linear-gradient(130deg,#fff8ef,#fff6fa);border:1px solid #dfc2da;border-radius:15px;padding:12px 19px;text-align:center;overflow:hidden;box-shadow:0 4px 13px #8a5b8620;position:relative}
.pg-wish-preview span,.pg-wish-preview small{font-size:9px;letter-spacing:1px;color:#947793;display:block}
.pg-wish-preview h4{margin:6px 0 4px;font-size:16px}
.pg-wish-preview p,.pg-styled-wish p{margin:5px 0 9px;white-space:pre-wrap;overflow-wrap:anywhere}
.pg-wish-font-classic h4,.pg-wish-font-classic p,.pg-styled-wish.pg-wish-font-classic p{font-family:Georgia,serif}
.pg-wish-font-modern h4,.pg-wish-font-modern p,.pg-styled-wish.pg-wish-font-modern p{font-family:Inter,system-ui,sans-serif}
.pg-wish-font-handwritten h4,.pg-wish-font-handwritten p,.pg-styled-wish.pg-wish-font-handwritten p{font-family:"Segoe Print","Comic Sans MS",cursive;font-style:italic}
.pg-wish-ink-plum{color:#6e386e}.pg-wish-ink-gold{color:#86602b}.pg-wish-ink-ocean{color:#225b6a}.pg-wish-ink-coral{color:#a84962}
.pg-wish-frame-stars{border:2px dotted #d5b26c;background:radial-gradient(circle at 5% 7%,#e9d7a9 1px,transparent 2px),#fff9f1;background-size:23px 23px}
.pg-wish-frame-petals{border:2px solid #e6b1c5;border-radius:30px 9px 30px 9px}
.pg-wish-frame-ribbon{border:3px double #cfaa79;background:linear-gradient(110deg,#fffbf1,#fff1f6)}
.pg-wish-money{border:1px solid #e6d4d7;border-radius:11px;padding:8px 11px;background:#fff9f4;text-align:left}
.pg-wish-money summary{cursor:pointer;font-size:12px;font-weight:760;color:#73536b}
.pg-wish-money p{font-size:11px;line-height:1.4;color:#876c7e}
.pg-money-check{display:flex!important;gap:7px;align-items:center;font-size:11px!important;margin:6px 0}
.pg-money-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pg-money-fields label{min-width:0}
.pg-wish-studio .wish-media-pickers{margin:0}
.pg-wish-studio .wish-media-pickers label{min-height:35px;padding:7px!important}
.pg-wish-studio .wish-file-status{margin:0}
.pg-wish-studio .wish-media-consent{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.pg-wish-studio .wish-media-consent[hidden]{display:none}
.pg-wish-studio #wishForm>.primary{min-height:43px;font-size:13px;border-radius:20px}
.pg-wish-success{border-radius:11px;padding:10px 12px;background:#edf7ef;color:#275c43;font-weight:700;font-size:13px}
.pg-styled-wish{margin:10px 0;text-align:left;max-width:100%}
.pg-styled-wish b{display:block;margin-bottom:6px}
.pg-wish-pledge{font-size:11px;color:#6a5172;background:#f9f2f7;border-radius:9px;padding:7px 9px;margin:8px 0 0!important}
@keyframes pgWishFloat{50%{transform:translateY(-5px)}}
@keyframes pgWishSparkle{50%{box-shadow:0 4px 24px #ffc79c8f}}
@keyframes pgWishConfetti{50%{border-color:#f7c46c;filter:saturate(1.3)}}
.pg-wish-motion-float{animation:pgWishFloat 3s ease-in-out infinite}
.pg-wish-motion-sparkle{animation:pgWishSparkle 2.6s ease-in-out infinite}
.pg-wish-motion-confetti{animation:pgWishConfetti 2s ease-in-out infinite}
@media(max-width:620px){
 .pg-guest-board .event-card{min-height:350px}
 .pg-wish-studio{max-height:95dvh;padding:12px}
 .pg-wish-studio #wishForm{column-gap:8px;row-gap:7px}
 .pg-wish-design{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pg-wish-preview{padding:8px 12px}
 .pg-wish-studio #wishForm>p.soft{display:none}
}
@media(prefers-reduced-motion:reduce){.pg-wish-motion-float,.pg-wish-motion-sparkle,.pg-wish-motion-confetti{animation:none!important}.pg-guest-board .event-card{transition:none!important}}


.pg-wish-preview-media:empty{display:none}
.pg-wish-preview-media{margin:9px auto;display:grid;place-items:center;max-width:300px}
.pg-wish-preview-media img,.pg-wish-preview-media video{max-width:100%;max-height:165px;object-fit:contain;border-radius:9px;box-shadow:0 6px 16px #48274427}
.pg-wish-preview-media audio{max-width:100%;width:280px}

.pg-guest-share{background:transparent;border:0;color:#77557c;font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:5px 10px}.pg-guest-share:hover{color:#4c2e60}


/* Recipient Magical Delivery: visibly separate from guest invitations. */
.pg-delivery-dialog{width:min(930px,calc(100vw - 22px));max-height:94dvh;background:linear-gradient(145deg,#fffdfa,#f9f1f9);border:1px solid #ead4e2;border-radius:23px;padding:clamp(15px,2vw,25px);color:#4b3255;box-shadow:0 30px 90px #27152d80}
.pg-delivery-dialog::backdrop{background:#1b1024a8;backdrop-filter:blur(5px)}
.pg-delivery-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin:0 0 13px;padding-bottom:10px;border-bottom:1px solid #ecdce7}
.pg-delivery-header .eyebrow{letter-spacing:1.4px;font-size:10px;margin:0 0 4px;color:#a1768a}
.pg-delivery-header h2{font-size:clamp(22px,2.5vw,28px);margin:0 0 4px;font-family:Georgia,serif;font-weight:540}
.pg-delivery-header p:not(.eyebrow){color:#8d768b;font-size:11px;line-height:1.45;margin:0}
.pg-delivery-close{width:35px;height:35px;border:0;border-radius:50%;background:#f1e3f0;color:#6a4768;font-size:24px;cursor:pointer}
.pg-delivery-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(245px,.85fr);gap:18px;align-items:start}
#pgDeliveryForm{display:grid;gap:11px;min-width:0}
.pg-delivery-step{padding:12px 14px;border:1px solid #e7d9e4;border-radius:13px;background:#fffdfd}
.pg-delivery-step h3{font-size:13px;font-weight:790;margin:0 0 8px;color:#5a3a62;display:flex;gap:9px;align-items:center}
.pg-delivery-step h3 span{display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;background:#ecd5e4;color:#674263;font-size:12px}
.pg-delivery-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pg-delivery-choices label{position:relative;cursor:pointer;border:1px solid #e3d4de;border-radius:11px;padding:10px;background:#fff9fc;font-size:12px;color:#543a5d;line-height:1.3}
.pg-delivery-choices label:has(input:checked){background:#fbebf5;border-color:#8e628a;box-shadow:inset 0 0 0 1px #b48eab}
.pg-delivery-choices label:has(input:disabled){opacity:.66}
.pg-delivery-choices label strong{font-size:11px}
.pg-delivery-choices label small{display:block;color:#907b8e;font-size:10px;margin:4px 0 0 19px;line-height:1.5}
.pg-delivery-choices label input[type=radio]{accent-color:#80557d;margin-right:3px}
.pg-delivery-choices.compact label{display:flex;gap:5px;align-items:center;min-height:38px;padding:8px 9px}
#pgDeliveryEmailField,#pgDeliverySendField,#pgDeliveryOpenField{font-size:11px;color:#5c4761;display:grid;gap:4px;margin-top:8px}
#pgDeliveryEmailField[hidden],#pgDeliverySendField[hidden],#pgDeliveryOpenField[hidden]{display:none}
#pgDeliveryForm input[type=email],#pgDeliveryForm input[type=datetime-local]{width:100%;min-height:38px;padding:7px 9px;border:1px solid #decddd;border-radius:8px;background:#fff;font-size:12px;color:#4b3755}
.pg-delivery-note{font-size:10px;line-height:1.55;color:#856f80;margin:7px 0 0}
.pg-delivery-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.5;color:#654c63}
.pg-delivery-consent input{accent-color:#865587;margin-top:2px}
.pg-delivery-consent[hidden]{display:none}
.pg-delivery-feedback{font-size:11px;line-height:1.5;margin:2px 0;min-height:15px;color:#69446b}
.pg-delivery-actions{display:flex;gap:8px;flex-wrap:wrap}
.pg-delivery-actions button{min-height:39px;font-size:11px;border-radius:12px;padding:8px 12px}
.pg-delivery-actions button:disabled{opacity:.42;cursor:not-allowed}
.pg-delivery-actions button[hidden]{display:none}
.pg-delivery-side{position:sticky;top:0;display:grid;gap:12px}
.pg-delivery-gift{padding:27px 16px;border-radius:20px;min-height:290px;display:grid;place-items:center;text-align:center;gap:7px;background:radial-gradient(circle at 55% 23%,#a777a3 0%,#503456 75%);color:#fff7eb;border:2px solid #e5c392;box-shadow:0 11px 28px #5d34602d}
.pg-delivery-gift>span{font-size:11px;letter-spacing:3px;color:#f4d8a0}
.pg-delivery-gift>div{font-size:67px;filter:drop-shadow(0 8px 8px #29192950);animation:pgGentlyFloat 3s ease-in-out infinite}
.pg-delivery-gift h3{font-family:Georgia,serif;font-size:20px;font-weight:520;line-height:1.22;margin:0;color:#fff7eb}
.pg-delivery-gift p{font-size:12px;color:#f8e8f7;line-height:1.5;margin:0}
.pg-delivery-gift .pg-delivery-preview-note{font-size:10px;letter-spacing:0;color:#eacba2}
.pg-delivery-status{background:#fffdfb;border:1px solid #ead7e7;border-radius:14px;padding:12px;font-size:11px;line-height:1.5;color:#604963;overflow-wrap:anywhere}
.pg-delivery-status strong{font-size:12px;color:#68406e}
.pg-delivery-status p{margin:5px 0}
@media(max-width:720px){.pg-delivery-layout{grid-template-columns:1fr}.pg-delivery-side{position:static;grid-template-columns:1fr}.pg-delivery-gift{min-height:155px;padding:14px}.pg-delivery-gift>div{font-size:38px}.pg-delivery-gift h3{font-size:16px}.pg-delivery-dialog{padding:14px}.pg-delivery-choices{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.pg-delivery-choices{grid-template-columns:1fr}.pg-delivery-step{padding:11px}.pg-delivery-header p{max-width:300px}}
@media(prefers-reduced-motion:reduce){.pg-delivery-gift>div{animation:none!important}}
