@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";
:root{--surface:#f7fafd;--surface-lowest:#fff;--surface-low:#f1f4f8;--surface-container:#ebeef2;--surface-high:#e5e8ec;--surface-variant:#e0e3e6;--on-surface:#181c1f;--on-surface-variant:#4f4444;--outline:#817474;--outline-variant:#d2c3c3;--primary:#705859;--on-primary:#fff;--primary-container:#f2d2d2;--secondary:#775a19;--on-secondary:#fff;--secondary-container:#fed488;--on-secondary-container:#785a1a;--tertiary-container:#ddd9d4;--shadow:0 20px 40px -12px #28171726;--soft-shadow:0 12px 28px #28171717;--radius:8px;--radius-lg:16px;--content:1140px}*{box-sizing:border-box}html{background:var(--surface);min-height:100%}body{min-height:100vh;color:var(--on-surface);background:linear-gradient(135deg, #f2d2d257, #fff0 34%), var(--surface);letter-spacing:0;margin:0;font-family:DM Sans,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.app{min-height:100vh;padding-bottom:112px}.app--camera{background:#050505;padding-bottom:0}.top-bar{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7fafdd1;border-bottom:1px solid #d2c3c394;grid-template-columns:44px 1fr auto;align-items:center;width:100%;height:64px;padding:0 16px;display:grid;position:fixed;top:0;left:0;box-shadow:0 5px 20px #2817170d}.top-bar--welcome{background:#f7fafdc7}.icon-button,.brand-button,.guest-pill,.camera-icon-button,.nav-item,.heart-button,.fab,.camera-round-button,.thumbnail-button{border:0}.icon-button{width:40px;height:40px;color:var(--primary);background:0 0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover,.brand-button:hover,.guest-pill:hover{background:#f2d2d26b}.top-bar__actions{justify-self:end;align-items:center;gap:6px;min-width:0;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand-button{min-width:0;color:var(--primary);text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:999px;justify-self:center;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.35rem,4vw,2.25rem);font-weight:700;line-height:1.1;overflow:hidden}.guest-pill{min-width:0;max-width:122px;height:38px;color:var(--primary);background:#ffffff6b;border:1px solid #f2d2d2bf;border-radius:999px;align-items:center;gap:7px;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex}.guest-pill span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.welcome-shell{min-height:100vh;padding-bottom:80px}.hero{height:min(68vh,618px);min-height:470px;position:relative;overflow:hidden}.hero__image,.viewfinder__image{object-fit:cover;width:100%;height:100%}.hero__wash{background:linear-gradient(#f7fafd0d 22%,#f7fafdf5 100%),linear-gradient(90deg,#ffffff47,#fff0);position:absolute;inset:0}.hero__copy{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:680px;margin:0 auto;display:flex;position:absolute;inset:64px 16px 0}.eyebrow{color:var(--primary);letter-spacing:.22em;text-transform:uppercase;margin:0 0 10px;font-size:.75rem;font-weight:700}.hero h1,.page-heading h1{margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.25rem,8vw,3.7rem);line-height:1.1}.hero p,.page-heading p,.section-heading p,.tonal-panel p,.empty-state p{color:var(--on-surface-variant)}.hero__copy>p:last-child{max-width:570px;margin:12px 0 0;font-size:1.08rem;line-height:1.62}.entry-grid,.page-shell{width:min(var(--content), calc(100% - 32px));margin:0 auto}.entry-grid{grid-template-columns:1fr;gap:24px;margin-top:-12px;display:grid}.entry-card,.message-form{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#ffffffdb;border:1px solid #f2d2d294;padding:24px}.section-heading h2,.tonal-panel h2,.empty-state h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:1.55rem;line-height:1.22}.section-heading p,.tonal-panel p{margin:8px 0 0;line-height:1.55}.public-wedding-status{color:var(--on-surface);border-radius:var(--radius);background:#f1f4f8c2;border:1px solid #d2c3c3ad;gap:7px;margin-top:20px;padding:15px 16px;display:grid}.public-wedding-status[data-public-publishing-status=ready]{background:#fed48838;border-color:#775a1952}.public-wedding-status__label{color:var(--primary);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800;line-height:1.2}.public-wedding-status h3{margin:0;font-family:Playfair Display,Georgia,serif;font-size:1.16rem;line-height:1.24}.public-wedding-status p{margin:0;line-height:1.48}.public-wedding-status__date{color:var(--on-surface-variant);font-size:.86rem;font-weight:700}.public-wedding-status__steps{gap:8px;min-width:0;display:grid}.public-wedding-status__step{border-radius:var(--radius-sm);background:#ffffff8a;border:1px solid #d2c3c380;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:2px 8px;min-width:0;padding:10px;display:grid}.public-wedding-status__step[data-step-state=ready]{background:#fed48838;border-color:#775a192e}.public-wedding-status__step svg{color:var(--outline);grid-row:1/span 3}.public-wedding-status__step[data-step-state=ready] svg{color:#4d641d}.public-wedding-status__step span,.public-wedding-status__step strong,.public-wedding-status__step p{text-overflow:ellipsis;overflow:hidden}.public-wedding-status__step span,.public-wedding-status__step strong{white-space:nowrap}.public-wedding-status__step span{color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:900;line-height:1.2}.public-wedding-status__step strong{color:var(--on-surface);font-size:.84rem;font-weight:900}.public-wedding-status__step p{color:var(--on-surface-variant);margin:0;font-size:.74rem;font-weight:750;line-height:1.34}.access-form,.message-form{gap:18px;margin-top:24px;display:grid}label{gap:7px;display:grid}label span{color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.access-form__hint{color:var(--on-surface-variant);letter-spacing:0;text-transform:none;font-size:.78rem;font-weight:800;line-height:1.35}.availability-hint{color:var(--on-surface-variant);letter-spacing:0;text-transform:none;font-size:.78rem;font-weight:800}.availability-hint[data-status=available]{color:#4d641d}.availability-hint[data-status=taken],.availability-hint[data-status=error]{color:#93000a}.owner-create-wedding-form{gap:14px}.owner-create-wedding-form__section{border-radius:var(--radius);background:#ffffff94;border:1px solid #d2c3c37a;gap:14px;min-width:0;margin:0;padding:14px;display:grid}.owner-create-wedding-form__section legend{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;padding:0 5px;font-size:.72rem;font-weight:900}.owner-create-wedding-form__field-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.owner-create-wedding-form label{min-width:0}.owner-create-wedding-form label span small{min-height:20px;color:var(--on-surface-variant);letter-spacing:.04em;background:#f7fafdd1;border-radius:999px;align-items:center;margin-left:6px;padding:0 7px;font-size:.64rem;font-weight:900;display:inline-flex}.owner-create-wedding-form .availability-hint{min-height:28px;color:var(--on-surface-variant);background:#f7fafdd1;border:1px solid #d2c3c37a;border-radius:999px;justify-self:start;align-items:center;padding:0 9px;display:inline-flex}.owner-create-wedding-form .availability-hint[data-status=available]{color:#4d641d;background:#fed48838;border-color:#775a192e}.owner-create-wedding-form .availability-hint[data-status=taken],.owner-create-wedding-form .availability-hint[data-status=error]{color:#93000a;background:#ffdad694;border-color:#ba1a1a2e}.owner-create-wedding-form__action-panel{border-radius:var(--radius);background:#f7fafdb8;border:1px solid #d2c3c37a;gap:12px;padding:12px;display:grid}.owner-create-wedding-form__action-copy{gap:2px;min-width:0;display:grid}.owner-create-wedding-form__action-copy span,.owner-create-wedding-form__action-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.owner-create-wedding-form__action-copy span{color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.owner-create-wedding-form__action-copy strong{color:var(--on-surface);font-size:.95rem;font-weight:900}.owner-create-wedding-form__action-panel .primary-button{width:100%}@media (min-width:720px){.public-wedding-status__steps,.entry-help-panel__steps,.owner-create-wedding-form__field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-create-wedding-form__field-grid>label:first-child{grid-column:1/-1}.owner-create-wedding-form__field-grid--entry>label:first-child{grid-column:auto}.owner-create-wedding-form__action-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center}.owner-create-wedding-form__action-panel .form-error{grid-column:1/-1}.owner-create-wedding-form__action-panel .primary-button{justify-self:end;width:auto;min-width:190px}}input,select,textarea{width:100%;color:var(--on-surface);border:0;border-bottom:2px solid var(--primary-container);border-radius:var(--radius) var(--radius) 0 0;background:#ddd9d457;outline:0}input,select{min-height:52px;padding:0 14px}textarea{resize:vertical;padding:14px}input:focus,select:focus,textarea:focus{border-color:var(--secondary);box-shadow:0 10px 28px #775a191f}.form-error{color:#93000a;gap:7px;margin:0;font-size:.91rem;font-weight:700;display:grid}.form-error:focus{outline-offset:4px;border-radius:var(--radius-sm);outline:2px solid #93000a75}.form-error__action{color:#93000a;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #93000a73;justify-self:start;padding:0;font-size:.82rem}.form-error__action:hover{border-bottom-color:currentColor}.sync-notice,.camera-error{color:var(--on-surface-variant);border-radius:var(--radius);background:#fed48847;border:1px solid #775a1933;margin:0 0 18px;padding:12px 14px;font-size:.9rem;font-weight:700}.camera-error{color:#93000a;background:#ffdad69e;border-color:#ba1a1a38;grid-column:1/-1;margin:0}.primary-button,.secondary-button{border-radius:var(--radius);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;gap:9px;min-height:52px;font-size:.87rem;font-weight:800;transition:transform .18s,filter .18s,background-color .18s;display:inline-flex}.primary-button{color:var(--on-secondary);background:var(--secondary);border:0;position:relative;box-shadow:inset -2px -2px #0000001c}.primary-button:disabled{cursor:progress;opacity:.76}.primary-button:hover{filter:saturate(1.1)}.primary-button:active,.secondary-button:active,.chip:active,.fab:active,.nav-item:active,.shutter:active{transform:scale(.96)}.entry-actions{border-top:1px solid var(--outline-variant);grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;padding-top:22px;display:grid}.secondary-button{color:var(--on-surface);border:1px solid var(--outline);background:0 0}.secondary-button:hover{background:#e0e3e67a}.secondary-button:disabled{cursor:not-allowed;opacity:.64}.entry-help-panel{border-top:1px dashed var(--outline-variant);gap:10px;margin-top:14px;padding-top:16px;display:grid}.entry-help-panel__label{color:var(--primary);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800;line-height:1.2}.entry-help-panel h3{margin:0;font-family:Playfair Display,Georgia,serif;font-size:1.16rem;line-height:1.24}.entry-help-panel p{color:var(--on-surface-variant);margin:0;line-height:1.48}.entry-help-panel__context{gap:6px;min-width:0;display:grid}.entry-help-panel__steps{gap:8px;min-width:0;display:grid}.entry-help-panel__steps div{border-radius:var(--radius-sm);background:#f7fafda8;border:1px solid #d2c3c375;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:2px 8px;min-width:0;padding:10px;display:grid}.entry-help-panel__steps svg{color:var(--primary);grid-row:1/span 3}.entry-help-panel__steps span,.entry-help-panel__steps strong,.entry-help-panel__steps p{text-overflow:ellipsis;overflow:hidden}.entry-help-panel__steps span,.entry-help-panel__steps strong{white-space:nowrap}.entry-help-panel__steps span{color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:900;line-height:1.2}.entry-help-panel__steps strong{color:var(--on-surface);font-size:.84rem;font-weight:900}.entry-help-panel__steps p{color:var(--on-surface-variant);margin:0;font-size:.74rem;font-weight:750;line-height:1.34}.entry-help-panel__context div{grid-template-columns:76px minmax(0,1fr);align-items:baseline;gap:10px;min-width:0;display:grid}.entry-help-panel__context span{color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:900}.entry-help-panel__context strong{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;line-height:1.28;overflow:hidden}.preview-stack{gap:24px;display:grid}.tonal-panel{min-height:220px;color:var(--primary);border-radius:var(--radius-lg);background:#ddd9d48c;padding:24px;position:relative;overflow:hidden}.tonal-panel:after{content:"";filter:blur(26px);background:#f2d2d29e;border-radius:999px;width:190px;height:190px;position:absolute;bottom:-74px;right:-64px}.preview-grid{grid-template-columns:1fr 1fr;gap:12px;min-height:192px;display:grid}.preview-tile,.photo-card,.gallery-tile{background:var(--surface-container);border-radius:var(--radius-lg);box-shadow:var(--soft-shadow);margin:0;position:relative;overflow:hidden}.preview-tile img{object-fit:cover;width:100%;height:100%;min-height:192px}.preview-tile figcaption{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffa8;border-radius:999px;padding:5px 10px;font-size:.74rem;font-weight:700;position:absolute;bottom:10px;left:10px}.page-shell{padding-top:104px}.page-shell--feed{padding-bottom:12px}.page-heading{max-width:620px;margin-bottom:34px}.page-heading p:last-child{margin:10px 0 0;font-size:1rem;line-height:1.55}.chip-row{scrollbar-width:none;gap:12px;margin-bottom:18px;padding-bottom:12px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.feed-action-strip{border-radius:var(--radius-lg);box-shadow:var(--soft-shadow);background:#ffffffb8;border:1px solid #f2d2d294;grid-template-columns:1fr;gap:10px;margin:-12px 0 18px;padding:12px;display:grid}.feed-action{min-height:58px;color:var(--on-surface);text-align:left;border-radius:var(--radius);background:#f7fafdbd;border:1px solid #d2c3c3b8;align-items:center;gap:11px;padding:10px 12px;display:flex}.feed-action:hover{background:#f2d2d247}.feed-action:focus-visible{outline:3px solid var(--secondary-container);outline-offset:2px}.feed-action svg{color:var(--primary);flex:none}.feed-action span{gap:2px;min-width:0;display:grid}.feed-action strong,.feed-action small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.2;overflow:hidden}.feed-action strong{font-size:.92rem}.feed-action small{color:var(--on-surface-variant);font-size:.76rem;font-weight:800}.feed-action--primary{color:var(--on-secondary);background:var(--secondary);border-color:#5d420138}.feed-action--primary:hover{background:#8a6b24}.feed-action--primary svg,.feed-action--primary small{color:currentColor}.chip{min-width:max-content;min-height:38px;color:var(--primary);background:var(--tertiary-container);border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 20px;font-size:.86rem;font-weight:800;display:inline-flex}.chip--active{color:var(--on-secondary-container);background:var(--secondary-container)}.chip--favorite{padding-inline:16px 18px}.masonry{column-count:1;column-gap:24px}.photo-card{break-inside:avoid;width:100%;margin:0 0 24px;transition:transform .24s,box-shadow .24s;display:inline-block}.photo-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px #28171729}.photo-card__media-button,.gallery-tile__media-button{width:100%;color:inherit;text-align:left;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;overflow:hidden}.photo-card__media-button:focus-visible,.gallery-tile__media-button:focus-visible{outline:3px solid var(--secondary-container);outline-offset:-5px}.photo-card__image{object-fit:cover;width:100%;height:310px}.photo-card__image--tall{height:420px}.photo-card__overlay,.gallery-tile div{color:#fff;pointer-events:none;background:linear-gradient(#0000,#0000009e);justify-content:space-between;align-items:flex-end;padding:18px;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-card__meta{min-width:0;padding-right:12px}.photo-card__overlay p,.gallery-tile p,.message-card p{margin:0}.photo-card__overlay p,.gallery-tile p{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.photo-card__overlay p{font-weight:800}.photo-card__overlay span{opacity:.86;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:3px;font-size:.74rem;display:inline-block;overflow:hidden}.heart-button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#ffffff29;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;min-height:38px;padding:0 9px;display:inline-flex}.heart-button--liked{color:var(--primary-container)}.photo-detail-backdrop{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#181c1fad;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.photo-detail-dialog{background:var(--surface-lowest);border-radius:var(--radius);width:min(100%,1040px);max-height:calc(100vh - 32px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #00000052}.photo-detail-dialog__close{z-index:2;color:var(--on-surface);background:#ffffffd6;position:absolute;top:12px;right:12px;box-shadow:0 10px 28px #0000002e}.photo-detail-dialog__close:hover{background:#fff}.photo-detail-dialog__media{background:#050505;min-height:0;display:grid;position:relative}.photo-detail-dialog__media img{object-fit:contain;width:100%;max-height:56vh}.photo-detail-dialog__nav{pointer-events:none;justify-content:space-between;align-items:center;padding:0 14px;display:flex;position:absolute;inset:0}.photo-detail-dialog__nav-button{width:42px;height:42px;color:var(--on-surface);pointer-events:auto;background:#ffffffd6;box-shadow:0 10px 28px #0003}.photo-detail-dialog__nav-button:hover{background:#fff}.photo-detail-dialog__nav-button:disabled{cursor:not-allowed;opacity:.38}.photo-detail-dialog__body{align-content:start;gap:16px;padding:22px;display:grid;overflow-y:auto}.photo-detail-dialog__body .eyebrow{margin:0}.photo-detail-dialog__heading{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.photo-detail-dialog__ownership{min-height:28px;color:var(--primary);background:var(--primary-container);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:0 9px;font-size:.74rem;font-weight:900;display:inline-flex}.photo-detail-dialog__body h2{overflow-wrap:anywhere;margin:0;font-size:1.45rem;line-height:1.12}.photo-detail-dialog__context{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.photo-detail-dialog__context div{background:var(--surface-low);border-radius:var(--radius);min-width:0;padding:12px}.photo-detail-dialog__context dt{color:var(--on-surface-variant);letter-spacing:0;text-transform:uppercase;align-items:center;gap:6px;font-size:.74rem;font-weight:800;display:flex}.photo-detail-dialog__context dt svg{flex-shrink:0}.photo-detail-dialog__context dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:800}.photo-detail-dialog__actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;display:flex}.photo-detail-dialog__actions .heart-button{color:var(--on-surface);background:var(--surface-low);border:1px solid var(--outline-variant);-webkit-backdrop-filter:none;backdrop-filter:none}.photo-detail-dialog__actions .heart-button--liked{color:var(--primary);background:var(--primary-container)}.photo-detail-dialog__heart-count{min-height:38px;color:var(--primary);background:var(--primary-container);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-weight:800;display:inline-flex}.photo-detail-dialog__position{min-height:38px;color:var(--on-surface-variant);background:var(--surface-low);border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.photo-detail-dialog__source-action{min-height:38px;color:var(--on-surface);background:var(--surface-low);border:1px solid var(--outline-variant);border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.photo-detail-dialog__source-action:hover{color:var(--primary);background:var(--primary-container)}.photo-detail-dialog__source-action:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.feed-pagination{justify-content:center;margin:28px 0 10px;display:flex}.feed-pagination .secondary-button{background:#ffffffb8;min-width:168px}.feed-pagination .secondary-button:disabled{cursor:progress;opacity:.7}.admin-shell{padding-bottom:24px}.admin-login-card{gap:18px;max-width:540px;display:grid}.admin-login-card>svg{color:var(--primary)}.admin-entry-tabs{border-radius:var(--radius);background:#ffffffad;border:1px solid #d2c3c37a;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px;padding:5px;display:grid}.admin-entry-tab{min-width:0;min-height:42px;color:var(--on-surface-variant);border-radius:calc(var(--radius) - 2px);letter-spacing:.03em;text-transform:uppercase;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:.75rem;font-weight:900;display:inline-flex}.admin-entry-tab span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-entry-tab--active{color:var(--on-secondary-container);background:var(--secondary-container)}.admin-entry-tab:disabled{cursor:progress;opacity:.62}.owner-wedding-panel{gap:12px;margin-top:6px;display:grid}.owner-account-strip{border-radius:var(--radius);background:#ffffffad;border:1px solid #d2c3c38c;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.owner-account-strip span,.owner-account-strip strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.owner-account-strip span{color:var(--on-surface-variant);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:900}.owner-account-strip strong{color:var(--on-surface);margin-top:2px;font-size:.92rem;line-height:1.3}.owner-start-summary{color:var(--on-surface-variant);margin:-4px 0 0;font-size:.94rem;line-height:1.48}.owner-cognito-entry{gap:8px;display:grid}.owner-cognito-entry--primary{border-radius:var(--radius);background:#ffffffc2;border:1px solid #70505033;padding:14px;box-shadow:0 14px 32px #492d2d14}.owner-cognito-entry__copy{gap:3px;display:grid}.owner-cognito-entry__copy span{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.owner-cognito-entry__copy strong{color:var(--on-surface);font-size:1rem;line-height:1.25}.owner-cognito-entry .primary-button,.owner-cognito-entry .secondary-button{justify-content:center;width:100%}.owner-account-fallback-note{color:var(--on-surface-variant);margin:-2px 0 0;font-size:.82rem;line-height:1.42}.owner-support-disclosure{color:var(--on-surface);border-radius:var(--radius);background:#f7fafd9e;border:1px solid #d2c3c370;gap:0;padding:0;display:grid}.owner-support-disclosure summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:0 12px;list-style:none;display:grid}.owner-support-disclosure summary::-webkit-details-marker{display:none}.owner-support-disclosure summary span{min-width:0;color:var(--on-surface);align-items:center;gap:7px;font-size:.82rem;font-weight:900;display:inline-flex}.owner-support-disclosure summary small{max-width:190px;color:var(--on-surface-variant);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:800;overflow:hidden}.owner-support-disclosure__body{gap:12px;padding:0 12px 12px;display:grid}.owner-support-disclosure:not([open])>.owner-support-disclosure__body{display:none}.owner-support-disclosure__body>p{color:var(--on-surface-variant);margin:0;font-size:.84rem;font-weight:700;line-height:1.45}.owner-support-disclosure__body>a{color:var(--primary);text-underline-offset:3px;justify-self:start;font-size:.8rem;font-weight:900;text-decoration-thickness:1px}.owner-trust-panel{color:var(--on-surface);border-radius:var(--radius);background:#fed4882e;border:1px solid #775a1938;gap:10px;padding:12px;display:grid}.owner-trust-panel .eyebrow,.owner-trust-panel p{margin:0}.owner-trust-panel p:not(.eyebrow){color:var(--on-surface-variant);font-size:.84rem;font-weight:700;line-height:1.45}.owner-trust-panel__actions{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.owner-trust-panel a{color:var(--primary);text-underline-offset:3px;justify-self:start;font-size:.78rem;font-weight:900;text-decoration-thickness:1px}.policy-surface{border-radius:var(--radius);background:#f7fafdbd;border:1px solid #d2c3c385;gap:12px;padding:14px;scroll-margin-top:16px;display:grid}.policy-surface--compact{background:#ffffff9e;padding:12px}.policy-surface__heading{gap:4px;display:grid}.policy-surface__heading .eyebrow,.policy-surface__heading h2,.policy-surface__heading p{margin:0}.policy-surface__heading h2{font-family:Playfair Display,Georgia,serif;font-size:1.24rem;line-height:1.2}.policy-surface__heading p,.policy-note p{color:var(--on-surface-variant);font-size:.84rem;font-weight:700;line-height:1.45}.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.policy-surface--compact .policy-grid{grid-template-columns:1fr}.policy-note{border-radius:var(--radius);background:#ffffffad;border:1px solid #d2c3c375;gap:5px;min-width:0;padding:10px;display:grid}.policy-note h3,.policy-note p{margin:0}.policy-note h3{color:var(--on-surface);font-size:.82rem;font-weight:950;line-height:1.25}.policy-surface__support{color:var(--primary);text-underline-offset:3px;justify-self:start;align-items:center;gap:7px;font-size:.8rem;font-weight:900;text-decoration-thickness:1px;display:inline-flex}.owner-launch-guide{border-radius:var(--radius);background:#f7fafdb3;border:1px solid #d2c3c380;gap:10px;padding:12px;display:grid}.owner-launch-guide__heading{gap:2px;display:grid}.owner-launch-guide__heading .eyebrow,.owner-launch-guide__heading h3{margin:0}.owner-launch-guide__heading h3{font-family:Playfair Display,Georgia,serif;font-size:1.16rem;line-height:1.2}.owner-launch-guide__steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.owner-launch-step{min-width:0;min-height:34px;color:var(--on-surface-variant);letter-spacing:.03em;text-transform:uppercase;background:#ffffffb3;border:1px solid #d2c3c37a;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 7px;font-size:.68rem;font-weight:900;display:inline-flex}.owner-launch-step span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.owner-launch-step--done{color:#4d641d;background:#fed48838;border-color:#775a1938}.owner-wedding-panel__heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.owner-wedding-panel__heading h3,.owner-wedding-panel__heading p,.owner-wedding-note{margin:0}.owner-wedding-panel__heading h3{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;line-height:1.2}.owner-wedding-panel__heading p,.owner-wedding-note{color:var(--on-surface-variant);font-size:.88rem;line-height:1.45}.owner-wedding-list{gap:8px;display:grid}.owner-wedding-row{width:100%;min-height:112px;color:var(--on-surface);text-align:left;border-radius:var(--radius);background:#ffffff9e;border:1px solid #d2c3c385;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px;display:grid}.owner-wedding-row:hover:not(:disabled),.owner-wedding-row:focus-visible{border-color:#70585961;box-shadow:0 14px 30px #7058591f}.owner-wedding-row:disabled{cursor:progress;opacity:.72}.owner-wedding-row__identity,.owner-wedding-row__status-grid,.owner-wedding-row__action{min-width:0;display:grid}.owner-wedding-row__identity{gap:4px}.owner-wedding-row__title-line{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}.owner-wedding-row__identity strong,.owner-wedding-row__identity>span:not(.owner-wedding-row__title-line),.owner-wedding-row__date,.owner-wedding-row__action span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.owner-wedding-row__identity strong{font-size:1rem;font-weight:900}.owner-wedding-row__identity>span:not(.owner-wedding-row__title-line){color:var(--on-surface-variant);font-size:.78rem;font-weight:700}.owner-wedding-row__date{color:#45515f;background:#c5e0ebb8;border-radius:999px;justify-self:start;align-items:center;gap:6px;max-width:100%;min-height:28px;padding:0 9px;font-size:.72rem;font-weight:900;display:inline-flex}.owner-wedding-row__date svg{flex:none}.owner-wedding-row__date--missing{color:var(--on-surface-variant);background:#f7fafdd1}.owner-wedding-row__status-grid{grid-template-columns:1fr;gap:8px}.owner-wedding-status{background:#f7fafdb8;border:1px solid #d2c3c375;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;min-width:0;min-height:68px;padding:10px;display:grid}.owner-wedding-status svg{color:var(--outline)}.owner-wedding-status>span{gap:2px;min-width:0;display:grid}.owner-wedding-status small,.owner-wedding-status strong,.owner-wedding-status em,.owner-wedding-status b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.owner-wedding-status small{color:var(--on-surface-variant);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:900}.owner-wedding-status strong{color:var(--on-surface);font-size:.82rem;font-style:normal;font-weight:900}.owner-wedding-status em{color:var(--on-surface-variant);font-size:.72rem;font-style:normal;font-weight:750}.owner-wedding-status b{color:var(--on-surface-variant);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:900}.owner-wedding-status--ready{background:#fed48838;border-color:#775a192e}.owner-wedding-status--ready svg{color:#4d641d}.owner-wedding-status--setup{background:#c5e0eb6b;border-color:#45515f29}.owner-wedding-status--locked{background:#f7fafdd1}.owner-wedding-row__action{min-height:38px;color:var(--on-primary);background:var(--primary);border-radius:999px;grid-template-columns:minmax(0,auto) 17px;justify-content:start;align-items:center;gap:8px;padding:0 11px;font-size:.78rem;font-weight:900}.owner-wedding-row__action svg{flex:none}@media (min-width:760px){.owner-wedding-row{grid-template-columns:minmax(180px,.9fr) minmax(360px,1.6fr) auto;align-items:center}.owner-wedding-row__title-line{grid-template-columns:minmax(0,1fr)}.owner-wedding-row__status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-wedding-row__action{justify-content:center;min-width:122px}}.admin-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;max-width:none;display:grid}.admin-actions{gap:8px;display:inline-flex}.admin-tabs{background:#ffffffb3;border:1px solid #d2c3c37a;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(100%,360px);min-height:48px;margin-bottom:16px;padding:5px;display:inline-grid}.admin-tab{min-width:0;min-height:38px;color:var(--on-surface-variant);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.78rem;font-weight:900;display:inline-flex}.admin-tab span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-tab--active{color:var(--on-secondary-container);background:var(--secondary-container)}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.admin-stats div{border-radius:var(--radius);min-width:0;box-shadow:var(--soft-shadow);background:#ffffffb8;border:1px solid #f2d2d27a;padding:16px}.admin-stats span{color:var(--on-surface);font-family:Playfair Display,Georgia,serif;font-size:1.8rem;font-weight:700;line-height:1;display:block}.admin-stats p{color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;margin:7px 0 0;font-size:.73rem;font-weight:800}.owner-launch-checklist{border-radius:var(--radius);box-shadow:var(--soft-shadow);background:#ffffffb8;border:1px solid #d2c3c385;grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:18px;padding:16px;display:grid}.owner-launch-checklist__heading{gap:5px;min-width:0;display:grid}.owner-launch-checklist__heading .eyebrow,.owner-launch-checklist__heading h2,.owner-launch-checklist__heading p{margin:0}.owner-launch-checklist__heading h2{font-family:Playfair Display,Georgia,serif;font-size:1.35rem;line-height:1.2}.owner-launch-checklist__heading p:not(.eyebrow){max-width:760px;color:var(--on-surface-variant);font-size:.88rem;font-weight:750;line-height:1.45}.owner-launch-checklist__next-action{justify-self:start;min-width:184px;padding:0 16px}.owner-launch-checklist__items{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:8px;display:grid}.owner-launch-checklist__item{min-width:0;min-height:44px;color:var(--on-surface-variant);background:#f7fafdb8;border:1px solid #d2c3c37a;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.owner-launch-checklist__item svg{color:var(--outline)}.owner-launch-checklist__item span,.owner-launch-checklist__item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.owner-launch-checklist__item span{font-size:.82rem;font-weight:800}.owner-launch-checklist__item strong{color:var(--on-surface);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:900}.owner-launch-checklist__item--done svg,.owner-launch-checklist__item--done strong{color:#4d641d}.owner-launch-checklist__purchase{min-width:0;color:var(--on-surface-variant);background:#f7fafdc2;border:1px solid #d2c3c37a;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:3px 9px;padding:11px 12px;display:grid}.owner-launch-checklist__purchase[data-purchase-state=ready]{background:#fed48833;border-color:#775a192e}.owner-launch-checklist__purchase svg{color:var(--primary);grid-row:1/span 3}.owner-launch-checklist__purchase[data-purchase-state=ready] svg{color:#4d641d}.owner-launch-checklist__purchase span,.owner-launch-checklist__purchase strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.owner-launch-checklist__purchase span{letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:900}.owner-launch-checklist__purchase strong{color:var(--on-surface);font-size:.86rem;font-weight:900}.owner-launch-checklist__purchase p{color:var(--on-surface-variant);grid-column:2;margin:0;font-size:.8rem;font-weight:750;line-height:1.35}.owner-launch-checklist__retention{color:var(--on-surface-variant);margin:0;font-size:.84rem;font-weight:700;line-height:1.42}@media (min-width:760px){.owner-launch-checklist{grid-template-columns:minmax(0,1fr) auto;align-items:start}.owner-launch-checklist__items,.owner-launch-checklist__purchase,.owner-launch-checklist__retention{grid-column:1/-1}}.subscription-panel,.share-readiness-panel,.photo-export-panel{border-radius:var(--radius);box-shadow:var(--soft-shadow);background:#ffffffb3;border:1px solid #d2c3c385;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;margin-bottom:18px;padding:16px;display:grid}.subscription-panel__copy,.share-readiness-panel__copy,.photo-export-panel__copy{gap:4px;min-width:0;display:grid}.subscription-panel__copy .eyebrow,.subscription-panel__copy h2,.subscription-panel__copy span,.share-readiness-panel__copy .eyebrow,.share-readiness-panel__copy h2,.share-readiness-panel__copy span,.photo-export-panel__copy .eyebrow,.photo-export-panel__copy h2,.photo-export-panel__copy span{margin:0}.subscription-panel__copy h2,.share-readiness-panel__copy h2,.photo-export-panel__copy h2{text-overflow:ellipsis;white-space:nowrap;font-family:Playfair Display,Georgia,serif;font-size:1.35rem;line-height:1.2;overflow:hidden}.subscription-panel__copy span,.share-readiness-panel__copy span,.photo-export-panel__copy span{color:var(--on-surface-variant);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:900}.subscription-panel__note,.photo-export-panel__copy p,.photo-export-panel__notice{color:var(--on-surface-variant);margin:4px 0 0;font-size:.84rem;font-weight:700;line-height:1.42}.subscription-panel__tiers{grid-template-columns:minmax(0,1fr);gap:9px;min-width:0;display:grid}.subscription-panel__tier{min-width:0;color:var(--on-surface);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:#ffffff94;border:1px solid #d2c3c38f;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3px 10px;padding:11px;display:grid}.subscription-panel__tier--selected{background:#fed48838;border-color:#775a1942;box-shadow:inset 0 0 0 1px #775a191f}.subscription-panel__tier:disabled{cursor:default;opacity:.72}.subscription-panel__tier span,.subscription-panel__tier strong,.subscription-panel__tier p{text-overflow:ellipsis;overflow:hidden}.subscription-panel__tier span{color:var(--on-surface);flex-wrap:wrap;align-items:center;gap:5px;font-size:.86rem;font-weight:900;line-height:1.25;display:flex}.subscription-panel__tier b{min-height:18px;color:var(--primary);letter-spacing:.05em;text-transform:uppercase;background:#ffffffbd;border:1px solid #775a1924;border-radius:999px;align-items:center;padding:0 6px;font-size:.58rem;font-weight:900;display:inline-flex}.subscription-panel__tier strong{color:var(--primary);justify-self:end;font-size:.92rem;font-weight:950}.subscription-panel__tier p{color:var(--on-surface-variant);grid-column:1/-1;margin:0;font-size:.76rem;font-weight:750;line-height:1.35}.subscription-panel__states,.photo-export-panel__states{grid-template-columns:1fr;gap:8px;min-width:0;display:grid}.subscription-panel__state{min-width:0;color:var(--on-surface-variant);background:#f7fafdbd;border:1px solid #d2c3c375;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:2px 8px;padding:10px;display:grid}.photo-export-panel__state{min-width:0;min-height:92px;color:var(--on-surface-variant);background:#f7fafdbd;border:1px solid #d2c3c375;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-content:start;align-items:start;gap:2px 8px;padding:10px;display:grid}.subscription-panel__state[data-state=ready],.subscription-panel__state[data-state=complete],.subscription-panel__state[data-state=enabled]{background:#fed4882e;border-color:#775a192e}.subscription-panel__state[data-usage-state=full]{background:#ffdad67a;border-color:#ba1a1a33}.subscription-panel__state[data-usage-state=low]{background:#fed48842;border-color:#775a193d}.subscription-panel__state[data-state=needed],.subscription-panel__state[data-state=open]{background:#c5e0eb5c;border-color:#45515f29}.photo-export-panel__state[data-state=open],.photo-export-panel__state[data-state=ready]{background:#fed4882e;border-color:#775a192e}.photo-export-panel__state[data-state=not-open],.photo-export-panel__state[data-state=checking],.photo-export-panel__state[data-state=building]{background:#c5e0eb5c;border-color:#45515f29}.photo-export-panel__state[data-state=missing-date],.photo-export-panel__state[data-state=expired],.photo-export-panel__state[data-state=empty],.photo-export-panel__state[data-state=waiting]{background:#f7fafdd1}.subscription-panel__state svg,.photo-export-panel__state svg{color:var(--outline);grid-row:1/span 3}.subscription-panel__state[data-state=ready] svg,.subscription-panel__state[data-state=complete] svg,.subscription-panel__state[data-state=enabled] svg,.photo-export-panel__state[data-state=open] svg,.photo-export-panel__state[data-state=ready] svg{color:#4d641d}.subscription-panel__state span,.subscription-panel__state strong,.subscription-panel__state p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-export-panel__state span,.photo-export-panel__state strong,.photo-export-panel__state p{text-overflow:ellipsis;overflow:hidden}.photo-export-panel__state span,.photo-export-panel__state strong{white-space:nowrap}.subscription-panel__state span,.photo-export-panel__state span{color:var(--on-surface-variant);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:900}.subscription-panel__state strong,.photo-export-panel__state strong{color:var(--on-surface);font-size:.82rem;font-weight:900}.subscription-panel__state p{color:var(--on-surface-variant);margin:0;font-size:.72rem;font-weight:750}.subscription-panel__usage-meter{background:#d2c3c36b;border-radius:999px;grid-column:2;width:100%;height:6px;overflow:hidden}.subscription-panel__usage-meter span{background:var(--primary);border-radius:inherit;min-width:2px;height:100%;display:block}.subscription-panel__state[data-usage-state=full] .subscription-panel__usage-meter span{background:var(--error)}.subscription-panel__state[data-usage-state=low] .subscription-panel__usage-meter span{background:var(--secondary)}.photo-export-panel__state p{color:var(--on-surface-variant);margin:0;font-size:.72rem;font-weight:750;line-height:1.32}.subscription-panel__checkout{background:#ffffff9e;border:1px solid #d2c3c380;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.subscription-panel__checkout div{gap:3px;min-width:0;display:grid}.subscription-panel__checkout span,.subscription-panel__checkout strong,.subscription-panel__checkout p{text-overflow:ellipsis;overflow:hidden}.subscription-panel__checkout span{color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.68rem;font-weight:900}.subscription-panel__checkout strong{color:var(--primary);white-space:nowrap;font-family:Playfair Display,Georgia,serif;font-size:1.14rem;line-height:1.1}.subscription-panel__checkout p{color:var(--on-surface-variant);margin:0;font-size:.8rem;font-weight:750;line-height:1.35}.subscription-panel__action,.share-readiness-panel__action,.photo-export-panel__action{justify-self:start;min-width:184px;padding:0 16px}.photo-export-panel__notice{color:#4d641d}.photo-export-panel__actions{background:#ffffff9e;border:1px solid #d2c3c380;border-radius:8px;align-content:center;gap:8px;min-width:0;padding:12px;display:grid}.photo-export-panel__actions .secondary-button{justify-content:space-between;width:100%}.photo-export-panel__action-note{color:var(--on-surface-variant);margin:0;font-size:.72rem;font-weight:850;line-height:1.35}.photo-export-panel__progress{grid-column:1/-1;gap:6px;min-width:0;margin-top:6px;display:grid}.photo-export-panel__progress-label{min-width:0;color:var(--on-surface-variant);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;font-size:.78rem;font-weight:900;display:grid}.photo-export-panel__progress-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-export-panel__progress-label strong{color:var(--on-surface);font-size:.72rem}.photo-export-panel__meter{background:#55443a1f;border-radius:999px;height:7px;overflow:hidden}.photo-export-panel__meter span{background:linear-gradient(90deg, var(--accent), #4d641d);border-radius:inherit;height:100%;transition:width .18s;display:block}.photo-export-panel__progress--indeterminate .photo-export-panel__meter span{width:34%;animation:1.2s ease-in-out infinite photo-export-meter}@keyframes photo-export-meter{0%{transform:translate(-110%)}to{transform:translate(310%)}}.share-readiness-panel__handoff{gap:10px;min-width:0;display:grid}.share-readiness-panel__step{background:#f7fafdb8;border:1px solid #d2c3c380;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px;display:grid}.share-readiness-panel__step[data-step-state=ready]{background:#f7fafde6;border-color:#4d641d42}.share-readiness-panel__step[data-step-state=locked]{background:#fffbfeb8}.share-readiness-panel__step-icon{width:34px;height:34px;color:var(--primary);background:#fbdbdb80;border:1px solid #debfbfb8;border-radius:999px;place-items:center;display:grid}.share-readiness-panel__step[data-step-state=ready] .share-readiness-panel__step-icon{color:#4d641d;background:#e9f4d6b8;border-color:#4d641d38}.share-readiness-panel__step[data-step-state=locked] .share-readiness-panel__step-icon{color:var(--outline);background:#e0e3e673;border-color:#81747440}.share-readiness-panel__code,.share-readiness-panel__locked{gap:4px;min-width:0;display:grid}.share-readiness-panel__code span,.share-readiness-panel__locked span,.share-readiness-panel__url span,.share-readiness-panel__invitation-header span,.guest-link-card-panel__actions-heading span{color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:900}.share-readiness-panel__code strong,.share-readiness-panel__locked strong,.share-readiness-panel__invitation-header strong,.guest-link-card-panel__actions-heading strong{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;font-family:Playfair Display,Georgia,serif;font-size:1.18rem;line-height:1.1;overflow:hidden}.share-readiness-panel__code p,.share-readiness-panel__locked p,.share-readiness-panel__url p{color:var(--on-surface-variant);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.76rem;font-weight:800;line-height:1.25;overflow:hidden}.share-readiness-panel__locked,.share-readiness-panel__locked strong{color:var(--outline)}.share-readiness-panel__copy-icon{align-self:center;width:36px;height:36px}.share-readiness-panel__url{gap:6px;min-width:0;display:grid}.share-readiness-panel__url input{font-size:.82rem}.share-readiness-panel__invitation{background:#ffffff9e;border:1px solid #d2c3c380;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.share-readiness-panel__invitation-header{align-items:center;gap:10px;min-width:0;display:grid}.share-readiness-panel__invitation-header>div,.guest-link-card-panel__actions-heading{gap:3px;min-width:0;display:grid}.share-readiness-panel__invitation label{gap:6px;min-width:0;display:grid}.share-readiness-panel__invitation textarea{resize:vertical;min-height:116px;font-size:.84rem;line-height:1.45}.share-readiness-panel__invite-action{justify-self:start;min-width:154px}.share-readiness-panel__action{display:none}.guest-link-card-panel{border-radius:var(--radius);box-shadow:var(--soft-shadow);background:#ffffffb3;border:1px solid #d2c3c385;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;margin-bottom:18px;padding:16px;display:grid}.guest-link-card-panel__copy{gap:4px;min-width:0;display:grid}.guest-link-card-panel__copy .eyebrow,.guest-link-card-panel__copy h2,.guest-link-card-panel__copy span{margin:0}.guest-link-card-panel__copy h2{text-overflow:ellipsis;white-space:nowrap;font-family:Playfair Display,Georgia,serif;font-size:1.35rem;line-height:1.2;overflow:hidden}.guest-link-card-panel__copy span{color:var(--on-surface-variant);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:900;line-height:1.35}.guest-link-card-panel__state-row{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.guest-link-card-panel__state-pill{min-height:28px;color:var(--outline);background:#f7fafdbd;border:1px solid #81747438;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.guest-link-card-panel__state-pill[data-state=ready]{color:#4d641d;background:#e9f4d6a8;border-color:#4d641d3d}.guest-link-card-panel__state-pill span{color:currentColor;letter-spacing:.08em;font-size:.68rem}.guest-link-card-panel__preview{justify-items:center;min-width:0;display:grid}.guest-link-card{width:min(100%,280px);min-width:0;color:var(--on-surface);border-radius:var(--radius);background:linear-gradient(#fbdbdb6b,#fff0 42%),#fff;border:1px solid #d2c3c39e;justify-items:center;gap:10px;padding:14px;display:grid}.guest-link-card__brand{color:var(--primary);letter-spacing:.16em;text-align:center;text-transform:uppercase;font-size:.66rem;font-weight:900;line-height:1.2}.guest-link-card__heading{text-align:center;gap:2px;max-width:100%;display:grid}.guest-link-card__heading span,.guest-link-card__code span{color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:900}.guest-link-card__heading strong{overflow-wrap:anywhere;font-family:Playfair Display,Georgia,serif;font-size:1.24rem;line-height:1.14}.guest-link-card__heading p,.guest-link-card__note{color:var(--on-surface-variant);text-align:center;margin:0;font-size:.82rem;font-weight:800;line-height:1.3}.guest-link-card__qr{place-items:center;width:176px;height:176px;display:grid}.guest-link-card__qr-code{background:#fff;border-radius:8px;width:176px;height:176px;display:block}.guest-link-card__qr-placeholder{width:176px;height:176px;color:var(--outline);border-radius:var(--radius);background:#f7fafdc7;border:1px dashed #81747494;place-items:center;padding:16px;display:grid}.guest-link-card__qr-placeholder span{color:var(--outline);letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:900}.guest-link-card__code{border-radius:var(--radius);background:#fbdbdbb8;border:1px solid #debfbfe6;justify-items:center;gap:3px;width:100%;padding:10px;display:grid}.guest-link-card__code strong{overflow-wrap:anywhere;color:#281717;text-align:center;font-family:Playfair Display,Georgia,serif;font-size:1.24rem;line-height:1.1}.guest-link-card-panel__actions{background:#f7fafda3;border:1px solid #d2c3c375;border-radius:8px;align-items:stretch;gap:8px;min-width:0;padding:12px;display:grid}.guest-link-card-panel__actions .secondary-button{justify-content:space-between;min-width:154px;padding:0 14px}.guest-link-card-panel__status{color:#4d641d;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.wedding-date-panel{border-radius:var(--radius);box-shadow:var(--soft-shadow);background:#ffffffb3;border:1px solid #d2c3c385;grid-template-columns:minmax(0,1fr);align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:grid}.wedding-date-panel__copy{gap:4px;min-width:0;display:grid}.wedding-date-panel__copy .eyebrow,.wedding-date-panel__copy h2,.wedding-date-panel__copy span{margin:0}.wedding-date-panel__copy h2{text-overflow:ellipsis;white-space:nowrap;font-family:Playfair Display,Georgia,serif;font-size:1.35rem;line-height:1.2;overflow:hidden}.wedding-date-panel__copy span{color:var(--on-surface-variant);font-size:.82rem;font-weight:800;line-height:1.35}.wedding-date-panel label{min-width:0}.wedding-date-panel__action{justify-self:start;min-width:156px;padding:0 16px}.owner-settings-panel{align-items:stretch}.owner-settings-status,.owner-settings-current,.owner-category-summary{background:#f7fafdad;border:1px solid #8174742e;border-radius:8px;gap:8px;min-width:0;padding:12px;display:grid}.owner-settings-status{grid-template-columns:auto minmax(0,1fr);align-content:center;column-gap:8px}.owner-settings-status svg{color:var(--primary);grid-row:span 2;align-self:center}.owner-settings-status span,.owner-settings-current span,.owner-category-summary span{color:var(--on-surface-variant);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.68rem;font-weight:900;line-height:1.2;overflow:hidden}.owner-settings-status strong,.owner-settings-current strong,.owner-category-summary strong{min-width:0;color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:900;line-height:1.25;overflow:hidden}.owner-settings-status--missing{background:#fed4883d;border-color:#96681333}.owner-settings-field{align-content:end}.owner-settings-actions{align-content:end;min-width:0;display:grid}.wedding-details-panel{grid-template-columns:minmax(0,1fr)}.wedding-details-panel .wedding-date-panel__action{justify-self:stretch}.owner-category-panel{grid-template-columns:minmax(0,1fr);align-items:start}.owner-category-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-category-summary div,.owner-settings-current div{gap:3px;min-width:0;display:grid}.owner-category-list{flex-wrap:wrap;gap:7px;min-width:0;display:flex}.owner-category-chip{min-height:30px;color:var(--on-tertiary-container);background:var(--tertiary-container);letter-spacing:.06em;text-transform:uppercase;border:1px solid #d2c3c35c;border-radius:999px;align-items:center;padding:5px 10px;font-size:.72rem;font-weight:900;display:inline-flex}.owner-category-chip--custom{color:#4d641d;background:#fed4883d}.owner-category-add{grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;display:grid}.admin-status-filters{background:#ffffffad;border:1px solid #d2c3c37a;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:min(100%,420px);min-height:46px;margin-bottom:18px;padding:5px;display:inline-grid}.admin-status-filter{min-width:0;min-height:36px;color:var(--on-surface-variant);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:.75rem;font-weight:900;display:inline-flex}.admin-status-filter span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-status-filter strong{min-width:22px;color:inherit;background:#ffffffb8;border-radius:999px;padding:3px 7px;font-size:.7rem;line-height:1}.admin-status-filter--active{color:var(--on-secondary-container);background:var(--secondary-container)}.admin-status-filter--active strong{background:#ffffff9e}.admin-filter-empty,.admin-inline-error{margin:0 0 18px}.admin-photo-grid{grid-template-columns:1fr;gap:16px;display:grid}.admin-photo-card{border-radius:var(--radius);min-width:0;box-shadow:var(--soft-shadow);background:#ffffffc7;border:1px solid #d2c3c385;gap:13px;padding:12px;display:grid}.admin-photo-card img{aspect-ratio:4/3;object-fit:cover;background:var(--surface-container);border-radius:var(--radius);width:100%}.admin-photo-card__body{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.admin-photo-card__body p{color:var(--on-surface);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-weight:800;display:-webkit-box;overflow:hidden}.admin-photo-card__body span{color:var(--on-surface-variant);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:700;overflow:hidden}.status-pill{min-width:72px;color:var(--on-secondary-container);text-align:center;background:var(--secondary-container);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:900}.admin-photo-card__body .status-pill{color:var(--on-secondary-container)}.status-pill--hidden{color:#93000a;background:#ffdad6b8}.status-pill--share{background:var(--tertiary-container)}.status-pill--handoff{color:#4d641d;background:#fed4883d}.status-pill--archive{color:#45515f;background:#c5e0ebb8}.status-pill--locked{color:var(--on-surface-variant);background:#f7fafdd1}.admin-photo-card__body .status-pill--hidden{color:#93000a}.admin-message-list{grid-template-columns:1fr;gap:14px;display:grid}.admin-message-card{border-radius:var(--radius);min-width:0;box-shadow:var(--soft-shadow);background:#ffffffc7;border:1px solid #d2c3c385;gap:13px;padding:16px;display:grid}.admin-message-card__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.admin-message-card__header p,.admin-message-card__copy{margin:0}.admin-message-card__header p{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.admin-message-card__header span{color:var(--on-surface-variant);font-size:.78rem;font-weight:700}.admin-message-card__header .status-pill,.admin-message-card__header .status-pill--hidden{color:var(--on-secondary-container)}.admin-message-card__header .status-pill--hidden{color:#93000a}.admin-message-card__copy{color:var(--on-surface);overflow-wrap:anywhere;font-family:Playfair Display,Georgia,serif;font-size:1.16rem;line-height:1.42}.secondary-button--danger{color:#93000a;border-color:#ba1a1a6b}.secondary-button--danger:hover{background:#ffdad67a}.fab{z-index:40;width:58px;height:58px;color:var(--on-secondary);background:var(--secondary);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:fixed;bottom:96px;right:18px;box-shadow:0 16px 32px #775a1942}.bottom-nav{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7fafddb;border-top:1px solid #d2c3c3a6;border-radius:16px 16px 0 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-height:76px;padding:10px 8px 13px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -9px 28px #28171714}.nav-item{min-width:0;min-height:54px;color:var(--on-surface-variant);background:0 0;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.72rem;font-weight:800;display:inline-flex}.nav-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.nav-item--active{color:var(--on-secondary-container);background:var(--secondary-container)}.camera-shell{color:#fff;background:#000;grid-template-rows:1fr auto;height:100dvh;min-height:100dvh;display:grid;overflow:hidden}.viewfinder{background:#111;min-height:0;position:relative;overflow:hidden}.viewfinder__image--flipped{transform:scaleX(-1)}.viewfinder__mask{pointer-events:none;background:linear-gradient(#0000007a,#0000 24% 72%,#00000094),#0000000f;position:absolute;inset:0}.camera-flash{opacity:0;pointer-events:none;background:#fff;transition:opacity 80ms;position:absolute;inset:0}.camera-flash--active{opacity:.9}.camera-header{z-index:2;justify-content:space-between;align-items:center;padding:28px 22px;display:flex;position:absolute;top:0;left:0;right:0}.camera-icon-button,.camera-round-button,.thumbnail-button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0000003d;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.camera-icon-button{width:42px;height:42px}.camera-icon-button--active{color:var(--secondary-container);background:#775a196b}.camera-brand{justify-items:center;display:grid}.camera-brand span{font-family:Playfair Display,Georgia,serif;font-size:clamp(1.7rem,7vw,2.5rem);font-weight:700}.camera-brand small{color:#ffffffb8;letter-spacing:.18em;text-transform:uppercase;margin-top:3px;font-size:.73rem;font-weight:800}.reticle{opacity:.6;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.reticle span{width:92px;height:92px;box-shadow:inset 14px 14px 0 -12px var(--secondary-container), inset -14px 14px 0 -12px var(--secondary-container), inset 14px -14px 0 -12px var(--secondary-container), inset -14px -14px 0 -12px var(--secondary-container);border:1px solid #ffffff9e;border-radius:12px}.preview-badge{z-index:2;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00000057;border:1px solid #fff3;border-radius:999px;align-items:center;gap:8px;max-width:calc(100% - 44px);min-height:38px;padding:0 12px;font-size:.78rem;font-weight:800;display:inline-flex;position:absolute;bottom:22px;left:22px;box-shadow:0 12px 28px #00000029}.preview-badge span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.camera-controls{background:#000;grid-template-columns:60px 1fr 60px;align-items:center;gap:24px;padding:22px 24px 24px;display:grid}.thumbnail-button,.camera-round-button{width:58px;height:58px}.thumbnail-button{border:1px solid #ffffff38;border-radius:12px;overflow:hidden}.thumbnail-button img{object-fit:cover;width:100%;height:100%}.shutter{border:4px solid var(--secondary-container);background:0 0;border-radius:999px;justify-self:center;width:82px;height:82px;padding:6px}.shutter span{border-radius:inherit;background:#fff;width:100%;height:100%;display:block}.upload-sheet{color:var(--on-surface);border-radius:var(--radius-lg);background:#f7fafdeb;grid-column:1/-1;grid-template-columns:1fr;gap:14px;padding:18px;display:grid}.selected-photo-panel{border-radius:var(--radius);background:#ddd9d45c;border:1px solid #d2c3c39e;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:12px;min-height:72px;padding:12px;display:grid}.selected-photo-panel>div{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:3px 9px;min-width:0;display:grid}.selected-photo-panel svg{color:var(--primary);grid-row:span 2}.selected-photo-panel p{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;font-weight:800;overflow:hidden}.selected-photo-panel span{color:var(--on-surface-variant);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:700;overflow:hidden}.selected-photo-panel--empty{background:#ffffff6b;border-style:dashed}.mini-icon-button{width:42px;height:42px;color:var(--on-secondary-container);background:var(--secondary-container);border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.mini-icon-button:disabled{cursor:progress;opacity:.6}.text-button{min-height:42px;color:var(--primary);border-radius:var(--radius);background:0 0;border:0;padding:0 12px;font-size:.86rem;font-weight:900}.text-button:hover{background:#70585914}.upload-progress{gap:8px;min-height:46px;display:grid}.upload-progress__bar{background:#70585924;border-radius:999px;height:8px;overflow:hidden}.upload-progress__bar span{background:linear-gradient(90deg, var(--primary), var(--secondary));border-radius:inherit;height:100%;transition:width .18s;display:block}.upload-progress__copy{color:var(--on-surface-variant);justify-content:space-between;align-items:center;gap:12px;font-size:.78rem;font-weight:800;display:flex}.upload-progress__copy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.upload-progress__copy strong{color:var(--primary);font-size:.78rem}.upload-sheet--success{align-items:stretch}.capture-success-card{border-radius:var(--radius);background:#ffffffa8;border:1px solid #70585924;grid-column:1/-1;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:14px;min-height:132px;padding:12px;display:grid}.capture-success-card__media{background:var(--surface-container);border-radius:var(--radius);width:78px;height:98px;overflow:hidden}.capture-success-card__media img{object-fit:cover;width:100%;height:100%}.capture-success-card__copy{gap:4px;min-width:0;display:grid}.capture-success-card__copy>span{width:fit-content;max-width:100%;color:var(--on-secondary-container);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:.72rem;font-weight:900;display:inline-flex}.capture-success-card__copy h2{overflow-wrap:anywhere;color:var(--on-surface);margin:0;font-family:Playfair Display,Georgia,serif;font-size:1.35rem;line-height:1.08}.capture-success-card__copy p{color:var(--on-surface-variant);margin:0;font-size:.82rem;font-weight:700;line-height:1.35}.capture-success-card__actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.capture-success-card__actions .primary-button,.capture-success-card__actions .secondary-button{flex:158px;min-width:0}.capture-success-card__actions .text-button{flex:112px}.stats-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:48px;display:grid}.stat-card{min-height:166px;color:var(--primary);text-align:center;border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;border:1px solid #ffffffb8;justify-items:center;padding:22px;display:grid}.stat-card strong{color:var(--on-surface);font-family:Playfair Display,Georgia,serif;font-size:2.35rem;line-height:1.05}.stat-card span{color:var(--on-surface-variant);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:800}.gallery-summary{max-width:780px;color:var(--on-surface);border-radius:var(--radius-lg);box-shadow:var(--soft-shadow);background:#ffffffb8;border:1px solid #f2d2d294;gap:18px;margin:-24px 0 30px;padding:18px;display:grid}.gallery-summary__copy{gap:8px;display:grid}.gallery-summary__copy>span{color:var(--primary);letter-spacing:0;text-transform:uppercase;align-items:center;gap:7px;font-size:.75rem;font-weight:800;line-height:1.2;display:inline-flex}.gallery-summary h2,.gallery-summary p{margin:0}.gallery-summary h2{font-family:Playfair Display,Georgia,serif;font-size:1.4rem;line-height:1.22}.gallery-summary p{overflow-wrap:anywhere;color:var(--on-surface-variant);line-height:1.52}.gallery-summary__actions{gap:10px;display:grid}.gallery-summary__actions .primary-button,.gallery-summary__actions .secondary-button,.gallery-summary__actions .text-button{width:100%}.empty-state{max-width:520px;color:var(--primary);text-align:center;border-radius:var(--radius-lg);background:#ddd9d46b;justify-items:center;gap:0;margin:0 auto;padding:42px 24px;display:grid}.empty-state--owner-created{background:#fed4882e;border:1px solid #775a192e}.empty-state p{max-width:360px;margin:10px 0 0}.empty-state__actions{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;margin-top:20px;display:flex}.empty-state__actions .primary-button,.empty-state__actions .secondary-button{min-width:min(100%,238px);padding:0 18px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.gallery-tile{min-height:214px}.gallery-tile__media-button{height:100%;min-height:inherit}.gallery-tile--feature{grid-column:1/-1;min-height:360px}.gallery-tile img{width:100%;height:100%;min-height:inherit;object-fit:cover}.gallery-tile div{display:block}.gallery-tile span{opacity:.82;font-size:.78rem}.message-form{max-width:680px;margin-bottom:28px}.message-form__meta{color:var(--on-surface-variant);justify-content:space-between;align-items:flex-start;gap:12px;margin-top:-8px;font-size:.84rem;line-height:1.4;display:flex}.message-form__meta p{max-width:460px;margin:0}.message-form__meta span{color:var(--primary);white-space:nowrap;flex:none;font-weight:800}.message-form__meta span[data-warning=true]{color:#93000a}.guestbook-success{max-width:780px;color:var(--on-surface);border-radius:var(--radius-lg);box-shadow:var(--soft-shadow);background:#fed48838;border:1px solid #775a193d;gap:18px;margin:-8px 0 28px;padding:18px;display:grid}.guestbook-success>div:first-child{gap:8px;display:grid}.guestbook-success>div:first-child>span{color:var(--primary);letter-spacing:0;text-transform:uppercase;align-items:center;gap:7px;font-size:.75rem;font-weight:800;line-height:1.2;display:inline-flex}.guestbook-success h2,.guestbook-success p{margin:0}.guestbook-success h2{font-family:Playfair Display,Georgia,serif;font-size:1.35rem;line-height:1.22}.guestbook-success p{overflow-wrap:anywhere;color:var(--on-surface-variant);line-height:1.52}.guestbook-success__actions{gap:10px;display:grid}.guestbook-success__actions .secondary-button,.guestbook-success__actions .text-button{width:100%}.message-list{gap:16px;max-width:780px;display:grid}.message-card{border-radius:var(--radius-lg);box-shadow:var(--soft-shadow);background:#ffffffc7;border:1px solid #f2d2d27a;padding:22px}.message-card p{color:var(--on-surface);font-family:Playfair Display,Georgia,serif;font-size:1.35rem;line-height:1.35}.message-card footer{color:var(--on-surface-variant);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:.82rem;display:flex}@media (min-width:720px){.top-bar{padding:0 32px}.entry-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch;margin-top:-36px}.entry-card{padding:42px}.guestbook-success{grid-template-columns:minmax(0,1fr) auto;align-items:center}.guestbook-success__actions{min-width:190px}.gallery-summary{grid-template-columns:minmax(0,1fr) minmax(190px,220px);align-items:center}.feed-action-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.masonry{column-count:2}.upload-sheet{grid-template-columns:1fr 190px auto;align-items:end}.selected-photo-panel,.upload-progress{grid-column:1/-1}.capture-success-card{grid-template-columns:96px minmax(0,1fr) minmax(180px,220px);padding:14px}.capture-success-card__media{width:96px;height:112px}.capture-success-card__actions{flex-direction:column;grid-column:auto;align-items:stretch}.capture-success-card__actions .primary-button,.capture-success-card__actions .secondary-button,.capture-success-card__actions .text-button{flex:none;width:100%}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-panel{grid-template-columns:minmax(0,.78fr) minmax(220px,.9fr) minmax(220px,.9fr) minmax(190px,.62fr);align-items:stretch}.subscription-panel__states{grid-template-columns:1fr}.subscription-panel__checkout{align-content:space-between}.guest-link-card-panel{grid-template-columns:minmax(0,.9fr) minmax(230px,280px) minmax(184px,220px)}.guest-link-card-panel__preview,.guest-link-card{justify-self:center}.guest-link-card-panel__actions{justify-self:end;width:100%}.guest-link-card-panel__actions .secondary-button{width:100%}.guest-link-card-panel__status{text-align:center}.share-readiness-panel{grid-template-columns:minmax(0,.75fr) minmax(320px,1.25fr)}.share-readiness-panel__copy{grid-area:1/1}.share-readiness-panel__handoff{grid-area:1/2;grid-template-columns:repeat(2,minmax(0,1fr))}.share-readiness-panel__invitation{grid-column:1/-1;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);align-items:start}.share-readiness-panel__invitation-header{align-self:stretch}.wedding-date-panel{grid-template-columns:minmax(0,1fr) minmax(180px,220px) auto}.owner-settings-panel--event-date{grid-template-columns:minmax(180px,.85fr) minmax(190px,.72fr) minmax(180px,1fr) auto}.wedding-details-panel{grid-template-columns:minmax(180px,.75fr) minmax(210px,.85fr) repeat(2,minmax(150px,1fr)) auto}.owner-category-panel{grid-template-columns:minmax(180px,.75fr) minmax(190px,.62fr) minmax(220px,1fr)}.owner-category-list{grid-column:3}.owner-category-add{grid-column:3;grid-template-columns:minmax(180px,1fr) auto}.photo-detail-dialog{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.photo-detail-dialog__media img{height:min(74vh,760px);max-height:none}.photo-detail-dialog__body{align-content:center;padding:30px}.subscription-panel__action,.photo-export-panel__action,.share-readiness-panel__action,.wedding-date-panel__action{justify-self:end}.subscription-panel__action{justify-self:stretch;width:100%}.gallery-tile--feature{grid-area:span 2/span 2;min-height:460px}}@media (min-width:1024px){.photo-export-panel{grid-template-columns:minmax(0,.65fr) minmax(340px,1.15fr) minmax(210px,.58fr);align-items:stretch}.photo-export-panel__states{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-export-panel__actions{align-content:space-between}.masonry{column-count:3}.admin-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav{border:1px solid #d2c3c394;border-bottom:0;width:min(720px,100% - 32px);left:50%;right:50%;transform:translate(-50%)}.fab{right:max(24px, calc((100vw - var(--content)) / 2))}}@media (max-width:430px){.brand-button{font-size:1.35rem}.hero{min-height:500px}.entry-grid,.page-shell{width:min(100% - 32px, var(--content))}.entry-actions{grid-template-columns:1fr}.photo-detail-backdrop{padding:10px}.photo-detail-dialog{grid-template-rows:auto minmax(0,1fr);max-height:calc(100vh - 20px)}.photo-detail-dialog__media img{max-height:42vh}.photo-detail-dialog__body{min-height:0;padding:18px}.photo-detail-dialog__heading{flex-direction:column;align-items:flex-start}.photo-detail-dialog__context,.policy-grid{grid-template-columns:1fr}.camera-controls{grid-template-columns:54px 1fr 54px;gap:14px;padding-left:16px;padding-right:16px}.camera-brand span{font-size:1.55rem}.nav-item{font-size:.68rem}}
