:root{--app-tabs-height:42px;--app-tabs-gap:10px;--color-page:#eef7f5;--color-surface:#fff;--color-surface-muted:#f6fbfa;--color-text:#10201e;--color-muted:#52615f;--color-border:#cbded9;--color-border-soft:#e2ebe8;--color-primary:#0f766e;--color-primary-strong:#0b5f59;--color-primary-text:#fff;--color-accent-soft:#d7fbf3;--color-accent-text:#063f3b;--color-danger:#b91c1c;--color-danger-soft:#fee2e2;--shadow-nav:0 8px 22px #0f172a1f;--shadow-panel:0 24px 70px #0f172a3d;color:var(--color-text);background:var(--color-page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--color-page:#071316;--color-surface:#101f24;--color-surface-muted:#15292f;--color-text:#edf7f7;--color-muted:#a8b8b8;--color-border:#29444a;--color-border-soft:#213941;--color-primary:#5eead4;--color-primary-strong:#2dd4bf;--color-primary-text:#05201d;--color-accent-soft:#123c3a;--color-accent-text:#d7fbf3;--color-danger:#fca5a5;--color-danger-soft:#421d22;--shadow-nav:0 8px 24px #0000005c;--shadow-panel:0 24px 70px #00000075}:root[data-theme=lagoon]{--color-page:#e8f8fb;--color-surface-muted:#f0fbfd;--color-primary:#0e7490;--color-primary-strong:#155e75;--color-accent-soft:#cffafe;--color-accent-text:#164e63}:root[data-theme=sunset]{--color-page:#fff3ed;--color-surface-muted:#fff8f3;--color-primary:#c2410c;--color-primary-strong:#9a3412;--color-accent-soft:#ffedd5;--color-accent-text:#7c2d12}:root[data-theme=violet]{--color-page:#f5f3ff;--color-surface-muted:#faf8ff;--color-primary:#6d28d9;--color-primary-strong:#5b21b6;--color-accent-soft:#ede9fe;--color-accent-text:#4c1d95}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{overflow-x:hidden}body:before{content:"";z-index:40;height:env(safe-area-inset-top);background:var(--color-page);pointer-events:none;position:fixed;top:0;left:0;right:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}.shell{background:var(--color-page);min-height:100svh}.landingShell{padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));justify-content:center;align-items:flex-start;display:flex}.homeShell{padding-top:calc(var(--app-tabs-height) + var(--app-tabs-gap) + env(safe-area-inset-top));padding-bottom:calc(18px + env(safe-area-inset-bottom))}.landingSurface{border:1px solid var(--color-border);width:100%;max-width:460px;color:var(--color-text);background:var(--color-surface);border-radius:8px;padding:18px}.homeSurface{min-height:min(720px,100svh - 128px)}.authSurface{min-height:min(620px,100svh - 122px)}.homeShell .landingSurface{min-height:calc(100svh - var(--app-tabs-height) - var(--app-tabs-gap) - 18px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.tabPanel{margin-top:10px}.bottomTabs{left:0;right:0;top:env(safe-area-inset-top);z-index:30;width:100%;height:var(--app-tabs-height);min-height:var(--app-tabs-height);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);box-shadow:var(--shadow-nav);border-top:0;border-left:0;border-right:0;border-radius:0 0 8px 8px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:3px;padding:0 8px;display:grid;position:fixed;bottom:auto!important}.bottomTabs.threeTabs{grid-template-columns:repeat(3,minmax(0,1fr))}.bottomTabs.ownerTabs{grid-template-columns:repeat(6,minmax(0,1fr))}.bottomTabs button{min-width:0;height:100%;min-height:0;color:var(--color-muted);background:0 0;border:0;border-radius:7px;place-items:center;gap:1px;padding:2px 4px;font-size:10px;font-weight:900;line-height:1.1;display:grid}.bottomTabs button.active{color:var(--color-accent-text);background:var(--color-accent-soft)}.bottomTabs svg{flex:none;width:17px;height:17px}.bottomTabs span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.homeAction{border:1px solid var(--color-border);min-height:36px;color:var(--color-text);background:var(--color-surface);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;margin-bottom:12px;padding:0 10px;font-size:13px;font-weight:900;line-height:1;display:inline-flex}.homeAction svg{flex:none}.homeAction.compact{color:#fff;background:#0f172a94;border-color:#ffffff47;min-height:32px;margin:0;font-size:12px}.modalOverlay{z-index:40;padding:calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));background:#0f172a8a;place-items:center;display:grid;position:fixed;inset:0}.helpDialog{border:1px solid var(--color-border);width:min(560px,100%);max-height:min(760px,100svh - 28px);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-panel);border-radius:8px;padding:16px;overflow:auto}.helpHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.helpHeader h2{letter-spacing:0;margin:5px 0 0;font-size:24px;line-height:1.12}.iconButton{aspect-ratio:1;border:1px solid var(--color-border);width:36px;color:var(--color-text);background:var(--color-surface);border-radius:8px;flex:none;place-items:center;display:grid}.helpIntro{color:var(--color-muted);margin:0 0 12px;font-size:15px;font-weight:750;line-height:1.42}.helpSection{border-top:1px solid var(--color-border-soft);margin-top:12px;padding:12px 0 0}.helpSection h3{color:var(--color-text);margin:0 0 7px;font-size:15px;font-weight:950;line-height:1.25}.helpSection p,.helpSection li{color:var(--color-muted);font-size:14px;font-weight:700;line-height:1.42}.helpSection p{margin:0 0 7px}.helpSection ol{margin:0;padding-left:21px}.helpSection li+li{margin-top:5px}.pricingDev{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;padding:11px}.legalAccess a{border:1px solid var(--color-primary);min-height:40px;color:var(--color-primary);background:var(--color-surface);border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:950;line-height:1.2;display:inline-flex}.ownerSurface{max-width:760px}.brandBlock{margin-bottom:14px}.brandBlock.compact{margin-bottom:12px}.brandBlock h1{color:var(--color-text);letter-spacing:0;overflow-wrap:anywhere;margin:5px 0 7px;font-size:25px;line-height:1.1}.brandBlock p{color:var(--color-muted);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.42}.heroPhotos{grid-template-columns:1.35fr .85fr;gap:8px;margin:12px 0 14px;display:grid}.heroPhotos img{object-fit:cover;background:var(--color-border-soft);border-radius:8px;width:100%;height:154px;display:block}.heroPhotos img:first-child,.heroPhotos img:last-child{object-position:center}.eyebrow{color:var(--color-primary);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.securityCallout{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface-muted);overflow-wrap:anywhere;border-radius:8px;align-items:flex-start;gap:9px;min-width:0;margin:12px 0;padding:11px;font-size:14px;font-weight:750;line-height:1.35;display:flex}.securityCallout span{flex:1 1 0;min-width:0}.sponsorCard{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface-muted);border-radius:8px;grid-template-columns:84px minmax(0,1fr);gap:10px;margin:12px 0;padding:10px;display:grid}.sponsorCard img{object-fit:cover;background:var(--color-border-soft);border-radius:8px;width:84px;height:84px}.sponsorContent{align-content:start;gap:5px;min-width:0;display:grid}.sponsorContent span{color:var(--color-primary);text-transform:uppercase;font-size:11px;font-weight:950}.sponsorContent strong{color:var(--color-text);overflow-wrap:anywhere;font-size:15px;font-weight:950;line-height:1.2}.sponsorContent p{color:var(--color-muted);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:750;line-height:1.35}.sponsorContent .secondaryLight{justify-self:start;min-height:32px;padding:0 9px}.sponsorCard:not(:has(img)){grid-template-columns:1fr}.installCard{border-top:1px solid var(--color-border-soft);border-bottom:1px solid var(--color-border-soft);grid-template-columns:1fr;align-items:start;gap:10px;margin:12px 0;padding:12px 0;display:grid}.installCopy{min-width:0;color:var(--color-text);align-items:flex-start;gap:9px;display:flex}.installCopy svg{color:var(--color-primary);flex:none;margin-top:1px}.installCopy strong,.installCopy span{overflow-wrap:anywhere;min-width:0;display:block}.installCopy strong{font-size:14px;font-weight:900;line-height:1.25}.installCopy span{color:var(--color-muted);margin-top:2px;font-size:13px;font-weight:700;line-height:1.3}.installActions{grid-template-columns:auto;align-items:start;gap:10px;display:grid}.installActions .shareBlock{justify-items:start;gap:5px;margin:0}.installActions .shareBlock span{text-align:left}.installHint{color:var(--color-muted);grid-column:1/-1;margin:0;font-size:13px;font-weight:750;line-height:1.35}.secondaryLight{border:1px solid var(--color-border);min-height:38px;color:var(--color-text);background:var(--color-surface);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:900;display:inline-flex}.secondaryLight svg{flex:none}.shareBlock{justify-items:center;gap:7px;margin:4px 0 12px;display:grid}.shareBlock span,.shareBlock small{color:var(--color-muted);overflow-wrap:anywhere;font-size:13px;font-weight:750;line-height:1.3}.shareBlock small{color:var(--color-primary)}.wideButton{width:100%;margin-top:4px}.authTabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.authTabs button{border:1px solid var(--color-border);min-width:0;min-height:40px;color:var(--color-text);background:var(--color-surface);overflow-wrap:anywhere;border-radius:8px;padding:0 8px;font-size:13px;font-weight:900;line-height:1.15}.authTabs button.active{border-color:var(--color-primary);color:var(--color-accent-text);background:var(--color-accent-soft)}.authForm{gap:0;display:grid}.termsCheck{color:var(--color-muted);align-items:flex-start;gap:9px;margin-top:12px;font-size:13px;font-weight:750;line-height:1.35;display:flex}.termsCheck input{width:17px;height:17px;accent-color:var(--color-primary);flex:none;margin-top:1px}.termsCheck a{color:var(--color-primary);font-weight:900}.fullWidth{width:100%;margin-top:14px}.accountPanel{gap:12px;margin:12px 0;display:grid}.accountIdentity{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;padding:12px;display:grid}.accountAvatar{aspect-ratio:1;width:42px;color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:8px;place-items:center;display:grid}.accountIdentity span,.accountMeta span{color:var(--color-muted);text-transform:uppercase;font-size:11px;font-weight:900;line-height:1.2;display:block}.accountIdentity strong,.accountMeta strong{min-width:0;color:var(--color-text);overflow-wrap:anywhere;margin-top:3px;font-size:14px;font-weight:950;line-height:1.25;display:block}.accountMeta{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;padding:11px 12px}.accountActions{grid-template-columns:1fr;gap:8px;display:grid}.accountActions .secondaryLight{width:100%}.logoutButton{border-color:var(--color-danger);color:var(--color-danger);background:color-mix(in srgb, var(--color-danger-soft) 72%, var(--color-surface))}.themePanel{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;gap:11px;margin:12px 0;padding:12px;display:grid}.themeHeader{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;display:grid}.themeHeader svg{color:var(--color-primary);margin-top:1px}.themeHeader strong,.themeHeader span{overflow-wrap:anywhere;min-width:0;display:block}.themeHeader strong{color:var(--color-text);font-size:15px;font-weight:950;line-height:1.25}.themeHeader span{color:var(--color-muted);margin-top:3px;font-size:13px;font-weight:750;line-height:1.35}.themeGrid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.themeGrid button{border:1px solid var(--color-border);min-width:0;min-height:40px;color:var(--color-text);background:var(--color-surface);border-radius:8px;justify-content:flex-start;align-items:center;gap:8px;padding:0 9px;font-size:13px;font-weight:900;line-height:1;display:flex}.themeGrid button.active{border-color:var(--color-primary);color:var(--color-accent-text);background:var(--color-accent-soft)}.settingsEntry{border:1px solid var(--color-border);width:100%;min-height:48px;color:var(--color-text);background:var(--color-surface);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-top:12px;padding:12px;display:grid}.settingsEntry svg{color:var(--color-primary)}.settingsEntry strong{overflow-wrap:anywhere;min-width:0;font-size:15px;font-weight:950;line-height:1.25;display:block}.passwordEditForm{margin-top:12px}.themeGrid button>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.themeGrid svg{flex:none;margin-left:auto}.themeSwatch{aspect-ratio:1;border:1px solid var(--color-border);background:linear-gradient(135deg, var(--color-page), var(--color-primary));border-radius:999px;flex:none;width:18px}.themeSwatch-system{background:linear-gradient(135deg,#fff 0 49%,#071316 50% 100%)}.themeSwatch-light{background:linear-gradient(135deg,#fff,#0f766e)}.themeSwatch-dark{background:linear-gradient(135deg,#071316,#5eead4)}.themeSwatch-lagoon{background:linear-gradient(135deg,#e8f8fb,#0e7490)}.themeSwatch-sunset{background:linear-gradient(135deg,#fff3ed,#c2410c)}.themeSwatch-violet{background:linear-gradient(135deg,#f5f3ff,#6d28d9)}.ownerInvitePanel{border-top:1px solid var(--color-border-soft);gap:11px;padding-top:12px;display:grid}.ownerInviteHeader{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;display:grid}.ownerInviteHeader svg{color:var(--color-primary);margin-top:1px}.ownerInviteHeader strong,.ownerInviteHeader span{overflow-wrap:anywhere;min-width:0;display:block}.ownerInviteHeader strong{color:var(--color-text);font-size:15px;font-weight:950;line-height:1.25}.ownerInviteHeader span{color:var(--color-muted);margin-top:3px;font-size:13px;font-weight:750;line-height:1.35}.ownerInviteActions{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;display:grid}.ownerInviteActions .secondaryLight{width:100%}.ownerInviteMessage{color:var(--color-primary);margin:0;font-size:13px;font-weight:800;line-height:1.3}.logoutInline{margin:0 0 12px}.requestList{gap:9px;margin-top:12px;display:grid}.requestRow{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px;display:grid}.requestRow strong,.requestRow span{overflow-wrap:anywhere;min-width:0;display:block}.requestRow strong{color:var(--color-text);font-size:14px;font-weight:950}.requestRow span{color:var(--color-muted);margin-top:3px;font-size:13px;font-weight:750}.emptyState{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface-muted);border-radius:8px;align-items:center;gap:9px;margin-top:12px;padding:12px;font-size:14px;font-weight:800;display:flex}.sectionTitleLine{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sectionTitleLine strong{color:var(--color-text);font-size:14px;font-weight:950}.recentSessionsPanel,.accountSessionsPanel,.photographerPanel,.abuseReportBox{margin-top:12px}.recentSessionList,.photographerList,.abuseList{gap:9px;display:grid}.recentSessionRow,.photographerRow,.abuseCard{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;padding:11px}.recentSessionRow,.photographerRow{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.recentSessionRow strong,.recentSessionRow span,.photographerRow strong,.photographerRow span{overflow-wrap:anywhere;min-width:0;display:block}.recentSessionRow strong,.photographerRow strong{color:var(--color-text);font-size:14px;font-weight:950}.recentSessionRow span,.photographerRow span{color:var(--color-muted);margin-top:3px;font-size:13px;font-weight:750;line-height:1.35}.abuseReportBox .message{margin-top:10px}.abuseForm{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;gap:10px;padding:12px;display:grid}.abuseForm>strong{color:var(--color-text);font-size:15px;font-weight:950}.abuseForm label{gap:5px;display:grid}.abuseForm label span{color:var(--color-muted);font-size:12px;font-weight:900}.abuseFormActions{flex-wrap:wrap;gap:8px;display:flex}.abuseCard{gap:10px;display:grid}.abuseCardMain{gap:4px;display:grid}.abuseCardMain span,.abuseCardMain small{color:var(--color-muted);overflow-wrap:anywhere;font-size:12px;font-weight:800;line-height:1.35}.abuseCardMain strong{color:var(--color-text);overflow-wrap:anywhere;font-size:15px;font-weight:950}.abuseCardMain p{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:700;line-height:1.35}.abuseActions{flex-wrap:wrap;gap:8px;display:flex}.ownerUsersSection{border-top:1px solid var(--color-border-soft);margin-top:18px;padding-top:14px}.ownerUsersSection h2{color:var(--color-text);margin:0 0 10px;font-size:18px;line-height:1.2}.userList{gap:10px;display:grid}.userRow{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;gap:12px;padding:12px;display:grid}.userMain{gap:4px;min-width:0;display:grid}.userMain strong,.userMain span{overflow-wrap:anywhere;min-width:0}.userMain strong{color:var(--color-text);font-size:14px;font-weight:950}.userMain span{color:var(--color-muted);font-size:13px;font-weight:750;line-height:1.35}.planControls{grid-template-columns:minmax(130px,1fr) 76px auto auto auto;align-items:end;gap:8px;display:grid}.planControls label{gap:5px;min-width:0;display:grid}.planControls label span{color:var(--color-muted);text-transform:uppercase;font-size:11px;font-weight:900;line-height:1.2}.planControls select,.planControls input{border:1px solid var(--color-border);width:100%;min-height:38px;color:var(--color-text);background:var(--color-surface);border-radius:8px;padding:0 9px;font-size:13px;font-weight:800}.sponsorAdmin{gap:12px;display:grid}.sponsorForm{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;gap:10px;padding:12px;display:grid}.sponsorForm label,.sponsorFormGrid label{gap:5px;min-width:0;display:grid}.sponsorForm label>span,.sponsorFormGrid label>span{color:var(--color-muted);text-transform:uppercase;font-size:11px;font-weight:900;line-height:1.2}.textArea{border:1px solid var(--color-border);width:100%;min-height:86px;color:var(--color-text);background:var(--color-surface);resize:vertical;border-radius:8px;padding:11px 12px}.textArea:focus{border-color:var(--color-primary);outline:3px solid color-mix(in srgb, var(--color-primary) 18%, transparent)}.sponsorFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.sponsorFormGrid select{border:1px solid var(--color-border);width:100%;min-height:42px;color:var(--color-text);background:var(--color-surface);border-radius:8px;padding:0 9px;font-size:13px;font-weight:800}.sponsorList{gap:10px;display:grid}.sponsorAdminCard{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface);border-radius:8px;gap:10px;padding:12px;display:grid}.sponsorAdminCard span,.sponsorAdminCard p{color:var(--color-muted);font-size:13px;font-weight:750;line-height:1.35}.sponsorAdminCard strong{color:var(--color-text);margin-top:3px;font-size:15px;font-weight:950;line-height:1.2;display:block}.sponsorAdminCard p{margin:3px 0 0}.sponsorStats{flex-wrap:wrap;gap:8px;display:flex}.sponsorStats span{color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.sponsorActions{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.roleGrid{gap:10px;margin-top:12px;display:grid}.roleCard{border:1px solid var(--color-border);width:100%;min-height:118px;color:var(--color-text);background:var(--color-surface);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr);place-items:start;gap:8px;padding:14px;display:grid}.roleCard svg{width:28px;height:28px;color:var(--color-primary);grid-row:span 3}.roleBadge{min-width:0;color:var(--color-accent-text);background:var(--color-accent-soft);text-transform:uppercase;overflow-wrap:anywhere;border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:950;line-height:1}.roleCard strong{grid-column:2;font-size:16px;font-weight:950;line-height:1.2}.roleCard span{color:var(--color-muted);overflow-wrap:anywhere;grid-column:2;font-size:14px;font-weight:700;line-height:1.35}.roleCard.primaryRole{border-color:var(--color-primary);background:var(--color-accent-soft)}.inlineMessage{margin:10px 0}.fieldLabel{color:var(--color-muted);text-transform:uppercase;margin:14px 0 7px;font-size:12px;font-weight:800;display:block}.textInput{border:1px solid var(--color-border);width:100%;min-height:48px;color:var(--color-text);background:var(--color-surface);border-radius:8px;padding:0 12px}.textInput:focus{border-color:var(--color-primary);outline:3px solid color-mix(in srgb, var(--color-primary) 18%, transparent)}.passwordField{display:grid;position:relative}.passwordField .textInput{padding-right:48px}.passwordToggle{aspect-ratio:1;width:38px;color:var(--color-muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.passwordToggle:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 22%, transparent)}.toast{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;border:1px solid var(--color-primary);width:min(420px,100vw - 24px);color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:8px;align-items:flex-start;gap:9px;padding:12px;font-size:14px;font-weight:900;line-height:1.3;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 18px 44px #0f172a38}.toast svg{flex:none}.qrSurface{text-align:center}.qrBoxWeb{aspect-ratio:1;background:#fff;border:1px solid #dbe3ea;border-radius:8px;place-items:center;width:min(252px,100%);margin:14px auto;padding:10px;display:grid}.qrBoxWeb img{width:100%;height:auto;display:block}.inviteBox{text-align:center;background:#f8fafc;border:1px solid #dbe3ea;border-radius:8px;justify-items:center;gap:10px;margin:12px 0;padding:12px;display:grid}.inviteCopy{gap:3px;display:grid}.inviteCopy strong{color:#111827;font-size:15px;font-weight:950}.inviteCopy span{color:#4b5563;font-size:13px;font-weight:750;line-height:1.35}.miniQrBox{aspect-ratio:1;background:#fff;border:1px solid #dbe3ea;border-radius:8px;place-items:center;width:min(190px,100%);padding:8px;display:grid}.miniQrBox img{width:100%;height:auto;display:block}.galleryToolbar{background:#f8fafc;border:1px solid #dbe3ea;border-radius:8px;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;margin:12px 0;padding:12px;display:grid}.galleryToolbar strong,.galleryToolbar span{min-width:0;display:block}.galleryToolbar strong{color:#111827;font-size:14px;font-weight:950}.galleryToolbar span{color:#4b5563;overflow-wrap:anywhere;margin-top:3px;font-size:13px;font-weight:700;line-height:1.35}.galleryActions{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.metadataOptions{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface);border-radius:8px;gap:8px;padding:10px;display:grid}.metadataOptions strong,.metadataOptions span{min-width:0;display:block}.metadataOptions strong{color:var(--color-text);font-size:14px;font-weight:950}.metadataOptions span{color:var(--color-muted);font-size:13px;font-weight:750;line-height:1.35}.metadataOptions label{color:var(--color-text);align-items:center;gap:8px;font-size:13px;font-weight:850;line-height:1.3;display:flex}.metadataOptions input{width:17px;height:17px;accent-color:var(--color-primary)}.primarySmall{min-height:38px;color:var(--color-primary-text);background:var(--color-primary);white-space:nowrap;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:900;display:inline-flex}.primarySmall svg{flex:none}.secondarySmall{border:1px solid var(--color-border);min-height:38px;color:var(--color-text);background:var(--color-surface);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:900;display:inline-flex}.secondarySmall svg{flex:none}.dangerSmall{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.photoGrid{grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:10px;margin:14px 0;display:grid}.photoTile{background:#fff;border:1px solid #dbe3ea;border-radius:8px;margin:0;position:relative;overflow:hidden}.photoTile.selected{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e24}.photoSelectButton{z-index:1;color:#fff;background:#0f172ac2;border:1px solid #ffffff94;border-radius:8px;align-items:center;gap:5px;min-height:32px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;top:8px;right:8px}.photoTile img,.photoTile video{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.photoTile video{background:#0f172a}.photoTile figcaption{color:#4b5563;gap:4px;padding:8px 9px;font-size:12px;font-weight:800;display:grid}.photoTile figcaption strong{color:#111827;font-size:12px}.photoTile figcaption span{overflow-wrap:anywhere;align-items:flex-start;gap:4px;line-height:1.25;display:flex}.photoTile figcaption svg{flex:none;margin-top:1px}.emptyGallery{color:#4b5563;text-align:center;background:#f8fafc;border:1px solid #dbe3ea;border-radius:8px;grid-column:1/-1;place-items:center;gap:8px;min-height:176px;font-weight:800;display:grid}.dangerAction{color:#fff;background:#991b1b;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;font-weight:900;display:inline-flex}.closeConfirmPanel{border:1px solid var(--color-danger);background:color-mix(in srgb, var(--color-danger-soft) 70%, var(--color-surface));border-radius:8px;margin-top:12px;padding:12px}.closeConfirmPanel p{color:var(--color-danger);margin:0 0 10px;font-size:14px;font-weight:850;line-height:1.35}.closeConfirmActions{gap:8px;display:grid}.updateBanner{top:calc(env(safe-area-inset-top) + var(--app-tabs-height) + 8px);z-index:60;border:1px solid var(--color-primary);color:#fff;background:#111827;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:min(460px,100svw - 24px);margin:0 auto;padding:9px 10px;display:flex;position:fixed;left:12px;right:12px;box-shadow:0 14px 30px #0f172a33}.updateBanner span{min-width:0;font-size:13px;font-weight:850;line-height:1.25}.updateBanner button{color:#042f2e;background:#99f6e4;border:0;border-radius:8px;flex:none;min-height:34px;padding:0 10px;font-size:13px;font-weight:900}.cameraSurface{background:#0f172a;min-height:100svh;position:relative;overflow:hidden}.cameraPreview,.emptyPreview{width:100%;height:100%;position:absolute;inset:0}.cameraPreview{object-fit:cover}.emptyPreview{color:#e5edf4;text-align:center;place-items:center;padding:130px 24px 290px;display:grid}.emptyPreview svg{opacity:.82;width:52px;height:52px}.topBar,.bottomPanel{z-index:2;position:absolute;left:0;right:0}.topBar{padding:calc(14px + env(safe-area-inset-top)) 16px 14px;color:#fff;background:linear-gradient(#0f172adb,#0f172a00);justify-content:space-between;align-items:flex-start;gap:12px;display:flex;top:0}.topBar .eyebrow{color:#99f6e4}.topBar strong{margin-top:3px;font-size:17px;line-height:1.18;display:block}.topBar>div:first-child{min-width:0}.topActions{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.photographerLabel{color:#dbeafe;margin-top:3px;font-size:13px;font-weight:800;display:block}.badge{color:#042f2e;background:#99f6e4;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:900}.badge.closed,.badge.expired{color:#7f1d1d;background:#fecaca}.badge.loading{color:#334155;background:#e2e8f0}.bottomPanel{max-height:64svh;padding:16px 16px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(#0f172a00,#0f172ac7,#0f172af5);bottom:0;overflow-y:auto}.counter{color:#fff;grid-template-columns:1fr 1fr;align-items:end;gap:3px 12px;margin-bottom:10px;display:grid}.counter span{font-size:16px;font-weight:850;line-height:1.25}.counter small{color:#cbd5e1;grid-column:1/-1;font-size:12px;font-weight:800}.orientationHint{color:#dbeafe;margin:0 0 10px;font-size:12px;font-weight:800;line-height:1.35}.pwaHandoff{color:#ecfeff;background:#0f766eb3;border:1px solid #99f6e452;border-radius:8px;gap:7px;margin-bottom:10px;padding:10px;display:grid}.pwaHandoff strong,.pwaHandoff span,.pwaHandoff small{overflow-wrap:anywhere}.pwaHandoff strong{font-size:14px;font-weight:950;line-height:1.25}.pwaHandoff span,.pwaHandoff small{font-size:12px;font-weight:800;line-height:1.35}.pwaHandoff small{color:#ccfbf1}.pwaHandoff a{color:#042f2e;background:#99f6e4;border-radius:8px;justify-content:center;align-items:center;min-height:38px;font-size:13px;font-weight:950;line-height:1.1;text-decoration:none;display:inline-flex}.message{color:#e5edf4;overflow-wrap:anywhere;background:#0f172ae0;border:1px solid #cbd5e138;border-radius:8px;align-items:flex-start;gap:8px;min-width:0;min-height:40px;margin-bottom:10px;padding:10px 11px;font-size:14px;font-weight:750;line-height:1.35;display:flex}.message svg{flex:none;margin-top:1px}.message span{flex:1 1 0;min-width:0}.message.error{color:#fff1f2;background:#7f1d1deb;border-color:#fecaca61}.message.security{color:#ecfeff;background:#0f766ec7;border-color:#99f6e457}.actions{grid-template-columns:1fr;gap:10px;display:grid}.primary,.secondary,.previewToggle{white-space:normal;text-align:center;overflow-wrap:anywhere;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-width:0;min-height:48px;padding:0 14px;font-weight:900;line-height:1.2;display:inline-flex}.primary svg,.secondary svg,.previewToggle svg{flex:none}.previewToggle{color:#fff;background:#ffffff1f;margin-bottom:10px}.previewToggle.on{color:#042f2e;background:#99f6e4}.primary{color:var(--color-primary-text);background:var(--color-primary)}.secondary{color:#e5edf4;cursor:pointer;background:#ffffff1f}.secondary input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.secondary.disabled{opacity:.45;pointer-events:none}.captureButton{aspect-ratio:1;color:#0f172a;background:#fff;border:5px solid #ffffffbd;border-radius:999px;justify-self:center;place-items:center;width:82px;display:grid;box-shadow:0 18px 36px #00000052}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=492px){.landingSurface{max-width:calc(100vw - 32px)}}@media (width<=360px){.landingShell{padding-inline:10px}.landingSurface{max-width:calc(100vw - 20px);padding:14px}.brandBlock h1{font-size:22px}.heroPhotos{grid-template-columns:1fr}.heroPhotos img{height:140px}.installCard,.installActions{grid-template-columns:1fr}.installCard .secondaryLight,.installActions .shareBlock,.installActions .shareBlock .secondaryLight{width:100%}.qrBoxWeb{width:min(224px,100%)}.galleryToolbar{grid-template-columns:1fr}.galleryActions,.galleryActions .secondaryLight,.galleryActions .primarySmall{width:100%}.authTabs,.requestRow,.recentSessionRow,.photographerRow,.sponsorCard,.sponsorFormGrid{grid-template-columns:1fr}.requestRow .primarySmall,.requestRow .secondarySmall,.planControls .primarySmall,.planControls .secondarySmall,.recentSessionRow .secondarySmall,.photographerRow .secondarySmall,.abuseActions .primarySmall,.abuseActions .secondarySmall,.abuseFormActions .primarySmall,.abuseFormActions .secondarySmall,.sponsorContent .secondaryLight,.accountActions .secondaryLight{width:100%}.planControls{grid-template-columns:1fr}.topBar,.bottomPanel{padding-inline:12px}}@media (width>=720px){.landingShell{align-items:center;padding:32px}.cameraSurface{border-radius:8px;width:min(420px,100%);min-height:min(820px,100svh - 64px)}}@media (orientation:landscape) and (height<=560px){.landingShell{padding:calc(10px + env(safe-area-inset-top)) 12px calc(10px + env(safe-area-inset-bottom));align-items:flex-start}.landingSurface{max-width:min(920px,100vw - 24px);padding:14px}.homeShell{padding-top:calc(var(--app-tabs-height) + var(--app-tabs-gap) + env(safe-area-inset-top));padding-bottom:calc(10px + env(safe-area-inset-bottom))}.homeShell .landingSurface{min-height:calc(100svh - var(--app-tabs-height) - var(--app-tabs-gap) - 10px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.brandBlock{margin-bottom:10px}.brandBlock h1{margin-bottom:5px;font-size:22px}.heroPhotos{grid-template-columns:1fr 1fr;margin:10px 0}.heroPhotos img{height:108px}.roleGrid{grid-template-columns:1fr 1fr}.roleCard{min-height:104px;padding:12px}.authForm .fieldLabel{margin-top:10px}.qrSurface{text-align:left;grid-template-columns:minmax(210px,.8fr) minmax(280px,1fr);align-items:center;gap:10px 16px;display:grid}.qrSurface .homeAction{grid-column:1/-1;justify-self:start;margin-bottom:0}.qrSurface .brandBlock{grid-area:2/2;margin:0}.qrSurface .qrBoxWeb{grid-area:2/1/span 5;width:min(230px,100%);margin:0 auto}.qrSurface .shareBlock,.qrSurface .securityCallout,.qrSurface .message{grid-column:2;margin:0}.cameraSurface{--camera-side-panel:min(330px, 42vw);min-height:100svh}.cameraPreview,.emptyPreview{right:var(--camera-side-panel);width:auto}.emptyPreview{padding:86px 18px 18px}.topBar{right:var(--camera-side-panel);padding:calc(10px + env(safe-area-inset-top)) 12px 10px}.topBar strong{font-size:15px}.topActions{gap:6px}.bottomPanel{width:var(--camera-side-panel);max-height:none;padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));background:#0f172af0;inset:0 0 0 auto}.counter{gap:3px;display:grid}.orientationHint{margin-bottom:8px;font-size:12px}.message{min-height:36px;padding:9px 10px;font-size:13px}.primary,.secondary,.previewToggle{min-height:42px}.captureButton{width:72px}}@media (orientation:landscape) and (height<=430px){.heroPhotos,.securityCallout,.installCard{margin-top:8px;margin-bottom:8px}.heroPhotos img{height:86px}.roleCard{gap:6px;min-height:92px}.roleCard strong{font-size:15px}.roleCard span{font-size:13px}.qrSurface .qrBoxWeb{width:min(190px,100%)}}
