/* Shared workspace and invitation visual system. */
.workspace-v2{background:#f3f5f1;color:#29483c}
#workspace-sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#203f34;color:#fff;z-index:20;padding:38px 24px;display:flex;flex-direction:column;border-right:1px solid #ffffff14}
#workspace-sidebar>.brand{color:#fff;font-size:34px;margin-bottom:34px}.workspace-role{font-size:9px;letter-spacing:2px;color:#afc3b5;margin-bottom:20px}
#workspace-sidebar .workspace-menu{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:0;margin:0;background:none;border:0;width:auto}
#workspace-sidebar .workspace-menu a{border:0;border-radius:12px;padding:14px 16px;color:#d5e2d8;background:transparent;font-size:13px;display:flex;align-items:center;min-height:48px}
#workspace-sidebar .workspace-menu a:before{content:'◇';margin-right:13px;font-size:17px;color:#b9c7a2}
#workspace-sidebar .workspace-menu a[aria-current=page]{background:#f3f1e7;color:#203f34;box-shadow:0 5px 20px #0001}
#workspace-sidebar .workspace-menu a.step-locked{background:#ffffff07;color:#83998e;opacity:1}
.workspace-sidebar-note{margin-top:auto;padding-top:28px;border-top:1px solid #ffffff20}.workspace-sidebar-note>span{font-size:8px;letter-spacing:1.7px;color:#c6bd98}.workspace-sidebar-note p{font:italic 22px/1.5 Georgia,serif;color:#e7eddf;margin:16px 0}.workspace-sidebar-note small{font-size:10px;color:#91aa9d}
.workspace-v2 .portal-nav{margin-left:236px;padding:18px 40px;background:#ffffffc9;border-bottom:1px solid #dfe5dd;min-height:74px}.workspace-v2 .portal-nav>.brand{font-size:22px}.workspace-v2 .portal-wrap{max-width:1190px;margin:0 auto 0 236px;padding:42px 44px 70px;width:calc(100% - 236px)}
.workspace-v2 .portal-wrap h1{font-size:clamp(32px,3.6vw,48px);line-height:1.15;margin:10px 0 14px;letter-spacing:-1.7px}.workspace-v2 .portal-wrap h2{font-size:30px;letter-spacing:-.6px}.workspace-v2 .portal-heading>p,.workspace-v2 .portal-wrap>p{font-size:13px;line-height:1.8}
.workspace-v2 .portal-notice{padding:13px 18px;background:#e8eee7;border:0;border-left:3px solid #8da581;border-radius:8px;font-size:11px;margin-bottom:26px}.workspace-v2 .draft-summary{border:0;background:none;border-bottom:1px solid #dce3d8;padding:15px 0;gap:18px;font-size:12px}
.workspace-v2 .customer-steps{padding:20px;background:#fff;border:1px solid #e3e8de;box-shadow:0 5px 24px #203f3404}.workspace-v2 .customer-steps .step-copy small{display:none}.workspace-v2 .customer-steps ol{gap:8px}.workspace-v2 .customer-steps .step-circle{width:32px;flex-basis:32px;height:32px}.workspace-v2 .step-chevron{font-size:16px}
.workspace-v2 .data-step{background:transparent}.workspace-v2 .data-fields{gap:22px}.workspace-v2 .person-card,.workspace-v2 .event-card{background:#fff;border:1px solid #dde5d8;border-radius:20px;padding:26px;box-shadow:0 7px 24px #233f3404}.workspace-v2 .couple-guide{background:#e9eee3;border:0}.workspace-v2 .person-card header{border-bottom:1px solid #edf0e8;padding-bottom:20px}.workspace-v2 .person-number{background:#ebefdF;color:#68794e}.workspace-v2 .person-preview{background:#f7f8f2;border:0;border-radius:12px;padding:18px}.workspace-v2 input:not([type=checkbox]):not([type=range]),.workspace-v2 textarea,.workspace-v2 select{border:1px solid #dce3d7;background:#fcfdfb;border-radius:10px;padding:12px 14px;min-height:46px;font-size:13px;transition:border-color .2s,box-shadow .2s}.workspace-v2 input:focus,.workspace-v2 textarea:focus,.workspace-v2 select:focus{outline:none;border-color:#738f64;box-shadow:0 0 0 3px #8fa47d22}.workspace-v2 label{font-size:12px;color:#41594a}.workspace-v2 .portal-actions{position:sticky;bottom:12px;z-index:5;border:1px solid #e0e6d9;padding:15px 18px;border-radius:16px;background:#ffffffed;box-shadow:0 8px 35px #233f3412;backdrop-filter:blur(10px);gap:12px}.workspace-v2 .button{border-radius:10px;min-height:45px;padding:12px 20px;font-size:12px}.workspace-v2 .button.outline{background:#fff;border-color:#cfdaca}.workspace-v2 .portal-actions .button:last-child{margin-left:auto}
.workspace-v2 .upload-section{background:#fff;border:1px solid #dfe6d9;border-radius:20px;padding:28px!important}.workspace-v2 .upload-box{background:#f5f7f0;border:1px dashed #9dab8d;border-radius:16px;padding:26px}.workspace-v2 .uploaded-photo{border-radius:16px;overflow:hidden;background:#fff}.workspace-v2 .empty-media{border-radius:12px;background:#f4f6ef;padding:28px;text-align:center}
.workspace-v2 #new-order{padding:26px;background:white;border:1px solid #dde5d8;border-radius:18px;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:36px}.workspace-v2 #new-order .confirm-payment{align-self:center}.workspace-v2 #new-order>.button{width:100%}.workspace-v2 .order-row{background:#fff;border:1px solid #e0e6da;border-radius:16px;padding:24px;grid-template-columns:minmax(0,1fr) 290px;margin-bottom:14px;gap:24px}.workspace-v2 .order-row[hidden]{display:none}.workspace-v2 .order-row strong{font-size:16px}.workspace-v2 .order-row small{line-height:1.8;font-size:11px}.workspace-v2 .order-row .order-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.workspace-v2 .order-actions>.text-link,.workspace-v2 .order-actions>.button{font-size:11px;padding:10px;min-height:40px}.workspace-v2 .order-design{max-width:320px;margin:14px 0}.order-toolbar{display:grid;grid-template-columns:1fr 200px;gap:14px;align-items:end;margin:24px 0 18px}.order-toolbar label{display:grid;gap:8px}.order-toolbar p{grid-column:1/-1;margin:0;font-size:11px;color:#7b8977}.workspace-v2 .workspace-cards{gap:20px;margin:28px 0}.workspace-v2 .workspace-cards article{border-radius:18px;border:1px solid #dde5d8;padding:28px;background:#fff}.workspace-v2 .workspace-cards article strong{font:48px Georgia,serif}.workspace-v2 .workspace-cards article:nth-child(2){background:#e9eedf}.workspace-v2 #responses-list{background:#fff;border:1px solid #e0e6da;border-radius:16px;padding:22px;margin-top:18px}
.invitation:not(.atlas){--invite-radius:24px}.invitation:not(.atlas) .invite-section{padding-top:82px;padding-bottom:82px}.invitation:not(.atlas) .invite-section>.eyebrow{font-size:9px;letter-spacing:2.7px}.invitation:not(.atlas) .invite-section>h2{font-size:clamp(32px,4vw,44px);line-height:1.25;margin:18px 0 28px}.invitation:not(.atlas) .couple{gap:20px}.invitation:not(.atlas) .couple>div{padding:30px 22px;border:1px solid #bba78445;border-radius:100px 100px 20px 20px;background:#ffffff85}.invitation:not(.atlas) .couple h3{font-size:32px}.invitation:not(.atlas) blockquote{border:0;border-radius:20px;background:#ffffff77;padding:28px;font-size:16px;line-height:1.9}.invitation:not(.atlas) .events{gap:18px}.invitation:not(.atlas) .events>article{border:1px solid #a7ab9d55;border-radius:24px;padding:28px 24px;background:#ffffff9c;box-shadow:0 8px 25px #203f3405}.invitation:not(.atlas) .events h3{font-size:30px}.invitation:not(.atlas) .countdown{gap:12px;margin:34px auto}.invitation:not(.atlas) .countdown>div{background:#ffffffa1;border:1px solid #acae9d40;border-radius:16px;padding:15px 10px;min-width:64px}.invitation:not(.atlas) .story>article{position:relative;margin-left:10px;padding:0 0 34px 28px;border-left:1px solid #a8aa9555}.invitation:not(.atlas) .story>article:before{content:'';position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:#b59662}.invitation:not(.atlas) .gallery-grid{gap:12px}.invitation:not(.atlas) .gallery-button{border-radius:18px;overflow:hidden}.invitation:not(.atlas) .gallery-button:nth-child(3n+1){border-radius:90px 90px 18px 18px}.invitation:not(.atlas) .rsvp-form{border:1px solid #a8ad9a44;border-radius:24px;background:#ffffffb3;padding:26px;text-align:left}.invitation:not(.atlas) .rsvp-form input,.invitation:not(.atlas) .rsvp-form select,.invitation:not(.atlas) .rsvp-form textarea{border-radius:10px;background:#ffffffe6}.invitation:not(.atlas) .bank-card{border-radius:20px;background:linear-gradient(135deg,#fffef7,#eeeada);border:1px solid #c9be9c70;text-align:left;padding:26px;box-shadow:0 10px 30px #203f3406}.invitation:not(.atlas) .bank-card>span{letter-spacing:2px;font-size:10px}.invitation:not(.atlas) .bank-card>strong{font-size:25px;letter-spacing:2px}.invitation:not(.atlas).floral .events>article,.invitation:not(.atlas).floral .rsvp-form{background:#f8fcffe0;border-color:#a9c5d166}.invitation:not(.atlas).floral .bank-card{background:linear-gradient(135deg,#fdfefe,#dfeaf0)}.invitation:not(.atlas).minimalist .couple>div{border-radius:6px;background:none}.invitation:not(.atlas).minimalist .events>article,.invitation:not(.atlas).minimalist .rsvp-form,.invitation:not(.atlas).minimalist .bank-card{border-radius:4px;box-shadow:none;background:#fff}.invitation:not(.atlas).minimalist .gallery-button{border-radius:2px}.invitation:not(.atlas).elegant .invite-section{background-image:radial-gradient(ellipse at top,#d4b9830c,transparent 65%)}
@media(min-width:1450px){.workspace-v2 .portal-wrap{margin-left:auto;margin-right:auto;transform:translateX(118px);width:calc(100% - 320px)}}
@media(max-width:1100px){#workspace-sidebar{width:200px;padding:28px 18px}.workspace-v2 .portal-nav{margin-left:200px;padding:18px 26px}.workspace-v2 .portal-wrap{margin-left:200px;width:calc(100% - 200px);padding:30px 26px 60px}.workspace-v2 .order-row{grid-template-columns:1fr}.workspace-v2 .customer-steps ol{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){#workspace-sidebar{position:static;width:100%;padding:18px 20px 0;background:#203f34;border:0;display:block}#workspace-sidebar>.brand{font-size:27px;margin:0;display:inline-block}.workspace-role{float:right;margin:10px 0;font-size:8px}.workspace-sidebar-note{display:none}#workspace-sidebar .workspace-menu{flex-direction:row;overflow:auto;gap:7px;padding:18px 0 14px;clear:both}#workspace-sidebar .workspace-menu a{flex:0 0 auto;padding:10px 14px;min-height:39px;font-size:11px;border-radius:9px}#workspace-sidebar .workspace-menu a:before{display:none}.workspace-v2 .portal-nav{margin-left:0;min-height:48px;padding:10px 20px}.workspace-v2 .portal-nav>.brand{font-size:17px}.workspace-v2 .portal-wrap{width:100%;margin:0;padding:28px 18px 45px}.workspace-v2 .portal-wrap h1{font-size:34px}.workspace-v2 #new-order{grid-template-columns:1fr;padding:20px}.workspace-v2 .portal-actions{bottom:6px;padding:12px;flex-wrap:wrap}.workspace-v2 .portal-actions .button{flex:1 1 140px;margin:0!important}.workspace-v2 .person-card,.workspace-v2 .event-card{padding:21px}.workspace-v2 .upload-section{padding:22px!important}.order-toolbar{grid-template-columns:1fr 130px}.workspace-v2 .order-row{padding:20px}.workspace-v2 .customer-steps{padding:16px 10px}.invitation:not(.atlas) .invite-section{padding-top:64px;padding-bottom:64px}.invitation:not(.atlas) .rsvp-form{padding:22px}}

.preview-review{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);width:min(1060px,calc(100% - 28px));padding:16px 20px;display:flex;align-items:center;gap:24px;background:#fffdf6f5;border:1px solid #dbe2d1;border-radius:16px;box-shadow:0 12px 40px #153d3220;z-index:100;backdrop-filter:blur(12px)}.preview-review>a{font-size:11px;white-space:nowrap}.preview-review>div{flex:1}.preview-review strong{display:block;font-size:13px}.preview-review small{display:block;font-size:11px;line-height:1.6;margin-top:4px}.preview-review .button{font-size:12px;border-radius:10px;white-space:nowrap}.preview-review .button:disabled{opacity:.5;cursor:default}@media(max-width:700px){.preview-review{gap:12px;padding:14px;flex-wrap:wrap}.preview-review>div{flex-basis:60%}.preview-review>a{order:2}.preview-review .button{order:3;margin-left:auto}.preview-review strong{font-size:12px}}

body:has(#customer-login),body:has(#owner-login:not([hidden])){background:radial-gradient(ellipse at 20% 30%,#dfe7d4,transparent 55%),#f6f5ee;min-height:100svh}body:has(#customer-login) .portal-nav,body:has(#owner-login:not([hidden])) .portal-nav{background:transparent;border:0;padding:28px 5vw}body:has(#customer-login) .portal-wrap,body:has(#owner-login:not([hidden])) .portal-wrap{max-width:510px;margin:4vh auto 60px;padding:40px;background:#fffef9;border:1px solid #dde4d4;border-radius:24px;box-shadow:0 20px 80px #29483c0a}body:has(#customer-login) .portal-wrap h1,body:has(#owner-login:not([hidden])) .portal-wrap h1{font-size:42px;letter-spacing:-1.5px;line-height:1.18}#customer-login{grid-template-columns:1fr;gap:22px;margin-top:28px}#customer-login input{min-height:50px;background:#fafbf6;border-radius:10px}#customer-login>.button{width:100%;border-radius:10px;min-height:50px}#customer-login label{font-size:12px}#customer-login~.media-help{font-size:11px;line-height:1.8;margin-top:24px}@media(max-width:540px){body:has(#customer-login) .portal-wrap,body:has(#owner-login:not([hidden])) .portal-wrap{margin:20px 16px 40px;padding:28px 24px}body:has(#customer-login) .portal-wrap h1,body:has(#owner-login:not([hidden])) .portal-wrap h1{font-size:34px}}

@media(min-width:1101px){.workspace-v2 .customer-steps ol{grid-template-columns:repeat(5,minmax(0,1fr))}}
