html{scroll-padding-top:5rem}body{line-height:1.5}h1,h2,h3{text-wrap:balance;letter-spacing:-.025em}h1{font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.18}h2{font-size:1.2rem;line-height:1.35}a,button,input,select{-webkit-tap-highlight-color:transparent}input,select,textarea{color-scheme:inherit}.admin-shell,.auth-main{background:var(--admin-canvas)}.admin-mobile-header,.admin-mobile-panel,.admin-sidebar,.auth-panel{background:var(--admin-surface-1)}.admin-sidebar{box-shadow:none}.admin-content{padding-block:1.5rem 3rem}.page-header{margin-bottom:1.5rem}.auth-panel h1,.page-header h1,.page-heading h1{font-size:clamp(1.65rem,4vw,2.1rem);line-height:1.2;letter-spacing:-.035em}.page-header p{max-width:45rem}.eyebrow{letter-spacing:.06em;text-transform:none;font-weight:600}.admin-brand .admin-brand-mark{background:var(--accent-500);color:#fff;border:0;box-shadow:none;border-radius:.7rem}.admin-brand-copy strong{text-transform:none;font-size:1.2rem;letter-spacing:-.045em}.admin-brand-copy>span{font-size:.7rem;letter-spacing:0;text-transform:none;color:var(--admin-text-secondary)}.admin-brand-copy>span:empty{display:none}.admin-navigation a.is-active{background:var(--admin-surface-hover);border-color:transparent;color:var(--accent-300)}.button-primary,.primary-button,.primary-link{background:var(--accent-500);color:#fff;border-color:var(--accent-500);box-shadow:none}.button-primary:hover:not(:disabled),.primary-link:hover{background:var(--accent-600);box-shadow:none;transform:none}:root[data-theme=dark] .admin-brand .admin-brand-mark,:root[data-theme=dark] .button-primary,:root[data-theme=dark] .primary-button,:root[data-theme=dark] .primary-link{background:var(--accent-700);border-color:var(--accent-700);color:#fff}:root[data-theme=dark] .button-primary:hover:not(:disabled),:root[data-theme=dark] .primary-link:hover{background:var(--accent-800)}.detail-card:hover,.empty-state:hover,.record-card,.record-card:hover,.stat-card,.stat-card:hover{box-shadow:none;transform:none}.stat-card{background:var(--admin-surface-1)}.auth-panel{box-shadow:var(--shadow-sm)}.client-content,.client-header,.product-page{width:min(100% - 2.5rem,72rem);margin-inline:auto}.client-header,.product-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.25rem;border-bottom:1px solid var(--admin-border-subtle)}.client-header nav,.product-header nav{display:flex;gap:1.25rem;align-items:center;font-size:.9rem}.client-header nav>a,.product-header nav>a{min-height:44px;display:inline-flex;align-items:center}.client-header .logout-button,.client-header .logout-control{display:inline-flex;align-items:center;justify-content:center}.client-header .logout-control{margin-top:0}.product-intro{padding:clamp(3rem,7vw,6rem) 0 4rem;max-width:51rem;max-width:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(19rem,.9fr);align-items:center;gap:clamp(2rem,6vw,7rem);min-height:min(48rem,86svh)}.product-intro-copy{min-width:0}.product-intro h1{font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.06;letter-spacing:-.055em;font-weight:600;margin:1.25rem 0}.product-intro h1>span{color:var(--accent-300)}.product-description{max-width:36rem;font-size:1.125rem;line-height:1.65;color:var(--admin-text-secondary)}.product-actions{display:flex;align-items:flex-start;flex-direction:column;gap:1rem;margin-top:2rem}.product-client-link{display:inline-flex;gap:.5rem;align-items:center;font-size:.9rem;min-height:44px}.product-client-link svg{width:1rem}.product-availability{display:flex;align-items:center;gap:.6rem;color:var(--admin-text-secondary);font-size:.86rem;margin-top:2rem}.product-availability svg{flex:none;width:1rem;height:1rem}.product-preview{background:var(--admin-surface-1);border:1px solid var(--admin-border-default);border-radius:1.4rem;box-shadow:var(--shadow-sm);overflow:hidden;padding:clamp(1.25rem,3vw,2rem);transform:rotate(1deg)}.product-preview-top{display:flex;align-items:center;gap:.8rem;color:var(--admin-text-secondary);font-size:.75rem}.product-preview-mark{align-items:center;background:var(--accent-500);border-radius:.6rem;color:#fff;display:inline-flex;font-weight:700;height:2rem;justify-content:center;width:2rem}.product-preview-event{background:var(--admin-surface-2);border-radius:1rem;margin:2rem 0 1rem;padding:clamp(1.25rem,2vw,2rem)}.product-preview-event>span{color:var(--accent-300);display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:.8rem}.product-preview-event strong{display:block;font-size:clamp(1.3rem,2vw,1.8rem)}.product-preview-event p{color:var(--admin-text-secondary);margin:.45rem 0 0}.product-preview-row{align-items:center;border-bottom:1px solid var(--admin-border-subtle);display:flex;gap:.9rem;padding:.9rem .2rem}.product-preview-row>svg{color:var(--accent-300);flex:none;width:1.2rem}.product-preview-row>div{display:grid;flex:1 1;font-size:.88rem}.product-preview-bottom,.product-preview-row>div span{color:var(--admin-text-secondary);font-size:.75rem}.product-preview-bottom{margin-top:1.5rem}.product-how{align-items:end;border-top:1px solid var(--admin-border-default);display:grid;gap:3rem;grid-template-columns:1fr 1fr;padding-block:clamp(3rem,7vw,6rem)}.product-how h2{font-size:clamp(1.7rem,3.5vw,2.7rem);line-height:1.16;margin:1rem 0 0}.product-how>p{color:var(--admin-text-secondary);line-height:1.7;margin:0;max-width:29rem}.product-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;padding-block:2.5rem;border-top:1px solid var(--admin-border-default)}.product-features article>svg{width:1.5rem;color:var(--accent-300)}.product-features h2,.product-features h3{font-size:1.1rem;margin:.75rem 0}.product-features p{font-size:.95rem;color:var(--admin-text-secondary);max-width:25rem}.product-close{background:var(--admin-surface-2);border-radius:1.25rem;margin:3rem 0;padding:clamp(2rem,5vw,4rem)}.product-close h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:1rem 0 0;max-width:30ch}.product-close .product-actions{align-items:center;flex-flow:row wrap}.product-footer{display:flex;gap:1rem;justify-content:space-between;border-top:1px solid var(--admin-border-subtle);padding-block:1.5rem;font-size:.85rem;color:var(--admin-text-secondary)}.legal-links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.82rem}.legal-links a{color:var(--admin-text-secondary);text-decoration:underline;text-underline-offset:.2em}.auth-panel .legal-links{margin-top:1.5rem;border-top:1px solid var(--admin-border-subtle);padding-top:1rem}.legal-page{width:min(100% - 2rem,48rem);margin:0 auto;padding:clamp(2rem,6vw,5rem) 0}.legal-page h1{margin:2rem 0 1rem}.legal-page section{padding:1rem 0;border-top:1px solid var(--admin-border-subtle)}.legal-page p{color:var(--admin-text-secondary);line-height:1.7}.legal-page .legal-links{border-top:1px solid var(--admin-border-subtle);padding-top:1.5rem;margin-top:2rem}.client-content{padding-block:1.75rem 4rem}.client-mobile-nav{display:none}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);align-items:start}.settings-grid .admin-form,.settings-grid>*{min-width:0;width:100%}.settings-grid .detail-section{padding:clamp(1.2rem,2vw,1.75rem);border:1px solid var(--admin-border-subtle);border-radius:var(--radius-lg);background:var(--admin-surface-1)}.settings-grid>div:has(>.detail-section){display:grid;gap:1rem}.settings-grid h2,.settings-grid h2:first-child{margin:0 0 1rem;font-size:1.1rem}.settings-grid .admin-form{gap:.85rem}.client-profile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.client-profile-grid .client-profile-details{grid-column:1/-1}.client-profile-grid .admin-form{gap:.65rem}.client-profile-grid .form-grid{gap:.75rem}.client-profile-grid .field-message-slot{min-height:0}.client-profile-grid .floating-control:has(>select){display:grid;gap:.45rem}.client-profile-grid .floating-control:has(>select)>label{position:static;order:-1;max-width:none;color:var(--admin-text-secondary);font-size:.82rem;font-weight:700;line-height:1.3;transform:none}.client-profile-grid .floating-control>select{min-height:3rem;padding:.6rem 2.5rem .6rem 1rem;line-height:1.35}.company-search-results ul{list-style:none;padding:.25rem;margin:0;border:1px solid var(--admin-border-default);border-radius:.75rem;background:var(--admin-surface-1)}.company-search-results button{width:100%;min-height:44px;padding:.75rem;text-align:left;display:grid;gap:.25rem;border:0;border-radius:.5rem;background:transparent;color:var(--admin-text-primary);cursor:pointer}.company-search-results button:hover{background:var(--admin-surface-hover)}.company-search-results span{font-size:.8rem;color:var(--admin-text-secondary)}.portfolio-heading{max-width:42rem;text-align:center;margin:3rem auto 2rem}.portfolio-empty{max-width:40rem;margin:3rem auto;text-align:center}.guest-gallery,.guest-gate{--guest-bg:var(--admin-canvas);--guest-fg:var(--admin-text-primary);--guest-muted:var(--admin-text-secondary);font-family:inherit}.guest-hero{min-height:calc(90svh + 1px)}.guest-gate,.guest-hero.no-cover{background:var(--admin-surface-2);background-image:none}.guest-hero.no-cover{min-height:calc(90svh + 1px);background:radial-gradient(ellipse at 77% 27%,color-mix(in srgb,var(--accent-400) 11%,transparent),transparent 49%),linear-gradient(145deg,var(--admin-surface-2),var(--admin-surface-1))}.guest-hero.no-cover:after,.guest-hero.no-cover:before{display:block;position:absolute;z-index:0;pointer-events:none;content:"";background:none}.guest-hero.no-cover:before{top:9%;right:7%;width:clamp(11rem,31vw,29rem);aspect-ratio:1;height:auto;border:1px solid color-mix(in srgb,var(--accent-400) 25%,transparent);border-radius:18%;box-shadow:0 0 0 clamp(2rem,5vw,5rem) color-mix(in srgb,var(--accent-400) 5%,transparent);transform:rotate(24deg)}.guest-hero.no-cover:after{inset:auto;top:38%;right:-7%;width:clamp(9rem,23vw,22rem);aspect-ratio:1;height:auto;border:1px solid color-mix(in srgb,var(--accent-400) 19%,transparent);border-radius:50%}.guest-hero-overlay{padding:clamp(1.5rem,4vw,3rem)}.guest-hero-overlay h1{font-size:clamp(1.8rem,4.5vw,3rem);max-width:28ch;line-height:1.15;letter-spacing:-.035em}.guest-hero.has-cover .guest-brand,.guest-hero.has-cover .guest-hero-overlay,.guest-hero.has-cover .guest-hero-overlay p{color:#fff}.guest-hero.no-cover .guest-hero-overlay p{color:var(--admin-text-secondary)}.guest-sections:before{background:color-mix(in srgb,var(--admin-canvas) 94%,transparent)}.guest-gallery-content{padding-block:1.5rem 3rem}.guest-photo-grid:has(>:only-child){grid-template-columns:minmax(0,1fr);max-width:min(100%,42rem);margin-inline:auto}.guest-gallery:has(.guest-empty){display:flex;flex-direction:column;min-height:100svh}.guest-gallery:has(.guest-empty) .guest-hero{flex:1 0 auto;min-height:calc(90svh + 1px)}.guest-gallery:has(.guest-empty) .guest-gallery-content{flex:0 0 auto;padding-block:0}.guest-gallery:has(.guest-empty) .guest-empty{margin:0;padding:.75rem 1rem}.guest-gallery-close{position:absolute;z-index:2;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:inherit}.guest-hero.has-cover .guest-gallery-close{color:white}.guest-gallery-close:focus-visible,.guest-gallery-close:hover{background:rgb(128 128 128/20%)}.guest-description{font-size:1rem;margin-block:1.25rem;text-align:left}.client-gallery .guest-hero,.client-gallery .guest-hero.no-cover{min-height:calc(90svh + 1px)}.client-gallery .guest-gallery-content{padding-top:1rem}.client-gallery .guest-hero-overlay h1{max-width:38ch}@media (max-width:760px){.client-gallery .guest-hero,.client-gallery .guest-hero.no-cover{min-height:calc(90svh + 1px)}.client-gallery .guest-hero-overlay{padding:1.4rem 1rem}.client-gallery .guest-hero-overlay h1{margin:.5rem 0;font-size:clamp(1.5rem,6vw,2rem)}}.client-guest-sharing{background:var(--admin-surface-1);border:1px solid var(--admin-border-default);border-radius:1rem;margin-bottom:1.5rem;padding:clamp(1rem,2vw,1.5rem)}.client-guest-sharing h4{margin:.35rem 0}.client-guest-sharing p{color:var(--admin-text-secondary);margin:.4rem 0 1rem}.client-guest-link-list{display:grid;gap:.5rem;list-style:none;margin:0 0 1rem;padding:0}.client-guest-link-list li{align-items:center;border-top:1px solid var(--admin-border-subtle);display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;padding:.7rem 0}.client-guest-link-list li>div:first-child{display:grid;gap:.2rem}.client-guest-link-list li span{color:var(--admin-text-secondary);font-size:.8rem}.client-guest-link-list li>div:first-child{min-width:min(100%,18rem);flex:1 1}.client-guest-link-list .client-guest-link-summary{margin:.4rem 0 0;font-size:.82rem;line-height:1.5}.client-guest-link-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.client-guest-link-actions button{align-items:center;display:inline-flex;gap:.4rem;justify-content:center;min-height:44px;padding:.5rem .8rem}.client-guest-create>summary{color:var(--accent-300);cursor:pointer;font-weight:650;min-height:44px;padding:.65rem 0}.client-guest-create .share-access-form{padding-top:1rem}.app-toast-success>svg{color:var(--success-text)}.app-toast-danger>svg{color:var(--danger-text)}.app-toast-info>svg{color:var(--accent-300)}.app-toast{box-shadow:var(--shadow-sm)}.app-toast button{width:44px;height:44px}@media (max-width:760px){.client-content,.client-header,.product-page{width:calc(100% - 2rem)}.product-header nav{gap:.65rem;font-size:.8rem}.product-header .button{padding-inline:.8rem}.product-features,.settings-grid{grid-template-columns:1fr;gap:1.5rem}.client-profile-grid{gap:1rem}.product-how,.product-intro{grid-template-columns:1fr}.product-intro{min-height:0;padding-top:3rem}.product-preview{transform:none}.product-how{gap:1.5rem}.product-features article{padding-bottom:.5rem}.client-content{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.client-header nav>a{display:none}.client-header .logout-button{min-height:44px}.client-mobile-nav{display:flex;position:fixed;inset:auto 0 0;z-index:40;border-top:1px solid var(--admin-border-default);background:var(--admin-surface-1);padding:.4rem .5rem max(.4rem,env(safe-area-inset-bottom))}.client-mobile-nav a{flex:1 1;min-height:52px;display:flex;flex-direction:column;gap:.15rem;align-items:center;justify-content:center;color:var(--admin-text-secondary);font-size:.7rem}.client-mobile-nav svg{width:1.25rem;height:1.25rem}.client-mobile-nav a:focus-visible{outline-offset:-3px}.client-mobile-nav a[aria-current=page]{color:var(--accent-400);font-weight:800}.lightbox-downloads{flex-wrap:wrap}input,select,textarea{font-size:16px}}.download-chooser{position:relative}.download-chooser>button{align-items:center;display:inline-flex;gap:.5rem;min-height:44px}.download-chooser>button svg{width:1rem;height:1rem}.download-chooser-options{background:var(--admin-surface-1);border:1px solid var(--admin-border-default);border-radius:.8rem;bottom:calc(100% + .5rem);box-shadow:var(--shadow-sm);color:var(--admin-text-primary);display:grid;min-width:min(18rem,80vw);padding:.35rem;position:absolute;right:0;text-transform:none;z-index:10}.download-chooser-options button{border:0;border-radius:.5rem;color:inherit;display:grid;gap:.2rem;align-content:center;justify-items:start;min-height:48px;padding:.55rem .75rem;text-align:left;width:100%}.download-chooser-options button:focus-visible,.download-chooser-options button:hover{background:var(--admin-surface-hover)}.download-chooser-options small{color:var(--admin-text-secondary);font-size:.75rem}.client-gallery:has(.guest-empty) .guest-hero{min-height:calc(90svh + 1px);flex:0 0 auto}@media (max-width:760px){.guest-hero.no-cover:before{top:14%;right:-5%}.guest-hero.no-cover:after{top:43%;right:-18%}}.client-header nav>a[aria-current=page]{color:var(--accent-400);font-weight:800;text-decoration:underline;text-underline-offset:.45rem}.client-gallery-scroll-cue{display:inline-block;margin-top:1.25rem;font-size:.78rem;font-weight:700;letter-spacing:.04em}.client-sections-hint{margin:.5rem 0 0;color:var(--admin-text-secondary);font-size:.8rem}