@layer components{.portal-root{--portal-accent:#c5a96e;--portal-accent-soft:color-mix(in oklab, var(--portal-accent) 15%, var(--card));--portal-accent-strong:color-mix(in oklab, var(--portal-accent), var(--foreground) 30%);--portal-ink:var(--foreground);--portal-muted:var(--muted-foreground);color:var(--portal-ink);background:var(--background);min-height:100dvh;font-family:var(--font-sans);font-size:var(--text-field);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;line-height:1.6}.portal-farm{--portal-accent:#c0c8d1;--portal-accent-soft:var(--muted)}.portal-root h1,.portal-root h2,.portal-root h3,.portal-root p{margin:0}.portal-root button,.portal-root a,.portal-root input,.portal-root [data-slot=native-select],.portal-root button,.portal-root a,.portal-root input,.portal-root select{font-size:inherit}.portal-root h1,.portal-root h2{letter-spacing:-.035em}.portal-root h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.3rem);font-weight:400;line-height:1.14}.portal-root h2{font-size:var(--text-title);font-weight:600;line-height:1.35}.portal-root h3{font-size:var(--text-field);font-weight:600}.portal-root svg{flex-shrink:0;width:20px;height:20px}.portal-root a,.portal-root button{-webkit-tap-highlight-color:transparent}.portal-root :focus-visible{outline:3px solid var(--ring);outline-offset:4px}.portal-root [data-slot=button],.portal-root .portal-header-button{min-height:44px;font-size:var(--text-body);white-space:normal;border-radius:8px;padding:10px 16px;font-weight:600;line-height:1.3}.portal-root [data-slot=button]{white-space:normal;border-radius:8px;min-height:44px;padding:10px 16px;font-size:.875rem;font-weight:600;line-height:1.3}.portal-root .portal-primary{background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary)}.portal-root .portal-primary:hover{background:color-mix(in oklab, var(--primary) 90%, transparent)}.portal-header{background:var(--background);color:var(--foreground);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:14px 36px;display:flex}.portal-brand{align-items:center;gap:14px;display:flex}.portal-brand img{object-fit:contain;background:#000;border-radius:8px;width:44px;height:44px;padding:3px}.portal-brand strong{font-family:Georgia,Times New Roman,serif;font-size:1.375rem;font-weight:500;line-height:1.2}.portal-brand span{font-size:var(--text-meta);color:var(--muted-foreground);margin-top:2px;display:block}.portal-header-actions{align-items:center;gap:8px;display:flex}.portal-root .portal-header-button{color:var(--muted-foreground);border-color:#0000}.portal-root .portal-header-button:hover{background:var(--muted);color:var(--foreground)}.portal-preview{background:var(--muted);color:var(--foreground);font-size:var(--text-body);justify-content:center;align-items:center;gap:12px;padding:10px 24px;display:flex}.portal-workspace{display:block!important}.portal-shell-content{background:0 0;min-height:0}.portal-eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--portal-muted);font-weight:700;line-height:1.6;font-size:var(--text-meta)!important}.portal-content{width:100%;min-width:0}.portal-content-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.portal-content [role=tabpanel]{outline:none;margin:0}.portal-welcome{background:var(--primary);color:var(--primary-foreground);border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(210px,.6fr);gap:32px;padding:34px 38px 38px;display:grid}.portal-welcome .portal-eyebrow{color:color-mix(in oklab, var(--primary-foreground) 72%, transparent)}.portal-welcome h2{margin:15px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.3rem);font-weight:400;line-height:1.14}.portal-welcome p:not(.portal-eyebrow){font-size:var(--text-field);color:color-mix(in oklab, var(--primary-foreground) 72%, transparent);white-space:pre-wrap;overflow-wrap:anywhere;max-width:640px}.portal-event-date{border-left:1px solid #ffffff29;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding-left:30px;display:flex}.portal-event-date>svg{width:30px;height:30px;color:var(--portal-accent)}.portal-event-date strong{font-family:Georgia,serif;font-size:1.45rem;font-weight:400;line-height:1.4}.portal-event-date>span{color:color-mix(in oklab, var(--primary-foreground) 72%, transparent);font-size:var(--text-body)}.portal-event-date .portal-status{border-radius:var(--radius-chip);color:color-mix(in oklab, var(--primary-foreground) 72%, transparent);background:#ffffff1a;margin-top:8px;padding:5px 12px;display:inline-block}.portal-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0;display:grid}.portal-metrics>button{text-align:left;background:var(--card);box-shadow:var(--elev-card);border-radius:var(--radius-panel);cursor:pointer;border:0;flex-direction:column;align-items:flex-start;gap:5px;padding:22px;display:flex}.portal-metrics>button:hover{box-shadow:var(--elev-lift)}.portal-metrics>button>span{font-size:var(--text-body);color:var(--muted-foreground)}.portal-metrics strong{letter-spacing:-.035em;font-size:1.85rem;font-weight:500;line-height:1.5}.portal-metrics small{font-size:var(--text-label);color:var(--muted-foreground)}.portal-overview-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px;display:grid}.portal-panel{background:var(--card);box-shadow:var(--elev-card);border-radius:var(--radius-panel);border:0;min-width:0;padding:26px}.portal-panel>h2{margin-bottom:20px}.portal-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.portal-section-heading button{font-size:var(--text-body);color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;padding:5px 0;text-decoration:underline}.portal-doc-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:20px 0;display:flex}.portal-doc-row:last-child{border-bottom:0}.portal-file-icon{background:var(--portal-accent-soft);border-radius:8px;flex-shrink:0;place-items:center;width:42px;height:48px;display:grid}.portal-doc-info{flex:1;min-width:0}.portal-doc-info h3{font-size:var(--text-copy);overflow-wrap:anywhere;font-weight:600;line-height:1.5}.portal-doc-info p{font-size:var(--text-label);color:var(--portal-muted);overflow-wrap:anywhere;margin-top:4px;line-height:1.6}.portal-deadlines{gap:22px;margin:24px 0;display:grid}.portal-deadlines>div{align-items:flex-start;gap:14px;display:flex}.portal-deadlines svg{color:var(--muted-foreground);margin-top:3px}.portal-deadlines h3{font-size:var(--text-body)}.portal-deadlines p{color:var(--portal-muted);font-size:var(--text-body)}.portal-empty{text-align:center;color:var(--muted-foreground);padding:28px 16px}.portal-empty>svg{width:30px;height:30px;color:var(--muted-foreground);margin:0 auto 14px}.portal-empty h3{color:var(--foreground);margin-bottom:8px}.portal-empty p{font-size:var(--text-copy);max-width:380px;margin:auto}.portal-page-title{justify-content:space-between;align-items:center;gap:20px;margin:4px 0 28px;display:flex}.portal-page-title h1{font-size:clamp(2rem,3.5vw,2.7rem)}.portal-page-title p{color:var(--muted-foreground);margin-top:10px}.portal-footnote{font-size:var(--text-body);color:var(--muted-foreground);line-height:1.7;margin-top:18px!important}.portal-payment-summary{background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-panel);grid-template-columns:1fr 1fr;align-items:center;gap:40px;margin-bottom:22px;padding:30px;display:grid}.portal-payment-summary h2{margin:6px 0;font-family:Georgia,serif;font-size:2.8rem;font-weight:400}.portal-payment-summary p{font-size:var(--text-body);color:color-mix(in oklab, var(--primary-foreground) 72%, transparent)}.portal-payment-progress>div:not([role=progressbar]){font-size:var(--text-body);justify-content:space-between;gap:12px;margin:10px 0;display:flex}.portal-payment-progress [role=progressbar]{background:#ffffff29;height:8px}.portal-payment-progress [data-slot=progress-indicator]{background:var(--portal-accent)}.portal-detail-list{gap:16px;display:grid}.portal-detail-list>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding-bottom:12px;display:flex}.portal-detail-list dt{color:var(--muted-foreground);font-size:var(--text-body)}.portal-detail-list dd{font-size:var(--text-copy);text-align:right;overflow-wrap:anywhere;font-weight:500}.portal-preserve{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:20px!important}.portal-spaced{margin-top:22px}.portal-muted{color:var(--muted-foreground)}.portal-payment-list>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:15px;padding:16px 0;display:flex}.portal-payment-list strong{font-weight:500}.portal-payment-list p{font-size:var(--text-body);color:var(--muted-foreground)}.portal-timeline{padding:8px 0}.portal-timeline>div{gap:22px;min-height:114px;display:flex;position:relative}.portal-timeline>div:not(:last-child):before{content:"";background:var(--border);width:1px;position:absolute;top:15px;bottom:0;left:8px}.portal-timeline-marker{z-index:1;border:4px solid var(--muted);background:var(--foreground);border-radius:50%;flex-shrink:0;width:17px;height:17px;margin-top:4px;position:relative}.portal-timeline h3{margin:7px 0 5px}.portal-timeline p:not(.portal-eyebrow){color:var(--muted-foreground);font-size:var(--text-copy);margin-bottom:22px}.portal-day-timeline{margin-top:20px}.portal-day-timeline>div{border-top:1px solid var(--border);white-space:pre-wrap;gap:16px;padding:18px 0;display:flex}.portal-day-timeline svg{color:var(--muted-foreground);margin-top:3px}.portal-detail-grid{grid-template-columns:1fr 1fr;gap:24px 40px;display:grid}.portal-detail-grid dt,.portal-menu dt{font-size:var(--text-body);color:var(--muted-foreground);margin-bottom:6px}.portal-detail-grid dd,.portal-menu dd{font-size:var(--text-field);white-space:pre-wrap;overflow-wrap:anywhere}.portal-menu>div{border-bottom:1px solid var(--border);grid-template-columns:145px minmax(0,1fr);gap:20px;padding:18px 0;display:grid}.portal-menu>div:last-child{border-bottom:0}.portal-success{background:var(--success-soft);color:var(--success);font-size:var(--text-copy);border:0;border-radius:8px;gap:10px;padding:14px 18px;display:flex;margin-bottom:20px!important}.portal-error{background:color-mix(in oklab, var(--destructive) 8%, var(--card));color:var(--destructive);font-size:var(--text-copy);border:0;border-radius:8px;padding:12px}.portal-error-state{text-align:center;max-width:650px;margin:auto;padding:70px 24px}.portal-error-state p{margin:20px 0 25px}.portal-loading{color:var(--muted-foreground);place-items:center;gap:18px;padding:90px 24px;display:grid}.portal-loading-mark{background:var(--muted);width:70px;height:70px;color:var(--foreground);font-family:Georgia,serif;font-size:var(--text-heading);border-radius:50%;place-items:center;display:grid}.portal-loading-mark img{object-fit:contain;background:#000;border-radius:8px;width:70px;height:70px;padding:4px}.portal-farm .portal-loading-mark{border:0}.portal-auth{background:var(--background);color:var(--foreground);padding:30px 6vw 24px}.portal-auth-layout{grid-template-columns:1fr minmax(340px,460px);align-items:center;gap:80px;max-width:1140px;margin:65px auto 40px;display:grid}.portal-auth-story h1{margin:20px 0 28px;font-size:clamp(2.7rem,4.5vw,4rem);line-height:1.17}.portal-auth-story .portal-eyebrow{color:var(--muted-foreground)}.portal-auth-story>p:not(.portal-eyebrow){color:var(--muted-foreground);max-width:360px;line-height:1.8}.portal-auth-features{font-size:var(--text-copy);color:var(--muted-foreground);gap:18px;margin-top:42px;display:grid}.portal-auth-features>span{align-items:center;gap:14px;display:flex}.portal-auth-features svg{color:var(--foreground)}.portal-login-card{background:var(--card);color:var(--foreground);box-shadow:var(--elev-card);border-radius:14px;padding:36px}.portal-login-card>svg{width:28px;height:28px;color:var(--muted-foreground);margin-bottom:22px}.portal-login-card h2{margin-bottom:12px;font-family:Georgia,serif;font-size:2rem;font-weight:400}.portal-login-card>p{color:var(--muted-foreground);margin-bottom:18px}.portal-auth-form{gap:21px;margin-top:25px;display:grid}.portal-auth-form label,.portal-form label{font-weight:500;font-size:var(--text-copy);gap:8px;display:grid}.portal-auth-form input,.portal-form input,.portal-form [data-slot=native-select]{background:var(--card);min-height:48px;color:var(--foreground);border:1px solid var(--input);box-shadow:none;border-radius:7px;font-size:var(--text-field)!important}.portal-auth-form input,.portal-form input,.portal-form select{background:var(--card);min-height:48px;color:var(--foreground);border:1px solid var(--input);box-shadow:none;border-radius:7px;font-size:1rem!important}.portal-auth-form small{font-size:var(--text-label);color:var(--muted-foreground);font-weight:400}.portal-auth-help{font-size:var(--text-body);color:var(--muted-foreground);padding-top:20px;line-height:1.7}.portal-auth-footer{color:var(--muted-foreground);font-size:var(--text-label);justify-content:center;align-items:center;gap:10px;margin:30px 0;display:flex}.portal-dialog{max-height:90dvh;overflow-y:auto;background:var(--card)!important;color:var(--foreground)!important}.portal-dialog [data-slot=dialog-description]{color:var(--muted-foreground)}.portal-form{gap:18px;margin-top:15px;display:grid}.portal-form [data-slot=button]{min-height:46px}.portal-document-shell{background:var(--border);min-height:100dvh;color:var(--foreground);padding:28px 20px 60px}.portal-document-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;max-width:960px;margin:0 auto 24px;display:flex}.portal-document-toolbar>div{flex-wrap:wrap;gap:10px;display:flex}.portal-document-note{max-width:960px;color:var(--muted-foreground);font-size:var(--text-copy);margin:0 auto 20px}.portal-document-file{background:var(--card);text-align:center;max-width:720px;box-shadow:var(--elev-card);border-radius:var(--radius-panel);border:0;margin:70px auto;padding:40px}.portal-document-file h1{margin:20px 0;font-family:Georgia,serif;font-size:2rem}.portal-document-file p{overflow-wrap:anywhere;margin:15px 0 25px}@media (min-width:1450px){.portal-welcome{padding:40px 44px}.portal-welcome h2{font-size:3.5rem}}@media (max-width:1050px){.portal-overview-grid{grid-template-columns:1fr}.portal-welcome{gap:22px;padding:26px}.portal-event-date{padding-left:22px}.portal-metrics>button{padding:16px}.portal-auth-layout{gap:40px}.portal-loading-mark img{object-fit:contain;background:#000;border-radius:8px;width:70px;height:70px;padding:4px}.portal-farm .portal-loading-mark{border:0}.portal-auth{padding:28px}}@media (max-width:760px){.portal-header{gap:10px;padding:10px 12px 10px 16px}.portal-brand{gap:10px;min-width:0}.portal-brand img{width:36px;height:36px;padding:2px}.portal-brand strong{font-size:var(--text-lead);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.portal-brand>div{min-width:0}.portal-brand span{display:none}.portal-header-actions{gap:2px}.portal-header-button span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portal-root .portal-header-button{min-width:44px;padding:10px}.portal-content-top{margin-bottom:14px}.portal-content-top .portal-eyebrow{font-size:.7rem!important}.portal-welcome{border-radius:var(--radius-field);grid-template-columns:1fr;gap:24px;padding:25px 22px}.portal-welcome h2{font-size:2.55rem}.portal-welcome .portal-eyebrow{font-size:var(--text-micro)!important}.portal-event-date{border-top:1px solid #ffffff29;border-left:0;grid-template-columns:24px 1fr;gap:7px 12px;padding:22px 0 0;display:grid}.portal-event-date>svg{grid-row:1/3;width:22px;height:22px;margin-top:2px}.portal-event-date strong{font-size:1.2rem}.portal-event-date>span{grid-column:2}.portal-event-date .portal-status{width:fit-content;font-size:var(--text-label);margin-top:7px}.portal-metrics{grid-template-columns:1fr;gap:8px;margin:15px 0}.portal-metrics>button{border-radius:var(--radius-field);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 16px;padding:14px 16px;display:grid}.portal-metrics>button>span{font-size:var(--text-body);color:var(--foreground);line-height:1.4}.portal-metrics strong{font-size:var(--text-title);grid-area:1/2/3;line-height:1.3}.portal-metrics small{font-size:var(--text-label);line-height:1.5}.portal-panel{border-radius:var(--radius-field);padding:20px}.portal-overview-grid{gap:16px}.portal-doc-row{flex-wrap:wrap;gap:10px;padding:17px 0}.portal-file-icon{width:32px;height:42px}.portal-doc-row .portal-doc-info{flex-basis:calc(100% - 48px)}.portal-doc-row>[data-slot=button]{min-height:40px;font-size:var(--text-label);margin-left:42px;padding:8px 14px}.portal-page-title{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:22px}.portal-page-title h1{font-size:2.1rem}.portal-payment-summary{grid-template-columns:1fr;gap:24px;padding:24px}.portal-payment-summary h2{font-size:2.5rem}.portal-detail-grid{gap:23px 18px}.portal-menu>div{grid-template-columns:1fr;gap:5px}.portal-menu dt{color:var(--foreground);font-weight:600}.portal-loading-mark img{object-fit:contain;background:#000;border-radius:8px;width:70px;height:70px;padding:4px}.portal-farm .portal-loading-mark{border:0}.portal-auth{padding:20px 18px}.portal-auth-layout{flex-direction:column;align-items:stretch;gap:30px;max-width:460px;margin:40px auto 25px;display:flex}.portal-auth-story h1{margin:12px 0 18px;font-size:2.3rem}.portal-auth-story>p:not(.portal-eyebrow){max-width:none}.portal-auth-features{display:none}.portal-login-card{padding:26px 22px}.portal-login-card h2{font-size:1.8rem}.portal-preview{font-size:var(--text-label);align-items:flex-start;padding:10px 16px}.portal-preview svg{margin-top:3px}.portal-document-file{margin-top:35px;padding:25px}}@media (prefers-reduced-motion:reduce){.portal-root *{transition:none!important;animation:none!important}}@media print{.portal-header,.portal-preview,.portal-content-top,.portal-page-title button,.portal-document-toolbar,.portal-document-note,.portal-document-file [data-slot=button]{display:none!important}.portal-root,.portal-document-shell{padding:0;background:var(--card)!important;color:var(--foreground)!important}.portal-workspace{display:block!important}.portal-content{max-width:none;padding:0}.portal-panel{break-inside:avoid;border:0;padding:12px 0}.portal-welcome{background:var(--card)!important;color:var(--foreground)!important}.portal-welcome p,.portal-welcome .portal-eyebrow{color:var(--muted-foreground)!important}}.portal-root .wedding-timeline-section{background:var(--card);border-color:var(--portal-border,var(--border));color:var(--foreground)}.portal-root .wedding-timeline-section input,.portal-root .wedding-timeline-section textarea,.portal-root .wedding-timeline-section [data-slot=native-select]{color:var(--foreground);background:var(--card);font-size:var(--text-field);min-height:44px}.portal-root .wedding-timeline-section input,.portal-root .wedding-timeline-section textarea,.portal-root .wedding-timeline-section select{color:var(--foreground);background:var(--card);min-height:44px;font-size:16px}.portal-root .wedding-timeline-section .text-muted-foreground{color:var(--muted-foreground)}.portal-root .wedding-timeline-section button[type=submit]{background:var(--primary);color:var(--primary-foreground)}.portal-root .wedding-timeline-section fieldset,.portal-root .wedding-timeline-section label{min-width:0}@media print{.wedding-timeline-editor{display:none!important}.wedding-timeline-print{display:block!important}.wedding-timeline-section{border:0!important;padding:0!important}.portal-panel button{display:none!important}}.portal-password-field{gap:8px;min-width:0;display:grid}.portal-password-input{min-width:0;position:relative}.portal-password-input input{padding-right:90px}.portal-password-toggle{min-width:76px;color:var(--foreground);font-size:var(--text-body);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:6px;font-weight:500;display:flex;position:absolute;top:2px;bottom:2px;right:4px}.portal-password-toggle svg{width:16px;height:16px}.portal-password-toggle:hover{background:var(--muted)}.portal-password-toggle:focus-visible{outline-offset:0;outline:2px solid}.portal-password-toggle:disabled{opacity:.5;cursor:default}.portal-password-field small{font-size:var(--text-label);color:var(--muted-foreground);font-weight:400}.portal-header{gap:12px}.portal-header .portal-brand{flex:1;min-width:0}.portal-header .portal-logo{background:0 0;width:300px;max-width:100%;display:block}.portal-header .portal-logo>img{width:100%;height:auto}.portal-header .portal-logo>img:first-child{display:block}.portal-header .portal-logo>img:last-child{display:none}.portal-header-actions{flex-shrink:0}@media (max-width:600px){.portal-header .portal-logo{width:230px}.portal-header{padding:12px 16px}}.portal-header-centered{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:10px 24px;display:grid}.portal-header-centered .portal-brand-centered{flex:none;grid-column:2;justify-self:center;width:clamp(128px,36vw,300px);min-width:0;line-height:0;display:block}.portal-header-centered .portal-brand-centered img{object-fit:contain;background:0 0;width:100%;height:auto;max-height:72px;display:block}.portal-header-centered .portal-brand-centered .portal-logo-dark{display:none}.portal-header-centered .portal-header-actions{grid-column:3;justify-self:end;align-items:center;gap:6px;min-width:0;display:flex}.dark .portal-header-centered .portal-logo-light{display:none}.dark .portal-header-centered .portal-brand-centered .portal-logo-dark{display:block}@media (max-width:600px){.portal-header-centered{gap:4px;padding:8px 12px}.portal-header-centered .portal-brand-centered{width:clamp(120px,36vw,170px)}.portal-header-centered .portal-header-actions{gap:4px}}.portal-header-centered{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:25px;min-height:105px;padding:0 max(24px,50vw - 700px);display:grid;background:var(--card)!important;color:var(--foreground)!important;border-color:var(--border)!important}.portal-header-centered .portal-brand-centered{grid-column:2;justify-self:center;width:310px;max-width:100%;line-height:0;display:block}.portal-header-centered .portal-brand-centered .portal-app-logo{object-fit:contain;background:0 0;width:100%;height:auto;max-height:none;display:block}.portal-header-centered .portal-header-actions{grid-column:3;justify-self:end;align-items:center;gap:0;display:flex}.dark .portal-header-centered .portal-brand-centered .portal-app-logo{display:block!important}@media (max-width:600px){.portal-header-centered{grid-template-columns:45px minmax(0,1fr) 45px;gap:12px;min-height:87px;padding:0 14px}.portal-header-centered .portal-brand-centered{width:100%;max-width:260px}.portal-header-centered .portal-header-actions{gap:0}}@media (min-width:768px){aside:has(+[data-slot=sidebar-wrapper]){margin-left:15rem}aside:has(+[data-slot=sidebar-wrapper] [data-state=collapsed]){margin-left:3.5rem}}}
