/* Air Varee V2 — unified Clean & Friendly presentation layer.
   All rules scoped; no changes to JS, API, roles or data. */
@import url("./airvaree-design-tokens.css");
body.airvaree-v2-dashboard,body.airvaree-v2-page,body.portal-shell {
 --v2-page:var(--airvaree-v2-page);--v2-card:var(--airvaree-v2-card);
 --v2-text:var(--airvaree-v2-text);--v2-muted:var(--airvaree-v2-muted);
 --v2-border:var(--airvaree-v2-border);--v2-accent:var(--airvaree-v2-accent);
 --v2-soft:var(--airvaree-v2-soft);--v2-shadow:var(--airvaree-v2-shadow);
 --v2-radius:var(--airvaree-radius-card);
}
:root[data-bs-theme="dark"] body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell){
 --v2-page:var(--airvaree-v2-page);--v2-card:var(--airvaree-v2-card);--v2-text:var(--airvaree-v2-text);
 --v2-muted:var(--airvaree-v2-muted);--v2-border:var(--airvaree-v2-border);--v2-accent:var(--airvaree-v2-accent);
 --v2-soft:var(--airvaree-v2-soft);--v2-shadow:var(--airvaree-v2-shadow);
}
body.airvaree-v2-page{background:var(--v2-page)!important;color:var(--v2-text)!important;
 font-family:"Prompt","Noto Sans Thai",system-ui,sans-serif;overflow-x:hidden}
body:is(.airvaree-v2-page,.airvaree-v2-dashboard,.portal-shell) :is(.card,.app-card,.modal-content){
 border-radius:var(--v2-radius);border-color:var(--v2-border);box-shadow:var(--v2-shadow);
}
body.airvaree-v2-page :is(.card,.app-card,.modal-content,.dropdown-menu,.list-group-item){
 background-color:var(--v2-card)!important;color:var(--v2-text)!important;border-color:var(--v2-border)!important
}
body.airvaree-v2-page :is(.header-bar,.tech-header,.users-page-header) {
 background:linear-gradient(115deg,#eaf3ff,#f2f0ff 65%,#eaf9f8)!important;
 color:#24476e!important;border:1px solid #dceafa!important;border-radius:22px!important;
 box-shadow:none!important
}
:root[data-bs-theme="dark"] body.airvaree-v2-page :is(.header-bar,.tech-header,.users-page-header){
 background:linear-gradient(115deg,#233955,#302f4e 65%,#1e4148)!important;
 color:#eaf3ff!important;border-color:#3c506d!important
}
body.airvaree-v2-page :is(.header-bar,.tech-header,.users-page-header) :is(h1,h2,h3,h4,h5,.text-white){
 color:inherit!important
}
body.airvaree-v2-page :is(.form-control,.form-select,.input-group-text){
 background-color:var(--v2-card)!important;color:var(--v2-text)!important;
 border:1px solid var(--v2-border)!important;border-radius:var(--airvaree-radius-control)!important;
 min-height:var(--airvaree-control-height);
}
body.airvaree-v2-page :is(.form-control,.form-select):focus{
 border-color:var(--v2-accent)!important;
 box-shadow:0 0 0 3px color-mix(in srgb,var(--v2-accent) 17%,transparent)!important
}
body.airvaree-v2-page :is(.btn,.badge){border-radius:12px}
body.airvaree-v2-page :is(.btn-primary,.btn-success){font-weight:600}
body.airvaree-v2-page :is(.btn-primary,.btn-outline-primary):focus-visible,
body.airvaree-v2-dashboard :is(a,button,select,input):focus-visible{
 outline:2px solid var(--v2-accent);outline-offset:2px
}
body.airvaree-v2-page :is(.btn-sm,.form-select-sm,.form-control-sm){min-height:38px}
body.airvaree-v2-page :is(.text-muted,.form-text){color:var(--v2-muted)!important}
body.airvaree-v2-page .app-card{box-shadow:var(--v2-shadow)!important}
body.airvaree-v2-page .summary-card{min-height:78px!important}
body.airvaree-v2-page .job-card:before{height:3px}
body.airvaree-v2-page .tech-header{padding:16px!important}
body.airvaree-v2-page .fc .fc-toolbar-title{font-size:clamp(1rem,2vw,1.3rem)}
body.airvaree-v2-page .fc .fc-button{border-radius:10px!important}
body.airvaree-v2-dashboard #contentArea :is(.card,.app-card) {
 border-radius:20px!important;border:1px solid var(--v2-border)!important;
 background:var(--v2-card);box-shadow:var(--v2-shadow)!important;
}
body.airvaree-v2-dashboard #contentArea :is(.form-control,.form-select,.input-group-text){
 border-radius:12px!important;border-color:var(--v2-border)!important
}
body.airvaree-v2-dashboard #contentArea :is(.btn,.badge){border-radius:12px}
body.airvaree-v2-dashboard #contentArea .customer-search-controls{gap:8px}
body.airvaree-v2-dashboard #contentArea .customer-search-controls > :is(.input-group-text,.form-control,.customer-filter-toggle){margin-left:0;border-radius:12px!important}
body.airvaree-v2-dashboard #contentArea .customer-search-controls > .input-group-text{width:42px;flex:0 0 42px;justify-content:center;padding-inline:0}
body.airvaree-v2-dashboard #contentArea .customer-search-controls > .customer-filter-toggle{width:44px;flex:0 0 44px}
body.airvaree-v2-dashboard #contentArea #jobPagination .btn{min-height:38px}
body.airvaree-v2-dashboard #contentArea .v2-kpi{
 border-radius:22px!important;box-shadow:0 7px 20px rgba(40,75,126,.025)!important;
 background:var(--kpi-bg)!important;border-color:var(--kpi-border)!important;
}
body.airvaree-v2-dashboard #contentArea .v2-kpi-status{border-radius:999px}
body.airvaree-v2-dashboard #contentArea .vstack{gap:12px!important}
body.airvaree-v2-dashboard #contentArea .card :is(h5,h6){letter-spacing:-.01em}
body.airvaree-v2-dashboard #contentArea :is(.text-muted,.form-text){color:var(--v2-muted)!important}
body.airvaree-v2-dashboard #contentArea :is(.btn-sm,.form-select-sm){min-height:38px}
body.portal-shell{--portal-v2-page:var(--v2-page);--portal-v2-paper:var(--v2-card)}
body.portal-shell :is(.portal-topbar,.portal-panel,.portal-auth-card,.home-card,.portal-page-intro){
 border-radius:20px;box-shadow:var(--v2-shadow)
}
body.portal-shell :is(.portal-theme,.portal-avatar){border-radius:14px}
body.portal-shell :is(.portal-auth-card,.portal-panel,.home-card){border-color:var(--v2-border)}
@media(max-width:600px){
 body.airvaree-v2-page{padding-left:10px!important;padding-right:10px!important}
 body.airvaree-v2-page :is(.card,.app-card){border-radius:18px}
 body.airvaree-v2-page :is(.header-bar,.tech-header,.users-page-header){padding:14px!important;border-radius:19px!important}
 body.airvaree-v2-dashboard #contentArea :is(.card,.app-card){border-radius:18px!important}
 body.airvaree-v2-dashboard #contentArea .vstack{gap:10px!important}
 body.airvaree-v2-dashboard #contentArea :is(.card.p-3,.app-card.p-3){padding:12px!important}
 body.airvaree-v2-dashboard #contentArea .v2-kpi{padding:13px!important;min-height:150px!important}
 body.airvaree-v2-dashboard #contentArea .v2-kpi :is(h3,h4){font-size:1.75rem!important}
}

