.portal-page{min-height:100vh;min-height:100dvh;color:var(--lg-ink);font-family:var(--lg-font-body);padding:clamp(20px,3.4vw,52px) clamp(14px,3.4vw,56px);position:relative}.portal-page :focus-visible{outline-offset:3px;outline:3px solid #b249f88c}.dashboard-shell,.portal-card,.template-preview-shell{z-index:1;width:min(1240px,100%);margin-inline:auto;position:relative}.dashboard-shell>header,.template-preview-shell>header,.profile-shell>header{z-index:40;background:var(--lg-glass);border:1px solid var(--lg-glass-line);min-height:64px;box-shadow:var(--lg-shadow-sm), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.25);border-radius:999px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:clamp(26px,4vw,48px);padding:10px 14px 10px 20px;display:flex;position:sticky;top:14px}.portal-brand{align-items:center;display:inline-flex}.portal-brand>img,.profile-logo{object-fit:contain;width:auto;max-width:200px;height:40px;display:block}.dashboard-shell>header a:not(.portal-brand),.template-preview-shell>header>a:first-child,.profile-shell header>a:first-child,.back-home{min-height:44px;color:var(--lg-ink-soft);transition:background var(--lg-fast) ease, color var(--lg-fast) ease, transform var(--lg-fast) ease;border-radius:999px;align-items:center;gap:7px;padding-inline:14px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-shell>header a:not(.portal-brand):hover,.back-home:hover{color:var(--lg-orchid);background:#b249f81a}.dashboard-shell>header svg,.back-home svg{width:16px}.dashboard-shell>header>div{align-items:center;gap:14px;display:flex}.dashboard-shell>header>div>span{color:var(--lg-ink-soft);font-size:13.5px;font-weight:700}a.dashboard-logout{color:#8a3fd1;min-height:44px;transition:transform var(--lg-fast) ease, box-shadow var(--lg-fast) ease, background var(--lg-fast) ease;background:linear-gradient(120deg,#b249f81f,#f042e51a);border:1px solid #b249f84d;border-radius:999px;align-items:center;gap:7px;padding:0 16px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}a.dashboard-logout:hover{transform:translateY(-2px);box-shadow:0 10px 24px #b249f840}.portal-kicker{color:#8a4bbf;letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:800}.portal-page h1{font-family:var(--lg-font-display);letter-spacing:-.03em;color:var(--lg-ink);text-wrap:balance;margin:0 0 12px;font-size:clamp(30px,3.8vw,48px);font-weight:500;line-height:1.05}.portal-page .lead,.login-card>p:not(.portal-kicker){max-width:700px;color:var(--lg-ink-soft);font-size:15.5px;line-height:1.8}.portal-primary,.portal-secondary,.choose-theme,.cancel-theme,.template-card a,.auth-submit{cursor:pointer;min-height:50px;transition:transform var(--lg-base) var(--lg-ease-spring), box-shadow var(--lg-base) var(--lg-ease), background var(--lg-base) ease, color var(--lg-base) ease;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:0 22px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.portal-primary,.choose-theme,.auth-submit{color:#fff;background:linear-gradient(120deg, var(--lg-orchid), var(--lg-fuchsia) 55%, var(--lg-rose));background-size:150%;border:0;box-shadow:0 12px 30px #b249f859,inset 0 1px #ffffff59}.portal-primary:hover,.choose-theme:hover,.auth-submit:hover{background-position:100%;transform:translateY(-2px);box-shadow:0 18px 44px #f042e566}.portal-secondary,.cancel-theme,.template-card a:last-child{border:1px solid var(--lg-glass-line);background:var(--lg-glass-soft);color:var(--lg-ink);-webkit-backdrop-filter:blur(8px)saturate(1.2);box-shadow:var(--lg-shadow-sm), var(--lg-glass-inset)}.portal-secondary:hover,.cancel-theme:hover,.template-card a:last-child:hover{background:#ffffffa8;transform:translateY(-2px)}.portal-notice{color:#8a5a13;background:linear-gradient(120deg,#f5c56b33,#ffab7324);border:1px solid #e2953f59;border-radius:999px;margin-bottom:22px;padding:14px 20px;font-size:13.5px;font-weight:700}.dashboard-intro{border-radius:var(--lg-r-lg);color:#fdf7ff;min-height:0;box-shadow:var(--lg-shadow-sm);background:radial-gradient(circle at 88% 18%,#f042e54d,#0000 44%),linear-gradient(120deg,#25083c 0%,#3d0e47 58%,#571054 100%);border:1px solid #fff3;flex-direction:column;justify-content:center;padding:clamp(18px,2.4vw,30px) clamp(22px,3vw,40px);display:flex;position:relative;overflow:hidden}.admin-dashboard .dashboard-intro{background:radial-gradient(circle at 84% 14%,#b249f852,#0000 40%),radial-gradient(circle at 8% 90%,#43e8f924,#0000 40%),linear-gradient(135deg,#1c0630 0%,#2b0a2e 55%,#47104a 100%)}.dashboard-intro:before{content:"";border-radius:calc(var(--lg-r-xl) - 12px);pointer-events:none;border:1px solid #ffffff24;position:absolute;inset:14px}.dashboard-intro:after{content:"";pointer-events:none;border:1px solid #ffffff29;border-radius:50%;width:200px;height:200px;animation:9s ease-in-out infinite lg-pulse;position:absolute;top:-90px;right:-60px;box-shadow:0 0 0 30px #ffffff06,0 0 0 60px #ffffff04}.dashboard-intro>*{z-index:1;position:relative}.dashboard-intro-copy{flex-direction:column;justify-content:flex-end;min-width:0;display:flex}.dashboard-intro>span,.dashboard-intro-copy>span{width:max-content;color:var(--lg-gold);letter-spacing:.16em;border-bottom:1px solid #ffffff38;align-items:center;gap:7px;padding-bottom:12px;font-size:11px;font-weight:800;display:inline-flex}.dashboard-intro>span svg{width:16px}.dashboard-intro .portal-kicker{color:#fdf7ff99;margin-top:auto;padding-top:16px}.dashboard-intro h1{color:#fff;max-width:760px;margin:0;font-size:clamp(21px,2.2vw,30px);line-height:1.05}.dashboard-intro h1 em,.dashboard-intro h1 i{color:var(--lg-gold);font-style:italic}.dashboard-hero-stats{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.dashboard-hero-stats>div{-webkit-backdrop-filter:blur(8px);background:#ffffff17;border:1px solid #ffffff2e;border-radius:20px;min-width:150px;padding:16px 22px}.dashboard-hero-stats b{font:500 34px var(--lg-font-display);color:var(--lg-gold);display:block}.dashboard-hero-stats span{color:#fdf7ffb8;letter-spacing:.04em;font-size:12px;font-weight:700}.dashboard-hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.dashboard-intro--customer .dashboard-hero-actions .lg-btn{min-height:50px}.dashboard-intro>p:last-child,.dashboard-intro-copy>p:last-child{color:#fdf7ffbf;max-width:640px;margin:12px 0 0;font-size:13.5px;line-height:1.55}.dashboard-intro--customer{background:radial-gradient(circle at 82% 12%,#f042e557,#0000 42%),radial-gradient(circle at 6% 94%,#ffab732e,#0000 42%),linear-gradient(120deg,#30073f 0%,#4d0e4a 58%,#6f1a58 100%);grid-template-columns:minmax(0,1.1fr) minmax(220px,.42fr);align-items:center;gap:clamp(24px,4vw,56px);min-height:0;display:grid}.dashboard-intro--customer h1{font-size:clamp(22px,2.3vw,32px)}.wedding-glimpse{width:min(100%,280px);min-height:170px;max-height:220px;animation:lg-rise .9s var(--lg-ease) both;background:linear-gradient(160deg,#fff3,#ffffff0f);border:1px solid #ffffff59;border-radius:170px 170px 26px 26px;place-self:center end;position:relative;overflow:hidden;transform:rotate(2deg);box-shadow:0 30px 80px #14021e73,inset 0 1px #ffffff80}.wedding-glimpse:after{content:"";pointer-events:none;background:linear-gradient(#0000 36%,#180222cc);position:absolute;inset:0}.wedding-glimpse>img{object-fit:cover;width:100%;height:100%;min-height:170px}.wedding-glimpse-art{background:radial-gradient(circle at 50% 30%,#fff3,#0000 14rem),linear-gradient(145deg,#b249f8,#f042e5 60%,#ff6b9d);grid-template-columns:1fr auto 1fr;place-items:center;height:100%;min-height:170px;padding:22px;display:grid}.wedding-glimpse-art i{aspect-ratio:1;color:#fff;width:56px;font:italic 32px var(--lg-font-display);border:1px solid #fff6;border-radius:50%;place-items:center;display:grid}.wedding-glimpse-art b{color:var(--lg-gold);font:500 21px var(--lg-font-display)}.wedding-glimpse>div:last-child{z-index:2;text-align:center;color:#fdf7ff;gap:4px;display:grid;position:absolute;inset:auto 20px 18px}.wedding-glimpse small{letter-spacing:.2em;font-size:9px}.wedding-glimpse strong{font:600 clamp(20px, 2vw, 27px)/1 var(--lg-font-display)}.wedding-glimpse span{color:#fdf7ffb8;font-size:11.5px}.rsvp-preview-card{border-radius:var(--lg-r-md);background:var(--lg-glass);border:1px solid var(--lg-glass-line);box-shadow:var(--lg-shadow-sm), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.25);margin-top:22px;padding:24px clamp(20px,3vw,30px)}.rsvp-preview-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.rsvp-preview-head a{color:#8a3fd1;font-size:13px;font-weight:800;text-decoration:none}.rsvp-preview-head a:hover{text-decoration:underline}.rsvp-preview-card ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rsvp-preview-card li{background:#ffffff8c;border:1px solid #b249f824;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.rsvp-preview-card li b{color:var(--lg-ink);font-size:14px}.rsvp-preview-card li p{color:var(--lg-ink-soft);flex:100%;margin:0;font-size:13px;line-height:1.55}.admin-hero{border-radius:var(--lg-r-lg);color:#fdf7ff;box-shadow:var(--lg-shadow-sm);background:radial-gradient(circle at 88% 20%,#b249f847,#0000 44%),linear-gradient(120deg,#1c0630 0%,#2b0a2e 60%,#3f0e42 100%);border:1px solid #fff3;justify-content:space-between;align-items:center;gap:24px;padding:clamp(16px,2vw,26px) clamp(20px,2.6vw,34px);display:flex;position:relative;overflow:hidden}.admin-hero-ring{pointer-events:none;border:1px solid #ffffff24;border-radius:50%;width:190px;height:190px;animation:9s ease-in-out infinite lg-pulse;position:absolute;top:-80px;right:-50px;box-shadow:0 0 0 30px #ffffff06,0 0 0 60px #ffffff04}.admin-hero>*{z-index:1;position:relative}.admin-hero .portal-kicker{color:var(--lg-gold);margin:0 0 6px}.admin-hero h1{color:#fff;max-width:700px;margin:0 0 6px;font-size:clamp(21px,2.2vw,30px)}.admin-hero h1 em{color:var(--lg-gold);font-style:italic}.admin-hero>p{color:#fdf7ffb8;max-width:620px;margin:0;font-size:13.5px;line-height:1.55}.admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.admin-stat{border-radius:var(--lg-r-md);background:var(--lg-glass);border:1px solid var(--lg-glass-line);box-shadow:var(--lg-shadow-sm), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.25);transition:transform .35s var(--lg-ease), box-shadow .35s ease;align-items:center;gap:14px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.admin-stat:hover{box-shadow:var(--lg-shadow-md), var(--lg-glow-orchid);transform:translateY(-4px)}.admin-stat>svg{color:#8a3fd1;flex:none;width:30px;height:30px}.admin-stat b{font:500 25px var(--lg-font-display);color:var(--lg-ink);display:block}.admin-stat span{color:var(--lg-muted);font-size:12.5px;font-weight:700}.admin-stat>i{letter-spacing:.14em;color:#8a3fd166;font-size:9px;font-style:normal;font-weight:900;position:absolute;top:14px;right:14px}.admin-work-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:16px;margin-top:20px;display:grid}.admin-actions-panel,.admin-recent{border-radius:var(--lg-r-md);background:var(--lg-glass);border:1px solid var(--lg-glass-line);box-shadow:var(--lg-shadow-sm), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.25);padding:26px}.admin-actions-panel .portal-kicker,.admin-recent .portal-kicker{margin-bottom:14px}.admin-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-actions>a{border:1px solid var(--lg-glass-line);min-height:0;color:var(--lg-ink);transition:transform .3s var(--lg-ease), border-color .3s ease, box-shadow .3s ease;background:linear-gradient(150deg,#ffffff9e,#ffffff52);border-radius:18px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 12px;padding:16px 16px 14px;text-decoration:none;display:grid;position:relative;overflow:hidden}.admin-actions>a:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(140deg,#b249f817,#0000 55%);transition:opacity .3s;position:absolute;inset:0}.admin-actions>a:hover{box-shadow:var(--lg-shadow-md), var(--lg-glow-orchid);border-color:#b249f873;transform:translateY(-3px)}.admin-actions>a:hover:after{opacity:1}.admin-action-icon{color:#8a3fd1;background:linear-gradient(140deg,#b249f829,#b249f812);border:1px solid #b249f840;border-radius:13px;grid-row:1;place-items:center;width:40px;height:40px;display:grid}.admin-action-icon svg{width:20px;height:20px}.admin-action-body{grid-area:1/2/3;align-content:start;gap:3px;min-width:0;display:grid}.admin-action-body b{font:600 16px var(--lg-font-display);color:var(--lg-ink);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-action-body small{color:var(--lg-muted);font-size:12px;line-height:1.5}.admin-actions>a>em{letter-spacing:.1em;text-transform:uppercase;color:#8a3fd1;background:#b249f81a;border:1px solid #b249f833;border-radius:999px;grid-column:2;justify-self:start;margin-top:2px;padding:3px 9px;font-size:9.5px;font-style:normal;font-weight:800}@media (max-width:860px){.admin-actions{grid-template-columns:1fr}}.admin-recent ul{gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.admin-recent li{background:#ffffff8c;border:1px solid #b249f824;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.admin-recent li b{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--lg-ink);flex:1;font-size:13.5px;overflow:hidden}.admin-recent li small{color:var(--lg-muted);font-size:11px}.admin-recent-empty{color:var(--lg-muted);text-align:center;border:1px dashed #b249f859;border-radius:16px;margin:0 0 18px;padding:22px 16px;font-size:13px;line-height:1.6}.admin-recent .portal-secondary{width:100%}.invitation-summary{border-radius:var(--lg-r-lg);background:var(--lg-glass);border:1px solid var(--lg-glass-line);box-shadow:var(--lg-shadow-sm), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.45);grid-template-columns:minmax(0,1.25fr) minmax(240px,.85fr) minmax(190px,auto);align-items:center;gap:clamp(20px,3vw,38px);margin-top:clamp(30px,5vw,56px);padding:clamp(26px,4vw,40px) clamp(24px,4vw,44px);display:grid}.invitation-summary h2{font-family:var(--lg-font-display);color:var(--lg-ink);margin:4px 0 6px;font-size:clamp(34px,4vw,50px);font-weight:500;line-height:1}.invitation-summary p{color:var(--lg-ink-soft);margin:0;line-height:1.6}.invitation-status{border-left:1px solid #b249f833;padding-left:26px}.status-mark{color:var(--lg-ink);letter-spacing:.1em;text-transform:uppercase;align-items:center;margin-bottom:8px;font-size:11.5px;font-weight:900;display:inline-flex}.status-mark:before{content:"";background:var(--lg-gold);border-radius:50%;width:9px;height:9px;margin-right:8px;box-shadow:0 0 0 4px #f5c56b40}.status-mark.published:before{background:#2fbf7f;box-shadow:0 0 0 4px #2fbf7f38}.invitation-summary-actions{gap:10px;min-width:180px;display:grid}.invitation-summary .portal-primary{margin:0}.dashboard-journey{border-top:1px solid #b249f82e;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:clamp(28px,4vw,60px);margin-top:clamp(26px,3.4vw,44px);padding-top:30px;display:grid}.dashboard-journey>header{align-self:start;position:sticky;top:110px}.dashboard-journey h2{max-width:400px;font:600 clamp(24px, 2.6vw, 34px)/1.05 var(--lg-font-display);letter-spacing:-.02em;color:var(--lg-ink);margin:10px 0 0}.dashboard-actions{border-top:1px solid #b249f82e}.dashboard-actions>a{min-height:88px;color:var(--lg-ink);transition:background .3s var(--lg-ease), padding .3s var(--lg-ease);border-bottom:1px solid #b249f82e;grid-template-columns:42px 28px minmax(0,1fr) 36px;align-items:center;gap:14px;padding:14px 10px;text-decoration:none;display:grid}.dashboard-actions>a:hover{background:#ffffff80;border-radius:18px;padding-left:20px}.dashboard-actions em{color:#8a4bbf;font:800 11px var(--lg-font-body);letter-spacing:.16em;font-style:normal}.dashboard-actions svg{width:24px;color:var(--lg-orchid)}.dashboard-actions span{gap:7px;display:grid}.dashboard-actions b{font:600 clamp(19px, 2vw, 26px)/1 var(--lg-font-display);color:var(--lg-ink)}.dashboard-actions small{color:var(--lg-muted);font:400 14px/1.6 var(--lg-font-body)}.dashboard-actions>a>i{width:40px;height:40px;color:var(--lg-orchid);transition:transform .3s var(--lg-ease-spring), background .3s ease;background:#b249f81a;border:1px solid #b249f83d;border-radius:50%;place-items:center;font-size:18px;font-style:normal;display:grid}.dashboard-actions>a:hover>i{background:#b249f82e;transform:rotate(45deg)}.auth-compact{width:min(520px,100%);min-height:min(640px,100vh - 40px);align-items:center;min-height:min(640px,100dvh - 40px);margin:auto;display:grid}.auth-compact-card{border-radius:var(--lg-r-lg);width:100%;max-width:none;padding:clamp(20px,3.5vw,32px)}.auth-compact-card h1{font-size:clamp(22px,4vw,28px)}.auth-compact-card .portal-kicker{font-size:10px}.auth-compact-card>p{margin:0 0 6px;font-size:14px;line-height:1.6}.auth-compact-note{color:var(--lg-muted);align-items:center;gap:7px;margin-top:6px;font-size:12px;line-height:1.5;display:inline-flex}.admin-session-note{background:#ffffff80;background:color-mix(in oklab, var(--lg-glass) 70%, transparent);border:1px solid var(--lg-edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;gap:10px;margin:14px 0 4px;padding:12px 14px;display:grid}.admin-session-who{color:var(--lg-ink);align-items:center;gap:8px;font-size:13px;display:inline-flex}.admin-session-who b{font-weight:700}.admin-session-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-session-actions .portal-primary{border-radius:999px;min-height:44px;padding:8px 16px;font-size:13px}.admin-session-actions .auth-switch{align-items:center;gap:6px;margin:0;font-size:12.5px;display:inline-flex}.auth-layout{width:min(1140px,100%);min-height:min(720px,100vh - 70px);border-radius:var(--lg-r-xl);background:var(--lg-glass);min-height:min(720px,100dvh - 70px);box-shadow:var(--lg-shadow-lg), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.5);border:1px solid #ffffff8c;grid-template-columns:1.02fr .98fr;margin:auto;display:grid;overflow:hidden}.auth-story{color:#fdf7ff;background:radial-gradient(circle at 76% 16%,#f042e566,#0000 42%),radial-gradient(circle at 12% 88%,#67e8f933,#0000 42%),linear-gradient(150deg,#25083c 0%,#4a1052 55%,#7c1f63 100%);flex-direction:column;justify-content:space-between;min-height:600px;padding:clamp(34px,5vw,60px);display:flex;position:relative;overflow:hidden}.auth-story:after{content:"";pointer-events:none;border:1px solid #ffffff29;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-170px;right:-190px;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff04}.auth-story>*{z-index:1;position:relative}.auth-story small{width:max-content;color:var(--lg-gold);letter-spacing:.16em;border-bottom:1px solid #ffffff42;padding-bottom:12px;font-weight:800}.auth-story h2{color:#fff;max-width:440px;font-family:var(--lg-font-display);letter-spacing:-.03em;margin:auto 0 16px;font-size:clamp(46px,5.8vw,72px);font-weight:500;line-height:.96}.auth-story p{color:#fdf7ffbd;max-width:430px;line-height:1.75}.auth-layout .login-card{width:auto;max-width:none;box-shadow:none;background:0 0;border:0;align-self:center;margin:0;padding:clamp(32px,6vw,64px)}.auth-layout .portal-brand{margin-bottom:34px}.auth-layout .back-home{margin-left:-14px}.login-card{border-radius:var(--lg-r-lg);background:var(--lg-glass);border:1px solid var(--lg-glass-line);max-width:570px;box-shadow:var(--lg-shadow-md), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.5);margin:auto;padding:clamp(30px,5vw,52px)}.login-card h1{font-size:clamp(24px,3.6vw,38px);line-height:1.06}.role-notes{border-block:1px solid #b249f82e;grid-template-columns:1fr 1fr;gap:0;margin:24px 0;display:grid}.role-notes span{color:var(--lg-ink-soft);align-items:center;gap:8px;padding:15px 6px;font-size:13px;display:flex}.role-notes svg{color:var(--lg-orchid);flex:none}.role-notes span+span{border-left:1px solid #b249f82e;padding-left:18px}.login-card small{color:var(--lg-muted);font-size:12.5px;line-height:1.6;display:block}.account-auth input,.profile-password input,.admin-settings input,.form-card input,.form-card textarea,.form-card select{width:100%;min-height:48px;color:var(--lg-ink);transition:border-color var(--lg-fast) ease, box-shadow var(--lg-fast) ease, background var(--lg-fast) ease;background:#ffffffb8;border:1px solid #b249f838;border-radius:14px;outline:none;padding:12px 15px}.account-auth input:focus,.profile-password input:focus,.admin-settings input:focus,.form-card input:focus,.form-card textarea:focus,.form-card select:focus{background:#fff;border-color:#b249f899;box-shadow:0 0 0 4px #b249f824}.google-login{border:1px solid var(--lg-glass-line);background:#ffffffb8;border-radius:14px}.demo-login button{transition:transform var(--lg-fast) ease, border-color var(--lg-fast) ease, background var(--lg-fast) ease;background:#ffffff9e;border:1px solid #b249f838;border-radius:16px}.demo-login button:hover{background:#fff;border-color:#b249f880;transform:translateY(-2px)}.catalog-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:30px 0 26px;display:flex}.catalog-toolbar>div{align-items:center;gap:12px;display:flex}.catalog-search{background:var(--lg-glass);border:1px solid var(--lg-glass-line);min-height:46px;box-shadow:var(--lg-shadow-sm), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.4);color:var(--lg-muted);border-radius:999px;align-items:center;gap:9px;padding:0 16px;display:inline-flex}.catalog-search:focus-within{border-color:#b249f88c;box-shadow:0 0 0 4px #b249f824}.catalog-search input{width:min(240px,46vw);color:var(--lg-ink);background:0 0;border:0;outline:none;font-size:13.5px}.catalog-toolbar button{background:linear-gradient(120deg, var(--lg-orchid), var(--lg-fuchsia));color:#fff;border:0;border-radius:999px;padding:11px 20px;font-size:13px;font-weight:800;box-shadow:0 10px 24px #b249f84d}.catalog-toolbar span,.catalog-toolbar output{color:var(--lg-muted);font-size:13px}.template-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));align-items:stretch;gap:28px 22px;margin-top:34px;display:grid}.template-card{border-radius:var(--lg-r-md);box-shadow:none;background:0 0;border:0;flex-direction:column;display:flex;position:relative;overflow:visible}.template-card>div:last-child{flex-direction:column;flex:1;display:flex}.template-card .catalog-actions{margin-top:auto}.template-art{aspect-ratio:9/14;text-align:center;border-radius:var(--lg-r-md);height:auto;box-shadow:var(--lg-shadow-md);transition:transform .45s var(--lg-ease), box-shadow .45s ease;border:1px solid #ffffff80;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.template-card:hover .template-art{box-shadow:var(--lg-shadow-lg), var(--lg-glow-orchid);transform:translateY(-6px)}.template-art small{letter-spacing:.22em;font:700 10px var(--lg-font-body)}.template-art strong{margin:20px 0;font-size:38px}.template-art span{font:700 11px var(--lg-font-body);letter-spacing:.18em}.template-card>div:last-child{padding:18px 6px 10px}.template-card h2{font:600 26px var(--lg-font-display);color:var(--lg-ink);margin:0}.template-card p{color:var(--lg-muted);margin:4px 0 0;font-size:12.5px}.free-badge{color:#8a3fd1;letter-spacing:.1em;background:linear-gradient(120deg,#b249f81f,#f042e51a);border:1px solid #b249f84d;border-radius:999px;margin-bottom:9px;padding:6px 12px;font-size:10px;font-weight:900;display:inline-block}.template-card .catalog-actions{border-top:1px solid #b249f826;grid-template-columns:1fr auto;gap:10px;margin-top:14px;padding-top:14px;display:grid}.template-card .catalog-actions a{min-height:44px;padding:0 16px;font-size:13px}.template-art{position:relative}.theme-note{color:var(--lg-muted);opacity:.85;margin:6px 0 0;font-size:11.5px;line-height:1.5}.delete-theme{z-index:20;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:34px;height:34px;transition:background var(--lg-fast) ease, transform var(--lg-fast) ease;background:#1e083099;border:1px solid #ffffff8c;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 2px 10px #0a041459}.delete-theme:hover{background:#d5426b;transform:scale(1.06)}.delete-theme svg{width:15px}.catalog-empty{text-align:center;border-radius:var(--lg-r-lg);background:var(--lg-glass-soft);border:1px dashed #b249f859;margin-top:30px;padding:54px}.catalog-empty h2{font:600 26px var(--lg-font-display);color:var(--lg-ink);margin:0 0 8px}.catalog-empty p{color:var(--lg-muted);margin:0}.catalog-visual-thumbnail{position:absolute;inset:0;overflow:hidden}.catalog-visual-thumbnail .visual-template{aspect-ratio:9/16;transform-origin:top;width:100%;height:auto;left:0;transform:none}.catalog-visual-thumbnail .visual-template:has(.visual-widget){aspect-ratio:9/14.5}.template-art:has(.catalog-visual-thumbnail .visual-template){aspect-ratio:9/14.5}.catalog-visual-thumbnail .visual-widget{cursor:default}.builtin-note{color:var(--lg-muted);margin-top:9px;font-size:12px;line-height:1.45;display:block}.template-preview-layout{border-radius:var(--lg-r-xl);background:var(--lg-glass);box-shadow:var(--lg-shadow-lg), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.5);border:1px solid #ffffff8c;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:0;display:grid;overflow:hidden}.template-large-art{text-align:center;color:#fff;background:linear-gradient(145deg, var(--preview-primary,#4a1052), #300a36);background:linear-gradient(145deg, var(--preview-primary,#4a1052), color-mix(in srgb, var(--preview-primary,#4a1052) 72%, black));flex-direction:column;justify-content:center;align-items:center;min-height:640px;padding:50px;display:flex}.template-large-art small{letter-spacing:.26em}.template-large-art h1{font:inherit;color:var(--preview-accent,var(--lg-gold));margin:25px 0;font-size:clamp(46px,7vw,76px)}.template-large-art h1 i{font-weight:400}.template-large-art>p{letter-spacing:.18em}.template-large-art>div{gap:6px;margin-top:56px;display:grid}.template-large-art>div span{font:600 12px var(--lg-font-body);letter-spacing:.14em;margin-top:14px}.template-large-art>div b{font:700 18px var(--lg-font-body)}.template-login-hint{color:var(--lg-muted);margin:10px 0 0;font-size:12.5px;line-height:1.55}.template-preview-layout>aside .choose-theme{width:100%}.template-large-art.visual-catalog-preview{aspect-ratio:9/16;border-radius:26px;align-self:center;width:min(100%,430px);min-height:0;margin:28px auto;padding:0;position:relative;overflow:hidden}.visual-catalog-preview .visual-widget{cursor:default}.template-preview-layout>aside{align-self:center;padding:clamp(30px,5vw,54px)}.template-preview-layout>aside h2{font:500 clamp(38px, 5vw, 56px)/1 var(--lg-font-display);color:var(--lg-ink);margin:0 0 14px}.template-preview-layout>aside>p:not(.portal-kicker){color:var(--lg-ink-soft);line-height:1.8}.preview-swatches{gap:10px;margin:22px 0 30px;display:flex}.preview-swatches i{border:4px solid #fff;border-radius:50%;width:42px;height:42px;box-shadow:0 4px 14px #3f0f5c33}.guest-stats,.insight-cards{grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0;display:grid}.guest-stats>div,.insight-cards article{border-radius:var(--lg-r-md);background:var(--lg-glass);border:1px solid var(--lg-glass-line);box-shadow:var(--lg-shadow-sm), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.4);transition:transform .35s var(--lg-ease), box-shadow .35s ease;align-items:center;gap:16px;padding:24px;display:flex}.guest-stats>div:hover,.insight-cards article:hover{box-shadow:var(--lg-shadow-md), var(--lg-glass-inset);transform:translateY(-4px)}.guest-stats svg,.insight-cards svg{width:26px;height:26px;color:var(--lg-orchid);flex:none}.guest-stats b,.insight-cards b{font:500 34px var(--lg-font-display);color:var(--lg-ink)}.guest-stats span,.insight-cards span{color:var(--lg-muted);font-size:13px;display:grid}.guest-table,.traffic-table{border-radius:var(--lg-r-md);background:var(--lg-glass);border:1px solid var(--lg-glass-line);box-shadow:var(--lg-shadow-sm), var(--lg-glass-inset);-webkit-backdrop-filter:blur(10px)saturate(1.4);overflow:hidden}.guest-row,.traffic-table>div{border-bottom:1px solid #b249f81f;align-items:center;gap:16px;padding:15px 20px;font-size:14px;display:grid}.guest-row:last-child,.traffic-table>div:last-child{border-bottom:0}.guest-header,.traffic-table>div:first-child{color:#6b2d99;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(120deg,#b249f81a,#f042e514);font-size:12px;font-weight:800}.guest-row:hover:not(.guest-header),.traffic-table>div:hover:not(:first-child){background:#ffffff80}.attend{text-transform:capitalize;border-radius:999px;width:max-content;padding:6px 12px;font-size:12px;font-weight:800}.attend.yes{color:#1c7a4e;background:#2fbf7f24}.attend.no{color:#ad2d54;background:#d5426b1f}.guest-empty{text-align:center;border-radius:var(--lg-r-lg);background:var(--lg-glass-soft);border:1px dashed #b249f859;margin-top:26px;padding:56px 24px}.guest-empty svg{color:var(--lg-orchid);width:34px;height:34px}.guest-empty h2{font:600 24px var(--lg-font-display);color:var(--lg-ink);margin:12px 0 8px}.guest-empty p{color:var(--lg-muted);margin:0}.profile-shell{max-width:820px}.profile-card,.profile-password,.admin-settings,.shared-account-note{-webkit-backdrop-filter:blur(10px)saturate(1.25);border-radius:var(--lg-r-md)!important;background:var(--lg-glass)!important;border:1px solid var(--lg-glass-line)!important;box-shadow:var(--lg-shadow-sm), var(--lg-glass-inset)!important}.profile-card{gap:22px;margin-top:26px;padding:26px;display:flex}.profile-card>svg{color:var(--lg-orchid);flex:none;width:34px;height:34px}.profile-card>div{grid-template-columns:120px 1fr;align-items:center;gap:10px 20px;display:grid}.profile-card small{color:var(--lg-muted)}.profile-card b{color:var(--lg-ink);align-items:center;gap:6px;display:flex}.profile-card b svg{width:15px;color:var(--lg-orchid)}.shared-account-note{margin:18px 0;padding:20px 22px;border-left:3px solid var(--lg-gold)!important}.shared-account-note p{color:var(--lg-ink-soft);margin-bottom:0;line-height:1.65}.publish-modal-backdrop,.theme-save-backdrop,.widget-picker-backdrop,.builder-exit-backdrop,.catalog-dialog-backdrop{-webkit-backdrop-filter:blur(8px)saturate(.9)!important;backdrop-filter:blur(8px)saturate(.9)!important;background:#1804268c!important}.publish-modal,.widget-picker,.builder-exit-modal,.theme-save-popup,.catalog-dialog{-webkit-backdrop-filter:blur(10px)saturate(1.4);border-radius:var(--lg-r-lg)!important;box-shadow:var(--lg-shadow-lg), var(--lg-glass-inset)!important;background:#fdfaffeb!important;border:1px solid #ffffff8c!important}.modal-close{color:#6b2d99;background:#b249f81a!important}.catalog-dialog{width:min(440px,100%);color:var(--lg-ink);padding:28px}.catalog-dialog h2{font:600 2rem/1.05 var(--lg-font-display);margin:0 0 10px}.catalog-dialog p{color:var(--lg-ink-soft);margin:0;line-height:1.6}.catalog-dialog>div{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.catalog-dialog button{background:#fff;border:1px solid #b249f840;border-radius:999px;min-height:44px;padding:0 20px;font-weight:800}.catalog-dialog .danger{color:#fff;background:linear-gradient(120deg,#d5426b,#b23258);border:0;box-shadow:0 10px 26px #d5426b59}@media (max-width:980px){.template-preview-layout{grid-template-columns:1fr}.auth-layout{grid-template-columns:.8fr 1.2fr}.invitation-summary{grid-template-columns:1fr 1fr}.invitation-summary-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}@media (max-width:760px){.portal-page{padding:14px}.dashboard-shell>header,.template-preview-shell>header,.profile-shell>header{border-radius:26px;min-height:58px;margin-bottom:22px;padding-left:16px;top:10px}.portal-brand>img,.profile-logo{max-width:160px;height:34px}.dashboard-shell>header>div>span{display:none}.dashboard-intro{border-radius:var(--lg-r-lg);min-height:400px;padding:30px 24px}.dashboard-intro:before{inset:10px}.dashboard-intro h1{font-size:clamp(44px,13vw,62px)}.dashboard-intro--customer{grid-template-columns:1fr;gap:34px;min-height:auto}.wedding-glimpse{justify-self:center;width:min(280px,86%);min-height:370px}.wedding-glimpse>img,.wedding-glimpse-art{min-height:370px}.invitation-summary{grid-template-columns:1fr;gap:20px;padding:26px 22px}.invitation-status{border-top:1px solid #b249f82e;border-left:0;padding:18px 0 0}.invitation-summary-actions{grid-column:auto;grid-template-columns:1fr}.dashboard-journey{grid-template-columns:1fr;gap:26px;margin-top:60px}.dashboard-journey>header{position:static}.dashboard-actions>a{grid-template-columns:30px 24px minmax(0,1fr) 40px;gap:12px;min-height:112px;padding-inline:4px}.dashboard-actions>a:hover{padding-left:12px}.template-grid{grid-template-columns:1fr;gap:30px}.auth-layout{grid-template-columns:1fr;min-height:auto}.auth-story{min-height:340px;padding:30px 24px}.auth-story h2{margin-top:60px;font-size:48px}.auth-story p{margin-bottom:0}.auth-layout .login-card{padding:32px 20px}.auth-layout .portal-brand{margin-bottom:24px}.role-notes{grid-template-columns:1fr}.role-notes span+span{border-top:1px solid #b249f82e;border-left:0;padding-left:6px}.guest-stats,.insight-cards,.admin-stat-grid,.admin-work-grid{grid-template-columns:1fr}.guest-row{grid-template-columns:1fr 1fr;gap:8px 14px}.guest-row>span:last-child{grid-column:1/-1}.guest-header{display:none}.traffic-table{overflow-x:auto}.traffic-table>div{min-width:520px}.profile-card{align-items:flex-start}.profile-card>div{grid-template-columns:1fr;gap:8px}.catalog-actions{grid-template-columns:1fr}.catalog-toolbar,.catalog-toolbar>div{flex-direction:column;align-items:flex-start}.template-large-art{min-height:480px}}@media (max-width:560px){.catalog-dialog-backdrop{align-items:end;padding:10px}.catalog-dialog{border-radius:var(--lg-r-md) var(--lg-r-md) 14px 14px}.catalog-dialog>div{grid-template-columns:1fr 1fr;display:grid}}@media (max-width:980px){.auth-layout{grid-template-columns:1fr;min-height:auto}.auth-story{gap:18px;min-height:0;padding:26px 24px 30px}.auth-story h2{margin:0;font-size:clamp(26px,7vw,40px)}.auth-story p{margin:0;font-size:13.5px;line-height:1.6}.auth-story:after{width:260px;height:260px;bottom:-150px;right:-140px}.auth-layout .login-card{padding:28px 22px 34px}}@media (max-width:760px){.login-card,.auth-compact-card{border-radius:var(--lg-r-md);padding:22px 18px 26px}.login-card h1,.auth-compact-card h1{font-size:24px}.login-card>p:not(.portal-kicker){font-size:13.5px}.auth-compact{min-height:auto;margin-block:12px}.auth-compact-card .portal-brand,.auth-layout .portal-brand{margin-bottom:18px}.auth-compact-card .portal-brand>img{max-width:150px;height:32px}.role-notes{margin:16px 0}.role-notes span{padding:12px 4px;font-size:12px}.admin-session-note{padding:12px}.account-auth input{font-size:16px}}@media (max-width:560px){.auth-compact-card h1,.login-card h1{font-size:22px}.admin-session-actions{gap:8px}.admin-session-actions .portal-primary{width:100%}.auth-story{padding:20px 18px 24px}.auth-story h2{font-size:clamp(24px,8vw,32px)}}.my-invitations{margin-top:22px}.my-invitation-list{gap:10px;display:grid}.my-invitation-card{border-radius:var(--lg-r-md);background:var(--lg-glass);border:1px solid var(--lg-glass-line);box-shadow:var(--lg-shadow-sm),var(--lg-glass-inset);-webkit-backdrop-filter:blur(16px)saturate(1.35);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.my-invitation-info{gap:4px;min-width:0;display:grid}.my-invitation-info .status-mark{margin:0}.my-invitation-info b{font:600 19px var(--lg-font-display);color:var(--lg-ink)}.my-invitation-info small{color:var(--lg-muted);font-size:12px}.my-invitation-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.my-invitation-actions .portal-primary,.my-invitation-actions .portal-secondary{gap:6px;min-height:40px;padding:0 14px;font-size:12.5px}.danger-soft{color:#ad2d54;cursor:pointer;min-height:40px;transition:background var(--lg-fast) ease;background:#d5426b14;border:1px solid #d5426b59;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:800;display:inline-flex}.danger-soft:hover{background:#d5426b29}.danger-confirm{align-items:center;gap:6px;display:inline-flex}.danger-solid{color:#fff;cursor:pointer;background:#d5426b;border:0;border-radius:999px;min-height:40px;padding:0 14px;font-size:12.5px;font-weight:800}.danger-confirm>button:last-child{border:1px solid var(--lg-glass-line);background:var(--lg-glass-soft);min-height:40px;color:var(--lg-ink);cursor:pointer;border-radius:999px;padding:0 12px;font-size:12.5px;font-weight:700}
