/* DotDen v2.9.0 RC9 — multi-business portal, dynamic catalogue and mobile header correction. */

/* Client business context */
.v294-business-switcher{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto;min-width:min(100%,360px)}
.v294-business-switcher form{display:flex;align-items:flex-end;gap:8px;min-width:0;flex:1 1 250px}
.v294-business-switcher label{display:grid;gap:4px;min-width:0;flex:1}
.v294-business-switcher label>span{color:#91b4dc;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.v294-business-switcher select{width:100%;min-width:0;height:39px;box-sizing:border-box;border:1px solid #008cff;border-radius:8px;background:#071a3a;color:#fff;padding:0 34px 0 10px;font:600 .74rem/1 Comfortaa,sans-serif}
.v294-business-switcher .button{height:39px;margin:0;white-space:nowrap}
.v294-add-business-link{align-self:center;color:#008cff;font-size:.72rem;font-weight:700;text-decoration:none;white-space:nowrap}
.v294-add-business-link:hover,.v294-add-business-link:focus-visible{text-decoration:underline}
.portal-client-context{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;width:100%!important}
.portal-client-context>div:not(.v294-business-switcher){min-width:170px}
.v294-add-business{display:grid;gap:22px;max-width:920px}
.v294-add-business>div p{max-width:720px;color:#c7d9f3;line-height:1.6}
.v294-business-notice{display:grid;gap:4px;padding:14px;border:1px solid rgba(0,140,255,.55);border-radius:10px;background:#071a3a;color:#c7d9f3}
.v294-business-notice strong{color:#fff}

/* Account Access invite form belongs to the same dark workspace. */
.v290-workspace .admin-inline-create{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:12px!important;margin-top:20px!important;padding:18px!important;border:1px solid #008cff!important;border-radius:14px!important;background:#071a3a!important;color:#fff!important}
.v290-workspace .admin-inline-create label{display:grid!important;gap:6px!important;color:#fff!important}
.v290-workspace .admin-inline-create input{width:100%!important;box-sizing:border-box!important}

/* Public module catalogue */
.v294-modules-section{width:100%;max-width:none!important;margin:0!important;padding:clamp(58px,8vw,104px) 0;background:#071a3a;color:#fff}
.v294-modules-section .v290-section-head h2{color:#fff}
.v294-modules-section .v290-section-head p{color:#9ec5ed}
.v294-module-carousel{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:12px;margin-top:30px}
.v294-module-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,31%);gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#008cff #071a3a;padding:3px 3px 14px}
.v294-module-card{display:grid;grid-template-rows:auto 1fr auto;gap:18px;min-height:330px;padding:24px;border:1px solid #008cff;border-radius:16px;background:#0c2854;scroll-snap-align:start;box-sizing:border-box}
.v294-module-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:#008cff;color:#fff;font-size:.85rem;font-weight:700}
.v294-module-card .eyebrow{color:#008cff}
.v294-module-card h3{margin:7px 0 10px;color:#fff;font-size:1.25rem}
.v294-module-card p{margin:0;color:#c7d9f3;font-size:.86rem;line-height:1.65}
.v294-module-card footer{display:grid;gap:5px;padding-top:15px;border-top:1px solid rgba(0,140,255,.45)}
.v294-module-card footer span{color:#8fb3dc;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}
.v294-module-card footer strong{color:#fff;font-size:.72rem;line-height:1.5}
.v294-empty-catalogue{align-self:stretch;padding:30px;border:1px dashed #008cff;border-radius:14px;color:#c7d9f3}

/* Backend-driven packages and comparison */
.v294-dynamic-package-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;align-items:stretch!important}
.v294-package-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-width:0!important}
.v294-package-card>strong{display:flex;align-items:baseline;gap:5px;color:#fff}
.v294-package-card>strong small{font-size:.7rem;font-weight:500;color:#b9d1ec}
.v294-package-card .v294-setup-fee{margin:-8px 0 10px;color:#9ec5ed;font-size:.72rem}
.v294-package-card .v292-package-features{flex:1}
.v294-package-card .v290-button{margin-top:auto;text-align:center}

/* Mobile Admin and Client Portal header: compact, single row and true viewport-centred Menu. */
@media(max-width:1040px){
  .v290-workspace .unified-app-header{position:sticky!important;top:0!important;z-index:1200!important;width:100%!important;height:auto!important;min-height:64px!important;background:#061836!important;border-bottom:1px solid rgba(0,140,255,.38)!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important}
  .v290-workspace .unified-header-inner{position:relative!important;display:grid!important;grid-template-columns:minmax(84px,1fr) auto minmax(84px,1fr)!important;align-items:center!important;width:100%!important;max-width:none!important;height:64px!important;min-height:64px!important;box-sizing:border-box!important;margin:0!important;padding:6px 14px!important;padding-top:max(6px,env(safe-area-inset-top))!important}
  .v290-workspace .unified-app-logo{position:static!important;grid-column:1!important;grid-row:1!important;justify-self:start!important;z-index:2!important;order:initial!important;left:auto!important;margin:0!important}
  .v290-workspace .unified-app-logo img,.v290-workspace .v291-app-logo img{display:block!important;width:auto!important;height:28px!important;max-width:104px!important}
  .v290-workspace .app-nav-toggle{position:static!important;grid-column:2!important;grid-row:1!important;justify-self:center!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:72px!important;width:auto!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0 13px!important;transform:none!important;border:1px solid rgba(255,255,255,.26)!important;border-radius:10px!important;background:#10284f!important;color:#fff!important;font:600 .78rem/1 Comfortaa,sans-serif!important;z-index:3!important}
  .v290-workspace .app-nav-toggle span{display:inline!important;visibility:visible!important;opacity:1!important}
  .v290-workspace .app-nav-toggle svg{display:none!important}
  .v290-workspace .app-primary-nav{display:none!important}
  .v290-workspace .unified-header-tools{position:static!important;grid-column:3!important;grid-row:1!important;justify-self:end!important;display:flex!important;align-items:center!important;z-index:2!important;order:initial!important;margin:0!important}
  .v290-workspace .unified-header-tools .header-tool:not([href="/"]):not([aria-label*="website"]),.v290-workspace .unified-header-tools .header-profile{display:none!important}
  .v290-workspace .unified-header-tools .header-tool{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-width:40px!important;margin:0!important;border-radius:10px!important}
  .v290-workspace .app-main{min-height:calc(100dvh - 64px)!important}
  .v290-workspace .app-hero-band{padding-top:18px!important}
}

@media(max-width:820px){
  .portal-client-context{align-items:flex-start!important}
  .v294-business-switcher{width:100%;margin-left:0}
  .v294-business-switcher form{flex:1 1 100%}
  .v294-module-carousel{grid-template-columns:38px minmax(0,1fr) 38px;gap:7px}
  .v294-module-track{grid-auto-columns:minmax(250px,78%)}
  .v294-module-card{min-height:310px;padding:20px}
}

@media(max-width:560px){
  .v290-workspace .unified-header-inner{grid-template-columns:minmax(72px,1fr) auto minmax(72px,1fr)!important;height:62px!important;min-height:62px!important;padding-inline:12px!important}
  .v290-workspace .unified-app-header{min-height:62px!important}
  .v290-workspace .unified-app-logo img,.v290-workspace .v291-app-logo img{height:26px!important;max-width:94px!important}
  .v290-workspace .app-nav-toggle{height:38px!important;min-height:38px!important;min-width:68px!important;padding-inline:11px!important}
  .v290-workspace .unified-header-tools .header-tool{width:38px!important;height:38px!important;min-width:38px!important}
  .v290-workspace .app-main{min-height:calc(100dvh - 62px)!important}
  .v290-workspace .admin-inline-create{grid-template-columns:1fr!important}
  .v290-workspace .admin-inline-create .button{width:100%!important}
  .v294-business-switcher form{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .v294-business-switcher label{grid-column:1/-1}
  .v294-module-track{grid-auto-columns:100%}
  .v294-module-carousel{grid-template-columns:34px minmax(0,1fr) 34px}
  .v294-module-carousel .v291-carousel-arrow{width:34px!important;height:38px!important}
}

/* Business-specific account access controls. */
.v290-workspace .v294-invite-portal-user{grid-template-columns:minmax(210px,1.1fr) minmax(240px,1.4fr) minmax(150px,.7fr) auto!important}
.v294-invite-portal-user>div{align-self:center}
.v294-invite-portal-user h2{margin:3px 0 5px;color:#fff;font-size:1rem}
.v294-invite-portal-user p{margin:0;color:#a9c4e4;font-size:.72rem;line-height:1.5}
.v294-invite-portal-user select,.v294-access-actions select{width:100%;height:39px;box-sizing:border-box;border:1px solid rgba(0,140,255,.65);border-radius:8px;background:#f7faff;color:#071a3a;padding:0 30px 0 9px;font:600 .72rem/1 Comfortaa,sans-serif}
.v294-access-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v294-access-actions form{display:flex;align-items:center;gap:7px;margin:0}
.v294-access-actions select{min-width:120px;width:auto}

@media(max-width:960px){
  .v290-workspace .v294-invite-portal-user{grid-template-columns:1fr 1fr!important}
  .v294-invite-portal-user>div{grid-column:1/-1}
}
@media(max-width:560px){
  .v290-workspace .v294-invite-portal-user{grid-template-columns:1fr!important}
  .v294-invite-portal-user>div{grid-column:auto}
  .v294-access-actions,.v294-access-actions form{width:100%}
  .v294-access-actions select,.v294-access-actions .button{flex:1 1 auto}
}