/* V2 owner mobile review: cards, jobs, organization, master data, earnings */
body.airvaree-v2-dashboard .dashboard-topbar{padding:20px 14px 8px!important}
body.airvaree-v2-dashboard .dashboard-topbar-mobile-logo{flex-shrink:0!important}
body.airvaree-v2-dashboard #contentArea{min-width:0;width:100%;overflow-wrap:anywhere}
body.airvaree-v2-dashboard #contentArea > .vstack{min-width:0}
body.airvaree-v2-dashboard #contentArea :is(.row,.col,.card,.card-body){min-width:0}
body.airvaree-v2-dashboard #contentArea :is(#organizationRows,#acMasterDataRows) > *{
 min-width:0;border-radius:17px!important;border:1px solid var(--v2-border)!important;
 background:var(--v2-card)!important;box-shadow:none!important;
 padding:13px!important;overflow-wrap:anywhere
}
body.airvaree-v2-dashboard #contentArea :is(#organizationRows,#acMasterDataRows) .btn{
 min-height:36px;white-space:normal;overflow-wrap:anywhere;
}
body.airvaree-v2-dashboard #contentArea :is(#organizationRows,#acMasterDataRows) .badge{border-radius:999px!important}
body.airvaree-v2-dashboard #contentArea #jobStatusFilterGroup{display:flex;flex-wrap:wrap;gap:6px;width:100%}
body.airvaree-v2-dashboard #contentArea #jobStatusFilterGroup .btn{
 flex:0 1 auto!important;border-radius:999px!important;font-size:.73rem;
 line-height:1.2;padding:7px 10px!important;white-space:normal
}
body.airvaree-v2-dashboard #contentArea #jobStatusFilterGroup .btn.active{
 background:var(--v2-soft)!important;color:var(--v2-accent)!important;
 border-color:var(--v2-accent)!important
}
body.airvaree-v2-page.airvaree-v2-earnings{background:var(--v2-page)!important}
body.airvaree-v2-earnings .v2-earnings-hero{
 background:linear-gradient(115deg,#e8f3ff,#f1edff 63%,#eaf9f4)!important;
 border:1px solid var(--v2-border);border-radius:22px;padding:17px 19px;
 color:#274a73;box-shadow:none;gap:12px
}
body.airvaree-v2-earnings .v2-earnings-hero h1{font-weight:750;color:inherit;font-size:clamp(1.1rem,3.3vw,1.55rem)}
body.airvaree-v2-earnings .v2-earnings-hero .btn{flex-shrink:0;min-height:43px}
body.airvaree-v2-earnings :is(#earningsAdminForms .card,#earningsAdminSummary .card,#earningsEntryList > *,#earningsPayoutList > *){
 background:var(--v2-card)!important;border:1px solid var(--v2-border)!important;
 border-radius:18px!important;box-shadow:var(--v2-shadow)!important
}
body.airvaree-v2-earnings #earningsAdminForms .card{gap:4px}
body.airvaree-v2-earnings #earningsAdminForms h2{
 color:var(--v2-text);font-weight:750;padding-bottom:9px;
 border-bottom:1px solid var(--v2-border);margin-bottom:13px
}
body.airvaree-v2-earnings #earningsAdminForms button[type=submit]{min-height:44px;margin-top:8px}
body.airvaree-v2-earnings #earningsAdminForms textarea{min-height:80px}
:root[data-bs-theme="dark"] body.airvaree-v2-earnings .v2-earnings-hero{
 background:linear-gradient(115deg,#243c5b,#302f4b 63%,#21443f)!important;
 color:#edf5ff
}
@media(max-width:767px){
 body.airvaree-v2-dashboard .dashboard-topbar{padding:22px 12px 8px!important}
 body.airvaree-v2-dashboard #contentArea .table-responsive:has(#jobTableBody){
  overflow:visible!important;max-width:100%!important
 }
 body.airvaree-v2-dashboard #contentArea table:has(#jobTableBody),
 body.airvaree-v2-dashboard #contentArea table:has(#jobTableBody) tbody{
  display:block!important;width:100%!important;min-width:0!important
 }
 body.airvaree-v2-dashboard #contentArea table:has(#jobTableBody) thead{display:none!important}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr:not(:has(td[colspan])){
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:11px;row-gap:8px;width:100%;max-width:100%;margin:0 0 12px;
  background:var(--v2-card)!important;border:1px solid var(--v2-border)!important;
  border-radius:20px;box-shadow:var(--v2-shadow);padding:14px;overflow:hidden
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr:not(:has(td[colspan])) > td{
  display:block!important;min-width:0!important;width:auto!important;
  padding:0!important;border:0!important;white-space:normal!important;
  overflow-wrap:anywhere!important;color:var(--v2-text);
  font-size:.79rem;line-height:1.5;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr:not(:has(td[colspan])) > td::before{
  display:block;font-size:.66rem;font-weight:600;color:var(--v2-muted);
  margin-bottom:2px;white-space:normal
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(1){grid-column:1}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(1)::before{content:"วันนัด"}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(2){grid-column:2;text-align:right}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(2)::before{content:"รหัสงาน"}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(3){grid-column:1}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(3)::before{content:"สาขา"}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(4){
  grid-column:1/-1;grid-row:1;font-size:1rem;font-weight:750!important;
  padding-bottom:7px!important;border-bottom:1px solid var(--v2-border)!important
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(4)::before{content:"ลูกค้า"}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(5){grid-column:1/-1}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(5)::before{content:"สถานที่"}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(6){grid-column:1}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(6)::before{content:"บริการ"}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(7){grid-column:1/-1}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(7)::before{content:"ทีมช่าง"}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(8){grid-column:2;font-size:1.05rem;font-weight:750}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(8)::before{content:"ยอดบริการ"}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(9){grid-column:1}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(9)::before{content:"สถานะงาน"}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(10){grid-column:2}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(10)::before{content:"การชำระเงิน"}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(11){
  grid-column:1/-1;text-align:left!important;padding-top:10px!important;
  border-top:1px solid var(--v2-border)!important;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(11)::before{content:"จัดการ";margin-bottom:7px}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(11) > div{
  display:flex!important;flex-wrap:wrap!important;gap:6px!important;width:100%
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(11) .btn{
  min-height:36px!important;max-width:100%;padding:7px 10px!important;
  font-size:.72rem!important;line-height:1.2!important;white-space:normal;
  border-radius:10px!important
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr:has(td[colspan]){
  display:block;border-radius:16px;background:var(--v2-card);border:1px solid var(--v2-border)
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr:has(td[colspan]) td{display:block;width:100%;padding:16px}
 body.airvaree-v2-dashboard #contentArea #organizationRows :is(button,.btn){
  max-width:100%;min-height:38px;white-space:normal!important
 }
 body.airvaree-v2-dashboard #contentArea #organizationRows > div{
  padding:12px!important
 }
 body.airvaree-v2-dashboard #contentArea #acMasterDataRows > div{
  padding:12px!important
 }
 body.airvaree-v2-earnings .v2-earnings-hero{padding:15px;align-items:center}
 body.airvaree-v2-earnings #earningsAdminForms > [class*=col-]{min-width:0}
 body.airvaree-v2-earnings #earningsAdminForms .card{padding:15px!important}
 body.airvaree-v2-earnings #earningsAdminRefresh{min-width:50px}
 body.airvaree-v2-earnings #earningsAdminForms textarea{max-width:100%}
}

/* Compact V2 controls shared by dashboard fragments and standalone admin pages. */
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-action-menu,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-collapsible-section,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-optional-fields{min-width:0}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-action-menu > summary,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-collapsible-section > summary,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-optional-fields > summary{
 list-style:none;cursor:pointer;user-select:none
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-action-menu > summary::-webkit-details-marker,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-collapsible-section > summary::-webkit-details-marker,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-optional-fields > summary::-webkit-details-marker{display:none}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-action-menu > summary{
 display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;
 padding:6px 10px;border:1px solid var(--v2-border);border-radius:12px;
 color:var(--v2-accent);background:var(--v2-card);font-size:.82rem;font-weight:600
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-action-menu > summary:focus-visible,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-collapsible-section > summary:focus-visible,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-optional-fields > summary:focus-visible{
 outline:3px solid color-mix(in srgb,var(--v2-accent) 35%,transparent);outline-offset:2px
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-action-menu-items{
 display:flex;flex-wrap:wrap;gap:6px;max-width:min(100%,420px);margin-top:7px;padding:8px;
 border:1px solid var(--v2-border);border-radius:14px;background:var(--v2-card);box-shadow:var(--v2-shadow)
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-action-menu-items .btn{min-height:38px;white-space:normal}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-collapsible-section > summary,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-optional-fields > summary{
 display:inline-flex;align-items:center;min-height:38px;color:var(--v2-accent);font-size:.88rem;font-weight:600
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-collapsible-section > summary::after,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-optional-fields > summary::after{
 content:"";width:7px;height:7px;margin-left:9px;border-right:1.5px solid currentColor;
 border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .16s ease
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-collapsible-section[open] > summary::after,
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-optional-fields[open] > summary::after{transform:rotate(225deg)}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-compact-list-card{
 min-width:0;padding:12px;border:1px solid var(--v2-border);border-radius:17px;
 background:var(--v2-card);color:var(--v2-text);box-shadow:var(--v2-shadow);overflow-wrap:anywhere
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-list-primary{
 display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page) .v2-list-primary > *{min-width:0;overflow-wrap:anywhere}
body.airvaree-v2-dashboard #contentArea #jobStatusFilterGroup{
 flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;
 padding:2px 0 5px
}
body.airvaree-v2-dashboard #contentArea #jobStatusFilterGroup .btn{flex:0 0 auto;white-space:nowrap}
body.airvaree-v2-dashboard #contentArea .v2-filter-details{display:block}
body.airvaree-v2-dashboard #contentArea .v2-filter-details > summary{width:max-content;max-width:100%}
body.airvaree-v2-dashboard #contentArea #organizationCreateSection,
body.airvaree-v2-dashboard #contentArea #organizationCreateSection > summary{color:var(--v2-text)}
body.airvaree-v2-dashboard #contentArea #organizationCreateForms > [class*=col-] > form{
 height:100%;padding:12px!important;border:1px solid var(--v2-border)!important;
 border-radius:16px;background:var(--v2-card)
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows article{padding:11px!important}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows article > details{margin-top:7px}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-meta > summary{font-size:.78rem}
body.airvaree-v2-dashboard #contentArea .customer-card{padding:12px!important;background:var(--v2-card)!important;color:var(--v2-text)!important}
body.airvaree-v2-dashboard #contentArea .customer-card .v2-customer-locations{margin-top:10px;padding-top:8px;border-top:1px solid var(--v2-border)}
body.airvaree-v2-dashboard #contentArea .customer-card .v2-customer-locations > summary,
body.airvaree-v2-dashboard #contentArea .customer-card .v2-customer-meta > summary{font-size:.8rem}
body.airvaree-v2-dashboard #contentArea .customer-card .v2-customer-locations .bg-white{background:var(--v2-soft)!important;border-color:var(--v2-border)!important}
body.airvaree-v2-dashboard #contentArea .v2-customer-type-badge,
body.airvaree-v2-dashboard #contentArea .v2-customer-ac-chip{background:var(--v2-soft);color:var(--v2-text);border:1px solid var(--v2-border)}
body.airvaree-v2-earnings .v2-earnings-icon{
 display:inline-grid;place-items:center;width:40px;height:40px;margin-bottom:8px;border-radius:14px;
 background:#fff;color:#2583b9;font-size:1.2rem;box-shadow:0 5px 15px rgba(35,73,130,.08)
}
body.airvaree-v2-earnings .v2-earnings-hero .v2-earnings-icon + h1{margin-top:0}
body.airvaree-v2-earnings #earningsAdminFormsToggle > summary{font-size:.98rem}
body.airvaree-v2-earnings .v2-optional-fields{border:1px solid var(--v2-border);border-radius:12px;padding:0 9px}
body.airvaree-v2-earnings .v2-optional-fields[open]{padding-bottom:9px}
body.airvaree-v2-earnings #earningsAdminForms .v2-compact-list-card{align-items:flex-start}
@media(max-width:767px){
 body.airvaree-v2-dashboard #contentArea .v2-action-menu-items{max-width:100%}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(11){padding-top:7px!important}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(11)::before{content:"";display:none}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(11){grid-column:1/-1}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(11) .v2-action-menu{display:block;text-align:left}
 body.airvaree-v2-dashboard #contentArea #jobTableBody td:nth-child(11) .v2-action-menu-items{width:100%}
 body.airvaree-v2-dashboard #contentArea #organizationRows :is(.v2-compact-list-card,.v2-org-meta){min-width:0}
 body.airvaree-v2-dashboard #contentArea .customer-card .action-btn-group{gap:6px!important}
 body.airvaree-v2-earnings .v2-earnings-hero{align-items:flex-start!important}
 body.airvaree-v2-earnings #earningsAdminSummary .card{padding:11px!important}
 body.airvaree-v2-earnings #earningsAdminSummary .fs-5{font-size:1rem!important}
 body.airvaree-v2-earnings #earningsAdminForms .v2-compact-list-card{flex-wrap:wrap}
}
:root[data-bs-theme="dark"] body.airvaree-v2-earnings .v2-earnings-icon{background:var(--v2-soft);color:var(--v2-accent)}

/* V2 Service Jobs — focus on one choice and compact information, Android first */
body.airvaree-v2-dashboard #contentArea .v2-job-status-selector{
 display:flex;align-items:center;gap:9px;width:fit-content;max-width:100%;
 background:var(--v2-card);border:1px solid var(--v2-border);border-radius:13px;
 padding:4px 10px;color:var(--v2-accent);
}
body.airvaree-v2-dashboard #contentArea .v2-job-status-selector .form-select{
 min-width:170px;max-width:min(75vw,260px);border:0!important;
 box-shadow:none!important;background-color:transparent!important;padding:7px 27px 7px 4px!important;
 font-size:.88rem;color:var(--v2-text)!important;
}
body.airvaree-v2-dashboard #contentArea #jobAdvancedFilters[hidden]{display:none!important}
body.airvaree-v2-dashboard #contentArea .v2-job-extra-filters{
 width:100%;border:1px solid var(--v2-border);border-radius:16px;
 padding:12px;background:var(--v2-soft);
}
body.airvaree-v2-dashboard #contentArea .v2-job-extra-filters .row{margin:0!important}
body.airvaree-v2-dashboard #contentArea .v2-job-extra-filters .col-6{min-width:0}
body.airvaree-v2-dashboard #contentArea .v2-job-extra-filters input{width:100%;min-width:0}
body.airvaree-v2-dashboard #contentArea .v2-job-card-row .v2-job-chevron{display:none}
body.airvaree-v2-dashboard #contentArea .v2-action-menu > summary:has(.bi-three-dots-vertical){
 display:inline-grid!important;place-items:center;min-width:42px;min-height:42px;
 padding:8px!important;border-radius:13px!important;
 background:var(--v2-soft)!important;color:var(--v2-accent)!important;
 border:1px solid var(--v2-border)!important;font-size:1.1rem;
}
@media(max-width:767px){
 body.airvaree-v2-dashboard #contentArea .v2-job-status-selector{width:100%}
 body.airvaree-v2-dashboard #contentArea .v2-job-status-selector .form-select{max-width:100%;flex:1}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:7px 12px!important;padding:14px!important;min-height:0!important;
  cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s;
  background:var(--v2-card)!important;border:1px solid var(--v2-border)!important;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row:focus-visible{
  outline:2px solid var(--v2-accent)!important;outline-offset:2px;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row.v2-job-selected{
  background:#eaf3ff!important;border-color:#81b5eb!important;
  box-shadow:0 0 0 2px rgba(54,125,209,.14),0 8px 20px rgba(35,73,130,.07)!important;
 }
 :root[data-bs-theme="dark"] body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row.v2-job-selected{
  background:#264465!important;border-color:#74a7dc!important;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(4){
  grid-column:1!important;grid-row:1!important;min-width:0!important;
  border-bottom:0!important;padding:0!important;font-weight:750!important;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(9){
  grid-column:2!important;grid-row:1!important;text-align:right!important;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(1){
  grid-column:1!important;grid-row:2!important;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(2){
  grid-column:2!important;grid-row:2!important;text-align:right!important;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(3){
  grid-column:1!important;grid-row:3!important;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(7){
  grid-column:1/-1!important;grid-row:4!important;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(4)::before,
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(9)::before{
  display:none!important;
 }
 body.airvaree-v2-dashboard #contentArea .v2-job-card-row .v2-job-chevron{
  display:inline-block!important;font-size:.78rem;color:var(--v2-accent);
  transition:transform .15s;
 }
 body.airvaree-v2-dashboard #contentArea .v2-job-selected .v2-job-chevron{transform:rotate(180deg)}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row:not(.v2-job-selected) > td:nth-child(5),
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row:not(.v2-job-selected) > td:nth-child(6),
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row:not(.v2-job-selected) > td:nth-child(8),
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row:not(.v2-job-selected) > td:nth-child(10),
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row:not(.v2-job-selected) > td:nth-child(11){
  display:none!important;
 }
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-selected td:nth-child(5){grid-column:1/-1!important;grid-row:5!important}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-selected td:nth-child(6){grid-column:1/-1!important;grid-row:6!important}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-selected td:nth-child(8){grid-column:1!important;grid-row:7!important}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-selected td:nth-child(10){grid-column:2!important;grid-row:7!important}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-selected td:nth-child(11){grid-column:1/-1!important;grid-row:8!important}
 body.airvaree-v2-dashboard #contentArea .v2-job-card-row td:nth-child(2) .badge{
  font-size:.64rem;max-width:100%;overflow-wrap:anywhere;white-space:normal;
 }
 body.airvaree-v2-dashboard #contentArea .v2-job-card-row td:nth-child(7)>div{font-size:.78rem}
 body.airvaree-v2-dashboard #contentArea .v2-job-card-row td:nth-child(7)>div .small{font-size:.68rem}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(11) .v2-action-menu-items{
  max-width:100%;display:flex;flex-wrap:wrap;gap:7px;
 }
 body.airvaree-v2-dashboard #contentArea .v2-job-status-selector select{min-height:40px!important}
}

/* Service jobs filter controls: stable, compact and touch friendly. */
body.airvaree-v2-dashboard #contentArea .v2-job-filter-controls{
 display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.7fr);align-items:end;gap:10px;
}
body.airvaree-v2-dashboard #contentArea .v2-job-customer-search{width:100%;max-width:620px;min-width:0}
body.airvaree-v2-dashboard #contentArea .v2-job-customer-search .input-group-text{min-width:44px;justify-content:center}
body.airvaree-v2-dashboard #contentArea .v2-job-customer-search .form-control{min-height:46px;min-width:0}
body.airvaree-v2-dashboard #contentArea .v2-job-branch-filter{min-width:0}
body.airvaree-v2-dashboard #contentArea .v2-job-branch-filter .form-select{min-height:42px;min-width:0}
body.airvaree-v2-dashboard #contentArea .v2-job-primary-filters{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}
body.airvaree-v2-dashboard #contentArea .v2-job-primary-filters>.btn{min-height:42px}
body.airvaree-v2-dashboard #contentArea #jobAdvancedFiltersToggle.active{background:var(--v2-soft);color:var(--v2-accent);border-color:var(--v2-accent)}
body.airvaree-v2-dashboard #contentArea .v2-job-status-selector{
 position:relative;display:block;width:auto;max-width:100%;padding:0;background:transparent;border:0;color:var(--v2-text);z-index:4;
}
body.airvaree-v2-dashboard #contentArea .v2-job-status-selector>summary{
 display:flex;align-items:center;gap:7px;min-height:42px;max-width:100%;padding:7px 11px;border:1px solid var(--v2-border);
 border-radius:13px;background:var(--v2-card);color:var(--v2-text);cursor:pointer;list-style:none;white-space:nowrap;
}
body.airvaree-v2-dashboard #contentArea .v2-job-status-selector>summary::-webkit-details-marker{display:none}
body.airvaree-v2-dashboard #contentArea .v2-job-status-selector>summary>i:first-child{color:var(--v2-accent)}
body.airvaree-v2-dashboard #contentArea .v2-job-status-selector>summary strong{font-weight:650;overflow:hidden;text-overflow:ellipsis}
body.airvaree-v2-dashboard #contentArea .v2-job-status-selector .v2-status-chevron{font-size:.7rem;transition:transform .15s ease}
body.airvaree-v2-dashboard #contentArea .v2-job-status-selector[open] .v2-status-chevron{transform:rotate(180deg)}
body.airvaree-v2-dashboard #contentArea .v2-job-status-options{
 position:absolute;top:calc(100% + 7px);right:0;display:grid;gap:4px;width:min(300px,88vw);max-height:min(65vh,420px);overflow:auto;
 padding:8px;background:var(--v2-card);border:1px solid var(--v2-border);border-radius:16px;box-shadow:var(--v2-shadow);z-index:20;
}
body.airvaree-v2-dashboard #contentArea .v2-job-status-options button{
 min-height:44px;padding:8px 11px;text-align:left;border:0;border-radius:10px;background:transparent;color:var(--v2-text);
}
body.airvaree-v2-dashboard #contentArea .v2-job-status-options button:hover,
body.airvaree-v2-dashboard #contentArea .v2-job-status-options button.active,
body.airvaree-v2-dashboard #contentArea .v2-job-status-options button[aria-pressed="true"]{background:var(--v2-soft);color:var(--v2-accent);font-weight:650}
body.airvaree-v2-dashboard #contentArea #jobAdvancedFilters{
 overflow:visible;transition:none;contain:layout style;
}
body.airvaree-v2-dashboard #contentArea .v2-job-card-row.v2-job-selected{background:var(--v2-soft)}
body.airvaree-v2-dashboard #contentArea .v2-job-cell-icon{margin-right:6px;color:var(--v2-muted);font-size:.82rem}
body.airvaree-v2-dashboard #contentArea .v2-job-detail-line{display:flex;align-items:flex-start;gap:7px;margin-top:7px;white-space:normal;overflow-wrap:anywhere}
body.airvaree-v2-dashboard #contentArea .v2-job-detail-line>i{flex:0 0 auto;color:var(--v2-muted);margin-top:2px}
body.airvaree-v2-dashboard #contentArea .v2-job-technician-summary{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}
body.airvaree-v2-dashboard #contentArea .v2-job-technician-details{margin-top:4px}
@media(max-width:767px){
 body.airvaree-v2-dashboard #contentArea .v2-job-filter-controls{grid-template-columns:minmax(0,1fr);gap:9px}
 body.airvaree-v2-dashboard #contentArea .v2-job-customer-search{max-width:none}
 body.airvaree-v2-dashboard #contentArea .v2-job-branch-filter .form-select{width:100%}
 body.airvaree-v2-dashboard #contentArea .v2-job-primary-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:7px}
 body.airvaree-v2-dashboard #contentArea .v2-job-primary-filters>.btn,
 body.airvaree-v2-dashboard #contentArea .v2-job-primary-filters>.v2-job-status-selector{width:100%;min-width:0}
 body.airvaree-v2-dashboard #contentArea .v2-job-primary-filters>.btn{text-align:center;white-space:nowrap;padding-inline:7px}
 body.airvaree-v2-dashboard #contentArea .v2-job-primary-filters>.v2-icon-action{justify-self:end;width:46px;grid-column:2;grid-row:2}
 body.airvaree-v2-dashboard #contentArea .v2-job-primary-filters>.v2-job-status-selector{grid-column:1;grid-row:2}
 body.airvaree-v2-dashboard #contentArea .v2-job-status-selector>summary{justify-content:center;padding-inline:6px;gap:5px}
 body.airvaree-v2-dashboard #contentArea .v2-job-status-selector>summary strong{max-width:calc(100% - 88px);font-size:.82rem}
 body.airvaree-v2-dashboard #contentArea .v2-job-status-options{position:fixed;top:auto;right:5vw;bottom:calc(78px + env(safe-area-inset-bottom));width:90vw;max-height:62vh;border-radius:20px}
 body.airvaree-v2-dashboard #contentArea .v2-job-status-options button{text-align:center}
 body.airvaree-v2-dashboard #contentArea .v2-job-extra-filters{padding:11px}
 body.airvaree-v2-dashboard #contentArea .v2-job-extra-filters .col-6{width:100%}
 body.airvaree-v2-dashboard #contentArea .table-responsive:has(#jobTableBody){overflow:visible!important}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row{grid-template-columns:minmax(0,1fr) minmax(0,auto)!important;gap:7px 10px!important;padding:12px!important}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td{min-width:0!important;overflow-wrap:anywhere}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(1){white-space:nowrap;font-size:.78rem}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(1) br{display:none}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(2){white-space:normal}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(3){grid-column:1!important;grid-row:3!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body.airvaree-v2-dashboard #contentArea #jobTableBody > tr.v2-job-card-row td:nth-child(7){grid-column:2!important;grid-row:3!important;min-width:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
 body.airvaree-v2-dashboard #contentArea .v2-job-technician-summary{max-width:100%;font-size:.78rem}
 body.airvaree-v2-dashboard #contentArea .v2-job-technician-details{display:none;white-space:normal}
 body.airvaree-v2-dashboard #contentArea .v2-job-selected .v2-job-technician-details{display:block}
 body.airvaree-v2-dashboard #contentArea .v2-job-detail-line{display:none}
 body.airvaree-v2-dashboard #contentArea .v2-job-selected .v2-job-detail-line{display:flex}
 body.airvaree-v2-dashboard #contentArea .v2-job-selected td:nth-child(4){grid-column:1/-1!important;grid-row:1!important}
 body.airvaree-v2-dashboard #contentArea .v2-job-selected td:nth-child(5){grid-column:1/-1!important;grid-row:4!important}
 body.airvaree-v2-dashboard #contentArea .v2-job-selected td:nth-child(6){grid-column:1/-1!important;grid-row:5!important}
 body.airvaree-v2-dashboard #contentArea .v2-job-selected td:nth-child(8){grid-column:1!important;grid-row:6!important}
 body.airvaree-v2-dashboard #contentArea .v2-job-selected td:nth-child(10){grid-column:2!important;grid-row:6!important}
 body.airvaree-v2-dashboard #contentArea .v2-job-selected td:nth-child(11){grid-column:1/-1!important;grid-row:7!important}
}
:root[data-bs-theme="dark"] body.airvaree-v2-dashboard #contentArea .v2-job-selected{background:#264465!important;border-color:#74a7dc!important}

/* Earnings full V2 parity: standalone route with dashboard-style surfaces, controls and mobile nav */
body.airvaree-v2-earnings .v2-earnings-layout{padding-bottom:110px!important}
body.airvaree-v2-earnings .v2-earnings-hero{min-height:100px!important;display:flex;gap:12px;padding:18px!important;margin-bottom:14px!important}
body.airvaree-v2-earnings .v2-earnings-hero h1{font-size:1.15rem!important;letter-spacing:-.02em}
body.airvaree-v2-earnings .v2-earnings-hero .v2-earnings-icon{height:42px;width:42px;background:#dcecff;border-radius:14px;color:#377cbd}
body.airvaree-v2-earnings main > section.card{border:1px solid var(--v2-border)!important;border-radius:20px!important;box-shadow:var(--v2-shadow)!important;padding:15px!important}
body.airvaree-v2-earnings :is(#earningsEntryList,#earningsPayoutList){gap:9px!important}
body.airvaree-v2-earnings #earningsAdminSummary>div{min-width:0}
body.airvaree-v2-earnings #earningsAdminSummary .card{border:1px solid #daebf8!important;border-radius:20px!important;box-shadow:none!important;background:#edf5ff!important;color:#26496e!important}
body.airvaree-v2-earnings #earningsAdminSummary>div:nth-child(2) .card{background:#e8f7f3!important;border-color:#d2ece4!important}
body.airvaree-v2-earnings #earningsAdminSummary>div:nth-child(3) .card{background:#f3efff!important;border-color:#e4defa!important}
body.airvaree-v2-earnings #earningsAdminFormsToggle{border-radius:20px!important;padding:14px!important}
body.airvaree-v2-earnings #earningsAdminFormsToggle>summary{font-weight:600;color:var(--v2-text)}
body.airvaree-v2-earnings #earningsAdminForms .card{background:var(--v2-card)!important;box-shadow:none!important}
body.airvaree-v2-earnings :is(#earningsEntryList,#earningsPayoutList) > article{padding:12px 14px!important;border:1px solid var(--v2-border)!important;border-radius:17px!important;background:var(--v2-card)!important;box-shadow:none!important;overflow-wrap:anywhere}
body.airvaree-v2-earnings #earningsAdminRefresh{height:44px!important}
body.airvaree-v2-earnings .v2-earnings-mobile-nav{display:none}
:root[data-bs-theme="dark"] body.airvaree-v2-earnings #earningsAdminSummary .card{background:#223b58!important;border-color:#365573!important;color:#ebf4ff!important}
:root[data-bs-theme="dark"] body.airvaree-v2-earnings #earningsAdminSummary>div:nth-child(2) .card{background:#1d3e39!important;border-color:#315950!important}
:root[data-bs-theme="dark"] body.airvaree-v2-earnings #earningsAdminSummary>div:nth-child(3) .card{background:#302c4b!important;border-color:#4b426a!important}
@media(max-width:767px){
 body.airvaree-v2-earnings .v2-earnings-hero{padding:14px!important;min-height:90px!important}
 body.airvaree-v2-earnings .v2-earnings-layout{padding-bottom:112px!important}
 body.airvaree-v2-earnings .v2-earnings-mobile-nav{
  position:fixed;display:flex;align-items:stretch;justify-content:space-around;gap:3px;
  bottom:calc(env(safe-area-inset-bottom,0px) + 10px);left:12px;right:12px;
  padding:8px 6px;border:1px solid var(--v2-border);border-radius:23px;
  background:var(--v2-card);box-shadow:0 5px 22px rgba(25,55,95,.13);
  z-index:1040;
 }
 body.airvaree-v2-earnings .v2-earnings-mobile-nav a{
  display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;padding:9px 2px;color:var(--v2-muted);text-decoration:none;border-radius:17px;
  font-size:.68rem;line-height:1.15;white-space:nowrap;
 }
 body.airvaree-v2-earnings .v2-earnings-mobile-nav a i{font-size:1.33rem}
 body.airvaree-v2-earnings .v2-earnings-mobile-nav a.active{
  background:var(--v2-soft);color:var(--v2-accent);font-weight:650
 }
 body.airvaree-v2-earnings #earningsAdminSummary{row-gap:10px}
 body.airvaree-v2-earnings .v2-earnings-hero .small{font-size:.73rem}
}


/* Customer Portal responsive pass — presentation only, no changes to workflows.
   Desktop: use a side navigation rail instead of the phone bottom bar.
   Phone/tablet: retain the familiar bottom navigation and safe-area support. */
@media (min-width: 1025px) {
  body.portal-shell main.container {
    width: min(1120px, calc(100% - 184px));
    max-width: 1120px;
    margin-inline: auto;
  }
  body.portal-shell .portal-nav {
    position: fixed;
    top: 50%;
    bottom: auto;
    left: 16px;
    right: auto;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    width: 112px;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--v2-border, #dfe9f6);
    border-radius: 22px;
    box-shadow: 0 8px 24px rgba(35, 73, 130, .09);
    background: var(--v2-card, #fff);
  }
  body.portal-shell .portal-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    min-height: 64px;
    padding: 8px 4px;
    font-size: 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }
  body.portal-shell .portal-nav a[aria-current="page"] {
    background: var(--v2-soft, #eaf3ff);
    color: var(--v2-accent, #367dd1);
  }
  body.portal-shell .portal-hero {
    min-height: 285px;
  }
  body.portal-shell .hero-copy {
    max-width: 65%;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.portal-shell main.container {
    max-width: 920px;
    width: calc(100% - 36px);
  }
}
@media (max-width: 767px) {
  body.portal-shell main.container {
    max-width: 100%;
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
  }
  body.portal-shell .portal-nav {
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
  }
  body.portal-shell .portal-nav a {
    min-width: 0;
    min-height: 48px;
    overflow-wrap: anywhere;
  }
  body.portal-shell .portal-hero {
    min-height: 250px;
  }
}
@media (max-width: 359px) {
  body.portal-shell .portal-nav a {
    font-size: 11px;
    padding-inline: 2px;
  }
}


/* Responsive foundation QA follow-up: override legacy portal.css layout rules. */
@media (min-width: 1025px) {
  body.portal-shell.portal-reference main.container,
  body.portal-shell.portal-services-page main.container {
    max-width: 1120px !important;
    width: min(1120px, calc(100% - 184px));
    /* Keep the content at least 24px clear of the fixed 112px sidebar. */
    margin-left: max(152px, calc((100% - 1120px) / 2)) !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  body.portal-shell.portal-reference .portal-nav,
  body.portal-shell.portal-services-page .portal-nav {
    top: 50%;
    bottom: auto;
    left: 16px;
    right: auto;
    width: 112px;
    max-width: none;
    transform: translateY(-50%);
    border: 1px solid var(--v2-border);
    border-radius: 22px;
    padding: 12px;
    background: var(--v2-card);
  }
  body.portal-shell.portal-reference .portal-hero {
    min-height: 300px;
    padding-top: 88px;
  }
  body.portal-shell { padding-bottom: 32px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.portal-shell.portal-reference main.container,
  body.portal-shell.portal-services-page main.container {
    max-width: 920px !important;
    width: calc(100% - 36px);
  }
}
@media (max-width: 1024px) {
  body.portal-shell.portal-reference .portal-nav,
  body.portal-shell.portal-services-page .portal-nav {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 50%;
    right: auto;
    width: min(100%, 760px);
    max-width: 760px;
    transform: translateX(-50%);
    flex-direction: row;
    border-radius: 18px 18px 0 0;
    padding: 6px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  }
  body.portal-shell { padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
}
@media (max-width: 767px) {
  body.portal-shell.portal-reference main.container,
  body.portal-shell.portal-services-page main.container {
    width: 100%;
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
  }
}
@media (max-width: 359px) {
  body.portal-shell.portal-reference .portal-nav a,
  body.portal-shell.portal-services-page .portal-nav a {
    font-size: 11px;
    padding-left: 2px;
    padding-right: 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.portal-shell .portal-nav a { transition: none; }
}


/* Customer Home v2 — visual hierarchy only. Preserve all links, IDs and actions. */
body.portal-shell.portal-reference #homePanel .portal-hero {
  min-height: 265px;
  padding: 88px 26px 58px;
  border-radius: 26px;
  background-position: center 48%;
}
body.portal-shell.portal-reference #homePanel .portal-hero::before {
  background: linear-gradient(90deg, rgba(12,74,133,.58), rgba(18,105,166,.22) 62%, transparent);
}
body.portal-shell.portal-reference #homePanel .hero-copy {
  max-width: min(66%, 520px);
}
body.portal-shell.portal-reference #homePanel .hero-copy h1 {
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
body.portal-shell.portal-reference #homePanel .home-content {
  margin: -18px 10px 0;
}
body.portal-shell.portal-reference #homePanel .home-card {
  border: 1px solid var(--v2-border, #dfe9f6);
  border-radius: 20px;
  padding: 18px 20px;
  box-shadow: 0 7px 22px rgba(35,73,130,.07);
}
body.portal-shell.portal-reference #homePanel .customer-link-compact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 68px;
  padding: 10px 12px;
}
body.portal-shell.portal-reference #homePanel .customer-link-copy { min-width: 0; }
body.portal-shell.portal-reference #homePanel .customer-link-copy h2 {
  margin: 0 0 2px;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 650;
}
body.portal-shell.portal-reference #homePanel .customer-link-copy p {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
body.portal-shell.portal-reference #homePanel .customer-link-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 6px; }
body.portal-shell.portal-reference #homePanel .customer-link-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 44px;
  padding: 6px 10px;
  font-size: 12px;
  white-space: nowrap;
}
body.portal-shell.portal-reference #homePanel .customer-link-actions .portal-icon {
  width: 17px;
  height: 17px;
}
body.portal-shell.portal-reference #homePanel .home-card-heading {
  gap: 10px;
  flex-wrap: wrap;
}
body.portal-shell.portal-reference #homePanel .home-card-heading a,
body.portal-shell.portal-reference #homePanel .feature-detail {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
body.portal-shell.portal-reference #homePanel .maintenance-feature-body {
  align-items: center;
}
body.portal-shell.portal-reference #homePanel .maintenance-copy,
body.portal-shell.portal-reference #homePanel .booking-preview > div {
  min-width: 0;
}
body.portal-shell.portal-reference #homePanel .maintenance-copy :is(h3,p,span),
body.portal-shell.portal-reference #homePanel .booking-preview :is(p,span) {
  overflow-wrap: anywhere;
}
body.portal-shell.portal-reference #homePanel .quick-actions {
  gap: 10px;
  padding: 8px;
  border: 1px solid var(--v2-border, #dfe9f6);
  border-radius: 20px;
}
body.portal-shell.portal-reference #homePanel .quick-action {
  min-width: 0;
  min-height: 112px;
  padding: 14px 6px 10px;
  border-radius: 15px;
  gap: 3px;
  justify-content: center;
}
body.portal-shell.portal-reference #homePanel .quick-action strong,
body.portal-shell.portal-reference #homePanel .quick-action small {
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}
body.portal-shell.portal-reference #homePanel .quick-action strong {
  font-size: clamp(12px, 1.1vw, 15px);
}
body.portal-shell.portal-reference #homePanel .quick-action small {
  font-size: clamp(10px, .9vw, 12px);
}
body.portal-shell.portal-reference #homePanel .quick-action[aria-disabled="true"] {
  cursor: not-allowed;
}
body.portal-shell.portal-reference #homePanel .booking-preview {
  align-items: center;
  padding: 16px;
  border-radius: 16px;
  background: var(--v2-soft, #eaf3ff);
}
body.portal-shell.portal-reference #homePanel .booking-preview #nextBooking {
  font-weight: 650;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .home-card,
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-actions {
  border-color: var(--v2-border, #344a65);
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .booking-preview {
  background: var(--v2-soft, #294362);
}
@media (min-width: 1025px) {
  body.portal-shell.portal-reference #homePanel .portal-hero {
    min-height: 290px;
    padding-top: 96px;
    padding-bottom: 65px;
  }
  body.portal-shell.portal-reference #homePanel .quick-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.portal-shell.portal-reference #homePanel .portal-hero {
    min-height: 285px;
    padding-top: 98px;
  }
}
@media (max-width: 767px) {
  body.portal-shell.portal-reference #homePanel .portal-hero {
    min-height: 245px;
    padding: 85px 18px 46px;
    border-radius: 24px;
  }
  body.portal-shell.portal-reference #homePanel .hero-copy {
    max-width: 75%;
  }
  body.portal-shell.portal-reference #homePanel .home-content {
    margin: -12px 2px 0;
  }
  body.portal-shell.portal-reference #homePanel .home-card {
    padding: 14px;
    border-radius: 18px;
  }
  body.portal-shell.portal-reference #homePanel .customer-link-compact { padding: 10px 12px; }
  body.portal-shell.portal-reference #homePanel .quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  body.portal-shell.portal-reference #homePanel .quick-action {
    min-height: 94px;
    padding: 10px 6px;
  }
  body.portal-shell.portal-reference #homePanel .quick-action .portal-icon {
    width: 27px;
    height: 27px;
    margin-bottom: 2px;
  }
  body.portal-shell.portal-reference #homePanel .quick-action strong { font-size: 13px; }
  body.portal-shell.portal-reference #homePanel .quick-action small { font-size: 11px; }
}
@media (max-width: 575px) {
  body.portal-shell.portal-reference #homePanel .customer-link-compact { align-items: stretch; flex-direction: column; }
  body.portal-shell.portal-reference #homePanel .customer-link-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  body.portal-shell.portal-reference #homePanel .customer-link-actions .btn { white-space: normal; }
}
@media (max-width: 359px) {
  body.portal-shell.portal-reference #homePanel .hero-copy { max-width: 83%; }
  body.portal-shell.portal-reference #homePanel .maintenance-feature-body { gap: 9px; }
  body.portal-shell.portal-reference #homePanel .home-card-heading h2 { font-size: 15px; }
  body.portal-shell.portal-reference #homePanel .customer-link-compact { gap: 7px; padding: 9px 10px; }
  body.portal-shell.portal-reference #homePanel .customer-link-actions .btn { gap: 4px; padding-inline: 7px; font-size: 11px; }
  body.portal-shell.portal-reference #homePanel .customer-link-actions { grid-template-columns: 1fr; }
}


