/* Shared reading scale, following the supplied Inter-based reference. */
.marketing,.app-shell{font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.6}
.marketing h1,.marketing h2,.marketing h3{font-family:Inter,system-ui,sans-serif;font-weight:800;line-height:1.15}
.marketing h1,.marketing-hero-copy h1{font-size:64px}.marketing h2{font-size:44px}.marketing h3{font-size:22px}
.marketing .section-heading{max-width:880px}.marketing .section-heading p{font-size:18px;line-height:1.7}
.marketing .marketing-hero-copy{max-width:570px}.marketing-hero-copy p{font-size:19px;line-height:1.75;max-width:530px}
.marketing .overline{font-size:13px}.marketing-links{font-size:15px;gap:24px}
.marketing .btn,.app-shell .btn{font-size:15px;min-height:46px;padding:12px 18px;line-height:1.4}
.marketing .identity span,.app-shell .identity span{font-size:21px;max-width:none;line-height:1.25}
.marketing .identity img,.app-shell .identity img,.app-shell .brand .brand-logo-mark{width:56px;height:56px;min-width:56px;flex-basis:56px;padding:0;object-fit:cover;object-position:center;border-radius:50%;background:transparent}
.marketing-nav>.wrap{min-height:72px}.marketing .hero-highlights strong{font-size:16px}.marketing .hero-highlights span{font-size:14px}
.marketing .marketing-nav .identity img,.app-shell .marketing-nav .identity img{width:40px;height:40px;min-width:40px;flex-basis:40px}
@media(max-width:760px){.marketing .marketing-nav .identity img,.app-shell .marketing-nav .identity img{width:36px;height:36px;min-width:36px;flex-basis:36px}}
.marketing .process-grid h3{font-size:19px;line-height:1.35}.marketing .process-grid p{font-size:15px;line-height:1.7}.step-number{font-size:15px}
.marketing .pricing-option h3{font-size:34px}.marketing .pricing-option>p,.marketing .pricing-option ul{font-size:16px}.marketing .pricing-option ul{line-height:1.65;min-height:180px}
.marketing .faq-layout h2{font-size:38px}.marketing .faq-list summary{font-size:17px}.marketing .faq-list p{font-size:16px}
.marketing .footer-columns p{font-size:16px}.marketing .footer-columns h3{font-size:17px}.marketing .footer-columns>div>a:not(.identity){font-size:15px}.marketing .footer-bottom{font-size:13px}
.app-shell{--sidebar-width:270px;font-size:15px}.app-shell h1{font-size:32px;font-weight:800}.app-shell h2{font-size:22px;font-weight:700}.app-shell h3{font-size:18px}
.app-shell .page-kicker{font-size:13px}.app-shell .page-title p{font-size:16px}.app-shell .side-link{font-size:15px;line-height:1.45;min-height:48px}.app-shell .nav-section-label{font-size:12px}
.app-shell .sidebar-brand .brand-logo-mark{width:48px;min-width:48px;height:48px;flex-basis:48px}.app-shell .sidebar-brand-text{font-size:20px}.app-shell .sidebar-brand-text small{font-size:12px}.app-shell .sidebar-profile strong{font-size:14px}.app-shell .sidebar-profile small{font-size:12px}
.app-shell .workspace-header{font-size:14px}.app-shell .workspace-footer{font-size:13px}.app-shell .metric-label{font-size:14px;line-height:1.4}.app-shell .metric strong{font-size:34px}.app-shell .metric small{font-size:13px}
.app-shell .field label{font-size:15px}.app-shell .field input,.app-shell .field select,.app-shell .field textarea{font-size:16px;line-height:1.5;min-height:46px}
.app-shell .field-hint,.app-shell .optional{font-size:13px}.app-shell .form-section-title h3{font-size:20px}.app-shell .section-tabs [role=tab]{font-size:15px;line-height:1.4}
.app-shell .save-bar [data-save-state],.app-shell .registration-form .save-bar [data-step-label]{font-size:13px}.app-shell .text-link{font-size:15px}
.app-shell .table-scroll th{font-size:13px}.app-shell .table-scroll td{font-size:15px}.app-shell .table-scroll td small,.app-shell .table-scroll td .muted{font-size:13px}.app-shell .badge{font-size:12px;padding:5px 9px;line-height:1.4}
.app-shell .filter-row input,.app-shell .filter-row select{font-size:15px;min-height:44px}.app-shell .pagination,.app-shell .section-title p{font-size:14px}
.app-shell .invitation-summary h2{font-size:22px}.app-shell .event-heading>span{font-size:14px}.app-shell .invitation-toolbar .btn{font-size:14px;min-height:44px}.app-shell .invitation-body .inline-notice{font-size:14px}.app-shell .health-list li{font-size:15px}
.app-shell .registration-steps li{font-size:14px;line-height:1.4}.app-shell .registration-steps li span{width:28px;height:28px;flex:0 0 28px}.app-shell .registration-summary h2{font-size:22px}.app-shell .registration-summary p{font-size:15px}.app-shell .summary-detail{font-size:14px}
.app-shell .plan-selector strong{font-size:16px}.app-shell .plan-selector small{font-size:13px;line-height:1.55}.app-shell .plan-selector b{font-size:16px}.app-shell .plan-selector label{grid-template-columns:20px minmax(0,1fr) auto;min-width:0}
.app-shell .auth-card .brand>span{font-size:21px}.app-shell .auth-card p{font-size:15px}.app-shell .row-actions .btn{font-size:14px}.app-shell .archive-list{font-size:14px}
/* All switch geometry is explicit so generic input rules cannot stretch the track. */
.app-shell .switch-row{font-size:15px;min-height:58px;gap:20px;cursor:pointer;line-height:1.5}
.app-shell .switch-row>strong{font-weight:600;min-width:0;overflow-wrap:anywhere}
.app-shell .switch-row>input[type=checkbox]{appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;position:relative;flex:0 0 46px;width:46px;min-width:46px;max-width:46px;height:28px;min-height:28px;max-height:28px;padding:0;margin:0;border:0;border-radius:999px;background:#c2cdc8;box-shadow:inset 0 0 0 1px #99aaa480;align-self:center;cursor:pointer;transition:background-color .18s}
.app-shell .switch-row>input[type=checkbox]::after{content:"";position:absolute;inset:3px auto auto 3px;display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #203c3130;transform:translateX(0);transition:transform .18s}
.app-shell .switch-row>input[type=checkbox]:checked{background:#147d60;box-shadow:none}.app-shell .switch-row>input[type=checkbox]:checked::after{transform:translateX(18px)}
.app-shell .switch-row>input[type=checkbox]:focus-visible{outline:3px solid #2678bd;outline-offset:4px}.app-shell .switch-row>input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}
.app-shell .header-start strong,.app-shell .header-account{font-size:15px}.app-shell .breadcrumb-parent,.app-shell .breadcrumb-divider{font-size:14px}.app-shell .sidebar .brand .sidebar-brand-text{font-size:20px;white-space:normal}.app-shell .cell-primary{font-size:15px}.app-shell .cell-secondary{font-size:13px;color:#687e73}.app-shell .responsive-table td{font-size:15px}.app-shell .responsive-table td[data-label]::before{font-size:12px}.app-shell .result-count{font-size:13px}.app-shell .count-label{font-size:12px}.app-shell .empty-state p{font-size:15px}
.catalog-tabs,.catalog-subtabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 30px;padding:0}
.catalog-tabs>a,.catalog-subtabs>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 20px;border:1px solid #cfdcd5;border-radius:6px;font-size:15px;font-weight:600;background:#fff;color:#345547}
.catalog-tabs>a>span,.catalog-subtabs>a>span{font-size:12px;font-weight:600;min-width:22px;text-align:center;opacity:.8}
.catalog-tabs>a[aria-current],.catalog-subtabs>a[aria-current]{background:#156452;color:#fff;border-color:#156452}.catalog-subtabs{margin-top:-10px}.catalog-subtabs>a{min-height:40px;padding:8px 16px;font-size:14px}
.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}
.catalog-grid .template-card::before{display:none}.catalog-grid .template-card-body{gap:0}.catalog-grid .template-category{padding:0;border-radius:0;background:none}
.template-card{display:flex;flex-direction:column;background:#fff;border:1px solid #d8e3dc;border-radius:8px;overflow:hidden;min-width:0;padding:0;text-align:left;box-shadow:none}.template-card:hover{transform:none}
.template-cover{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#56705c;isolation:isolate}.template-cover>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.template-cover:hover>img{transform:scale(1.04)}.template-cover::after{content:"";position:absolute;inset:0;background:#173d3655;z-index:0}
.template-cover-copy{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#fff;font-family:GreatVibes,cursive;font-size:43px;line-height:1.1;text-shadow:0 2px 8px #173d3680}.template-cover-copy em{font-family:Cormorant,serif;font-size:27px;line-height:1}.template-cover-copy small{font-family:Inter,sans-serif;font-size:10px;margin-top:12px}
.template-play{position:absolute;right:14px;bottom:14px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffffaa;border-radius:50%;color:white;background:#fff2}
.template-card-body{padding:20px;display:flex;flex:1;flex-direction:column;align-items:stretch}.template-category{font-size:12px;font-weight:600;color:#41795e;margin-bottom:10px}.marketing .template-card h3{font-size:19px;line-height:1.4;margin:0;min-height:54px}.template-card .template-price{font-size:16px;font-weight:700;color:#294d3f;margin:12px 0 20px}.template-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.marketing .template-card-actions .btn{padding:11px 8px;font-size:14px;gap:6px}.template-card-actions .lucide{width:16px;height:16px}.catalog-more{text-align:center;margin-top:34px}.mobile-more-only{display:none}.catalog-empty{text-align:center}
.admin-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.admin-template{border:1px solid #d6e0d9;border-radius:8px;background:#fff;overflow:hidden;min-width:0}.admin-template>summary{list-style:none;display:flex;align-items:center;gap:18px;padding:18px;cursor:pointer}.admin-template>summary::-webkit-details-marker{display:none}.admin-template>summary>img{width:76px;height:88px;object-fit:cover;border-radius:4px;flex-shrink:0}.admin-template>summary>span{display:flex;flex-direction:column;min-width:0;flex:1;gap:5px}.admin-template>summary small{font-size:13px;color:#597668}.admin-template>summary strong{font-size:19px;line-height:1.35}.admin-template>summary span>span{font-size:14px;color:#647f71}.admin-template[open]>summary>.lucide{transform:rotate(180deg)}.app-shell .admin-template .editor-form{border:0;border-top:1px solid var(--line);border-radius:0}.admin-template .save-bar{position:static}.app-shell .catalog-tabs,.app-shell .catalog-subtabs{justify-content:flex-start}
@media(min-width:981px){.app-shell.sidebar-collapsed{--sidebar-width:88px}.app-shell.sidebar-collapsed .sidebar-brand .brand-logo-mark{width:44px;height:44px;min-width:44px;flex-basis:44px;padding:0}}
@media(max-width:1100px){.marketing-nav>.wrap{gap:16px}.marketing .identity span{font-size:18px;max-width:130px}.marketing-links{gap:15px;font-size:14px}.marketing .nav-actions .btn{padding-inline:14px;font-size:14px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-catalog{grid-template-columns:1fr}}
@media(max-width:760px){.marketing .identity img,.app-shell .identity img{width:48px;min-width:48px;flex-basis:48px;height:48px}.marketing .identity span,.app-shell .identity span{font-size:17px;max-width:135px}.marketing-nav>.wrap{min-height:64px;gap:10px}.marketing .nav-actions .btn,.app-shell .nav-actions .btn{font-size:14px;padding:10px 14px;min-height:44px}.marketing h1,.marketing-hero-copy h1{font-size:40px}.marketing h2{font-size:32px}.marketing .overline{font-size:12px}.marketing .marketing-hero-copy{max-width:none;padding:36px 0 230px}.marketing .marketing-hero-copy p{font-size:17px}.marketing .marketing-hero-copy .btn{font-size:14px;padding:12px 14px}.marketing .section-heading p{font-size:16px}.marketing .hero-highlights strong{font-size:14px}.marketing .hero-highlights span{font-size:13px}.marketing .process-grid{grid-template-columns:1fr}.marketing .process-grid article{padding:25px}.marketing .process-grid h3{font-size:19px}.marketing .process-grid p{font-size:16px}.marketing .pricing-option ul{min-height:0}.marketing .pricing-option h3{font-size:30px}.marketing .faq-layout h2{font-size:32px}.marketing .footer-columns{gap:26px}.marketing .footer-columns .identity span{font-size:18px}.catalog-grid{grid-template-columns:1fr;gap:24px}.catalog-home>.template-card:nth-child(n+6){display:none}.template-cover{aspect-ratio:4/3}.template-cover-copy{font-size:56px}.template-cover-copy em{font-size:30px}.template-cover-copy small{font-size:12px}.marketing .template-card h3{min-height:0;font-size:21px}.marketing .template-card-actions .btn{font-size:15px}.template-category{font-size:14px}.template-card .template-price{font-size:18px}.catalog-tabs{gap:8px;margin-bottom:24px}.catalog-tabs>a{flex:1 0 calc(50% - 8px);padding:10px 14px;font-size:15px}.catalog-subtabs{gap:8px}.catalog-subtabs>a{flex:1 0 calc(50% - 8px);padding:8px 12px}.mobile-more-only{display:block}.app-shell h1{font-size:28px}.app-shell .page-title p{font-size:15px}.app-shell .btn,.app-shell .page-title .btn,.app-shell .save-bar .btn,.app-shell .invitation-toolbar .btn{font-size:14px;min-height:44px;padding:11px 14px}.app-shell .form-section{padding:24px 18px}.app-shell .client-metrics{grid-template-columns:1fr}.app-shell .client-metrics .metric{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px}.app-shell .client-metrics .metric-label{font-size:15px;min-height:0;margin:0}.app-shell .client-metrics .metric strong{font-size:30px}.app-shell .metric-label{font-size:13px}.app-shell .metric strong{font-size:30px}.app-shell .invitation-summary h2{font-size:21px}.app-shell .section-tabs [role=tab]{font-size:14px}.app-shell .save-bar{flex-wrap:wrap;gap:12px}.app-shell .registration-steps{padding:20px 16px;gap:10px;align-items:flex-start}.app-shell .registration-steps li{font-size:12px;flex:1;flex-direction:column;align-items:flex-start}.app-shell .registration-summary h2{font-size:20px}.app-shell .registration-summary>img{width:94px}.app-shell .plan-selector label{grid-template-columns:20px minmax(0,1fr);gap:10px}.app-shell .plan-selector b{grid-column:2}.app-shell .field-hint{font-size:13px}.app-shell .health-list li{font-size:14px}.app-shell .sidebar-brand-text{font-size:19px}.app-shell .sidebar-brand-text small{font-size:12px}.app-shell .admin-template>summary strong{font-size:18px}.app-shell .admin-template>summary{padding:16px;gap:12px}.app-shell .admin-template>summary>img{width:64px;height:76px}}
@media(max-width:360px){.marketing .identity img,.app-shell .identity img{width:44px;height:44px;min-width:44px;flex-basis:44px}.marketing .identity span,.app-shell .identity span{font-size:16px;max-width:102px}.marketing .nav-actions .btn,.app-shell .nav-actions .btn{padding:10px;font-size:13px}.marketing h1,.marketing-hero-copy h1{font-size:36px}.marketing .footer-columns{grid-template-columns:1fr}.marketing .footer-columns>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.template-cover>img,.app-shell .switch-row>input[type=checkbox],.app-shell .switch-row>input[type=checkbox]::after{transition:none}}
