/* One viewport shell; main owns vertical scrolling, including long forms. */
html{height:100%;overscroll-behavior-y:none}
html body:has(>main){box-sizing:border-box;display:flex;flex-direction:column;height:100%;height:100dvh;min-height:0!important;margin:0;overflow:hidden;overscroll-behavior-y:none}
html body>.topbar{box-sizing:border-box;flex:0 0 auto;width:100%;margin:0 auto}
html body>main,html body.personal-portal>main{box-sizing:border-box;flex:1 1 0;min-height:0;min-width:0;width:100%;margin-top:0!important;margin-bottom:0!important;overflow-y:auto;overflow-x:clip;overscroll-behavior-y:none;scroll-padding-top:8px;scroll-padding-bottom:16px;overflow-anchor:none}
html body>main:has(>.screen){display:flex;flex-direction:column}
html body>main>.screen{flex:0 0 auto;min-width:0;animation:none}
/* Fill only the space left after the header, footer and main padding. */
html body.personal-portal>main>#customer-home.active{display:flex;flex-direction:column;flex:1 0 auto;min-height:0!important}
html body.personal-portal #customer-home .cx-shell{display:flex;flex-direction:column;flex:1 0 auto;min-height:0!important;height:auto}
html body.personal-portal #personal-navigation{position:relative;flex:0 0 auto;left:auto;bottom:auto;transform:none;margin:0 auto}
/* Dialogs remain independently scrollable on small screens / with a keyboard. */
dialog{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
/* Personal dashboard: keep its header outside the scrolling content. */
html body.personal-portal.cx-dashboard>main{overflow:hidden;padding:0}
html body.personal-portal>main>#customer-home.active{flex:1 1 0;min-height:0!important;width:100%;margin:0 auto;overflow:hidden}
html body.personal-portal #customer-home .cx-shell{flex:1 1 0;min-height:0!important;width:100%;margin:0 auto;overflow:hidden}
html body.personal-portal #customer-home .cx-header{position:relative;top:auto;flex:0 0 auto}
html body.personal-portal #customer-home .cx-content{box-sizing:border-box;flex:1 1 0;min-height:0;width:100%;margin:0 auto;overflow-y:auto;overscroll-behavior-y:none;overflow-anchor:none}
html body.personal-portal:not(.cx-dashboard)>main{padding-top:8px;padding-bottom:8px}
/* Shared compact rhythm, keeping readable inputs and 44px touch targets. */
html body>main{padding-top:8px;padding-bottom:8px}
html body main :is(.panel,.account-shell,.records,.state-card,.support-card){padding:10px}
html body main :is(h1,.account-head h1){font-size:22px;line-height:1.2;margin:0 0 8px;text-align:center}
html body main h2{font-size:18px;line-height:1.25;margin:8px 0;text-align:center}
html body main h3{font-size:16px;line-height:1.25;margin:6px 0;text-align:center}
html body main :is(.profile-form,.cr-form){margin:6px auto 0}
html body main label{margin:6px 0 3px;font-size:13px;line-height:1.25}
html body main input:not([type=checkbox]):not([type=radio]),html body main select{box-sizing:border-box;min-height:44px;padding:7px 10px;font-size:16px}
html body main :is(.notice,.intro,.sub){font-size:12px;line-height:1.35;margin:6px auto;padding:6px 8px}
html body main :is(.hub-step-title,.hub-step-nav,.hub-pager){margin:6px 0}
html body main .hub-disclosure{margin:6px 0;padding:0 8px}
html body main .hub-disclosure>summary{font-size:15px;line-height:1.3;min-height:44px;padding:11px 0}
html body.personal-portal #account .account-shell{padding:10px}
html body.personal-portal #account .account-head{margin-bottom:6px}
html body.personal-portal #account .account-head p{margin:2px 0;font-size:12px}
html body.personal-portal #account .account-view>p{font-size:12px;line-height:1.35;margin:4px auto 6px}
html body.personal-portal #account .account-section-title{display:none}
html body.personal-portal #account .account-view>.button{margin:6px auto;min-height:44px}
html body.personal-portal>.topbar{padding-top:3px;padding-bottom:3px}
html body.personal-portal>.topbar :is(.language,#customer-menu>summary,#warranty-bell){min-height:44px;gap:3px;padding-top:3px;padding-bottom:3px}
html body.personal-portal #personal-navigation{padding-top:3px;padding-bottom:max(3px,env(safe-area-inset-bottom))}
/* Explicitly hidden controls must not be restored by flex/grid styling. */
html body [hidden]{display:none!important}
/* Compact page-specific lists, cards and actions. */
html body main :is(.records,.state-card,.support-card,.product-card,.card,.prelaunch-card){margin-top:8px;margin-bottom:8px;padding:10px;min-height:0}
html body main :is(.records,.state-card,.support-card,.product-card,.card) p{margin:4px 0;line-height:1.35;font-size:13px}
html body main .button{padding:7px 10px;min-height:44px;font-size:14px;line-height:1.25}
html body main :is(.service-history-tabs,.service-history-toolbar){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0}
html body main .service-history-toolbar>.button{display:flex;align-items:center;justify-content:center;width:100%;margin:0;font-size:13px}
html body main .service-history-tabs>.button{margin:0;min-width:0;font-size:13px}
html body main .service-history-card{gap:4px;padding:10px;margin:6px 0;align-items:stretch}
html body main .service-history-card>*{margin:0;min-height:0}
html body main .service-history-card :is(p,h3){margin:0;line-height:1.35}
html body main .service-history-card .service-history-status{font-size:16px;line-height:1.3}
html body main .service-history-card>.button{margin:4px 0 0;min-height:44px}
html body main .service-confirmation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;margin-top:6px}
html body main .service-confirmation>:is(p,select,textarea){grid-column:1/-1;margin:0}
html body main .service-confirmation>.button{min-width:0;margin:0;font-size:13px;min-height:44px}
html body main p[role=status]:empty{display:none}
html body main :is(.directory-address-panel,.new-service-details){margin:8px auto;gap:6px}
html body main :is(.new-service-actions,.address-actions){margin-top:8px;gap:6px}
html body main :is(.cx-actions strong,.cx-actions small,.cx-nav button span){min-height:0}
html body main .prelaunch-card{margin:8px auto}
html body main>header{padding:6px 0 8px}
html body main .card .actions{gap:6px}
html body main :is(.card,.actions)>button{min-height:44px;padding:8px 10px}
html body main .grid{gap:8px}
/* Address editors: full street row, paired short fields, no forced focus scroll. */
html body main #ca-fields,html body main #profile-form .hub-step:has(.address-field-street){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}
html body main #ca-fields>*,html body main #profile-form .hub-step:has(.address-field-street)>*{grid-column:1/-1;min-width:0}
html body main #ca-fields>.address-field,html body main #profile-form .hub-step>.address-field{grid-column:auto}
html body main #ca-fields>.address-field-street,html body main #ca-fields>.address-field-label,html body main #profile-form .hub-step>.address-field-street{grid-column:1/-1}
html body main .address-field label{display:block;margin:0 0 3px;font-size:13px}
html body main .address-field input{width:100%;margin:0;min-width:0}
html body main .address-field .biz-address-help{font-size:12px;line-height:1.3;margin:4px 0}
html body main #ca-fields>button{grid-column:auto;margin-top:2px;min-width:0}
html body main #account:has(#ca-form:not([hidden])) [data-view-panel="addresses"]>.button,
html body main #account:has(#ca-form:not([hidden])) [data-view-panel="addresses"]>p:not([role=status]){display:none}
/* Welcome page: three account choices without oversized introductory spacing. */
html body main #home{padding-top:2px;width:100%}
html body main #home .brand{margin:0 auto 4px}
html body main #home .brand-name{font-size:22px;margin:0;line-height:1.2}
html body main #home .ornament{margin:5px auto 7px}
html body main #home>h1{font-size:18px;line-height:1.25;margin:0 auto 8px}
html body main #home .testing-notice{margin:6px auto 10px;padding:8px 10px}
html body main #home .testing-notice strong{font-size:13px}
html body main #home .testing-notice p{font-size:12px;line-height:1.35;margin:3px 0 0}
html body main #home .home-portals{gap:8px}
html body main #home .home-portal{padding:9px 10px;gap:6px;grid-template-rows:auto auto;border-radius:12px}
html body main #home .home-portal h2{font-size:16px;line-height:1.25;margin:0;min-height:0}
html body main #home .home-portal .button{min-height:44px;padding:7px 6px;font-size:13px;line-height:1.25}
@media(max-width:650px){html body main #home .home-portal{grid-template-columns:repeat(2,minmax(0,1fr))}html body main #home .home-portal h2{grid-column:1/-1}html body main #home .home-portal-icon{display:none}}
/* Repeated cards share compact rows instead of one full-width row per action. */
html body main .records:has(>.button){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 6px;align-items:start;padding:8px}
html body main .records:has(>.button)>*{grid-column:1/-1;min-width:0;margin:0}
html body main .records:has(>.button)>.button{grid-column:auto;display:flex;align-items:center;justify-content:center;min-width:0;width:100%;margin:0;padding:6px;min-height:44px;font-size:13px}
html body main .records:has(>.button)>:is(h2,h3){font-size:16px;line-height:1.25;margin:0}
html body main .records:has(>.button)>p{font-size:12px;line-height:1.3;margin:0 0 3px}
html body main #ca-list>.records{margin:6px 0;border-radius:10px}
html body main .account-head #account-user-label{display:none}
html body main #account .account-head h1{font-size:20px}
html body main #account .account-head{margin-bottom:8px}
html body main #account .account-shell{padding:8px}
html body main :is(.product-actions,.service-notification-controls,.area-toolbar,.actions){gap:6px;margin-top:6px;margin-bottom:6px}
html body main .product-actions>.button{margin:0;min-height:44px;padding:6px;font-size:13px}
html body main .product-card{gap:3px;padding:8px;min-height:72px;margin:0}
html body main .product-card .product-address{font-size:12px;line-height:1.3}
html body main .rental-product-grid label{min-height:0;margin:3px 0}
html body main :is(.biz-box,.directory-card,.support-card){padding:8px;margin-top:6px;margin-bottom:6px}
html body main :is(.biz-box,.directory-card,.support-card)>p{margin:4px 0;font-size:13px;line-height:1.35}
html body main .address-list-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0}
html body main .address-list-toolbar>.button{width:100%;margin:0;padding:6px;font-size:13px;min-height:44px}
html body main #account:has(#ca-form:not([hidden])) .address-list-toolbar{display:none}
.connect-tenant-dialog{width:min(94vw,480px);padding:14px;border:1px solid #d6dfeb;border-radius:16px;color:#172b70;text-align:center}
.connect-tenant-dialog::backdrop{background:#10204066}
.connect-tenant-dialog h2{font-size:20px;margin:0 0 10px}
.connect-tenant-dialog p{font-size:13px;line-height:1.35;margin:8px 0}
.connect-tenant-dialog label{display:block;font-size:13px;margin:8px 0}
.connect-tenant-dialog input,.connect-tenant-dialog select{display:block;width:100%;box-sizing:border-box;min-height:44px;padding:8px;font:inherit;font-size:16px;border:1px solid #ccd4e0;border-radius:8px;margin:4px 0}
.connect-tenant-dialog button{min-height:44px;padding:8px 12px;margin:5px;font:inherit;font-size:14px;border-radius:8px}
html body main #products-form .products-label-upload{margin:0 0 6px}
html body main #products-form .products-equipment-grid label{min-height:0;margin:3px 0;line-height:1.25}

/* Tenant invitations: compact independent delivery choices. */
html body .connect-tenant-dialog .tenant-channels{display:flex;justify-content:center;gap:24px;margin:8px 0}
html body .connect-tenant-dialog .tenant-channels label{display:flex;align-items:center;gap:8px;margin:0}
html body .connect-tenant-dialog .tenant-channels input{width:20px;height:20px;min-height:20px;margin:0}
html body .connect-tenant-dialog .tenant-send-note{font-size:12px;margin:6px 0}
html body .connect-tenant-dialog form{gap:8px}
html body .connect-tenant-dialog a.button{text-align:center;text-decoration:none}

/* Communities above; account navigation lives in the bottom Menu. */
html body.personal-portal>.topbar>#customer-communities-nav{grid-area:menu}
html body #customer-communities-nav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-width:0;min-height:44px;padding:3px 2px;border:0;border-radius:8px;background:transparent;color:#747e96;font:inherit;font-size:11px;line-height:1.2;text-align:center;cursor:pointer}
html body #personal-menu-slot{min-width:0;position:relative}
html body #personal-menu-slot #customer-menu{margin:0;width:100%;position:static}
html body #personal-menu-slot summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:48px;padding:5px;border:0;border-radius:8px;color:#747e96;font:inherit;font-size:11px;line-height:1.2;box-sizing:border-box;list-style:none}
html body #personal-menu-slot summary::-webkit-details-marker{display:none}
html body #personal-menu-slot summary[aria-current],html body #personal-menu-slot details[open]>summary{background:#f0f2fa;color:#172d79}
html body #personal-menu-slot #customer-menu>nav{top:auto;bottom:calc(100% + 8px);right:0;left:auto;width:240px;max-width:calc(100vw - 24px);max-height:65dvh;overflow-y:auto;box-sizing:border-box;z-index:40}
html body #personal-menu-slot #customer-menu>nav button{display:block;width:100%;min-height:44px;padding:10px;text-align:left;color:var(--blue);font-size:14px}

/* One compact community grid, with no repeated heading or pagination. */
html body main #customer-communities{padding:4px 0}
html body main #customer-communities .community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 8px}
html body main #customer-communities .community-grid button{min-height:58px;padding:5px 3px;font-size:12px;line-height:1.2;margin:0}
html body main #customer-communities .community-grid span{font-size:22px;line-height:1.1;margin:0 0 3px}
html body main #cx-community-status{font-size:13px;line-height:1.3;margin:6px 0}
html body main #customer-communities>button.button{min-height:44px;margin:4px auto;padding:8px 18px;font-size:14px}
html body #personal-menu-slot .upper-nav-icon{display:block;width:20px;height:20px;flex-shrink:0}

html body main #cr-equipment>.cr-label-upload{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 0 8px;padding:0}
html body main #cr-attach-label{min-height:44px;margin:0;padding:8px 18px}
html body main #request-service #cr-form{margin-top:0}

/* Compact appliance form: one border, paired fields and restrained spacing. */
html body main #request-service #cr-form{padding:10px;box-shadow:none}
html body main #request-service #cr-fields{border:0;padding:0;margin:0;min-width:0}
html body main #cr-form .hub-step{padding:0;margin:0}
html body main #cr-form .cr-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:0}
html body main #cr-form .cr-equipment-grid>.cr-identifier{grid-column:auto}
html body main #cr-form .cr-equipment-grid>div{gap:3px;margin:0;padding:0;justify-content:flex-start}
html body main #cr-form .cr-equipment-grid label:not(.button){min-height:0;margin:0;font-size:13px;line-height:1.3}
html body main #cr-form .cr-equipment-grid :is(input,textarea){margin:0;padding:8px;min-height:44px;box-sizing:border-box;text-align:center}
html body main #cr-form #cr-description{min-height:64px;margin:0;padding:8px}
html body main #cr-form label[for=cr-description]{margin:8px 0 4px}
html body main #cr-form :is(.cr-photo-help,.cr-file-name):empty{display:none}
html body main #cr-form .hub-step-nav{margin-top:8px;padding-top:0}

html body main #cr-form .cr-equipment-grid>.cr-serial-field{grid-column:1 / -1}

html body main #cr-form .cr-missing-label{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;line-height:1.2;margin:4px 0;min-height:32px;padding:0}
html body main #cr-form .cr-missing-label input{width:16px;height:16px;min-height:0;margin:0;padding:0}
html body main #cr-form .cr-equipment-grid input:placeholder-shown,
html body main #cr-form .cr-equipment-grid textarea:placeholder-shown,
html body main #cr-form #cr-description:placeholder-shown{background:#fff9e7;border-color:#ddca8e}
html body main #cr-form .cr-equipment-grid input:not(:placeholder-shown),
html body main #cr-form .cr-equipment-grid textarea:not(:placeholder-shown),
html body main #cr-form #cr-description:not(:placeholder-shown){background:#fff}

html body main #cr-form #cr-label-actions,
html body main #cr-form #cr-photo-options{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px;width:100%;max-width:320px;margin:0;padding:0;min-height:44px}
html body main #cr-form #cr-label-actions>button,
html body main #cr-form #cr-photo-options>button{width:100%;min-height:44px;margin:0;padding:8px 12px}
html body main #cr-form #cr-label-actions>.cr-missing-label{margin:0;min-height:44px}

html body.personal-portal #personal-navigation.request-nav{grid-template-columns:repeat(3,minmax(0,1fr))}

html body main #cr-form #cr-label-actions{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);max-width:420px;gap:6px}
html body main #cr-form #cr-attach-label{grid-column:2;grid-row:1;white-space:nowrap;padding:8px 10px}
html body main #cr-form #cr-missing-option{grid-column:3;grid-row:1;font-size:12px}
html body main #cr-form #cr-photo-options{display:contents}
html body main #cr-form #cr-photo-file{grid-column:1;grid-row:1}
html body main #cr-form #cr-photo-camera{grid-column:3;grid-row:1}
html body main #cr-form #cr-photo-options>button{font-size:13px;padding:8px 4px}

html body main #cr-form #cr-photo-options>button,
html body main #cr-form #cr-extra-options>button{background:#e8efff;color:#172d79;border-color:#aabce9}
html body main #cr-form #cr-photo-options>button:hover,
html body main #cr-form #cr-extra-options>button:hover{background:#d8e4ff;border-color:#748dcc}
.property-files-dialog{width:min(440px,calc(100vw - 24px));max-height:85dvh;overflow:auto;border:1px solid #d5dcea;border-radius:18px;padding:16px;color:#182d71;text-align:center;box-sizing:border-box}.property-files-dialog::backdrop{background:#15244966}.property-files-dialog h2{margin:0 0 8px;font-size:21px}.property-files-dialog .pf-address{font-size:13px;margin:0 0 12px}.property-files-dialog form{display:grid;gap:8px}.property-files-dialog label{display:grid;gap:4px;font-size:14px}.property-files-dialog input{width:100%;box-sizing:border-box;min-height:44px;padding:8px;font-size:16px}.property-files-dialog .pf-record{border-top:1px solid #d5dcea;padding:10px 0;overflow-wrap:anywhere}.property-files-dialog small{display:block;margin:4px 0;color:#596477}.property-files-dialog .pf-record>div{display:flex;gap:8px;justify-content:center}.property-files-dialog button{min-height:44px}.property-files-dialog .pf-status:empty{display:none}.property-files-dialog .pf-close{margin-top:10px}

/* Show all properties as compact, individually expandable rows. */
html body main #ca-list{display:grid;gap:8px;margin-top:10px}
html body main #ca-list>.property-fold{min-width:0;border:1px solid #d5dcea;border-radius:12px;background:#fff;overflow:hidden}
html body main #ca-list>.property-fold>summary{display:flex;align-items:center;position:relative;min-height:64px;padding:10px 32px;cursor:pointer;list-style:none;text-align:center;color:#182d71;box-sizing:border-box}
html body main #ca-list>.property-fold>summary::-webkit-details-marker{display:none}
html body main #ca-list>.property-fold>summary::after{content:'⌄';position:absolute;right:12px;font-size:20px}
html body main #ca-list>.property-fold[open]>summary::after{content:'⌃'}
html body main #ca-list>.property-fold>summary:focus-visible{outline:3px solid #7897db;outline-offset:-3px}
html body main #ca-list .property-summary{width:100%;min-width:0;overflow-wrap:anywhere}
html body main #ca-list .property-summary h3{font-size:17px;line-height:1.25;margin:0 0 4px}
html body main #ca-list .property-summary p{font-size:13px;line-height:1.4;margin:0;color:#687182}
html body main #ca-list>.property-fold[open]>summary{background:#f0f4fc;border-bottom:1px solid #d5dcea}
html body main #ca-list>.property-fold>.records{border:0;border-radius:0;margin:0;padding:12px}
html body main #ca-list .linked-tenants{margin:0 0 12px;overflow-wrap:anywhere}

html body main .address-list-toolbar{grid-template-columns:1fr}
html body main #ca-list .property-home-choice{display:flex;justify-content:center;align-items:center;gap:10px;margin:0 0 12px;min-height:44px}
html body main #ca-list .property-home-choice input{width:20px;height:20px}

/* Consistent compact spacing across account, service, business and public pages. */
html body>main,html body.personal-portal:not(.cx-dashboard)>main{padding:6px 10px}
html body main :is(.panel,.account-shell,.biz-shell,.biz-body,.biz-box,.support-card,.state-card,.prelaunch-card){padding:8px;margin-top:6px;margin-bottom:6px}
html body main :is(h1,.account-head h1){font-size:21px;margin-bottom:5px}
html body main h2{font-size:17px;margin:5px 0}
html body main h3{font-size:16px;margin:4px 0}
html body main :is(.sub,.intro,.notice,.biz-muted,.account-head p){margin:4px auto;padding-top:2px;padding-bottom:2px;line-height:1.3}
html body main :is(.records,.directory-card,.service-history-card,.product-card){padding:8px;margin-top:5px;margin-bottom:5px;gap:4px 6px}
html body main :is(.records,.directory-card,.service-history-card,.product-card) p{margin:2px 0;line-height:1.3}
html body main :is(.profile-form,.cr-form,.biz-form){margin-top:4px;margin-bottom:4px}
html body main :is(.profile-form,.cr-form,.biz-form) fieldset{padding:8px;margin:6px 0;min-width:0}
html body main :is(.product-actions,.address-actions,.biz-links,.biz-quick,.account-grid,.pm-dashboard-grid,.rental-product-grid){gap:6px;margin-top:6px;margin-bottom:6px}
html body main .account-tile{min-height:68px;padding:8px}
html body main :is(.button,.biz-button){min-height:44px;padding:6px 8px;line-height:1.2}
html body main :is(.hub-step-nav,.hub-pager,.service-history-tabs,.biz-job-tabs){margin:4px 0;gap:6px}
html body main .form-button{margin-top:6px}
html body main :is(.property-disconnect-confirmation,.address-delete-confirmation,.rental-remove){padding:6px 0;margin-top:6px}
html body dialog{padding:12px}
html body dialog :is(h2,h3){margin:4px 0 6px}
html body dialog p{margin:5px 0;line-height:1.3}
html body main #ca-list{gap:5px;margin-top:5px}
html body main #ca-list>.property-fold>summary{min-height:52px;padding:6px 25px}
html body main #ca-list .property-summary h3{font-size:16px;margin:0 0 2px}
html body main #ca-list .property-summary p{font-size:13px;line-height:1.25}
html body main #ca-list>.property-fold>.records{padding:7px;gap:4px 6px}
html body main #ca-list .linked-tenants{margin:0;padding:0}
html body main #ca-list .linked-tenants section{padding:0;margin:0 0 4px}
html body main #ca-list .linked-tenants strong{font-size:14px;line-height:1.25}
html body main #ca-list .linked-tenants p{font-size:13px;line-height:1.25;margin:2px 0}
html body main #ca-list .property-home-choice{gap:7px;margin:0;min-height:36px;font-size:13px}
html body main #ca-list .rental-approval-setting{margin:0;padding:0}
html body main #ca-list .rental-approval-setting label{display:flex;align-items:center;gap:7px;min-height:44px;margin:0;font-size:12px;line-height:1.25}
html body main #ca-list .rental-approval-setting input{flex:0 0 20px;width:20px;height:20px;margin:0}
html body main #ca-list .rental-approval-setting p:empty{display:none}
html body main [data-view-panel="addresses"]>.personal-only{display:none}
html body main .address-list-toolbar{margin:4px 0}
@media(max-width:380px){html body main #ca-list .property-summary p{font-size:12px}html body main .records:has(>.button)>.button{font-size:12px}}
/* Viewport paging controls occupy their own row above the app navigation. */
html body #ca-list.property-detail>.property-fold:not([open]){display:none}
html body #ca-list.property-detail>.property-fold>summary::after{display:none}
html body #ca-list.property-detail>.property-fold>summary{cursor:default}
html body #ca-properties-back{min-height:44px;margin:0 0 4px;padding:5px 8px}
html body main .address-list-toolbar:has(+ #ca-list.property-detail){display:none}
/* Let the shared page controls handle long lists rather than nested scrollbars. */
html body main :is(#biz-live-calendar .bc-agenda,.area-zip-list){max-height:none;overflow:visible}
/* One compact property screen; optional details expand in place. */
html body main #ca-properties-back{width:44px;justify-self:start;margin:0;padding:4px;font-size:20px}
html body main .account-head:has(~ [data-view-panel="addresses"]:not([hidden]) #ca-list.property-detail){display:none}
html body main [data-view-panel="addresses"]:has(#ca-list.property-detail)>.account-section-title{display:none}
html body main #ca-list .linked-tenants summary{font-weight:650;font-size:14px;min-height:32px;padding:5px;cursor:pointer}
html body main #ca-list .property-home-choice[hidden]{display:none!important}
html body main #profile-form>details{grid-column:1/-1;margin:4px 0}
html body main #profile-form>details>summary{font-weight:650;cursor:pointer;padding:8px}
html body main #profile-form>details .address-field{margin:4px 0}

/* Shared Hub layout: centered content, equal controls, balanced action rows. */
html body main :is(.panel,.account-shell,.biz-shell,.biz-body,.biz-box,.records,.state-card,.support-card){box-sizing:border-box;min-width:0}
html body main :is(h1,h2,h3,.account-section-title,.records>p,.records>strong,summary){text-align:center;overflow-wrap:anywhere}
html body main :is(.button,.biz-button){border-radius:12px;font-size:14px;font-weight:650;min-height:44px;box-sizing:border-box;text-align:center;justify-content:center;align-items:center}
html body main :is(.product-actions,.address-actions,.biz-links,.biz-quick,.account-grid,.pm-dashboard-grid,.rental-product-grid){align-items:stretch;gap:6px}
html body main .records:has(>.button){align-items:stretch;gap:6px}
html body main .records:has(>.button)>.button{align-self:stretch;height:100%;border-radius:12px}
html body main :is(.records,.panel,.account-shell) :is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){justify-content:center}
html body main #ca-list.property-detail{position:relative}
html body main #ca-list.property-detail>#ca-properties-back{position:absolute;top:3px;left:3px;z-index:1;width:40px;min-height:40px;height:40px;border:0;background:transparent;box-shadow:none;padding:0;margin:0}
html body main #ca-list.property-detail>.property-fold>summary{padding:8px;min-height:60px}
html body main #ca-list.property-detail .property-summary h3{padding:0 40px}
html body main #ca-list.property-detail>.property-fold>.records{padding:8px;gap:6px}
html body main #ca-list .records>.property-delete-action,html body main #ca-list .records>.property-disconnect-action{order:90;border:1px solid #c8d0df;background:#fff;color:#172d71}
html body main #ca-list .records>.rental-approval-setting{order:80}
html body main #ca-list .records>:is(.property-disconnect-confirmation,.address-delete-confirmation){order:100}
html body main #ca-list .records:has(>.property-disconnect-action)>.property-product-action{grid-column:1/-1}
html body main #ca-list .rental-approval-setting label{justify-content:center;font-size:13px;gap:8px}
html body main #ca-list .linked-tenants{text-align:center}
html body main #ca-list .linked-tenants details{padding:0;margin:0}
html body main #ca-list .linked-tenants summary{padding:4px;min-height:28px}
html body main #ca-list .linked-tenants p{margin:2px 0}
html body main #account .account-shell:has([data-view-panel="addresses"]:not([hidden]) #ca-list.property-detail){padding:0;border:0;box-shadow:none;background:transparent}
html body main #profile-form>details[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
html body main #profile-form>details>summary,html body main #profile-form>details>.address-field-street{grid-column:1/-1}
html body main details[data-roomy=true]>summary{list-style:none}
html body main details[data-roomy=true]>summary::-webkit-details-marker{display:none}

/* Property details share the available width and keep actions paired. */
html body main #account:has([data-view-panel="addresses"]:not([hidden])){width:100%;max-width:900px;margin-left:auto;margin-right:auto;padding-left:8px;padding-right:8px}
html body main #ca-list .records>.property-edit-action,html body main #ca-list .records>.property-delete-action{order:90;grid-column:auto}
html body main #ca-list .records>.property-disconnect-action{order:95;grid-column:1/-1}
html body main #ca-list .records:has(>.property-disconnect-action)>.property-product-action{grid-column:auto}
html body main #ca-list .records>.property-info{order:70;width:100%;padding:6px;border:1px solid #dce2ed;border-radius:12px}
html body main #ca-list .property-info>summary{min-height:32px;font-size:14px;font-weight:650;cursor:pointer}
html body main #ca-list .linked-tenants section{padding:6px;border-bottom:1px solid #e5e9f1;margin:0}
html body main .property-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0}
html body main .property-contact-actions>.button{font-size:12px;width:100%}
html body main .property-contact-link{display:inline-block;min-height:32px;line-height:32px;color:#172d71;text-decoration:underline;overflow-wrap:anywhere}
html body main .property-job{padding:5px;border-top:1px solid #e5e9f1}
html body .property-dialog{width:min(92vw,480px);box-sizing:border-box;border:1px solid #c8d0df;border-radius:16px;max-height:85dvh;overflow:auto;text-align:center}
html body .property-dialog form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html body .property-dialog label{display:block;text-align:center;font-size:14px;font-weight:600}
html body .property-dialog label:nth-child(-n+3),html body .property-dialog form>button{grid-column:1/-1}
html body .property-dialog input{width:100%;box-sizing:border-box;min-height:44px;font:inherit;border:1px solid #c8d0df;border-radius:10px;padding:6px}
html body .property-dialog>div>button{width:100%;margin:4px 0}

/* Tenant connection actions occupy one balanced row. */
html body main #ca-list .records>.property-connect-tenant{order:95;grid-column:1}
html body main #ca-list .records>.property-disconnect-action{order:95;grid-column:2}

html body main #ca-archived{display:block;min-height:36px;width:auto;margin:2px auto;padding:4px 10px;font-size:12px;background:transparent;border:0;box-shadow:none;text-decoration:underline}
html body main #ca-archived[hidden]{display:none}
html body .property-dialog .property-info{padding:8px 0;border-bottom:1px solid #dce2ed}
html body .property-dialog .property-info summary{cursor:pointer;font-weight:600}

/* Details that fit are static headings, with no disclosure affordance. */
html body main details[data-roomy="true"]>summary{list-style:none!important;cursor:default!important}
html body main details[data-roomy="true"]>summary::marker{content:""!important}
html body main details[data-roomy="true"]>summary::-webkit-details-marker{display:none!important}
html body main details[data-roomy="true"]>summary::before,html body main details[data-roomy="true"]>summary::after{display:none!important}

/* Avoid spending the available tenant-detail space on inherited paragraph spacing. */
html body main #ca-list .linked-tenants .property-info>p{margin:0!important;padding:0!important;line-height:1.25}
html body main #ca-list .linked-tenants .property-info>summary{min-height:28px;padding:2px 4px}
html body main #ca-list .property-contact-actions{margin:4px 0 0;gap:6px}
html body main #ca-list .linked-tenants{margin:0;padding:0}

/* Phone and email share a compact row when they fit; wrap for long contacts. */
html body main #ca-list .tenant-contact-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:12px;row-gap:0;margin:0;padding:0}
html body main #ca-list .tenant-contact-line>p{flex:0 1 auto;min-width:0;margin:0!important;padding:0!important;font-size:12px;line-height:1.25}
html body main #ca-list .tenant-contact-line .property-contact-link{display:flex;align-items:center;justify-content:center;min-height:44px;line-height:1.25;max-width:100%;overflow-wrap:anywhere}
html body main #ca-list .property-jobs-empty{display:flex;align-items:center;justify-content:center;min-height:40px;text-align:center;font-size:14px}

.hub-password-dialog{box-sizing:border-box;width:min(92vw,420px);max-height:90dvh;overflow:auto;border:1px solid #c8d0df;border-radius:16px;padding:16px;text-align:center;color:#172d71;background:white}
.hub-password-dialog::backdrop{background:#15255455}
.hub-password-dialog h2{margin:0 0 12px;font-size:20px}
.hub-password-dialog label{display:block;margin:8px 0 4px;font-weight:600}
.hub-password-dialog input{box-sizing:border-box;width:100%;min-height:44px;font:inherit;border:1px solid #c8d0df;border-radius:10px;padding:8px}
.hub-password-dialog button{min-height:44px;cursor:pointer;font:inherit;border-radius:10px}
.hub-password-dialog .inline-link{margin:4px 0;background:transparent;border:0;color:#172d71}
.hub-password-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.hub-password-dialog p{margin:8px 0;font-size:14px}
/* PM workspace: compact aligned controls and equal columns on every related view. */
#pm-dashboard{max-width:680px;margin-inline:auto;text-align:center;padding:12px!important;width:100%}
#pm-dashboard .pm-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;margin-bottom:8px}
#pm-dashboard .pm-heading h1{grid-column:2;margin:0;font-size:1.25rem}
#pm-dashboard .pm-heading button{grid-column:1;grid-row:1;padding:6px;min-height:44px}
#pm-dashboard h2{font-size:1rem;margin:10px 0 6px}#pm-dashboard p{margin:6px 0;overflow-wrap:anywhere}
#pm-dashboard .pm-status:empty{display:none}#pm-dashboard .pm-status{color:#344564}
#pm-dashboard .pm-attention{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:8px 0 12px}
#pm-dashboard .pm-attention button{padding:6px 2px;min-height:62px;font-size:11px;display:flex;flex-direction:column;justify-content:center;gap:3px;line-height:1.2;background:#eff3fc;border:0;border-radius:10px;overflow-wrap:anywhere}
#pm-dashboard .pm-attention strong{font-size:17px}
#pm-dashboard .pm-dashboard-grid,#pm-dashboard .pm-pair,#pm-dashboard .pm-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}
#pm-dashboard .pm-tile{min-height:76px;padding:10px 6px;display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:center;border:1px solid #c8d1e3;border-radius:14px;background:#f3f5fc;color:#172d7d}
#pm-dashboard .pm-tile strong{font-size:15px}#pm-dashboard .pm-tile span{font-size:12px;color:#566176}
#pm-dashboard .button{min-height:44px;padding:8px 10px;font-size:14px;margin:0;min-width:0;width:100%;text-align:center;white-space:normal;display:flex;align-items:center;justify-content:center}
#pm-dashboard>.button{margin-top:8px}#pm-dashboard .pm-filters input[type=search]{grid-column:1/-1}
#pm-dashboard input,#pm-dashboard select,.pm-dialog input,.pm-dialog select{min-height:44px;min-width:0;width:100%;font-size:16px;text-align:center;margin:0;padding:8px}
#pm-dashboard label,.pm-dialog label{display:block;text-align:center;margin:8px 0}
#pm-dashboard input[type=checkbox],.pm-dialog input[type=checkbox]{width:22px;min-height:22px;height:22px;vertical-align:middle;margin:0 8px}
#pm-dashboard .pm-approval{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center;font-size:14px;gap:8px}
#pm-dashboard .pm-record,#pm-dashboard .pm-tenant,#pm-dashboard .pm-contact{border:1px solid #d6dce7;border-radius:12px;padding:10px;margin:8px 0;text-align:center}
#pm-dashboard .pm-contact{padding:0;border:0}#pm-dashboard .pm-property-row{display:flex;flex-direction:column;gap:4px;margin-top:8px!important;padding:10px}
#pm-dashboard .pm-property-row span{font-size:12px;color:#566176}#pm-dashboard .property-contact-link{min-height:24px;padding:2px;display:inline-block}
#pm-dashboard .pm-upcoming{margin-top:12px}#pm-dashboard .pm-upcoming button{font-size:12px;margin:4px 0}
#pm-dashboard [aria-disabled=true]{opacity:.55;pointer-events:none}.pm-dialog .button{min-height:44px;margin:6px 0;width:100%}

/* Business home fills the available page, with the eight actions at its foot. */
html body>main>#business-dashboard.active:has([data-biz-view="home"]:not([hidden])){display:flex;flex-direction:column;flex:1 0 auto;min-height:0;width:100%}
html body>main>#business-dashboard.active:has([data-biz-view="home"]:not([hidden]))>.biz-shell{display:flex;flex-direction:column;flex:1 0 auto;min-height:0}
html body #business-dashboard:has([data-biz-view="home"]:not([hidden])) .biz-body{display:flex;flex-direction:column;flex:1 0 auto;padding:12px;padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}
html body #business-dashboard [data-biz-view="home"]:not([hidden]){display:flex;flex-direction:column;flex:1 0 auto}
html body #business-dashboard [data-biz-view="home"] .biz-tiles{margin-top:auto;padding-top:8px;flex:none}
html body #business-dashboard .biz-login-line{margin-bottom:6px!important}
#biz-account-menu{position:relative;min-width:0;color:var(--blue)}
#biz-account-menu>summary{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:6px;list-style:none;min-height:44px;height:100%;padding:6px;border:1px solid #d6dfeb;border-radius:9px;background:white;font-size:12px;cursor:pointer}
#biz-account-menu>summary::-webkit-details-marker{display:none}
#biz-account-menu .biz-menu-panel{position:absolute;z-index:80;top:calc(100% + 6px);left:0;width:min(260px,calc(100vw - 64px));box-sizing:border-box;padding:8px;background:white;border:1px solid #d6dfeb;border-radius:12px;box-shadow:0 8px 24px #15255422;display:grid;gap:6px}
#biz-account-menu .biz-menu-panel>button,#biz-account-menu .language{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:8px;border:1px solid #d6dfeb;border-radius:8px;font:inherit;font-size:13px;text-align:center;background:white;color:var(--blue);cursor:pointer}
#biz-account-menu .language-menu{position:static;width:100%;max-width:100%;box-sizing:border-box;max-height:40dvh;overflow-y:auto}
#biz-account-menu .biz-language-slot{display:block}

.payment-qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.payment-qr-card{min-width:0;padding:8px;border:1px solid #d6dfeb;border-radius:12px;text-align:center}.payment-qr-card p{font-size:12px;overflow-wrap:anywhere}.payment-qr-card p:empty{display:none}.payment-qr-dialog{box-sizing:border-box;width:min(94vw,480px);border:1px solid #ccd5e5;border-radius:16px;padding:16px;text-align:center;color:#172d71}.payment-qr-dialog::backdrop{background:#15255466}.payment-qr-image{display:block;width:auto;height:auto;max-width:100%;max-height:60dvh;margin:8px auto;object-fit:contain;background:white}.payment-qr-dialog p{font-size:13px;line-height:1.4}.payment-qr-dialog section{margin:12px 0}

#business-payment-qr{margin-top:0;align-items:stretch}#business-payment-qr .payment-qr-card{display:flex;flex-direction:column;gap:4px}#business-payment-qr h3{margin:0 0 3px}#business-payment-qr label{font-size:12px;margin:0;min-height:16px}#business-payment-qr input:not([type=file]){width:100%;min-width:0;padding:7px;font-size:16px}#business-payment-qr .biz-button{margin-top:5px;font-size:13px;padding:7px}#business-payment-qr [data-qr-method]{margin-top:auto}#business-payment-qr p{margin:5px 0}

#business-payment-qr .payment-qr-card[data-has-qr="true"]>label,#business-payment-qr .payment-qr-card[data-has-qr="true"]>input{display:none}#business-payment-qr .payment-qr-image{width:100%;max-width:240px;max-height:none;height:auto;object-fit:contain;margin:4px auto 8px}#business-payment-qr [data-qr-method]{margin-top:4px}#business-payment-qr .payment-qr-card{justify-content:flex-start}

#business-payment-qr{display:block}#business-payment-qr .payment-qr-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}#business-payment-qr [role=tab]{min-height:44px;border:1px solid #cbd4e4;border-radius:10px;padding:8px;font:inherit;font-weight:700;text-align:center;background:white;color:#172d71;cursor:pointer}#business-payment-qr [role=tab][aria-selected=true]{background:#172d71;color:white}#business-payment-qr .payment-qr-card{width:100%;box-sizing:border-box;max-width:360px;margin:0 auto;padding:8px}#business-payment-qr .payment-qr-frame{height:clamp(220px,36dvh,300px);width:100%;display:flex;align-items:center;justify-content:center;background:white}#business-payment-qr .payment-qr-frame .payment-qr-image{height:100%;width:100%;max-width:none;max-height:100%;margin:0;object-fit:contain}#business-payment-qr [data-qr-method]>.biz-button{width:100%;margin-top:8px}

/* Payment QR: a full-width, compact card with one consistent image stage. */
html body>main>#business-dashboard.active:has([data-biz-view="payments"]:not([hidden])){box-sizing:border-box;width:100%;max-width:470px;align-self:center;margin-inline:auto}
#business-dashboard:has([data-biz-view="payments"]:not([hidden])) .biz-body{padding:12px}
#business-dashboard:has([data-biz-view="payments"]:not([hidden])) .biz-login-row{margin-bottom:4px}
#business-dashboard:has([data-biz-view="payments"]:not([hidden])) #biz-back{display:flex;align-items:center;min-height:36px;padding:4px 0;font-size:13px}
html body main #business-dashboard [data-biz-view="payments"]>h2{font-size:20px;line-height:1.2;margin:2px 0 10px;text-align:center}
html body main #business-dashboard [data-biz-view="payments"]>.biz-box{margin:0;padding:10px;border-radius:16px;border-color:#dce2ed;box-shadow:none}
#business-payment-qr .payment-qr-tabs{gap:6px;margin-bottom:8px;padding:4px;background:#eef1f9;border-radius:12px}
#business-payment-qr [role=tab]{min-height:44px;border:0;border-radius:9px;font-size:15px;background:transparent}
#business-payment-qr [role=tab][aria-selected=true]{background:#172d71;color:#fff;box-shadow:0 2px 6px #172d7120}
#business-payment-qr .payment-qr-card{max-width:none;border:0;border-radius:0;padding:0;gap:0;background:white}
#business-payment-qr [data-qr-method]{margin:0}
#business-payment-qr .payment-qr-frame{height:clamp(210px,34dvh,270px);padding:6px;box-sizing:border-box;border-radius:10px}
#business-payment-qr [data-qr-method]>.biz-button{min-height:44px;margin:8px 0 0;padding:9px;font-size:14px;border-radius:10px;background:#f4f6fc;border-color:#d3dbea;font-weight:600}

/* Calendar: use the phone width and keep a complete six-week month compact. */
html body>main>#business-dashboard.active:has([data-biz-view="calendar"]:not([hidden])){box-sizing:border-box;width:100%;max-width:470px;align-self:center;margin-inline:auto}
#business-dashboard:has([data-biz-view="calendar"]:not([hidden])) .biz-body{padding:10px}
#business-dashboard:has([data-biz-view="calendar"]:not([hidden])) .biz-login-row{margin-bottom:2px}
#business-dashboard:has([data-biz-view="calendar"]:not([hidden])) #biz-back{display:flex;align-items:center;min-height:44px;padding:0;font-size:13px;margin:0}
html body main #business-dashboard [data-biz-view="calendar"]>h2{font-size:19px;line-height:1.2;margin:0 0 6px}
html body main #business-dashboard [data-biz-view="calendar"]>.biz-box{margin:0;padding:8px;border-radius:14px}
html body main #biz-live-calendar button{box-sizing:border-box;font-size:14px;line-height:1.2;min-height:44px;padding:4px;margin:0}
html body main #biz-live-calendar .bc-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 4px}
html body main #biz-live-calendar .bc-navigation{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;font-size:14px}
html body main #biz-live-calendar .bc-navigation strong{line-height:1.2}
html body main #biz-live-calendar .bc-zone{font-size:11px;line-height:1.2;margin:3px 0}
html body main #biz-live-calendar .bc-month{gap:1px}
html body main #biz-live-calendar .bc-weekday{font-size:11px;padding:4px 0;line-height:1.2}
html body main #biz-live-calendar .bc-date{position:relative;min-height:44px;height:44px;padding:2px;gap:0;font-size:14px}
html body main #biz-live-calendar .bc-count{position:absolute;bottom:1px;right:1px;min-width:12px;padding:0 2px;font-size:9px;line-height:12px}

/* Available Requests keeps only its company name and Back navigation. */
#business-dashboard:has([data-biz-view="requests"]:not([hidden])) .biz-account-controls{display:none}

/* Give the calendar space for dates instead of repeated navigation. */
#business-dashboard:has([data-biz-view="calendar"]:not([hidden])) .biz-account-controls,
html body main #business-dashboard [data-biz-view="calendar"]>h2{display:none}
html body main #biz-live-calendar .bc-tabs>button{width:100%;max-width:none;min-width:0;white-space:nowrap;word-break:normal;overflow-wrap:normal;padding:4px 2px;font-size:14px;align-self:stretch}
html body main #biz-live-calendar .bc-tabs>.bc-today{margin:0;padding:4px 2px}

/* The calendar occupies the available viewport, with equally sized week rows. */
html body>main>#business-dashboard.active:has([data-biz-view="calendar"]:not([hidden])){display:flex;flex-direction:column;flex:1 0 auto;max-width:680px}
#business-dashboard:has([data-biz-view="calendar"]:not([hidden])) .biz-login-row{display:none}
#business-dashboard:has([data-biz-view="calendar"]:not([hidden])) :is(.biz-shell,.biz-body){display:flex;flex-direction:column;flex:1 0 auto;min-width:0}
#business-dashboard:has([data-biz-view="calendar"]:not([hidden])) #biz-back{flex:0 0 44px;align-self:flex-start}
html body main #business-dashboard [data-biz-view="calendar"]:not([hidden]){display:flex;flex-direction:column;flex:1 0 auto;min-width:0}
html body main #business-dashboard [data-biz-view="calendar"]>.biz-box:has(#biz-live-calendar){display:flex;flex-direction:column;flex:1 0 auto;padding:10px}
html body main #biz-live-calendar{display:flex;flex-direction:column;flex:1 0 auto;min-width:0}
html body main #biz-live-calendar .bc-month{flex:1 0 auto;gap:4px;width:100%;align-items:stretch}
html body main #biz-live-calendar .bc-date{height:auto;min-height:44px;font-size:clamp(16px,4vw,20px);border-radius:10px}
html body main #biz-live-calendar .bc-weekday{align-self:center;padding:0;font-size:12px}
html body main #biz-live-calendar .bc-tabs{margin-bottom:6px}
html body main #biz-live-calendar .bc-navigation{margin-bottom:2px}
html body main #biz-live-calendar .bc-zone{flex:none;margin:4px 0}

.biz-calendar-home{display:none}
#business-dashboard:has([data-biz-view="calendar"]:not([hidden])) .biz-body{position:relative}
#business-dashboard:has([data-biz-view="calendar"]:not([hidden])) .biz-calendar-home{display:flex;align-items:center;justify-content:center;position:absolute;top:10px;right:10px;min-height:44px;padding:4px 10px;border:0;border-radius:8px;background:transparent;color:var(--blue);font:inherit;font-size:14px;cursor:pointer}

#radius-saved-summary{display:block;text-align:center;color:var(--blue);font-size:18px;margin:4px 0 10px}
#radius-saved-map{height:clamp(160px,25dvh,240px);width:100%;border-radius:12px;border:1px solid #cbd5e1;z-index:0;margin-bottom:10px}

/* Shared inner-page standard: dashboard utilities stay on the dashboard. */
#business-dashboard:not(:has([data-biz-view="home"]:not([hidden]))) .biz-login-row{display:none}
html body>main>#business-dashboard.active:not(:has([data-biz-view="home"]:not([hidden]))){box-sizing:border-box;width:100%;max-width:680px;margin-inline:auto}
#business-dashboard:not(:has([data-biz-view="home"]:not([hidden]))) .biz-body{position:relative;padding:10px}
#business-dashboard:not(:has([data-biz-view="home"]:not([hidden]))) #biz-back{display:flex;align-items:center;min-height:44px;margin:0;padding:4px 8px;font-size:14px}
#business-dashboard:not(:has([data-biz-view="home"]:not([hidden]))) .biz-calendar-home{display:flex;align-items:center;justify-content:center;position:absolute;right:10px;top:10px;min-height:44px;padding:4px 10px;border:0;background:transparent;color:var(--blue);font:inherit;font-size:14px;cursor:pointer}
html body main #business-dashboard [data-biz-view]>h2{margin:4px 0 8px;font-size:20px}
html body main #business-dashboard .biz-box{margin-top:8px;padding:10px}
html body main #business-dashboard .biz-box p{margin:6px 0;line-height:1.35}
html body main #business-dashboard .biz-button{min-height:44px;padding:7px 10px;font-size:14px;line-height:1.25}
html body #personal-navigation.inner-page{grid-template-columns:repeat(3,minmax(0,1fr))}
html body #personal-navigation.inner-page.request-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
html body main .screen{max-width:100%;overflow-wrap:anywhere}
html body main .screen :is(input,select,textarea){max-width:100%;min-width:0;box-sizing:border-box}
html body main #radius-options{gap:6px!important}
html body main #radius-options button{font-size:14px;min-height:44px;margin:0}
#radius-editor[hidden],#radius-edit[hidden],#radius-cancel[hidden]{display:none!important}
html body main #area-save-result:empty{display:none}
html body main #biz-live-calendar[data-view="week"] .bc-month{flex:0 0 auto;grid-template-rows:24px 64px!important}
html body main #biz-live-calendar[data-view="week"] .bc-date{height:64px}

#biz-brands>div{padding:8px 10px 10px}
#biz-brand-summary{font-size:12px;line-height:1.4;text-align:center;overflow-wrap:anywhere}
#biz-brand-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;max-height:240px;overflow-y:auto;margin:6px 0;overscroll-behavior:contain}
html body main #biz-brand-list label,html body main .biz-brand-other{display:flex;align-items:center;gap:7px;min-height:44px;margin:0;font-size:13px;line-height:1.2;text-align:left;cursor:pointer}
html body main #biz-brand-list input,html body main .biz-brand-other input{width:20px;height:20px;min-height:20px;margin:0;flex-shrink:0}
#biz-brand-list label[hidden]{display:none!important}

.technical-dialog{width:min(94vw,600px);border:1px solid #d3dbea;border-radius:16px;padding:12px;color:#172b70;font:16px Arial,sans-serif;text-align:center}
.technical-dialog::backdrop{background:#12204477}
.technical-dialog .support-toolbar{display:flex;justify-content:space-between;gap:8px}
.technical-dialog button{min-height:44px;padding:8px 12px;border:1px solid #d3dbea;border-radius:10px;background:#fff;color:#172b70;font:inherit;margin:3px}
.technical-dialog label{display:block;margin:10px 0;text-align:left}
.technical-dialog :is(input,textarea){box-sizing:border-box;width:100%;padding:10px;min-height:44px;border:1px solid #cbd4e4;border-radius:10px;font:16px Arial}
.technical-dialog textarea{min-height:90px}
.technical-dialog section{background:#f3f5fc;padding:10px;margin:8px 0;border-radius:12px;overflow-wrap:anywhere}
.technical-dialog section p{white-space:pre-wrap}
.technical-dialog h2{font-size:20px;margin:10px 0}
.technical-dialog .support-feedback:empty{display:none}

/* Keep the interface language control compact inside the business menu. */
html body #business-dashboard #biz-account-menu #language-toggle{height:44px;min-height:44px;max-height:44px;flex:none;gap:7px;margin:0;}
html body #business-dashboard #biz-account-menu .biz-language-slot{height:auto;min-height:0;align-self:start;}

/* Spoken languages remain open while several checkboxes are selected. */
#biz-spoken-menu > summary{list-style:none;cursor:pointer;text-align:center;padding:12px 8px;border:1px solid #d6dfeb;border-radius:8px;color:var(--blue);font-size:13px}
#biz-spoken-menu > summary::-webkit-details-marker{display:none}
#biz-spoken-menu fieldset{min-width:0;margin:8px 0;padding:8px}
#biz-spoken-menu fieldset legend{display:none}
#biz-spoken-menu fieldset p{font-size:13px;line-height:1.4;margin:6px 0}
html body #biz-spoken-menu .spoken-language-options{display:grid;grid-template-columns:1fr;max-height:240px;overflow-y:auto;gap:4px}
html body #biz-spoken-menu .spoken-language-options label{display:flex;align-items:center;gap:8px;min-height:40px;font-size:14px;margin:0;padding:4px;text-align:left}
html body #biz-spoken-menu .spoken-language-options input{width:20px;height:20px;min-height:0;flex:none;margin:0}
#save-spoken-languages{width:100%;min-height:44px}
#spoken-save-result{font-size:13px;text-align:center;margin:6px 0}
#biz-account-menu .biz-menu-panel:has(#biz-spoken-menu[open]){max-height:calc(100dvh - 180px);overflow-y:auto}

/* Pin the save action above the list, even when the menu itself scrolls. */
#biz-spoken-menu .spoken-save-bar{position:sticky;top:0;z-index:2;background:#fff;padding:8px 0}
html body #business-dashboard #save-spoken-languages{display:block;width:100%;height:auto;min-height:44px;margin:0;border:0;border-radius:8px;background:#142d7d;color:#fff;font-weight:700;opacity:1}
html body #business-dashboard #save-spoken-languages[data-state="saved"]{background:#23723d;color:#fff}
html body #business-dashboard #save-spoken-languages:disabled{cursor:wait}