/* Customer Portal narrow-desktop safeguard: keep navigation clear of content.
   1025–1199 CSS px has insufficient comfortable space for a 112px side rail.
   Reuse the existing bottom navigation; no actions or links are removed. */
@media (min-width: 1025px) and (max-width: 1199px) {
  body.portal-shell.portal-reference main.container,
  body.portal-shell.portal-services-page main.container {
    width: calc(100% - 36px) !important;
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    min-width: 0;
  }
  body.portal-shell.portal-reference .portal-nav,
  body.portal-shell.portal-services-page .portal-nav {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 50%;
    right: auto;
    width: min(100%, 760px);
    max-width: 760px;
    transform: translateX(-50%);
    flex-direction: row;
    justify-content: space-around;
    gap: 4px;
    border-radius: 18px 18px 0 0;
    padding: 6px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  }
  body.portal-shell.portal-reference .portal-nav a,
  body.portal-shell.portal-services-page .portal-nav a {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: 180px;
    min-height: 55px;
    padding: 6px 4px;
    font-size: 12px;
  }
  body.portal-shell { padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
}
@media (min-width: 1200px) {
  body.portal-shell.portal-reference main.container,
  body.portal-shell.portal-services-page main.container {
    box-sizing: border-box;
    min-width: 0;
    /* The side rail ends at 128px; leave a clear gutter at every desktop width. */
    margin-left: max(152px, calc((100% - 1120px) / 2)) !important;
  }
}


/* Customer Portal: responsive layout containment.
   Avoid fixed-width overflow in a narrowed desktop window, while preserving
   existing navigation actions and the desktop rail at >=1200 CSS pixels. */
body.portal-shell.portal-reference,
body.portal-shell.portal-services-page {
  max-width: 100%;
  overflow-x: clip;
}
body.portal-shell.portal-reference main.container,
body.portal-shell.portal-services-page main.container {
  box-sizing: border-box;
  min-width: 0;
}
body.portal-shell.portal-reference #homePanel,
body.portal-shell.portal-reference #homePanel .portal-hero,
body.portal-shell.portal-reference #homePanel .home-content,
body.portal-shell.portal-reference #homePanel .home-card,
body.portal-shell.portal-reference #homePanel .quick-actions {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
@media (min-width: 1200px) {
  body.portal-shell.portal-reference main.container,
  body.portal-shell.portal-services-page main.container {
    /* Reserve a fixed 152px left rail+gutter and 24px right gutter.
       The old centered width could extend beyond the right edge. */
    width: min(1120px, calc(100% - 176px)) !important;
    max-width: 1120px !important;
    margin-left: max(152px, calc((100% - 1120px) / 2)) !important;
    margin-right: 24px !important;
  }
}
@media (max-width: 1199px) {
  body.portal-shell.portal-reference main.container,
  body.portal-shell.portal-services-page main.container {
    width: min(920px, calc(100% - 24px)) !important;
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.portal-shell.portal-reference .portal-nav,
  body.portal-shell.portal-services-page .portal-nav {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 50%;
    right: auto;
    width: min(100%, 760px);
    max-width: 760px;
    transform: translateX(-50%);
    flex-direction: row;
    justify-content: space-around;
    gap: 4px;
    border-radius: 18px 18px 0 0;
    padding: 6px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  }
  body.portal-shell.portal-reference .portal-nav a,
  body.portal-shell.portal-services-page .portal-nav a {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: 180px;
    min-height: 48px;
    padding: 6px 4px;
  }
  body.portal-shell { padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
}
@media (max-width: 767px) {
  body.portal-shell.portal-reference main.container,
  body.portal-shell.portal-services-page main.container {
    width: 100% !important;
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
  }
  body.portal-shell.portal-reference #homePanel .quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Customer Portal desktop navigation v3 — compact icon rail and true centered
   content. Text remains in the DOM, appears on hover/focus, and all links
   retain their original destinations and keyboard focus behavior. */
@media (min-width: 1200px) {
  body.portal-shell.portal-reference main.container,
  body.portal-shell.portal-services-page main.container {
    width: min(1040px, calc(100% - 192px)) !important;
    max-width: 1040px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
    min-width: 0;
  }
  body.portal-shell.portal-reference .portal-nav,
  body.portal-shell.portal-services-page .portal-nav {
    position: fixed;
    left: 16px;
    right: auto;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    width: 60px;
    max-width: 60px;
    padding: 7px 5px;
    gap: 4px;
    border-radius: 19px;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 6px 18px rgba(35,73,130,.09);
    overflow: visible;
  }
  body.portal-shell.portal-reference .portal-nav a,
  body.portal-shell.portal-services-page .portal-nav a {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 48px;
    max-width: 48px;
    min-height: 48px;
    padding: 10px 4px;
    gap: 0;
    border-radius: 13px;
    font-size: 0;
    line-height: 1.2;
    white-space: nowrap;
    overflow: visible;
  }
  body.portal-shell.portal-reference .portal-nav a .portal-icon,
  body.portal-shell.portal-services-page .portal-nav a .portal-icon {
    display: block;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
  }
  /* Existing link text is revealed on mouse hover and keyboard focus. */
  body.portal-shell.portal-reference .portal-nav a:is(:hover, :focus-visible),
  body.portal-shell.portal-services-page .portal-nav a:is(:hover, :focus-visible) {
    width: 116px;
    max-width: 116px;
    margin-right: -68px;
    min-height: 58px;
    padding: 6px 5px;
    gap: 3px;
    font-size: 11px;
    white-space: normal;
    z-index: 2;
    background: var(--v2-soft, #eaf3ff);
    box-shadow: 0 5px 16px rgba(35,73,130,.13);
  }
  body.portal-shell.portal-reference .portal-nav a:focus-visible,
  body.portal-shell.portal-services-page .portal-nav a:focus-visible {
    outline: 2px solid var(--v2-accent, #367dd1);
    outline-offset: 2px;
  }
}


/* Customer Home maintenance thumbnail: phone-only containment fix.
   Overrides portal.css's mobile scale(1.13) that spills the AC image out
   of its art tile. No changes to data, navigation or card actions. */
@media (max-width: 767px) {
  body.portal-shell.portal-reference #homePanel .maintenance-feature-body {
    display: flex;
    align-items: center;
    gap: clamp(10px, 3vw, 16px);
    min-width: 0;
    max-width: 100%;
  }
  body.portal-shell.portal-reference #homePanel .ac-art {
    box-sizing: border-box;
    display: grid;
    place-items: center;
    flex: 0 0 68px;
    width: 68px;
    height: 72px;
    min-width: 0;
    padding: 7px;
    overflow: hidden;
    border-radius: 13px;
  }
  body.portal-shell.portal-reference #homePanel .ac-art img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none;
  }
  body.portal-shell.portal-reference #homePanel .maintenance-copy {
    flex: 1 1 0;
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 359px) {
  body.portal-shell.portal-reference #homePanel .ac-art {
    flex-basis: 60px;
    width: 60px;
    height: 66px;
    padding: 6px;
  }
}


/* Customer Portal button accessibility pass — presentation only.
   Preserve every existing link, button, event handler and disabled state. */
body.portal-shell.portal-reference #homePanel .home-card-heading a,
body.portal-shell.portal-reference #homePanel .feature-detail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 8px 10px;
  border-radius: 10px;
  line-height: 1.35;
  text-decoration: none;
  touch-action: manipulation;
}
body.portal-shell.portal-reference #homePanel .home-card-heading a:is(:hover, :focus-visible),
body.portal-shell.portal-reference #homePanel .feature-detail:is(:hover, :focus-visible) {
  background: rgba(60, 158, 234, .13);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.portal-shell.portal-reference .portal-top-actions {
  display: flex;
  align-items: center;
  gap: clamp(4px, 1.4vw, 12px);
}
body.portal-shell.portal-reference .portal-top-actions :is(.portal-bell, .portal-theme, .portal-avatar),
body.portal-shell.portal-services-page .portal-top-actions :is(.portal-bell, .portal-theme, .portal-avatar) {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  touch-action: manipulation;
}
body.portal-shell.portal-reference :is(a, button):focus-visible,
body.portal-shell.portal-services-page :is(a, button):focus-visible {
  outline: 2px solid #58b9ff;
  outline-offset: 2px;
}
@media (max-width: 767px) {
  body.portal-shell.portal-reference .portal-nav a,
  body.portal-shell.portal-services-page .portal-nav a {
    box-sizing: border-box;
    min-width: 0;
    min-height: 56px;
    padding: 7px 3px;
    gap: 4px;
    font-size: clamp(11px, 2.9vw, 13px);
    line-height: 1.25;
    text-align: center;
    overflow-wrap: anywhere;
    touch-action: manipulation;
  }
  body.portal-shell.portal-reference .portal-nav a .portal-icon,
  body.portal-shell.portal-services-page .portal-nav a .portal-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
  }
  body.portal-shell.portal-reference #homePanel .home-card-heading {
    gap: 4px;
  }
  body.portal-shell.portal-reference #homePanel .home-card-heading a {
    flex-shrink: 0;
    padding-inline: 6px;
    font-size: 12px;
  }
}
@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
  /* Keep the compact rail fixed-width; reveal existing label as a tooltip. */
  body.portal-shell.portal-reference .portal-nav a:is(:hover, :focus-visible),
  body.portal-shell.portal-services-page .portal-nav a:is(:hover, :focus-visible) {
    width: 48px;
    max-width: 48px;
    min-height: 48px;
    margin-right: 0;
    padding: 10px 4px;
    gap: 0;
    font-size: 0;
    white-space: nowrap;
  }
  body.portal-shell.portal-reference .portal-nav a > span,
  body.portal-shell.portal-services-page .portal-nav a > span {
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    width: max-content;
    max-width: 180px;
    padding: 8px 12px;
    border-radius: 10px;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #193c61);
    border: 1px solid var(--v2-border, #dfe9f6);
    box-shadow: 0 6px 18px rgba(18, 45, 77, .17);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 10;
  }
  body.portal-shell.portal-reference .portal-nav a:is(:hover, :focus-visible) > span,
  body.portal-shell.portal-services-page .portal-nav a:is(:hover, :focus-visible) > span {
    opacity: 1;
    visibility: visible;
  }
}


