@import url('/assets/shared/tokens.css?v=20261004-overlay1');
@import url('/assets/shared/motion.css?v=20261004-tokens1');
@import url('/assets/shared/buttons.css?v=20261004-overlay5');
@import url('/assets/shared/forms.css?v=20260925-ui1');
@import url('/assets/shared/overlays.css?v=20261005-pinfooter1');
@import url('/assets/shared/alerts.css?v=20261004-tokens1');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Roboto+Condensed:wght@500;600;700&display=swap');

:root {
  /* Aliases kept for existing call sites; canonical values live in shared/tokens.css. */
  --blue: var(--color-action-cobalt);
  --blue-strong: var(--color-action-cobalt-hover);
  --navy: var(--color-navigation-navy);
  --navy-soft: var(--color-navigation-active);
  --mist: var(--color-workspace-mist);
  --paper: var(--color-surface-paper);
  --ink: var(--color-primary-ink);
  --muted: var(--color-secondary-ink);
  --line: var(--color-divider);
  --blue-tint: var(--color-cobalt-soft);
  --green-tint: var(--color-success-soft);
  --green: var(--color-success);
  --purple-tint: #efeaff;
  --purple: #7048db;
  --orange-tint: var(--color-warning-soft);
  --orange: var(--color-warning);
  --sidebar-width: 248px;
  font-family: Inter, Arial, sans-serif;
  color: var(--ink);
  background: var(--mist);
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--mist); }
body { margin: 0; min-height: 100vh; background: var(--mist); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
svg { flex: 0 0 auto; }
::selection { color: #fff; background: var(--blue-strong); }
:focus-visible { outline: 3px solid #82a4ff; outline-offset: 3px; }
input:focus-visible { outline-offset: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 10px 14px; background: var(--blue); color: #fff; border-radius: 8px; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.icon { width: 22px; height: 22px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; width: var(--sidebar-width); display: flex; flex-direction: column; padding: 12px 8px 12px 14px; color: #b9c3d8; background: var(--navy); overflow: hidden; }
.brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; color: var(--ink); text-decoration: none; }
.brand-sidebar { min-height: 52px; padding: 0 8px; color: #fff; }
.brand-logo { display: block; width: 172px; height: auto; }
.brand-mark { display: inline-grid; place-items: center; width: 39px; height: 39px; color: #fff; background: var(--blue); border-radius: 12px; font-size: 22px; font-weight: 800; line-height: 1; }
.brand-name { font-family: "Roboto Condensed", Inter, sans-serif; font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.sidebar-divider { height: 1px; margin: 8px 0 6px; background: #222938; }
.sidebar-nav { min-height: 0; display: flex; flex: 1 1 auto; flex-direction: column; gap: 2px; overflow-y: auto; overflow-x: hidden; padding-right: 6px; scrollbar-width: thin; scrollbar-color: #4a566f transparent; }
.sidebar-nav::-webkit-scrollbar { width: 6px; }
.sidebar-nav::-webkit-scrollbar-track { background: transparent; }
.sidebar-nav::-webkit-scrollbar-thumb { background: #4a566f; border-radius: 999px; }
.sidebar-nav::-webkit-scrollbar-thumb:hover { background: #64718d; }
.sidebar-section-title { margin: 8px 12px 3px; color: #73819b; font-size: 9px; font-weight: 700; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.sidebar-nav-divider { display: block; height: 1px; flex: 0 0 1px; margin: 8px 10px 7px; background: rgba(148,163,184,.18); }
.sidebar-link { min-height: 36px; display: flex; align-items: center; gap: 13px; padding: 0 12px; color: #b7c1d7; border-radius: 10px; text-decoration: none; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 13px; font-weight: 600; }
.sidebar-link .icon { width: 18px; height: 18px; }
.sidebar-link:hover { color: #fff; background: #151d2f; }
.sidebar-link.is-active { color: #fff; background: var(--navy-soft); }
.sidebar-link[data-manager-logout] { width: 100%; min-height: 44px; padding: 0 16px; border: 1px solid rgba(244,180,189,.18); border-radius: 14px; background: rgba(244,180,189,.09); color: #f4b4bd; font-size: 15px; font-weight: 700; text-align: left; cursor: pointer; }
.sidebar-link[data-manager-logout]:hover { background: rgba(244,180,189,.16); color: #ffdae0; }
.sidebar-link[data-manager-logout]:disabled { opacity: .6; cursor: wait; }
.sidebar-account { display: flex; align-items: center; gap: 12px; margin-top: auto; padding: 14px 6px 10px; border-top: 1px solid #222938; }
.avatar { display: inline-grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; color: var(--ink); background: #e9edf5; border-radius: 50%; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 17px; font-weight: 700; }
.sidebar .avatar { color: #fff; background: #24314c; }
.sidebar-account-copy { min-width: 0; }
.sidebar-account-copy strong, .sidebar-account-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-account-copy strong { color: #fff; font-size: 12px; }
.sidebar-account-copy small { margin-top: 4px; color: #9cb0d6; font-size: 9px; }
.collapse-button { min-height: 36px; display: flex; align-items: center; gap: 16px; padding: 0 14px; color: #aebbd3; background: transparent; border: 0; cursor: pointer; font-size: 11px; text-align: left; }
.collapse-button span { font-size: 27px; font-weight: 300; }
.collapse-button b { font-weight: 400; }

.app-column { grid-column: 2; min-width: 0; }
.desktop-header { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 28px; background: var(--paper); border-bottom: 1px solid var(--line); }
.breadcrumbs { display: flex; align-items: center; gap: 15px; color: #41506c; font-size: 13px; }
.breadcrumbs b { color: #7a869b; font-size: 24px; font-weight: 400; }
.breadcrumbs strong { color: var(--ink); font-family: "Roboto Condensed", Inter, sans-serif; }
.header-tools { display: flex; align-items: center; gap: 10px; }
.search-box { width: 231px; height: 40px; display: flex; align-items: center; gap: 10px; padding: 0 14px; color: #6e7890; background: #f7f8fa; border: 1px solid var(--line); border-radius: 13px; }
.search-box .icon { width: 17px; height: 17px; }
.search-box input { min-width: 0; flex: 1; color: var(--ink); background: transparent; border: 0; outline: 0; font-size: 11px; }
.avatar-button { padding: 0; border: 0; cursor: pointer; }
.avatar-button[href] { min-width: 44px; min-height: 44px; text-decoration: none; }
.sidebar-footer { flex: 0 0 auto; margin-top: 10px; padding-top: 10px; border-top: 1px solid #222938; }
.sidebar-footer-row { display: flex; align-items: center; gap: 4px; }
.sidebar-footer-row > .sidebar-link { flex: 1; min-width: 0; }
.sidebar-footer .sidebar-link { min-height: 44px; width: 100%; text-align: left; }
.sidebar-footer button.sidebar-link { border: 0; background: transparent; cursor: pointer; }
.sidebar-footer button.sidebar-link:hover { color: #fff; background: #151d2f; }
.sidebar-footer .collapse-button { width: 44px; min-height: 44px; flex: 0 0 44px; justify-content: center; padding: 0; border-radius: 10px; }
.sidebar-footer .collapse-button:hover { color: #fff; background: #151d2f; }
.sidebar-footer .collapse-button .icon { width: 18px; height: 18px; transform: rotate(180deg); }
.sidebar-footer button:disabled { opacity: .55; cursor: wait; }
.manager-account-error { margin: 8px 12px 0; color: #9b2337; font-size: 12px; line-height: 1.5; }
.manager-account-notice { grid-column: 1 / -1; margin: 0; }
.manager-mobile-logout { margin-top: 16px; }
.is-collapsed .sidebar-footer-row { flex-direction: column; }
.is-collapsed .sidebar-footer-row > .sidebar-link { flex: auto; }
.main-content { position: relative; min-height: calc(100vh - 72px); padding: 26px 30px 35px; background: var(--mist); }
.mobile-header { display: none; }
.page-grid { max-width: 1132px; display: grid; grid-template-columns: minmax(0, 790px) 320px; gap: 22px; margin: 0 auto; }
.page-primary { grid-column: 1; min-width: 0; }
.page-heading-row { grid-column: 1 / -1; min-height: 57px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, strong, .button { font-family: "Roboto Condensed", Inter, sans-serif; }
h1 { margin-bottom: 8px; font-size: 32px; line-height: 1.05; letter-spacing: -.025em; }
.page-subtitle { margin-bottom: 0; color: var(--muted); font-size: 13px; }
.page-actions { display: flex; gap: 9px; }
.metric-bar { min-height: 101px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; color: #fff; background: var(--navy); border-radius: 23px; }
.metric-bar div { display: grid; justify-items: center; gap: 8px; }
.metric-bar strong { font-size: 30px; line-height: 1; }
.metric-bar span { font-size: 12px; }
.dashboard-section { margin-top: 18px; }
.dashboard-section h2, .section-heading h2 { margin-bottom: 12px; font-size: 20px; line-height: 1.2; }
.section-heading { display: flex; align-items: center; justify-content: space-between; }
.section-heading a { color: var(--blue); font-size: 14px; font-weight: 700; text-decoration: none; }
.record-stack { display: grid; gap: 11px; }
.record-card { min-height: 78px; display: grid; grid-template-columns: 48px minmax(0,1fr) 22px; align-items: center; gap: 14px; padding: 12px 16px 12px 14px; background: var(--paper); border: 1px solid var(--line); border-radius: 20px; text-decoration: none; box-shadow: 0 8px 20px rgba(22,32,50,.025); }
.record-card:hover { border-color: #b9c4d8; box-shadow: 0 10px 24px rgba(22,32,50,.06); }
.record-icon { width: 48px; height: 48px; display: inline-grid; place-items: center; flex: 0 0 48px; border-radius: 14px; }
.record-icon .icon { width: 23px; height: 23px; }
.icon-blue { color: #335b88; background: var(--blue-tint); }
.icon-green { color: var(--green); background: var(--green-tint); }
.icon-purple { color: var(--purple); background: var(--purple-tint); }
.icon-orange { color: var(--orange); background: var(--orange-tint); }
.record-copy strong, .record-copy small { display: block; }
.record-copy strong { margin-bottom: 6px; font-size: 16px; }
.record-copy small { color: var(--muted); font-size: 12px; }
.record-card > .icon, .snapshot-row > .icon, .more-link > .icon, .action-row > .icon { width: 19px; height: 19px; }

.snapshot { grid-column: 2; min-height: 812px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 21px; box-shadow: 0 14px 30px rgba(20,30,50,.05); }
.snapshot-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.snapshot-heading h2 { margin: 0; font-size: 19px; }
.live-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; color: #2e7459; background: #e9f5ef; border-radius: 999px; font-size: 11px; font-weight: 700; }
.live-pill i { width: 7px; height: 7px; background: #33936d; border-radius: 50%; }
.snapshot-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.snapshot-metrics div { min-height: 89px; display: flex; flex-direction: column; justify-content: center; padding: 14px; background: #edf1ff; border-radius: 16px; }
.snapshot-metrics small, .snapshot-metrics span { font-size: 9px; }
.snapshot-metrics strong { margin: 5px 0 7px; font-size: 23px; }
.snapshot-metrics .snapshot-metric-detail{margin-top:3px;color:#66738a;font-size:8px;}
.snapshot h3 { margin: 20px 0 8px; font-size: 13px; }
.snapshot-row { min-height: 58px; display: grid; grid-template-columns: 36px minmax(0,1fr) 18px; align-items: center; gap: 10px; color: var(--ink); border-bottom: 1px solid var(--line); text-decoration: none; }
.snapshot-row .record-icon { width: 36px; height: 36px; border-radius: 11px; }
.snapshot-row .record-icon .icon { width: 18px; height: 18px; }
.currency-icon { font-family: "Roboto Condensed", Inter, sans-serif; font-size: 20px; }
.snapshot-row strong, .snapshot-row small { display: block; }
.snapshot-row strong { margin-bottom: 5px; font-size: 12px; }
.snapshot-row small { color: var(--muted); font-size: 9px; }
.activity-list { margin: 0; padding: 0 0 0 22px; list-style: none; border-left: 2px solid #dce3ef; }
.activity-list li { position: relative; padding: 4px 0 13px 0; }
.activity-list li::before { content: ""; position: absolute; width: 10px; height: 10px; top: 5px; left: -28px; background: var(--blue); border: 4px solid #dce7ff; border-radius: 50%; }
.activity-list strong, .activity-list small { display: block; }
.activity-list strong { margin-bottom: 6px; font-size: 12px; }
.activity-list small { color: var(--muted); font-size: 9px; }

.more-view { padding-top: 4px; }
.more-group { margin-bottom: 15px; }
.more-group h2 { margin: 0 0 8px 2px; color: #4e5d78; font-family: Inter, sans-serif; font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.more-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.more-link { min-height: 69px; display: grid; grid-template-columns: 42px minmax(0,1fr) 18px; align-items: center; gap: 12px; padding: 9px 14px 9px 11px; background: #fff; border: 1px solid var(--line); border-radius: 17px; text-decoration: none; }
.more-link .record-icon { width: 42px; height: 42px; border-radius: 13px; }
.more-link strong, .more-link small { display: block; }
.more-link strong { margin-bottom: 5px; font-size: 15px; }
.more-link small { color: var(--muted); font-size: 11px; }
.empty-module { min-height: 260px; display: grid; place-items: center; align-content: center; padding: 36px; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 22px; }
.empty-module h2 { margin: 18px 0 8px; font-size: 24px; }
.empty-module p { max-width: 48ch; margin-bottom: 0; color: var(--muted); line-height: 1.6; }

.mobile-nav, .mobile-create { display: none; }
.sheet-backdrop { position: fixed; inset: 0; z-index: 40; background: var(--overlay-backdrop, rgba(8,13,23,.42)); }
.sheet-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.sheet-heading h2 { margin: 0; font-size: 25px; }
.sheet-heading .icon-button { background: #edf0f5; border: 0; }
.action-row { min-height: 77px; display: grid; grid-template-columns: 48px minmax(0,1fr) 18px; align-items: center; gap: 13px; color: var(--ink); border-bottom: 1px solid var(--line); text-decoration: none; }
.action-row strong, .action-row small { display: block; }
.action-row strong { margin-bottom: 6px; font-size: 16px; }
.action-row small { color: var(--muted); font-size: 12px; }

.is-collapsed { --sidebar-width: 76px; }
.is-collapsed .sidebar { width: 76px; padding-inline: 10px; }
.is-collapsed .brand-sidebar { justify-content: center; padding: 0; }
.is-collapsed .brand-logo { width: 42px; height: 42px; object-fit: cover; object-position: left; }
.is-collapsed .sidebar-nav-divider { margin-left: 8px; margin-right: 8px; }
.is-collapsed .brand-name, .is-collapsed .sidebar-section-title, .is-collapsed .sidebar-link span, .is-collapsed .sidebar-account-copy, .is-collapsed .collapse-button b { display: none; }
.is-collapsed .sidebar-link { justify-content: center; padding: 0; }
.is-collapsed .sidebar-account { justify-content: center; padding-inline: 0; }
.is-collapsed .collapse-button { justify-content: center; padding: 0; transform: rotate(180deg); }

.login-page { min-height: 100vh; padding: 0; background: #fff; }
.login-brand { display: flex; align-items: center; gap: 12px; }
.login-brand img { width: 43px; height: 43px; }
.login-card { width: 100%; min-height: 100vh; display: grid; grid-template-columns: minmax(560px, 46fr) minmax(600px, 54fr); margin: 0; overflow: hidden; background: #fff; }
.login-form-panel { min-width: 0; display: flex; flex-direction: column; padding: clamp(34px, 4vw, 70px) clamp(54px, 9vw, 150px) 34px; }
.login-form-content { width: min(100%, 560px); margin: clamp(54px, 9vh, 112px) auto 0; }
.login-form-panel h1 { margin-bottom: 14px; font-size: 40px; }
.login-form-content > p { margin-bottom: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }
.login-form-panel form { display: grid; gap: 14px; margin-top: 24px; }
.login-form-content [hidden] { display: none !important; }
.signup-confirmation-icon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 24px; color: var(--blue); background: #e9efff; border-radius: 18px; }
.signup-confirmation-icon svg { width: 32px; height: 32px; }
.login-form-content [data-customer-signup-success] > p { color: var(--muted); font-size: 14px; line-height: 1.55; }
.login-form-content [data-customer-signup-success] .signup-confirmation-email { margin: 18px 0; color: var(--ink); font-size: 16px; font-weight: 600; overflow-wrap: anywhere; }
.login-form-content .signup-confirmation-help { margin: 0 0 24px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.signup-confirmation-actions { display: grid; gap: 10px; }
.login-form-panel form > label, .password-field { display: grid; gap: 9px; color: #26334a; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 13px; font-weight: 600; }
.login-form-panel input[type="email"], .login-form-panel input[type="password"], .login-form-panel input[type="text"] { width: 100%; height: 53px; padding: 0 16px; color: var(--ink); background: #fff; border: 1px solid #cbd3e0; border-radius: 15px; font-family: Inter, Arial, sans-serif; font-size: 14px; font-weight: 400; }
.field-label-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.field-label-row a { color: var(--blue); font-family: Inter, sans-serif; font-size: 12px; font-weight: 700; text-decoration: none; }
.check-label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.login-form-panel form > .check-label { width: max-content; display: inline-flex; grid-template-columns: auto auto; }
.check-label input { position: absolute; opacity: 0; pointer-events: none; }
.check-label span { width: 20px; height: 20px; display: inline-grid; place-items: center; color: #fff; background: var(--blue); border-radius: 6px; font-size: 13px; font-weight: 800; }
.login-form-panel [data-login-form] .check-label input:not(:checked) + span { color: #0d101b; background: #e2e5eb; }
.login-form-panel [data-login-form] .check-label input:checked + span { color: #fff; background: var(--blue); }
.login-form-panel [data-login-form] .check-label input:focus-visible + span { outline: 3px solid #82a4ff; outline-offset: 3px; }
.login-submit { width: 100%; }
.login-signup { width: 100%; margin: 10px 0 0; color: var(--blue); border-color: #cbd3e0; }
.login-form-panel .form-error:empty { display: none; }
.login-form-content [data-customer-signup] > .login-mfa-back { margin-bottom: 10px; }
.form-error { min-height: 17px; margin: -8px 0 -5px; color: #a53629; font-size: 12px; }
.secure-note { margin-top: 0; padding: 17px; color: #16377f; background: #e4eaff; border-radius: 16px; }
.secure-note strong { font-size: 15px; }
.secure-note p { margin: 8px 0 0; font-size: 12px; line-height: 1.55; }
.login-help { width: min(100%, 560px); margin: auto auto 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.login-assurance { position: relative; isolation: isolate; display: flex; flex-direction: column; padding: clamp(28px, 3vw, 50px); color: #fff; background-color: #384035; background-image: var(--login-image, url('/assets/tenant-login-default.svg')); background-position: center; background-size: cover; background-repeat: no-repeat; }
.login-assurance::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7,12,18,.12) 0%, rgba(7,12,18,.06) 38%, rgba(7,12,18,.76) 100%); }
.business-branding { display: flex; align-items: center; gap: 13px; margin: 0; filter: drop-shadow(0 2px 5px rgba(0,0,0,.28)); }
.business-monogram { width: 48px; height: 48px; display: grid; place-items: center; color: var(--ink); background: rgba(255,255,255,.94); border-radius: 14px; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 15px; font-weight: 700; }
.business-brand-icon { width: 48px; height: 48px; display: block; border-radius: 14px; }
.business-branding p { margin: 0; color: #fff; font-size: 15px; font-weight: 700; }
.assurance-content { margin-top: auto; margin-bottom: 46px; text-shadow: 0 2px 14px rgba(0,0,0,.34); }
.login-assurance h2 { max-width: 15ch; margin-bottom: 20px; font-family: Georgia, serif; font-size: clamp(38px, 3.5vw, 62px); font-weight: 700; line-height: 1.04; letter-spacing: -.025em; }
.assurance-content p { max-width: 48ch; margin-bottom: 0; color: #fff; font-size: clamp(14px, 1.2vw, 18px); line-height: 1.55; }
.powered-by { position: absolute; right: clamp(28px, 3vw, 50px); bottom: 26px; color: rgba(255,255,255,.82); font-size: 10px; font-weight: 600; text-decoration: none; text-shadow: 0 1px 5px rgba(0,0,0,.5); }
.mobile-powered-by { display: none; }
.surface-page { display: grid; place-items: center; min-height: 100vh; padding: 24px; }
.surface-page main { width: min(520px, 100%); padding: 45px; background: #fff; border: 1px solid var(--line); border-radius: 24px; }

.account-page, .onboarding-page { min-height: 100vh; background: var(--mist); }
.account-header { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px clamp(24px, 5vw, 72px); background: #fff; border-bottom: 1px solid var(--line); }
.account-header .login-brand { color: var(--ink); text-decoration: none; }
.account-person { display: flex; align-items: center; gap: 13px; text-align: right; }
.account-person strong, .account-person small { display: block; }
.account-person strong { margin-bottom: 3px; font-size: 13px; }
.account-person small { color: var(--muted); font-size: 10px; }
.account-main { width: min(1040px, calc(100% - 48px)); display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 30px; margin: 0 auto; padding: 70px 0; }
.account-intro { margin-bottom: 10px; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.account-main h1 { margin-bottom: 12px; font-size: 38px; }
.account-main section > p:not(.account-intro) { margin-bottom: 30px; color: var(--muted); }
.account-businesses { display: grid; gap: 12px; }
.account-business { min-height: 84px; display: grid; grid-template-columns: 50px minmax(0, 1fr) 20px; align-items: center; gap: 15px; padding: 16px 18px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 19px; box-shadow: 0 10px 24px rgba(22,32,50,.035); text-decoration: none; }
.account-business:hover { border-color: #b9c4d8; box-shadow: 0 12px 28px rgba(22,32,50,.07); }
.account-business-mark { width: 50px; height: 50px; display: grid; place-items: center; color: #fff; background: var(--blue); border-radius: 14px; font-family: "Roboto Condensed", Inter, sans-serif; font-weight: 700; }
.account-business strong, .account-business small { display: block; }
.account-business strong { margin-bottom: 6px; font-size: 16px; }
.account-business small { color: var(--muted); font-size: 11px; }
.account-business > span:last-child { font-size: 25px; }
.account-empty { padding: 22px; color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.account-security { align-self: start; padding: 24px; background: var(--navy); border-radius: 22px; box-shadow: 0 18px 36px rgba(12,16,28,.13); }
.account-security h2 { margin-bottom: 7px; color: #fff; font-size: 22px; }
.account-security > div > p { margin-bottom: 20px; color: #aeb7ca; font-size: 12px; }
.account-security ul { margin: 0 0 20px; padding: 0; list-style: none; }
.account-security li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 0; color: #fff; border-top: 1px solid rgba(255,255,255,.12); }
.account-security li > span:first-child { min-width: 0; }
.account-security li strong, .account-security li small { display: block; }
.account-security li strong { margin-bottom: 5px; font-size: 12px; }
.account-security li small { color: #9fa9bd; font-size: 9px; }
.current-session { padding: 5px 8px; color: #cfe0ff; background: rgba(56,103,237,.22); border-radius: 999px; font-size: 9px; font-weight: 800; }
.account-security > a { color: #8fb0ff; font-size: 12px; font-weight: 700; text-decoration: none; }

.onboarding-page { display: grid; place-items: center; padding: 36px 24px; }
.onboarding-shell { width: min(580px, 100%); padding: 42px clamp(25px, 5vw, 58px) 28px; background: #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: 0 24px 60px rgba(20,30,50,.09); }
.onboarding-progress { display: grid; grid-template-columns: 28px minmax(22px, 1fr) 28px minmax(22px, 1fr) 28px; align-items: center; margin: 46px 0 40px; }
.onboarding-progress span { width: 28px; height: 28px; display: grid; place-items: center; color: #7b8599; background: #edf0f5; border-radius: 50%; font-size: 11px; font-weight: 800; }
.onboarding-progress span.is-current { color: #fff; background: var(--blue); }
.onboarding-progress i { height: 2px; background: #e1e5ed; }
.onboarding-content h1 { margin-bottom: 12px; font-size: 36px; }
.onboarding-content > p:not(.account-intro) { margin-bottom: 28px; color: var(--muted); line-height: 1.6; }
.onboarding-content form { display: grid; gap: 18px; }
.password-requirements { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 16px; padding: 14px 16px; color: var(--muted); background: #f4f6f9; border-radius: 13px; font-size: 11px; }
.password-requirements span::before { display: inline-grid; width: 16px; height: 16px; margin-right: 7px; place-items: center; content: ""; background: #dde2ea; border-radius: 50%; vertical-align: -3px; }
.password-requirements span.is-valid { color: #28795a; font-weight: 700; }
.password-requirements span.is-valid::before { content: "\2713"; color: #fff; background: #28795a; }
.onboarding-content label { display: grid; gap: 8px; color: #26334a; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 13px; font-weight: 700; }
.onboarding-content input { width: 100%; height: 52px; padding: 0 15px; color: var(--ink); background: #fff; border: 1px solid #cbd3e0; border-radius: 14px; font-family: Inter, Arial, sans-serif; font-size: 14px; font-weight: 400; }
.onboarding-content input:focus { outline: 3px solid rgba(56,103,237,.16); border-color: var(--blue); }
.onboarding-content label small { color: var(--muted); font-family: Inter, sans-serif; font-size: 10px; font-weight: 400; }
.onboarding-content .button { width: 100%; margin-top: 3px; }
.onboarding-content fieldset { display: grid; gap: 11px; margin: 2px 0; padding: 17px; border: 1px solid var(--line); border-radius: 15px; }
.onboarding-content legend { padding: 0 7px; color: #26334a; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 13px; font-weight: 700; }
.onboarding-content fieldset .check-label { display: flex; grid-template-columns: none; font-family: Inter, sans-serif; font-weight: 500; }
.subdomain-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; overflow: hidden; border: 1px solid #cbd3e0; border-radius: 14px; }
.subdomain-field input { border: 0; border-radius: 0; }
.subdomain-field b { padding-right: 14px; color: var(--muted); font-family: Inter, sans-serif; font-size: 11px; font-weight: 600; }
.onboarding-success { padding: 20px; color: #215d48; background: var(--green-tint); border-radius: 16px; }
.onboarding-success strong { font-size: 18px; }
.onboarding-success p { margin: 7px 0 0; font-size: 12px; line-height: 1.55; }
.onboarding-signin { margin: 28px 0 0; color: var(--muted); font-size: 11px; text-align: center; }
.onboarding-signin a { color: var(--blue); font-weight: 700; text-decoration: none; }
.recovery-shell { width: min(640px, 100%); padding: 34px 40px 38px; border-radius: 24px; }
.recovery-shell .onboarding-content { margin-top: 48px; }
.recovery-shell .onboarding-content h1 { font-size: 38px; line-height: 1.05; }
.recovery-shell .onboarding-content > p:not(.account-intro) { max-width: 48ch; margin-bottom: 24px; font-size: 14px; line-height: 1.55; }
.recovery-shell .onboarding-content form { gap: 15px; }
.recovery-shell .onboarding-success { margin-top: 4px; padding: 17px 18px; border: 1px solid #cfe9db; }
.recovery-shell .onboarding-success strong { font-family: "Roboto Condensed", Inter, sans-serif; font-size: 16px; }
.recovery-shell .onboarding-success a { display: inline-block; margin-top: 9px; color: #215d48; font-size: 12px; font-weight: 700; }
.login-form-panel input::placeholder, .onboarding-content input::placeholder { color: #98a2b3; opacity: 1; font-weight: 400; }


.record-card-empty { grid-template-columns:48px minmax(0,1fr); cursor:default; }
.record-card-empty:hover { border-color:var(--line); box-shadow:0 8px 20px rgba(22,32,50,.025); }
.snapshot-empty { display:grid; gap:5px; padding:14px 0 16px; border-bottom:1px solid var(--line); }
.snapshot-empty strong { font-size:12px; }
.snapshot-empty small { color:var(--muted); font-size:9px; line-height:1.5; }
@media (max-width: 1100px) {
  .snapshot { display: none; }
  .page-grid { grid-template-columns: minmax(0, 790px); justify-content: center; }
  .login-card { grid-template-columns: minmax(500px, 1.08fr) minmax(0, .92fr); }
  .login-form-panel { padding-inline: clamp(42px, 7vw, 76px); }
}

@media (max-width: 760px) {
  :root { --sidebar-width: 0px; }
  body { background: var(--mist); }
  .app-shell { display: block; }
  .sidebar, .desktop-header { display: none; }
  .app-column { display: block; }
  .main-content { min-height: 100vh; padding: 0 0 82px; }
  .mobile-header { height: 106px; display: flex; align-items: flex-end; justify-content: space-between; padding: 0 24px 20px; }
  .mobile-header .brand-name { font-size: 24px; }
  .mobile-brand-mark { width: 32px; height: 32px; border-radius: 8px; }
  .mobile-header .avatar { width: 38px; height: 38px; flex-basis: 38px; font-size: 15px; }
  .mobile-tools { display: flex; align-items: center; gap: 10px; }
  .mobile-bell { display: none; }
  .page-grid { display: block; }
  .page-primary { padding: 0 24px 38px; }
  .page-heading-row { min-height: 122px; display: block; padding: 18px 24px 24px; }
  h1 { margin-bottom: 8px; font-size: 30px; line-height: 1.05; }
  .page-subtitle { font-size: 15px; }
  .page-actions { display: none; }
  .metric-bar { min-height: 96px; border-radius: 20px; }
  .metric-bar strong { font-size: 25px; }
  .metric-bar span { font-size: 11px; }
  .dashboard-section { margin-top: 18px; }
  .dashboard-section h2, .section-heading h2 { margin-bottom: 10px; font-size: 20px; }
  .record-stack { gap: 10px; }
  .record-card { min-height: 76px; grid-template-columns: 44px minmax(0,1fr) 17px; gap: 12px; padding: 10px 13px; border-radius: 18px; }
  .record-card .record-icon { width: 44px; height: 44px; border-radius: 13px; }
  .record-card .record-icon .icon { width: 21px; height: 21px; }
  .record-copy strong { margin-bottom: 4px; font-size: 15px; }
  .record-copy small { font-size: 12px; }
  .section-heading a { font-size: 12px; }
  .mobile-create { position: fixed; right: 24px; bottom: 85px; z-index: 30; width: 54px; height: 54px; display: grid; place-items: center; padding: 0; color: #fff; background: var(--blue); border: 0; border-radius: 50%; box-shadow: 0 12px 28px rgba(56,103,237,.28); cursor: pointer; }
  .mobile-create .icon { width: 28px; height: 28px; }
  .mobile-nav { position: fixed; inset: auto 0 0; z-index: 20; min-height: 70px; display: grid; grid-template-columns: repeat(5, 1fr); padding-bottom: env(safe-area-inset-bottom); background: var(--navy); }
  .mobile-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #b9bdc7; text-decoration: none; font-family: "Roboto Condensed", Inter, sans-serif; font-size: 10px; font-weight: 600; }
  .mobile-nav a.is-active { color: var(--blue); }
  .mobile-nav .icon { width: 21px; height: 21px; }
  .snapshot { display: none; }
  .more-view { padding-top: 1px; }
  .more-group { margin-bottom: 15px; }
  .more-group h2 { margin: 0 0 7px 3px; font-size: 10px; }
  .more-grid { display: block; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 22px; }
  .more-link { min-height: 70px; grid-template-columns: 42px minmax(0,1fr) 18px; padding: 9px 13px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
  .more-link:last-child { border-bottom: 0; }
  .more-link .record-icon { width: 42px; height: 42px; }
  .more-link strong { font-size: 15px; }
  .more-link small { font-size: 12px; }
  .sheet-heading h2 { font-size: 25px; }
  .action-row { min-height: 74px; }
  .action-row strong { font-size: 16px; }
  .action-row small { font-size: 12px; }

  .login-page { padding: 0; background: #fff; }
  .login-brand { padding-top: 0; }
  .login-brand img { width: 40px; height: 40px; }
  .login-brand .brand-name { font-size: 25px; }
  .login-card { width: 100%; min-height: 100vh; display: block; margin: 0; overflow: visible; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .login-form-panel { min-height: 100vh; padding: 32px 24px 22px; }
  .login-form-content { width: 100%; margin: 52px 0 0; }
  .login-form-panel h1 { margin-bottom: 10px; font-size: 33px; }
  .login-form-content > p { margin-bottom: 20px; font-size: 15px; line-height: 1.45; }
  .login-form-panel form { gap: 15px; margin: 0; }
  .login-form-panel input[type="email"], .login-form-panel input[type="password"], .login-form-panel input[type="text"] { height: 52px; }
  .login-submit { min-height: 52px; }
  .secure-note { margin-top: 3px; padding: 17px; }
  .secure-note strong { font-size: 16px; }
  .secure-note p { font-size: 13px; }
  .login-help { width: 100%; margin: auto auto 12px; font-size: 12px; text-align: center; }
  .login-assurance { display: none; }
  .mobile-powered-by { display: block; margin: 0 auto; color: var(--muted); font-size: 10px; text-align: center; text-decoration: none; }

  .account-header { min-height: 76px; padding: 15px 20px; }
  .account-header .login-brand img { width: 34px; height: 34px; }
  .account-header .login-brand .brand-name { font-size: 23px; }
  .account-person > span:first-child { display: none; }
  .account-main { width: 100%; display: block; padding: 44px 24px; }
  .account-main h1 { font-size: 33px; }
  .account-security { margin-top: 24px; }
  .onboarding-page { padding: 0; background: #fff; }
  .onboarding-shell { min-height: 100vh; padding: 30px 24px 24px; border: 0; border-radius: 0; box-shadow: none; }
  .onboarding-progress { margin: 42px 0 34px; }
  .onboarding-content h1 { font-size: 32px; }
  .onboarding-signin { margin-top: 24px; }
}

@media (max-width: 380px) {
  .mobile-header { padding-inline: 18px; }
  .page-heading-row { padding-inline: 18px; }
  .page-primary { padding-inline: 18px; }
  .metric-bar strong { font-size: 23px; }
  .metric-bar span { font-size: 10px; }
  .record-card { grid-template-columns: 42px minmax(0,1fr) 16px; gap: 10px; padding-inline: 11px; }
  .record-copy strong { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Shared password visibility control */
.password-input-wrap { position: relative; display: block; width: 100%; }
.password-input-wrap > input { width: 100%; padding-right: 52px !important; }
.password-visibility { position: absolute; top: 50%; right: 9px; width: 36px; height: 36px; transform: translateY(-50%); display: grid; place-items: center; border: 0; border-radius: 9px; background: transparent; color: #69778f; cursor: pointer; font-size: 17px; line-height: 1; }
.password-visibility .password-eye-icon { width: 21px; height: 21px; display: block; }
.password-visibility:hover, .password-visibility:focus-visible { background: #eef3ff; color: #315ee8; outline: none; }
.account-session-actions{display:flex;align-items:center;gap:8px}.account-session-actions button,.account-revoke-others{padding:7px 10px;background:#fff;border:1px solid #d7dde7;border-radius:8px;color:#344054;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.account-session-actions button:hover,.account-revoke-others:hover{background:#f7f8fa}.account-revoke-others{margin-top:10px}.account-security-status{min-height:18px;color:#52617a;font-size:12px}
/* Phase 2 Account Centre */
.account-centre{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:58px 0 80px}.account-hero>p:not(.account-intro){color:var(--muted);margin:0 0 28px}.account-hero h1{font-size:42px;margin:0 0 10px}.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.workspace-card{appearance:none;width:100%;min-height:154px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px;text-align:left;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:20px;text-decoration:none;cursor:pointer;box-shadow:0 8px 22px rgba(22,32,50,.035)}.workspace-card:hover{border-color:#9fb3e8;box-shadow:0 12px 28px rgba(22,32,50,.07)}.workspace-mark{width:54px;height:54px;display:grid;place-items:center;background:#edf3ff;color:var(--blue);border-radius:15px;font-size:19px;font-weight:800}.workspace-copy strong,.workspace-copy small,.workspace-copy em{display:block}.workspace-copy strong{font-size:18px}.workspace-copy small{margin-top:6px;color:var(--muted);font-size:12px}.workspace-copy em{margin-top:14px;color:#267653;font-size:11px;font-style:normal;font-weight:750}.workspace-action{align-self:end;color:var(--blue);font-size:12px;font-weight:750}.workspace-create{border-style:dashed}.account-tabs{display:flex;gap:8px;margin:44px 0 16px;padding:6px;background:#e9edf4;border-radius:14px;width:max-content}.account-tabs button{padding:10px 15px;border:0;background:transparent;border-radius:10px;color:#52617a;font:inherit;font-weight:700;cursor:pointer}.account-tabs button.is-active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(22,32,50,.07)}.account-panel{display:none;padding:28px;background:#fff;border:1px solid var(--line);border-radius:22px}.account-panel.is-active{display:block}.account-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.account-panel-head h2{font-size:25px;margin:0 0 6px}.account-panel-head p,.account-subsection>div>p{color:var(--muted);font-size:13px}.account-form,.address-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.account-form label,.address-form label{display:grid;gap:7px;font-size:12px;font-weight:750}.account-form input,.address-form input,.inline-add-form input{min-height:46px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:#fff;font:inherit}.account-form small{color:var(--muted);font-weight:400}.account-form .button{width:max-content}.account-subsection{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}.account-subsection h3{margin:0 0 5px}.profile-record,.security-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.profile-record strong,.profile-record small,.security-row strong,.security-row small{display:block}.profile-record small,.security-row small{margin-top:4px;color:var(--muted);font-size:11px}.profile-record button,.security-row button,.security-footer button,.inline-add-form button{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#344054;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.inline-add-form{display:grid;grid-template-columns:160px 1fr auto auto;gap:10px;align-items:center;margin-top:16px}.mini-check{display:flex!important;align-items:center;gap:7px!important}.mini-check input{min-height:auto!important}.span-2{grid-column:span 2}.location-list{margin-bottom:24px}.profile-empty{padding:18px;background:var(--mist);border-radius:12px;color:var(--muted)}.security-list{border-top:1px solid var(--line)}.security-row>span:last-child{display:flex;align-items:center;gap:12px}.security-row em{padding:5px 9px;border-radius:999px;background:#edf3ff;color:var(--blue);font-size:10px;font-style:normal;font-weight:750}.security-footer{display:flex;align-items:center;gap:16px;margin-top:20px}.security-footer p{color:var(--muted);font-size:12px}
@media(max-width:760px){.account-centre{width:100%;padding:36px 20px 60px}.account-hero h1{font-size:34px}.workspace-grid{grid-template-columns:1fr}.workspace-card{grid-template-columns:46px minmax(0,1fr);min-height:132px}.workspace-mark{width:46px;height:46px}.workspace-action{grid-column:2}.account-tabs{width:100%;overflow:auto}.account-tabs button{white-space:nowrap}.account-panel{padding:20px}.account-form,.address-form{grid-template-columns:1fr}.span-2{grid-column:auto}.inline-add-form{grid-template-columns:1fr}.account-panel-head{display:block}.account-panel-head .button{display:inline-block;margin-top:14px}.security-row{align-items:flex-start}.security-row>span:last-child{flex-direction:column;align-items:flex-end}.security-footer{display:block}.security-footer p{margin-top:10px}}
/* Account centre - workspace-first layout with account drawer */
.account-person-button{border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:6px 8px;border-radius:14px}.account-person-button:hover{background:#f3f5f9}.account-centre-home{width:min(1180px,calc(100% - 48px));display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;margin:0 auto;padding:64px 0 80px}.account-centre-home .account-hero h1{font-size:42px;margin:0 0 10px}.account-centre-home .account-hero>p:not(.account-intro){color:var(--muted);margin:0 0 28px}.account-centre-home .workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-centre-home .workspace-card{min-height:178px;grid-template-columns:52px minmax(0,1fr);align-content:center;position:relative;padding:22px}.account-centre-home .workspace-copy strong{font-size:17px}.workspace-host{margin-top:7px!important}.account-centre-home .workspace-action{grid-column:2;justify-self:end;margin-top:5px}.account-security-home{position:sticky;top:28px;align-self:start;min-height:430px;padding:28px;border-radius:24px}.account-security-kicker{margin:0 0 12px!important;color:#7fa4ff!important;font-size:10px!important;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.account-security-home h2{font-size:24px}.security-list-dark{margin-top:22px;border-top:1px solid rgba(255,255,255,.12)}.account-security-home .security-row{border-color:rgba(255,255,255,.12);color:#fff}.account-security-home .security-row small{color:#9fa9bd}.account-security-home .security-row em{background:rgba(65,112,255,.18);color:#a9c0ff}.account-security-home .security-row button{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff}.account-security-links{margin-top:10px;border-top:1px solid rgba(255,255,255,.12)}.account-security-links a,.account-security-links button{width:100%;display:flex;justify-content:space-between;gap:14px;padding:17px 0;border:0;border-bottom:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;text-decoration:none;font:inherit;font-size:12px;cursor:pointer}.account-security-links span{color:#fff}.account-security-links strong{color:#8fb0ff;font-size:11px}.account-security-home .account-security-status{color:#aeb7ca;margin-top:15px}.account-drawer-backdrop{position:fixed;inset:0;z-index:90;background:rgba(11,18,32,.32);backdrop-filter:blur(2px)}.account-drawer{position:fixed;z-index:100;top:0;right:0;width:min(460px,100vw);height:100dvh;display:flex;flex-direction:column;background:#f7f8fb;box-shadow:-24px 0 60px rgba(13,20,33,.18);transform:translateX(105%);transition:transform var(--motion-surface,.22s) var(--motion-ease,ease),visibility var(--motion-surface,.22s) var(--motion-ease,ease)}.account-drawer.is-open{transform:translateX(0)}.account-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 18px;background:#fff;border-bottom:1px solid var(--line)}.account-drawer-header>div{display:flex;align-items:center;gap:12px}.account-drawer-header strong,.account-drawer-header small{display:block}.account-drawer-header small{margin-top:3px;color:var(--muted);font-size:11px}.avatar-large{width:46px;height:46px;font-size:14px}.account-drawer-tabs{display:flex;gap:6px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line)}.account-drawer-tabs button{padding:9px 11px;border:0;border-radius:9px;background:transparent;color:#667085;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.account-drawer-tabs button.is-active{background:#edf3ff;color:var(--blue)}.account-drawer-scroll{overflow:auto;padding:18px}.account-drawer .account-panel{padding:22px;border-radius:18px}.account-drawer .account-form,.account-drawer .address-form{grid-template-columns:1fr}.account-drawer .span-2{grid-column:auto}.account-drawer .inline-add-form{grid-template-columns:1fr}.account-drawer .account-panel-head h2{font-size:22px}
@media(max-width:820px){.account-centre-home{width:100%;display:flex;flex-direction:column;padding:38px 20px 60px}.account-centre-home .workspace-grid{grid-template-columns:1fr}.account-centre-home .account-hero h1{font-size:34px}.account-security-home{position:static;width:100%;min-height:0}.account-centre-home .workspace-card{min-height:150px}.account-drawer-scroll{padding:14px}.account-person-button>span:first-child{display:none}
  /* Every Handled sidebar/drawer becomes a bottom sheet at the mobile breakpoint
     (see .ui-modal:is(.is-job-drawer,...), .customer-drawer) - Account Centre's
     drawer follows the same anatomy instead of staying a full-height right-anchored panel. */
  .account-drawer{top:auto;right:0;bottom:0;left:0;width:100%;height:auto;max-height:88dvh;border-radius:24px 24px 0 0;transform:translateY(105%)}
  .account-drawer.is-open{transform:translateY(0)}
  .account-drawer-scroll{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
}


/* Tenant business identity */
.sidebar-business-brand{display:flex;align-items:center;gap:11px;margin:12px 10px 14px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.055);min-width:0}.sidebar-business-brand>span:last-child{display:grid;gap:2px;min-width:0}.sidebar-business-brand strong{font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-business-brand small{font-size:10px;color:#98a2b3}.sidebar-business-logo,.sidebar-business-logo-fallback{width:40px;height:40px;flex:0 0 40px;border-radius:12px;object-fit:contain}.sidebar-business-logo{background:transparent;padding:0;filter:drop-shadow(0 10px 18px rgba(6,16,44,.18))}.sidebar-business-logo-fallback{display:grid;place-items:center;background:#edf3ff;color:#183b8f;font-weight:750;font-size:16px}.is-collapsed .sidebar-business-brand{padding:7px;margin-left:4px;margin-right:4px;justify-content:center}.is-collapsed .sidebar-business-brand>span:last-child{display:none}.is-collapsed .sidebar-business-logo,.is-collapsed .sidebar-business-logo-fallback{width:34px;height:34px;flex-basis:34px}

.workspace-mark.has-image{padding:0;background:transparent;border:0;overflow:visible}.workspace-mark.has-image img{display:block;width:100%;height:100%;object-fit:contain;border-radius:14px;filter:drop-shadow(0 8px 16px rgba(18,28,45,.12))}
.mfa-card{border:1px solid #e5e7eb;border-radius:16px;padding:18px;margin:12px 0 22px}.mfa-card p{color:#667085}.mfa-card [data-mfa-setup]{display:grid;gap:12px;margin-top:16px}.mfa-card [data-mfa-setup][hidden]{display:none}.recovery-codes{white-space:pre-wrap;background:#f7f8fa;border:1px solid #e5e7eb;border-radius:12px;padding:14px;font:600 13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.recovery-codes[hidden]{display:none}

/* Account Centre - authenticator setup */
.mfa-card{border:1px solid #e1e6ef;border-radius:18px;padding:0;margin:16px 0 24px;background:#fff;overflow:hidden}
.mfa-summary{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:18px 20px}
.mfa-icon{width:46px;height:46px;border-radius:13px;background:#eef3ff;color:#4167e8;display:grid;place-items:center}.mfa-icon svg{width:23px;height:23px}
.mfa-summary-copy{display:grid;gap:3px}.mfa-summary-copy strong{font-size:15px}.mfa-summary-copy small{font-size:13px;line-height:1.45;color:#667085;max-width:460px}
.mfa-badge{font-size:12px;font-weight:700;color:#667085;background:#f2f4f7;border-radius:999px;padding:6px 9px;white-space:nowrap}.mfa-setup-button{border:0;border-radius:10px;background:#4568e8;color:#fff;font:700 13px/1 inherit;padding:10px 15px;cursor:pointer}.mfa-setup-button:hover{filter:brightness(.96)}
.mfa-setup{border-top:1px solid #e7ebf1;padding:22px 22px 18px;background:#fbfcfe}.mfa-setup[hidden]{display:none}.mfa-setup-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.mfa-setup-head strong{font-size:17px}.mfa-setup-head p{margin:5px 0 0;color:#667085;font-size:13px;line-height:1.5}
.mfa-enrol{display:grid;grid-template-columns:172px minmax(0,1fr);gap:24px;align-items:start}.mfa-qr{width:172px;height:172px;border:1px solid #dce2ec;border-radius:14px;background:#fff;display:grid;place-items:center;padding:12px;box-sizing:border-box}.mfa-qr img,.mfa-qr canvas{max-width:100%;max-height:100%}.mfa-qr-loading{font-size:12px;color:#98a2b3;text-align:center}
.mfa-enrol-copy>p{margin:0 0 8px;color:#667085;font-size:13px}.mfa-enrol-copy .mfa-step-label{color:#101828;font-weight:750;font-size:14px;margin-top:3px}.mfa-manual{margin:14px 0 18px}.mfa-manual summary{cursor:pointer;color:#4568e8;font-size:13px;font-weight:700;list-style:none}.mfa-manual summary::-webkit-details-marker{display:none}.mfa-secret-row{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;background:#fff;border:1px solid #dce2ec;border-radius:10px}.mfa-secret-row code{font:650 12px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em;overflow-wrap:anywhere;flex:1}.mfa-secret-row button{border:0;background:transparent;color:#4568e8;font-weight:700;font-size:12px;cursor:pointer}
.mfa-code-field{display:grid!important;gap:7px!important;margin:0!important}.mfa-code-field span{font-size:14px;font-weight:750;color:#101828}.mfa-code-field input{height:46px!important;max-width:210px!important;border:1px solid #cfd6e2!important;border-radius:10px!important;padding:0 14px!important;background:#fff!important;font:700 18px/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.22em!important;box-sizing:border-box}.mfa-code-field input:focus{outline:3px solid rgba(69,104,232,.12)!important;border-color:#4568e8!important}
.mfa-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #e7ebf1}.mfa-actions .button{width:auto!important;min-width:110px;margin:0!important;padding:11px 16px!important;border-radius:10px!important}.mfa-cancel-button{background:#fff!important;color:#344054!important;border:1px solid #d0d5dd!important}.mfa-confirm-button{min-width:145px!important}.mfa-inline-status{min-height:0;margin:10px 0 0!important;font-size:12px!important;color:#b42318!important;text-align:right}.mfa-inline-status:empty{display:none}
.recovery-panel{border-top:1px solid #e7ebf1;padding:22px;background:#fbfcfe}.recovery-panel[hidden]{display:none}.recovery-panel>strong{font-size:17px}.recovery-panel>p{font-size:13px;color:#667085}.recovery-codes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;white-space:normal!important;background:#fff!important;margin:14px 0!important}.recovery-code{font:650 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;padding:8px 10px;border:1px solid #e1e6ef;border-radius:8px;text-align:center}
@media(max-width:680px){.mfa-summary{grid-template-columns:44px minmax(0,1fr) auto}.mfa-badge{grid-column:2}.mfa-setup-button{grid-column:3;grid-row:1/3}.mfa-enrol{grid-template-columns:1fr}.mfa-qr{width:168px;height:168px;margin:auto}.mfa-actions{justify-content:stretch}.mfa-actions .button{flex:1}.recovery-codes{grid-template-columns:1fr!important}}
.mfa-badge.is-enabled{background:#ecfdf3;color:#027a48}

/* MFA drawer fit + local QR */
.account-drawer .mfa-card{overflow:hidden}
.account-drawer .mfa-setup{padding:0!important}
.account-drawer .mfa-setup-head{padding:18px 18px 14px!important;gap:12px}
.account-drawer .mfa-setup-head>div{min-width:0}
.account-drawer .mfa-setup-head strong{font-size:17px!important}
.account-drawer .mfa-setup-head p{font-size:12px!important;line-height:1.45!important;margin-top:5px!important}
.account-drawer .mfa-enrol{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important;padding:18px!important}
.account-drawer .mfa-qr{width:184px!important;height:184px!important;min-width:184px!important;margin:0 auto!important;padding:8px!important;border-radius:16px!important}
.mfa-qr-svg{display:block;width:100%;height:100%}
.account-drawer .mfa-enrol-copy{width:100%;min-width:0}
.account-drawer .mfa-step-label{font-size:13px!important;margin:0 0 4px!important}
.account-drawer .mfa-enrol-copy>p:not(.mfa-step-label){font-size:12px!important;line-height:1.45!important;margin:0 0 12px!important}
.account-drawer .mfa-manual{margin:0 0 18px!important}
.account-drawer .mfa-manual summary{font-size:12px!important}
.account-drawer .mfa-secret-row{max-width:100%;overflow:hidden}
.account-drawer .mfa-secret-row code{min-width:0;overflow:auto;font-size:11px}
.account-drawer .mfa-code-field{width:100%}
.account-drawer .mfa-code-field span{font-size:13px!important}
.account-drawer .mfa-code-field input{width:100%!important;max-width:none!important;height:50px!important;text-align:center;font-size:20px!important}
.account-drawer .mfa-actions{padding:16px 18px 18px!important;margin:0!important;display:grid!important;grid-template-columns:1fr 1.35fr!important}
.account-drawer .mfa-actions .button{width:100%!important;min-width:0!important}
.account-drawer .mfa-inline-status{padding:0 18px 14px!important;text-align:left!important}
.login-mfa{margin-top:24px}.login-mfa-back{border:0;background:none;padding:0;color:#4968e8;font:inherit;font-weight:700;cursor:pointer}.login-mfa-methods{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.login-mfa-methods button{border:1px solid #d7deea;background:#fff;border-radius:10px;padding:9px 12px;font:inherit;font-weight:700;color:#344054;cursor:pointer}.login-mfa-code{display:grid;gap:8px;margin:20px 0}.login-mfa-code span{font-weight:700}.login-mfa-code input{width:100%;box-sizing:border-box;border:1px solid #cfd7e5;border-radius:12px;padding:14px 16px;font:inherit;font-size:22px;letter-spacing:.18em}.login-mfa .check-label{margin:14px 0 18px}
/* Login MFA replaces the credential form rather than stacking beneath it. */
[data-login-mfa-host]:empty{display:none}.login-mfa{margin:0}.login-mfa h1{margin:12px 0 8px;font-size:clamp(34px,3vw,48px);line-height:1.05}.login-mfa>p{color:var(--muted);font-size:16px;line-height:1.55;max-width:480px}.login-mfa-eyebrow{margin:34px 0 0!important;color:#4968e8!important;font-size:12px!important;font-weight:800;letter-spacing:.14em}.login-mfa-choice-list{display:grid;gap:12px;margin-top:28px}.login-mfa-choice-list button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:18px 20px;border:1px solid #d7deea;border-radius:14px;background:#fff;color:#111827;cursor:pointer;font:inherit}.login-mfa-choice-list button:hover{border-color:#8fa5f4;background:#f8faff}.login-mfa-choice-list span{display:grid;gap:4px}.login-mfa-choice-list strong{font-size:16px}.login-mfa-choice-list small{color:#667085;font-size:13px;font-weight:500}.login-mfa-choice-list b{color:#4968e8;font-size:20px}.login-mfa-resend{display:block;margin:14px auto 0;border:0;background:none;color:#4968e8;font:inherit;font-weight:700;cursor:pointer}.login-mfa-code input{font-variant-numeric:tabular-nums}.login-mfa .login-submit{width:100%}

/* Account centre list-first editing + destructive actions */
.record-actions{display:flex;align-items:center;gap:8px}.danger-action:hover,.profile-record .danger-action:hover,.security-row [data-revoke-trusted]:hover,.mfa-remove-button:hover{background:#fff1f0!important;border-color:#fda29b!important;color:#b42318!important}.account-add-button{margin-top:16px;background:#fff!important;color:var(--blue)!important;border:1px dashed #9db4f5!important}.account-add-button:hover{background:#f5f8ff!important;border-color:var(--blue)!important}.profile-empty-cta{display:grid;gap:5px}.profile-empty-cta strong{color:var(--ink)}.profile-empty-cta span{font-size:12px}.account-editor{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fafbfc}.account-editor[hidden]{display:none!important}.editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.editor-head>button{border:0;background:transparent;font-size:24px;color:#667085;cursor:pointer}.editor-actions{display:flex;justify-content:flex-end;gap:9px}.editor-actions>button{min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-weight:700;cursor:pointer}.mfa-summary{grid-template-columns:48px minmax(0,1fr) auto!important}.mfa-summary .mfa-setup-button,.mfa-summary .mfa-remove-button{grid-column:2/-1;justify-self:start;margin-top:2px}.mfa-remove-button{padding:9px 12px;border:1px solid #f1b7b2;border-radius:10px;background:#fff;color:#b42318;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.account-security-home .security-row{align-items:flex-start}.account-security-home .security-row>span:last-child{flex-direction:column;align-items:flex-end}.account-security-home .security-row button{margin-top:7px}.security-row [data-revoke-trusted]{margin-top:8px}
@media(max-width:680px){.record-actions{flex-direction:column;align-items:stretch}.record-actions button{width:100%}.profile-record{align-items:flex-start}.account-editor{padding:14px}.editor-actions{display:grid;grid-template-columns:1fr 1fr}.mfa-summary{grid-template-columns:44px minmax(0,1fr)!important}.mfa-summary .mfa-badge{grid-column:2!important}.mfa-summary .mfa-setup-button,.mfa-summary .mfa-remove-button{grid-column:2!important;grid-row:auto!important}.security-row [data-revoke-trusted]{align-self:flex-start}}

/* Phase 3 sidebar refinement */
.sidebar-business-home {
  flex: 0 0 auto;
  margin: 2px 6px 14px 0;
  text-decoration: none;
}
.sidebar-business-home small { color: #8fa1c5; }
.sidebar-business-home:hover { background: #202635; }
.is-collapsed .sidebar-business-home { justify-content: center; padding-inline: 0; }
.is-collapsed .sidebar-business-home > span { display: none; }

/* Phase 3D customer self-signup on tenant login */
.customer-signup-entry{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:15px;color:var(--muted);font-size:12px}.customer-signup-entry button{padding:0;border:0;background:transparent;color:var(--blue);font:inherit;font-weight:800;cursor:pointer}.customer-signup-entry button:hover,.customer-signup-entry button:focus-visible{text-decoration:underline;outline:none}.login-form-content [data-customer-signup]{width:100%}.login-form-content [data-customer-signup]>p:not(.login-mfa-eyebrow){margin:0 0 23px;color:var(--muted);font-size:14px;line-height:1.55}.login-form-content [data-customer-signup] form{margin-top:0}.login-form-content [data-customer-signup] .password-field>small{color:var(--muted);font-family:Inter,Arial,sans-serif;font-size:10px;font-weight:500;line-height:1.45}.customer-signup-success{padding:18px;color:#16377f;background:#e9efff;border:1px solid #cbd9ff;border-radius:16px}.customer-signup-success strong{display:block;margin-bottom:6px;font-size:16px}.customer-signup-success p{margin:0;color:#52617a;font-size:12px;line-height:1.55}
@media(max-width:760px){.customer-signup-entry{margin-top:13px}.login-form-content [data-customer-signup]>p:not(.login-mfa-eyebrow){font-size:13px}}

/* Persistent SSO / tenant-brand polish */
.business-brand-icon-company{object-fit:contain;background:transparent;border-radius:0;padding:0;box-sizing:border-box;filter:drop-shadow(0 10px 18px rgba(6,16,44,.18))}

/* Global interaction affordance: clickable controls should look and behave clickable. */
a[href],button:not(:disabled),[role="button"],summary,select,input[type="checkbox"],input[type="radio"]{cursor:pointer}
button:not(:disabled),a[href],[role="button"]{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}

/* Phase 3D access hub: a single Handled Account can open Manager and Customer surfaces independently. */
.workspace-access-card{cursor:default;grid-template-columns:52px minmax(0,1fr)!important;align-items:start!important;gap:16px!important}
.workspace-access-card:hover{transform:none}
.workspace-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.workspace-access-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.workspace-access-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#edf3ff;color:#3158c7;font-size:10px;font-weight:800;white-space:nowrap}
.workspace-access-badge.is-customer{background:#eaf7f0;color:#267653}
.workspace-access-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.workspace-access-action{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#25324b;text-decoration:none;font-size:12px;font-weight:800;transition:.16s ease}
.workspace-access-action:hover,.workspace-access-action:focus-visible{border-color:#9fb3e8;background:#f7f9ff;color:var(--blue);box-shadow:0 6px 18px rgba(44,76,161,.08);outline:none;transform:translateY(-1px)}
.workspace-access-action.is-manager{background:var(--blue);border-color:var(--blue);color:#fff}.workspace-access-action.is-manager:hover{background:#3158d9;color:#fff}
.workspace-access-action.is-customer{background:#f2fbf6;border-color:#cde9d9;color:#267653}.workspace-access-action.is-customer:hover{background:#e9f7ef;color:#1d6847}
.account-centre-home .workspace-access-card .workspace-copy{min-width:0}.account-centre-home .workspace-access-card .workspace-host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.workspace-title-row{display:grid;gap:8px}.workspace-access-badges{justify-content:flex-start}.workspace-access-actions{grid-template-columns:1fr}.workspace-access-card{grid-template-columns:46px minmax(0,1fr)!important}.workspace-access-card .workspace-copy{grid-column:2}.workspace-access-card .workspace-access-actions{grid-column:1/-1}}


/* Customer account signup should visually match the lighter invite flow. */
.login-form-content [data-customer-signup] h1{font-size:clamp(34px,3vw,46px);font-weight:650;letter-spacing:-.025em}
.login-form-content [data-customer-signup] .login-mfa-eyebrow{font-weight:650}
.login-form-content [data-customer-signup]>p:not(.login-mfa-eyebrow){font-weight:400}
.login-form-content [data-customer-signup] label{font-weight:600}
.login-form-content [data-customer-signup] .login-submit{font-weight:650}

/* Mobile tightening pass - spacing/layout only, keeping the normal Handled colours and typography. */
@media(max-width:760px){
  .mobile-header{height:56px!important;align-items:center!important;padding:0 16px!important;border-bottom:1px solid var(--line);background:#fff}.mobile-header .brand-name{font-size:20px!important}.mobile-brand-mark{width:30px!important;height:30px!important;border-radius:9px!important}.mobile-header .avatar{width:32px!important;height:32px!important;flex-basis:32px!important;font-size:12px!important}
  .main-content{padding-bottom:70px!important}.page-primary{padding:0 16px 28px!important}.page-heading-row{position:relative;min-height:auto!important;padding:16px 16px 12px!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important}.page-heading-row>div:first-child{min-width:0}.page-heading-row h1{margin:0!important;font-size:26px!important;line-height:1.1!important}.page-subtitle{margin-top:4px!important;font-size:14px!important;line-height:1.35!important}.page-actions{display:flex!important;align-items:center!important;gap:8px!important}.page-actions>[hidden]{display:none!important}.page-actions .quick-actions-button{display:none!important}.page-actions .button{min-height:36px!important;height:36px!important;padding:0 13px!important;border-radius:12px!important;font-size:12px!important}.page-actions [data-service-more-page]{display:none!important}
  .metric-bar{min-height:82px!important;padding:14px!important;border-radius:18px!important}.metric-bar strong{font-size:24px!important}.metric-bar span{font-size:10px!important}.dashboard-section{margin-top:16px!important}.dashboard-section h2,.section-heading h2{margin-bottom:8px!important;font-size:17px!important}.record-card{min-height:64px!important;grid-template-columns:40px minmax(0,1fr) 16px!important;gap:12px!important;padding:12px 14px!important;border-radius:18px!important}.record-card .record-icon{width:40px!important;height:40px!important;border-radius:12px!important}.record-copy strong{font-size:13px!important}.record-copy small{font-size:11px!important}
  .mobile-create{right:16px!important;bottom:76px!important;width:52px!important;height:52px!important}.mobile-nav{min-height:60px!important}.mobile-nav a{font-size:10px!important;gap:3px!important}.mobile-nav .icon{width:22px!important;height:22px!important}.sheet-heading{margin-bottom:4px!important}.sheet-heading h2{font-size:22px!important}.action-row{min-height:60px!important;grid-template-columns:40px minmax(0,1fr) 18px!important;gap:12px!important}.action-row .record-icon{width:40px!important;height:40px!important}.action-row strong{font-size:14px!important}.action-row small{font-size:11px!important}.action-row:last-child{border-bottom:0!important}
}

/* Working global search */
.global-search-wrap{position:relative}.global-search-results{position:absolute;z-index:90;right:0;top:calc(100% + 8px);width:min(460px,calc(100vw - 32px));max-height:70vh;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.18)}.global-search-results[hidden]{display:none}.global-search-section{display:grid;gap:2px;padding:4px 0}.global-search-section+ .global-search-section{border-top:1px solid #edf0f4;margin-top:4px;padding-top:8px}.global-search-section h3{margin:0;padding:6px 10px;color:#7a8599;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.global-search-result{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:0;border-radius:12px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.global-search-result:hover,.global-search-result:focus-visible{background:#eef3ff;outline:0}.global-search-result-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#edf2ff;color:#3159d5;font-size:11px;font-weight:900}.global-search-result>span:nth-child(2){display:grid;gap:2px;min-width:0}.global-search-result strong,.global-search-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-result strong{font-size:12px}.global-search-result small{color:var(--muted);font-size:10px}.global-search-result>b{font-size:20px;font-weight:500;color:#6f7b91}.global-search-loading,.global-search-empty{display:grid;gap:4px;padding:18px 14px;color:var(--muted);font-size:11px}.global-search-empty strong{color:var(--ink);font-size:12px}

/* Compact breadcrumb navigation. */
.breadcrumbs{gap:9px!important;font-size:12px!important}
.breadcrumbs b{font-size:18px!important;line-height:1!important}
.breadcrumbs strong{font-size:12px!important}
@media(max-width:760px){.breadcrumbs{gap:7px!important;font-size:11px!important}.breadcrumbs b{font-size:16px!important}.breadcrumbs strong{font-size:11px!important}}

/* Shared business snapshot + notifications */
.manager-notification-button{position:relative}.notification-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#e5484d;color:#fff;font-size:9px;font-weight:900;line-height:1}.manager-notification-button.has-unread{border-color:#b8c7f5;background:#f8faff}
.manager-notification-panel{position:fixed;z-index:120;top:72px;right:24px;width:min(390px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 96px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(12,18,32,.2)}.manager-notification-panel[hidden]{display:none}.manager-notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.manager-notification-panel-head span,.manager-notification-panel-head strong{display:block}.manager-notification-panel-head span{color:#4366e5;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.manager-notification-panel-head strong{margin-top:4px;font-size:17px}.manager-notification-panel-body{overflow:auto;padding:6px 14px}.manager-notification-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) 16px;gap:10px;align-items:start;padding:13px 4px;border:0;border-bottom:1px solid var(--line);background:#fff;color:inherit;text-align:left;font:inherit;cursor:pointer}.manager-notification-row:hover{background:#f8faff}.manager-notification-row.is-unread{background:#f3f6ff}.manager-notification-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#eaf0ff;color:#365dd8;font-weight:900}.manager-notification-row strong,.manager-notification-row small,.manager-notification-row em{display:block}.manager-notification-row strong{font-size:12px}.manager-notification-row small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.manager-notification-row em{margin-top:6px;color:#8994a8;font-size:9px;font-style:normal}.manager-notification-panel-foot{padding:12px 16px;border-top:1px solid var(--line)}.manager-notification-panel-foot button{width:100%;min-height:40px;border:1px solid #d7deea;border-radius:12px;background:#fff;color:#365dd8;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.notification-empty{padding:24px 8px;text-align:center;color:var(--muted);font-size:11px}.notification-empty strong,.notification-empty small{display:block}.notification-empty strong{color:var(--ink);font-size:13px}.notification-empty small{margin-top:5px;line-height:1.45}
.snapshot-list button{cursor:pointer;border-radius:10px;transition:background .14s ease,color .14s ease,transform .14s ease}.snapshot-list button:hover{background:#f7f9ff;color:#244fc8}.snapshot-list button:active{transform:translateY(1px)}
@media(max-width:760px){.manager-notification-panel{top:auto;left:12px;right:12px;bottom:12px;width:auto;max-height:min(72vh,620px);border-radius:22px}.manager-notification-panel-head{padding:16px}.manager-notification-panel-body{padding:4px 12px}.manager-notification-panel-foot{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}}


/* Phase 4 dashboard + notification action refinements */
.manager-notification-panel-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;background:#fff}
.manager-notification-panel-foot .notification-clear-all{width:auto;min-width:92px;color:#b42318;border-color:#f5c5c1;background:#fff}
.manager-notification-panel-foot .notification-clear-all:hover,.manager-notification-panel-foot .notification-clear-all:focus-visible{background:#feeceb;border-color:#f0aaa4;outline:0}
.dashboard-action-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;text-align:left;font:inherit;cursor:pointer;color:inherit}
.dashboard-action-card>b{font-size:24px;font-weight:500;color:#68758d}
.dashboard-action-card:hover,.dashboard-action-card:focus-visible{border-color:#aebde8;background:#fbfcff;outline:3px solid rgba(49,89,213,.10);outline-offset:2px}
.dashboard-job-card{grid-template-columns:auto minmax(0,1fr) auto 18px;gap:12px}
.dashboard-job-card .record-copy{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:4px 8px;min-width:0}
.dashboard-job-card .record-copy>strong,.dashboard-job-card .record-copy>small{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-job-card .record-copy>em{grid-column:1/-1;width:max-content;font-style:normal}
.dashboard-job-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:850}
.dashboard-job-status.is-scheduled,.dashboard-job-status.is-completed{background:#e9f7ef;color:#267653}.dashboard-job-status.is-progress{background:#e9efff;color:#315bd7}
.dashboard-job-value{display:grid;gap:3px;min-width:88px;text-align:right}.dashboard-job-value strong{font-size:13px}.dashboard-job-value small{color:var(--muted);font-size:9px}
@media(max-width:760px){.manager-notification-panel-foot{grid-template-columns:1fr}.manager-notification-panel-foot .notification-clear-all{width:100%}}
@media(max-width:760px){.dashboard-job-card{grid-template-columns:42px minmax(0,1fr) auto}.dashboard-job-card>b{display:none}.dashboard-job-value{min-width:68px}.dashboard-job-card .record-copy>strong{white-space:normal}}

.page-grid.is-calendar-page{max-width:1500px;grid-template-columns:minmax(0,1fr)}
.page-grid.is-calendar-page>.page-primary{grid-column:1}
.page-grid.is-calendar-page>.snapshot{display:none}

/* Dashboard job cards - mobile value column must stay inside the card.
   The global mobile .record-card rule reserves only 16px for the final column;
   dashboard job cards have a real price/reference block there, so give it its own
   intrinsic column and let the job copy absorb the remaining space. */
@media (max-width:760px) {
  .record-card.dashboard-job-card {
    grid-template-columns:40px minmax(0,1fr) minmax(60px,max-content)!important;
    column-gap:10px!important;
    overflow:hidden;
  }
  .dashboard-job-card .record-copy {
    min-width:0;
    overflow:hidden;
  }
  .dashboard-job-card .record-copy>strong {
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .dashboard-job-card .record-copy>small {
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .dashboard-job-card .dashboard-job-value {
    min-width:60px;
    max-width:88px;
    width:max-content;
    justify-self:end;
    align-self:center;
    overflow:hidden;
  }
  .dashboard-job-card .dashboard-job-value strong,
  .dashboard-job-card .dashboard-job-value small {
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

@media (max-width:380px) {
  .record-card.dashboard-job-card {
    grid-template-columns:38px minmax(0,1fr) minmax(54px,max-content)!important;
    gap:9px!important;
    padding-inline:12px!important;
  }
  .dashboard-job-card .record-icon {
    width:38px!important;
    height:38px!important;
  }
  .dashboard-job-card .dashboard-job-value {
    min-width:54px;
    max-width:76px;
  }
  .dashboard-job-card .dashboard-job-value strong {
    font-size:12px;
  }
}
/* Summary amounts remain navigable without decorative link underlines. */
.metric-bar a,.metric-bar a:hover,.metric-bar a:focus-visible{text-decoration:none;color:inherit}
.metric-bar a:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:3px}


/* Error messages should be visually unmistakable across Manager Portal forms. */
.form-status.is-error,
.error-message,
.form-error {
  color: var(--danger, #b42335);
}

/* Phase 9A notification items: per-row read state control */
.manager-notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line)}
.manager-notification-item>.manager-notification-row{border-bottom:0}
.manager-notification-toggle{margin-right:2px;padding:7px 9px;border:0;border-radius:9px;background:transparent;color:#4366e5;font:inherit;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.manager-notification-toggle:hover{background:#eef2ff}
.manager-notification-toggle:focus-visible{outline:3px solid #9bb3f7;outline-offset:1px}
@media(max-width:760px){.manager-notification-item{grid-template-columns:1fr}.manager-notification-toggle{justify-self:end;margin:-6px 0 8px}}

/* Tablet widths: the header search and breadcrumb shrink instead of pushing the page wider than the screen. */
.desktop-header { min-width: 0; }
.header-tools { min-width: 0; flex: 0 1 auto; }
.global-search-wrap { min-width: 0; flex: 0 1 230px; }
.global-search-wrap input { min-width: 0; max-width: 100%; }
@media (max-width: 1100px) { .desktop-header { gap: 12px; padding: 0 18px; } .global-search-wrap { flex-basis: 170px; } }