/* Customer portal — softer icon-first controls; presentation only. */
body.portal-shell.portal-reference {
  --v2-radius: 26px;
}
body.portal-shell.portal-reference :is(.btn:not(.btn-link),.portal-filter-toggle,.portal-filter-clear) {
  border-radius: 999px;
}
body.portal-shell.portal-reference :is(.portal-filter-toggle,.portal-filter-clear,.portal-dialog-close) {
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
body.portal-shell.portal-reference .portal-filter-toggle .portal-icon {
  width: 20px;
  height: 20px;
  flex: none;
}
body.portal-shell.portal-reference :is(.portal-bell,.portal-theme,.portal-avatar) {
  border-radius: 50%;
}
body.portal-shell.portal-reference :is(.card,.portal-filter-card,.portal-filter-panel,.portal-job-dialog-shell,.portal-job-card,.portal-hero) {
  border-radius: 26px;
}
body.portal-shell.portal-reference .portal-nav a {
  border-radius: 18px;
}
body.portal-shell.portal-reference .portal-nav a .portal-icon {
  flex: none;
}
body.portal-shell.portal-reference :is(.btn,.portal-nav a,.portal-top-actions button) {
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  body.portal-shell.portal-reference :is(.btn:not(:disabled),.portal-nav a):hover {
    transform: translateY(-1px);
  }
}
@media (prefers-reduced-motion:reduce) {
  body.portal-shell.portal-reference :is(.btn,.portal-nav a,.portal-top-actions button) {
    transition: none;
  }
}

/* Icon-first secondary actions: accessible names remain in the DOM. */
body.portal-shell.portal-reference :is(#addAcUnit,#refreshMaintenance,#editProfile,#addLocation,#retryLocations,#retryAcOptions,#clearFilters,#previousPage,#nextPage) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  width: 44px;
  height: 44px;
  padding: 10px;
  border-radius: 50%;
  flex: none;
}
body.portal-shell.portal-reference :is(#addAcUnit,#refreshMaintenance,#editProfile,#addLocation,#retryLocations,#retryAcOptions,#clearFilters,#previousPage,#nextPage) .portal-icon {
  width: 20px;
  height: 20px;
  flex: none;
}
body.portal-shell.portal-reference :is(#previousPage,#nextPage):disabled {
  opacity: .45;
  cursor: not-allowed;
}

/* Detail and see-all links: soft pill hierarchy. */
body.portal-shell.portal-reference .home-card-heading a.portal-see-all {
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:44px;padding:8px 12px;border-radius:999px;
  color:var(--v2-accent);background:var(--v2-soft);
  font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap;
}
body.portal-shell.portal-reference .home-card-heading a.portal-see-all .portal-icon {width:17px;height:17px;}
body.portal-shell.portal-reference a.feature-detail {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:9px 16px;border-radius:999px;
  background:var(--v2-soft);color:var(--v2-accent);
  font-weight:650;text-decoration:none;width:max-content;max-width:100%;
}
body.portal-shell.portal-reference a.feature-detail .portal-icon {width:19px;height:19px;order:-1;flex:none;}
body.portal-shell.portal-reference :is(.portal-icon-edit,.portal-ac-action.portal-icon-edit) {
  display:inline-grid;place-items:center;flex:none;
  width:44px;height:44px;min-width:44px;min-height:44px;
  padding:10px;border-radius:50%;
}
body.portal-shell.portal-reference .portal-icon-edit .portal-icon {width:20px;height:20px;flex:none;}
body.portal-shell.portal-reference :is(.portal-see-all,.feature-detail,.portal-icon-edit):focus-visible {
  outline:3px solid var(--v2-accent);outline-offset:3px;
}


/* Customer portal responsive polish: airy AC cards and icon-led shortcuts. */
body.portal-shell.portal-reference #unitsPanel .portal-ac-card {
  background:var(--v2-card);
  color:var(--v2-text);
  border:1px solid var(--v2-border);
  border-radius:26px;
  padding:clamp(16px,2.4vw,24px);
  box-shadow:0 8px 26px rgba(32,75,128,.065);
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-heading {gap:14px;align-items:center;}
body.portal-shell.portal-reference #unitsPanel .portal-ac-title h3 {color:var(--v2-text);font-size:clamp(16px,1.6vw,19px);}
body.portal-shell.portal-reference #unitsPanel .portal-ac-model {color:var(--v2-muted);}
body.portal-shell.portal-reference #unitsPanel .portal-ac-meta {gap:10px;margin-top:16px;}
body.portal-shell.portal-reference #unitsPanel .portal-ac-meta-item {color:var(--v2-muted);gap:10px;}
body.portal-shell.portal-reference #unitsPanel .portal-ac-meta-item .portal-icon {flex:none;}
body.portal-shell.portal-reference #unitsPanel .portal-ac-actions {gap:10px;margin-top:18px;align-items:center;}
body.portal-shell.portal-reference #unitsPanel .portal-ac-action {
  min-width:44px;min-height:44px;border-radius:999px;
  background:var(--v2-soft);color:var(--v2-accent);border-color:transparent;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-action:hover {border-color:var(--v2-accent);}
body.portal-shell.portal-reference #unitsPanel .portal-ac-maintenance {
  margin-top:16px;padding-top:14px;border-top:1px solid var(--v2-border);color:var(--v2-muted);
}
body.portal-shell.portal-reference #homePanel .quick-actions {
  background:transparent;border:0;box-shadow:none;
  padding:0;gap:clamp(8px,1.5vw,16px);
}
body.portal-shell.portal-reference #homePanel .quick-action {
  border:1px solid var(--v2-border);
  border-radius:24px;
  padding:clamp(12px,2vw,20px) 8px;
  min-height:124px;
  box-shadow:0 5px 18px rgba(32,75,128,.04);
  gap:7px;
}
body.portal-shell.portal-reference #homePanel .quick-action .portal-icon {
  width:clamp(30px,3.5vw,42px);height:clamp(30px,3.5vw,42px);
  margin-bottom:3px;
}
body.portal-shell.portal-reference #homePanel .quick-action strong {font-size:clamp(12px,1.2vw,15px);line-height:1.35;}
body.portal-shell.portal-reference #homePanel .quick-action small {font-size:11px;line-height:1.3;}
body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"] {
  opacity:.64;filter:saturate(.55);cursor:not-allowed;
  border-style:solid;
}
@media(max-width:575px) {
  body.portal-shell.portal-reference #homePanel .quick-actions {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  body.portal-shell.portal-reference #homePanel .quick-action {min-height:112px;border-radius:20px;padding:14px 8px;}
  body.portal-shell.portal-reference #homePanel .quick-action .portal-icon {width:34px;height:34px;}
  body.portal-shell.portal-reference #unitsPanel .portal-ac-card {border-radius:22px;padding:16px;}
}
@media(min-width:576px) and (max-width:991px) {
  body.portal-shell.portal-reference #homePanel .quick-actions {grid-template-columns:repeat(4,minmax(0,1fr));}
}


/* Service-history filters and paging: clear focus and compact touch targets. */
body.portal-shell.portal-reference .portal-filter-card {
  padding:clamp(12px,2vw,18px);border:1px solid var(--v2-border);
  background:var(--v2-card);box-shadow:var(--v2-shadow);
}
body.portal-shell.portal-reference .portal-filter-toolbar {gap:10px;}
body.portal-shell.portal-reference .portal-filter-summary {
  color:var(--v2-muted);font-size:13px;line-height:1.45;
}
body.portal-shell.portal-reference .portal-filter-panel {
  margin-top:12px;padding:clamp(12px,2vw,18px);
  border:1px solid var(--v2-border);background:var(--v2-card);
}
body.portal-shell.portal-reference :is(#previousPage,#nextPage) {
  width:44px;height:44px;min-width:44px;padding:10px;
  border-radius:50%;display:inline-grid;place-items:center;
}
body.portal-shell.portal-reference :is(#previousPage,#nextPage) .portal-icon {width:20px;height:20px;}
body.portal-shell.portal-reference #pageIndicator {color:var(--v2-muted);font-weight:600;line-height:1.5;}
body.portal-shell.portal-reference :is(.portal-filter-toggle,#previousPage,#nextPage):focus-visible {
  outline:3px solid var(--v2-accent);outline-offset:3px;
}
@media(max-width:575px) {
  body.portal-shell.portal-reference .portal-filter-toolbar {gap:8px;}
  body.portal-shell.portal-reference .portal-filter-summary {min-width:0;flex:1 1 80px;}
}


/* Air Varee Customer Portal — compact, unified dialog visual system.
   Presentation only: native dialog, Bootstrap modal and payment flows unchanged. */
body.portal-shell.portal-reference {
  --portal-dialog-bg:var(--v2-card,#fff);
  --portal-dialog-ink:var(--v2-text,#203b5d);
  --portal-dialog-muted:var(--v2-muted,#627996);
  --portal-dialog-border:var(--v2-border,#dfe9f6);
  --portal-dialog-tint:var(--v2-soft,#eaf3ff);
}
body.portal-shell.portal-reference :is(.portal-job-dialog,.portal-payment-dialog) {
  width:min(560px,calc(100vw - 24px));
  max-width:none;
  max-height:min(88dvh,760px);
  border:1px solid var(--portal-dialog-border);
  border-radius:24px;
  background:var(--portal-dialog-bg);
  color:var(--portal-dialog-ink);
  box-shadow:0 22px 60px rgba(15,41,76,.22);
  font-size:14px;
  line-height:1.55;
}
body.portal-shell.portal-reference :is(.portal-job-dialog,.portal-payment-dialog)::backdrop {
  background:rgba(13,31,56,.55);
  backdrop-filter:blur(3px);
}
body.portal-shell.portal-reference .portal-job-dialog-shell {
  max-height:min(88dvh,760px);min-height:0;
}
body.portal-shell.portal-reference :is(.portal-job-dialog-header,.portal-job-dialog-footer,.portal-payment-header,.portal-payment-footer) {
  padding:12px 16px;gap:10px;
  background:var(--portal-dialog-tint);
  border-color:var(--portal-dialog-border);
}
body.portal-shell.portal-reference :is(.portal-job-dialog-body,.portal-payment-body) {
  padding:16px;
  color:var(--portal-dialog-ink);
}
body.portal-shell.portal-reference :is(.portal-job-dialog-header h2,.portal-payment-header h2) {
  font-size:18px!important;
  line-height:1.35;
  font-weight:700;
  color:var(--portal-dialog-ink);
  margin:0;
}
body.portal-shell.portal-reference :is(.portal-job-dialog-header .small,.portal-payment-header p,.portal-payment-header span) {
  font-size:12px;color:var(--portal-dialog-muted);
}
body.portal-shell.portal-reference :is(.portal-job-dialog,.portal-payment-dialog) :is(p,li,dd,dt,label,span) {
  line-height:1.5;
}
body.portal-shell.portal-reference :is(.portal-job-dialog,.portal-payment-dialog) :is(.btn:not(.btn-close),button:not(.btn-close)) {
  font-size:13px;
  min-height:40px;
  padding:7px 13px;
  border-radius:999px;
  line-height:1.35;
}
body.portal-shell.portal-reference :is(.portal-job-dialog,.portal-payment-dialog) :is(.portal-dialog-close,.btn-close) {
  width:40px;height:40px;min-width:40px;min-height:40px;
  padding:8px;display:inline-grid;place-items:center;
  border-radius:50%;font-size:21px;flex:none;
}
body.portal-shell.portal-reference .portal-payment-methods .btn {min-height:44px;}
body.portal-shell.portal-reference .portal-payment-qr strong {font-size:17px;}
body.portal-shell.portal-reference .portal-payment-qr p {font-size:13px;}
body.portal-shell.portal-reference .portal-payment-body>.alert {font-size:13px;line-height:1.5;}
body.portal-shell.portal-reference .modal-dialog {max-width:min(540px,calc(100vw - 24px));margin-left:auto;margin-right:auto;}
body.portal-shell.portal-reference .modal-content {
  border:1px solid var(--portal-dialog-border);
  border-radius:24px;
  background:var(--portal-dialog-bg);
  color:var(--portal-dialog-ink);
  box-shadow:0 22px 60px rgba(15,41,76,.22);
  font-size:14px;line-height:1.55;
}
body.portal-shell.portal-reference :is(.modal-header,.modal-footer) {
  background:var(--portal-dialog-tint);
  border-color:var(--portal-dialog-border);
  padding:12px 16px;
}
body.portal-shell.portal-reference .modal-body {padding:16px;}
body.portal-shell.portal-reference .modal-title {
  font-size:18px!important;line-height:1.35;font-weight:700;
  color:var(--portal-dialog-ink);
}
body.portal-shell.portal-reference .modal-content :is(.btn:not(.btn-close),button:not(.btn-close)) {
  font-size:13px;min-height:40px;padding:7px 13px;
  border-radius:999px;line-height:1.35;
}
body.portal-shell.portal-reference .modal-content .btn-close {
  width:40px;height:40px;min-width:40px;min-height:40px;
  padding:10px;border-radius:50%;flex:none;
}
body.portal-shell.portal-reference :is(.modal-content,.portal-job-dialog,.portal-payment-dialog) :is(.form-control,.form-select) {
  font-size:14px;min-height:42px;border-radius:12px;
}
body.portal-shell.portal-reference :is(.modal-content,.portal-job-dialog,.portal-payment-dialog) :is(button,a,input,select,textarea):focus-visible {
  outline:3px solid var(--v2-accent,#367dd1);
  outline-offset:2px;
}
@media(max-width:575px) {
  body.portal-shell.portal-reference :is(.portal-job-dialog,.portal-payment-dialog) {
    width:calc(100vw - 20px);max-height:calc(100dvh - 32px);
    border-radius:20px;
  }
  body.portal-shell.portal-reference .portal-job-dialog-shell {max-height:calc(100dvh - 32px);}
  body.portal-shell.portal-reference .modal-dialog {max-width:calc(100vw - 20px);margin:10px auto;}
  body.portal-shell.portal-reference .modal-content {border-radius:20px;}
  body.portal-shell.portal-reference :is(.portal-job-dialog-body,.portal-payment-body,.modal-body) {padding:14px;}
  body.portal-shell.portal-reference :is(.portal-job-dialog-header,.portal-job-dialog-footer,.portal-payment-header,.portal-payment-footer,.modal-header,.modal-footer) {padding:11px 14px;}
}


/* Fix: legacy mobile bottom-sheet margin overrides native dialog centering. */
body.portal-shell.portal-reference dialog.portal-job-dialog[open] {
  position:fixed;
  inset:0;
  margin:auto;
  width:min(560px,calc(100vw - 24px));
  max-height:min(88dvh,760px);
  border-radius:24px;
}
@media(max-width:575px) {
  body.portal-shell.portal-reference dialog.portal-job-dialog[open] {
    inset:0;
    margin:auto;
    width:calc(100vw - 24px);
    max-height:calc(100dvh - 48px);
    border-radius:20px;
  }
  body.portal-shell.portal-reference dialog.portal-job-dialog .portal-job-dialog-shell {
    max-height:calc(100dvh - 48px);
  }
}

/* Bootstrap .d-flex must not override the pagination hidden state. */
body.portal-shell.portal-reference #paginationNav[hidden] { display:none!important; }


/* Theme-safe customer shortcuts and bottom navigation: maintain readable contrast. */
body.portal-shell.portal-reference #homePanel .quick-action {
  opacity:1;
  filter:none;
}
body.portal-shell.portal-reference #homePanel .quick-action strong {
  color:#183b59;
  opacity:1;
}
body.portal-shell.portal-reference #homePanel .quick-action small {
  color:#496781;
  opacity:1;
}
body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"] {
  opacity:1;
  filter:none;
  background:linear-gradient(145deg,#e5edf5,#f0f5fa);
  border:1px solid var(--v2-border);
  cursor:not-allowed;
}
body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"] :is(strong,small) {
  color:#526d83;
}
body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"] .portal-icon {
  opacity:.75;
}
body.portal-shell.portal-reference .portal-nav {
  background:#fff;
  border:1px solid #dce7f3;
}
body.portal-shell.portal-reference .portal-nav a {
  color:#58738c;
}
body.portal-shell.portal-reference .portal-nav a[aria-current="page"],
body.portal-shell.portal-reference .portal-nav a.active {
  color:#075da8;
  background:#e3f1ff;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-action,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-action {
  border-color:#42617d;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-booking,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-booking {
  background:#2b3d50;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-units,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-units {
  background:#244766;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-history,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-history {
  background:#205047;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-locations,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-locations {
  background:#453a65;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-action strong,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-action strong {
  color:#f3f8ff;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-action small,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-action small {
  color:#d3e1ee;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"],
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"] {
  background:#2b3d50;
  border-color:#6a8196;
  opacity:1;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"] :is(strong,small),
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"] :is(strong,small) {
  color:#d3deea;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav,
[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav {
  background:#182e45;
  border-color:#395570;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a,
[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a {
  color:#c0d2e5;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a[aria-current="page"],
:root[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a.active,
[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a[aria-current="page"],
[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a.active {
  color:#81caff;
  background:#254767;
}

/* Coming-soon shortcut shares the same border treatment as sibling shortcuts. */
body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"] {border:1px solid var(--v2-border)!important;}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"],
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .quick-booking[aria-disabled="true"] {border-color:#42617d!important;}


/* Reduce dark-theme tab glare; balance maintenance status and interval action. */
:root[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a[aria-current="page"],
:root[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a.active,
[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a[aria-current="page"],
[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a.active {
  background:#203a51;
  color:#a9d5f5;
  box-shadow:inset 0 0 0 1px #31516b;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a[aria-current="page"] .portal-icon,
[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-nav a[aria-current="page"] .portal-icon {
  color:#65b5ed;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-maintenance .portal-maintenance-controls {
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-maintenance .portal-maintenance-controls .portal-status-chip {
  margin:0;min-height:32px;padding:6px 12px;font-size:12px;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-maintenance .portal-interval-button {
  margin:0!important;min-height:36px;padding:7px 14px;
  font-size:12px;font-weight:650;line-height:1.3;
  border-radius:999px;
}
@media(max-width:575px) {
  body.portal-shell.portal-reference #unitsPanel .portal-ac-maintenance .portal-maintenance-controls {
    gap:8px;
  }
}


/* Booking/history segmented tabs: theme-specific contrast (not bottom navigation). */
body.portal-shell.portal-reference.portal-services-page .portal-tabs {
  background:#e8f1fa;
  border:1px solid #d4e4f3;
  border-radius:20px;
  padding:5px;
  gap:5px;
}
body.portal-shell.portal-reference.portal-services-page .portal-tabs .portal-tab {
  background:transparent;
  color:#45647f;
  border-radius:15px;
  font-size:14px;
  font-weight:600;
  box-shadow:none;
}
body.portal-shell.portal-reference.portal-services-page .portal-tabs .portal-tab.active {
  background:#fff;
  color:#075da8;
  box-shadow:0 2px 8px rgba(30,76,116,.09);
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference.portal-services-page .portal-tabs,
[data-bs-theme="dark"] body.portal-shell.portal-reference.portal-services-page .portal-tabs {
  background:#1b3045;
  border-color:#35516b;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference.portal-services-page .portal-tabs .portal-tab,
[data-bs-theme="dark"] body.portal-shell.portal-reference.portal-services-page .portal-tabs .portal-tab {
  background:transparent;
  color:#b9cee1;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference.portal-services-page .portal-tabs .portal-tab.active,
[data-bs-theme="dark"] body.portal-shell.portal-reference.portal-services-page .portal-tabs .portal-tab.active {
  background:#29435c;
  color:#d6edff;
  box-shadow:inset 0 0 0 1px #45627d;
}
body.portal-shell.portal-reference.portal-services-page .portal-tabs .portal-tab:focus-visible {
  outline:2px solid var(--v2-accent,#367dd1);
  outline-offset:2px;
}


/* Home payment reminder: understated, one-row design aligned with Air Varee cards. */
body.portal-shell.portal-reference #outstandingPaymentSection.payment-reminder {
  display:flex;align-items:center;gap:11px;
  margin:0 0 14px;padding:11px 12px;
  border:1px solid var(--v2-border,#dfe8f1);
  border-left:3px solid #d0a14d;
  border-radius:16px;
  background:var(--v2-card,#fff);
  color:var(--v2-text,#223c54);
  box-shadow:0 2px 10px rgba(29,57,89,.04);
  min-width:0;
}
body.portal-shell.portal-reference #outstandingPaymentSection.payment-reminder.d-none {display:none!important;}
body.portal-shell.portal-reference .payment-reminder-icon {
  width:36px;height:36px;flex:0 0 36px;
  display:grid;place-items:center;
  border-radius:12px;
  color:#97701e;background:#fbf3e3;
}
body.portal-shell.portal-reference .payment-reminder-icon svg {width:19px;height:19px;}
body.portal-shell.portal-reference .payment-reminder-copy {flex:1;min-width:0;}
body.portal-shell.portal-reference #outstandingPaymentTitle {
  margin:0 0 2px!important;font-size:13px!important;font-weight:700;line-height:1.4;
  color:inherit;
}
body.portal-shell.portal-reference #outstandingPaymentSummary {
  margin:0!important;font-size:12px;line-height:1.4;
  color:var(--v2-muted,#627996);
  overflow-wrap:anywhere;
}
body.portal-shell.portal-reference #outstandingPaymentLink {
  flex:0 0 36px;width:36px;height:36px;min-width:36px;min-height:36px;
  padding:0;margin:0;
  display:grid;place-items:center;
  border-radius:50%;border:1px solid var(--v2-border,#dfe8f1);
  background:var(--v2-soft,#edf5ff);
  color:var(--v2-accent,#327dc1);
  text-decoration:none;box-shadow:none;
}
body.portal-shell.portal-reference #outstandingPaymentLink svg {width:18px;height:18px;}
body.portal-shell.portal-reference #outstandingPaymentLink:focus-visible {
  outline:3px solid var(--v2-accent,#327dc1);outline-offset:2px;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #outstandingPaymentSection.payment-reminder,
[data-bs-theme="dark"] body.portal-shell.portal-reference #outstandingPaymentSection.payment-reminder {
  background:#1d3349;border-color:#39516a;border-left-color:#c6a15e;color:#e7f0f8;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference .payment-reminder-icon,
[data-bs-theme="dark"] body.portal-shell.portal-reference .payment-reminder-icon {
  background:#3a382e;color:#e3bf77;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #outstandingPaymentSummary,
[data-bs-theme="dark"] body.portal-shell.portal-reference #outstandingPaymentSummary {color:#bdcfe0;}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #outstandingPaymentLink,
[data-bs-theme="dark"] body.portal-shell.portal-reference #outstandingPaymentLink {
  background:#28435e;border-color:#45617a;color:#a9d7fa;
}
@media(max-width:575px) {
  body.portal-shell.portal-reference #outstandingPaymentSection.payment-reminder {gap:9px;padding:10px;}
  body.portal-shell.portal-reference .payment-reminder-icon {width:34px;height:34px;flex-basis:34px;}
}


/* Centering audit 2026-10-14: all native customer dialogs, including payment fallback.
   Overrides legacy mobile bottom-sheet positioning without altering modal behavior. */
body.portal-shell.portal-reference dialog:is(.portal-job-dialog,.portal-payment-dialog)[open] {
  position:fixed;
  inset:0;
  top:0;right:0;bottom:0;left:0;
  margin:auto;
  width:min(560px,calc(100vw - 24px));
  max-width:calc(100vw - 24px);
  max-height:min(88dvh,760px);
  border-radius:24px;
  transform:none;
  box-sizing:border-box;
}
body.portal-shell.portal-reference dialog.portal-payment-dialog.portal-payment-fallback[open] {
  inset:0;
  top:50%;left:50%;right:auto;bottom:auto;
  transform:translate(-50%,-50%);
  margin:0;
  width:min(560px,calc(100vw - 24px));
  max-height:min(88dvh,760px);
}
body.portal-shell.portal-reference dialog.portal-payment-dialog[open] {
  overflow:hidden;
  flex-direction:column;
}
body.portal-shell.portal-reference dialog.portal-payment-dialog[open] .portal-payment-body {
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}
body.portal-shell.portal-reference dialog.portal-job-dialog[open] .portal-job-dialog-shell {
  max-height:min(88dvh,760px);
  min-height:0;
}
body.portal-shell.portal-reference .modal-dialog.modal-dialog-centered {
  min-height:calc(100dvh - 32px);
  display:flex;
  align-items:center;
  margin:16px auto;
}
body.portal-shell.portal-reference .modal-dialog.modal-dialog-centered .modal-content {
  max-height:calc(100dvh - 32px);
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
body.portal-shell.portal-reference .modal-dialog.modal-dialog-centered .modal-body {
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}
@media(max-width:575px) {
  body.portal-shell.portal-reference dialog:is(.portal-job-dialog,.portal-payment-dialog)[open] {
    inset:0;
    margin:auto;
    width:calc(100vw - 24px);
    max-width:calc(100vw - 24px);
    max-height:calc(100dvh - 48px);
    border-radius:20px;
    transform:none;
  }
  body.portal-shell.portal-reference dialog.portal-payment-dialog.portal-payment-fallback[open] {
    inset:0;
    top:50%;left:50%;right:auto;bottom:auto;
    transform:translate(-50%,-50%);
    margin:0;
  }
  body.portal-shell.portal-reference dialog.portal-job-dialog[open] .portal-job-dialog-shell {
    max-height:calc(100dvh - 48px);
  }
  body.portal-shell.portal-reference .modal-dialog.modal-dialog-centered {
    min-height:calc(100dvh - 24px);
    margin:12px auto;
  }
  body.portal-shell.portal-reference .modal-dialog.modal-dialog-centered .modal-content {
    max-height:calc(100dvh - 24px);
  }
}


/* Modern address + nested air-conditioner cards in the customer account panel. */
body.portal-shell.portal-reference #locationsList .portal-location-card {
  margin:0 0 14px;background:var(--v2-card,#fff);color:var(--v2-text,#203b56);
  border:1px solid var(--v2-border,#dce7f1);border-radius:22px;
  box-shadow:0 6px 22px rgba(30,73,108,.06);overflow:hidden;
}
body.portal-shell.portal-reference .portal-location-body {padding:18px;}
body.portal-shell.portal-reference .portal-location-heading,
body.portal-shell.portal-reference .portal-location-identity,
body.portal-shell.portal-reference .portal-location-unit-heading {
  display:flex;align-items:center;gap:11px;min-width:0;
}
body.portal-shell.portal-reference .portal-location-heading {justify-content:space-between;}
body.portal-shell.portal-reference .portal-location-identity {flex:1;}
body.portal-shell.portal-reference .portal-location-marker,
body.portal-shell.portal-reference .portal-location-unit-icon {
  width:38px;height:38px;flex:0 0 38px;border-radius:12px;
  display:grid;place-items:center;background:#e8f3ff;color:#2382c3;
}
body.portal-shell.portal-reference .portal-location-marker svg,
body.portal-shell.portal-reference .portal-location-unit-icon svg {width:21px;height:21px;}
body.portal-shell.portal-reference .portal-location-name {
  margin:0;font-size:17px;font-weight:700;line-height:1.4;overflow-wrap:anywhere;min-width:0;
}
body.portal-shell.portal-reference .portal-location-edit {
  flex:0 0 40px;width:40px;height:40px;min-height:40px;
  border:1px solid var(--v2-border,#dce7f1);background:var(--v2-soft,#edf5fd);
  color:var(--v2-accent,#2583c8);border-radius:50%;display:grid;place-items:center;
}
body.portal-shell.portal-reference .portal-location-address {
  font-size:13px;line-height:1.6;margin:10px 0 12px;
  color:var(--v2-muted,#637d93);overflow-wrap:anywhere;
}
body.portal-shell.portal-reference .portal-location-tags,
body.portal-shell.portal-reference .portal-location-unit-tags {
  display:flex;flex-wrap:wrap;gap:7px;align-items:center;
}
body.portal-shell.portal-reference .portal-location-tag,
body.portal-shell.portal-reference .portal-location-unit-tag {
  display:inline-flex;align-items:center;border-radius:999px;
  padding:5px 10px;font-size:11px;font-weight:600;line-height:1.3;
  color:var(--v2-muted,#5f7386);background:var(--v2-soft,#edf4fa);
}
body.portal-shell.portal-reference .portal-location-tag-active {
  color:#167453;background:#e3f7ee;
}
body.portal-shell.portal-reference .portal-location-units {
  display:grid;gap:10px;margin-top:15px;padding-top:14px;
  border-top:1px solid var(--v2-border,#dce7f1);
}
body.portal-shell.portal-reference .portal-location-unit {
  padding:13px 14px;border-radius:16px;
  border:1px solid var(--v2-border,#dce7f1);
  background:var(--v2-soft,#f3f8fc);
}
body.portal-shell.portal-reference .portal-location-unit-icon {
  background:var(--v2-card,#fff);color:var(--v2-accent,#2583c8);
}
body.portal-shell.portal-reference .portal-location-unit-title {min-width:0;}
body.portal-shell.portal-reference .portal-location-unit-title h4 {
  margin:0 0 3px;font-size:14px;font-weight:700;overflow-wrap:anywhere;
}
body.portal-shell.portal-reference .portal-location-unit-title p {
  margin:0;font-size:12px;color:var(--v2-muted,#637d93);overflow-wrap:anywhere;
}
body.portal-shell.portal-reference .portal-location-unit-tags {margin:10px 0 0 49px;}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-location-marker,
[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-location-marker {
  background:#294a64;color:#83c9f5;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-location-tag-active,
[data-bs-theme="dark"] body.portal-shell.portal-reference .portal-location-tag-active {
  background:#204a3e;color:#9de6c5;
}
@media(max-width:575px){
  body.portal-shell.portal-reference .portal-location-body {padding:14px;}
  body.portal-shell.portal-reference .portal-location-name {font-size:16px;}
  body.portal-shell.portal-reference .portal-location-unit {padding:12px;}
  body.portal-shell.portal-reference .portal-location-unit-tags {margin-left:0;}
}


/* Modern air-conditioner inventory cards: compact information hierarchy. */
body.portal-shell.portal-reference #unitsPanel .portal-ac-card {
  padding:17px;border-radius:22px;
  background:var(--v2-card,#fff);color:var(--v2-text,#203b56);
  border:1px solid var(--v2-border,#dce7f1);
  box-shadow:0 5px 20px rgba(25,63,101,.055);
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-heading {
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  margin-bottom:13px;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-identity {
  display:flex;align-items:center;gap:11px;min-width:0;flex:1;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-device-icon {
  display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;
  border-radius:13px;background:#e8f3ff;color:#2589cb;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-device-icon svg {
  width:23px;height:23px;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-title {min-width:0;}
body.portal-shell.portal-reference #unitsPanel .portal-ac-title h3 {
  margin:0 0 3px;font-size:16px;line-height:1.4;font-weight:700;overflow-wrap:anywhere;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-model {
  margin:0;font-size:12px;line-height:1.5;
  color:var(--v2-muted,#617990);overflow-wrap:anywhere;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-heading>.portal-status-chip {
  flex:none;font-size:11px;padding:5px 9px;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-meta {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 12px;margin:0;padding:12px 0;
  border-top:1px solid var(--v2-border,#dce7f1);
  border-bottom:1px solid var(--v2-border,#dce7f1);
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-meta-item {
  display:flex;align-items:flex-start;gap:7px;min-width:0;
  font-size:12px;line-height:1.5;
  color:var(--v2-muted,#617990);
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-meta-item svg {
  width:16px;height:16px;flex:none;margin-top:1px;
  color:var(--v2-accent,#2589cb);
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-meta-item span {
  min-width:0;overflow-wrap:anywhere;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-actions {
  display:flex;align-items:center;gap:9px;margin:13px 0 0;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-actions .portal-icon-edit {
  width:40px;height:40px;min-width:40px;min-height:40px;padding:9px;
  border-radius:50%;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-actions .portal-ac-action:not(.portal-icon-edit) {
  min-height:40px;padding:8px 14px;border-radius:999px;
  font-size:12px;display:inline-flex;align-items:center;gap:7px;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-maintenance {
  margin-top:13px;padding:12px 13px;
  border-radius:15px;background:var(--v2-soft,#f1f7fc);
  border:1px solid var(--v2-border,#dce7f1);
  font-size:12px;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-maintenance summary {
  font-size:13px;font-weight:650;cursor:pointer;
}
body.portal-shell.portal-reference #unitsPanel .portal-ac-maintenance p {
  font-size:12px;line-height:1.5;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #unitsPanel .portal-ac-device-icon,
[data-bs-theme="dark"] body.portal-shell.portal-reference #unitsPanel .portal-ac-device-icon {
  background:#294861;color:#8acbfa;
}
@media(max-width:575px) {
  body.portal-shell.portal-reference #unitsPanel .portal-ac-card {padding:14px;}
  body.portal-shell.portal-reference #unitsPanel .portal-ac-meta {grid-template-columns:1fr;gap:8px;}
  body.portal-shell.portal-reference #unitsPanel .portal-ac-heading>.portal-status-chip {font-size:10px;}
}


/* Modern compact notifications with readable theme contrast. */
body.portal-shell.portal-reference #notificationsContent .portal-notification-item {
  display:flex;align-items:flex-start;gap:10px;
  padding:12px;margin-bottom:9px;
  border:1px solid var(--v2-border,#dce7f1);
  border-radius:17px;background:var(--v2-card,#fff);
  color:var(--v2-text,#203b56);
  box-shadow:0 3px 12px rgba(25,60,92,.045);
  outline:none;transition:border-color .15s,background .15s;
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-item.is-unread {
  border-color:#a9d4f3;background:var(--v2-soft,#f1f8ff);
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-item:hover,
body.portal-shell.portal-reference #notificationsContent .portal-notification-item:focus-within {
  border-color:#7db9e6;outline:none;
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-symbol {
  flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;
  border-radius:12px;background:#e6f2ff;color:#2582c2;
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-symbol svg {
  width:19px;height:19px;
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-item.is-payment .portal-notification-symbol {
  background:#fbf2de;color:#a37c2d;
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-link {
  flex:1;min-width:0;display:block;color:inherit;text-decoration:none;
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-link strong {
  display:block;margin:0 0 3px;font-size:13px;font-weight:700;line-height:1.45;
  overflow-wrap:anywhere;
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-link p {
  margin:0 0 6px;font-size:12px;line-height:1.5;
  color:var(--v2-muted,#617990);overflow-wrap:anywhere;
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-link small {
  display:block;font-size:11px;line-height:1.4;
  color:var(--v2-muted,#617990);overflow-wrap:anywhere;
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-delete {
  flex:0 0 36px;width:36px;height:36px;min-width:36px;min-height:36px;
  padding:0;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--v2-border,#dce7f1);
  background:transparent;color:var(--v2-muted,#617990);
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-delete:hover {
  background:#fff0ef;color:#b04444;border-color:#e8b8b8;
}
body.portal-shell.portal-reference #notificationsContent .portal-notification-delete-all {
  width:auto!important;min-height:36px;margin:0 0 12px auto!important;
  padding:7px 12px;border-radius:999px;font-size:12px;
  background:transparent;box-shadow:none;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-item,
[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-item {
  background:#20364c;color:#e6f0f8;border-color:#3a526b;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-item.is-unread,
[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-item.is-unread {
  background:#253f59;border-color:#52799a;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-symbol,
[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-symbol {
  background:#2e4c67;color:#9bd4ff;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-item.is-payment .portal-notification-symbol,
[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-item.is-payment .portal-notification-symbol {
  background:#443c2d;color:#e9c786;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-link p,
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-link small,
[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-link p,
[data-bs-theme="dark"] body.portal-shell.portal-reference #notificationsContent .portal-notification-link small {
  color:#b8ccdf;
}
@media(max-width:575px) {
  body.portal-shell.portal-reference #notificationsContent .portal-notification-item {padding:10px;gap:9px;}
  body.portal-shell.portal-reference #notificationsContent .portal-notification-symbol {flex-basis:34px;width:34px;height:34px;}
}


/* Next booking: modern compact preview, including empty state. */
body.portal-shell.portal-reference #homePanel .booking-preview {
  display:flex;align-items:flex-start;gap:12px;
  min-height:0;padding:14px;
  border:1px solid var(--v2-border,#dce7f1);
  border-radius:18px;
  background:var(--v2-soft,#f1f7fc);
  box-shadow:none;
}
body.portal-shell.portal-reference #homePanel .booking-preview>.portal-icon {
  flex:0 0 40px;width:40px;height:40px;
  padding:10px;border-radius:13px;
  background:#e1efff;color:#2487c9;stroke-width:1.9;
}
body.portal-shell.portal-reference #homePanel .booking-preview>div {
  flex:1;min-width:0;display:flex;flex-direction:column;
  align-items:flex-start;gap:6px;
}
body.portal-shell.portal-reference #homePanel #nextBooking {
  margin:0!important;font-size:13px;line-height:1.5;
  font-weight:650;color:var(--v2-text,#203b56);
  overflow-wrap:anywhere;
}
body.portal-shell.portal-reference #homePanel #nextBookingUnits {
  margin:0!important;font-size:12px;line-height:1.45;
  color:var(--v2-muted,#607990);
}
body.portal-shell.portal-reference #homePanel #nextBookingStatus {
  margin:1px 0 0;font-size:11px;line-height:1.35;
  padding:5px 10px;border-radius:999px;
}
body.portal-shell.portal-reference #homePanel #nextBookingDetail.feature-detail {
  margin-top:3px;min-height:34px;padding:6px 12px;
  font-size:12px;border-radius:999px;gap:7px;
}
body.portal-shell.portal-reference #homePanel #nextBookingDetail.feature-detail svg {
  width:16px;height:16px;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .booking-preview,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .booking-preview {
  background:#213a52;border-color:#3a5570;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .booking-preview>.portal-icon,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .booking-preview>.portal-icon {
  background:#2d506d;color:#96d3ff;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel #nextBooking,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel #nextBooking {
  color:#ecf4fc;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel #nextBookingUnits,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel #nextBookingUnits {
  color:#b7cddd;
}
@media(max-width:575px){
  body.portal-shell.portal-reference #homePanel .booking-preview {padding:12px;gap:10px;}
  body.portal-shell.portal-reference #homePanel .booking-preview>.portal-icon {
    width:38px;height:38px;flex-basis:38px;padding:9px;
  }
}


/* Next booking v3: clean hierarchy, minimal visual noise and aligned actions. */
body.portal-shell.portal-reference #homePanel .booking-preview-v3 {
  display:flex;align-items:flex-start;gap:12px;padding:14px;
  background:var(--v2-card,#fff);border:1px solid var(--v2-border,#dfe8f1);
  border-radius:17px;box-shadow:none;min-height:0;
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 .booking-preview-icon {
  flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;
  border-radius:13px;background:var(--v2-soft,#eaf4ff);color:var(--v2-accent,#2285c8);
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 .booking-preview-icon svg {width:21px;height:21px;}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 .booking-preview-content {
  flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:8px;
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 .booking-preview-summary {
  display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap;
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 #nextBooking {
  flex:1;min-width:170px;margin:0!important;font-size:13px;line-height:1.5;
  font-weight:650;color:var(--v2-text,#203b56);
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 #nextBookingUnits {
  margin:0!important;font-size:12px;line-height:1.5;color:var(--v2-muted,#657b91);
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 #nextBookingStatus {
  flex:0 0 auto;margin:0;border-radius:999px;font-size:11px;padding:5px 9px;
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 #nextBookingDetail {
  align-self:flex-start;display:inline-flex;align-items:center;gap:6px;
  min-height:34px;margin:3px 0 0;padding:6px 11px;
  border-radius:999px;font-size:12px;line-height:1.4;
  background:var(--v2-soft,#eaf4ff);color:var(--v2-accent,#2285c8);
  text-decoration:none;border:0;box-shadow:none;
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 #nextBookingDetail.d-none {display:none!important;}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 #nextBookingDetail svg {width:16px;height:16px;flex:none;}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 #nextBookingDetail .booking-preview-arrow {margin-left:3px;width:14px;height:14px;}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .booking-preview-v3,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .booking-preview-v3 {
  background:#20354b;border-color:#39516a;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .booking-preview-v3 #nextBooking,
[data-bs-theme="dark"] body.portal-shell.portal-reference #homePanel .booking-preview-v3 #nextBooking {color:#edf5fd;}
@media(max-width:575px) {
 body.portal-shell.portal-reference #homePanel .booking-preview-v3 {padding:12px;gap:10px;}
 body.portal-shell.portal-reference #homePanel .booking-preview-v3 .booking-preview-icon {width:36px;height:36px;flex-basis:36px;}
 body.portal-shell.portal-reference #homePanel .booking-preview-v3 #nextBooking {min-width:0;}
}


/* Icon-labelled upcoming booking facts, matching service booking cards. */
body.portal-shell.portal-reference #homePanel .booking-preview-v3 .booking-preview-facts {
  display:flex;flex-direction:column;gap:6px;
  font-size:12px;line-height:1.5;font-weight:500;
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 .booking-preview-fact {
  display:flex;align-items:flex-start;gap:8px;min-width:0;
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 .booking-preview-fact-icon {
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 16px;width:16px;height:18px;margin-top:1px;
  color:var(--v2-accent,#2589cb);
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 .booking-preview-fact-icon svg {
  width:16px;height:16px;
}
body.portal-shell.portal-reference #homePanel .booking-preview-v3 .booking-preview-fact>span:last-child {
  min-width:0;overflow-wrap:anywhere;
}


/* Deep Black Dark Mode — shared V2 surfaces, no light-theme changes. */
:root[data-bs-theme="dark"] body:is(.portal-shell,.airvaree-v2-page,.airvaree-v2-dashboard){
  background-color:#000!important;color:var(--v2-text,#f5f7fa);
  --portal-v2-page:#000;--portal-v2-paper:#16181d;
}
:root[data-bs-theme="dark"] body:is(.portal-shell,.airvaree-v2-page,.airvaree-v2-dashboard) :is(.card,.app-card,.home-card,.portal-panel,.portal-auth-card,.dropdown-menu,.list-group-item){
  background-color:var(--v2-card,#16181d);border-color:var(--v2-border,#343942);color:var(--v2-text,#f5f7fa);
}
:root[data-bs-theme="dark"] body:is(.portal-shell,.airvaree-v2-page,.airvaree-v2-dashboard) :is(.modal-content,.portal-job-dialog-shell,.portal-dialog,.offcanvas){
  background-color:var(--airvaree-modal-surface,#1c1f26);border-color:var(--v2-border,#343942);color:var(--v2-text,#f5f7fa);
}
:root[data-bs-theme="dark"] body.portal-shell .portal-nav{
  background:#101114!important;border-color:#30343b!important;box-shadow:0 -5px 20px rgba(0,0,0,.28)!important;
}
:root[data-bs-theme="dark"] body.portal-shell .portal-nav a{color:#aebbc9!important}
:root[data-bs-theme="dark"] body.portal-shell .portal-nav a[aria-current="page"]{
  background:#252a32!important;color:#71bdff!important;
}
:root[data-bs-theme="dark"] body.portal-shell .portal-nav a[aria-current="page"] :is(svg,.portal-icon){color:#38a9ff}
:root[data-bs-theme="dark"] body.portal-shell :is(.portal-topbar,.portal-filter-panel,.portal-filter-card){background-color:#16181d;border-color:#343942}
:root[data-bs-theme="dark"] body.portal-shell :is(.form-control,.form-select,.input-group-text){background-color:#1c1f26;color:#f5f7fa;border-color:#343942}
:root[data-bs-theme="dark"] body.portal-shell :is(.portal-see-all,.feature-detail,.portal-icon-edit){background-color:#252a32;color:#9bd0ff}


/* Deep Black account/profile: remove legacy blue panels and decorative blobs. */
:root[data-bs-theme="dark"] body.portal-reference #accountPanel > article.card,
:root[data-bs-theme="dark"] body.portal-reference #accountPanel > article.card:nth-of-type(1),
:root[data-bs-theme="dark"] body.portal-reference #accountPanel > article.card:nth-of-type(2),
:root[data-bs-theme="dark"] body.portal-reference #customerCard,
:root[data-bs-theme="dark"] body.portal-reference #locationsList > .card,
:root[data-bs-theme="dark"] body.portal-reference #locationsList > article,
:root[data-bs-theme="dark"] body.portal-reference #locationsList > .location-card{
 background:#16181d!important;color:#f5f7fa!important;border:1px solid #343942!important;
 box-shadow:none!important;
}
:root[data-bs-theme="dark"] body.portal-reference #accountPanel > article.card::before,
:root[data-bs-theme="dark"] body.portal-reference #accountPanel > article.card::after,
:root[data-bs-theme="dark"] body.portal-reference #customerCard::before,
:root[data-bs-theme="dark"] body.portal-reference #customerCard::after{background:none!important;opacity:0!important}
:root[data-bs-theme="dark"] body.portal-reference #locationsList .unit-row,
:root[data-bs-theme="dark"] body.portal-reference #locationsList .portal-ac-card,
:root[data-bs-theme="dark"] body.portal-reference #maintenanceUnits .unit-row{
 background:#252a32!important;color:#f5f7fa!important;border-color:#343942!important;box-shadow:none!important;
}
:root[data-bs-theme="dark"] body.portal-reference #accountPanel :is(dt,.text-secondary,.text-muted),
:root[data-bs-theme="dark"] body.portal-reference #locationsList :is(.text-secondary,.text-muted,.portal-ac-model,.portal-ac-meta-item){color:#b8c4d3!important}
:root[data-bs-theme="dark"] body.portal-reference #accountPanel :is(dd,h2,h3,.card-title),
:root[data-bs-theme="dark"] body.portal-reference #locationsList :is(h2,h3,.unit-row h3){color:#f5f7fa!important}
:root[data-bs-theme="dark"] body.portal-reference #accountPanel :is(.list-group-item,.portal-account-method,.portal-auth-method),
:root[data-bs-theme="dark"] body.portal-reference #locationsList :is(.list-group-item,.portal-ac-meta){
 background:#1c1f26!important;color:#f5f7fa!important;border-color:#343942!important;
}
:root[data-bs-theme="dark"] body.portal-reference #accountPanel .portal-panel-heading,
:root[data-bs-theme="dark"] body.portal-reference #locationsCard > .portal-panel-heading{
 background:linear-gradient(115deg,#153e61,#226b94)!important;color:#fff!important;box-shadow:none!important;
}
:root[data-bs-theme="dark"] body.portal-reference #accountPanel .portal-panel-heading h2,
:root[data-bs-theme="dark"] body.portal-reference #locationsCard > .portal-panel-heading h2{color:#fff!important}


/* Customer AC page: keep add button consistent with Deep Black secondary actions. */
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #unitsPanel #addAcUnit{
 background:#252a32!important;color:#71bdff!important;
 border:1px solid #343942!important;box-shadow:none!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #unitsPanel #addAcUnit .portal-icon{
 color:#71bdff!important;stroke:currentColor!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #unitsPanel #addAcUnit:hover{
 background:#303741!important;border-color:#4b6b86!important;color:#a0d5ff!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #unitsPanel #addAcUnit:focus-visible{
 outline:2px solid #71bdff;outline-offset:3px;
}


/* AC header actions: add and refresh must share the same dark treatment. */
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #unitsPanel :is(#addAcUnit,#refreshMaintenance){
 background:#252a32!important;color:#71bdff!important;
 border:1px solid #343942!important;box-shadow:none!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #unitsPanel :is(#addAcUnit,#refreshMaintenance) :is(svg,.portal-icon){
 color:#71bdff!important;stroke:currentColor!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #unitsPanel :is(#addAcUnit,#refreshMaintenance):hover{
 background:#303741!important;border-color:#4b6b86!important;color:#a0d5ff!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #unitsPanel :is(#addAcUnit,#refreshMaintenance):focus-visible{
 outline:2px solid #71bdff;outline-offset:3px;
}


/* Account settings: compact, readable login methods, mobile-first. */
body.portal-shell.portal-reference #accountPanel #loginMethods{
 display:grid;gap:10px;margin-top:15px;padding:0;background:transparent!important;
}
body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-row{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 min-width:0;margin:0;padding:13px 14px!important;border:1px solid #dce8f2!important;
 border-radius:16px!important;background:#f5f9fd!important;box-shadow:none!important;
}
body.portal-shell.portal-reference #accountPanel .portal-login-method-name{
 flex:0 0 auto;font-size:14px;font-weight:700;line-height:1.4;
}
body.portal-shell.portal-reference #accountPanel .portal-login-method-actions{
 display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex:1;
}
body.portal-shell.portal-reference #accountPanel .portal-login-method-identifier{
 min-width:0;overflow-wrap:anywhere;text-align:right;font-size:13px;line-height:1.4;
}
body.portal-shell.portal-reference #accountPanel #loginMethods .login-method-edit{
 display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;
 width:44px;height:44px;padding:10px;border-radius:14px!important;
 background:#e5f2fc!important;border:1px solid #d0e5f5!important;color:#167ab7!important;
 box-shadow:none!important;
}
body.portal-shell.portal-reference #accountPanel #loginMethods .login-method-edit .portal-icon{width:20px;height:20px}
body.portal-shell.portal-reference #accountPanel #loginMethods .login-method-edit:focus-visible{
 outline:2px solid #168fe2;outline-offset:2px;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-row{
 background:#1c1f26!important;border-color:#343942!important;color:#f5f7fa!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-identifier{color:#b8c4d3!important}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel #loginMethods .login-method-edit{
 background:#252a32!important;border-color:#343942!important;color:#71bdff!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel #loginMethods .login-method-edit:hover{
 background:#303741!important;border-color:#4b6b86!important;
}
@media(max-width:390px){
 body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-row{padding:11px!important;gap:8px}
 body.portal-shell.portal-reference #accountPanel .portal-login-method-actions{gap:7px}
 body.portal-shell.portal-reference #accountPanel .portal-login-method-name{font-size:13px}
 body.portal-shell.portal-reference #accountPanel .portal-login-method-identifier{font-size:12px}
}


/* Customer portal profile — unified account, locations, AC inventory and dialogs.
   UI-only; preserve permission-driven controls and existing event handlers. */
body.portal-shell.portal-reference #accountPanel,
body.portal-shell.portal-reference #unitsPanel{--profile-radius:22px;--profile-control:44px}
body.portal-shell.portal-reference #accountPanel > article.card,
body.portal-shell.portal-reference #customerCard,
body.portal-shell.portal-reference #locationsList > :is(article,.card,.location-card){
 border-radius:var(--profile-radius)!important;overflow:hidden;
}
body.portal-shell.portal-reference #accountPanel > article.card{
 border:1px solid #dce7f1!important;background:#fff!important;
 box-shadow:0 5px 18px rgba(39,98,145,.06)!important;
}
body.portal-shell.portal-reference #accountPanel > article.card::after{display:none!important}
body.portal-shell.portal-reference #accountPanel > article.card .card-body{padding:20px!important}
body.portal-shell.portal-reference #accountPanel > article.card h2{
 margin:0 0 16px;font-size:16px!important;line-height:1.5;letter-spacing:0;
 color:#244b6d;
}
body.portal-shell.portal-reference #accountPanel > article.card h2::before{
 width:11px;height:11px;border-radius:4px;box-shadow:0 0 0 5px #e6f4ff;
}
body.portal-shell.portal-reference #accountPanel #displayName{
 font-size:18px!important;line-height:1.5;overflow-wrap:anywhere;
}
body.portal-shell.portal-reference #accountPanel dl{
 margin:0;row-gap:0;
}
body.portal-shell.portal-reference #accountPanel dl dt,
body.portal-shell.portal-reference #accountPanel dl dd{
 padding-top:10px;padding-bottom:10px;font-size:14px!important;line-height:1.5;
}
body.portal-shell.portal-reference #accountPanel dl dd{
 text-align:right;overflow-wrap:anywhere;word-break:normal;
}
body.portal-shell.portal-reference #accountPanel #loginMethods{
 margin:0;gap:9px;
}
body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-row{
 min-height:64px;padding:12px 13px!important;
}
body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-name{
 font-size:14px;flex:0 0 auto;
}
body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-identifier{
 font-size:13px;max-width:100%;overflow-wrap:anywhere;
}
body.portal-shell.portal-reference #accountPanel #loginMethods .login-method-edit,
body.portal-shell.portal-reference #accountPanel #editProfile{
 min-width:44px;min-height:44px;width:44px;height:44px;flex:0 0 44px;
 display:inline-flex;align-items:center;justify-content:center;
 border-radius:14px!important;padding:10px!important;
 background:#eaf3fb!important;color:#1979b7!important;
 border:1px solid #d4e5f2!important;box-shadow:none!important;
}
body.portal-shell.portal-reference #accountPanel #loginMethods .login-method-edit .portal-icon,
body.portal-shell.portal-reference #accountPanel #editProfile .portal-icon{width:20px;height:20px}
body.portal-shell.portal-reference #accountPanel #loginMethods .login-method-edit:hover,
body.portal-shell.portal-reference #accountPanel #editProfile:hover{
 background:#d8ebfa!important;color:#0b639d!important;
}
body.portal-shell.portal-reference #accountPanel #loginMethods .login-method-edit:focus-visible,
body.portal-shell.portal-reference #accountPanel #editProfile:focus-visible{
 outline:2px solid #168fe2;outline-offset:3px;
}
body.portal-shell.portal-reference #accountPanel > .portal-panel-heading,
body.portal-shell.portal-reference #unitsPanel > .portal-panel-heading,
body.portal-shell.portal-reference #locationsCard > .portal-panel-heading{
 align-items:center!important;min-height:94px;
 padding:20px!important;border-radius:23px;
}
body.portal-shell.portal-reference :is(#accountPanel,#unitsPanel,#locationsCard) > .portal-panel-heading h2{
 margin:0;font-size:clamp(21px,4.5vw,26px)!important;line-height:1.3;
}
body.portal-shell.portal-reference #accountPanel #logout{
 min-height:44px;padding:9px 15px;border-radius:999px;
 background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.8);color:#226b94;
 font-size:13px;font-weight:650;white-space:nowrap;
}
body.portal-shell.portal-reference #accountPanel #customerCard dl dt,
body.portal-shell.portal-reference #accountPanel #customerCard dl dd{min-width:0}
body.portal-shell.portal-reference :is(#accountPanel,#unitsPanel) .modal-content,
body.portal-shell.portal-reference :is(#profileModal,#phoneChangeModal,#emailChangeModal,#locationModal,#acModal) .modal-content{
 border-radius:22px;overflow:hidden;border:1px solid #dce7f1;
}
body.portal-shell.portal-reference :is(#profileModal,#phoneChangeModal,#emailChangeModal,#locationModal,#acModal) .modal-header,
body.portal-shell.portal-reference :is(#profileModal,#phoneChangeModal,#emailChangeModal,#locationModal,#acModal) .modal-footer{
 padding:16px 20px;
}
body.portal-shell.portal-reference :is(#profileModal,#phoneChangeModal,#emailChangeModal,#locationModal,#acModal) .modal-body{padding:20px}
body.portal-shell.portal-reference :is(#profileModal,#phoneChangeModal,#emailChangeModal,#locationModal,#acModal) :is(.form-control,.form-select){
 min-height:46px;border-radius:13px;
}
body.portal-shell.portal-reference :is(#profileModal,#phoneChangeModal,#emailChangeModal,#locationModal,#acModal) .modal-footer .btn{
 min-height:44px;border-radius:999px;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel > article.card,
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #customerCard{
 background:#16181d!important;border-color:#343942!important;box-shadow:none!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel > article.card h2{color:#f5f7fa!important}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel > article.card h2::before{
 box-shadow:0 0 0 5px #24394a!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-row{
 background:#1c1f26!important;border-color:#343942!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel :is(.login-method-edit,#editProfile){
 background:#252a32!important;border-color:#343942!important;color:#71bdff!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel :is(.login-method-edit,#editProfile):hover{
 background:#303741!important;border-color:#4b6b86!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #accountPanel #logout{
 background:#252a32;border-color:#343942;color:#d4eaff;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference :is(#profileModal,#phoneChangeModal,#emailChangeModal,#locationModal,#acModal) .modal-content{
 background:#1c1f26;border-color:#343942;color:#f5f7fa;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference :is(#profileModal,#phoneChangeModal,#emailChangeModal,#locationModal,#acModal) :is(.modal-header,.modal-footer){
 background:#252a32;border-color:#343942;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference :is(#profileModal,#phoneChangeModal,#emailChangeModal,#locationModal,#acModal) :is(.form-control,.form-select){
 background:#16181d;border-color:#343942;color:#f5f7fa;
}
@media(max-width:575px){
 body.portal-shell.portal-reference #accountPanel > article.card .card-body{padding:17px!important}
 body.portal-shell.portal-reference #accountPanel > :is(.portal-panel-heading){padding:17px!important}
 body.portal-shell.portal-reference #accountPanel dl dt,
 body.portal-shell.portal-reference #accountPanel dl dd{font-size:13px!important}
 body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-row{padding:11px 12px!important}
 body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-name{font-size:13px}
 body.portal-shell.portal-reference #accountPanel #loginMethods .portal-login-method-identifier{font-size:12px}
 body.portal-shell.portal-reference :is(#profileModal,#phoneChangeModal,#emailChangeModal,#locationModal,#acModal) .modal-dialog{
 margin:12px;max-width:calc(100% - 24px);
 }
}


/* Account location header action: same icon-button treatment as AC header. */
body.portal-shell.portal-reference #locationsCard > .portal-panel-heading #addLocation{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 flex:0 0 52px;width:52px;height:52px;min-width:52px;min-height:52px;
 padding:12px!important;border-radius:50%!important;
 background:#fff!important;border:1px solid rgba(255,255,255,.9)!important;
 color:#1477b1!important;box-shadow:0 5px 13px rgba(13,89,143,.12)!important;
}
body.portal-shell.portal-reference #locationsCard > .portal-panel-heading #addLocation .portal-icon{
 width:25px;height:25px;stroke:currentColor!important;
}
body.portal-shell.portal-reference #locationsCard > .portal-panel-heading #addLocation:hover{
 background:#eaf6ff!important;color:#075e95!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #locationsCard > .portal-panel-heading #addLocation{
 background:#252a32!important;color:#71bdff!important;
 border:1px solid #343942!important;box-shadow:none!important;
}
:root[data-bs-theme="dark"] body.portal-shell.portal-reference #locationsCard > .portal-panel-heading #addLocation:hover{
 background:#303741!important;border-color:#4b6b86!important;color:#a0d5ff!important;
}
body.portal-shell.portal-reference #locationsCard > .portal-panel-heading #addLocation:focus-visible{
 outline:2px solid #71bdff;outline-offset:3px;
}
@media(max-width:575px){
 body.portal-shell.portal-reference #locationsCard > .portal-panel-heading{gap:12px!important}
 body.portal-shell.portal-reference #locationsCard > .portal-panel-heading h2{min-width:0}
}

/* Consistent compact, scrollable menus across the Admin workspace. */
body.airvaree-v2-dashboard #contentArea .v2-job-status-options{
 width:min(270px,calc(100vw - 40px));max-height:min(42vh,320px);overscroll-behavior:contain;
 padding:5px;gap:2px;border-radius:14px;
}
body.airvaree-v2-dashboard #contentArea .v2-job-status-options button{
 display:flex;align-items:center;justify-content:space-between;min-height:40px;
 padding:9px 12px;font-size:.86rem;line-height:1.3;
}
body.airvaree-v2-dashboard #contentArea .v2-job-status-options button[aria-pressed="true"]::after{
 content:"✓";font-weight:700;margin-left:12px;
}
@media(max-width:767px){
 body.airvaree-v2-dashboard #contentArea .v2-job-status-options{
  right:0;max-height:min(40vh,300px);
 }
}

/* Search field for long admin dropdowns; keep it visible while scrolling options. */
body.airvaree-v2-dashboard #contentArea .v2-dropdown-search{position:sticky;top:-5px;z-index:2;display:flex;align-items:center;gap:9px;padding:7px 10px;margin-bottom:4px;background:var(--v2-card);border:1px solid var(--v2-border);border-radius:10px;color:var(--v2-muted)}
body.airvaree-v2-dashboard #contentArea .v2-dropdown-search input{width:100%;min-width:0;border:0;outline:none;background:transparent;color:var(--v2-text);font:inherit;font-size:.86rem}
body.airvaree-v2-dashboard #contentArea .v2-dropdown-search input::placeholder{color:var(--v2-muted)}
body.airvaree-v2-dashboard #contentArea .v2-dropdown-no-results{padding:12px;text-align:center;color:var(--v2-muted);font-size:.83rem}
body.airvaree-v2-dashboard #contentArea .v2-dropdown-no-results[hidden],
body.airvaree-v2-dashboard #contentArea .v2-job-status-options button[hidden]{display:none!important}

/* Admin V2 unified inputs and searchable dropdowns */
body.airvaree-v2-dashboard .v2-select-widget{position:relative;min-width:0;width:100%;isolation:isolate}
body.airvaree-v2-dashboard .v2-select-widget:has(.v2-select-popup:not([hidden])){z-index:1100}
body.airvaree-v2-dashboard .v2-select-widget .v2-native-select{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;min-height:0!important;overflow:hidden!important}
body.airvaree-v2-dashboard .v2-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--v2-border);border-radius:14px;background:var(--v2-card);color:var(--v2-text);text-align:left;font:inherit;line-height:1.4;cursor:pointer}
body.airvaree-v2-dashboard .v2-select-trigger .v2-select-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.airvaree-v2-dashboard .v2-select-trigger i{flex:none;color:var(--v2-muted);font-size:14px}
body.airvaree-v2-dashboard .v2-select-trigger:focus-visible{outline:2px solid #49b7ff;outline-offset:2px}
body.airvaree-v2-dashboard .v2-select-trigger:disabled{opacity:.5;cursor:not-allowed}
body.airvaree-v2-dashboard .v2-select-popup{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:min(260px,85vw);max-width:min(380px,calc(100vw - 32px));z-index:1200;padding:7px;border:1px solid var(--v2-border);border-radius:16px;background:var(--v2-card);box-shadow:var(--v2-shadow);color:var(--v2-text)}
body.airvaree-v2-dashboard .v2-select-popup[hidden],body.airvaree-v2-dashboard .v2-select-search[hidden],body.airvaree-v2-dashboard .v2-select-option[hidden],body.airvaree-v2-dashboard .v2-select-empty[hidden]{display:none!important}
body.airvaree-v2-dashboard .v2-select-search{display:flex;align-items:center;gap:9px;margin-bottom:5px;padding:9px 10px;border:1px solid var(--v2-border);border-radius:11px;background:var(--v2-page);color:var(--v2-accent)}
body.airvaree-v2-dashboard .v2-select-search input{width:100%;min-width:0;outline:0;border:0;background:transparent;color:var(--v2-text);font:inherit;font-size:.9rem}
body.airvaree-v2-dashboard .v2-select-search input::placeholder{color:var(--v2-muted)}
body.airvaree-v2-dashboard .v2-select-options{max-height:min(40vh,300px);overflow-y:auto;overscroll-behavior:contain}
body.airvaree-v2-dashboard .v2-select-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:43px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:inherit;text-align:left;font:inherit;font-size:.9rem;cursor:pointer}
body.airvaree-v2-dashboard .v2-select-option[aria-selected=true]{background:var(--v2-soft);color:var(--v2-accent)}
body.airvaree-v2-dashboard .v2-select-option i{flex:none;color:var(--v2-accent)}
body.airvaree-v2-dashboard .v2-select-option:hover,body.airvaree-v2-dashboard .v2-select-option:focus-visible{background:var(--v2-soft);outline:2px solid var(--v2-accent);outline-offset:-2px}
body.airvaree-v2-dashboard .v2-select-option:disabled{opacity:.45;cursor:not-allowed}
body.airvaree-v2-dashboard .v2-select-empty{padding:14px;text-align:center;color:var(--v2-muted);font-size:.85rem}
body.airvaree-v2-dashboard #contentArea .form-control,
body.airvaree-v2-dashboard #contentArea textarea,
body.airvaree-v2-dashboard #contentArea input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=search]){border-radius:13px;min-height:44px}
body.airvaree-v2-dashboard #contentArea .modal-content{border-radius:22px;overflow:visible}
body.airvaree-v2-dashboard #contentArea .modal-header{border-radius:22px 22px 0 0}
body.airvaree-v2-dashboard #contentArea .modal-footer{border-radius:0 0 22px 22px}
body.airvaree-v2-dashboard #contentArea .v2-collapsible-section>summary{cursor:pointer}
:root[data-bs-theme=light] body.airvaree-v2-dashboard .v2-select-trigger{background:#f6faff;color:#23445e;border-color:#c9dbe8}
:root[data-bs-theme=light] body.airvaree-v2-dashboard .v2-select-popup{background:#fff;color:#23445e;border-color:#c8dce9;box-shadow:0 14px 34px #14364a33}
:root[data-bs-theme=light] body.airvaree-v2-dashboard .v2-select-search{background:#f4f9ff;border-color:#c8dce9}
:root[data-bs-theme=light] body.airvaree-v2-dashboard .v2-select-search input{color:#24465f}
:root[data-bs-theme=light] body.airvaree-v2-dashboard .v2-select-option[aria-selected=true]{background:#e2f2ff;color:#166a9f}
:root[data-bs-theme=light] body.airvaree-v2-dashboard .v2-select-option:hover{background:#edf6ff}


/* Organization workspace — clear hierarchy and comfortable mobile spacing.
   Only affects region, district and branch rows; no API or action changes. */
body.airvaree-v2-dashboard #contentArea #organizationRows {
  row-gap: 13px !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows > h3 {
  margin: 18px 1px 1px !important;
  padding: 0 2px !important;
  color: var(--v2-text);
  font-size: .94rem;
  font-weight: 750;
  line-height: 1.5;
}
body.airvaree-v2-dashboard #contentArea #organizationRows > h3:first-child {
  margin-top: 2px !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows > article.v2-org-card {
  --org-card-accent: #4a96d5;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  padding: 18px 19px !important;
  border: 1px solid var(--v2-border) !important;
  border-left: 3px solid var(--org-card-accent) !important;
  border-radius: 19px !important;
  background: var(--v2-card) !important;
  box-shadow: none !important;
  overflow-wrap: anywhere;
}
body.airvaree-v2-dashboard #contentArea #organizationRows > article.v2-org-card--district {
  --org-card-accent: #27aab2;
}
body.airvaree-v2-dashboard #contentArea #organizationRows > article.v2-org-card--branch {
  --org-card-accent: #24a77f;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 9px 14px;
  min-height: 29px;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-top .badge {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 11px;
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-code {
  max-width: 100%;
  color: var(--v2-muted);
  font-size: .77rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .015em;
  text-align: right;
  overflow-wrap: anywhere;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-name {
  margin: 13px 0 0;
  color: var(--v2-text);
  font-size: 1.06rem;
  font-weight: 700;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-subtitle {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin-top: 8px;
  color: var(--v2-muted);
  font-size: .8rem;
  line-height: 1.5;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-subtitle i {
  flex: none;
  color: var(--org-card-accent);
  font-size: .86rem;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 14px;
  width: 100%;
  margin-top: 15px;
  padding-top: 13px;
  border-top: 1px solid var(--v2-border);
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-action-menu > summary,
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-org-meta > summary {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid var(--v2-border);
  border-radius: 12px;
  background: transparent;
  color: var(--v2-accent);
  font-size: .79rem;
  line-height: 1.4;
  text-decoration: none;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer details[open] > summary {
  background: var(--v2-soft);
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-action-menu-items {
  margin-top: 10px;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-org-meta {
  min-width: 0;
  flex: 0 1 auto;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-org-meta > div {
  margin-top: 8px;
  line-height: 1.65;
}
@media(max-width: 680px) {
  body.airvaree-v2-dashboard #contentArea #organizationRows > article.v2-org-card {
    padding: 17px 17px !important;
    border-radius: 17px !important;
  }
  body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-code {
    font-size: .72rem;
  }
  body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer {
    gap: 9px 12px;
  }
}


/* Air Varee organization screen — balanced spacing and readable hierarchy. */
body.airvaree-v2-dashboard #contentArea #organizationRows {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px 14px !important;
  min-width: 0;
}
/* The section headings must not inherit the generic card surface rule. */
body.airvaree-v2-dashboard #contentArea #organizationRows > h3 {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 40px;
  margin: 13px 0 0 !important;
  padding: 2px 3px 7px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v2-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--v2-text) !important;
  font-size: 1rem !important;
  font-weight: 750 !important;
  line-height: 1.45;
}
body.airvaree-v2-dashboard #contentArea #organizationRows > h3:first-child {
  margin-top: 0 !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows > h3::before {
  content: "";
  flex: 0 0 auto;
  width: 4px;
  height: 20px;
  margin-right: 10px;
  border-radius: 3px;
  background: var(--v2-accent, #348fd3);
}
body.airvaree-v2-dashboard #contentArea #organizationRows > article.v2-org-card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  gap: 0;
  padding: 15px 16px !important;
  border-left-width: 3px !important;
  border-radius: 17px !important;
  min-height: 0;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-top {
  min-height: 25px;
  gap: 8px 12px;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-top .badge {
  min-height: 24px;
  padding: 4px 10px;
  line-height: 1.3;
  font-size: .7rem;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-code {
  font-size: .74rem;
  line-height: 1.4;
  text-align: right;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-name {
  margin: 9px 0 0 !important;
  font-size: 1.035rem;
  line-height: 1.45;
  font-weight: 700;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-subtitle {
  margin-top: 5px;
  font-size: .78rem;
  line-height: 1.45;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--v2-border);
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-action-menu > summary,
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-org-meta > summary {
  display: inline-flex;
  min-height: 39px;
  padding: 7px 12px;
  justify-content: center;
  font-size: .79rem;
  line-height: 1.4;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card--branch .v2-org-card-footer > details {
  flex: 1 1 calc(50% - 5px);
  min-width: 0;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card--branch .v2-org-card-footer > details > summary {
  width: 100%;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-action-menu-items {
  margin-top: 9px;
  max-width: 100%;
}
body.airvaree-v2-dashboard #contentArea #organizationRows > .text-center,
body.airvaree-v2-dashboard #contentArea #organizationRows > div:not(.v2-org-card) {
  grid-column: 1 / -1;
}
@media (max-width: 760px) {
  body.airvaree-v2-dashboard #contentArea #organizationRows {
    grid-template-columns: minmax(0, 1fr);
    gap: 11px !important;
  }
  body.airvaree-v2-dashboard #contentArea #organizationRows > h3 {
    min-height: 38px;
    margin: 12px 0 0 !important;
    font-size: .95rem !important;
  }
  body.airvaree-v2-dashboard #contentArea #organizationRows > article.v2-org-card {
    padding: 14px 15px !important;
  }
}
@media (max-width: 380px) {
  body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card--branch .v2-org-card-footer > details {
    flex-basis: 100%;
  }
}


/* Minimal organization card actions: one subtle details disclosure + icon-only manage menu. */
body.airvaree-v2-dashboard #contentArea #organizationRows > article.v2-org-card:has(.v2-org-actions[open]) {
  position: relative;
  z-index: 25;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  min-height: 53px;
  margin-top: 12px !important;
  padding-top: 10px !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-org-actions {
  position: absolute;
  top: 10px;
  right: 0;
  z-index: 4;
  width: 42px;
  min-width: 42px;
  height: 42px;
  flex: none !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-org-actions[open] {
  z-index: 28;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-org-actions > summary {
  display: grid !important;
  place-items: center;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--v2-border) !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--v2-muted) !important;
  box-shadow: none !important;
  font-size: 1.15rem !important;
  line-height: 1 !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions > summary:hover,
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions[open] > summary {
  background: var(--v2-soft) !important;
  color: var(--v2-accent) !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions > summary .visually-hidden {
  position: absolute !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions .v2-action-menu-items {
  position: absolute !important;
  top: auto !important;
  bottom: calc(100% + 9px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 50 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px !important;
  width: 178px !important;
  max-width: min(240px, calc(100vw - 64px)) !important;
  margin: 0 !important;
  padding: 5px !important;
  border: 1px solid var(--v2-border);
  border-radius: 13px !important;
  background: var(--v2-card) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .26) !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions .v2-action-menu-items .btn {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  width: 100% !important;
  min-width: 0;
  min-height: 42px !important;
  padding: 9px 11px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: var(--v2-text) !important;
  box-shadow: none !important;
  font-size: .83rem !important;
  font-weight: 550 !important;
  text-align: left;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions .v2-action-menu-items .btn i {
  font-size: .95rem;
  color: var(--v2-accent);
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions .v2-action-menu-items .btn:hover,
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions .v2-action-menu-items .btn:focus-visible {
  background: var(--v2-soft) !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions .v2-action-menu-items .btn-outline-danger,
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions .v2-action-menu-items .btn-outline-warning {
  color: #df646b !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions .v2-action-menu-items .btn-outline-danger i,
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-actions .v2-action-menu-items .btn-outline-warning i {
  color: #df646b;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-org-meta {
  display: block !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  flex: none !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-card-footer .v2-org-meta > summary {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start !important;
  width: auto !important;
  max-width: calc(100% - 55px);
  min-height: 42px !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 5px 4px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--v2-muted) !important;
  font-size: .81rem !important;
  font-weight: 550 !important;
  line-height: 1.4 !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-meta > summary i {
  font-size: .95rem;
  color: var(--v2-accent);
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-meta > summary::after {
  width: 6px;
  height: 6px;
  margin-left: 5px !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-meta > summary:hover,
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-meta[open] > summary {
  color: var(--v2-accent) !important;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-meta-content {
  display: grid;
  gap: 9px;
  margin-top: 6px;
  padding: 13px 3px 3px;
  border-top: 1px dashed var(--v2-border);
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-meta-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5px 12px;
  min-width: 0;
  font-size: .79rem;
  line-height: 1.5;
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-meta-row > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--v2-muted);
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-meta-row > span i {
  color: var(--v2-accent);
}
body.airvaree-v2-dashboard #contentArea #organizationRows .v2-org-meta-row > strong {
  color: var(--v2-text);
  font-weight: 650;
  overflow-wrap: anywhere;
  text-align: right;
}


/* AC master data — minimal, consistent management actions (Admin V2). */
body.airvaree-v2-dashboard #contentArea #acMasterDataRows {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-items: stretch;
  gap: 12px 14px !important;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows > article.v2-ac-master-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 15px 16px 11px !important;
  border: 1px solid var(--v2-border) !important;
  border-radius: 17px !important;
  background: var(--v2-card) !important;
  color: var(--v2-text);
  box-shadow: none !important;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows > article.v2-ac-master-card:has(.v2-ac-master-actions[open]) {
  z-index: 20;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-title {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--v2-text);
  font-size: 1.01rem;
  font-weight: 680;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-head .badge {
  flex: none;
  max-width: 46%;
  margin: 0;
  padding: 5px 10px;
  font-size: .7rem;
  font-weight: 650;
  line-height: 1.25;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-subtitle {
  margin: 5px 0 0;
  color: var(--v2-muted);
  font-size: .8rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-footer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 49px;
  margin-top: auto;
  padding-top: 10px;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-meta {
  min-width: 0;
  color: var(--v2-muted);
  font-size: .73rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions {
  position: relative;
  flex: none;
  width: 42px;
  height: 42px;
  margin: 0 !important;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions > summary {
  display: grid !important;
  place-items: center;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 1px solid var(--v2-border) !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--v2-muted) !important;
  font-size: 1.12rem !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions > summary:hover,
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions[open] > summary {
  background: var(--v2-soft) !important;
  color: var(--v2-accent) !important;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions .v2-action-menu-items {
  position: absolute !important;
  right: 0 !important;
  bottom: calc(100% + 8px) !important;
  top: auto !important;
  left: auto !important;
  z-index: 30;
  display: grid !important;
  grid-template-columns: minmax(0,1fr);
  gap: 3px !important;
  width: 176px;
  max-width: min(230px,calc(100vw - 56px)) !important;
  margin: 0 !important;
  padding: 5px !important;
  border: 1px solid var(--v2-border) !important;
  border-radius: 13px !important;
  background: var(--v2-card) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.28) !important;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions .v2-action-menu-items .btn {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  min-height: 42px !important;
  padding: 9px 11px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: var(--v2-text) !important;
  box-shadow: none !important;
  text-align: left;
  font-size: .83rem !important;
  font-weight: 550 !important;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions .v2-action-menu-items .btn i {
  color: var(--v2-accent);
  font-size: .94rem;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions .v2-action-menu-items .btn:hover,
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions .v2-action-menu-items .btn:focus-visible {
  background: var(--v2-soft) !important;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions .v2-action-menu-items .btn-outline-danger,
body.airvaree-v2-dashboard #contentArea #acMasterDataRows .v2-ac-master-actions .v2-action-menu-items .btn-outline-danger i {
  color: #df646b !important;
}
body.airvaree-v2-dashboard #contentArea #acMasterDataRows > :not(article.v2-ac-master-card) {
  grid-column: 1 / -1;
}
@media (max-width: 760px) {
  body.airvaree-v2-dashboard #contentArea #acMasterDataRows {
    grid-template-columns: minmax(0,1fr);
    gap: 10px !important;
  }
  body.airvaree-v2-dashboard #contentArea #acMasterDataRows > article.v2-ac-master-card {
    padding: 14px 15px 10px !important;
  }
}

/* Shared UI accessibility and responsive refinements.
   Scoped to presentation shells; existing application selectors remain intact. */
body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) :is(button,a,input,select,textarea,[role="button"]):focus-visible {
  outline: 2px solid var(--airvaree-v2-accent, var(--airvaree-primary, #087eaf));
  outline-offset: 2px;
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) :is(.modal-content,.offcanvas,.dropdown-menu) {
  color: var(--airvaree-v2-text, var(--airvaree-text));
  border-color: var(--airvaree-v2-border, var(--airvaree-border));
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) :is(.modal-content,.offcanvas) {
  background-color: var(--airvaree-v2-card, var(--airvaree-surface));
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) :is(.modal-title,.card-title) {
  overflow-wrap: anywhere;
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) :is(.form-control,.form-select,textarea) {
  max-width: 100%;
}
body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) :is(.btn,.nav-link,[role="button"]) {
  touch-action: manipulation;
}
@media (max-width: 575.98px) {
  body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) .modal-dialog {
    margin-left: 12px;
    margin-right: 12px;
  }
  body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) .modal-body {
    overflow-wrap: anywhere;
  }
  body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) .modal-footer {
    gap: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) *,
  body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) *::before,
  body:is(.airvaree-v2-dashboard,.airvaree-v2-page,.portal-shell) *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Light is the default. Dark is explicitly selected by the document theme. */
body.airvaree-v2-dashboard .v2-select-trigger,
body.airvaree-v2-dashboard .v2-select-popup,
body.airvaree-v2-dashboard .v2-select-search {
  color-scheme: light;
}
:root[data-bs-theme="dark"] body.airvaree-v2-dashboard .v2-select-trigger,
:root[data-bs-theme="dark"] body.airvaree-v2-dashboard .v2-select-popup,
:root[data-bs-theme="dark"] body.airvaree-v2-dashboard .v2-select-search {
  color-scheme: dark;
}
body.airvaree-v2-dashboard #contentArea .v2-select-trigger,
body.airvaree-v2-dashboard #contentArea .form-select,
body.airvaree-v2-dashboard #contentArea .form-control {
  font-family: "Prompt", "Noto Sans Thai", system-ui, sans-serif;
  font-size: .94rem;
  line-height: 1.5;
}
body.airvaree-v2-dashboard .v2-select-trigger {
  box-shadow: none;
}
body.airvaree-v2-dashboard .v2-select-trigger:hover:not(:disabled) {
  border-color: var(--v2-accent);
}
body.airvaree-v2-dashboard .v2-select-popup {
  box-shadow: 0 12px 30px rgba(35, 73, 130, .12);
}
:root[data-bs-theme="dark"] body.airvaree-v2-dashboard .v2-select-popup {
  box-shadow: 0 16px 34px rgba(0, 0, 0, .28);
}
body.airvaree-v2-dashboard #contentArea :is(.form-select,.form-control,.v2-select-trigger):disabled {
  opacity: .65;
  cursor: not-allowed;
}
@media (max-width: 600px) {
  body.airvaree-v2-dashboard #contentArea .v2-select-trigger {
    min-height: 46px;
    padding: 10px 13px;
  }
  body.airvaree-v2-dashboard #contentArea .v2-select-popup {
    max-width: min(380px, calc(100vw - 32px));
  }
}

/* Unified admin light controls across dashboard, jobs, CRM, earnings and organization.
   Keep existing behavior and native select options; theme is presentation-only. */
:root:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard :is(
  .dashboard-branch-select,
  .v2-select-trigger,
  .v2-period-trigger
) {
  background:#f6faff !important;
  color:#23445e !important;
  border-color:#c9dbe8 !important;
  box-shadow:none !important;
  color-scheme:light;
}
:root:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard .dashboard-branch-select option {
  background:#fff;
  color:#23445e;
}
:root:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard :is(
  .v2-select-trigger,.v2-period-trigger
) i {
  color:#497caa;
}
:root:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard :is(
  .v2-select-popup,.v2-period-menu
) {
  background:#fff !important;
  color:#23445e !important;
  border-color:#c9dbe8 !important;
  box-shadow:0 12px 30px rgba(35,73,130,.12) !important;
}
:root:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard :is(
  .v2-select-option,.v2-period-option
) { color:#23445e; }
:root:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard :is(
  .v2-select-option[aria-selected="true"],
  .v2-period-option[aria-selected="true"]
) { background:#e4f2ff;color:#126ca9; }
:root:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard :is(
  .v2-select-option:hover,.v2-period-option:hover
) { background:#edf6ff;color:#126ca9; }
:root:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard .v2-select-search {
  background:#f6faff;color:#497caa;border-color:#c9dbe8;
}
:root:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard .v2-select-search input {
  color:#23445e;
}

/* Light theme regression: the dashboard's shared dropdown controls must never
   inherit the navy dark surface. Match both explicit light and default light. */
html:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard .dashboard-topbar #branchSelect.dashboard-branch-select,
html:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard .dashboard-main .v2-period .v2-period-trigger,
html:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard #contentArea .v2-select-trigger {
  background-color:#f6faff !important;
  color:#23445e !important;
  border:1px solid #c9dbe8 !important;
  box-shadow:none !important;
  color-scheme:light;
}
html:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard .dashboard-main .v2-period .v2-period-menu,
html:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard #contentArea .v2-select-popup {
  background-color:#fff !important;
  color:#23445e !important;
  border-color:#c9dbe8 !important;
  color-scheme:light;
}
html:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard .dashboard-main .v2-period .v2-period-trigger i,
html:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard #contentArea .v2-select-trigger i {
  color:#497caa !important;
}
html:not([data-bs-theme="dark"]) body.airvaree-v2-dashboard .dashboard-topbar #branchSelect.dashboard-branch-select option {
  background-color:#fff;
  color:#23445e;
}
html[data-bs-theme="dark"] body.airvaree-v2-dashboard .dashboard-main .v2-period .v2-period-trigger,
html[data-bs-theme="dark"] body.airvaree-v2-dashboard #contentArea .v2-select-trigger {
  color-scheme:dark;
}

/* Supplied Air Varee lockup and responsive typography across all web surfaces. */
.airvaree-brand-lockup {
  display:inline-flex;
  align-items:center;
  flex:0 1 auto;
  min-width:0;
  width:clamp(128px,22vw,194px);
  height:46px;
  line-height:0;
}
.airvaree-brand-lockup > img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.airvaree-brand-lockup > .airvaree-brand-logo-dark,
.airvaree-brand-lockup > .airvaree-brand-mark {display:none!important}
.airvaree-brand-name {display:none}
.airvaree-auth-brand > .airvaree-brand-logo-dark {display:none!important}
.airvaree-auth-brand {
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(250px,78vw);
  height:clamp(46px,13vw,64px);
  margin:0 auto 12px;
  line-height:0;
}
.airvaree-auth-brand > img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
html[data-bs-theme="dark"] .airvaree-brand-logo-light {display:none!important}
html[data-bs-theme="dark"] .airvaree-brand-logo-dark {display:block!important}
html[data-bs-theme="dark"] .airvaree-auth-logo.airvaree-brand-logo-light {display:none!important}
html[data-bs-theme="dark"] .airvaree-auth-logo.airvaree-brand-logo-dark {display:block!important}

body.portal-shell .portal-topbar {
  flex-wrap:nowrap;
  gap:8px;
}
body.portal-shell .portal-brand {
  flex:0 1 auto;
  min-width:0;
  max-width:48%;
  white-space:nowrap;
}
body.portal-shell .portal-brand-lockup {width:clamp(128px,22vw,194px);height:44px}
body.portal-shell .portal-top-actions {flex:0 0 auto;gap:clamp(4px,1vw,10px)}
body.portal-shell .portal-page-intro h1 {
  font-size:clamp(1.35rem,calc(1.18rem + .8vw),1.8rem);
  line-height:1.25;
}
body.portal-shell .portal-page-intro > span {
  font-size:clamp(.9rem,calc(.86rem + .2vw),1rem);
  line-height:1.55;
}

.dashboard-shell .dashboard-logo .airvaree-brand-lockup {width:min(100%,178px);height:46px}
.dashboard-shell .dashboard-topbar-brand .airvaree-brand-lockup {width:clamp(128px,18vw,176px);height:42px}
.dashboard-shell .dashboard-topbar-brand .airvaree-brand-lockup {display:flex!important}
.dashboard-shell .dashboard-art-ac-brand img {
  display:inline-block;
  width:17px;
  height:17px;
  margin-right:4px;
  vertical-align:-3px;
  object-fit:contain;
}
.airvaree-auth-logo {display:block;width:min(250px,78vw);height:auto;max-height:64px;margin:0 auto 12px;object-fit:contain}

body:is(.airvaree-v2-page,.airvaree-v2-dashboard,.portal-shell.portal-reference) :is(h1,.h1) {
  font-size:clamp(1.35rem,calc(1.17rem + .72vw),1.9rem);
  line-height:1.24;
}
body:is(.airvaree-v2-page,.airvaree-v2-dashboard,.portal-shell.portal-reference) :is(h2,.h2) {
  font-size:clamp(1.1rem,calc(1rem + .42vw),1.5rem);
  line-height:1.32;
}
body:is(.airvaree-v2-page,.airvaree-v2-dashboard,.portal-shell.portal-reference) :is(small,.small) {
  font-size:clamp(.75rem,calc(.72rem + .18vw),.875rem);
  line-height:1.5;
}

@media (max-width:575.98px) {
  body.portal-shell .portal-topbar {margin-left:0!important;margin-right:0!important;padding-left:4px!important;padding-right:4px!important;gap:5px}
  body.portal-shell .portal-brand {max-width:none}
  body.portal-shell .portal-brand-lockup {width:clamp(116px,32vw,142px);height:40px}
  body.portal-shell .portal-top-actions {gap:3px}
  .dashboard-shell .dashboard-logo .airvaree-brand-lockup {width:140px;height:38px}
  .dashboard-shell .dashboard-topbar-brand .airvaree-brand-lockup {width:38px;height:38px}
  .dashboard-shell .dashboard-topbar-brand .airvaree-brand-logo {display:none!important}
  .dashboard-shell .dashboard-topbar-brand .airvaree-brand-mark {display:block!important;width:38px;height:38px}
}
@media (max-width:360px) {
  body.portal-shell .portal-brand-lockup {display:flex;width:auto;max-width:100%;height:36px;gap:4px}
  body.portal-shell .airvaree-brand-logo {display:none!important}
  body.portal-shell .airvaree-brand-mark {display:block!important;width:28px;height:28px}
  body.portal-shell .airvaree-brand-name {display:block;color:#0487e7;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}
  .dashboard-shell .dashboard-topbar-brand .airvaree-brand-lockup {width:auto;height:36px;gap:4px}
  .dashboard-shell .dashboard-topbar-brand .airvaree-brand-mark {width:28px!important;height:28px!important}
  .dashboard-shell .dashboard-topbar-brand .airvaree-brand-name {display:block;color:#0487e7;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}
  .airvaree-auth-brand {width:min(220px,76vw);height:48px}
}
html[data-bs-theme="dark"] body.portal-shell .airvaree-brand-name,
html[data-bs-theme="dark"] .dashboard-shell .dashboard-topbar-brand .airvaree-brand-name {color:#EAF5FF}
