/*
 * Airix Media client portal refresh
 * Visual layer only. Perfex behaviour and Bootstrap components remain intact.
 */

:root {
    --airix-ink: #211d17;
    --airix-ink-deep: #1c1813;
    --airix-charcoal: #2e2a24;
    --airix-paper: #fbf4e4;
    --airix-paper-bright: #fffaf0;
    --airix-paper-warm: #f3e6c8;
    --airix-body: #4b4438;
    --airix-muted: #8a7f6c;
    --airix-navy: #22384a;
    --airix-navy-light: #345066;
    --airix-rust: #9a4d2a;
    --airix-ember: #d86e1f;
    --airix-gold: #e7b83e;
    --airix-sage: #667b55;
    --airix-line: rgba(46, 42, 36, 0.16);
    --airix-line-soft: rgba(46, 42, 36, 0.09);
    --airix-on-dark: #fbf4e4;
    --airix-radius: 4px;
    --airix-shadow: 0 16px 42px rgba(33, 29, 23, 0.12);
    --airix-shadow-soft: 0 6px 20px rgba(33, 29, 23, 0.08);
    --airix-display: "Saira", "Arial Narrow", sans-serif;
    --airix-ui: "Saira", "Helvetica Neue", Arial, sans-serif;
    --airix-editorial: "Newsreader", Georgia, serif;
    --airix-serif: "Fraunces", Georgia, serif;
    --airix-mono: "Spline Sans Mono", ui-monospace, monospace;
    --airix-z-nav: 40;
    --airix-z-skip: 60;
}

/* ========================================================================
   AIRIX PORTAL 1.6.0.0 - STRUCTURAL DOCUMENT + WORKSPACE PASS
   This layer intentionally owns navigation priority, document readers,
   commercial metrics and semantic status colour. Keep it last.
   ======================================================================== */

body.airix-client-authenticated .airix-topbar > .container,
body.airix-client-authenticated .airix-content-container,
body.airix-client-authenticated .airix-alert-container,
body.airix-client-authenticated .airix-footer > .container {
    width: min(1660px, calc(100% - 64px)) !important;
    max-width: none !important;
}

body.airix-client-authenticated .airix-topbar .airix-nav > li.active > a,
body.airix-client-authenticated .airix-topbar .airix-nav > li > a[aria-current="page"] {
    color: #fffdf8 !important;
    background: #342d27 !important;
    box-shadow: inset 0 -3px 0 #c66547 !important;
    -webkit-text-fill-color: #fffdf8 !important;
}

body.airix-client-authenticated .airix-topbar .airix-nav > li.active > a::after,
body.airix-client-authenticated .airix-topbar .airix-nav > li > a[aria-current="page"]::after {
    display: none !important;
}

.airix-invoice-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    margin: 0 !important;
    border-top: 1px solid var(--airix-workspace-line, #ddd4c7);
    border-bottom: 1px solid var(--airix-workspace-line, #ddd4c7);
}

.airix-invoice-stat {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 190px;
    padding: 34px 34px 30px;
    color: var(--airix-workspace-text, #28241f) !important;
    border-right: 1px solid var(--airix-workspace-line, #ddd4c7);
    text-decoration: none !important;
}

.airix-invoice-stat:last-child { border-right: 0; }
.airix-invoice-stat__label {
    color: var(--airix-workspace-muted, #80766b) !important;
    font-family: var(--airix-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.airix-invoice-stat strong {
    margin-top: 28px;
    color: var(--airix-workspace-text, #28241f) !important;
    font-family: var(--airix-display);
    font-size: clamp(28px, 2.3vw, 40px);
    font-weight: 500;
    line-height: 1;
}
.airix-invoice-stat strong small { color: inherit !important; font-size: .72em; font-weight: 400; }
.airix-invoice-stat__track { display: block; height: 3px; margin-top: auto; background: var(--airix-workspace-subtle, #eee8de); }
.airix-invoice-stat__track > span { display: block; height: 100%; background: #c66547; }
.airix-invoice-stat--paid .airix-invoice-stat__track > span { background: #557a4e; }
.airix-invoice-stat--partial .airix-invoice-stat__track > span { background: #a66b26; }
.airix-invoice-stat--overdue .airix-invoice-stat__track > span { background: #a34b42; }

.airix-document-nav {
    width: min(1660px, calc(100% - 64px));
    margin: 28px auto 0;
    color: #fffdf8;
    border: 1px solid rgba(255,253,248,.15);
    background: #211e1a;
}
.airix-document-nav__inner { display: flex; align-items: stretch; min-height: 82px; }
.airix-document-nav__brand {
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 250px;
    padding: 0 28px;
    color: #c9c1b6 !important;
    border-right: 1px solid rgba(255,253,248,.15);
    font-family: var(--airix-mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-decoration: none !important;
    text-transform: uppercase;
}
.airix-document-nav__brand .navbar-brand,
.airix-document-nav__brand .airix-document-nav__home { float: none; height: auto; margin: 0; padding: 0; }
.airix-document-nav__brand img { display: block; width: auto; max-width: 152px; height: 34px; filter: brightness(0) invert(1) !important; opacity: .98; }
.airix-document-nav__links { display: flex; flex: 1 1 auto; align-items: stretch; justify-content: flex-end; }
.airix-document-nav__links a {
    display: flex;
    align-items: center;
    padding: 0 19px;
    color: #c8c0b5 !important;
    font-family: var(--airix-ui);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
}
.airix-document-nav__links a:hover { color: #fffdf8 !important; background: #342d27; }
.airix-document-nav__mode {
    align-self: center;
    flex: 0 0 48px;
    width: 48px !important;
    min-height: 48px !important;
    margin: 0 16px;
    color: #fffdf8 !important;
    border-color: rgba(255,253,248,.22) !important;
    background: transparent !important;
}

body.airix-portal .airix-document-toolbar-wrapper,
body.airix-portal .preview-top-wrapper,
body.airix-portal .invoice-html-content,
body.airix-portal .airix-document-reader,
body.airix-portal #proposal-wrapper {
    width: min(1660px, calc(100% - 64px)) !important;
    max-width: none !important;
}
body.airix-portal #proposal-wrapper { margin-right: auto; margin-left: auto; }
body.airix-portal .preview-sticky-container { padding: 22px 28px !important; }
body.airix-portal .invoice-html-content { border: 1px solid #ddd4c7 !important; box-shadow: 0 20px 60px rgba(12,10,8,.18) !important; }
body.airix-portal .invoice-html-content .airix-document-paper { position: relative; padding: clamp(42px, 5vw, 82px) !important; }
body.airix-portal .invoice-html-content .col-md-10.col-md-offset-1,
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s .col-md-10.col-md-offset-1 {
    width: 100% !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}
body.airix-portal .invoice-html-content .airix-invoice-hero :is(h1,p,span,strong) {
    color: #fffdf8 !important;
    -webkit-text-fill-color: #fffdf8 !important;
}
body.airix-portal .invoice-html-content .airix-invoice-hero .airix-document-kicker {
    color: #d47858 !important;
    -webkit-text-fill-color: #d47858 !important;
}
body.airix-portal .invoice-html-content .airix-invoice-hero :is(p,.airix-invoice-hero__amount > span) {
    color: #cfc6bb !important;
    -webkit-text-fill-color: #cfc6bb !important;
}
body.airix-portal .invoice-html-content .airix-invoice-hero .airix-invoice-stamp {
    color: #a66b26 !important;
    -webkit-text-fill-color: #a66b26 !important;
}

/* 1.6.0.2 — invoice artifact fidelity lock.
 * Source of truth: airix_invoice_final.html. The desktop reader is deliberately
 * a two-column document/payment composition; the right rail is not a CRM sidebar.
 */
body.airix-document-route.viewinvoice .airix-invoice-artifact-grid,
body.airix-document-route.invoice .airix-invoice-artifact-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 350px !important;
    align-items: start;
    gap: 20px;
    width: min(100% - 48px, 1840px) !important;
    max-width: none !important;
    margin: 38px auto 72px !important;
    padding: 0 !important;
}

body.airix-document-route.viewinvoice .airix-invoice-artifact-surface.invoice-html-content,
body.airix-document-route.invoice .airix-invoice-artifact-surface.invoice-html-content {
    position: relative;
    overflow: hidden;
    width: auto !important;
    max-width: none !important;
    min-height: 900px;
    margin: 0 !important;
    padding: 0 !important;
    color: #29251f !important;
    border: 1px solid #ded6c9 !important;
    border-radius: 0 !important;
    background: #fbf8f1 !important;
    box-shadow: 0 18px 50px rgba(37, 31, 24, .08) !important;
}

body.airix-document-route .airix-invoice-artifact-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 28px;
    padding: 34px 38px 30px;
    border-bottom: 1px solid #ded6c9;
    background: linear-gradient(135deg, #fffdf9 0%, #f6f0e6 100%) !important;
}
body.airix-document-route .airix-invoice-artifact-label,
body.airix-document-route .airix-invoice-artifact-total > span,
body.airix-document-route .airix-invoice-identity-cell > span {
    display: block;
    margin: 0 0 7px;
    color: #83796e !important;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .13em;
    line-height: 1.2;
    text-transform: uppercase;
    -webkit-text-fill-color: #83796e !important;
}
body.airix-document-route .airix-invoice-artifact-label {
    color: #c66547 !important;
    -webkit-text-fill-color: #c66547 !important;
}
body.airix-document-route .airix-invoice-artifact-hero h1 {
    margin: 5px 0 8px !important;
    color: #29251f !important;
    font-family: var(--airix-display) !important;
    font-size: clamp(35px, 3.6vw, 55px) !important;
    font-weight: 500 !important;
    letter-spacing: -.035em;
    line-height: .98;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-artifact-hero p {
    margin: 0;
    color: #83796e !important;
    font-family: var(--airix-serif) !important;
    font-size: 14px !important;
    line-height: 1.5;
    -webkit-text-fill-color: #83796e !important;
}
body.airix-document-route .airix-invoice-artifact-hero p strong {
    color: #29251f !important;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-artifact-total {
    min-width: 215px;
    text-align: right;
}
body.airix-document-route .airix-invoice-artifact-total strong {
    display: block;
    color: #29251f !important;
    font-family: var(--airix-display) !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 500 !important;
    line-height: 1;
    -webkit-text-fill-color: #29251f !important;
}

body.airix-document-route .airix-invoice-artifact-stamp {
    position: absolute;
    z-index: 4;
    top: 121px;
    right: 42px;
    min-width: 160px;
    padding: 13px 20px 11px;
    transform: rotate(-8deg);
    font-family: var(--airix-mono) !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    letter-spacing: .17em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    opacity: .46;
    border: 3px solid currentColor;
    background: rgba(251, 248, 241, .86);
    pointer-events: none;
}
body.airix-document-route .airix-invoice-artifact-stamp.airix-invoice-stamp-paid {
    color: #2f6b55 !important;
    -webkit-text-fill-color: #2f6b55 !important;
}
body.airix-document-route .airix-invoice-artifact-stamp.airix-invoice-stamp-unpaid,
body.airix-document-route .airix-invoice-artifact-stamp.airix-invoice-stamp-overdue,
body.airix-document-route .airix-invoice-artifact-stamp.airix-invoice-stamp-cancelled {
    color: #a65045 !important;
    -webkit-text-fill-color: #a65045 !important;
}
body.airix-document-route .airix-invoice-artifact-stamp.airix-invoice-stamp-partial {
    color: #9b6b2f !important;
    -webkit-text-fill-color: #9b6b2f !important;
}

body.airix-document-route .airix-invoice-artifact-content { padding: 32px 38px 38px; }
body.airix-document-route .airix-invoice-identity-row {
    display: grid;
    grid-template-columns: 1.55fr .7fr .7fr;
    border-top: 1px solid #ded6c9;
    border-bottom: 1px solid #ded6c9;
}
body.airix-document-route .airix-invoice-identity-cell {
    min-width: 0;
    padding: 18px 18px 18px 0;
}
body.airix-document-route .airix-invoice-identity-cell + .airix-invoice-identity-cell {
    padding-left: 18px;
    border-left: 1px solid #ded6c9;
}
body.airix-document-route .airix-invoice-identity-cell > div {
    overflow-wrap: anywhere;
    color: #29251f !important;
    font-family: var(--airix-ui) !important;
    font-size: 14px !important;
    line-height: 1.45;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-identity-cell > div strong {
    color: #29251f !important;
    font-size: 15px !important;
    -webkit-text-fill-color: #29251f !important;
}

body.airix-document-route .airix-invoice-artifact-section { padding-top: 34px; }
body.airix-document-route .airix-invoice-artifact-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 17px;
}
body.airix-document-route .airix-invoice-artifact-section-head h2 {
    margin: 0 !important;
    color: #29251f !important;
    font-family: var(--airix-display) !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 1.15;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-artifact-section-head > span {
    color: #83796e !important;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    letter-spacing: .11em;
    text-transform: uppercase;
    -webkit-text-fill-color: #83796e !important;
}
body.airix-document-route .airix-invoice-artifact-items { border-top: 1px solid #29251f; }
body.airix-document-route .airix-invoice-artifact-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 75px 100px 110px;
    align-items: start;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid #ded6c9;
}
body.airix-document-route .airix-invoice-artifact-item__number {
    color: #b7aa9a !important;
    font-family: var(--airix-display) !important;
    font-size: 20px !important;
    -webkit-text-fill-color: #b7aa9a !important;
}
body.airix-document-route .airix-invoice-artifact-item__copy strong {
    display: block;
    margin: 0 0 6px;
    color: #29251f !important;
    font-family: var(--airix-ui) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-artifact-item__copy p {
    margin: 0;
    color: #83796e !important;
    font-family: var(--airix-ui) !important;
    font-size: 12.5px !important;
    line-height: 1.55;
    -webkit-text-fill-color: #83796e !important;
}
body.airix-document-route .airix-invoice-artifact-item__value {
    padding-top: 3px;
    color: #29251f !important;
    font-family: var(--airix-ui) !important;
    font-size: 13px !important;
    line-height: 1.4;
    text-align: right;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-artifact-item__value > span {
    display: block;
    margin: 0 0 7px;
    color: #83796e !important;
    font-family: var(--airix-mono) !important;
    font-size: 9px !important;
    letter-spacing: .1em;
    text-transform: uppercase;
    -webkit-text-fill-color: #83796e !important;
}
body.airix-document-route .airix-invoice-artifact-item__amount { font-weight: 800 !important; }

body.airix-document-route .airix-invoice-artifact-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 40px;
    margin-top: 34px;
    padding-top: 22px;
    border-top: 1px solid #ded6c9;
}
body.airix-document-route .airix-invoice-artifact-terms,
body.airix-document-route .airix-invoice-artifact-terms * {
    color: #83796e !important;
    font-family: var(--airix-ui) !important;
    font-size: 11.5px !important;
    line-height: 1.65;
    -webkit-text-fill-color: #83796e !important;
}
body.airix-document-route .airix-invoice-artifact-terms strong {
    color: #29251f !important;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-artifact-totals > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 9px 0;
    color: #29251f !important;
    border-bottom: 1px solid #ded6c9;
    font-family: var(--airix-ui) !important;
    font-size: 12px !important;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-artifact-totals__grand {
    align-items: baseline;
    margin-top: 4px;
    padding: 14px 0 0 !important;
    border-bottom: 0 !important;
    border-top: 1px solid #29251f;
    font-weight: 800 !important;
}
body.airix-document-route .airix-invoice-artifact-totals__grand strong {
    color: #29251f !important;
    font-family: var(--airix-display) !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-artifact-signature {
    display: flex;
    justify-content: flex-end;
    margin-top: 34px;
}
body.airix-document-route .airix-invoice-artifact-signature > div {
    width: 245px;
    padding-top: 10px;
    border-top: 1px solid #29251f;
}
body.airix-document-route .airix-invoice-artifact-signature img {
    display: block;
    width: auto;
    max-width: 170px;
    max-height: 54px;
    margin: 0 0 7px;
    filter: grayscale(1) contrast(1.12);
}
body.airix-document-route .airix-invoice-artifact-signature span {
    color: #83796e !important;
    font-family: var(--airix-mono) !important;
    font-size: 8px !important;
    letter-spacing: .1em;
    text-transform: uppercase;
    -webkit-text-fill-color: #83796e !important;
}

body.airix-document-route .airix-invoice-payment-rail { min-width: 0; }
body.airix-document-route .airix-invoice-payment-panel {
    position: sticky;
    top: 96px;
    padding: 24px;
    color: #29251f !important;
    border: 1px solid #d8cfc2;
    background: #f4eee4 !important;
}
body.airix-document-route .airix-invoice-payment-panel__eyebrow {
    display: block;
    color: #c66547 !important;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .16em;
    text-transform: uppercase;
    -webkit-text-fill-color: #c66547 !important;
}
body.airix-document-route .airix-invoice-payment-panel__amount {
    display: block;
    margin: 8px 0 3px;
    overflow-wrap: anywhere;
    color: #29251f !important;
    font-family: var(--airix-display) !important;
    font-size: 37px !important;
    font-weight: 500 !important;
    line-height: 1.05;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-payment-panel > p,
body.airix-document-route .airix-invoice-payment-panel > small {
    display: block;
    margin: 0 0 24px;
    color: #83796e !important;
    font-family: var(--airix-ui) !important;
    font-size: 12px !important;
    line-height: 1.55;
    -webkit-text-fill-color: #83796e !important;
}
body.airix-document-route .airix-invoice-payment-panel > small { margin: 11px 0 0; font-size: 11.5px !important; }
body.airix-document-route .airix-invoice-payment-panel__pay {
    width: 100%;
    padding: 16px 18px;
    color: #fff !important;
    border: 0;
    border-radius: 0;
    background: #2f6b55 !important;
    font-family: var(--airix-mono) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .12em;
    text-transform: uppercase;
    -webkit-text-fill-color: #fff !important;
}
body.airix-document-route .airix-invoice-payment-panel hr { margin: 23px 0; border: 0; border-top: 1px solid #d8cfc2; }
body.airix-document-route .airix-invoice-payment-panel dl { display: grid; gap: 13px; margin: 0; }
body.airix-document-route .airix-invoice-payment-panel dl > div { display: flex; justify-content: space-between; gap: 12px; }
body.airix-document-route .airix-invoice-payment-panel dt,
body.airix-document-route .airix-invoice-payment-panel dd {
    margin: 0;
    color: #29251f !important;
    font-family: var(--airix-ui) !important;
    font-size: 12px !important;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-payment-panel dt { color: #83796e !important; font-weight: 400; -webkit-text-fill-color: #83796e !important; }
body.airix-document-route .airix-invoice-payment-panel dd { max-width: 60%; font-weight: 700; text-align: right; }
body.airix-document-route .airix-invoice-payment-panel__download {
    width: 100%;
    margin-top: 18px;
    padding: 12px 14px;
    color: #29251f !important;
    border: 1px solid #bfb5a8;
    border-radius: 0;
    background: transparent !important;
    font-family: var(--airix-mono) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .1em;
    text-transform: uppercase;
    -webkit-text-fill-color: #29251f !important;
}
body.airix-document-route .airix-invoice-payment-note {
    margin: 14px 2px 0;
    color: var(--airix-workspace-muted) !important;
    font-family: var(--airix-ui) !important;
    font-size: 11.5px !important;
    line-height: 1.55;
}
body.airix-document-route .airix-invoice-artifact-extras { margin-top: 34px; padding-top: 22px; border-top: 1px solid #ded6c9; }
body.airix-document-route .airix-invoice-artifact-payments { margin-top: 10px; }
body.airix-document-route .airix-invoice-mobile-paybar { display: none; }

@media (max-width: 1100px) {
    body.airix-document-route.viewinvoice .airix-invoice-artifact-grid,
    body.airix-document-route.invoice .airix-invoice-artifact-grid {
        grid-template-columns: minmax(0, 1fr) 310px !important;
    }
    body.airix-document-route .airix-invoice-artifact-item {
        grid-template-columns: 34px minmax(0, 1fr) 65px 100px;
    }
    body.airix-document-route .airix-invoice-artifact-item__rate { display: none; }
    body.airix-document-route .airix-invoice-artifact-bottom { grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; }
}

@media (max-width: 900px) {
    body.airix-document-route.viewinvoice .airix-invoice-artifact-grid,
    body.airix-document-route.invoice .airix-invoice-artifact-grid {
        grid-template-columns: 1fr !important;
        width: min(100% - 28px, 760px) !important;
        margin-top: 22px !important;
    }
    body.airix-document-route .airix-invoice-payment-panel { position: static; }
}

@media (max-width: 600px) {
    body.airix-document-route.viewinvoice .airix-invoice-artifact-grid,
    body.airix-document-route.invoice .airix-invoice-artifact-grid {
        width: 100% !important;
        margin-top: 0 !important;
        margin-bottom: 96px !important;
        gap: 0;
    }
    body.airix-document-route .airix-invoice-artifact-surface.invoice-html-content { border-right: 0 !important; border-left: 0 !important; box-shadow: none !important; }
    body.airix-document-route .airix-invoice-artifact-hero {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 28px 20px 24px;
    }
    body.airix-document-route .airix-invoice-artifact-total { min-width: 0; text-align: left; }
    body.airix-document-route .airix-invoice-artifact-stamp {
        top: 28px;
        right: 18px;
        min-width: 104px;
        padding: 9px 12px 8px;
        font-size: 13px !important;
        border-width: 2px;
    }
    body.airix-document-route .airix-invoice-artifact-content { padding: 22px 18px 30px; }
    body.airix-document-route .airix-invoice-identity-row { grid-template-columns: 1fr 1fr; }
    body.airix-document-route .airix-invoice-identity-cell:first-child { grid-column: 1 / -1; padding-right: 0; border-bottom: 1px solid #ded6c9; }
    body.airix-document-route .airix-invoice-identity-cell:nth-child(2) { padding-left: 0; border-left: 0; }
    body.airix-document-route .airix-invoice-artifact-section-head { align-items: flex-start; flex-direction: column; }
    body.airix-document-route .airix-invoice-artifact-item {
        grid-template-columns: 28px minmax(0, 1fr) auto;
        gap: 10px;
        padding: 16px 0;
    }
    body.airix-document-route .airix-invoice-artifact-item__copy { min-width: 0; }
    body.airix-document-route .airix-invoice-artifact-item__value { display: none; }
    body.airix-document-route .airix-invoice-artifact-item__amount { display: block; min-width: 78px; }
    body.airix-document-route .airix-invoice-artifact-bottom { grid-template-columns: 1fr; gap: 26px; }
    body.airix-document-route .airix-invoice-artifact-signature { justify-content: flex-start; }
    body.airix-document-route .airix-invoice-payment-rail { padding: 18px; background: #f8f4ec; }
    body.airix-document-route .airix-invoice-mobile-paybar {
        position: fixed;
        z-index: 1000;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
        border-top: 1px solid #d8cfc2;
        background: #211e1a;
        box-shadow: 0 -12px 30px rgba(0,0,0,.15);
    }
    body.airix-document-route .airix-invoice-mobile-paybar > div { display: grid; }
    body.airix-document-route .airix-invoice-mobile-paybar span { color: #bdb4aa !important; font-family: var(--airix-mono) !important; font-size: 8px !important; letter-spacing: .1em; text-transform: uppercase; }
    body.airix-document-route .airix-invoice-mobile-paybar strong { color: #fff !important; font-family: var(--airix-display) !important; font-size: 20px !important; font-weight: 500 !important; -webkit-text-fill-color: #fff !important; }
    body.airix-document-route .airix-invoice-mobile-paybar button { padding: 13px 20px; color: #fff !important; border: 0; border-radius: 0; background: #2f6b55 !important; font-family: var(--airix-mono) !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; -webkit-text-fill-color: #fff !important; }
}

/* Artifact document shell: common to invoice, estimate, proposal, contract and subscription readers. */
body.airix-portal.airix-document-route,
body.airix-portal.airix-document-route #wrapper,
body.airix-portal.airix-document-route #content,
body.airix-portal.airix-document-route main {
    background: #211e1a !important;
}

body.airix-portal.airix-document-route .airix-content-container {
    width: min(2200px, calc(100% - 112px)) !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body.airix-portal.airix-document-route .airix-content-container > .row {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.airix-portal.airix-document-route .airix-document-standalone-brand {
    width: 100% !important;
    margin: 38px 0 30px !important;
}

body.airix-portal.airix-document-route .airix-document-standalone-brand__logo,
body.airix-portal.airix-document-route .airix-document-standalone-brand__logo img {
    display: block;
    width: auto !important;
    max-width: 430px !important;
    max-height: 108px !important;
    margin: 0 !important;
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
}

body.airix-portal.airix-document-route .airix-document-toolbar-wrapper,
body.airix-portal.airix-document-route .preview-top-wrapper,
body.airix-portal.airix-document-route .airix-document-reader,
body.airix-portal.airix-document-route #proposal-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.airix-portal.airix-document-route .preview-sticky-container {
    width: 100% !important;
    max-width: none !important;
    min-height: 126px;
    padding: 28px 16px !important;
}

body.airix-portal.airix-document-route .preview-sticky-container :is(.sm\:tw-flex,.row) {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

@media (max-width: 900px) {
    body.airix-portal.airix-document-route .airix-content-container {
        width: calc(100% - 28px) !important;
    }

    body.airix-portal.airix-document-route .airix-document-standalone-brand {
        margin-top: 24px !important;
        margin-bottom: 22px !important;
    }

    body.airix-portal.airix-document-route .airix-document-standalone-brand__logo,
    body.airix-portal.airix-document-route .airix-document-standalone-brand__logo img {
        max-width: 250px !important;
        max-height: 76px !important;
    }
}

/* 1.6.0.1 — invoice reader fidelity lock: match the approved artifact exactly. */
body.airix-portal.viewinvoice,
body.airix-portal.viewinvoice #wrapper,
body.airix-portal.viewinvoice #content,
body.airix-portal.viewinvoice main {
    color: #28241f !important;
    background: #211e1a !important;
}

body.airix-portal .airix-document-standalone-brand {
    width: min(1660px, calc(100% - 64px));
    margin: 52px auto 30px;
}

body.airix-portal .airix-document-standalone-brand__logo {
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: 390px;
    margin: 0;
}

body.airix-portal .airix-document-standalone-brand__logo img {
    display: block;
    width: auto !important;
    max-width: 390px !important;
    max-height: 104px !important;
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
}

body.airix-portal.viewinvoice .airix-document-toolbar-wrapper {
    margin-top: 0 !important;
}

body.airix-portal.viewinvoice .preview-sticky-container {
    min-height: 126px;
    padding: 28px 16px !important;
}

body.airix-portal.viewinvoice .preview-sticky-container > .sm\:tw-flex {
    align-items: center;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.airix-portal.viewinvoice .invoice-html-content {
    margin-top: 38px !important;
}

body.airix-portal.viewinvoice .invoice-html-content .airix-document-paper {
    min-height: 960px;
    padding: clamp(44px, 5vw, 82px) !important;
}

body.airix-portal.viewinvoice .airix-invoice-paper-stamp {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    display: inline-flex !important;
    min-width: 184px;
    min-height: 66px;
    margin: 0 0 clamp(78px, 8vw, 138px) 0 !important;
    padding: 14px 24px !important;
    font-size: 18px !important;
    transform: rotate(-2deg) !important;
}

body.airix-portal.viewinvoice .invoice-html-content .row.mtop20 {
    margin-top: 0 !important;
}

body.airix-portal.viewinvoice .airix-footer {
    margin-top: 80px;
}

@media (max-width: 900px) {
    body.airix-portal .airix-document-standalone-brand {
        width: calc(100% - 28px);
        margin-top: 28px;
    }

    body.airix-portal .airix-document-standalone-brand__logo,
    body.airix-portal .airix-document-standalone-brand__logo img {
        max-width: 250px !important;
        max-height: 76px !important;
    }

    body.airix-portal.viewinvoice .preview-sticky-container {
        min-height: 0;
        padding: 20px 16px !important;
    }

    body.airix-portal.viewinvoice .airix-invoice-paper-stamp {
        margin-bottom: 64px !important;
    }
}

@media (max-width: 560px) {
    body.airix-portal .airix-document-standalone-brand {
        margin-top: 22px;
        margin-bottom: 22px;
    }

    body.airix-portal .airix-document-standalone-brand__logo,
    body.airix-portal .airix-document-standalone-brand__logo img {
        max-width: 210px !important;
        max-height: 62px !important;
    }

    body.airix-portal.viewinvoice .preview-sticky-container .tw-flex.tw-items-end {
        flex-direction: row;
        flex-wrap: wrap;
    }

    body.airix-portal.viewinvoice .airix-invoice-paper-stamp {
        min-width: 150px;
        min-height: 54px;
        margin-bottom: 50px !important;
        font-size: 14px !important;
    }
}

/* The invoice artifact is deliberately wider than the standard portal container. */
body.airix-portal.viewinvoice .airix-content-container {
    width: min(2200px, calc(100% - 112px)) !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body.airix-portal.viewinvoice .airix-content-container > .row {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.airix-portal.viewinvoice :is(.airix-document-standalone-brand,.airix-document-toolbar-wrapper,.preview-top-wrapper,.invoice-html-content) {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.airix-portal.viewinvoice .airix-document-standalone-brand {
    margin-top: 38px !important;
}

@media (max-width: 900px) {
    body.airix-portal.viewinvoice .airix-content-container {
        width: calc(100% - 28px) !important;
    }
}

.airix-invoice-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, auto);
    align-items: end;
    gap: 42px;
    margin: calc(clamp(42px, 5vw, 82px) * -1) calc(clamp(42px, 5vw, 82px) * -1) 64px;
    padding: 52px clamp(42px, 5vw, 82px);
    color: #fffdf8;
    background: #211e1a;
}
.airix-invoice-hero h1 { margin: 8px 0 0; color: #fffdf8 !important; font-family: var(--airix-display); font-size: clamp(42px, 5vw, 76px); font-weight: 500; line-height: .95; }
.airix-invoice-hero p { margin: 16px 0 0; color: #cfc6bb !important; font-family: var(--airix-serif); font-size: 18px; }
.airix-invoice-hero .airix-document-kicker { color: #d47858 !important; }
.airix-invoice-hero__amount { text-align: right; }
.airix-invoice-hero__amount span { display: block; color: #cfc6bb !important; font-family: var(--airix-mono); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.airix-invoice-hero__amount strong { display: block; margin-top: 9px; color: #fffdf8 !important; font-family: var(--airix-display); font-size: clamp(30px, 3vw, 50px); font-weight: 500; }
.airix-invoice-hero .airix-invoice-stamp { position: absolute; top: 30px; right: clamp(42px, 5vw, 82px); transform: rotate(-3deg); }

/* Paper is paper in both modes. Generic dark table striping must never leak in. */
body.airix-portal :is(.invoice-html-content,.estimate-html,.contract-left,.proposal-left,#proposal-wrapper) .panel-body,
body.airix-portal :is(.invoice-html-content,.estimate-html,.contract-left,.proposal-left,#proposal-wrapper) .table-responsive {
    color: #28241f !important;
    background: #fffdf8 !important;
}
body.airix-portal :is(.invoice-html-content,.estimate-html,.contract-left,.proposal-left,#proposal-wrapper) table > tbody > tr,
body.airix-portal :is(.invoice-html-content,.estimate-html,.contract-left,.proposal-left,#proposal-wrapper) table > tbody > tr:nth-of-type(odd),
body.airix-portal :is(.invoice-html-content,.estimate-html,.contract-left,.proposal-left,#proposal-wrapper) table > tbody > tr:nth-of-type(even),
body.airix-portal :is(.invoice-html-content,.estimate-html,.contract-left,.proposal-left,#proposal-wrapper) table > tbody > tr > td {
    color: #28241f !important;
    border-color: #ddd4c7 !important;
    background: #fffdf8 !important;
    -webkit-text-fill-color: #28241f !important;
}
body.airix-portal :is(.invoice-html-content,.estimate-html,.contract-left,.proposal-left,#proposal-wrapper) table > thead > tr > th {
    color: #6f665d !important;
    border-color: #ddd4c7 !important;
    background: #f3ede3 !important;
    -webkit-text-fill-color: #6f665d !important;
}

/* Semantic status palette. Identical contrast in light and dark workspaces. */
body.airix-portal :is(.label,.badge,.s-status) {
    display: inline-flex !important;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}
body.airix-portal :is(.label-default,.badge-default) { color: #4f4942 !important; border-color: #cfc6ba !important; background: #e9e3da !important; -webkit-text-fill-color: #4f4942 !important; }
body.airix-portal :is(.label-info,.badge-info) { color: #214f64 !important; border-color: #9dbbc8 !important; background: #dce9ee !important; -webkit-text-fill-color: #214f64 !important; }
body.airix-portal :is(.label-success,.badge-success) { color: #1d5842 !important; border-color: #96b9a8 !important; background: #dfeee6 !important; -webkit-text-fill-color: #1d5842 !important; }
body.airix-portal :is(.label-warning,.badge-warning) { color: #774616 !important; border-color: #d7b47e !important; background: #f6e8d2 !important; -webkit-text-fill-color: #774616 !important; }
body.airix-portal :is(.label-danger,.badge-danger) { color: #7c302c !important; border-color: #d2a09c !important; background: #f4deda !important; -webkit-text-fill-color: #7c302c !important; }
body.airix-portal :is(.invoice-status-1,.project-status-2) { color: #214f64 !important; border-color: #9dbbc8 !important; background: #dce9ee !important; -webkit-text-fill-color: #214f64 !important; }
body.airix-portal .invoice-status-2 { color: #1d5842 !important; border-color: #96b9a8 !important; background: #dfeee6 !important; -webkit-text-fill-color: #1d5842 !important; }
body.airix-portal .invoice-status-3 { color: #774616 !important; border-color: #d7b47e !important; background: #f6e8d2 !important; -webkit-text-fill-color: #774616 !important; }
body.airix-portal .invoice-status-4 { color: #7c302c !important; border-color: #d2a09c !important; background: #f4deda !important; -webkit-text-fill-color: #7c302c !important; }

@media (max-width: 1100px) {
    .airix-document-nav__links a { padding: 0 11px; font-size: 12px; }
    .airix-document-nav__brand { min-width: 210px; }
    .airix-invoice-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .airix-invoice-stat:nth-child(2) { border-right: 0; }
    .airix-invoice-stat:nth-child(-n+2) { border-bottom: 1px solid var(--airix-workspace-line, #ddd4c7); }
}

@media (max-width: 900px) {
    body.airix-client-authenticated .airix-topbar > .container,
    body.airix-client-authenticated .airix-content-container,
    body.airix-client-authenticated .airix-alert-container,
    body.airix-client-authenticated .airix-footer > .container,
    .airix-document-nav,
    body.airix-portal .airix-document-toolbar-wrapper,
    body.airix-portal .preview-top-wrapper,
    body.airix-portal .invoice-html-content,
    body.airix-portal .airix-document-reader,
    body.airix-portal #proposal-wrapper { width: calc(100% - 28px) !important; }
    .airix-document-nav__links { display: none; }
    .airix-document-nav__brand { flex: 1 1 auto; border-right: 0; }
    .airix-invoice-hero { grid-template-columns: 1fr; align-items: start; }
    .airix-invoice-hero__amount { text-align: left; }
}

@media (max-width: 620px) {
    .airix-invoice-stats-grid { grid-template-columns: 1fr; }
    .airix-invoice-stat { min-height: 150px; border-right: 0; border-bottom: 1px solid var(--airix-workspace-line, #ddd4c7); }
    .airix-invoice-stat:last-child { border-bottom: 0; }
    .airix-invoice-hero .airix-invoice-stamp { position: static; justify-self: start; transform: rotate(-2deg); }
}

html {
    scroll-behavior: smooth;
}

body.airix-portal {
    position: relative;
    min-height: 100dvh;
    color: var(--airix-body);
    background: var(--airix-paper);
    font-family: var(--airix-ui);
    font-size: 14px;
    line-height: 1.55;
}

body.airix-portal::before {
    position: fixed;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    content: "";
    opacity: 0.18;
    background-image: radial-gradient(rgba(33, 29, 23, 0.13) 0.6px, transparent 0.6px);
    background-size: 6px 6px;
    mix-blend-mode: multiply;
}

body.airix-portal > * {
    position: relative;
    z-index: 1;
}

body.airix-portal a {
    color: var(--airix-rust);
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body.airix-portal a:hover,
body.airix-portal a:focus,
body.airix-portal a:active {
    color: var(--airix-ember);
}

body.airix-portal :focus-visible {
    outline: 3px solid rgba(216, 110, 31, 0.45);
    outline-offset: 3px;
}

.airix-skip-link {
    position: fixed;
    z-index: var(--airix-z-skip);
    top: 12px;
    left: 16px;
    padding: 10px 14px;
    color: var(--airix-on-dark) !important;
    background: var(--airix-ink);
    border-radius: var(--airix-radius);
    transform: translateY(-180%);
}

.airix-skip-link:focus {
    transform: translateY(0);
}

/* Top navigation */

body.airix-portal .navbar.airix-topbar {
    position: sticky;
    top: 0;
    z-index: var(--airix-z-nav);
    min-height: 76px;
    margin-bottom: 0;
    border: 0;
    border-bottom: 1px solid rgba(251, 244, 228, 0.16);
    border-radius: 0;
    background: rgba(33, 29, 23, 0.97);
    box-shadow: 0 8px 26px rgba(28, 24, 19, 0.13);
}

body.airix-portal .airix-topbar__inner {
    display: flex;
    align-items: center;
    min-height: 76px;
}

body.airix-portal .airix-topbar .navbar-header {
    display: flex;
    align-items: center;
}

body.airix-portal .airix-topbar .navbar-brand {
    display: inline-flex;
    align-items: center;
    height: 76px;
    padding: 0;
}

body.airix-portal .airix-topbar .navbar-brand.logo-text {
    color: var(--airix-on-dark) !important;
    font-family: var(--airix-display);
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.02em;
}

body.airix-portal .airix-topbar .navbar-brand img {
    width: auto;
    max-width: 188px;
    height: 34px;
    filter: brightness(0) invert(1);
    object-fit: contain;
}

body.airix-portal .airix-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
}

body.airix-portal .airix-nav > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 9px 13px;
    color: rgba(251, 244, 228, 0.74) !important;
    font-family: var(--airix-ui);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.09em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.airix-portal .airix-nav > li > a::after {
    position: absolute;
    right: 13px;
    bottom: 3px;
    left: 13px;
    height: 2px;
    content: "";
    background: var(--airix-ember);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 180ms ease;
}

body.airix-portal .airix-nav > li > a:hover,
body.airix-portal .airix-nav > li > a:focus,
body.airix-portal .airix-nav > li.active > a,
body.airix-portal .airix-nav > li > a[aria-current="page"] {
    color: var(--airix-on-dark) !important;
    background: rgba(251, 244, 228, 0.08) !important;
}

body.airix-portal .airix-nav > li.active > a::after,
body.airix-portal .airix-nav > li > a[aria-current="page"]::after,
body.airix-portal .airix-nav > li > a:hover::after,
body.airix-portal .airix-nav > li > a:focus::after {
    transform: scaleX(1);
}

body.airix-portal .airix-nav > li.customers-nav-item-login > a {
    margin-left: 7px;
    padding-right: 16px;
    padding-left: 16px;
    color: var(--airix-ink) !important;
    background: var(--airix-gold) !important;
    border-radius: var(--airix-radius) !important;
}

body.airix-portal .airix-nav > li.customers-nav-item-login > a::after {
    display: none;
}

body.airix-portal .airix-nav > li.customers-nav-item-login > a:hover,
body.airix-portal .airix-nav > li.customers-nav-item-login > a:focus {
    color: var(--airix-ink) !important;
    background: #f0c95b !important;
    transform: translateY(-1px);
}

body.airix-portal .airix-topbar .customers-nav-item-profile > a {
    min-width: 48px;
    padding-right: 4px;
    padding-left: 12px;
    background: transparent !important;
}

body.airix-portal .airix-topbar .client-profile-image-small {
    width: 32px;
    height: 32px;
    border: 2px solid rgba(251, 244, 228, 0.4);
    border-radius: 50%;
    object-fit: cover;
}

body.airix-portal .airix-topbar .dropdown-menu {
    min-width: 220px;
    margin-top: 10px;
    padding: 8px;
    border: 1px solid var(--airix-line);
    border-radius: var(--airix-radius);
    background: var(--airix-paper-bright);
    box-shadow: var(--airix-shadow);
}

body.airix-portal .airix-topbar .dropdown-menu > li > a {
    padding: 10px 12px;
    color: var(--airix-body);
    font-size: 13px;
}

body.airix-portal .airix-topbar .dropdown-menu > li > a:hover,
body.airix-portal .airix-topbar .dropdown-menu > li > a:focus {
    color: var(--airix-ink);
    background: var(--airix-paper-warm);
}

body.airix-portal .airix-menu-toggle {
    margin: 0;
    padding: 9px 10px;
    border: 1px solid rgba(251, 244, 228, 0.25);
    border-radius: var(--airix-radius);
}

body.airix-portal .airix-menu-toggle .icon-bar {
    background: var(--airix-on-dark);
}

/* Page rhythm and shared surfaces */

body.airix-portal .airix-page-shell {
    min-height: calc(100dvh - 76px);
    background:
        radial-gradient(circle at 90% 0%, rgba(231, 184, 62, 0.12), transparent 27rem),
        var(--airix-paper);
}

body.airix-portal .airix-page-content {
    min-height: calc(100dvh - 140px);
    padding: 50px 0 80px;
}

body.airix-portal .airix-page-content > .container,
body.airix-portal .airix-topbar > .container,
body.airix-portal .airix-footer > .container {
    width: min(1180px, calc(100% - 64px));
    max-width: 1180px;
}

body.airix-portal .airix-page-content h1,
body.airix-portal .airix-page-content h2,
body.airix-portal .airix-page-content h3,
body.airix-portal .airix-page-content h4,
body.airix-portal .airix-page-content h5 {
    color: var(--airix-charcoal);
    font-family: var(--airix-display);
    font-weight: 500;
    letter-spacing: -0.018em;
}

body.airix-portal .airix-page-content h3,
body.airix-portal .airix-page-content h4 {
    line-height: 1.2;
}

body.airix-portal .section-heading,
body.airix-portal .section-text,
body.airix-portal .projects-summary-heading,
body.airix-portal .invoices-quick-info-heading,
body.airix-portal .tickets-summary-heading,
body.airix-portal .contracts-summary-heading {
    color: var(--airix-charcoal) !important;
    font-family: var(--airix-display) !important;
    font-weight: 500 !important;
}

body.airix-portal .section-heading {
    margin-top: 0;
    margin-bottom: 18px;
    font-size: 28px;
}

body.airix-portal .panel_s {
    overflow: hidden;
    border: 1px solid var(--airix-line);
    border-radius: var(--airix-radius);
    background: rgba(255, 250, 240, 0.72);
    box-shadow: var(--airix-shadow-soft);
}

body.airix-portal .panel_s .panel-body {
    padding: 28px;
}

body.airix-portal .panel_s .panel-footer {
    padding: 16px 28px;
    border-top: 1px solid var(--airix-line-soft);
    background: rgba(243, 230, 200, 0.34);
}

body.airix-portal hr {
    margin-top: 28px;
    margin-bottom: 28px;
    border-top: 1px solid var(--airix-line);
}

body.airix-portal .alert {
    border: 1px solid var(--airix-line);
    border-left: 3px solid var(--airix-ember);
    border-radius: var(--airix-radius);
    background: rgba(243, 230, 200, 0.64);
    color: var(--airix-body);
}

body.airix-portal .alert-success {
    border-left-color: var(--airix-sage);
    background: rgba(102, 123, 85, 0.11);
}

body.airix-portal .alert-danger {
    border-left-color: var(--airix-rust);
    background: rgba(154, 77, 42, 0.1);
}

/* Buttons and form controls */

body.airix-portal .btn {
    min-height: 40px;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: var(--airix-radius);
    font-family: var(--airix-ui);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.25;
    text-transform: uppercase;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

body.airix-portal .btn:hover,
body.airix-portal .btn:focus {
    transform: translateY(-1px);
}

body.airix-portal .btn:active {
    transform: translateY(1px);
}

body.airix-portal .btn-primary {
    color: var(--airix-paper) !important;
    background: var(--airix-navy) !important;
    border-color: var(--airix-navy) !important;
}

body.airix-portal .btn-primary:hover,
body.airix-portal .btn-primary:focus {
    color: var(--airix-paper) !important;
    background: var(--airix-navy-light) !important;
    border-color: var(--airix-navy-light) !important;
}

body.airix-portal .btn-success {
    color: var(--airix-paper) !important;
    background: var(--airix-sage) !important;
    border-color: var(--airix-sage) !important;
}

body.airix-portal .btn-default {
    color: var(--airix-charcoal) !important;
    background: transparent !important;
    border-color: var(--airix-line) !important;
}

body.airix-portal .btn-default:hover,
body.airix-portal .btn-default:focus {
    color: var(--airix-ink) !important;
    background: var(--airix-paper-warm) !important;
    border-color: var(--airix-ember) !important;
}

body.airix-portal label,
body.airix-portal .control-label {
    margin-bottom: 7px;
    color: var(--airix-charcoal);
    font-family: var(--airix-ui);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

body.airix-portal .form-control,
body.airix-portal .bootstrap-select > .dropdown-toggle {
    min-height: 44px;
    padding: 11px 13px;
    border: 1px solid rgba(46, 42, 36, 0.24);
    border-radius: var(--airix-radius);
    color: var(--airix-charcoal);
    background: rgba(255, 250, 240, 0.82);
    box-shadow: none;
    font-family: var(--airix-ui);
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

body.airix-portal .form-control::placeholder {
    color: var(--airix-muted);
}

body.airix-portal .form-control:focus,
body.airix-portal .bootstrap-select.open > .dropdown-toggle {
    border-color: var(--airix-ember);
    background: var(--airix-paper-bright);
    box-shadow: 0 0 0 3px rgba(216, 110, 31, 0.13);
}

body.airix-portal .checkbox label {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

/* Status rails replace generic dashboard cards */

body.airix-portal dl.tw-grid {
    gap: 0 !important;
    margin-bottom: 42px;
    border-top: 1px solid var(--airix-line);
    border-bottom: 1px solid var(--airix-line);
}

body.airix-portal dl.tw-grid > a {
    min-height: 104px;
    padding: 18px 20px !important;
    border: 0 !important;
    border-right: 1px solid var(--airix-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.airix-portal dl.tw-grid > a:last-child {
    border-right: 0 !important;
}

body.airix-portal dl.tw-grid > a:hover,
body.airix-portal dl.tw-grid > a:focus {
    background: rgba(243, 230, 200, 0.52) !important;
}

body.airix-portal dl.tw-grid dt {
    color: var(--airix-muted) !important;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.airix-portal dl.tw-grid dd > div {
    color: var(--airix-charcoal) !important;
    font-family: var(--airix-display);
    font-size: 34px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* Tables and data surfaces */

body.airix-portal .table-responsive {
    border: 0;
}

body.airix-portal .table {
    margin-bottom: 0;
    color: var(--airix-body);
    background: transparent;
    font-family: var(--airix-ui);
    font-variant-numeric: tabular-nums;
}

body.airix-portal .table > thead > tr > th {
    padding: 13px 12px;
    border-top: 0;
    border-bottom: 1px solid var(--airix-line);
    color: var(--airix-muted);
    background: transparent;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.airix-portal .table > tbody > tr > td {
    padding: 15px 12px;
    border-top: 1px solid var(--airix-line-soft);
    vertical-align: middle;
}

body.airix-portal .table > tbody > tr:hover {
    background: rgba(243, 230, 200, 0.34);
}

body.airix-portal .table > tbody > tr:first-child > td {
    border-top: 0;
}

body.airix-portal .dataTables_wrapper .dataTables_length,
body.airix-portal .dataTables_wrapper .dataTables_filter,
body.airix-portal .dataTables_wrapper .dataTables_info,
body.airix-portal .dataTables_wrapper .dataTables_paginate {
    padding-top: 15px;
    color: var(--airix-muted);
    font-family: var(--airix-ui);
    font-size: 11px;
}

body.airix-portal .label {
    padding: 5px 8px;
    border: 1px solid currentColor;
    border-radius: 2px;
    background: transparent;
    font-family: var(--airix-ui);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.airix-portal .progress {
    height: 5px;
    overflow: hidden;
    border-radius: 0;
    background: rgba(46, 42, 36, 0.1);
    box-shadow: none;
}

body.airix-portal .progress .progress-bar {
    background: var(--airix-ember);
    transition: width 600ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.airix-portal .progress .progress-bar-success {
    background: var(--airix-sage);
}

/* Project workspace */

body.airix-portal .horizontal-scrollable-tabs {
    border-bottom: 1px solid var(--airix-line);
}

body.airix-portal .horizontal-tabs {
    overflow-x: auto;
    scrollbar-width: thin;
}

body.airix-portal .nav-tabs-horizontal {
    display: flex;
    gap: 4px;
    min-width: max-content;
    border: 0;
}

body.airix-portal .nav-tabs-horizontal > li > a {
    padding: 12px 14px;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    color: var(--airix-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.airix-portal .nav-tabs-horizontal > li > a:hover,
body.airix-portal .nav-tabs-horizontal > li > a:focus,
body.airix-portal .nav-tabs-horizontal > li.active > a {
    color: var(--airix-charcoal);
    background: transparent;
    border-bottom-color: var(--airix-ember) !important;
}

body.airix-portal .project-progress-bars > div,
body.airix-portal .project-overview-column > .row > div {
    border-color: var(--airix-line) !important;
    border-radius: var(--airix-radius) !important;
    background: rgba(243, 230, 200, 0.34) !important;
}

/* Authentication has an editorial split instead of a centered CRM card */

body.airix-portal .customers_login .airix-page-content {
    padding-top: 44px;
}

body.airix-portal .airix-auth-page {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    gap: 54px;
    align-items: center;
    width: min(1060px, 100%);
    min-height: 610px;
    margin: 0 auto;
}

body.airix-portal .airix-auth-intro {
    position: relative;
    min-height: 440px;
    padding: 58px 56px;
    overflow: hidden;
    color: var(--airix-on-dark);
    border-radius: var(--airix-radius);
    background:
        radial-gradient(circle at 100% 0%, rgba(231, 184, 62, 0.28), transparent 28rem),
        var(--airix-ink);
    box-shadow: var(--airix-shadow);
}

body.airix-portal .airix-auth-intro::after {
    position: absolute;
    right: 36px;
    bottom: 34px;
    width: 90px;
    height: 90px;
    content: "";
    border: 1px solid rgba(251, 244, 228, 0.3);
    border-radius: 50%;
    box-shadow: 0 0 0 14px rgba(251, 244, 228, 0.06), 0 0 0 28px rgba(251, 244, 228, 0.04);
}

body.airix-portal .airix-kicker,
body.airix-portal .airix-auth-note-label {
    color: var(--airix-gold);
    font-family: var(--airix-ui);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.airix-portal .airix-auth-intro h1 {
    max-width: 430px;
    margin: 56px 0 18px;
    color: var(--airix-on-dark);
    font-size: clamp(42px, 6vw, 64px);
    line-height: 0.98;
}

body.airix-portal .airix-auth-intro-copy {
    max-width: 360px;
    color: rgba(251, 244, 228, 0.76);
    font-family: var(--airix-display);
    font-size: 18px;
    line-height: 1.5;
}

body.airix-portal .airix-auth-note {
    display: grid;
    gap: 5px;
    max-width: 270px;
    margin-top: 70px;
    padding-top: 15px;
    border-top: 1px solid rgba(251, 244, 228, 0.24);
    color: rgba(251, 244, 228, 0.72);
    font-size: 12px;
}

body.airix-portal .airix-auth-form {
    width: 100%;
}

body.airix-portal .airix-auth-form .login-heading {
    margin: 0 0 22px;
    color: var(--airix-charcoal);
    font-family: var(--airix-display);
    font-size: 34px;
    font-weight: 500;
    letter-spacing: -0.02em;
}

body.airix-portal .airix-auth-form .panel_s {
    box-shadow: var(--airix-shadow-soft);
}

body.airix-portal .airix-auth-form .panel-body {
    padding: 32px;
}

body.airix-portal .login-form #es_login_content,
body.airix-portal .login-form .es_phone_field,
body.airix-portal .login-form .es_otp_field {
    font-family: var(--airix-ui);
}

body.airix-portal .login-form .es_phone_field > a,
body.airix-portal .login-form .es_otp_field > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* Document previews and handoff sheets */

body.airix-portal .preview-top-wrapper,
body.airix-portal .contract-left,
body.airix-portal .proposal-left {
    color: var(--airix-body);
}

body.airix-portal .preview-top-wrapper .top {
    border-top: 1px solid var(--airix-line);
    border-bottom: 1px solid var(--airix-line);
    background: rgba(251, 244, 228, 0.82);
}

body.airix-portal .preview-top-wrapper .top h3,
body.airix-portal .preview-top-wrapper .top h4 {
    font-size: 26px;
}

body.airix-portal .transaction-html-info-col-left address,
body.airix-portal .transaction-html-info-col-right address,
body.airix-portal .contract-html-content,
body.airix-portal .proposal-html-content {
    font-family: var(--airix-display);
    font-size: 15px;
    line-height: 1.65;
}

body.airix-portal .contract-html-content,
body.airix-portal .proposal-left,
body.airix-portal .invoice-html-content {
    background: var(--airix-paper-bright);
}

body.airix-portal .handoff-client-view iframe {
    display: block;
    width: 100%;
    min-height: 760px;
    border: 1px solid var(--airix-line);
    border-radius: var(--airix-radius);
    background: var(--airix-paper-bright);
}

/* Footer */

body.airix-portal .airix-footer {
    min-height: 76px;
    padding: 0;
    border-top: 1px solid rgba(251, 244, 228, 0.14);
    background: var(--airix-ink);
}

body.airix-portal .airix-footer-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 76px;
    color: rgba(251, 244, 228, 0.64);
    font-size: 11px;
}

body.airix-portal .airix-footer-brand {
    color: var(--airix-on-dark);
    font-family: var(--airix-display);
    font-size: 17px;
}

body.airix-portal .airix-footer-links {
    display: inline-flex;
    gap: 14px;
}

body.airix-portal .airix-footer a {
    color: rgba(251, 244, 228, 0.72);
}

body.airix-portal .airix-footer a:hover,
body.airix-portal .airix-footer a:focus {
    color: var(--airix-gold);
}

/* Mobile and tablet rhythm */

@media (max-width: 991px) {
    body.airix-portal .airix-nav > li > a {
        padding-right: 10px;
        padding-left: 10px;
        font-size: 10px;
    }

    body.airix-portal .airix-auth-page {
        grid-template-columns: 1fr;
        gap: 30px;
        max-width: 680px;
    }

    body.airix-portal .airix-auth-intro {
        min-height: 330px;
        padding: 42px;
    }

    body.airix-portal .airix-auth-intro h1 {
        margin-top: 38px;
    }

    body.airix-portal .airix-auth-note {
        margin-top: 36px;
    }
}

@media (max-width: 767px) {
    body.airix-portal .airix-topbar__inner {
        display: block;
        min-height: 70px;
    }

    body.airix-portal .airix-topbar .navbar-header,
    body.airix-portal .airix-topbar .navbar-brand {
        height: 70px;
    }

    body.airix-portal .airix-topbar .navbar-brand img {
        max-width: 160px;
        height: 30px;
    }

    body.airix-portal .airix-topbar .navbar-collapse {
        margin-right: -15px;
        margin-left: -15px;
        border-top: 1px solid rgba(251, 244, 228, 0.14);
        background: var(--airix-ink-deep);
        box-shadow: 0 18px 30px rgba(28, 24, 19, 0.18);
    }

    body.airix-portal .airix-nav {
        display: block;
        padding: 8px 0 12px;
    }

    body.airix-portal .airix-nav > li > a {
        display: flex;
        width: 100%;
        min-height: 46px;
        padding: 13px 18px;
    }

    body.airix-portal .airix-nav > li > a::after {
        right: 18px;
        bottom: 6px;
        left: 18px;
    }

    body.airix-portal .airix-nav > li.customers-nav-item-login > a {
        width: calc(100% - 36px);
        margin: 8px 18px 2px;
        justify-content: center;
    }

    body.airix-portal .airix-page-content {
        padding: 30px 0 56px;
    }

    body.airix-portal .airix-page-content > .container,
    body.airix-portal .airix-topbar > .container,
    body.airix-portal .airix-footer > .container {
        width: calc(100% - 32px);
    }

    body.airix-portal .panel_s .panel-body,
    body.airix-portal .airix-auth-form .panel-body {
        padding: 21px 18px;
    }

    body.airix-portal .section-heading {
        font-size: 24px;
    }

    body.airix-portal dl.tw-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin-bottom: 30px;
    }

    body.airix-portal dl.tw-grid > a {
        min-height: 92px;
        padding: 14px 13px !important;
        border-bottom: 1px solid var(--airix-line) !important;
    }

    body.airix-portal dl.tw-grid > a:nth-child(2n) {
        border-right: 0 !important;
    }

    body.airix-portal dl.tw-grid dd > div {
        font-size: 28px;
    }

    body.airix-portal .airix-auth-page {
        min-height: 0;
    }

    body.airix-portal .airix-auth-intro {
        min-height: 0;
        padding: 32px 26px 30px;
    }

    body.airix-portal .airix-auth-intro h1 {
        margin-top: 30px;
        font-size: 44px;
    }

    body.airix-portal .airix-auth-intro-copy {
        font-size: 16px;
    }

    body.airix-portal .airix-auth-note {
        margin-top: 34px;
    }

    body.airix-portal .airix-auth-form .login-heading {
        font-size: 29px;
    }

    body.airix-portal .airix-footer-row {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 7px;
        min-height: 118px;
    }

    body.airix-portal .table-responsive {
        margin-right: -18px;
        margin-left: -18px;
        padding-right: 18px;
        padding-left: 18px;
    }
}

/* Branded authentication experience -------------------------------------
 * Matches the Airix Media site type system and Atlas image language while
 * leaving Perfex authentication, validation and hooks intact.
 */
body.customers_login {
    --airix-auth-umber: #3b241c;
    --airix-auth-cream: #fbf6ec;
    --airix-auth-sand: #e6dcc6;
    --airix-auth-signal: #f26a2e;
    --airix-auth-transit: #f4c430;
    --airix-auth-night: #132a20;
    --airix-auth-bone: #e8e3d7;
    background: var(--airix-auth-cream);
    font-family: var(--airix-ui);
}

body.customers_login::before {
    display: none;
}

body.customers_login .airix-auth-page {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(500px, 0.92fr);
    width: 100%;
    min-height: 100dvh;
    background: var(--airix-auth-cream);
}

body.customers_login .airix-auth-intro {
    position: relative;
    display: block;
    min-height: 100dvh;
    padding: 0;
    isolation: isolate;
    overflow: hidden;
    color: #fff8ed;
    background-color: var(--airix-auth-night);
    background-image:
        linear-gradient(180deg, rgba(10, 17, 15, 0.12) 0%, rgba(12, 20, 17, 0.2) 35%, rgba(11, 20, 16, 0.86) 100%),
        url('../images/airix-login-day.webp');
    background-position: center;
    background-size: cover;
}

html[data-theme="dark"] body.customers_login .airix-auth-intro {
    background-image:
        linear-gradient(180deg, rgba(7, 12, 17, 0.16) 0%, rgba(7, 12, 17, 0.32) 40%, rgba(6, 12, 16, 0.9) 100%),
        url('../images/airix-login-night.webp');
}

body.customers_login .airix-auth-intro::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    opacity: 0.2;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.13) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.13) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(180deg, transparent, #000 52%, #000);
}

body.customers_login .airix-auth-intro__inner {
    display: flex;
    min-height: 100dvh;
    flex-direction: column;
    padding: clamp(34px, 4.2vw, 64px);
}

body.customers_login .airix-auth-brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

body.customers_login .airix-auth-brand__logo img {
    width: auto;
    max-width: 190px;
    height: auto;
    filter: brightness(0) invert(1);
}

body.customers_login .airix-auth-domain,
body.customers_login .airix-auth-kicker,
body.customers_login .airix-auth-context span,
body.customers_login .airix-auth-form-meta,
body.customers_login .airix-auth-form label,
body.customers_login .airix-install-action {
    font-family: var(--airix-mono);
}

body.customers_login .airix-auth-domain {
    color: rgba(255, 248, 237, 0.72);
    font-size: 10px;
    letter-spacing: 0.08em;
}

body.customers_login .airix-auth-story {
    max-width: 700px;
    margin-top: auto;
    margin-bottom: clamp(52px, 8vh, 96px);
}

body.customers_login .airix-auth-kicker {
    margin: 0 0 22px;
    color: var(--airix-auth-transit);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.13em;
    line-height: 1.5;
    text-transform: uppercase;
}

body.customers_login .airix-auth-story h1 {
    max-width: 12ch;
    margin: 0;
    color: #fff8ed;
    font-family: var(--airix-display);
    font-size: clamp(44px, 5vw, 76px);
    font-weight: 600;
    letter-spacing: -0.045em;
    line-height: 0.98;
    text-wrap: balance;
}

body.customers_login .airix-auth-story > p:last-child {
    max-width: 50ch;
    margin: 28px 0 0;
    color: rgba(255, 248, 237, 0.82);
    font-family: var(--airix-editorial);
    font-size: clamp(18px, 1.55vw, 23px);
    line-height: 1.5;
    text-wrap: pretty;
}

body.customers_login .airix-auth-context {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: end;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 248, 237, 0.28);
}

body.customers_login .airix-auth-context span {
    display: block;
    margin-bottom: 8px;
    color: var(--airix-auth-transit);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

body.customers_login .airix-auth-context p {
    max-width: 44ch;
    margin: 0;
    color: rgba(255, 248, 237, 0.72);
    font-family: var(--airix-editorial);
    font-size: 16px;
    line-height: 1.5;
}

body.customers_login .airix-auth-context a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding-bottom: 4px;
    color: #fff8ed;
    border-bottom: 1px solid rgba(255, 248, 237, 0.46);
    font-family: var(--airix-ui);
    font-size: 12px;
    font-weight: 600;
}

body.customers_login .airix-auth-context a:hover,
body.customers_login .airix-auth-context a:focus-visible {
    color: var(--airix-auth-transit);
    border-color: var(--airix-auth-transit);
}

body.customers_login .airix-auth-form {
    display: flex;
    width: 100%;
    min-height: 100dvh;
    align-items: stretch;
    padding: 0;
    color: var(--airix-auth-umber);
    background:
        radial-gradient(circle at 96% 4%, rgba(242, 106, 46, 0.1), transparent 22rem),
        var(--airix-auth-cream);
}

body.customers_login .airix-auth-form__inner {
    display: flex;
    width: min(100%, 580px);
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    padding: clamp(42px, 6vw, 88px) clamp(36px, 6vw, 82px);
}

body.customers_login .airix-auth-form-meta {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: clamp(42px, 7vh, 76px);
    color: rgba(59, 36, 28, 0.58);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.customers_login .airix-auth-form-meta time {
    white-space: nowrap;
}

body.customers_login .airix-auth-welcome {
    margin-bottom: 32px;
}

body.customers_login .airix-auth-greeting {
    margin: 0 0 10px;
    color: #b84f35;
    font-family: var(--airix-editorial);
    font-size: 21px;
    font-style: italic;
    line-height: 1.2;
}

body.customers_login .airix-auth-subtext {
    max-width: 40ch;
    margin: 0 0 32px;
    color: #685147;
    font-family: var(--airix-editorial);
    font-size: 16px;
    line-height: 1.55;
}

body.customers_login .airix-auth-error-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin: 0 0 20px;
    border-radius: 50%;
    border: 1px solid var(--airix-auth-border, rgba(59, 36, 28, 0.16));
    color: var(--airix-auth-signal, #f26a2e);
    font-size: 20px;
}

html[data-theme="dark"] body.customers_login .airix-auth-error-icon {
    border-color: rgba(232, 227, 215, 0.2);
    color: var(--airix-auth-transit, #f4c430);
}

body.customers_login .airix-auth-form .login-heading {
    max-width: 13ch;
    margin: 0;
    color: var(--airix-auth-umber);
    font-family: var(--airix-display);
    font-size: clamp(35px, 3vw, 48px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.02;
    text-wrap: balance;
}

body.customers_login .airix-auth-welcome > p:last-child {
    max-width: 42ch;
    margin: 16px 0 0;
    color: #685147;
    font-family: var(--airix-editorial);
    font-size: 17px;
    line-height: 1.5;
}

body.customers_login .airix-auth-form .panel_s,
body.customers_login .airix-auth-form .panel_s .panel-body {
    overflow: visible;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.customers_login .airix-auth-form .form-group {
    margin-bottom: 19px;
}

body.customers_login .airix-auth-form label,
body.customers_login .airix-auth-form .control-label {
    display: block;
    margin-bottom: 8px;
    color: #3b241c;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.11em;
    line-height: 1.3;
    text-transform: uppercase;
}

body.customers_login .airix-input-shell {
    position: relative;
}

body.customers_login .airix-input-shell > i {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 17px;
    width: 16px;
    color: #8a6e61;
    font-size: 14px;
    text-align: center;
    transform: translateY(-50%);
}

body.customers_login .airix-auth-form .form-control,
body.customers_login .airix-auth-form .bootstrap-select > .dropdown-toggle {
    width: 100%;
    height: 54px;
    padding: 14px 46px;
    color: #3b241c;
    border: 1px solid #d1c5af;
    border-radius: 4px;
    background: rgba(255, 252, 245, 0.82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    font-family: var(--airix-ui);
    font-size: 14px;
    font-weight: 400;
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

body.customers_login .airix-language-field .bootstrap-select > .dropdown-toggle {
    padding-left: 16px;
}

body.customers_login .airix-auth-form .form-control::placeholder {
    color: #937f73;
    opacity: 1;
}

body.customers_login .airix-auth-form .form-control:focus,
body.customers_login .airix-auth-form .bootstrap-select.open > .dropdown-toggle {
    border-color: var(--airix-auth-signal);
    background: #fffdf8;
    box-shadow: 0 0 0 3px rgba(242, 106, 46, 0.14);
}

body.customers_login .airix-password-toggle {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 8px;
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #765e52;
    border: 0;
    border-radius: 3px;
    background: transparent;
    transform: translateY(-50%);
}

body.customers_login .airix-password-toggle:hover,
body.customers_login .airix-password-toggle:focus-visible {
    color: #3b241c;
    background: #e6dcc6;
}

body.customers_login .airix-auth-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 2px 0 24px;
}

body.customers_login .airix-auth-options .checkbox {
    margin: 0;
}

body.customers_login .airix-auth-options .checkbox label {
    margin: 0;
    padding-left: 26px;
    font-family: var(--airix-ui);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

body.customers_login .airix-auth-options > a {
    color: #934927;
    font-family: var(--airix-ui);
    font-size: 12px;
    font-weight: 500;
}

body.customers_login .airix-auth-submit {
    margin-bottom: 0 !important;
}

body.customers_login .airix-auth-form .btn-primary {
    display: flex;
    width: 100%;
    height: 54px;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    color: #f2e7cf !important;
    border: 1px solid #3b241c !important;
    border-radius: 4px;
    background: #3b241c !important;
    box-shadow: 0 15px 30px -20px rgba(59, 36, 28, 0.72);
    font-family: var(--airix-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.customers_login .airix-auth-form .btn-primary:hover,
body.customers_login .airix-auth-form .btn-primary:focus-visible {
    color: #25170d !important;
    border-color: var(--airix-auth-transit) !important;
    background: var(--airix-auth-transit) !important;
    transform: translateY(-1px);
}

body.customers_login .airix-auth-form .btn-primary:active {
    transform: translateY(1px);
}

body.customers_login .airix-register-prompt {
    margin: 18px 0 0;
    color: #685147;
    font-family: var(--airix-editorial);
    font-size: 15px;
    text-align: center;
}

body.customers_login .airix-register-prompt a {
    color: #934927;
    font-family: var(--airix-ui);
    font-size: 12px;
    font-weight: 600;
}

body.customers_login .airix-install-card {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-top: 28px;
    padding: 14px 42px 14px 14px;
    border: 1px solid #d1c5af;
    border-radius: 5px;
    background: rgba(230, 220, 198, 0.54);
}

body.customers_login .airix-install-card[hidden] {
    display: none !important;
}

body.customers_login .airix-install-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    color: #3b241c;
    border: 1px solid rgba(59, 36, 28, 0.18);
    border-radius: 4px;
    background: rgba(255, 252, 245, 0.7);
}

body.customers_login .airix-install-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

body.customers_login .airix-install-copy strong {
    color: #3b241c;
    font-family: var(--airix-ui);
    font-size: 12px;
    font-weight: 600;
}

body.customers_login .airix-install-copy span {
    margin-top: 3px;
    color: #685147;
    font-family: var(--airix-editorial);
    font-size: 13px;
    line-height: 1.35;
}

body.customers_login .airix-install-copy .airix-install-help {
    color: #934927;
    font-family: var(--airix-ui);
    font-size: 11px;
}

body.customers_login .airix-install-action {
    min-height: 34px;
    padding: 0 11px;
    color: #3b241c;
    border: 1px solid rgba(59, 36, 28, 0.28);
    border-radius: 3px;
    background: transparent;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.customers_login .airix-install-action:hover,
body.customers_login .airix-install-action:focus-visible {
    border-color: var(--airix-auth-transit);
    background: var(--airix-auth-transit);
}

body.customers_login .airix-install-dismiss {
    position: absolute;
    top: 7px;
    right: 7px;
    width: 26px;
    height: 26px;
    padding: 0;
    color: #8a6e61;
    border: 0;
    border-radius: 3px;
    background: transparent;
}

body.customers_login .airix-install-dismiss:hover,
body.customers_login .airix-install-dismiss:focus-visible {
    color: #3b241c;
    background: rgba(59, 36, 28, 0.08);
}

body.customers_login .airix-auth-help {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 26px;
    color: #9a877b;
    font-family: var(--airix-mono);
    font-size: 9px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.customers_login .airix-auth-help a {
    color: #765e52;
}

html[data-theme="dark"] body.customers_login .airix-auth-page,
html[data-theme="dark"] body.customers_login .airix-auth-form {
    color: #e8e3d7;
    background:
        radial-gradient(circle at 96% 4%, rgba(242, 106, 46, 0.08), transparent 22rem),
        #0c121a;
}

html[data-theme="dark"] body.customers_login .airix-auth-form-meta,
html[data-theme="dark"] body.customers_login .airix-auth-welcome > p:last-child,
html[data-theme="dark"] body.customers_login .airix-register-prompt,
html[data-theme="dark"] body.customers_login .airix-install-copy span,
html[data-theme="dark"] body.customers_login .airix-auth-help,
html[data-theme="dark"] body.customers_login .airix-auth-help a {
    color: #aeb7c3;
}

html[data-theme="dark"] body.customers_login .airix-auth-form .login-heading,
html[data-theme="dark"] body.customers_login .airix-auth-form label,
html[data-theme="dark"] body.customers_login .airix-auth-form .control-label,
html[data-theme="dark"] body.customers_login .airix-install-copy strong {
    color: #f3f5f7;
}

html[data-theme="dark"] body.customers_login .airix-auth-form .form-control,
html[data-theme="dark"] body.customers_login .airix-auth-form .bootstrap-select > .dropdown-toggle {
    color: #f3f5f7;
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(15, 23, 43, 0.86);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html[data-theme="dark"] body.customers_login .airix-auth-form .form-control:focus,
html[data-theme="dark"] body.customers_login .airix-auth-form .bootstrap-select.open > .dropdown-toggle {
    border-color: var(--airix-auth-signal);
    background: #0f172b;
}

html[data-theme="dark"] body.customers_login .airix-auth-form .form-control::placeholder {
    color: #8490a0;
}

html[data-theme="dark"] body.customers_login .airix-auth-options .checkbox label,
html[data-theme="dark"] body.customers_login .airix-password-toggle {
    color: #d9dfe7;
}

html[data-theme="dark"] body.customers_login .airix-install-card {
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(29, 41, 61, 0.72);
}

html[data-theme="dark"] body.customers_login .airix-install-icon {
    color: #f3f5f7;
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(15, 23, 43, 0.72);
}

@media (max-width: 1100px) {
    body.customers_login .airix-auth-page {
        grid-template-columns: minmax(0, 0.92fr) minmax(470px, 1.08fr);
    }

    body.customers_login .airix-auth-story h1 {
        font-size: clamp(40px, 5.4vw, 58px);
    }

    body.customers_login .airix-auth-context {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media (max-width: 820px) {
    body.customers_login .airix-auth-page {
        display: block;
    }

    body.customers_login .airix-auth-intro,
    body.customers_login .airix-auth-intro__inner {
        min-height: clamp(300px, 42dvh, 420px);
    }

    body.customers_login .airix-auth-intro__inner {
        padding: 28px clamp(22px, 6vw, 44px);
    }

    body.customers_login .airix-auth-domain,
    body.customers_login .airix-auth-context {
        display: none;
    }

    body.customers_login .airix-auth-story {
        margin: auto 0 0;
    }

    body.customers_login .airix-auth-story h1 {
        max-width: 15ch;
        font-size: clamp(34px, 8vw, 50px);
    }

    body.customers_login .airix-auth-story > p:last-child {
        max-width: 56ch;
        margin-top: 18px;
        font-size: 17px;
    }

    body.customers_login .airix-auth-form,
    body.customers_login .airix-auth-form__inner {
        min-height: 0;
    }

    body.customers_login .airix-auth-form__inner {
        width: min(100%, 620px);
        padding: 54px clamp(22px, 7vw, 54px) 46px;
    }

    body.customers_login .airix-auth-form-meta {
        margin-bottom: 42px;
    }
}

@media (max-width: 520px) {
    body.customers_login .airix-auth-intro,
    body.customers_login .airix-auth-intro__inner {
        min-height: 330px;
    }

    body.customers_login .airix-auth-brand__logo img {
        max-width: 152px;
    }

    body.customers_login .airix-auth-kicker {
        margin-bottom: 14px;
        font-size: 9px;
    }

    body.customers_login .airix-auth-story h1 {
        max-width: 13ch;
        font-size: 36px;
    }

    body.customers_login .airix-auth-story > p:last-child {
        display: none;
    }

    body.customers_login .airix-auth-form__inner {
        padding: 42px 22px 38px;
    }

    body.customers_login .airix-auth-form-meta {
        margin-bottom: 32px;
    }

    body.customers_login .airix-auth-form-meta > span:first-child {
        max-width: 16ch;
    }

    body.customers_login .airix-auth-form .login-heading {
        font-size: 36px;
    }

    body.customers_login .airix-auth-options {
        align-items: flex-start;
    }

    body.customers_login .airix-install-card {
        grid-template-columns: 38px minmax(0, 1fr);
        padding-right: 36px;
    }

    body.customers_login .airix-install-action {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* ========================================================================
   AIRIX MEDIA PORTAL 1.5 — ARTIFACT IMPLEMENTATION LAYER
   The application shell stays dark and editorial. Commercial documents stay
   paper-light in both modes so status, totals and actions remain unambiguous.
   ======================================================================== */

body.airix-portal {
    --airix-v15-shell: #211e1a;
    --airix-v15-shell-2: #29251f;
    --airix-v15-paper: #fffdf8;
    --airix-v15-cream: #f3ede3;
    --airix-v15-ink: #28241f;
    --airix-v15-muted: #80766b;
    --airix-v15-line: #ddd4c7;
    --airix-v15-terra: #c66547;
    --airix-v15-green: #2f6b55;
    --airix-v15-amber: #a66b26;
    --airix-v15-danger: #a34b42;
}

/* One continuous top bar — no detached brand/navigation/profile blocks. */
body.airix-client-authenticated .navbar.airix-topbar,
html[data-theme="light"] body.airix-client-authenticated .navbar.airix-topbar,
html[data-theme="dark"] body.airix-client-authenticated .navbar.airix-topbar {
    min-height: 82px;
    margin: 0;
    border: 0;
    border-bottom: 1px solid rgba(255, 253, 248, 0.14);
    border-radius: 0;
    background: var(--airix-v15-shell) !important;
    box-shadow: none;
}

body.airix-client-authenticated .airix-topbar > .container {
    display: flex;
    align-items: stretch;
    width: min(1480px, calc(100% - 56px));
    min-height: 82px;
    padding: 0;
}

body.airix-client-authenticated .airix-topbar .navbar-header {
    display: flex;
    float: none;
    flex: 0 0 auto;
    align-items: center;
    min-width: 210px;
    margin: 0 26px 0 0;
    padding-right: 26px;
    border-right: 1px solid rgba(255, 253, 248, 0.14);
}

body.airix-client-authenticated .airix-topbar .airix-brand-cluster,
body.airix-client-authenticated .airix-topbar .navbar-brand {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

body.airix-client-authenticated .airix-topbar .navbar-brand img {
    width: auto;
    max-width: 154px;
    height: 34px;
    filter: brightness(0) invert(1) !important;
    opacity: 0.96;
}

body.airix-client-authenticated .airix-topbar .airix-brand-context {
    margin-left: 14px;
    padding-left: 14px;
    border-left-color: rgba(255, 253, 248, 0.22);
    color: #bdb4a8;
    font-size: 10px;
}

body.airix-client-authenticated .airix-topbar .navbar-collapse {
    display: flex !important;
    float: none;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
}

body.airix-client-authenticated .airix-topbar .airix-nav {
    display: flex;
    float: none !important;
    flex: 1 1 auto;
    align-items: center;
    gap: 0;
    min-width: 0;
    margin: 0;
}

body.airix-client-authenticated .airix-topbar .airix-nav > li { float: none; }
body.airix-client-authenticated .airix-topbar .airix-nav > li > a {
    display: flex;
    align-items: center;
    min-height: 82px;
    padding: 0 13px;
    border-radius: 0;
    color: #c8c0b5 !important;
    font-family: var(--airix-ui);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

body.airix-client-authenticated .airix-topbar .airix-nav > li > a:hover,
body.airix-client-authenticated .airix-topbar .airix-nav > li > a:focus,
body.airix-client-authenticated .airix-topbar .airix-nav > li.active > a,
body.airix-client-authenticated .airix-topbar .airix-nav > li > a[aria-current="page"] {
    color: #fffdf8 !important;
    background: rgba(255, 253, 248, 0.06) !important;
}

body.airix-client-authenticated .airix-topbar .airix-nav > li > a::after {
    right: 13px;
    bottom: 0;
    left: 13px;
    height: 3px;
    background: var(--airix-v15-terra);
}

body.airix-client-authenticated .airix-topbar .airix-search-item { margin-left: auto; }
body.airix-client-authenticated .airix-topbar .airix-icon-item > a,
body.airix-client-authenticated .airix-topbar .airix-mode-toggle {
    width: 44px;
    min-height: 44px;
    padding: 0;
    border: 1px solid rgba(255, 253, 248, 0.18);
    border-radius: 0;
    color: #ddd6cc !important;
    background: transparent !important;
}

body.airix-client-authenticated .airix-topbar .airix-icon-item > a { min-height: 82px; border-width: 0; }
body.airix-client-authenticated .airix-topbar .airix-icon-item i,
body.airix-client-authenticated .airix-topbar .airix-mode-toggle i { font-size: 18px; color: currentColor !important; }
body.airix-client-authenticated .airix-topbar .customers-nav-item-profile {
    align-self: stretch;
    margin-left: 14px;
    padding-left: 14px;
    border-left: 1px solid rgba(255, 253, 248, 0.16);
}
body.airix-client-authenticated .airix-topbar .customers-nav-item-profile > a {
    min-height: 82px;
    padding: 0 8px;
    background: transparent !important;
}
body.airix-client-authenticated .airix-topbar .airix-profile-meta strong { color: #fffdf8; font-size: 13px; }
body.airix-client-authenticated .airix-topbar .airix-profile-meta small { color: #aaa195; font-size: 9px; }
body.airix-client-authenticated .airix-topbar .client-profile-image-small { width: 42px; height: 42px; border-color: #c8bfb3; }

/* Utility navigation is a quiet contextual row, not a second floating header. */
body.airix-client-authenticated .airix-utility-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
    margin: 0 0 46px;
    padding: 0;
    border-bottom: 1px solid var(--airix-workspace-line);
    background: transparent !important;
}
body.airix-client-authenticated .airix-utility-nav__label { color: var(--airix-workspace-muted); font-size: 11px; }
body.airix-client-authenticated .airix-utility-nav .customer-top-submenu { display: flex; gap: 12px; margin: 0; padding: 0; border: 0; }
body.airix-client-authenticated .airix-utility-nav .customer-top-submenu li { margin: 0; }
body.airix-client-authenticated .airix-utility-nav .customer-top-submenu a {
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid var(--airix-workspace-line-strong);
    color: var(--airix-workspace-text) !important;
    background: transparent !important;
    font-size: 13px;
}
body.airix-client-authenticated .airix-utility-nav svg { width: 19px; height: 19px; }

/* Artifact-based workspace dashboard. */
body.airix-client-authenticated .airix-workspace-dashboard { padding: 10px 0 42px; }
body.airix-client-authenticated .airix-dashboard-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
    align-items: end;
    margin: 0 0 28px;
    padding: 0 0 34px;
    border-bottom: 1px solid var(--airix-workspace-line);
    background: transparent;
}
body.airix-client-authenticated .airix-dashboard-greeting {
    max-width: 760px;
    margin: 12px 0 8px;
    color: var(--airix-workspace-text) !important;
    font-family: var(--airix-display);
    font-size: clamp(46px, 5vw, 78px);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -.04em;
}
body.airix-client-authenticated .airix-dashboard-intro {
    max-width: 680px;
    margin: 0;
    color: var(--airix-workspace-muted) !important;
    font-family: var(--airix-serif);
    font-size: 20px;
    line-height: 1.55;
}
body.airix-client-authenticated .airix-dashboard-hero__aside { display: flex; flex-direction: column; align-items: flex-end; gap: 20px; }
body.airix-client-authenticated .airix-dashboard-date { color: var(--airix-workspace-muted); font-family: var(--airix-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.airix-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 20px;
    border: 1px solid currentColor;
    border-radius: 0;
    font-family: var(--airix-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.airix-btn--primary { color: #fffdf8 !important; border-color: var(--airix-v15-terra); background: var(--airix-v15-terra); }
.airix-btn--ghost { color: var(--airix-workspace-text) !important; border-color: var(--airix-workspace-line-strong); background: transparent; }

body.airix-client-authenticated .airix-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 54px; }
body.airix-client-authenticated .airix-metric-card {
    display: grid;
    grid-template-columns: 42px 1fr;
    grid-template-rows: auto auto auto;
    gap: 2px 14px;
    min-height: 176px;
    padding: 24px;
    border: 1px solid var(--airix-workspace-line);
    color: var(--airix-workspace-text) !important;
    background: var(--airix-workspace-surface);
    text-decoration: none !important;
    transition: border-color .2s ease, transform .2s ease;
}
body.airix-client-authenticated .airix-metric-card:hover { border-color: var(--airix-v15-terra); transform: translateY(-2px); }
body.airix-client-authenticated .airix-metric-card__icon { grid-row: 1 / 3; display: grid; place-items: center; width: 42px; height: 42px; color: var(--airix-v15-terra); border: 1px solid var(--airix-workspace-line); font-size: 17px; }
body.airix-client-authenticated .airix-metric-card__label { align-self: end; color: var(--airix-workspace-muted); font-family: var(--airix-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
body.airix-client-authenticated .airix-metric-card strong { color: var(--airix-workspace-text); font-family: var(--airix-display); font-size: 42px; font-weight: 500; line-height: 1; }
body.airix-client-authenticated .airix-metric-card__link { grid-column: 1 / -1; align-self: end; display: flex; justify-content: space-between; padding-top: 18px; border-top: 1px solid var(--airix-workspace-line); color: var(--airix-workspace-muted); font-size: 12px; }

body.airix-client-authenticated .airix-dashboard-layout { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, .72fr); gap: 30px; align-items: start; }
body.airix-client-authenticated .airix-dashboard-section { margin-bottom: 34px; }
body.airix-client-authenticated .airix-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
body.airix-client-authenticated .airix-section-heading h2,
body.airix-client-authenticated .airix-dashboard-aside h2 { margin: 7px 0 0; color: var(--airix-workspace-text); font-family: var(--airix-display); font-size: 31px; font-weight: 500; }
.airix-text-link { color: var(--airix-v15-terra) !important; font-size: 12px; font-weight: 700; }
body.airix-client-authenticated .airix-project-summary-frame,
body.airix-client-authenticated .airix-finance-card,
body.airix-client-authenticated .airix-dashboard-aside-card { padding: 28px; border: 1px solid var(--airix-workspace-line); background: var(--airix-workspace-surface); }
body.airix-client-authenticated .airix-project-summary-frame .panel_s,
body.airix-client-authenticated .airix-project-summary-frame .panel-body { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.airix-client-authenticated .airix-finance-card .row { margin-right: -8px; margin-left: -8px; }
body.airix-client-authenticated .airix-finance-chart-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--airix-workspace-line); }
body.airix-client-authenticated .airix-finance-chart-head h3 { margin: 0 0 3px; color: var(--airix-workspace-text); font-family: var(--airix-display); font-size: 23px; }
body.airix-client-authenticated .airix-finance-chart-head p { margin: 0; color: var(--airix-workspace-muted); font-size: 13px; }
body.airix-client-authenticated .airix-finance-filters { display: flex; gap: 10px; }
body.airix-client-authenticated .airix-finance-filters .form-control { width: auto; min-width: 120px; min-height: 42px; }
body.airix-client-authenticated .airix-finance-chart { position: relative; height: 260px; margin-top: 22px; }
body.airix-client-authenticated .airix-finance-chart canvas { max-height: 260px !important; }
body.airix-client-authenticated .airix-dashboard-aside { position: sticky; top: 104px; display: grid; gap: 18px; }
body.airix-client-authenticated .airix-action-list { display: grid; margin-top: 22px; }
body.airix-client-authenticated .airix-action-list a { display: grid; grid-template-columns: 28px 1fr 16px; gap: 13px; align-items: center; padding: 18px 0; border-top: 1px solid var(--airix-workspace-line); color: var(--airix-workspace-text) !important; text-decoration: none; }
body.airix-client-authenticated .airix-action-list a > i:first-child { color: var(--airix-v15-terra); font-size: 17px; }
body.airix-client-authenticated .airix-action-list strong,
body.airix-client-authenticated .airix-action-list small { display: block; }
body.airix-client-authenticated .airix-action-list strong { font-size: 13px; }
body.airix-client-authenticated .airix-action-list small { margin-top: 3px; color: var(--airix-workspace-muted); font-family: var(--airix-serif); font-size: 13px; line-height: 1.35; }
body.airix-client-authenticated .airix-dashboard-note { padding: 28px; color: #fffdf8; background: var(--airix-v15-shell); }
body.airix-client-authenticated .airix-dashboard-note .airix-page-kicker { color: #d99575; }
body.airix-client-authenticated .airix-dashboard-note h3 { margin: 12px 0; color: #fffdf8; font-family: var(--airix-display); font-size: 28px; }
body.airix-client-authenticated .airix-dashboard-note p { color: #c9c0b5; font-family: var(--airix-serif); font-size: 15px; line-height: 1.55; }
body.airix-client-authenticated .airix-dashboard-note a { color: #e29a77; font-weight: 700; }

/* Financial libraries from the supplied invoice/estimate/contract artifacts. */
body.airix-client-authenticated .airix-library { padding: 4px 0 48px; }
body.airix-client-authenticated .airix-library-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; margin-bottom: 26px; padding-bottom: 32px; border-bottom: 1px solid var(--airix-workspace-line); }
body.airix-client-authenticated .airix-library-hero h1 { margin: 8px 0 8px; color: var(--airix-workspace-text); font-family: var(--airix-display); font-size: clamp(44px, 5vw, 72px); font-weight: 500; line-height: 1; letter-spacing: -.035em; }
body.airix-client-authenticated .airix-library-hero p { max-width: 720px; margin: 0; color: var(--airix-workspace-muted); font-family: var(--airix-serif); font-size: 18px; line-height: 1.55; }
body.airix-client-authenticated .airix-library-actions { display: flex; gap: 10px; }
body.airix-client-authenticated .airix-library-panel { margin: 0; border: 1px solid var(--airix-workspace-line) !important; background: var(--airix-workspace-surface) !important; }
body.airix-client-authenticated .airix-library-panel > .panel-body { padding: 30px !important; }
body.airix-client-authenticated .airix-library-panel .table { margin: 24px 0 0; }
body.airix-client-authenticated .airix-library-panel .table > thead > tr > th { padding: 13px 16px; color: var(--airix-workspace-muted) !important; font-family: var(--airix-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
body.airix-client-authenticated .airix-library-panel .table > tbody > tr > td { padding: 20px 16px; font-size: 14px; }
body.airix-client-authenticated .airix-library-panel .table > tbody > tr:hover { background: var(--airix-workspace-subtle) !important; }
body.airix-client-authenticated .airix-contract-overview { display: grid; grid-template-columns: 250px 1fr; gap: 32px; align-items: center; margin-bottom: 24px; padding: 26px 30px; border: 1px solid var(--airix-workspace-line); background: var(--airix-workspace-surface); }
body.airix-client-authenticated .airix-contract-overview h2 { margin: 8px 0 0; color: var(--airix-workspace-text); font-family: var(--airix-display); font-size: 28px; }
body.airix-client-authenticated .airix-contract-chart { height: 190px; }
body.airix-client-authenticated .airix-contract-chart canvas { max-height: 190px !important; }

/* Public financial readers: dark gallery shell, permanent light document paper. */
body.airix-portal .preview-top-wrapper { width: min(1320px, calc(100% - 56px)); margin: 34px auto 0; }
body.airix-portal .preview-top-wrapper > .row { margin: 0; }
body.airix-portal .preview-top-wrapper .top { border: 0; }
body.airix-portal .preview-sticky-container { width: 100%; padding: 18px 20px; border: 1px solid var(--airix-v15-line); background: var(--airix-v15-paper) !important; }
body.airix-portal .preview-sticky-container .invoice-html-number,
body.airix-portal .preview-sticky-container h3 { color: var(--airix-v15-ink) !important; font-family: var(--airix-display); font-size: 24px; }
body.airix-portal .airix-document-kicker { display: block; margin-bottom: 4px; color: var(--airix-v15-muted); font-family: var(--airix-mono); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s,
body.airix-portal .invoice-html-content {
    width: min(1320px, calc(100% - 56px));
    margin-right: auto;
    margin-left: auto;
    border: 1px solid var(--airix-v15-line) !important;
    background: var(--airix-v15-paper) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .18);
}
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s > .panel-body,
body.airix-portal .invoice-html-content .panel-body { padding: clamp(34px, 5vw, 72px) !important; color: var(--airix-v15-ink) !important; background: var(--airix-v15-paper) !important; }
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s *,
body.airix-portal .invoice-html-content * { --airix-workspace-text: var(--airix-v15-ink); --airix-workspace-muted: var(--airix-v15-muted); --airix-workspace-line: var(--airix-v15-line); }
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s .table > thead > tr > th,
body.airix-portal .invoice-html-content .table > thead > tr > th { color: var(--airix-v15-muted) !important; background: var(--airix-v15-cream) !important; }
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s .table > tbody > tr > td,
body.airix-portal .invoice-html-content .table > tbody > tr > td { color: var(--airix-v15-ink) !important; border-color: var(--airix-v15-line) !important; }
body.airix-portal .preview-sticky-container .btn { min-height: 46px; padding: 0 17px; border-radius: 0; font-family: var(--airix-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
body.airix-portal .preview-sticky-container .btn-default { color: var(--airix-v15-ink) !important; border-color: var(--airix-v15-line) !important; background: transparent !important; }
body.airix-portal .preview-sticky-container .btn-success { color: #fffdf8 !important; border-color: var(--airix-v15-green) !important; background: var(--airix-v15-green) !important; }

/* Night-mode contrast sweep: Perfex utility colors must follow portal tokens. */
html[data-theme="dark"] body.airix-client-authenticated :is(.tw-text-neutral-400,.tw-text-neutral-500,.tw-text-neutral-600,.text-muted,.help-block,.dataTables_info,.pagination > li > a) { color: #aaa195 !important; }
html[data-theme="dark"] body.airix-client-authenticated :is(.tw-text-neutral-700,.tw-text-neutral-800,.tw-text-neutral-900,.section-text,.bold,strong,h1,h2,h3,h4,h5,h6,.table > tbody > tr > td) { color: #eee8de !important; }
html[data-theme="dark"] body.airix-client-authenticated :is(.fa,.fas,.far,.fa-solid,.fa-regular,svg) { color: currentColor; }
html[data-theme="dark"] body.airix-client-authenticated .label { color: #fff !important; }
html[data-theme="dark"] body.airix-client-authenticated .select2-container .select2-selection__rendered,
html[data-theme="dark"] body.airix-client-authenticated .bootstrap-select .filter-option,
html[data-theme="dark"] body.airix-client-authenticated .dropdown-menu > li > a { color: #eee8de !important; }
html[data-theme="dark"] body.airix-client-authenticated .dropdown-menu > li > a:hover { color: #fffdf8 !important; background: rgba(255,255,255,.07) !important; }

@media (max-width: 1180px) {
    body.airix-client-authenticated .airix-topbar > .container { width: calc(100% - 32px); }
    body.airix-client-authenticated .airix-topbar .navbar-header { min-width: 170px; margin-right: 12px; padding-right: 12px; }
    body.airix-client-authenticated .airix-topbar .airix-nav > li > a { padding-right: 8px; padding-left: 8px; font-size: 11px; }
    body.airix-client-authenticated .airix-topbar .airix-profile-meta { display: none; }
    body.airix-client-authenticated .airix-dashboard-layout { grid-template-columns: minmax(0, 1fr); }
    body.airix-client-authenticated .airix-dashboard-main { min-width: 0; }
    body.airix-client-authenticated .airix-dashboard-aside { position: static; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

@media (max-width: 900px) {
    body.airix-client-authenticated .navbar.airix-topbar { min-height: 70px; }
    body.airix-client-authenticated .airix-topbar > .container { display: block; min-height: 70px; width: calc(100% - 28px); }
    body.airix-client-authenticated .airix-topbar .navbar-header { display: flex; min-height: 70px; margin: 0; padding: 0; border: 0; }
    body.airix-client-authenticated .airix-topbar .navbar-toggle { display: block; margin-left: auto; }
    body.airix-client-authenticated .airix-topbar .navbar-collapse { display: none !important; }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in { position: fixed; z-index: 2000; inset: 0; display: block !important; overflow-y: auto; padding: 86px 24px 34px; background: var(--airix-v15-shell); }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-nav { display: block; }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-nav > li > a { min-height: 58px; padding: 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 18px; }
    body.airix-client-authenticated .airix-dashboard-hero,
    body.airix-client-authenticated .airix-library-hero { grid-template-columns: minmax(0, 1fr); }
    body.airix-client-authenticated .airix-dashboard-hero__aside { align-items: flex-start; }
    body.airix-client-authenticated .airix-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.airix-client-authenticated .airix-dashboard-aside { grid-template-columns: minmax(0, 1fr); }
    body.airix-client-authenticated .airix-contract-overview { grid-template-columns: minmax(0, 1fr); }
    body.airix-portal .preview-top-wrapper,
    body.airix-portal .preview-top-wrapper + .clearfix + .panel_s,
    body.airix-portal .invoice-html-content { width: calc(100% - 28px); }
}

@media (max-width: 560px) {
    body.airix-client-authenticated .airix-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.airix-client-authenticated .airix-dashboard-greeting { font-size: 44px; }
    body.airix-client-authenticated .airix-library-hero h1 { font-size: 44px; }
    body.airix-client-authenticated .airix-library-actions { flex-direction: column; align-items: stretch; }
    body.airix-client-authenticated .airix-section-heading,
    body.airix-client-authenticated .airix-finance-chart-head { align-items: flex-start; flex-direction: column; }
    body.airix-client-authenticated .airix-finance-filters { width: 100%; }
    body.airix-client-authenticated .airix-finance-filters .form-control { flex: 1 1 0; min-width: 0; }
    body.airix-portal .preview-sticky-container .tw-flex { align-items: stretch; flex-direction: column; }
    .fc-header-toolbar { flex-wrap: wrap; row-gap: 10px; }
    .fc-toolbar-chunk { min-width: 0; }
}

/* Contract and proposal readers keep the artifact's document + action rail. */
body.airix-portal .contract-left,
body.airix-portal .proposal-left { padding-left: 0; }
body.airix-portal .contract-left .panel_s,
body.airix-portal .proposal-left .panel_s {
    border: 1px solid var(--airix-v15-line) !important;
    background: var(--airix-v15-paper) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.14);
}
body.airix-portal .contract-left .panel-body,
body.airix-portal .proposal-left .panel-body {
    min-height: 720px;
    padding: clamp(38px, 5vw, 72px) !important;
    color: var(--airix-v15-ink) !important;
    background: var(--airix-v15-paper) !important;
    font-family: var(--airix-serif);
    font-size: 16px;
    line-height: 1.72;
}
body.airix-portal .contract-left .panel-body :is(h1,h2,h3,h4,h5,strong,p,li,td,th),
body.airix-portal .proposal-left .panel-body :is(h1,h2,h3,h4,h5,strong,p,li,td,th) { color: var(--airix-v15-ink) !important; }
body.airix-portal .contract-right,
body.airix-portal .proposal-right { position: sticky; top: 100px; padding-right: 0; }
body.airix-portal .contract-html-tabs,
body.airix-portal .proposal-html-tabs { padding: 24px; border: 1px solid rgba(255,253,248,.18); color: #ddd5ca; background: var(--airix-v15-shell-2); }
body.airix-portal .contract-html-tabs :is(h1,h2,h3,h4,strong),
body.airix-portal .proposal-html-tabs :is(h1,h2,h3,h4,strong) { color: #fffdf8 !important; }
body.airix-portal :is(.invoice-html-logo,.estimate-html-logo,.contract-html-logo,.proposal-html-logo) img { filter: brightness(0) invert(1) !important; opacity: .94; }
body.airix-portal .preview-sticky-container :is(.airix-document-kicker,h3,h4,a,button,i) { color: #28241f !important; -webkit-text-fill-color: #28241f !important; }
body.airix-portal .preview-sticky-container :is(.invoice-html-status,.estimate-html-status,.content-view-status) { -webkit-text-fill-color: currentColor !important; }
body.airix-portal .preview-sticky-container .btn-default { color: #28241f !important; border-color: #c8beb1 !important; background: transparent !important; -webkit-text-fill-color: #28241f !important; }
body.airix-portal .preview-sticky-container .btn-success { color: #fffdf8 !important; border-color: #2f6b55 !important; background: #2f6b55 !important; -webkit-text-fill-color: #fffdf8 !important; }
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s .table > tbody > tr,
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s .table > tbody > tr > td,
body.airix-portal .invoice-html-content .table > tbody > tr,
body.airix-portal .invoice-html-content .table > tbody > tr > td { color: #28241f !important; border-color: #ddd4c7 !important; background: #fffdf8 !important; -webkit-text-fill-color: #28241f !important; }
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s .table > thead > tr > th,
body.airix-portal .invoice-html-content .table > thead > tr > th { color: #80766b !important; border-color: #ddd4c7 !important; background: #f3ede3 !important; -webkit-text-fill-color: #80766b !important; }
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s :is(address,p,h4,strong),
body.airix-portal .invoice-html-content :is(address,p,h4,strong) { color: #28241f !important; -webkit-text-fill-color: #28241f !important; }
body.airix-portal .contract-html-tabs :is(.text-muted,.tw-text-neutral-500,.tw-text-neutral-600,.tw-text-neutral-700),
body.airix-portal .proposal-html-tabs :is(.text-muted,.tw-text-neutral-500,.tw-text-neutral-600,.tw-text-neutral-700) { color: #b8afa3 !important; }
body.airix-portal .contract-html-tabs .nav-tabs,
body.airix-portal .proposal-html-tabs .nav-tabs { display: flex; border-bottom: 1px solid rgba(255,253,248,.16); }
body.airix-portal .contract-html-tabs .nav-tabs > li > a,
body.airix-portal .proposal-html-tabs .nav-tabs > li > a { color: #b8afa3 !important; border: 0 !important; background: transparent !important; }
body.airix-portal .contract-html-tabs .nav-tabs > li.active > a,
body.airix-portal .proposal-html-tabs .nav-tabs > li.active > a { color: #fffdf8 !important; border-bottom: 2px solid var(--airix-v15-terra) !important; }

@media (max-width: 992px) {
    body.airix-portal .contract-left,
    body.airix-portal .proposal-left,
    body.airix-portal .contract-right,
    body.airix-portal .proposal-right { position: static; width: 100%; padding: 0 14px; }
}


/* Auth surface: a quiet split layout inspired by the Resolve client entry. */

body.customers_login {
    background: var(--airix-paper-bright);
}

body.customers_login .airix-topbar,
body.customers_login .airix-footer {
    display: none;
}

body.customers_login .airix-page-shell,
body.customers_login .airix-page-content {
    min-height: 100dvh;
    background: var(--airix-paper-bright);
}

body.customers_login .airix-page-content {
    padding: 0;
}

body.customers_login .airix-page-content > .container {
    width: 100%;
    max-width: none;
    padding: 0;
}

body.customers_login .airix-page-content > .container > .row {
    margin-right: 0;
    margin-left: 0;
}

body.customers_login .airix-auth-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
    gap: 0;
    align-items: stretch;
    width: 100%;
    min-height: 100dvh;
    margin: 0;
}

body.customers_login .airix-auth-intro {
    position: relative;
    display: flex;
    align-items: flex-start;
    min-height: 100dvh;
    padding: 48px;
    overflow: hidden;
    border-radius: 0;
    background-color: #26231f;
    background-image: linear-gradient(180deg, rgba(17, 15, 13, 0.16), rgba(17, 15, 13, 0.26)), url('../images/airix-auth.jpg');
    background-position: center;
    background-size: cover;
    box-shadow: none;
}

body.customers_login .airix-auth-intro::after {
    display: none;
}

body.customers_login .airix-auth-brand {
    position: relative;
    z-index: 1;
}

body.customers_login .airix-auth-brand__logo {
    display: inline-flex;
    align-items: center;
    padding: 0;
}

body.customers_login .airix-auth-brand__logo img {
    width: auto;
    max-width: 182px;
    height: auto;
    filter: brightness(0) invert(1);
}

body.customers_login .airix-auth-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: min(100%, 540px);
    min-height: 100dvh;
    margin: 0 auto;
    padding: 56px clamp(28px, 7vw, 96px);
}

body.customers_login .airix-auth-form .login-heading {
    margin: 0 0 28px;
    color: var(--airix-charcoal);
    font-family: var(--airix-ui);
    font-size: 32px;
    font-weight: 650;
    letter-spacing: -0.04em;
    line-height: 1.12;
}

body.customers_login .airix-auth-form .panel_s,
body.customers_login .airix-auth-form .panel_s .panel-body {
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.customers_login .airix-auth-form .panel-body {
    padding: 0;
}

body.customers_login .airix-auth-form .form-group {
    margin-bottom: 20px;
}

body.customers_login .airix-auth-form label,
body.customers_login .airix-auth-form .control-label {
    margin-bottom: 8px;
    color: var(--airix-charcoal);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

body.customers_login .airix-auth-form .form-control,
body.customers_login .airix-auth-form .bootstrap-select > .dropdown-toggle {
    min-height: 44px;
    border-color: var(--airix-line);
    border-radius: 8px;
    background: var(--airix-paper-bright);
    box-shadow: none;
    font-size: 14px;
}

body.customers_login .airix-auth-form .form-control:focus,
body.customers_login .airix-auth-form .bootstrap-select.open > .dropdown-toggle {
    border-color: var(--airix-navy);
    box-shadow: 0 0 0 3px rgba(34, 56, 74, 0.12);
}

body.customers_login .airix-auth-form .btn-primary {
    min-height: 44px;
    border-radius: 8px;
    color: var(--airix-paper-bright) !important;
    background: var(--airix-navy) !important;
    border-color: var(--airix-navy) !important;
    font-size: 12px;
    letter-spacing: 0.04em;
}

body.customers_login .airix-auth-form .btn-primary:hover,
body.customers_login .airix-auth-form .btn-primary:focus {
    color: var(--airix-paper-bright) !important;
    background: var(--airix-navy-light) !important;
    border-color: var(--airix-navy-light) !important;
}

html[data-theme="dark"] body.customers_login .airix-page-shell,
html[data-theme="dark"] body.customers_login .airix-page-content,
html[data-theme="dark"] body.customers_login .airix-auth-form {
    background: var(--airix-paper);
}

html[data-theme="dark"] body.customers_login .airix-auth-form .panel_s,
html[data-theme="dark"] body.customers_login .airix-auth-form .panel_s .panel-body,
html[data-theme="dark"] body.customers_login .airix-auth-form .form-control,
html[data-theme="dark"] body.customers_login .airix-auth-form .bootstrap-select > .dropdown-toggle {
    background: var(--airix-paper);
}

html[data-theme="dark"] body.customers_login .airix-auth-form .btn-primary {
    color: #1d1914 !important;
    background: var(--airix-gold) !important;
    border-color: var(--airix-gold) !important;
}

@media (max-width: 991px) {
    body.customers_login .airix-auth-page {
        grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
    }

    body.customers_login .airix-auth-intro {
        padding: 36px;
    }

    body.customers_login .airix-auth-form {
        padding-right: 44px;
        padding-left: 44px;
    }
}

@media (max-width: 767px) {
    body.customers_login .airix-auth-page {
        display: block;
        min-height: 100dvh;
    }

    body.customers_login .airix-auth-intro {
        min-height: 190px;
        padding: 28px 24px;
        background-position: center 38%;
    }

    body.customers_login .airix-auth-brand__logo img {
        max-width: 152px;
    }

    body.customers_login .airix-auth-form {
        width: 100%;
        min-height: calc(100dvh - 190px);
        padding: 42px 24px 56px;
    }

    body.customers_login .airix-auth-form .login-heading {
        font-size: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    body.airix-portal *,
    body.airix-portal *::before,
    body.airix-portal *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media (prefers-color-scheme: dark) {
    body.airix-portal {
        --airix-paper: #211d17;
        --airix-paper-bright: #2e2a24;
        --airix-paper-warm: #3a3127;
        --airix-charcoal: #fbf4e4;
        --airix-body: rgba(251, 244, 228, 0.78);
        --airix-muted: rgba(251, 244, 228, 0.58);
        --airix-line: rgba(251, 244, 228, 0.2);
        --airix-line-soft: rgba(251, 244, 228, 0.11);
        --airix-shadow: 0 16px 42px rgba(0, 0, 0, 0.28);
        --airix-shadow-soft: 0 6px 20px rgba(0, 0, 0, 0.2);
    }

    body.airix-portal::before {
        opacity: 0.08;
        mix-blend-mode: screen;
    }

    body.airix-portal .airix-page-shell {
        background: var(--airix-paper);
    }

    body.airix-portal .form-control,
    body.airix-portal .bootstrap-select > .dropdown-toggle {
        color: var(--airix-charcoal);
        background: rgba(46, 42, 36, 0.92);
    }

    /* Keep the authentication surface in the same dark theme as the page.
     * The stock panel background is intentionally opaque, so it needs an
     * explicit dark value rather than relying on inherited tokens. */
    body.airix-portal .panel_s,
    body.airix-portal .airix-auth-form .panel_s {
        border-color: var(--airix-line);
        background: var(--airix-paper-bright);
        box-shadow: var(--airix-shadow-soft);
    }

    body.airix-portal .panel_s .panel-body,
    body.airix-portal .airix-auth-form .panel_s .panel-body {
        background: var(--airix-paper-bright);
    }

    body.airix-portal .panel_s .panel-footer {
        background: rgba(58, 49, 39, 0.7);
    }

    body.airix-portal .airix-auth-form .login-heading,
    body.airix-portal .airix-auth-form label,
    body.airix-portal .airix-auth-form .control-label,
    body.airix-portal .airix-auth-form .checkbox label {
        color: var(--airix-charcoal);
    }

    body.airix-portal .airix-auth-form .form-control,
    body.airix-portal .airix-auth-form .bootstrap-select > .dropdown-toggle {
        color: var(--airix-charcoal);
        background: rgba(28, 24, 19, 0.82);
        border-color: rgba(251, 244, 228, 0.25);
    }

    body.airix-portal .airix-auth-form .form-control::placeholder {
        color: var(--airix-muted);
    }

    body.airix-portal .airix-auth-form .form-control:focus,
    body.airix-portal .airix-auth-form .bootstrap-select.open > .dropdown-toggle {
        background: rgba(28, 24, 19, 0.96);
    }

    body.airix-portal .airix-auth-form .bootstrap-select .dropdown-menu {
        color: var(--airix-charcoal);
        background: var(--airix-paper-bright);
        border-color: var(--airix-line);
    }

    body.airix-portal .airix-auth-form .bootstrap-select .dropdown-menu > li > a {
        color: var(--airix-charcoal);
    }

    body.airix-portal .airix-auth-form .btn-primary {
        color: var(--airix-on-dark) !important;
    }

    body.airix-portal .airix-auth-form .text-muted,
    body.airix-portal .airix-auth-form .tw-text-center a {
        color: var(--airix-muted) !important;
    }

    body.airix-portal .airix-auth-intro {
        box-shadow: var(--airix-shadow);
    }
}

@media (prefers-reduced-transparency: reduce) {
    body.airix-portal .airix-topbar,
    body.airix-portal .panel_s,
    body.airix-portal .form-control {
        background: var(--airix-paper);
        backdrop-filter: none;
    }
}

@media (prefers-reduced-motion: no-preference) {
    body.airix-portal.airix-ready .airix-page-content > .container,
    body.airix-portal.airix-ready .airix-auth-page {
        animation: airix-page-arrival 420ms ease-out both;
    }

    body.airix-portal.airix-ready .airix-topbar__inner {
        animation: airix-topbar-arrival 360ms ease-out both;
    }
}

@keyframes airix-page-arrival {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes airix-topbar-arrival {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Explicit theme modes ---------------------------------------------------
 * The system preference is only the initial default. The toggle writes
 * data-theme on <html>, so the user choice always wins without a flash.
 */

html[data-theme="light"] body.airix-portal {
    color-scheme: light;
    --airix-ink: #211d17;
    --airix-ink-deep: #171410;
    --airix-charcoal: #2e2a24;
    --airix-paper: #f7f3ea;
    --airix-paper-bright: #fffdf8;
    --airix-paper-warm: #eee6d7;
    --airix-body: #4b4438;
    --airix-muted: #766d5f;
    --airix-navy: #22384a;
    --airix-navy-light: #345066;
    --airix-rust: #934927;
    --airix-ember: #c95e18;
    --airix-gold: #d6a52c;
    --airix-sage: #5e754f;
    --airix-line: rgba(46, 42, 36, 0.16);
    --airix-line-soft: rgba(46, 42, 36, 0.09);
    --airix-on-dark: #fffaf0;
    --airix-shadow: 0 18px 46px rgba(33, 29, 23, 0.12);
    --airix-shadow-soft: 0 7px 22px rgba(33, 29, 23, 0.08);
}

html[data-theme="dark"] body.airix-portal {
    color-scheme: dark;
    --airix-ink: #171512;
    --airix-ink-deep: #100f0d;
    --airix-charcoal: #f7f1e5;
    --airix-paper: #211e1a;
    --airix-paper-bright: #2b2722;
    --airix-paper-warm: #393129;
    --airix-body: #d7cfc1;
    --airix-muted: #aaa092;
    --airix-navy: #9ab6ca;
    --airix-navy-light: #b8cedc;
    --airix-rust: #e4945d;
    --airix-ember: #ef994d;
    --airix-gold: #efc45a;
    --airix-sage: #a8bf8e;
    --airix-line: rgba(247, 241, 229, 0.18);
    --airix-line-soft: rgba(247, 241, 229, 0.1);
    --airix-on-dark: #fffaf0;
    --airix-shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
    --airix-shadow-soft: 0 8px 26px rgba(0, 0, 0, 0.26);
}

html[data-theme="light"] body.airix-portal .navbar.airix-topbar {
    border-bottom-color: var(--airix-line);
    background: rgba(255, 253, 248, 0.94);
    box-shadow: 0 8px 26px rgba(33, 29, 23, 0.08);
    backdrop-filter: blur(16px);
}

html[data-theme="light"] body.airix-portal .airix-topbar .navbar-brand.logo-text,
html[data-theme="light"] body.airix-portal .airix-nav > li > a {
    color: var(--airix-charcoal) !important;
}

html[data-theme="light"] body.airix-portal .airix-topbar .navbar-brand img {
    filter: none;
}

html[data-theme="light"] body.airix-portal .airix-nav > li > a:hover,
html[data-theme="light"] body.airix-portal .airix-nav > li > a:focus,
html[data-theme="light"] body.airix-portal .airix-nav > li.active > a,
html[data-theme="light"] body.airix-portal .airix-nav > li > a[aria-current="page"] {
    color: var(--airix-ink) !important;
    background: var(--airix-paper-warm) !important;
}

html[data-theme="light"] body.airix-portal .airix-menu-toggle {
    border-color: var(--airix-line);
}

html[data-theme="light"] body.airix-portal .airix-menu-toggle .icon-bar {
    background: var(--airix-charcoal);
}

html[data-theme="light"] body.airix-portal .airix-topbar .dropdown-menu {
    background: var(--airix-paper-bright);
}

html[data-theme="dark"] body.airix-portal .navbar.airix-topbar {
    border-bottom-color: rgba(247, 241, 229, 0.14);
    background: rgba(23, 21, 18, 0.94);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.26);
    backdrop-filter: blur(16px);
}

html[data-theme="dark"] body.airix-portal .airix-topbar .navbar-brand.logo-text,
html[data-theme="dark"] body.airix-portal .airix-nav > li > a {
    color: var(--airix-on-dark) !important;
}

html[data-theme="dark"] body.airix-portal .airix-topbar .navbar-brand img {
    filter: brightness(0) invert(1);
}

html[data-theme="dark"] body.airix-portal .airix-nav > li > a:hover,
html[data-theme="dark"] body.airix-portal .airix-nav > li > a:focus,
html[data-theme="dark"] body.airix-portal .airix-nav > li.active > a,
html[data-theme="dark"] body.airix-portal .airix-nav > li > a[aria-current="page"] {
    color: var(--airix-on-dark) !important;
    background: rgba(247, 241, 229, 0.09) !important;
}

/* Header controls */

body.airix-portal .airix-mode-item {
    display: flex;
    align-items: center;
}

body.airix-portal .airix-mode-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    margin: 0 4px 0 8px;
    padding: 8px 12px;
    border: 1px solid var(--airix-line);
    border-radius: 999px;
    color: var(--airix-charcoal);
    background: transparent;
    font-family: var(--airix-ui);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body.airix-portal .airix-mode-toggle--mobile {
    display: none;
}

body.airix-portal .airix-mode-toggle:hover,
body.airix-portal .airix-mode-toggle:focus-visible {
    color: var(--airix-ink);
    background: var(--airix-paper-warm);
    border-color: var(--airix-ember);
    transform: translateY(-1px);
}

html[data-theme="dark"] body.airix-portal .airix-mode-toggle {
    color: var(--airix-on-dark);
    border-color: rgba(247, 241, 229, 0.26);
}

html[data-theme="dark"] body.airix-portal .airix-mode-toggle:hover,
html[data-theme="dark"] body.airix-portal .airix-mode-toggle:focus-visible {
    color: var(--airix-ink);
    background: var(--airix-gold);
    border-color: var(--airix-gold);
}

body.airix-portal .airix-mode-toggle i {
    width: 14px;
    color: var(--airix-ember);
    font-size: 13px;
    text-align: center;
}

@media (min-width: 768px) {
    body.airix-portal .airix-topbar__inner {
        display: flex;
        align-items: center;
        gap: 28px;
    }

    body.airix-portal .airix-topbar .navbar-header {
        flex: 0 0 auto;
    }

    body.airix-portal .airix-topbar .navbar-collapse {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        flex: 1 1 auto;
        width: auto;
        padding-right: 0;
        padding-left: 0;
        border-top: 0;
        box-shadow: none;
    }

    body.airix-portal .airix-nav {
        float: none !important;
        margin-right: 0 !important;
        margin-left: auto !important;
    }
}

body.airix-portal .airix-mode-toggle--floating {
    position: fixed;
    z-index: var(--airix-z-nav);
    top: 18px;
    right: 22px;
    margin: 0;
    color: var(--airix-on-dark);
    background: var(--airix-ink);
    border-color: rgba(255, 250, 240, 0.24);
    box-shadow: var(--airix-shadow-soft);
}

body.airix-portal .airix-mode-toggle--floating:hover,
body.airix-portal .airix-mode-toggle--floating:focus-visible {
    color: var(--airix-ink);
    background: var(--airix-gold);
    border-color: var(--airix-gold);
}

/* Light surfaces must stay opaque and readable even when the OS is dark. */

html[data-theme="light"] body.airix-portal,
html[data-theme="light"] body.airix-portal .airix-page-shell {
    background: var(--airix-paper);
}

html[data-theme="light"] body.airix-portal::before {
    opacity: 0.12;
    mix-blend-mode: multiply;
}

html[data-theme="light"] body.airix-portal .panel_s {
    border-color: var(--airix-line);
    background: rgba(255, 253, 248, 0.88);
    box-shadow: var(--airix-shadow-soft);
}

html[data-theme="light"] body.airix-portal .panel_s .panel-body {
    background: transparent;
}

html[data-theme="light"] body.airix-portal .form-control,
html[data-theme="light"] body.airix-portal .bootstrap-select > .dropdown-toggle {
    color: var(--airix-charcoal);
    background: rgba(255, 253, 248, 0.92);
    border-color: rgba(46, 42, 36, 0.24);
}

html[data-theme="light"] body.airix-portal .airix-auth-form .login-heading,
html[data-theme="light"] body.airix-portal .airix-auth-form label,
html[data-theme="light"] body.airix-portal .airix-auth-form .control-label,
html[data-theme="light"] body.airix-portal .airix-auth-form .checkbox label {
    color: var(--airix-charcoal);
}

html[data-theme="light"] body.airix-portal .airix-auth-form .panel_s {
    background: var(--airix-paper-bright);
}

html[data-theme="light"] body.airix-portal .airix-auth-form .panel-body {
    background: transparent;
}

/* Dark surfaces */

html[data-theme="dark"] body.airix-portal,
html[data-theme="dark"] body.airix-portal .airix-page-shell {
    background: var(--airix-paper);
}

html[data-theme="dark"] body.airix-portal::before {
    opacity: 0.06;
    mix-blend-mode: screen;
}

html[data-theme="dark"] body.airix-portal .panel_s {
    border-color: var(--airix-line);
    background: var(--airix-paper-bright);
    box-shadow: var(--airix-shadow-soft);
}

html[data-theme="dark"] body.airix-portal .panel_s .panel-body {
    background: transparent;
}

html[data-theme="dark"] body.airix-portal .form-control,
html[data-theme="dark"] body.airix-portal .bootstrap-select > .dropdown-toggle {
    color: var(--airix-charcoal);
    background: #1b1916;
    border-color: rgba(247, 241, 229, 0.24);
}

html[data-theme="dark"] body.airix-portal .form-control::placeholder {
    color: var(--airix-muted);
}

html[data-theme="dark"] body.airix-portal .airix-auth-form .panel_s {
    background: var(--airix-paper-bright);
}

html[data-theme="dark"] body.airix-portal .airix-auth-form .login-heading,
html[data-theme="dark"] body.airix-portal .airix-auth-form label,
html[data-theme="dark"] body.airix-portal .airix-auth-form .control-label,
html[data-theme="dark"] body.airix-portal .airix-auth-form .checkbox label {
    color: var(--airix-charcoal);
}

html[data-theme="dark"] body.airix-portal .airix-auth-form .btn-primary {
    color: #1d1914 !important;
    background: var(--airix-gold) !important;
    border-color: var(--airix-gold) !important;
}

html[data-theme="dark"] body.airix-portal .airix-auth-form .btn-primary:hover,
html[data-theme="dark"] body.airix-portal .airix-auth-form .btn-primary:focus {
    color: #1d1914 !important;
    background: #f4cf6d !important;
    border-color: #f4cf6d !important;
}

html[data-theme="dark"] body.airix-portal .table > thead > tr > th,
html[data-theme="dark"] body.airix-portal .table > tbody > tr > td,
html[data-theme="dark"] body.airix-portal hr,
html[data-theme="dark"] body.airix-portal .horizontal-scrollable-tabs {
    border-color: var(--airix-line);
}

html[data-theme="dark"] body.airix-portal .table > tbody > tr:hover,
html[data-theme="dark"] body.airix-portal dl.tw-grid > a:hover,
html[data-theme="dark"] body.airix-portal dl.tw-grid > a:focus {
    background: rgba(57, 49, 41, 0.72) !important;
}

html[data-theme="dark"] body.airix-portal .airix-topbar .dropdown-menu {
    color: var(--airix-body);
    background: var(--airix-paper-bright);
    border-color: var(--airix-line);
}

html[data-theme="dark"] body.airix-portal .airix-topbar .dropdown-menu > li > a {
    color: var(--airix-body);
}

html[data-theme="dark"] body.airix-portal .airix-topbar .dropdown-menu > li > a:hover,
html[data-theme="dark"] body.airix-portal .airix-topbar .dropdown-menu > li > a:focus {
    color: var(--airix-charcoal);
    background: var(--airix-paper-warm);
}

@media (max-width: 767px) {
    body.airix-portal .airix-mode-item {
        display: block;
        padding: 4px 18px 8px;
    }

    body.airix-portal .airix-mode-toggle:not(.airix-mode-toggle--floating) {
        width: 100%;
        justify-content: flex-start;
        margin: 0;
        padding-right: 14px;
        padding-left: 14px;
        border-radius: 6px;
    }

    body.airix-portal .airix-mode-toggle--floating {
        top: 12px;
        right: 14px;
    }
}

/* Keep the auth form flat after the global surface rules above. */

html[data-theme="light"] body.customers_login .airix-auth-form .panel_s,
html[data-theme="light"] body.customers_login .airix-auth-form .panel_s .panel-body,
html[data-theme="dark"] body.customers_login .airix-auth-form .panel_s,
html[data-theme="dark"] body.customers_login .airix-auth-form .panel_s .panel-body {
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.airix-portal.customers_login .airix-page-content {
    padding: 0 !important;
}

body.airix-portal.customers_login #wrapper,
body.airix-portal.customers_login .airix-page-content > .container,
body.airix-portal.customers_login .airix-page-content > .container > .row {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.airix-portal .kb-search input[type="search"] {
    padding-left: 45px;
}

body.airix-portal .kb-search .form-control-feedback {
    z-index: 2;
    color: var(--airix-muted);
}

html[data-theme="dark"] body.airix-portal .kb-search-jumbotron {
    background: var(--airix-paper);
}

html[data-theme="dark"] body.airix-portal .kb-search-heading {
    color: var(--airix-charcoal) !important;
}

html[data-theme="dark"] body.airix-portal .kb-search .form-control {
    color: var(--airix-charcoal);
    background: #1b1916;
    border-color: var(--airix-line);
}

html[data-theme="dark"] body.airix-portal .kb-search .form-control::placeholder {
    color: var(--airix-muted);
}

html[data-theme="dark"] body.airix-portal .kb-search-button {
    color: #1d1914 !important;
    background: var(--airix-gold) !important;
    border-color: var(--airix-gold) !important;
}

html[data-theme="dark"] body.airix-portal .kb-search-jumbotron + .container .tw-text-neutral-800,
html[data-theme="dark"] body.airix-portal .kb-search-jumbotron + .container .tw-text-neutral-600,
html[data-theme="dark"] body.airix-portal .kb-search-jumbotron + .container .tw-text-neutral-500 {
    color: var(--airix-body) !important;
}

html[data-theme="dark"] body.airix-portal .kb-search-jumbotron + .container .tw-bg-neutral-50 {
    color: var(--airix-charcoal) !important;
    background: var(--airix-paper-warm) !important;
}

body.airix-portal > .airix-skip-link {
    position: fixed;
    z-index: var(--airix-z-skip);
}

/* Resolve-inspired shell: compact, calm, and utility-first. The portal keeps
 * Perfex's server-rendered navigation, but borrows Resolve's restrained top
 * bar rhythm instead of the stock CRM header treatment. */
body.airix-portal .navbar.airix-topbar {
    min-height: 72px;
    border-bottom: 1px solid var(--airix-line);
    background: rgba(255, 253, 248, 0.92);
    box-shadow: 0 4px 18px rgba(33, 29, 23, 0.05);
    backdrop-filter: blur(18px) saturate(120%);
}

body.airix-portal .airix-topbar__inner {
    min-height: 72px;
}

body.airix-portal .airix-topbar .navbar-brand {
    height: 72px;
}

body.airix-portal .airix-topbar .navbar-brand img {
    max-width: 172px;
    height: 31px;
}

body.airix-portal .airix-nav {
    gap: 6px;
}

body.airix-portal .airix-nav > li > a {
    min-height: 40px;
    padding: 9px 12px;
    border-radius: 5px;
    color: var(--airix-body) !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.015em;
    text-transform: none;
}

body.airix-portal .airix-nav > li > a::after {
    right: 12px;
    bottom: 2px;
    left: 12px;
    height: 1px;
    background: var(--airix-ember);
}

body.airix-portal .airix-nav > li > a:hover,
body.airix-portal .airix-nav > li > a:focus,
body.airix-portal .airix-nav > li.active > a,
body.airix-portal .airix-nav > li > a[aria-current="page"] {
    color: var(--airix-ink) !important;
    background: var(--airix-paper-warm) !important;
}

body.airix-portal .airix-nav > li.customers-nav-item-login > a {
    min-height: 40px;
    margin-left: 6px;
    padding-right: 17px;
    padding-left: 17px;
    border-radius: 5px !important;
    color: var(--airix-ink) !important;
    background: var(--airix-gold) !important;
}

body.airix-portal .airix-mode-toggle {
    min-height: 38px;
    gap: 7px;
    margin-left: 2px;
    padding: 8px 12px;
    border: 1px solid var(--airix-line);
    border-radius: 5px;
    color: var(--airix-body);
    background: transparent;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

body.airix-portal .airix-mode-toggle:hover,
body.airix-portal .airix-mode-toggle:focus-visible {
    color: var(--airix-ink);
    border-color: var(--airix-ember);
    background: var(--airix-paper-warm);
}

body.airix-portal .airix-topbar .customers-nav-item-profile > a {
    min-height: 40px;
    padding-left: 10px;
}

body.airix-portal .airix-topbar .client-profile-image-small {
    width: 30px;
    height: 30px;
    border-color: var(--airix-line);
}

html[data-theme="dark"] body.airix-portal .navbar.airix-topbar {
    background: rgba(23, 21, 18, 0.9);
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] body.airix-portal .airix-nav > li > a,
html[data-theme="dark"] body.airix-portal .airix-mode-toggle {
    color: var(--airix-body) !important;
}

html[data-theme="dark"] body.airix-portal .airix-nav > li > a:hover,
html[data-theme="dark"] body.airix-portal .airix-nav > li > a:focus,
html[data-theme="dark"] body.airix-portal .airix-nav > li.active > a,
html[data-theme="dark"] body.airix-portal .airix-nav > li > a[aria-current="page"],
html[data-theme="dark"] body.airix-portal .airix-mode-toggle:hover,
html[data-theme="dark"] body.airix-portal .airix-mode-toggle:focus-visible {
    color: var(--airix-charcoal) !important;
    background: var(--airix-paper-warm) !important;
}

/* Airix footer: two editorial link groups, then a contact rail and legal line. */
body.airix-portal .airix-footer {
    min-height: 0;
    height: auto !important;
    padding: 58px 0 24px;
    border-top: 1px solid var(--airix-line);
    background: var(--airix-paper-bright);
}

body.airix-portal .airix-footer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 52px;
    padding-bottom: 48px;
}

body.airix-portal .airix-footer-heading {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin-bottom: 16px;
}

body.airix-portal .airix-footer-index {
    color: var(--airix-muted);
    font-family: var(--airix-ui);
    font-size: 10px;
    letter-spacing: 0.15em;
}

body.airix-portal .airix-footer-heading h2 {
    margin: 0;
    color: var(--airix-charcoal);
    font-family: var(--airix-display);
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -0.02em;
}

body.airix-portal .airix-footer-group nav {
    border-top: 1px solid var(--airix-line);
}

body.airix-portal .airix-footer-group nav a {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid var(--airix-line-soft);
    color: var(--airix-body);
    font-family: var(--airix-ui);
    font-size: 14px;
    line-height: 1.35;
}

body.airix-portal .airix-footer-group nav a span {
    color: var(--airix-muted);
    font-size: 14px;
    transition: transform 180ms ease, color 180ms ease;
}

body.airix-portal .airix-footer-group nav a:hover,
body.airix-portal .airix-footer-group nav a:focus-visible {
    color: var(--airix-ink);
}

body.airix-portal .airix-footer-group nav a:hover span,
body.airix-portal .airix-footer-group nav a:focus-visible span {
    color: var(--airix-ember);
    transform: translate(2px, -2px);
}

body.airix-portal .airix-footer-contact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: end;
    padding: 34px 0;
    border-top: 1px solid var(--airix-line);
}

body.airix-portal .airix-footer-brand {
    color: var(--airix-charcoal);
    font-family: var(--airix-ui);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
}

body.airix-portal .airix-footer-brand-block p {
    max-width: 410px;
    margin: 14px 0 0;
    color: var(--airix-muted);
    font-family: var(--airix-ui);
    font-size: 14px;
    line-height: 1.55;
}

body.airix-portal .airix-footer-contact-block {
    text-align: right;
}

body.airix-portal .airix-footer-email {
    display: inline-block;
    color: var(--airix-charcoal) !important;
    font-family: var(--airix-display);
    font-size: 20px;
    text-decoration: underline;
    text-decoration-color: var(--airix-line);
    text-decoration-thickness: 1px;
    text-underline-offset: 7px;
}

body.airix-portal .airix-footer-phones {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 14px;
}

body.airix-portal .airix-footer-phones a {
    color: var(--airix-muted);
    font-size: 12px;
}

body.airix-portal .airix-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--airix-line);
    color: var(--airix-muted);
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.airix-portal .airix-footer-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 16px;
}

body.airix-portal .airix-footer-bottom a {
    color: var(--airix-muted);
}

body.airix-portal .airix-footer-bottom a:hover,
body.airix-portal .airix-footer-bottom a:focus-visible {
    color: var(--airix-ink);
}

@media (max-width: 767px) {
    body.airix-portal .navbar.airix-topbar,
    body.airix-portal .airix-topbar__inner,
    body.airix-portal .airix-topbar .navbar-brand {
        min-height: 56px;
        height: 56px;
    }

    body.airix-portal .airix-topbar__inner {
        position: relative;
    }

    body.airix-portal .airix-mode-toggle--mobile {
        position: absolute;
        top: 9px;
        right: 15px;
        left: auto;
        z-index: 2;
        display: inline-flex !important;
        width: 38px !important;
        max-width: 38px;
        min-height: 38px;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;
        border-radius: 5px;
    }

    body.airix-portal .airix-mode-toggle--mobile .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;
    }

    body.airix-portal .airix-mode-item {
        display: none;
    }

    body.airix-portal .airix-footer {
        padding-top: 42px;
    }

    body.airix-portal .airix-footer-grid,
    body.airix-portal .airix-footer-contact {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    body.airix-portal .airix-footer-grid {
        padding-bottom: 34px;
    }

    body.airix-portal .airix-footer-contact-block {
        text-align: left;
    }

    body.airix-portal .airix-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        line-height: 1.5;
    }
}

/* Resolve-style top bar alignment: brand, navigation, then compact icon actions. */
@media (min-width: 768px) {
    body.airix-portal .airix-topbar > .container {
        width: min(1280px, calc(100% - 64px));
        max-width: 1280px;
    }

    body.airix-portal .airix-topbar .navbar-collapse {
        display: flex !important;
        align-items: center;
        justify-content: flex-start;
        flex: 1 1 auto;
        width: auto;
        margin-left: 32px;
        padding: 0;
        border: 0;
        box-shadow: none;
    }

    body.airix-portal .airix-nav {
        width: 100%;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    body.airix-portal .airix-nav > li > a {
        min-height: 36px;
        padding: 8px 12px;
        font-family: "Saira", "Helvetica Neue", Arial, sans-serif;
        font-size: 13px;
        font-weight: 500;
        letter-spacing: 0;
    }

    body.airix-portal .airix-nav > li > a::after {
        display: none;
    }

    body.airix-portal .airix-nav > li.airix-nav-group > a::after {
        display: none;
    }

    body.airix-portal .airix-nav-group-chevron {
        margin-left: 7px;
        color: var(--airix-muted);
        font-size: 9px;
        transition: transform 180ms ease, color 180ms ease;
    }

    body.airix-portal .airix-nav-group.open > a .airix-nav-group-chevron,
    body.airix-portal .airix-nav-group > a:hover .airix-nav-group-chevron,
    body.airix-portal .airix-nav-group > a:focus-visible .airix-nav-group-chevron {
        color: currentColor;
        transform: rotate(180deg);
    }

    body.airix-portal .airix-nav > li.active > a,
    body.airix-portal .airix-nav > li > a[aria-current="page"] {
        color: var(--airix-on-dark) !important;
        background: var(--airix-ink) !important;
    }

    html[data-theme="dark"] body.airix-portal .airix-nav > li.active > a,
    html[data-theme="dark"] body.airix-portal .airix-nav > li > a[aria-current="page"] {
        color: var(--airix-ink) !important;
        background: var(--airix-paper-warm) !important;
    }

    body.airix-portal .airix-search-item {
        margin-left: auto;
    }

    body.airix-portal .airix-icon-item > a {
        position: relative;
        display: inline-flex !important;
        width: 36px;
        min-height: 36px !important;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
        border-radius: 5px;
        color: var(--airix-body) !important;
        background: transparent !important;
        font-family: "Saira", "Helvetica Neue", Arial, sans-serif;
        font-size: 14px;
    }

    body.airix-portal .airix-icon-item > a:hover,
    body.airix-portal .airix-icon-item > a:focus-visible {
        color: var(--airix-ink) !important;
        background: var(--airix-paper-warm) !important;
    }

    body.airix-portal .airix-mode-item {
        margin-left: 2px;
    }

    body.airix-portal .airix-mode-toggle {
        width: 36px;
        min-height: 36px;
        justify-content: center;
        margin-left: 0;
        padding: 0;
        border-color: transparent;
        font-size: 14px;
    }

    body.airix-portal .airix-mode-toggle > span[data-airix-theme-label] {
        display: none;
    }

    body.airix-portal .airix-nav-badge {
        position: absolute;
        top: 3px;
        right: 2px;
        display: inline-flex;
        min-width: 14px;
        height: 14px;
        align-items: center;
        justify-content: center;
        padding: 0 3px;
        border-radius: 10px;
        color: var(--airix-on-dark);
        background: var(--airix-ember);
        font-size: 9px;
        line-height: 1;
    }

    body.airix-portal .airix-nav-group .dropdown-menu {
        min-width: 220px;
        margin-top: 8px;
        padding: 6px;
        border-color: var(--airix-line);
        border-radius: 6px;
        background: var(--airix-paper-bright);
        box-shadow: var(--airix-shadow);
    }

    body.airix-portal .airix-nav-group .dropdown-menu > li > a {
        display: flex;
        align-items: center;
        gap: 9px;
        min-height: 36px;
        padding: 9px 11px;
        border-radius: 4px;
        color: var(--airix-body);
        font-family: "Saira", "Helvetica Neue", Arial, sans-serif;
        font-size: 12px;
    }

    body.airix-portal .airix-nav-group .dropdown-menu > li > a:hover,
    body.airix-portal .airix-nav-group .dropdown-menu > li > a:focus-visible,
    body.airix-portal .airix-nav-group .dropdown-menu > li.active > a {
        color: var(--airix-ink);
        background: var(--airix-paper-warm);
    }

    body.airix-portal .airix-topbar .customers-nav-item-profile > a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 36px;
        padding: 2px 4px 2px 8px;
        border-radius: 999px;
    }

    body.airix-portal .airix-profile-meta {
        display: flex;
        min-width: 0;
        flex-direction: column;
        align-items: flex-start;
        line-height: 1.15;
    }

    body.airix-portal .airix-profile-meta strong {
        max-width: 150px;
        overflow: hidden;
        color: var(--airix-charcoal);
        font-family: "Saira", "Helvetica Neue", Arial, sans-serif;
        font-size: 12px;
        font-weight: 600;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.airix-portal .airix-profile-meta small {
        max-width: 150px;
        overflow: hidden;
        margin-top: 3px;
        color: var(--airix-muted);
        font-family: "Saira", "Helvetica Neue", Arial, sans-serif;
        font-size: 10px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.airix-portal .airix-profile-chevron {
        margin-right: 2px;
        color: var(--airix-muted);
        font-size: 10px;
    }
}

@media (max-width: 767px) {
    body.airix-portal .airix-topbar,
    body.airix-portal .airix-topbar__inner,
    body.airix-portal .airix-topbar .navbar-brand {
        min-height: 56px;
        height: 56px;
    }

    body.airix-portal .airix-topbar .navbar-brand img {
        max-width: 145px;
        height: 27px;
    }

    body.airix-portal .airix-topbar .navbar-collapse {
        background: var(--airix-paper-bright);
        border-top-color: var(--airix-line);
    }

    body.airix-portal .airix-profile-meta,
    body.airix-portal .airix-profile-chevron {
        display: none;
    }

    body.airix-portal .airix-nav-group .dropdown-menu {
        position: static;
        float: none;
        width: calc(100% - 28px);
        min-width: 0;
        margin: 0 14px 6px;
        padding: 4px;
        border: 0;
        box-shadow: none;
        background: var(--airix-paper-warm);
    }

    body.airix-portal .airix-nav-group .dropdown-menu > li > a {
        min-height: 42px;
        padding: 11px 14px;
    }
}

/* Authentication cascade lock. These higher-specificity rules keep the
 * branded composition authoritative over Perfex's legacy login selectors. */
body.airix-portal.customers_login .airix-auth-page {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(500px, 0.92fr);
    gap: 0;
    align-items: stretch;
    width: 100%;
    min-height: 100dvh;
    margin: 0;
    background: var(--airix-auth-cream);
}

body.airix-portal.customers_login .airix-auth-intro {
    display: block;
    min-height: 100dvh;
    padding: 0;
    background-color: var(--airix-auth-night);
    background-image:
        linear-gradient(180deg, rgba(10, 17, 15, 0.12) 0%, rgba(12, 20, 17, 0.2) 35%, rgba(11, 20, 16, 0.86) 100%),
        url('../images/airix-login-day.webp');
    background-position: center;
    background-size: cover;
}

html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-intro {
    background-image:
        linear-gradient(180deg, rgba(7, 12, 17, 0.16) 0%, rgba(7, 12, 17, 0.32) 40%, rgba(6, 12, 16, 0.9) 100%),
        url('../images/airix-login-night.webp');
}

body.airix-portal.customers_login .airix-auth-form {
    display: flex;
    width: 100%;
    max-width: none;
    min-height: 100dvh;
    align-items: stretch;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
    color: var(--airix-auth-umber);
    background:
        radial-gradient(circle at 96% 4%, rgba(242, 106, 46, 0.1), transparent 22rem),
        var(--airix-auth-cream);
}

body.airix-portal.customers_login .airix-auth-form .login-heading {
    max-width: 13ch;
    margin: 0;
    color: var(--airix-auth-umber);
    font-family: var(--airix-display);
    font-size: clamp(35px, 3vw, 48px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.02;
}

body.airix-portal.customers_login .airix-auth-form label,
body.airix-portal.customers_login .airix-auth-form .control-label {
    margin-bottom: 8px;
    color: #3b241c;
    font-family: var(--airix-mono);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.11em;
    line-height: 1.3;
    text-transform: uppercase;
}

body.airix-portal.customers_login .airix-auth-form .form-control,
body.airix-portal.customers_login .airix-auth-form .bootstrap-select > .dropdown-toggle {
    width: 100%;
    min-height: 54px;
    height: 54px;
    padding: 14px 46px;
    color: #3b241c;
    border: 1px solid #d1c5af;
    border-radius: 4px;
    background: rgba(255, 252, 245, 0.82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    font-family: var(--airix-ui);
    font-size: 14px;
}

body.airix-portal.customers_login .airix-language-field .bootstrap-select > .dropdown-toggle {
    padding-left: 16px;
}

body.airix-portal.customers_login .airix-auth-form .form-control:focus,
body.airix-portal.customers_login .airix-auth-form .bootstrap-select.open > .dropdown-toggle {
    border-color: var(--airix-auth-signal);
    background: #fffdf8;
    box-shadow: 0 0 0 3px rgba(242, 106, 46, 0.14);
}

body.airix-portal.customers_login .airix-auth-form .btn-primary,
html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-form .btn-primary {
    display: flex;
    width: 100%;
    min-height: 54px;
    height: 54px;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    color: #f2e7cf !important;
    border: 1px solid #3b241c !important;
    border-radius: 4px;
    background: #3b241c !important;
    font-family: var(--airix-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
}

body.airix-portal.customers_login .airix-auth-form .btn-primary:hover,
body.airix-portal.customers_login .airix-auth-form .btn-primary:focus-visible,
html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-form .btn-primary:hover,
html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-form .btn-primary:focus-visible {
    color: #25170d !important;
    border-color: var(--airix-auth-transit) !important;
    background: var(--airix-auth-transit) !important;
}

html[data-theme="light"] body.airix-portal.customers_login .airix-auth-form .login-heading,
html[data-theme="light"] body.airix-portal.customers_login .airix-auth-form label,
html[data-theme="light"] body.airix-portal.customers_login .airix-auth-form .control-label {
    color: #3b241c;
}

html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-page,
html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-form {
    color: #e8e3d7;
    background:
        radial-gradient(circle at 96% 4%, rgba(242, 106, 46, 0.08), transparent 22rem),
        #0c121a;
}

html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-form .login-heading,
html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-form label,
html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-form .control-label {
    color: #f3f5f7;
}

html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-form .form-control,
html[data-theme="dark"] body.airix-portal.customers_login .airix-auth-form .bootstrap-select > .dropdown-toggle {
    color: #f3f5f7;
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(15, 23, 43, 0.86);
}

@media (max-width: 1100px) {
    body.airix-portal.customers_login .airix-auth-page {
        grid-template-columns: minmax(0, 0.92fr) minmax(470px, 1.08fr);
    }
}

@media (max-width: 820px) {
    body.airix-portal.customers_login .airix-auth-page {
        display: block;
    }

    body.airix-portal.customers_login .airix-auth-intro,
    body.airix-portal.customers_login .airix-auth-intro__inner {
        min-height: clamp(300px, 42dvh, 420px);
    }

    body.airix-portal.customers_login .airix-auth-intro {
        padding: 0;
        background-position: center;
    }

    body.airix-portal.customers_login .airix-auth-form {
        width: 100%;
        min-height: 0;
        padding: 0;
    }
}

@media (max-width: 520px) {
    body.airix-portal.customers_login .airix-auth-intro,
    body.airix-portal.customers_login .airix-auth-intro__inner {
        min-height: 330px;
    }

    body.airix-portal.customers_login .airix-auth-form .login-heading {
        font-size: 36px;
    }
}

/* ========================================================================
   Airix Portal 1.2 — authenticated workspace system
   Shared visual language for the dashboard and every client-facing screen.
   ======================================================================== */

body.airix-client-authenticated {
    --airix-site-cream: #fbf6ec;
    --airix-site-umber: #3b241c;
    --airix-site-terracotta: #b84f35;
    --airix-site-orange: #f26a2e;
    --airix-site-yellow: #f4c430;
    --airix-site-night: #132a20;
    --airix-site-bone: #e8e3d7;
    --airix-workspace-surface: #fffaf1;
    --airix-workspace-subtle: #f3ecdf;
    --airix-workspace-line: rgba(59, 36, 28, 0.17);
    --airix-workspace-line-strong: rgba(59, 36, 28, 0.28);
    --airix-workspace-text: #3b241c;
    --airix-workspace-muted: #796b60;
    color: var(--airix-workspace-text);
    background: var(--airix-site-cream);
}

html[data-theme="dark"] body.airix-client-authenticated {
    --airix-workspace-surface: #18241f;
    --airix-workspace-subtle: #21312a;
    --airix-workspace-line: rgba(232, 227, 215, 0.16);
    --airix-workspace-line-strong: rgba(232, 227, 215, 0.28);
    --airix-workspace-text: #f2ede2;
    --airix-workspace-muted: #b9b2a7;
    color: var(--airix-workspace-text);
    background: #101b17;
}

body.airix-client-authenticated::before {
    opacity: 0.06;
    background-image:
        linear-gradient(rgba(59, 36, 28, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(59, 36, 28, 0.06) 1px, transparent 1px);
    background-size: 48px 48px;
    mix-blend-mode: multiply;
}

html[data-theme="dark"] body.airix-client-authenticated::before {
    opacity: 0.04;
    background-image:
        linear-gradient(rgba(232, 227, 215, 0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(232, 227, 215, 0.12) 1px, transparent 1px);
    mix-blend-mode: screen;
}

/* Resolve-like authenticated top bar */

body.airix-client-authenticated .navbar.airix-topbar {
    min-height: 72px;
    border-color: var(--airix-workspace-line);
    background: rgba(251, 246, 236, 0.94);
    box-shadow: none;
    backdrop-filter: blur(20px) saturate(140%);
}

html[data-theme="dark"] body.airix-client-authenticated .navbar.airix-topbar {
    border-color: var(--airix-workspace-line);
    background: rgba(16, 27, 23, 0.94);
    box-shadow: none;
}

body.airix-client-authenticated .airix-topbar > .container,
body.airix-client-authenticated .airix-content-container,
body.airix-client-authenticated .airix-alert-container,
body.airix-client-authenticated .airix-footer > .container {
    width: min(1520px, calc(100% - 96px));
    max-width: 1520px;
}

body.airix-client-authenticated .airix-topbar__inner {
    gap: 24px;
}

body.airix-client-authenticated .airix-brand-cluster {
    display: flex;
    align-items: center;
    gap: 13px;
}

body.airix-client-authenticated .airix-brand-context {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding-left: 13px;
    border-left: 1px solid var(--airix-workspace-line-strong);
    color: var(--airix-workspace-muted);
    font-family: var(--airix-mono);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.airix-client-authenticated .airix-topbar .navbar-brand img {
    max-width: 154px;
    height: 28px;
}

html[data-theme="dark"] body.airix-client-authenticated .airix-topbar .navbar-brand img {
    filter: brightness(0) invert(1);
}

body.airix-client-authenticated .airix-nav {
    gap: 2px;
}

body.airix-client-authenticated .airix-nav > li > a {
    min-height: 38px;
    padding: 9px 11px;
    border-radius: 3px;
    color: var(--airix-workspace-muted) !important;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
}

body.airix-client-authenticated .airix-nav > li:not(.airix-icon-item):not(.customers-nav-item-profile) > a > i:not(.airix-nav-group-chevron) {
    display: none;
}

body.airix-client-authenticated .airix-nav > li > a::after {
    right: 11px;
    bottom: 1px;
    left: 11px;
    height: 2px;
    background: var(--airix-site-orange);
}

body.airix-client-authenticated .airix-nav > li > a:hover,
body.airix-client-authenticated .airix-nav > li > a:focus,
body.airix-client-authenticated .airix-nav > li.active > a,
body.airix-client-authenticated .airix-nav > li > a[aria-current="page"] {
    color: var(--airix-workspace-text) !important;
    background: var(--airix-workspace-subtle) !important;
}

body.airix-client-authenticated .airix-search-item {
    margin-left: auto;
}

body.airix-client-authenticated .airix-icon-item > a,
body.airix-client-authenticated .airix-mode-toggle {
    width: 36px;
    min-height: 36px;
    border-radius: 4px;
    color: var(--airix-workspace-muted) !important;
}

body.airix-client-authenticated .airix-icon-item > a:hover,
body.airix-client-authenticated .airix-icon-item > a:focus-visible,
body.airix-client-authenticated .airix-mode-toggle:hover,
body.airix-client-authenticated .airix-mode-toggle:focus-visible {
    color: var(--airix-workspace-text) !important;
    border-color: transparent;
    background: var(--airix-workspace-subtle) !important;
    transform: none;
}

body.airix-client-authenticated .airix-mode-toggle i {
    color: currentColor;
}

body.airix-client-authenticated .airix-topbar .customers-nav-item-profile {
    margin-left: 4px;
    padding-left: 10px;
    border-left: 1px solid var(--airix-workspace-line);
}

body.airix-client-authenticated .airix-topbar .customers-nav-item-profile > a {
    gap: 9px;
    min-height: 42px;
    padding: 4px 5px 4px 7px;
    border-radius: 4px;
}

body.airix-client-authenticated .airix-topbar .client-profile-image-small {
    width: 32px;
    height: 32px;
    border: 1px solid var(--airix-workspace-line-strong);
    border-radius: 50%;
    background: var(--airix-workspace-subtle);
}

body.airix-client-authenticated .airix-profile-meta strong {
    max-width: 130px;
    color: var(--airix-workspace-text);
    font-size: 11px;
    font-weight: 600;
}

body.airix-client-authenticated .airix-profile-meta small {
    max-width: 130px;
    color: var(--airix-workspace-muted);
    font-family: var(--airix-mono);
    font-size: 7.5px;
    letter-spacing: 0.02em;
}

body.airix-client-authenticated .airix-topbar .dropdown-menu {
    margin-top: 8px;
    padding: 7px;
    border: 1px solid var(--airix-workspace-line);
    border-radius: 4px;
    color: var(--airix-workspace-text);
    background: var(--airix-workspace-surface);
    box-shadow: 0 18px 48px rgba(35, 22, 16, 0.16);
}

html[data-theme="dark"] body.airix-client-authenticated .airix-topbar .dropdown-menu {
    background: var(--airix-workspace-surface);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
}

body.airix-client-authenticated .airix-nav-group .dropdown-menu {
    min-width: 224px;
}

body.airix-client-authenticated .airix-account-menu {
    right: 0;
    left: auto;
    width: 280px;
    padding: 7px;
}

body.airix-client-authenticated .airix-account-menu__header {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: -7px -7px 7px;
    padding: 17px 18px;
    border-bottom: 1px solid var(--airix-workspace-line);
    background: var(--airix-workspace-subtle);
}

body.airix-client-authenticated .airix-account-menu__eyebrow,
body.airix-client-authenticated .airix-account-menu__header small {
    color: var(--airix-workspace-muted);
    font-family: var(--airix-mono);
    font-size: 8px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.airix-client-authenticated .airix-account-menu__header strong {
    overflow: hidden;
    margin-top: 4px;
    color: var(--airix-workspace-text);
    font-family: var(--airix-ui);
    font-size: 14px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.airix-client-authenticated .airix-account-menu__header small {
    overflow: hidden;
    letter-spacing: 0;
    text-overflow: ellipsis;
    text-transform: none;
    white-space: nowrap;
}

body.airix-client-authenticated .airix-topbar .dropdown-menu > li > a {
    display: flex;
    min-height: 38px;
    align-items: center;
    gap: 11px;
    padding: 9px 11px;
    border-radius: 3px;
    color: var(--airix-workspace-muted);
    font-family: var(--airix-ui);
    font-size: 12px;
}

body.airix-client-authenticated .airix-topbar .dropdown-menu > li > a > i {
    width: 16px;
    color: var(--airix-workspace-muted);
    text-align: center;
}

body.airix-client-authenticated .airix-topbar .dropdown-menu > li > a:hover,
body.airix-client-authenticated .airix-topbar .dropdown-menu > li > a:focus,
body.airix-client-authenticated .airix-topbar .dropdown-menu > li.active > a {
    color: var(--airix-workspace-text);
    background: var(--airix-workspace-subtle);
}

body.airix-client-authenticated .airix-topbar .dropdown-menu > li.customers-nav-item-logout {
    margin-top: 7px;
    padding-top: 7px;
    border-top: 1px solid var(--airix-workspace-line);
}

body.airix-client-authenticated .airix-topbar .dropdown-menu > li.customers-nav-item-logout > a,
body.airix-client-authenticated .airix-topbar .dropdown-menu > li.customers-nav-item-logout > a i {
    color: var(--airix-site-terracotta);
}

/* Page frame and small workspace utility rail */

body.airix-client-authenticated .airix-page-shell,
body.airix-client-authenticated .airix-page-content {
    background: transparent;
}

body.airix-client-authenticated .airix-page-content {
    min-height: 64vh;
    padding: 28px 0 76px;
}

body.airix-client-authenticated .airix-alert-container {
    margin-bottom: 0;
}

body.airix-client-authenticated .airix-content-container > .row {
    margin-right: 0;
    margin-left: 0;
}

body.airix-client-authenticated .airix-utility-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin: 0 0 28px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--airix-workspace-line);
}

body.airix-client-authenticated .airix-utility-nav__label {
    margin-right: auto;
    color: var(--airix-workspace-muted);
    font-family: var(--airix-mono);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

body.airix-client-authenticated .customer-top-submenu {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}

body.airix-client-authenticated .customer-top-submenu > li > a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid var(--airix-workspace-line);
    border-radius: 3px;
    color: var(--airix-workspace-muted);
    background: transparent;
    font-family: var(--airix-ui);
    font-size: 11px;
    font-weight: 500;
}

body.airix-client-authenticated .customer-top-submenu > li > a:hover,
body.airix-client-authenticated .customer-top-submenu > li > a:focus-visible {
    color: var(--airix-workspace-text);
    border-color: var(--airix-workspace-line-strong);
    background: var(--airix-workspace-subtle);
}

body.airix-client-authenticated .customer-top-submenu svg {
    width: 15px;
    height: 15px;
    margin-right: 0 !important;
}

/* Editorial dashboard welcome */

body.airix-client-authenticated .airix-dashboard-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 48px;
    padding: 12px 0 38px;
    border-bottom: 1px solid var(--airix-workspace-line-strong);
}

body.airix-client-authenticated .airix-page-kicker {
    display: block;
    margin-bottom: 12px;
    color: var(--airix-site-terracotta);
    font-family: var(--airix-mono);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.airix-client-authenticated .airix-dashboard-greeting {
    max-width: 780px;
    margin: 0;
    color: var(--airix-workspace-text);
    font-family: var(--airix-display);
    font-size: clamp(38px, 5vw, 68px);
    font-weight: 500;
    letter-spacing: -0.055em;
    line-height: 0.98;
}

body.airix-client-authenticated .airix-dashboard-intro {
    max-width: 620px;
    margin: 18px 0 0;
    color: var(--airix-workspace-muted);
    font-family: var(--airix-editorial);
    font-size: 20px;
    line-height: 1.45;
}

body.airix-client-authenticated .airix-dashboard-date {
    flex: 0 0 auto;
    padding-bottom: 5px;
    color: var(--airix-workspace-muted);
    font-family: var(--airix-mono);
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Headings and page titles */

body.airix-client-authenticated h1,
body.airix-client-authenticated h2,
body.airix-client-authenticated h3,
body.airix-client-authenticated h4,
body.airix-client-authenticated h5,
body.airix-client-authenticated h6,
body.airix-client-authenticated .section-text,
body.airix-client-authenticated [class*="section-heading"] {
    color: var(--airix-workspace-text) !important;
    font-family: var(--airix-display);
}

body.airix-client-authenticated h4.section-heading,
body.airix-client-authenticated h4[class*="section-heading"],
body.airix-client-authenticated .section-text,
body.airix-client-authenticated .tickets-summary-heading,
body.airix-client-authenticated .projects-summary-heading,
body.airix-client-authenticated .invoices-quick-info-heading {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    color: var(--airix-workspace-text) !important;
    font-size: clamp(24px, 3vw, 34px) !important;
    font-weight: 500 !important;
    letter-spacing: -0.035em;
    line-height: 1.1;
}

body.airix-client-authenticated .projects-summary-heading,
body.airix-client-authenticated .invoices-quick-info-heading,
body.airix-client-authenticated .tickets-summary-heading {
    margin-top: 38px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em;
}

body.airix-client-authenticated .section-heading a,
body.airix-client-authenticated .view-account-statement {
    font-family: var(--airix-mono);
    font-size: 8px !important;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Summary ledgers: project, ticket, estimate and invoice status */

body.airix-client-authenticated dl.tw-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0 !important;
    margin: 0 0 42px !important;
    border-top: 1px solid var(--airix-workspace-line-strong);
    border-bottom: 1px solid var(--airix-workspace-line-strong);
}

body.airix-client-authenticated dl.tw-grid > a {
    min-width: 0;
    border: 0 !important;
    border-right: 1px solid var(--airix-workspace-line) !important;
    border-radius: 0 !important;
    color: var(--airix-workspace-text);
    background: transparent !important;
}

body.airix-client-authenticated dl.tw-grid > a:last-child {
    border-right: 0 !important;
}

body.airix-client-authenticated dl.tw-grid > a > div {
    min-height: 94px;
    padding: 20px 18px !important;
}

body.airix-client-authenticated dl.tw-grid dt {
    overflow: hidden;
    font-family: var(--airix-mono);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

body.airix-client-authenticated dl.tw-grid dd,
body.airix-client-authenticated dl.tw-grid dd > div {
    color: var(--airix-workspace-text) !important;
    font-family: var(--airix-display);
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1;
}

body.airix-client-authenticated dl.tw-grid > a:hover,
body.airix-client-authenticated dl.tw-grid > a:focus-visible,
html[data-theme="dark"] body.airix-client-authenticated dl.tw-grid > a:hover,
html[data-theme="dark"] body.airix-client-authenticated dl.tw-grid > a:focus-visible {
    background: var(--airix-workspace-subtle) !important;
}

body.airix-client-authenticated .invoice-quick-info,
body.airix-client-authenticated .estimates-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0 !important;
    border-top: 1px solid var(--airix-workspace-line);
    border-bottom: 1px solid var(--airix-workspace-line);
}

body.airix-client-authenticated .estimates-stats {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.airix-client-authenticated .invoice-quick-info > [class*="col-"],
body.airix-client-authenticated .estimates-stats > [class*="col-"] {
    width: auto;
    padding: 18px 16px;
    border-right: 1px solid var(--airix-workspace-line);
}

body.airix-client-authenticated .invoice-quick-info > [class*="col-"]:last-child,
body.airix-client-authenticated .estimates-stats > [class*="col-"]:last-child {
    border-right: 0;
}

body.airix-client-authenticated .invoice-quick-info .row,
body.airix-client-authenticated .estimates-stats .row {
    margin: 0;
}

body.airix-client-authenticated .invoice-quick-info .stats-status,
body.airix-client-authenticated .invoice-quick-info .stats-numbers,
body.airix-client-authenticated .estimates-stats .stats-status,
body.airix-client-authenticated .estimates-stats .stats-numbers {
    width: 100%;
    padding: 0;
    text-align: left !important;
}

body.airix-client-authenticated .invoice-quick-info .stats-status,
body.airix-client-authenticated .estimates-stats .stats-status {
    font-family: var(--airix-mono);
    font-size: 8px;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

body.airix-client-authenticated .invoice-quick-info .stats-numbers,
body.airix-client-authenticated .estimates-stats .stats-numbers {
    margin-top: 8px;
    color: var(--airix-workspace-text);
    font-family: var(--airix-display);
    font-size: 18px;
    font-weight: 500;
}

body.airix-client-authenticated .invoice-quick-info .progress,
body.airix-client-authenticated .estimates-stats .progress {
    height: 2px;
    margin-top: 14px;
    border-radius: 0;
    background: var(--airix-workspace-subtle);
    box-shadow: none;
}

/* Surfaces: calm, flat, and document-like instead of SaaS cards */

body.airix-client-authenticated .panel_s {
    margin-bottom: 28px;
    overflow: visible;
    border: 1px solid var(--airix-workspace-line);
    border-radius: 3px;
    background: var(--airix-workspace-surface);
    box-shadow: none;
}

body.airix-client-authenticated .panel_s .panel-heading {
    min-height: 48px;
    padding: 14px 20px;
    border-color: var(--airix-workspace-line);
    border-radius: 0;
    color: var(--airix-workspace-text);
    background: transparent;
    font-family: var(--airix-display);
}

body.airix-client-authenticated .panel_s .panel-body {
    padding: clamp(24px, 2.4vw, 34px);
    color: var(--airix-workspace-text);
    background: transparent;
}

body.airix-client-authenticated .panel_s .panel-footer {
    min-height: 62px;
    padding: 12px 20px;
    border-color: var(--airix-workspace-line);
    border-radius: 0;
    color: var(--airix-workspace-muted);
    background: var(--airix-workspace-subtle);
}

@media (min-width: 992px) {
    body.airix-client-authenticated .section-profile > .col-md-8 {
        width: calc(68% - 14px);
    }

    body.airix-client-authenticated .section-profile > .col-md-4 {
        width: calc(32% - 14px);
        margin-left: 28px;
    }

    body.airix-client-authenticated .section-company-profile .panel-body,
    body.airix-client-authenticated .section-contact .panel-body,
    body.airix-client-authenticated #open-new-ticket-form .panel-body {
        padding-right: clamp(32px, 4vw, 58px);
        padding-left: clamp(32px, 4vw, 58px);
    }

    body.airix-client-authenticated .section-company-profile .row,
    body.airix-client-authenticated .section-contact .row,
    body.airix-client-authenticated #open-new-ticket-form .row {
        margin-right: -16px;
        margin-left: -16px;
    }

    body.airix-client-authenticated .section-company-profile [class*="col-md-"],
    body.airix-client-authenticated .section-contact [class*="col-md-"],
    body.airix-client-authenticated #open-new-ticket-form [class*="col-md-"] {
        padding-right: 16px;
        padding-left: 16px;
    }
}

body.airix-client-authenticated .panel-title {
    color: var(--airix-workspace-text);
    font-family: var(--airix-display);
    font-size: 16px;
    font-weight: 600;
}

body.airix-client-authenticated hr {
    margin-top: 24px;
    margin-bottom: 24px;
    border-color: var(--airix-workspace-line);
}

/* Tables and list screens */

body.airix-client-authenticated .dataTables_wrapper,
body.airix-client-authenticated .table-responsive {
    color: var(--airix-workspace-text);
}

body.airix-client-authenticated .table {
    width: 100% !important;
    margin-bottom: 0;
    color: var(--airix-workspace-text);
    background: transparent;
    font-family: var(--airix-ui);
    font-size: 12px;
}

body.airix-client-authenticated .table > thead > tr > th {
    padding: 13px 14px;
    border-top: 1px solid var(--airix-workspace-line-strong) !important;
    border-bottom: 1px solid var(--airix-workspace-line-strong) !important;
    color: var(--airix-workspace-muted);
    background: var(--airix-workspace-subtle);
    font-family: var(--airix-mono);
    font-size: 7.5px;
    font-weight: 600;
    letter-spacing: 0.07em;
    line-height: 1.35;
    text-transform: uppercase;
    white-space: nowrap;
}

body.airix-client-authenticated .table > tbody > tr > td {
    padding: 16px 14px;
    border-top: 1px solid var(--airix-workspace-line);
    color: var(--airix-workspace-text);
    background: transparent;
    vertical-align: middle;
}

body.airix-client-authenticated .table > tbody > tr:hover > td,
html[data-theme="dark"] body.airix-client-authenticated .table > tbody > tr:hover > td {
    background: var(--airix-workspace-subtle) !important;
}

body.airix-client-authenticated .table a:not(.btn) {
    color: var(--airix-workspace-text);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: var(--airix-workspace-line-strong);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

body.airix-client-authenticated .table a:not(.btn):hover,
body.airix-client-authenticated .table a:not(.btn):focus-visible {
    color: var(--airix-site-terracotta);
    text-decoration-color: currentColor;
}

body.airix-client-authenticated .dataTables_wrapper .row:first-child {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

body.airix-client-authenticated .dataTables_wrapper .dataTables_filter label,
body.airix-client-authenticated .dataTables_wrapper .dataTables_length label {
    color: var(--airix-workspace-muted);
    font-family: var(--airix-mono);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.airix-client-authenticated .dataTables_wrapper .dataTables_filter input {
    min-width: 220px;
    height: 38px;
    margin-left: 8px;
}

body.airix-client-authenticated .dataTables_wrapper .dataTables_info,
body.airix-client-authenticated .dataTables_wrapper .dataTables_paginate {
    margin-top: 16px;
    color: var(--airix-workspace-muted);
    font-family: var(--airix-mono);
    font-size: 8px;
    letter-spacing: 0.04em;
}

body.airix-client-authenticated .pagination > li > a,
body.airix-client-authenticated .pagination > li > span {
    min-width: 34px;
    min-height: 34px;
    padding: 8px 11px;
    border-color: var(--airix-workspace-line);
    color: var(--airix-workspace-muted);
    background: transparent;
}

body.airix-client-authenticated .pagination > .active > a,
body.airix-client-authenticated .pagination > .active > span,
body.airix-client-authenticated .pagination > li > a:hover {
    border-color: var(--airix-site-umber);
    color: var(--airix-site-cream);
    background: var(--airix-site-umber);
}

body.airix-client-authenticated .dataTables_empty,
body.airix-client-authenticated .no-margin.text-center,
body.airix-client-authenticated .no-data {
    padding: 42px 24px !important;
    color: var(--airix-workspace-muted) !important;
    font-family: var(--airix-editorial);
    font-size: 17px;
    font-style: italic;
}

/* Forms, buttons and controls */

body.airix-client-authenticated label,
body.airix-client-authenticated .control-label {
    margin-bottom: 7px;
    color: var(--airix-workspace-muted);
    font-family: var(--airix-mono);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.07em;
    line-height: 1.35;
    text-transform: uppercase;
}

body.airix-client-authenticated .form-group {
    margin-bottom: 20px;
}

body.airix-client-authenticated .form-control,
body.airix-client-authenticated .bootstrap-select > .dropdown-toggle,
body.airix-client-authenticated .select2-container .select2-selection {
    min-height: 46px;
    border: 1px solid var(--airix-workspace-line-strong);
    border-radius: 3px;
    color: var(--airix-workspace-text);
    background: transparent;
    box-shadow: none;
    font-family: var(--airix-ui);
    font-size: 13px;
}

html[data-theme="light"] body.airix-client-authenticated .form-control,
html[data-theme="light"] body.airix-client-authenticated .bootstrap-select > .dropdown-toggle {
    color: var(--airix-workspace-text);
    border-color: var(--airix-workspace-line-strong);
    background: rgba(255, 250, 241, 0.7);
}

html[data-theme="dark"] body.airix-client-authenticated .form-control,
html[data-theme="dark"] body.airix-client-authenticated .bootstrap-select > .dropdown-toggle {
    color: var(--airix-workspace-text);
    border-color: var(--airix-workspace-line-strong);
    background: rgba(11, 20, 16, 0.44);
}

body.airix-client-authenticated textarea.form-control {
    min-height: 120px;
    padding: 13px 14px;
    line-height: 1.55;
}

body.airix-client-authenticated .form-control:focus,
body.airix-client-authenticated .bootstrap-select.open > .dropdown-toggle,
body.airix-client-authenticated .select2-container--focus .select2-selection {
    border-color: var(--airix-site-orange);
    box-shadow: 0 0 0 3px rgba(242, 106, 46, 0.14);
}

body.airix-client-authenticated .btn {
    min-height: 40px;
    padding: 10px 15px;
    border-radius: 3px;
    box-shadow: none;
    font-family: var(--airix-mono);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.07em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.airix-client-authenticated .btn-primary,
html[data-theme="dark"] body.airix-client-authenticated .btn-primary {
    color: var(--airix-site-cream) !important;
    border-color: var(--airix-site-umber) !important;
    background: var(--airix-site-umber) !important;
}

body.airix-client-authenticated .btn-primary:hover,
body.airix-client-authenticated .btn-primary:focus-visible,
html[data-theme="dark"] body.airix-client-authenticated .btn-primary:hover,
html[data-theme="dark"] body.airix-client-authenticated .btn-primary:focus-visible {
    color: #25170d !important;
    border-color: var(--airix-site-yellow) !important;
    background: var(--airix-site-yellow) !important;
    transform: translateY(-1px);
}

body.airix-client-authenticated .btn-default {
    color: var(--airix-workspace-text);
    border-color: var(--airix-workspace-line-strong);
    background: transparent;
}

body.airix-client-authenticated .btn-default:hover,
body.airix-client-authenticated .btn-default:focus-visible {
    color: var(--airix-workspace-text);
    border-color: var(--airix-workspace-text);
    background: var(--airix-workspace-subtle);
}

body.airix-client-authenticated .checkbox label,
body.airix-client-authenticated .radio label {
    color: var(--airix-workspace-text);
    font-family: var(--airix-ui);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

body.airix-client-authenticated .checkbox input[type="checkbox"]:checked + label::before {
    border-color: var(--airix-site-terracotta);
    background: var(--airix-site-terracotta);
}

body.airix-client-authenticated .dropdown-menu:not(.airix-account-menu),
body.airix-client-authenticated .bootstrap-select .dropdown-menu,
body.airix-client-authenticated .select2-dropdown {
    border-color: var(--airix-workspace-line);
    border-radius: 3px;
    color: var(--airix-workspace-text);
    background: var(--airix-workspace-surface);
    box-shadow: 0 16px 42px rgba(35, 22, 16, 0.14);
}

body.airix-client-authenticated .dropdown-menu > li > a,
body.airix-client-authenticated .bootstrap-select .dropdown-menu > li > a {
    color: var(--airix-workspace-text);
}

body.airix-client-authenticated .dropdown-menu > li > a:hover,
body.airix-client-authenticated .dropdown-menu > li > a:focus {
    color: var(--airix-workspace-text);
    background: var(--airix-workspace-subtle);
}

/* Tabs and project workspace */

body.airix-client-authenticated .horizontal-scrollable-tabs,
body.airix-client-authenticated .panel-full-width-tabs {
    margin: -24px -24px 22px;
    padding: 0 24px;
    border-bottom: 1px solid var(--airix-workspace-line);
    background: transparent;
}

body.airix-client-authenticated .nav-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 0;
}

body.airix-client-authenticated .nav-tabs > li {
    float: none;
    margin-bottom: 0;
}

body.airix-client-authenticated .nav-tabs > li > a {
    min-height: 48px;
    margin: 0;
    padding: 15px 11px 12px;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0;
    color: var(--airix-workspace-muted);
    background: transparent !important;
    font-family: var(--airix-ui);
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

body.airix-client-authenticated .nav-tabs > li > a .menu-icon {
    margin-right: 5px;
    color: var(--airix-workspace-muted);
}

body.airix-client-authenticated .nav-tabs > li.active > a,
body.airix-client-authenticated .nav-tabs > li > a:hover,
body.airix-client-authenticated .nav-tabs > li > a:focus-visible {
    color: var(--airix-workspace-text);
    border-bottom-color: var(--airix-site-orange) !important;
}

body.airix-client-authenticated .scroller {
    color: var(--airix-workspace-text);
    background: var(--airix-workspace-surface);
}

body.airix-client-authenticated .label,
body.airix-client-authenticated .badge {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    font-family: var(--airix-mono);
    font-size: 7.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}

body.airix-client-authenticated .project-overview-progress-bar,
body.airix-client-authenticated .progress {
    border-radius: 0;
    background: var(--airix-workspace-subtle);
    box-shadow: none;
}

/* Alerts, ticket threads, modals and calendar */

body.airix-client-authenticated .alert {
    padding: 14px 16px;
    border: 1px solid var(--airix-workspace-line);
    border-left-width: 3px;
    border-radius: 2px;
    color: var(--airix-workspace-text);
    background: var(--airix-workspace-surface);
    font-size: 12px;
}

body.airix-client-authenticated .alert-info { border-left-color: #3f7893; }
body.airix-client-authenticated .alert-success { border-left-color: #5c7b55; }
body.airix-client-authenticated .alert-warning { border-left-color: var(--airix-site-yellow); }
body.airix-client-authenticated .alert-danger { border-left-color: var(--airix-site-terracotta); }

body.airix-client-authenticated .single-ticket-reply-area + .panel_s,
body.airix-client-authenticated .client-reply {
    position: relative;
}

body.airix-client-authenticated .client-reply {
    margin-left: 34px;
    border-left: 3px solid var(--airix-site-terracotta);
}

body.airix-client-authenticated .modal-content {
    overflow: hidden;
    border: 1px solid var(--airix-workspace-line);
    border-radius: 4px;
    color: var(--airix-workspace-text);
    background: var(--airix-workspace-surface);
    box-shadow: 0 24px 70px rgba(18, 12, 8, 0.28);
}

body.airix-client-authenticated .modal-header,
body.airix-client-authenticated .modal-footer {
    border-color: var(--airix-workspace-line);
}

body.airix-client-authenticated .modal-header {
    padding: 20px 22px;
}

body.airix-client-authenticated .modal-body {
    padding: 22px;
}

body.airix-client-authenticated .modal-footer {
    padding: 12px 22px;
    background: var(--airix-workspace-subtle);
}

body.airix-client-authenticated .fc,
body.airix-client-authenticated .fc-view-container,
body.airix-client-authenticated .fc-unthemed td,
body.airix-client-authenticated .fc-unthemed th,
body.airix-client-authenticated .fc-unthemed .fc-divider,
body.airix-client-authenticated .fc-unthemed .fc-popover {
    border-color: var(--airix-workspace-line);
    color: var(--airix-workspace-text);
    background: transparent;
}

body.airix-client-authenticated .fc th {
    padding: 10px 6px;
    color: var(--airix-workspace-muted);
    font-family: var(--airix-mono);
    font-size: 8px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.airix-client-authenticated .fc-unthemed td.fc-today {
    background: rgba(244, 196, 48, 0.14);
}

/* Public HTML documents viewed inside the authenticated portal */

body.airix-client-authenticated .preview-top-wrapper,
body.airix-client-authenticated .invoice-html,
body.airix-client-authenticated .estimate-html,
body.airix-client-authenticated .proposal-html,
body.airix-client-authenticated .contract-html,
body.airix-client-authenticated .subscription-html {
    color: var(--airix-workspace-text);
}

body.airix-client-authenticated .invoice-html .panel_s,
body.airix-client-authenticated .estimate-html .panel_s,
body.airix-client-authenticated .proposal-html .panel_s,
body.airix-client-authenticated .contract-html .panel_s,
body.airix-client-authenticated .subscription-html .panel_s {
    border-top: 4px solid var(--airix-site-terracotta);
}

body.airix-client-authenticated .tc-content,
body.airix-client-authenticated .kb-article-content,
body.airix-client-authenticated .contract-html-content,
body.airix-client-authenticated .proposal-html-content {
    color: var(--airix-workspace-text) !important;
    font-family: var(--airix-editorial);
    font-size: 16px;
    line-height: 1.65;
}

/* Force Perfex/Tailwind neutral utility colours to respect dark mode. */

body.airix-client-authenticated .tw-text-neutral-900,
body.airix-client-authenticated .tw-text-neutral-800,
body.airix-client-authenticated .tw-text-neutral-700,
body.airix-client-authenticated .tw-text-primary-600 {
    color: var(--airix-workspace-text) !important;
}

body.airix-client-authenticated .tw-text-neutral-600,
body.airix-client-authenticated .tw-text-neutral-500,
body.airix-client-authenticated .text-muted {
    color: var(--airix-workspace-muted) !important;
}

body.airix-client-authenticated .tw-bg-white,
body.airix-client-authenticated .tw-bg-neutral-50,
body.airix-client-authenticated .tw-bg-neutral-100 {
    background-color: var(--airix-workspace-surface) !important;
}

body.airix-client-authenticated .tw-border-neutral-100,
body.airix-client-authenticated .tw-border-neutral-200,
body.airix-client-authenticated .tw-divide-neutral-100 > :not([hidden]) ~ :not([hidden]),
body.airix-client-authenticated .tw-divide-neutral-200 > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--airix-workspace-line) !important;
}

/* Main-site-inspired footer, without duplicating portal navigation. */

body.airix-portal .airix-footer {
    min-height: 0;
    height: auto !important;
    padding: 0 0 24px;
    border-top: 1px solid var(--airix-workspace-line, var(--airix-line));
    color: var(--airix-workspace-text, var(--airix-charcoal));
    background: var(--airix-workspace-surface, var(--airix-paper-bright));
}

body.airix-portal .airix-footer-contact {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
    gap: 72px;
    align-items: end;
    padding: 64px 0;
    border-top: 0;
}

body.airix-portal .airix-footer-kicker,
body.airix-portal .airix-footer-contact-label {
    display: block;
    margin-bottom: 14px;
    color: var(--airix-site-terracotta, var(--airix-rust));
    font-family: var(--airix-mono);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.airix-portal .airix-footer-brand-block .airix-footer-statement {
    max-width: 650px;
    margin: 0;
    color: var(--airix-workspace-text, var(--airix-charcoal));
    font-family: var(--airix-display);
    font-size: clamp(48px, 7vw, 88px);
    font-weight: 500;
    letter-spacing: -0.06em;
    line-height: 0.84;
}

body.airix-portal .airix-footer-brand-block .airix-footer-statement em {
    font-family: var(--airix-serif);
    font-weight: 400;
}

body.airix-portal .airix-footer-brand-block .airix-footer-description {
    max-width: 490px;
    margin: 28px 0 0;
    color: var(--airix-workspace-muted, var(--airix-muted));
    font-family: var(--airix-editorial);
    font-size: 17px;
    line-height: 1.5;
}

body.airix-portal .airix-footer-contact-block {
    padding-bottom: 4px;
    text-align: left;
}

body.airix-portal .airix-footer-email {
    color: var(--airix-workspace-text, var(--airix-charcoal)) !important;
    font-family: var(--airix-display);
    font-size: clamp(20px, 2.2vw, 30px);
    font-weight: 500;
    letter-spacing: -0.025em;
    text-decoration-color: var(--airix-workspace-line-strong, var(--airix-line));
}

body.airix-portal .airix-footer-phones {
    gap: 5px;
    margin-top: 22px;
}

body.airix-portal .airix-footer-phones a {
    color: var(--airix-workspace-muted, var(--airix-muted));
    font-family: var(--airix-mono);
    font-size: 9px;
    letter-spacing: 0.03em;
}

body.airix-portal .airix-footer-social {
    display: flex;
    gap: 8px;
    margin-top: 26px;
}

body.airix-portal .airix-footer-social a {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--airix-workspace-line, var(--airix-line));
    border-radius: 50%;
    color: var(--airix-workspace-muted, var(--airix-muted));
}

body.airix-portal .airix-footer-social a:hover,
body.airix-portal .airix-footer-social a:focus-visible {
    color: #25170d;
    border-color: var(--airix-site-yellow, var(--airix-gold));
    background: var(--airix-site-yellow, var(--airix-gold));
    transform: translateY(-2px);
}

body.airix-portal .airix-footer-bottom {
    padding-top: 18px;
    border-color: var(--airix-workspace-line, var(--airix-line));
    color: var(--airix-workspace-muted, var(--airix-muted));
    font-family: var(--airix-mono);
    font-size: 7.5px;
    letter-spacing: 0.06em;
}

body.airix-portal .airix-footer-bottom a {
    color: var(--airix-workspace-muted, var(--airix-muted));
}

body.airix-portal .airix-footer-bottom a:hover,
body.airix-portal .airix-footer-bottom a:focus-visible {
    color: var(--airix-workspace-text, var(--airix-charcoal));
}

/* Responsive authenticated workspace */

@media (max-width: 1180px) and (min-width: 768px) {
    body.airix-client-authenticated .airix-topbar > .container,
    body.airix-client-authenticated .airix-content-container,
    body.airix-client-authenticated .airix-alert-container,
    body.airix-client-authenticated .airix-footer > .container {
        width: calc(100% - 40px);
    }

    body.airix-client-authenticated .airix-topbar__inner {
        gap: 14px;
    }

    body.airix-client-authenticated .airix-nav > li > a {
        padding-right: 8px;
        padding-left: 8px;
        font-size: 11px;
    }

    body.airix-client-authenticated .airix-profile-meta,
    body.airix-client-authenticated .airix-profile-chevron,
    body.airix-client-authenticated .airix-brand-context {
        display: none;
    }
}

@media (max-width: 900px) and (min-width: 768px) {
    body.airix-client-authenticated .airix-topbar .navbar-brand img {
        max-width: 125px;
    }

    body.airix-client-authenticated .airix-topbar__inner {
        gap: 8px;
    }

    body.airix-client-authenticated .airix-nav > li > a {
        padding-right: 6px;
        padding-left: 6px;
        font-size: 10.5px;
    }
}

@media (max-width: 767px) {
    body.airix-client-authenticated .airix-topbar > .container,
    body.airix-client-authenticated .airix-content-container,
    body.airix-client-authenticated .airix-alert-container,
    body.airix-client-authenticated .airix-footer > .container {
        width: calc(100% - 28px);
    }

    body.airix-client-authenticated .airix-topbar,
    body.airix-client-authenticated .airix-topbar__inner,
    body.airix-client-authenticated .airix-topbar .navbar-brand {
        min-height: 58px;
        height: 58px;
    }

    body.airix-client-authenticated .airix-brand-context {
        display: inline-flex;
    }

    body.airix-client-authenticated .airix-topbar .navbar-collapse {
        position: fixed;
        z-index: 39;
        top: 58px;
        right: 0;
        left: 0;
        max-height: calc(100dvh - 58px);
        margin: 0;
        padding: 14px;
        overflow-y: auto;
        border-top: 1px solid var(--airix-workspace-line);
        background: var(--airix-workspace-surface);
        box-shadow: 0 24px 50px rgba(31, 20, 14, 0.18);
    }

    body.airix-client-authenticated .airix-nav {
        display: block;
        width: 100%;
    }

    body.airix-client-authenticated .airix-nav > li {
        float: none;
        width: 100%;
    }

    body.airix-client-authenticated .airix-nav > li > a {
        display: flex;
        width: 100%;
        min-height: 46px;
        justify-content: space-between;
        padding: 12px 13px;
        border-bottom: 1px solid var(--airix-workspace-line);
        border-radius: 0;
        font-size: 13px;
    }

    body.airix-client-authenticated .airix-nav > li > a::after {
        display: none;
    }

    body.airix-client-authenticated .airix-search-item {
        margin-top: 12px;
    }

    body.airix-client-authenticated .airix-icon-item {
        display: inline-block;
        width: auto !important;
    }

    body.airix-client-authenticated .airix-icon-item > a {
        width: 44px !important;
        min-height: 44px !important;
        justify-content: center !important;
        border: 1px solid var(--airix-workspace-line) !important;
    }

    body.airix-client-authenticated .airix-topbar .customers-nav-item-profile {
        margin-top: 12px;
        margin-left: 0;
        padding-left: 0;
        border-left: 0;
    }

    body.airix-client-authenticated .airix-topbar .customers-nav-item-profile > a {
        justify-content: flex-start;
        border: 1px solid var(--airix-workspace-line);
        border-radius: 3px;
    }

    body.airix-client-authenticated .airix-profile-meta,
    body.airix-client-authenticated .airix-profile-chevron {
        display: flex;
    }

    body.airix-client-authenticated .airix-profile-chevron {
        margin-left: auto;
    }

    body.airix-client-authenticated .airix-account-menu,
    body.airix-client-authenticated .airix-nav-group .dropdown-menu {
        position: static;
        float: none;
        width: 100%;
        margin: 5px 0 10px;
        border: 1px solid var(--airix-workspace-line);
        box-shadow: none;
    }

    body.airix-client-authenticated .airix-page-content {
        padding: 20px 0 54px;
    }

    body.airix-client-authenticated .airix-utility-nav {
        margin-bottom: 22px;
    }

    body.airix-client-authenticated .airix-dashboard-hero {
        display: block;
        margin-bottom: 34px;
        padding: 8px 0 28px;
    }

    body.airix-client-authenticated .airix-dashboard-greeting {
        font-size: clamp(38px, 12vw, 54px);
    }

    body.airix-client-authenticated .airix-dashboard-intro {
        font-size: 17px;
    }

    body.airix-client-authenticated .airix-dashboard-date {
        display: block;
        margin-top: 20px;
    }

    body.airix-client-authenticated dl.tw-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.airix-client-authenticated dl.tw-grid > a,
    body.airix-client-authenticated dl.tw-grid > a:last-child {
        border-right: 1px solid var(--airix-workspace-line) !important;
        border-bottom: 1px solid var(--airix-workspace-line) !important;
    }

    body.airix-client-authenticated dl.tw-grid > a:nth-child(2n) {
        border-right: 0 !important;
    }

    body.airix-client-authenticated .invoice-quick-info,
    body.airix-client-authenticated .estimates-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.airix-client-authenticated .invoice-quick-info > [class*="col-"],
    body.airix-client-authenticated .estimates-stats > [class*="col-"] {
        border-bottom: 1px solid var(--airix-workspace-line);
    }

    body.airix-client-authenticated .panel_s .panel-body {
        padding: 18px;
    }

    body.airix-client-authenticated .horizontal-scrollable-tabs,
    body.airix-client-authenticated .panel-full-width-tabs {
        margin: -18px -18px 18px;
        padding: 0 18px;
    }

    body.airix-client-authenticated .dataTables_wrapper .row:first-child {
        display: block;
    }

    body.airix-client-authenticated .dataTables_wrapper .dataTables_filter,
    body.airix-client-authenticated .dataTables_wrapper .dataTables_length {
        width: 100%;
        margin-bottom: 12px;
        text-align: left;
    }

    body.airix-client-authenticated .dataTables_wrapper .dataTables_filter input {
        width: 100%;
        min-width: 0;
        margin: 7px 0 0;
    }

    body.airix-client-authenticated .table {
        min-width: 680px;
    }

    body.airix-client-authenticated .client-reply {
        margin-left: 14px;
    }

    body.airix-portal .airix-footer-contact {
        grid-template-columns: 1fr;
        gap: 46px;
        padding: 48px 0;
    }

    body.airix-portal .airix-footer-brand-block .airix-footer-statement {
        font-size: clamp(50px, 16vw, 72px);
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    body.airix-client-authenticated .section-profile > .col-md-8,
    body.airix-client-authenticated .section-profile > .col-md-4 {
        width: 100%;
        margin-left: 0;
    }

    body.airix-client-authenticated .section-profile > .col-md-4 {
        margin-top: 30px;
    }
}

@media (max-width: 480px) {
    body.airix-client-authenticated .airix-brand-context {
        display: none;
    }

    body.airix-client-authenticated .customer-top-submenu > li > a span {
        display: none;
    }

    body.airix-client-authenticated .customer-top-submenu > li > a {
        width: 36px;
        justify-content: center;
        padding: 7px;
    }

    body.airix-client-authenticated dl.tw-grid,
    body.airix-client-authenticated .invoice-quick-info,
    body.airix-client-authenticated .estimates-stats {
        grid-template-columns: 1fr;
    }

    body.airix-client-authenticated dl.tw-grid > a,
    body.airix-client-authenticated dl.tw-grid > a:nth-child(2n) {
        border-right: 0 !important;
    }

    body.airix-client-authenticated .invoice-quick-info > [class*="col-"],
    body.airix-client-authenticated .estimates-stats > [class*="col-"] {
        border-right: 0;
    }
}

/* ========================================================================
   Airix Portal 1.3.0.4 — immersive mobile navigation and registration
   ======================================================================== */

body.airix-menu-open {
    overflow: hidden;
    overscroll-behavior: none;
}

@media (max-width: 767px) {
    body.airix-portal .airix-topbar .navbar-header,
    body.airix-portal .airix-topbar .airix-mode-toggle--mobile {
        z-index: 44;
    }

    body.airix-portal .airix-menu-toggle {
        position: relative;
        z-index: 46;
        display: inline-flex;
        width: 40px;
        height: 40px;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 0;
        margin: 8px 14px 8px 0;
        padding: 9px;
        border: 1px solid var(--airix-line);
        border-radius: 4px;
        background: transparent;
        transition: border-color 220ms ease, background-color 220ms ease;
    }

    body.airix-portal .airix-menu-toggle .icon-bar {
        display: block;
        width: 20px;
        height: 1px;
        margin: 2.5px 0;
        border-radius: 0;
        background: var(--airix-charcoal);
        transform-origin: center;
        transition: opacity 180ms ease, transform 240ms cubic-bezier(.2, .8, .2, 1);
    }

    html[data-theme="dark"] body.airix-portal .airix-menu-toggle .icon-bar {
        background: var(--airix-on-dark);
    }

    body.airix-portal .airix-menu-toggle[aria-expanded="true"] {
        border-color: var(--airix-ember);
        background: var(--airix-paper-warm);
    }

    body.airix-portal .airix-menu-toggle[aria-expanded="true"] .icon-bar:nth-child(2) {
        transform: translateY(6px) rotate(45deg);
    }

    body.airix-portal .airix-menu-toggle[aria-expanded="true"] .icon-bar:nth-child(3) {
        opacity: 0;
    }

    body.airix-portal .airix-menu-toggle[aria-expanded="true"] .icon-bar:nth-child(4) {
        transform: translateY(-6px) rotate(-45deg);
    }

    body.airix-portal .airix-topbar .navbar-collapse.collapse,
    body.airix-portal .airix-topbar .navbar-collapse.collapsing {
        position: fixed;
        z-index: 42;
        inset: 0;
        display: block !important;
        width: 100vw;
        height: 100dvh !important;
        max-height: none;
        margin: 0;
        padding: 86px max(24px, 7vw) 30px;
        overflow-x: hidden;
        overflow-y: auto;
        visibility: hidden;
        border: 0;
        color: var(--airix-charcoal);
        background:
            radial-gradient(circle at 96% 4%, rgba(242, 106, 46, 0.1), transparent 16rem),
            var(--airix-paper-bright);
        box-shadow: none;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-14px);
        transition: opacity 230ms ease, transform 260ms cubic-bezier(.2, .8, .2, 1), visibility 230ms ease;
    }

    html[data-theme="dark"] body.airix-portal .airix-topbar .navbar-collapse.collapse,
    html[data-theme="dark"] body.airix-portal .airix-topbar .navbar-collapse.collapsing {
        color: var(--airix-on-dark);
        background:
            radial-gradient(circle at 96% 4%, rgba(242, 106, 46, 0.08), transparent 16rem),
            #171512;
    }

    body.airix-portal .airix-topbar .navbar-collapse.collapse.in,
    body.airix-portal .airix-topbar .navbar-collapse.collapsing {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    body.airix-portal .airix-topbar .navbar-collapse::before {
        display: block;
        margin: 0 0 22px;
        padding-bottom: 13px;
        border-bottom: 1px solid var(--airix-line);
        color: var(--airix-rust);
        content: "Portal navigation";
        font-family: var(--airix-mono);
        font-size: 8px;
        font-weight: 600;
        letter-spacing: 0.13em;
        text-transform: uppercase;
    }

    body.airix-portal .airix-topbar .airix-nav {
        display: flex;
        width: 100%;
        min-height: calc(100dvh - 140px);
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        margin: 0 !important;
    }

    body.airix-portal .airix-topbar .airix-nav > li {
        float: none;
        width: 100%;
        margin: 0;
        padding: 0;
        border: 0;
    }

    body.airix-portal .airix-topbar .airix-nav > li > a,
    body.airix-portal .airix-topbar .airix-nav > li > button.airix-mode-toggle {
        display: flex !important;
        width: 100% !important;
        min-height: 58px !important;
        align-items: center;
        justify-content: space-between !important;
        gap: 12px;
        margin: 0;
        padding: 14px 4px !important;
        border: 0 !important;
        border-bottom: 1px solid var(--airix-line) !important;
        border-radius: 0 !important;
        color: var(--airix-charcoal) !important;
        background: transparent !important;
        font-family: var(--airix-display);
        font-size: clamp(19px, 6vw, 28px);
        font-weight: 500;
        letter-spacing: -0.035em;
        line-height: 1.1;
        text-transform: none;
    }

    html[data-theme="dark"] body.airix-portal .airix-topbar .airix-nav > li > a,
    html[data-theme="dark"] body.airix-portal .airix-topbar .airix-nav > li > button.airix-mode-toggle {
        color: var(--airix-on-dark) !important;
        border-bottom-color: rgba(247, 241, 229, 0.16) !important;
    }

    body.airix-portal .airix-topbar .airix-nav > li > a:hover,
    body.airix-portal .airix-topbar .airix-nav > li > a:focus-visible,
    body.airix-portal .airix-topbar .airix-nav > li > button.airix-mode-toggle:hover,
    body.airix-portal .airix-topbar .airix-nav > li > button.airix-mode-toggle:focus-visible {
        color: var(--airix-rust) !important;
        background: transparent !important;
        transform: none;
    }

    body.airix-portal .airix-topbar .airix-nav > li > a::after {
        display: none !important;
    }

    body.airix-portal .airix-topbar .airix-nav-group-chevron,
    body.airix-portal .airix-topbar .airix-profile-chevron {
        margin-left: auto;
        font-size: 11px;
    }

    body.airix-portal .airix-topbar .airix-nav-group .dropdown-menu,
    body.airix-portal .airix-topbar .airix-account-menu {
        position: static;
        float: none;
        width: 100%;
        min-width: 0;
        margin: 0 0 12px;
        padding: 7px 0 12px 18px;
        border: 0;
        border-bottom: 1px solid var(--airix-line);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    body.airix-portal .airix-topbar .airix-nav-group .dropdown-menu > li > a,
    body.airix-portal .airix-topbar .airix-account-menu > li > a {
        min-height: 44px;
        padding: 10px 4px;
        border-radius: 0;
        color: var(--airix-muted);
        background: transparent;
        font-family: var(--airix-ui);
        font-size: 13px;
    }

    body.airix-portal .airix-topbar .airix-nav-group.open > a {
        color: var(--airix-rust) !important;
    }

    body.airix-portal .airix-topbar .airix-icon-item {
        display: block;
        width: 100% !important;
    }

    body.airix-portal .airix-topbar .airix-nav > li.airix-icon-item > a {
        justify-content: flex-start !important;
    }

    body.airix-portal .airix-topbar .airix-search-item {
        margin-top: 18px;
    }

    body.airix-portal .airix-topbar .airix-nav > .airix-search-item > a::after,
    body.airix-portal .airix-topbar .airix-nav > .airix-notifications-item > a::after {
        display: inline !important;
        position: static;
        width: auto;
        height: auto;
        color: inherit;
        background: none;
        transform: none;
    }

    body.airix-portal .airix-topbar .airix-nav > .airix-search-item > a::after {
        content: "Search knowledge base";
    }

    body.airix-portal .airix-topbar .airix-nav > .airix-notifications-item > a::after {
        content: "Announcements";
    }

    body.airix-portal .airix-topbar .airix-nav > li.customers-nav-item-login > a {
        justify-content: flex-start !important;
    }

    body.airix-portal .airix-topbar .airix-mode-item {
        display: none !important;
    }

    body.airix-portal .airix-topbar .airix-mode-toggle > span[data-airix-theme-label] {
        display: inline !important;
        order: -1;
    }

    body.airix-portal .airix-topbar .customers-nav-item-profile {
        margin-top: 18px;
        padding: 0;
        border: 0;
    }

    body.airix-portal .airix-topbar .customers-nav-item-profile > a {
        justify-content: flex-start !important;
        border-top: 1px solid var(--airix-line) !important;
    }

    body.airix-portal .airix-topbar .airix-profile-meta {
        display: flex;
    }

    body.airix-portal .airix-topbar .airix-profile-meta strong {
        max-width: 220px;
        color: inherit;
        font-size: 13px;
    }

    body.airix-portal .airix-topbar .airix-profile-meta small {
        max-width: 220px;
        font-size: 8px;
    }
}

/* Registration uses the login composition, but gives the longer form room. */

body.airix-portal.register {
    --airix-auth-umber: #3b241c;
    --airix-auth-cream: #fbf6ec;
    --airix-auth-sand: #e6dcc6;
    --airix-auth-signal: #f26a2e;
    --airix-auth-transit: #f4c430;
    --airix-auth-night: #132a20;
    --airix-auth-bone: #e8e3d7;
    color: var(--airix-auth-umber);
    background: var(--airix-auth-cream);
}

body.airix-portal.register .airix-topbar,
body.airix-portal.register .airix-footer {
    display: none;
}

body.airix-portal.register #wrapper,
body.airix-portal.register .airix-page-content {
    min-height: 100dvh;
    padding: 0;
    background: var(--airix-auth-cream);
}

body.airix-portal.register .airix-alert-container {
    position: fixed;
    z-index: 20;
    top: 16px;
    right: 20px;
    width: min(520px, calc(100% - 40px));
}

body.airix-portal.register .airix-content-container {
    width: 100%;
    max-width: none;
    padding: 0;
}

body.airix-portal.register .airix-content-container > .row {
    margin: 0;
}

body.airix-portal.register .airix-register-page {
    display: grid;
    grid-template-columns: minmax(390px, 0.78fr) minmax(700px, 1.22fr);
    min-height: 100dvh;
}

body.airix-portal.register .airix-register-intro {
    position: relative;
    min-height: 100dvh;
    color: var(--airix-auth-bone);
    background-color: var(--airix-auth-night);
    background-image:
        linear-gradient(180deg, rgba(10, 17, 15, 0.14), rgba(11, 20, 16, 0.9)),
        url('../images/airix-login-day.webp');
    background-position: center;
    background-size: cover;
}

html[data-theme="dark"] body.airix-portal.register .airix-register-intro {
    background-image:
        linear-gradient(180deg, rgba(7, 12, 17, 0.2), rgba(6, 12, 16, 0.92)),
        url('../images/airix-login-night.webp');
}

body.airix-portal.register .airix-register-intro__inner {
    position: sticky;
    top: 0;
    display: flex;
    min-height: 100dvh;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(34px, 5vw, 72px);
}

body.airix-portal.register .airix-register-brand-row,
body.airix-portal.register .airix-register-meta,
body.airix-portal.register .airix-register-meta-actions,
body.airix-portal.register .airix-register-intro-note,
body.airix-portal.register .airix-register-submit,
body.airix-portal.register .airix-register-help {
    display: flex;
    align-items: center;
}

body.airix-portal.register .airix-register-brand-row,
body.airix-portal.register .airix-register-meta,
body.airix-portal.register .airix-register-submit {
    justify-content: space-between;
}

body.airix-portal.register .airix-register-brand__logo img {
    width: auto;
    max-width: 178px;
    height: auto;
    filter: brightness(0) invert(1);
}

body.airix-portal.register .airix-register-brand-row > span,
body.airix-portal.register .airix-register-meta > span,
body.airix-portal.register .airix-register-kicker,
body.airix-portal.register .airix-register-step,
body.airix-portal.register .airix-register-intro-note > span {
    color: currentColor;
    font-family: var(--airix-mono);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

body.airix-portal.register .airix-register-brand-row > span {
    color: rgba(232, 227, 215, 0.72);
}

body.airix-portal.register .airix-register-story {
    max-width: 580px;
    margin: 80px 0;
}

body.airix-portal.register .airix-register-kicker {
    display: block;
    margin-bottom: 18px;
    color: var(--airix-auth-transit);
}

body.airix-portal.register .airix-register-story h1 {
    max-width: 10ch;
    margin: 0;
    color: var(--airix-auth-bone);
    font-family: var(--airix-display);
    font-size: clamp(48px, 5.6vw, 82px);
    font-weight: 500;
    letter-spacing: -0.06em;
    line-height: 0.94;
    text-wrap: balance;
}

body.airix-portal.register .airix-register-story > p {
    max-width: 34ch;
    margin: 24px 0 0;
    color: rgba(232, 227, 215, 0.84);
    font-family: var(--airix-editorial);
    font-size: 19px;
    line-height: 1.48;
}

body.airix-portal.register .airix-register-intro-note {
    justify-content: space-between;
    gap: 18px;
    padding-top: 20px;
    border-top: 1px solid rgba(232, 227, 215, 0.28);
}

body.airix-portal.register .airix-register-intro-note > span {
    color: rgba(232, 227, 215, 0.66);
}

body.airix-portal.register .airix-register-intro-note a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--airix-auth-bone);
    font-family: var(--airix-ui);
    font-size: 13px;
    font-weight: 600;
}

body.airix-portal.register .airix-register-form-shell {
    min-width: 0;
    padding: 0;
    color: var(--airix-auth-umber);
    background:
        radial-gradient(circle at 100% 0, rgba(242, 106, 46, 0.1), transparent 24rem),
        var(--airix-auth-cream);
}

body.airix-portal.register .airix-register-form-inner {
    width: min(100%, 1020px);
    margin: 0 auto;
    padding: clamp(34px, 5vw, 76px) clamp(28px, 6vw, 88px) 44px;
}

body.airix-portal.register .airix-register-meta {
    gap: 24px;
    margin-bottom: clamp(58px, 8vw, 108px);
}

body.airix-portal.register .airix-register-meta > span {
    color: #8a705e;
}

body.airix-portal.register .airix-register-meta-actions {
    gap: 8px;
}

body.airix-portal.register .airix-register-language .bootstrap-select,
body.airix-portal.register .airix-register-language .form-control {
    width: 128px !important;
}

body.airix-portal.register .airix-register-language .bootstrap-select > .dropdown-toggle,
body.airix-portal.register .airix-register-theme {
    min-height: 38px;
    height: 38px;
    border: 1px solid #d4c8b4;
    border-radius: 3px;
    color: var(--airix-auth-umber);
    background: rgba(255, 252, 245, 0.66);
    box-shadow: none;
    font-family: var(--airix-ui);
    font-size: 11px;
}

body.airix-portal.register .airix-register-theme {
    display: inline-flex;
    width: 38px;
    align-items: center;
    justify-content: center;
}

body.airix-portal.register .airix-register-header {
    max-width: 760px;
    margin-bottom: 64px;
}

body.airix-portal.register .airix-register-step {
    display: block;
    margin-bottom: 15px;
    color: var(--airix-auth-signal);
}

body.airix-portal.register .airix-register-header h2 {
    margin: 0;
    color: var(--airix-auth-umber);
    font-family: var(--airix-display);
    font-size: clamp(44px, 5vw, 70px);
    font-weight: 500;
    letter-spacing: -0.055em;
    line-height: 0.98;
}

body.airix-portal.register .airix-register-header p {
    max-width: 55ch;
    margin: 20px 0 0;
    color: #796b60;
    font-family: var(--airix-editorial);
    font-size: 18px;
    line-height: 1.5;
}

body.airix-portal.register .airix-register-section {
    margin-bottom: 68px;
    padding-top: 24px;
    border-top: 1px solid rgba(59, 36, 28, 0.25);
}

body.airix-portal.register .airix-register-section-heading {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-bottom: 32px;
}

body.airix-portal.register .airix-register-section-heading > span {
    padding-top: 4px;
    color: var(--airix-auth-signal);
    font-family: var(--airix-mono);
    font-size: 9px;
}

body.airix-portal.register .airix-register-section-heading h3 {
    margin: 0;
    color: var(--airix-auth-umber);
    font-family: var(--airix-display);
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.03em;
}

body.airix-portal.register .airix-register-section-heading p {
    margin: 5px 0 0;
    color: #85786c;
    font-family: var(--airix-editorial);
    font-size: 15px;
}

body.airix-portal.register .airix-register-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 24px;
}

body.airix-portal.register .airix-register-span-2 {
    grid-column: 1 / -1;
}

body.airix-portal.register .airix-register-form .form-group {
    min-width: 0;
    margin-bottom: 0;
}

body.airix-portal.register .airix-register-form label,
body.airix-portal.register .airix-register-form .control-label {
    margin-bottom: 8px;
    color: #5e4d41;
    font-family: var(--airix-mono);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

body.airix-portal.register .airix-register-form .text-danger {
    color: var(--airix-auth-signal) !important;
}

body.airix-portal.register .airix-register-form .form-control,
body.airix-portal.register .airix-register-form .bootstrap-select > .dropdown-toggle {
    width: 100%;
    min-height: 54px;
    height: 54px;
    padding: 14px 16px;
    border: 1px solid #d1c5af;
    border-radius: 3px;
    color: var(--airix-auth-umber);
    background: rgba(255, 252, 245, 0.78);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    font-family: var(--airix-ui);
    font-size: 14px;
}

body.airix-portal.register .airix-register-form .form-control:focus,
body.airix-portal.register .airix-register-form .bootstrap-select.open > .dropdown-toggle {
    border-color: var(--airix-auth-signal);
    background: #fffdf8;
    box-shadow: 0 0 0 3px rgba(242, 106, 46, 0.14);
}

body.airix-portal.register .airix-input-shell {
    position: relative;
}

body.airix-portal.register .airix-input-shell > i {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 17px;
    color: #9a897a;
    transform: translateY(-50%);
}

body.airix-portal.register .airix-input-shell .form-control {
    padding-left: 46px;
}

body.airix-portal.register .airix-input-shell--password .form-control {
    padding-right: 48px;
}

body.airix-portal.register .airix-password-toggle {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 8px;
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    color: #8b7869;
    background: transparent;
    transform: translateY(-50%);
}

body.airix-portal.register .airix-register-consent,
body.airix-portal.register .airix-register-recaptcha {
    margin-bottom: 28px;
    padding: 18px 20px;
    border: 1px solid rgba(59, 36, 28, 0.16);
    border-radius: 3px;
    background: rgba(255, 252, 245, 0.52);
}

body.airix-portal.register .airix-register-consent .checkbox {
    margin: 0;
}

body.airix-portal.register .airix-register-consent .checkbox label {
    color: #5e4d41;
    font-family: var(--airix-ui);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

body.airix-portal.register .airix-register-submit {
    gap: 28px;
    padding: 28px 0 34px;
    border-top: 1px solid rgba(59, 36, 28, 0.25);
    border-bottom: 1px solid rgba(59, 36, 28, 0.16);
}

body.airix-portal.register .airix-register-submit p {
    max-width: 42ch;
    margin: 0;
    color: #796b60;
    font-family: var(--airix-editorial);
    font-size: 15px;
    line-height: 1.45;
}

body.airix-portal.register .airix-register-submit .btn-primary {
    display: inline-flex;
    min-width: 220px;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 0 20px;
    border: 1px solid var(--airix-auth-umber) !important;
    border-radius: 3px;
    color: var(--airix-auth-cream) !important;
    background: var(--airix-auth-umber) !important;
    font-family: var(--airix-mono);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.airix-portal.register .airix-register-submit .btn-primary:hover,
body.airix-portal.register .airix-register-submit .btn-primary:focus-visible {
    color: #25170d !important;
    border-color: var(--airix-auth-transit) !important;
    background: var(--airix-auth-transit) !important;
}

body.airix-portal.register .airix-register-help {
    justify-content: center;
    gap: 10px;
    padding-top: 30px;
    color: #9a897a;
    font-family: var(--airix-ui);
    font-size: 11px;
}

body.airix-portal.register .airix-register-help a {
    color: #796b60;
}

html[data-theme="dark"] body.airix-portal.register,
html[data-theme="dark"] body.airix-portal.register #wrapper,
html[data-theme="dark"] body.airix-portal.register .airix-page-content,
html[data-theme="dark"] body.airix-portal.register .airix-register-form-shell {
    color: #e8e3d7;
    background:
        radial-gradient(circle at 100% 0, rgba(242, 106, 46, 0.08), transparent 24rem),
        #0c1210;
}

html[data-theme="dark"] body.airix-portal.register .airix-register-header h2,
html[data-theme="dark"] body.airix-portal.register .airix-register-section-heading h3 {
    color: #f1ece1;
}

html[data-theme="dark"] body.airix-portal.register .airix-register-header p,
html[data-theme="dark"] body.airix-portal.register .airix-register-section-heading p,
html[data-theme="dark"] body.airix-portal.register .airix-register-submit p,
html[data-theme="dark"] body.airix-portal.register .airix-register-help,
html[data-theme="dark"] body.airix-portal.register .airix-register-help a {
    color: #b9b2a7;
}

html[data-theme="dark"] body.airix-portal.register .airix-register-section,
html[data-theme="dark"] body.airix-portal.register .airix-register-submit {
    border-color: rgba(232, 227, 215, 0.2);
}

html[data-theme="dark"] body.airix-portal.register .airix-register-form label,
html[data-theme="dark"] body.airix-portal.register .airix-register-form .control-label,
html[data-theme="dark"] body.airix-portal.register .airix-register-consent .checkbox label {
    color: #d9d2c7;
}

html[data-theme="dark"] body.airix-portal.register .airix-register-form .form-control,
html[data-theme="dark"] body.airix-portal.register .airix-register-form .bootstrap-select > .dropdown-toggle,
html[data-theme="dark"] body.airix-portal.register .airix-register-language .bootstrap-select > .dropdown-toggle,
html[data-theme="dark"] body.airix-portal.register .airix-register-theme {
    color: #f1ece1;
    border-color: rgba(232, 227, 215, 0.22);
    background: rgba(24, 36, 31, 0.74);
    box-shadow: none;
}

html[data-theme="dark"] body.airix-portal.register .airix-register-form .form-control:focus {
    border-color: var(--airix-auth-signal);
    background: #14201b;
}

html[data-theme="dark"] body.airix-portal.register .airix-register-consent,
html[data-theme="dark"] body.airix-portal.register .airix-register-recaptcha {
    border-color: rgba(232, 227, 215, 0.16);
    background: rgba(24, 36, 31, 0.52);
}

@media (max-width: 1120px) {
    body.airix-portal.register .airix-register-page {
        grid-template-columns: minmax(330px, 0.68fr) minmax(620px, 1.32fr);
    }

    body.airix-portal.register .airix-register-form-inner {
        padding-right: 48px;
        padding-left: 48px;
    }
}

@media (max-width: 900px) {
    body.airix-portal.register .airix-register-page {
        display: block;
    }

    body.airix-portal.register .airix-register-intro,
    body.airix-portal.register .airix-register-intro__inner {
        min-height: 430px;
    }

    body.airix-portal.register .airix-register-intro__inner {
        position: relative;
        padding: 30px clamp(24px, 7vw, 58px);
    }

    body.airix-portal.register .airix-register-story {
        margin: 58px 0 46px;
    }

    body.airix-portal.register .airix-register-story h1 {
        max-width: 12ch;
        font-size: clamp(44px, 9vw, 70px);
    }

    body.airix-portal.register .airix-register-story > p {
        display: none;
    }

    body.airix-portal.register .airix-register-form-inner {
        padding: 44px clamp(22px, 7vw, 58px) 34px;
    }

    body.airix-portal.register .airix-register-meta {
        margin-bottom: 58px;
    }
}

@media (max-width: 620px) {
    body.airix-portal.register .airix-register-brand-row > span,
    body.airix-portal.register .airix-register-intro-note > span,
    body.airix-portal.register .airix-register-meta > span {
        display: none;
    }

    body.airix-portal.register .airix-register-intro,
    body.airix-portal.register .airix-register-intro__inner {
        min-height: 350px;
    }

    body.airix-portal.register .airix-register-story {
        margin: 50px 0 28px;
    }

    body.airix-portal.register .airix-register-story h1 {
        font-size: 42px;
    }

    body.airix-portal.register .airix-register-intro-note {
        justify-content: flex-start;
    }

    body.airix-portal.register .airix-register-meta {
        justify-content: flex-end;
        margin-bottom: 46px;
    }

    body.airix-portal.register .airix-register-header {
        margin-bottom: 48px;
    }

    body.airix-portal.register .airix-register-header h2 {
        font-size: 44px;
    }

    body.airix-portal.register .airix-register-field-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    body.airix-portal.register .airix-register-span-2 {
        grid-column: auto;
    }

    body.airix-portal.register .airix-register-section {
        margin-bottom: 52px;
    }

    body.airix-portal.register .airix-register-submit {
        align-items: stretch;
        flex-direction: column;
    }

    body.airix-portal.register .airix-register-submit .btn-primary {
        width: 100%;
    }
}

/* Authentication finishing pass: native selects, passwordless methods and inline status. */
body.customers_login .airix-select-shell,
body.airix-portal.register .airix-select-shell {
    position: relative;
    width: 100%;
}

body.customers_login .airix-select-shell::after,
body.airix-portal.register .airix-select-shell::after {
    position: absolute;
    top: 50%;
    right: 17px;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    color: #8a6e61;
    content: "";
    pointer-events: none;
    transform: translateY(-68%) rotate(45deg);
}

body.customers_login .airix-auth-form select.airix-native-select,
body.airix-portal.register select.airix-native-select {
    display: block !important;
    width: 100% !important;
    padding: 0 46px 0 16px !important;
    appearance: none;
    -webkit-appearance: none;
    text-transform: capitalize;
}

body.customers_login .airix-auth-form select.airix-native-select option,
body.airix-portal.register select.airix-native-select option {
    color: #3b241c;
    background: #fffaf0;
    font-family: var(--airix-ui);
    font-size: 14px;
    text-transform: capitalize;
}

body.airix-portal.register .airix-register-language .airix-select-shell,
body.airix-portal.register .airix-register-language select.airix-native-select {
    width: 154px !important;
}

body.airix-portal.register .airix-register-language select.airix-native-select {
    min-height: 38px;
    height: 38px;
    padding-right: 34px !important;
    font-size: 11px;
}

body.airix-portal.register .airix-register-language .airix-select-shell::after {
    right: 13px;
}

body.customers_login .airix-auth-method-block {
    margin-top: 22px;
}

body.customers_login .airix-auth-divider {
    display: grid;
    grid-template-columns: minmax(18px, 1fr) auto minmax(18px, 1fr);
    gap: 12px;
    align-items: center;
    margin: 0 0 12px;
    color: #8c796d;
    font-family: var(--airix-mono);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.customers_login .airix-auth-divider::before,
body.customers_login .airix-auth-divider::after {
    height: 1px;
    background: rgba(59, 36, 28, .17);
    content: "";
}

body.customers_login .airix-auth-method-block + .airix-auth-method-list {
    margin-top: 10px;
}

body.customers_login .airix-auth-method {
    grid-template-columns: 42px minmax(0, 1fr) 18px;
    min-height: 72px;
    padding: 12px 15px;
    text-align: left !important;
}

body.customers_login .airix-auth-method__icon {
    width: 42px;
    height: 42px;
    font-size: 16px;
}

body.customers_login .airix-auth-method strong,
body.customers_login .airix-auth-method small {
    color: inherit;
    font-family: var(--airix-ui);
    font-style: normal;
    text-align: left;
}

body.customers_login .airix-auth-method strong {
    font-size: 13px;
    font-weight: 650;
    letter-spacing: -.01em;
    line-height: 1.3;
}

body.customers_login .airix-auth-method small {
    margin-top: 3px;
    color: #806f63;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
}

body.customers_login .airix-phone-field {
    display: grid;
    grid-template-columns: minmax(178px, .78fr) minmax(220px, 1.22fr);
    gap: 10px;
}

body.customers_login .airix-country-select {
    padding: 0 36px 0 14px !important;
    appearance: none;
    -webkit-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, currentColor 50%),
        linear-gradient(135deg, currentColor 50%, transparent 50%) !important;
    background-position:
        calc(100% - 16px) calc(50% - 2px),
        calc(100% - 11px) calc(50% - 2px) !important;
    background-repeat: no-repeat !important;
    background-size: 5px 5px, 5px 5px !important;
    font-size: 12px !important;
}

body.customers_login .airix-country-select option {
    color: #3b241c;
    background: #fffaf0;
    font-family: var(--airix-ui);
}

body.customers_login .airix-phone-number-shell .airix-phone-code {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 45px;
    color: #806f63;
    font-family: var(--airix-mono);
    font-size: 11px;
    font-weight: 600;
    transform: translateY(-50%);
}

body.customers_login .airix-phone-number-shell .form-control {
    padding-left: 92px !important;
}

body.customers_login .airix-auth-feedback {
    display: flex;
    min-height: 44px;
    align-items: center;
    margin: 0 0 14px;
    padding: 10px 13px;
    border-left: 3px solid #a77c2d;
    border-radius: 3px;
    color: #5f493c;
    background: rgba(230, 220, 198, .42);
    font-family: var(--airix-ui);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

body.customers_login .airix-auth-feedback[hidden] {
    display: none !important;
}

body.customers_login .airix-auth-feedback--success {
    border-left-color: #2f7d55;
    color: #225e40;
    background: rgba(47, 125, 85, .1);
}

body.customers_login .airix-auth-feedback--error {
    border-left-color: #b84f35;
    color: #8d3325;
    background: rgba(184, 79, 53, .1);
}

body.customers_login .airix-auth-submit .btn.is-loading {
    cursor: wait;
    opacity: .78;
}

html[data-theme="dark"] body.customers_login .airix-select-shell::after {
    color: #c7c0b5;
}

html[data-theme="dark"] body.customers_login .airix-auth-form select.airix-native-select option,
html[data-theme="dark"] body.customers_login .airix-country-select option,
html[data-theme="dark"] body.airix-portal.register select.airix-native-select option {
    color: #f1ece1;
    background: #14201b;
}

html[data-theme="dark"] body.customers_login .airix-auth-divider {
    color: #9e978d;
}

html[data-theme="dark"] body.customers_login .airix-auth-divider::before,
html[data-theme="dark"] body.customers_login .airix-auth-divider::after {
    background: rgba(232, 227, 215, .18);
}

html[data-theme="dark"] body.customers_login .airix-auth-feedback {
    color: #e8dfc9;
    background: rgba(167, 124, 45, .12);
}

html[data-theme="dark"] body.customers_login .airix-auth-feedback--success {
    color: #bfe3ce;
    background: rgba(47, 125, 85, .16);
}

html[data-theme="dark"] body.customers_login .airix-auth-feedback--error {
    color: #f2c2b8;
    background: rgba(184, 79, 53, .16);
}

@media (max-width: 620px) {
    body.customers_login .airix-phone-field {
        grid-template-columns: 1fr;
    }
}

/* Passwordless authentication methods and ALTCHA overlays */
body.airix-auth-route .airix-footer { display: none; }
body.customers_login .airix-auth-method-list,
body.customers_login .airix-auth-methods { display: grid; gap: 10px; }
body.customers_login .airix-auth-method-list { margin-top: 18px; }
body.customers_login .airix-auth-method {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 64px;
    padding: 10px 14px;
    color: #3b241c !important;
    border: 1px solid #d1c5af;
    border-radius: 5px;
    background: rgba(255, 252, 245, 0.7);
    text-decoration: none !important;
    transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}
body.customers_login .airix-auth-method:hover,
body.customers_login .airix-auth-method:focus-visible { border-color: #f4c430; background: #fffaf0; transform: translateY(-1px); }
body.customers_login .airix-auth-method__icon,
body.customers_login .airix-auth-disabled-note__icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    color: #934927;
    border: 1px solid rgba(147, 73, 39, .18);
    border-radius: 4px;
    background: rgba(230, 220, 198, .45);
    font-size: 17px;
}
body.customers_login .airix-auth-method--whatsapp .airix-auth-method__icon { color: #167c4a; }
body.customers_login .airix-auth-method > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
body.customers_login .airix-auth-method strong { font-family: var(--airix-ui); font-size: 12px; font-weight: 600; }
body.customers_login .airix-auth-method small { margin-top: 2px; color: #806f63; font-family: var(--airix-editorial); font-size: 13px; line-height: 1.25; }
body.customers_login .airix-auth-method__arrow { color: #9b8071; font-size: 12px; }
body.customers_login .airix-auth-disabled-note { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 22px; padding: 14px; border: 1px solid #d1c5af; border-radius: 5px; background: rgba(230, 220, 198, .36); }
body.customers_login .airix-auth-disabled-note__icon { flex: 0 0 auto; width: 32px; height: 32px; font-size: 14px; }
body.customers_login .airix-auth-disabled-note strong { color: #3b241c; font-size: 12px; }
body.customers_login .airix-auth-disabled-note p { margin: 3px 0 0; color: #806f63; font-family: var(--airix-editorial); font-size: 14px; line-height: 1.35; }
body.customers_login .airix-auth-methods { display: flex; justify-content: space-between; gap: 18px; margin-top: 22px; }
body.customers_login .airix-auth-back,
body.customers_login .airix-auth-secondary { color: #934927; font-size: 12px; font-weight: 600; }
body.customers_login .airix-auth-back i { margin-right: 5px; }
body.customers_login .airix-field-help { display: block; margin-top: 7px; color: #806f63; font-family: var(--airix-editorial); font-size: 13px; }
body.customers_login .airix-code-input { padding-right: 18px !important; font-family: var(--airix-mono) !important; font-size: 20px !important; letter-spacing: .22em; text-align: center; }
body.customers_login .airix-altcha-widget { display: none !important; margin: 0; --altcha-color-base: #3b241c; --altcha-color-border: #d1c5af; --altcha-border-radius: 4px; }

html[data-theme="dark"] body.customers_login .airix-auth-form { color: #f1ece1; background: radial-gradient(circle at 96% 4%, rgba(242, 106, 46, .12), transparent 22rem), #0c1210; }
html[data-theme="dark"] body.customers_login .airix-auth-form-meta { color: rgba(241, 236, 225, .6); }
html[data-theme="dark"] body.customers_login .airix-auth-form .login-heading,
html[data-theme="dark"] body.customers_login .airix-auth-welcome > p:last-child,
html[data-theme="dark"] body.customers_login .airix-auth-method strong,
html[data-theme="dark"] body.customers_login .airix-auth-disabled-note strong { color: #f1ece1; }
html[data-theme="dark"] body.customers_login .airix-auth-form label { color: #d9d2c7; }
html[data-theme="dark"] body.customers_login .airix-auth-form .form-control { color: #f1ece1; border-color: rgba(232, 227, 215, .24); background: rgba(24, 36, 31, .78); box-shadow: none; }
html[data-theme="dark"] body.customers_login .airix-auth-form .form-control::placeholder { color: #9e978d; }
html[data-theme="dark"] body.customers_login .airix-auth-form .form-control:focus { background: #14201b; }
html[data-theme="dark"] body.customers_login .airix-auth-method { color: #f1ece1 !important; border-color: rgba(232, 227, 215, .2); background: rgba(24, 36, 31, .64); }
html[data-theme="dark"] body.customers_login .airix-auth-method:hover,
html[data-theme="dark"] body.customers_login .airix-auth-method:focus-visible { border-color: #f4c430; background: rgba(35, 51, 43, .84); }
html[data-theme="dark"] body.customers_login .airix-auth-method small,
html[data-theme="dark"] body.customers_login .airix-auth-disabled-note p,
html[data-theme="dark"] body.customers_login .airix-field-help { color: #b9b2a7; }
html[data-theme="dark"] body.customers_login .airix-auth-disabled-note { border-color: rgba(232, 227, 215, .2); background: rgba(24, 36, 31, .58); }

@media (max-width: 900px) {
    body.customers_login .airix-auth-page { grid-template-columns: 1fr; }
    body.customers_login .airix-auth-intro, body.customers_login .airix-auth-intro__inner { min-height: 430px; }
    body.customers_login .airix-auth-form__inner { width: 100%; max-width: 720px; }
}
@media (max-width: 620px) {
    body.customers_login .airix-auth-intro, body.customers_login .airix-auth-intro__inner { min-height: 350px; }
    body.customers_login .airix-auth-methods { align-items: flex-start; flex-direction: column; }
    body.customers_login .airix-auth-form__inner { padding: 42px 22px 34px; }
}

/* Keep method cards on the same restrained type and spacing system. */
body.customers_login .airix-auth-method-block + .airix-auth-method-list {
    margin-top: 10px;
}

body.customers_login .airix-auth-method {
    grid-template-columns: 42px minmax(0, 1fr) 18px;
    min-height: 72px;
    padding: 12px 15px;
    text-align: left !important;
}

body.customers_login .airix-auth-method__icon {
    width: 42px;
    height: 42px;
    font-size: 16px;
}

body.customers_login .airix-auth-method strong,
body.customers_login .airix-auth-method small {
    color: inherit;
    font-family: var(--airix-ui);
    font-style: normal;
    text-align: left;
}

body.customers_login .airix-auth-method strong {
    font-size: 13px;
    font-weight: 650;
    letter-spacing: -.01em;
    line-height: 1.3;
}

body.customers_login .airix-auth-method small {
    margin-top: 3px;
    color: #806f63;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
}

html[data-theme="dark"] body.customers_login .airix-auth-method small {
    color: #b9b2a7;
}

body.customers_login .airix-auth-submit .btn.is-cooling-down {
    cursor: not-allowed;
    opacity: .62;
}

body.customers_login [data-magic-login-cooldown-display].is-disabled {
    color: #8c8279;
    cursor: not-allowed;
    opacity: .72;
    pointer-events: auto;
    text-decoration: none;
}

/* One-piece international phone control. */
body.customers_login .airix-phone-field {
    display: block;
}

body.customers_login .airix-phone-control {
    display: grid;
    grid-template-columns: 18px auto 1px minmax(0, 1fr);
    gap: 13px;
    width: 100%;
    min-height: 54px;
    align-items: center;
    padding: 0 15px;
    border: 1px solid #d1c5af;
    border-radius: 4px;
    color: #3b241c;
    background: rgba(255, 252, 245, .82);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

body.customers_login .airix-phone-control:focus-within {
    border-color: var(--airix-auth-signal);
    background: #fffdf8;
    box-shadow: 0 0 0 3px rgba(242, 106, 46, .14);
}

body.customers_login .airix-phone-control__icon {
    color: #8a6e61;
    font-size: 15px;
}

body.customers_login .airix-country-trigger {
    position: relative;
    display: inline-flex;
    min-width: 82px;
    height: 52px;
    align-items: center;
    gap: 5px;
    color: #6f5b50;
    font-family: var(--airix-ui);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

body.customers_login .airix-country-trigger > i {
    margin-left: 2px;
    color: #9a897a;
    font-size: 8px;
}

body.customers_login .airix-country-trigger__iso {
    color: #8a7468;
    font-size: 10px;
    letter-spacing: .06em;
}

body.customers_login .airix-country-select {
    position: absolute;
    z-index: 3;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0 !important;
    border: 0 !important;
    cursor: pointer;
    opacity: 0;
    appearance: auto;
}

body.customers_login .airix-phone-control__divider {
    width: 1px;
    height: 26px;
    background: rgba(59, 36, 28, .18);
}

body.customers_login .airix-phone-number-shell {
    min-width: 0;
}

body.customers_login .airix-auth-form .airix-phone-number-shell .form-control {
    width: 100%;
    min-height: 52px;
    height: 52px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
}

html[data-theme="dark"] body.customers_login .airix-phone-control {
    color: #f1ece1;
    border-color: rgba(232, 227, 215, .24);
    background: rgba(24, 36, 31, .78);
    box-shadow: none;
}

html[data-theme="dark"] body.customers_login .airix-phone-control:focus-within {
    border-color: var(--airix-auth-signal);
    background: #14201b;
    box-shadow: 0 0 0 3px rgba(242, 106, 46, .14);
}

html[data-theme="dark"] body.customers_login .airix-country-trigger,
html[data-theme="dark"] body.customers_login .airix-country-trigger__iso {
    color: #c8c0b5;
}

html[data-theme="dark"] body.customers_login .airix-phone-control__divider {
    background: rgba(232, 227, 215, .18);
}

/* Lock the visual panel; only the authentication workspace scrolls. */
body.airix-portal.customers_login,
body.airix-portal.register {
    height: 100dvh;
    overflow: hidden;
}

body.airix-portal.customers_login .airix-auth-page,
body.airix-portal.register .airix-register-page {
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
}

body.airix-portal.customers_login .airix-auth-intro,
body.airix-portal.customers_login .airix-auth-intro__inner,
body.airix-portal.register .airix-register-intro,
body.airix-portal.register .airix-register-intro__inner {
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
}

body.airix-portal.customers_login .airix-auth-form,
body.airix-portal.register .airix-register-form-shell {
    height: 100dvh;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

@media (max-width: 980px) {
    body.airix-portal.customers_login .airix-auth-page {
        display: grid;
        width: 100%;
        max-width: none;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(240px, 36dvh) minmax(0, 1fr);
    }

    body.airix-portal.customers_login .airix-auth-intro,
    body.airix-portal.customers_login .airix-auth-intro__inner {
        height: 36dvh;
        min-height: 240px;
    }

    body.airix-portal.customers_login .airix-auth-intro {
        padding: 0;
        background-position: center;
    }

    body.airix-portal.customers_login .airix-auth-intro__inner {
        padding: 26px clamp(22px, 6vw, 48px);
    }

    body.airix-portal.customers_login .airix-auth-domain,
    body.airix-portal.customers_login .airix-auth-context {
        display: none;
    }

    body.airix-portal.customers_login .airix-auth-story {
        margin: auto 0 0;
    }

    body.airix-portal.customers_login .airix-auth-story h1 {
        max-width: 15ch;
        font-size: clamp(34px, 7vw, 52px);
    }

    body.airix-portal.customers_login .airix-auth-story > p:last-child {
        max-width: 56ch;
        margin-top: 16px;
        font-size: 16px;
    }

    body.airix-portal.customers_login .airix-auth-form {
        width: 100%;
        height: auto;
        padding: 0;
    }

    body.airix-portal.customers_login .airix-auth-form__inner {
        width: min(100%, 720px);
        padding: 44px clamp(22px, 7vw, 58px) 40px;
    }
}

@media (max-width: 900px) {
    body.airix-portal.register .airix-register-page {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(240px, 34dvh) minmax(0, 1fr);
    }

    body.airix-portal.register .airix-register-intro,
    body.airix-portal.register .airix-register-intro__inner {
        height: 34dvh;
        min-height: 240px;
    }

    body.airix-portal.register .airix-register-form-shell {
        height: auto;
    }
}

@media (max-width: 420px) {
    body.customers_login .airix-phone-control {
        grid-template-columns: 16px auto 1px minmax(0, 1fr);
        gap: 10px;
        padding: 0 12px;
    }

    body.customers_login .airix-country-trigger {
        min-width: 76px;
    }
}

/* Authentication QA corrections: real native selects, readable dark-mode
 * controls, and a tablet layout that never overflows the viewport. */
body.customers_login .airix-altcha-widget {
    position: fixed !important;
    left: -10000px !important;
    bottom: 0 !important;
    display: block !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.airix-portal.register .register-country-group .airix-select-shell,
body.airix-portal.register .register-country-group select.airix-native-select {
    width: 100% !important;
    min-height: 54px;
    height: 54px;
}

body.customers_login .airix-auth-method--magic .airix-auth-method__icon {
    color: #a94723;
    border-color: rgba(169, 71, 35, .22);
    background: rgba(242, 106, 46, .1);
}

body.customers_login .airix-auth-method--whatsapp .airix-auth-method__icon {
    color: #087c43;
    border-color: rgba(8, 124, 67, .22);
    background: rgba(37, 211, 102, .1);
}

html[data-theme="dark"] body.customers_login .airix-input-shell > i,
html[data-theme="dark"] body.customers_login .airix-phone-control__icon,
html[data-theme="dark"] body.customers_login .airix-password-toggle,
html[data-theme="dark"] body.customers_login .airix-auth-method__arrow {
    color: #d8c4b8;
}

html[data-theme="dark"] body.customers_login .airix-auth-method--magic .airix-auth-method__icon {
    color: #ff9565;
    border-color: rgba(255, 149, 101, .42);
    background: rgba(242, 106, 46, .17);
}

html[data-theme="dark"] body.customers_login .airix-auth-method--whatsapp .airix-auth-method__icon {
    color: #55df91;
    border-color: rgba(85, 223, 145, .4);
    background: rgba(37, 211, 102, .14);
}

html[data-theme="dark"] body.airix-portal.register .airix-input-shell > i,
html[data-theme="dark"] body.airix-portal.register .airix-password-toggle,
html[data-theme="dark"] body.airix-portal.register .airix-select-shell::after {
    color: #d8c4b8;
}

body.airix-portal.customers_login .airix-auth-form__inner {
    justify-content: center;
}

@media (max-width: 1180px) {
    body.airix-portal.customers_login .airix-auth-page,
    body.airix-portal.register .airix-register-page {
        display: grid;
        width: 100%;
        max-width: none;
        grid-template-columns: minmax(0, 1fr);
        overflow: hidden;
    }

    body.airix-portal.customers_login .airix-auth-page {
        grid-template-rows: clamp(220px, 30dvh, 320px) minmax(0, 1fr);
    }

    body.airix-portal.register .airix-register-page {
        grid-template-rows: clamp(200px, 27dvh, 280px) minmax(0, 1fr);
    }

    body.airix-portal.customers_login .airix-auth-intro,
    body.airix-portal.customers_login .airix-auth-intro__inner,
    body.airix-portal.register .airix-register-intro,
    body.airix-portal.register .airix-register-intro__inner {
        width: 100%;
        height: 100%;
        min-height: 0;
    }

    body.airix-portal.customers_login .airix-auth-intro__inner,
    body.airix-portal.register .airix-register-intro__inner {
        position: relative;
        padding: 24px clamp(22px, 6vw, 54px);
    }

    body.airix-portal.customers_login .airix-auth-story,
    body.airix-portal.register .airix-register-story {
        margin: auto 0 0;
    }

    body.airix-portal.customers_login .airix-auth-story h1,
    body.airix-portal.register .airix-register-story h1 {
        max-width: 17ch;
        font-size: clamp(34px, 6vw, 54px);
    }

    body.airix-portal.customers_login .airix-auth-domain,
    body.airix-portal.customers_login .airix-auth-context,
    body.airix-portal.register .airix-register-brand-row > span,
    body.airix-portal.register .airix-register-story > p {
        display: none;
    }

    body.airix-portal.customers_login .airix-auth-form,
    body.airix-portal.register .airix-register-form-shell {
        width: 100%;
        height: 100%;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
    }

    body.airix-portal.customers_login .airix-auth-form__inner,
    body.airix-portal.register .airix-register-form-inner {
        width: min(100%, 820px);
        max-width: none;
        min-height: 100%;
        margin: 0 auto;
        padding: 34px clamp(24px, 7vw, 64px) 42px;
    }

    body.airix-portal.customers_login .airix-auth-form-meta,
    body.airix-portal.register .airix-register-meta {
        margin-bottom: 38px;
    }
}

@media (max-width: 620px) {
    body.airix-portal.customers_login .airix-auth-page {
        grid-template-rows: 220px minmax(0, 1fr);
    }

    body.airix-portal.register .airix-register-page {
        grid-template-rows: 200px minmax(0, 1fr);
    }

    body.airix-portal.customers_login .airix-auth-story > p:last-child,
    body.airix-portal.register .airix-register-kicker {
        display: none;
    }

    body.airix-portal.customers_login .airix-auth-form__inner,
    body.airix-portal.register .airix-register-form-inner {
        padding: 30px 22px 36px;
    }
}

/* ========================================================================
   Airix Portal 1.3.0.15 — internal legibility and dark-surface correction
   Keep editorial restraint without shrinking working UI below readable sizes.
   ======================================================================== */

body.airix-client-authenticated {
    overflow-x: clip;
    font-size: 16px;
    line-height: 1.55;
}

body.airix-client-authenticated .airix-page-shell,
body.airix-client-authenticated .airix-page-content,
body.airix-client-authenticated .airix-content-container,
body.airix-client-authenticated .airix-content-container > .row,
body.airix-client-authenticated .section-client-dashboard,
body.airix-client-authenticated .airix-dashboard {
    min-width: 0;
    max-width: 100%;
}

body.airix-client-authenticated .airix-content-container > .row,
body.airix-client-authenticated .airix-dashboard {
    width: 100%;
}

body.airix-client-authenticated .airix-dashboard > [class*="col-"],
body.airix-client-authenticated .airix-content-container > .row > [class*="col-"] {
    min-width: 0;
}

body.airix-client-authenticated p,
body.airix-client-authenticated address,
body.airix-client-authenticated .panel-body,
body.airix-client-authenticated .panel-footer,
body.airix-client-authenticated .text-muted,
body.airix-client-authenticated .help-block {
    font-size: 15px;
}

body.airix-client-authenticated .airix-brand-context,
body.airix-client-authenticated .airix-account-menu__eyebrow,
body.airix-client-authenticated .airix-account-menu__header small,
body.airix-client-authenticated .airix-utility-nav__label,
body.airix-client-authenticated .airix-page-kicker,
body.airix-client-authenticated .airix-dashboard-date {
    font-size: 10px;
}

body.airix-client-authenticated .airix-nav > li > a {
    min-height: 42px;
    padding: 10px 12px;
    font-size: 13px;
}

body.airix-client-authenticated .airix-icon-item > a,
body.airix-client-authenticated .airix-mode-toggle {
    width: 42px;
    min-height: 42px;
    font-size: 18px;
}

body.airix-client-authenticated .airix-icon-item > a > i,
body.airix-client-authenticated .airix-mode-toggle > i {
    font-size: 18px;
}

body.airix-client-authenticated .airix-topbar .client-profile-image-small {
    width: 38px;
    height: 38px;
}

body.airix-client-authenticated .airix-profile-meta strong {
    font-size: 13px;
}

body.airix-client-authenticated .airix-profile-meta small {
    font-size: 9px;
}

body.airix-client-authenticated .airix-topbar .dropdown-menu > li > a {
    min-height: 42px;
    font-size: 13px;
}

body.airix-client-authenticated .airix-utility-nav {
    min-width: 0;
}

body.airix-client-authenticated .customer-top-submenu > li > a {
    min-height: 42px;
    gap: 8px;
    padding: 10px 14px;
    color: var(--airix-workspace-text) !important;
    border-color: var(--airix-workspace-line-strong) !important;
    background: var(--airix-workspace-surface) !important;
    font-size: 13px;
    font-weight: 600;
}

body.airix-client-authenticated .customer-top-submenu svg {
    width: 19px;
    height: 19px;
    color: currentColor !important;
    stroke: currentColor;
}

body.airix-client-authenticated .customer-top-submenu > li > a:hover,
body.airix-client-authenticated .customer-top-submenu > li > a:focus-visible {
    color: var(--airix-workspace-text) !important;
    border-color: var(--airix-site-orange) !important;
    background: var(--airix-workspace-subtle) !important;
}

html[data-theme="dark"] body.airix-client-authenticated .customer-top-submenu > li > a {
    color: #f2ede2 !important;
    border-color: rgba(242, 237, 226, 0.3) !important;
    background: rgba(33, 49, 42, 0.72) !important;
}

html[data-theme="dark"] body.airix-client-authenticated .customer-top-submenu > li > a:hover,
html[data-theme="dark"] body.airix-client-authenticated .customer-top-submenu > li > a:focus-visible {
    color: #fffaf1 !important;
    border-color: var(--airix-site-orange) !important;
    background: #2a3d34 !important;
}

body.airix-client-authenticated label,
body.airix-client-authenticated .control-label {
    margin-bottom: 9px;
    font-size: 12px;
    line-height: 1.4;
}

body.airix-client-authenticated .form-group {
    margin-bottom: 24px;
}

body.airix-client-authenticated .form-control,
body.airix-client-authenticated .bootstrap-select > .dropdown-toggle,
body.airix-client-authenticated .select2-container .select2-selection {
    min-height: 50px;
    padding: 13px 15px;
    font-size: 15px;
}

body.airix-client-authenticated .btn {
    min-height: 44px;
    padding: 11px 17px;
    font-size: 12px;
    line-height: 1.3;
}

body.airix-client-authenticated .btn i,
body.airix-client-authenticated .btn svg {
    color: currentColor !important;
}

body.airix-client-authenticated .btn i {
    font-size: 15px;
}

body.airix-client-authenticated .btn-default,
html[data-theme="dark"] body.airix-client-authenticated .btn-default {
    color: var(--airix-workspace-text) !important;
    border-color: var(--airix-workspace-line-strong) !important;
    background: transparent !important;
}

body.airix-client-authenticated .btn-default:hover,
body.airix-client-authenticated .btn-default:focus-visible,
html[data-theme="dark"] body.airix-client-authenticated .btn-default:hover,
html[data-theme="dark"] body.airix-client-authenticated .btn-default:focus-visible {
    color: var(--airix-workspace-text) !important;
    border-color: var(--airix-site-orange) !important;
    background: var(--airix-workspace-subtle) !important;
}

body.airix-client-authenticated .checkbox label,
body.airix-client-authenticated .radio label {
    font-size: 14px;
}

body.airix-client-authenticated .table {
    font-size: 14px;
}

body.airix-client-authenticated .table > thead > tr > th {
    font-size: 11px;
}

body.airix-client-authenticated .dataTables_wrapper .dataTables_filter label,
body.airix-client-authenticated .dataTables_wrapper .dataTables_length label,
body.airix-client-authenticated .dataTables_wrapper .dataTables_info,
body.airix-client-authenticated .dataTables_wrapper .dataTables_paginate {
    font-size: 10px;
}

body.airix-client-authenticated .nav-tabs > li > a {
    font-size: 13px;
}

body.airix-client-authenticated .nav-tabs > li > a .menu-icon {
    font-size: 15px;
}

body.airix-client-authenticated .label,
body.airix-client-authenticated .badge {
    min-height: 24px;
    font-size: 9px;
}

body.airix-client-authenticated .alert {
    font-size: 14px;
}

body.airix-client-authenticated dl.tw-grid dt,
body.airix-client-authenticated .invoice-quick-info .stats-status,
body.airix-client-authenticated .estimates-stats .stats-status,
body.airix-client-authenticated .section-heading a,
body.airix-client-authenticated .view-account-statement {
    font-size: 10px !important;
}

@media (max-width: 767px) {
    body.airix-client-authenticated {
        font-size: 15px;
    }

    body.airix-client-authenticated .airix-topbar > .container,
    body.airix-client-authenticated .airix-content-container,
    body.airix-client-authenticated .airix-alert-container,
    body.airix-client-authenticated .airix-footer > .container {
        width: calc(100% - 32px);
    }

    body.airix-portal .airix-topbar .navbar-collapse.collapse,
    body.airix-portal .airix-topbar .navbar-collapse.collapsing {
        right: auto;
        left: -16px;
        max-width: 100vw;
    }

    body.airix-client-authenticated .airix-utility-nav {
        align-items: flex-start;
        flex-direction: column;
    }

    body.airix-client-authenticated .customer-top-submenu {
        width: 100%;
    }

    body.airix-client-authenticated .customer-top-submenu > li {
        flex: 1 1 0;
    }

    body.airix-client-authenticated .customer-top-submenu > li > a {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    body.airix-client-authenticated .customer-top-submenu > li > a span {
        display: inline;
    }
}

/* -------------------------------------------------------------------------
 * Airix document system v1.4
 * Shared visual language for portal pages and financial documents.
 * Keep Perfex structure and behavior; this layer only refines presentation.
 * ------------------------------------------------------------------------- */

body.airix-portal {
    --airix-display: Georgia, "Times New Roman", serif;
    --airix-editorial: Georgia, "Times New Roman", serif;
    --airix-serif: Georgia, "Times New Roman", serif;
    --airix-ui: Arial, Helvetica, sans-serif;
    --airix-mono: "Spline Sans Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    --airix-art-canvas: #211e1a;
    --airix-art-paper: #fffdf8;
    --airix-art-cream: #f3ede3;
    --airix-art-ink: #28241f;
    --airix-art-muted: #80766b;
    --airix-art-line: #ddd4c7;
    --airix-art-line-soft: #eee8e0;
    --airix-art-terra: #c66547;
    --airix-art-green: #2f6b55;
    --airix-art-green-soft: #e9f2ed;
    --airix-art-amber: #a66b26;
    --airix-art-amber-soft: #f7eedf;
    --airix-art-red: #a34b42;
    --airix-art-red-soft: #f8e9e5;
    font-family: var(--airix-ui);
}

html[data-theme="light"] body.airix-portal {
    --airix-site-cream: var(--airix-art-cream);
    --airix-site-umber: var(--airix-art-green);
    --airix-site-terracotta: var(--airix-art-terra);
    --airix-site-orange: var(--airix-art-terra);
    --airix-site-yellow: #8fae74;
    --airix-site-night: var(--airix-art-canvas);
    --airix-site-bone: var(--airix-art-cream);
    --airix-workspace-surface: var(--airix-art-paper);
    --airix-workspace-subtle: var(--airix-art-cream);
    --airix-workspace-line: rgba(221, 212, 199, 0.92);
    --airix-workspace-line-strong: rgba(189, 178, 164, 0.95);
    --airix-workspace-text: var(--airix-art-ink);
    --airix-workspace-muted: var(--airix-art-muted);
}

html[data-theme="dark"] body.airix-portal {
    --airix-site-cream: #f3ede3;
    --airix-site-umber: #2f6b55;
    --airix-site-terracotta: #c66547;
    --airix-site-orange: #c66547;
    --airix-site-yellow: #a9c48d;
    --airix-site-night: #181612;
    --airix-site-bone: #eee8df;
    --airix-workspace-surface: #2a2620;
    --airix-workspace-subtle: #332e27;
    --airix-workspace-line: rgba(238, 232, 223, 0.16);
    --airix-workspace-line-strong: rgba(238, 232, 223, 0.28);
    --airix-workspace-text: #f3ede3;
    --airix-workspace-muted: #b9afa3;
}

body.airix-client-authenticated {
    color: var(--airix-workspace-text);
    background: var(--airix-workspace-subtle);
}

body.airix-client-authenticated .airix-content-container {
    width: min(1320px, calc(100% - 56px));
    max-width: none;
    margin-right: auto;
    margin-left: auto;
}

body.airix-client-authenticated .airix-topbar,
body.airix-client-authenticated .airix-topbar .navbar-header,
body.airix-client-authenticated .airix-topbar .navbar-collapse {
    background: var(--airix-art-canvas);
}

body.airix-client-authenticated h1,
body.airix-client-authenticated h2,
body.airix-client-authenticated h3,
body.airix-client-authenticated h4,
body.airix-client-authenticated h5,
body.airix-client-authenticated h6,
body.airix-client-authenticated .panel-title,
body.airix-client-authenticated .section-text {
    font-family: var(--airix-display);
    font-weight: 400;
    letter-spacing: -0.025em;
}

body.airix-client-authenticated .section-text,
body.airix-client-authenticated h4.section-heading,
body.airix-client-authenticated h4[class*="section-heading"] {
    font-size: clamp(28px, 3vw, 44px) !important;
    line-height: 1.04;
}

body.airix-client-authenticated .panel_s,
body.airix-client-authenticated .card,
body.airix-client-authenticated .ticket-list,
body.airix-client-authenticated .thread,
body.airix-client-authenticated .kb-card {
    border-radius: 0;
    box-shadow: none;
}

body.airix-client-authenticated .panel_s .panel-body {
    padding: clamp(24px, 3vw, 38px);
}

body.airix-client-authenticated .btn,
body.airix-client-authenticated .btn-primary,
body.airix-client-authenticated .btn-default {
    border-radius: 0;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

body.airix-client-authenticated .btn:hover,
body.airix-client-authenticated .btn:focus-visible {
    transform: translateY(-1px);
}

body.airix-client-authenticated .label,
body.airix-client-authenticated .badge,
body.airix-client-authenticated .status,
body.airix-client-authenticated .invoice-html-status {
    border-radius: 0;
    font-family: var(--airix-mono);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.airix-client-authenticated .table > thead > tr > th {
    color: var(--airix-workspace-muted);
    font-family: var(--airix-mono);
    font-size: 9px;
    letter-spacing: 0.1em;
}

body.airix-client-authenticated .table > tbody > tr > td {
    font-size: 14px;
}

/* Project workspace: top tabs remain the primary navigation. */
body.airix-client-authenticated .horizontal-scrollable-tabs,
body.airix-client-authenticated .panel-full-width-tabs {
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
}

body.airix-client-authenticated .nav-tabs {
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: thin;
}

body.airix-client-authenticated .nav-tabs > li > a {
    min-height: 52px;
    padding-right: 13px;
    padding-left: 13px;
    font-size: 13px;
}

/* Inline status language used by invoices, tickets, projects and documents. */
body.airix-client-authenticated .label-success,
body.airix-client-authenticated .status.green {
    color: var(--airix-art-green) !important;
    border-color: currentColor !important;
    background: var(--airix-art-green-soft) !important;
}

body.airix-client-authenticated .label-warning,
body.airix-client-authenticated .status.amber {
    color: var(--airix-art-amber) !important;
    border-color: currentColor !important;
    background: var(--airix-art-amber-soft) !important;
}

body.airix-client-authenticated .label-danger,
body.airix-client-authenticated .status.red {
    color: var(--airix-art-red) !important;
    border-color: currentColor !important;
    background: var(--airix-art-red-soft) !important;
}

/* Invoice document surface and prominent state stamp. */
body.airix-portal .invoice-html-content,
body.airix-portal .invoice-html {
    font-family: var(--airix-ui);
}

body.airix-portal .invoice-html-content .panel_s,
body.airix-portal.viewinvoice .panel_s {
    border-radius: 0;
    border-color: var(--airix-art-line);
    box-shadow: 0 18px 44px rgba(33, 30, 24, 0.08);
}

body.airix-portal .invoice-html-pay-now-top {
    border: 0;
    border-radius: 0;
    color: #fffdf8 !important;
    background: var(--airix-art-green) !important;
    font-family: var(--airix-mono);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.airix-portal .invoice-html-pay-now-top:hover,
body.airix-portal .invoice-html-pay-now-top:focus-visible {
    background: #255541 !important;
    transform: translateY(-1px);
}

body.airix-portal .invoice-html-offline-payments {
    display: none !important;
}

body.airix-portal .airix-invoice-stamp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 148px;
    min-height: 48px;
    margin: 0 0 24px;
    padding: 10px 16px;
    border: 2px solid currentColor;
    color: var(--airix-art-amber);
    background: var(--airix-art-amber-soft);
    font-family: var(--airix-mono);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    transform: rotate(-2deg);
}

body.airix-portal .airix-invoice-stamp-paid {
    color: var(--airix-art-green);
    background: var(--airix-art-green-soft);
}

body.airix-portal .airix-invoice-stamp-overdue,
body.airix-portal .airix-invoice-stamp-cancelled {
    color: var(--airix-art-red);
    background: var(--airix-art-red-soft);
}

body.airix-portal .airix-invoice-stamp-partial {
    color: var(--airix-art-amber);
    background: var(--airix-art-amber-soft);
}

body.airix-portal .invoice-html-content .invoice-html-company-info,
body.airix-portal .invoice-html-content .invoice-html-customer-billing-info,
body.airix-portal .invoice-html-content .invoice-html-customer-shipping-info {
    color: var(--airix-workspace-muted) !important;
    font-size: 14px;
    line-height: 1.65;
}

body.airix-portal .invoice-html-content #online_payment_form {
    padding: 22px;
    border: 1px solid var(--airix-art-line);
    background: var(--airix-art-cream);
}

body.airix-portal .invoice-html-content #pay_button {
    display: none;
}

body.airix-portal .invoice-html-content .online-payment-radio {
    margin-bottom: 8px;
}

body.airix-portal .invoice-html-content .online-payment-radio label {
    font-size: 14px;
}

/* Portal surfaces: projects, support, account and public content. */
body.airix-portal .panel_s,
body.airix-portal .panel_s .panel-body,
body.airix-portal .panel_s .panel-footer,
body.airix-portal .section-knowledge-base,
body.airix-portal .ticket-list,
body.airix-portal .tw-border,
body.airix-portal .table-responsive {
    border-color: var(--airix-workspace-line) !important;
    background: var(--airix-workspace-surface) !important;
}

body.airix-portal .panel_s,
body.airix-portal .section-knowledge-base,
body.airix-portal .ticket-list {
    border: 1px solid var(--airix-workspace-line) !important;
}

body.airix-portal .panel_s .panel-footer,
body.airix-portal .company-profile-billing-shipping-heading,
body.airix-portal .section-heading,
body.airix-portal .section-heading-announcements,
body.airix-portal .section-heading-projects,
body.airix-portal .section-heading-tickets,
body.airix-portal .terms-and-conditions-heading,
body.airix-portal .privacy-policy-heading,
body.airix-portal .gdpr-purpose-heading {
    border-color: var(--airix-workspace-line) !important;
}

body.airix-portal .section-heading,
body.airix-portal .section-heading-announcements,
body.airix-portal .section-heading-projects,
body.airix-portal .section-heading-tickets {
    padding-bottom: 18px;
    margin-bottom: 26px;
    border-bottom: 1px solid var(--airix-workspace-line);
}

body.airix-portal .section-text,
body.airix-portal .section-heading .section-text,
body.airix-portal .tickets-summary-heading,
body.airix-portal .kb-article-single-heading,
body.airix-portal .terms-and-conditions-heading,
body.airix-portal .privacy-policy-heading {
    color: var(--airix-workspace-text) !important;
}

body.airix-portal .table,
body.airix-portal .table > thead > tr > th,
body.airix-portal .table > tbody > tr > td,
body.airix-portal .table-hover > tbody > tr:hover {
    border-color: var(--airix-workspace-line) !important;
    background: transparent !important;
}

body.airix-portal .table > thead > tr > th {
    padding-top: 15px;
    padding-bottom: 15px;
    color: var(--airix-workspace-muted) !important;
}

body.airix-portal .table > tbody > tr > td {
    padding-top: 17px;
    padding-bottom: 17px;
    color: var(--airix-workspace-text) !important;
    vertical-align: middle;
}

body.airix-portal .table a,
body.airix-portal .panel_s a,
body.airix-portal .section-knowledge-base a {
    color: var(--airix-art-terra);
}

body.airix-portal .form-group > label,
body.airix-portal .control-label,
body.airix-portal .profile-image-group label,
body.airix-portal .company-profile-address-group label {
    display: block;
    margin-bottom: 9px;
    color: var(--airix-workspace-muted) !important;
    font-family: var(--airix-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.airix-portal .form-control,
body.airix-portal .bootstrap-select > .dropdown-toggle,
body.airix-portal .select2-container .select2-selection,
body.airix-portal input[type="file"] {
    color: var(--airix-workspace-text) !important;
    border-color: var(--airix-workspace-line-strong) !important;
    background: var(--airix-workspace-subtle) !important;
}

body.airix-portal .form-control::placeholder {
    color: var(--airix-workspace-muted) !important;
    opacity: 0.85;
}

body.airix-portal .company-profile-save-section,
body.airix-portal .contact-profile-save-section {
    padding-top: 22px;
    padding-bottom: 22px;
    background: var(--airix-workspace-subtle) !important;
}

body.airix-portal .btn-primary,
body.airix-portal .btn-success {
    color: #fffdf8 !important;
    border-color: var(--airix-art-green) !important;
    background: var(--airix-art-green) !important;
    font-family: var(--airix-mono);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.airix-portal .btn-default {
    color: var(--airix-workspace-text) !important;
    border-color: var(--airix-workspace-line-strong) !important;
    background: transparent !important;
}

body.airix-portal .announcement-heading,
body.airix-portal .article-heading,
body.airix-portal .kb-related-heading {
    color: var(--airix-workspace-text) !important;
    font-family: var(--airix-display);
}

body.airix-portal .announcement-date,
body.airix-portal .invoice-html-date,
body.airix-portal .invoice-html-duedate,
body.airix-portal .text-muted,
body.airix-portal .tw-text-neutral-500 {
    color: var(--airix-workspace-muted) !important;
}

body.airix-portal .tc-content,
body.airix-portal .privacy-policy,
body.airix-portal .terms-and-conditions-content,
body.airix-portal .kb-article-content {
    color: var(--airix-workspace-text) !important;
    font-family: var(--airix-serif);
    font-size: 17px;
    line-height: 1.72;
}

body.airix-portal .tc-content h1,
body.airix-portal .tc-content h2,
body.airix-portal .tc-content h3,
body.airix-portal .tc-content h4 {
    color: var(--airix-workspace-text) !important;
    font-family: var(--airix-display);
    line-height: 1.15;
}

html[data-theme="dark"] body.airix-portal .tw-text-neutral-700,
html[data-theme="dark"] body.airix-portal .tw-text-neutral-900,
html[data-theme="dark"] body.airix-portal .bold,
html[data-theme="dark"] body.airix-portal .invoice-html-number,
html[data-theme="dark"] body.airix-portal .invoice-html-bill-to,
html[data-theme="dark"] body.airix-portal .invoice-html-ship-to {
    color: var(--airix-workspace-text) !important;
}

html[data-theme="light"] body.airix-portal .tw-text-neutral-700,
html[data-theme="light"] body.airix-portal .tw-text-neutral-900,
html[data-theme="light"] body.airix-portal .bold,
html[data-theme="light"] body.airix-portal .invoice-html-number,
html[data-theme="light"] body.airix-portal .invoice-html-bill-to,
html[data-theme="light"] body.airix-portal .invoice-html-ship-to {
    color: var(--airix-workspace-text) !important;
}

/* Forms stay wide and readable without introducing persistent rails. */
body.airix-client-authenticated .form-control,
body.airix-client-authenticated .bootstrap-select > .dropdown-toggle,
body.airix-client-authenticated .select2-container .select2-selection {
    min-height: 48px;
    border-radius: 0;
    font-size: 14px;
}

body.airix-client-authenticated textarea.form-control {
    min-height: 150px;
}

@media (max-width: 900px) {
    body.airix-client-authenticated .airix-content-container {
        width: calc(100% - 32px);
    }

    body.airix-client-authenticated .panel_s .panel-body {
        padding: 24px 20px;
    }

    body.airix-portal .invoice-html-pay-now-top {
        min-width: 0;
    }
}

@media (max-width: 520px) {
    body.airix-client-authenticated .airix-content-container {
        width: calc(100% - 24px);
    }

    body.airix-client-authenticated .section-text,
    body.airix-client-authenticated h4.section-heading,
    body.airix-client-authenticated h4[class*="section-heading"] {
        font-size: 32px !important;
    }

    body.airix-portal .airix-invoice-stamp {
        min-width: 132px;
        font-size: 12px;
    }
}

/* 1.5.0.0 final precedence lock — intentionally last in the bundle. */
body.airix-client-authenticated .navbar.airix-topbar,
html[data-theme="light"] body.airix-client-authenticated .navbar.airix-topbar,
html[data-theme="dark"] body.airix-client-authenticated .navbar.airix-topbar {
    min-height: 82px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,253,248,.14) !important;
    background: #211e1a !important;
}
body.airix-client-authenticated .airix-topbar > .container {
    display: flex !important;
    align-items: stretch !important;
    width: min(1480px, calc(100% - 56px)) !important;
    min-height: 82px !important;
    padding: 0 !important;
}
body.airix-client-authenticated .airix-topbar .navbar-header {
    display: flex !important;
    float: none !important;
    align-items: center !important;
    min-width: 210px !important;
    margin: 0 26px 0 0 !important;
    padding-right: 26px !important;
    border-right: 1px solid rgba(255,253,248,.14) !important;
}
body.airix-client-authenticated .airix-topbar .navbar-collapse {
    display: flex !important;
    float: none !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
body.airix-client-authenticated .airix-topbar .airix-nav {
    display: flex !important;
    float: none !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    margin: 0 !important;
}
body.airix-client-authenticated .airix-topbar .airix-nav > li > a {
    display: flex !important;
    align-items: center !important;
    min-height: 82px !important;
    padding: 0 13px !important;
    border-radius: 0 !important;
    color: #c8c0b5 !important;
    background: transparent !important;
    font-size: 13px !important;
    -webkit-text-fill-color: #c8c0b5 !important;
}
body.airix-client-authenticated .airix-topbar .airix-nav > li > a:hover,
body.airix-client-authenticated .airix-topbar .airix-nav > li > a:focus,
body.airix-client-authenticated .airix-topbar .airix-nav > li.active > a,
body.airix-client-authenticated .airix-topbar .airix-nav > li > a[aria-current="page"] {
    color: #fffdf8 !important;
    background: rgba(255,253,248,.06) !important;
    -webkit-text-fill-color: #fffdf8 !important;
}
body.airix-client-authenticated .airix-topbar :is(.airix-search-item,.airix-notifications-item) a,
body.airix-client-authenticated .airix-topbar :is(.airix-search-item,.airix-notifications-item) i,
body.airix-client-authenticated .airix-topbar .airix-mode-toggle,
body.airix-client-authenticated .airix-topbar .airix-mode-toggle i { color: #ddd6cc !important; -webkit-text-fill-color: #ddd6cc !important; }
body.airix-client-authenticated .airix-topbar .airix-profile-meta strong { color: #fffdf8 !important; }
body.airix-client-authenticated .airix-topbar .airix-profile-meta small { color: #aaa195 !important; }
body.airix-client-authenticated .airix-dashboard-note h3 { color: #fffdf8 !important; }
body.airix-client-authenticated .airix-dashboard-note p { color: #c9c0b5 !important; }
body.airix-client-authenticated .airix-welcome-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
body.airix-client-authenticated .airix-welcome-grid a { position: relative; display: grid; min-height: 220px; padding: 26px; border: 1px solid var(--airix-workspace-line); color: var(--airix-workspace-text) !important; background: var(--airix-workspace-surface); text-decoration: none !important; }
body.airix-client-authenticated .airix-welcome-grid a > span { color: var(--airix-v15-terra); font-family: var(--airix-mono); font-size: 10px; }
body.airix-client-authenticated .airix-welcome-grid strong { align-self: end; color: var(--airix-workspace-text) !important; font-family: var(--airix-display); font-size: 24px; line-height: 1.05; }
body.airix-client-authenticated .airix-welcome-grid small { margin-top: 10px; color: var(--airix-workspace-muted); font-family: var(--airix-serif); font-size: 14px; line-height: 1.45; }
body.airix-client-authenticated .airix-welcome-grid i { position: absolute; top: 27px; right: 27px; color: var(--airix-v15-terra); }

body.airix-portal .preview-sticky-container {
    color: #28241f !important;
    border-color: #ddd4c7 !important;
    background: #fffdf8 !important;
}
body.airix-portal .preview-sticky-container :is(h3,h4,.invoice-html-number,.estimate-html-number,.proposal-html-number,.contract-html-subject) { color: #28241f !important; }
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s,
body.airix-portal .invoice-html-content,
body.airix-portal .contract-left .panel_s,
body.airix-portal .proposal-left .panel_s { border-color: #ddd4c7 !important; background: #fffdf8 !important; }
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s > .panel-body,
body.airix-portal .invoice-html-content .panel-body,
body.airix-portal .contract-left .panel-body,
body.airix-portal .proposal-left .panel-body { color: #28241f !important; background: #fffdf8 !important; }
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s :is(h1,h2,h3,h4,h5,strong,p,li,td,th,address,span),
body.airix-portal .invoice-html-content :is(h1,h2,h3,h4,h5,strong,p,li,td,th,address,span),
body.airix-portal .contract-left .panel-body :is(h1,h2,h3,h4,h5,strong,p,li,td,th),
body.airix-portal .proposal-left .panel-body :is(h1,h2,h3,h4,h5,strong,p,li,td,th) { color: #28241f !important; }
body.airix-portal .contract-html-tabs,
body.airix-portal .proposal-html-tabs { color: #ddd5ca !important; background: #29251f !important; }
body.airix-portal .contract-html-tabs :is(h1,h2,h3,h4,strong),
body.airix-portal .proposal-html-tabs :is(h1,h2,h3,h4,strong) { color: #fffdf8 !important; }

@media (max-width: 900px) {
    body.airix-client-authenticated .airix-topbar > .container { display: block !important; width: calc(100% - 28px) !important; min-height: 70px !important; }
    body.airix-client-authenticated .airix-topbar .navbar-header { min-height: 70px !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
    body.airix-client-authenticated .airix-topbar .navbar-collapse { display: none !important; }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in { position: fixed !important; z-index: 2000 !important; inset: 0 !important; display: block !important; overflow-y: auto !important; padding: 86px 24px 34px !important; background: #211e1a !important; }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-nav { display: block !important; }
    body.airix-client-authenticated .airix-welcome-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 1.5.0.4 — keep all three mobile header controls in their own lanes. */
@media (max-width: 900px) {
    body.airix-client-authenticated .airix-topbar > .container {
        position: relative !important;
    }

    body.airix-client-authenticated .airix-topbar .navbar-header {
        position: relative !important;
        z-index: 2101 !important;
        width: 100% !important;
        justify-content: center !important;
    }

    body.airix-client-authenticated .airix-topbar .airix-menu-toggle {
        position: absolute !important;
        top: 15px !important;
        left: 0 !important;
        float: none !important;
        margin: 0 !important;
    }

    body.airix-client-authenticated .airix-topbar .airix-brand-cluster {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        margin: 0 auto !important;
    }

    body.airix-client-authenticated .airix-topbar .navbar-brand {
        float: none !important;
        margin: 0 !important;
    }

    body.airix-client-authenticated .airix-topbar .navbar-brand img {
        width: auto !important;
        max-width: 116px !important;
        max-height: 43px !important;
    }

    body.airix-client-authenticated .airix-topbar .airix-brand-context {
        display: none !important;
    }

    body.airix-client-authenticated .airix-topbar .airix-mode-toggle--mobile {
        position: absolute !important;
        z-index: 2102 !important;
        top: 15px !important;
        right: 0 !important;
        margin: 0 !important;
    }
}

/* 1.6.0.0 final cascade lock. */
body.airix-client-authenticated .airix-topbar > .container,
body.airix-client-authenticated .airix-content-container,
body.airix-client-authenticated .airix-alert-container,
body.airix-client-authenticated .airix-footer > .container {
    width: min(1660px, calc(100% - 64px)) !important;
    max-width: none !important;
}
body.airix-client-authenticated .airix-topbar .airix-nav > li.active > a,
body.airix-client-authenticated .airix-topbar .airix-nav > li > a[aria-current="page"] {
    color: #fffdf8 !important;
    background: #342d27 !important;
    box-shadow: inset 0 -3px 0 #c66547 !important;
    -webkit-text-fill-color: #fffdf8 !important;
}
body.airix-client-authenticated .airix-topbar .airix-nav > li.active > a::after,
body.airix-client-authenticated .airix-topbar .airix-nav > li > a[aria-current="page"]::after { display: none !important; }

body.airix-portal .airix-document-toolbar-wrapper,
body.airix-portal .preview-top-wrapper,
body.airix-portal .invoice-html-content,
body.airix-portal .airix-document-reader,
body.airix-portal #proposal-wrapper {
    width: min(1660px, calc(100% - 64px)) !important;
    max-width: none !important;
}
body.airix-portal #proposal-wrapper { margin-right: auto; margin-left: auto; }
body.airix-portal .invoice-html-content .airix-document-paper { position: relative; padding: clamp(42px, 5vw, 82px) !important; }

body.airix-portal :is(.invoice-html-content,.contract-left,.proposal-left,#proposal-wrapper) table > tbody > tr,
body.airix-portal :is(.invoice-html-content,.contract-left,.proposal-left,#proposal-wrapper) table > tbody > tr:nth-of-type(odd),
body.airix-portal :is(.invoice-html-content,.contract-left,.proposal-left,#proposal-wrapper) table > tbody > tr:nth-of-type(even),
body.airix-portal :is(.invoice-html-content,.contract-left,.proposal-left,#proposal-wrapper) table > tbody > tr > td {
    color: #28241f !important;
    border-color: #ddd4c7 !important;
    background: #fffdf8 !important;
    -webkit-text-fill-color: #28241f !important;
}
body.airix-portal :is(.invoice-html-content,.contract-left,.proposal-left,#proposal-wrapper) table > thead > tr > th {
    color: #6f665d !important;
    border-color: #ddd4c7 !important;
    background: #f3ede3 !important;
    -webkit-text-fill-color: #6f665d !important;
}

body.airix-portal :is(.label,.badge,.s-status) {
    display: inline-flex !important;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}
body.airix-portal :is(.label-default,.badge-default) { color: #4f4942 !important; border-color: #cfc6ba !important; background: #e9e3da !important; -webkit-text-fill-color: #4f4942 !important; }
body.airix-portal :is(.label-info,.badge-info,.invoice-status-1,.project-status-2) { color: #214f64 !important; border-color: #9dbbc8 !important; background: #dce9ee !important; -webkit-text-fill-color: #214f64 !important; }
body.airix-portal :is(.label-success,.badge-success,.invoice-status-2) { color: #1d5842 !important; border-color: #96b9a8 !important; background: #dfeee6 !important; -webkit-text-fill-color: #1d5842 !important; }
body.airix-portal :is(.label-warning,.badge-warning,.invoice-status-3) { color: #774616 !important; border-color: #d7b47e !important; background: #f6e8d2 !important; -webkit-text-fill-color: #774616 !important; }
body.airix-portal :is(.label-danger,.badge-danger,.invoice-status-4) { color: #7c302c !important; border-color: #d2a09c !important; background: #f4deda !important; -webkit-text-fill-color: #7c302c !important; }

@media (max-width: 900px) {
    body.airix-client-authenticated .airix-topbar > .container,
    body.airix-client-authenticated .airix-content-container,
    body.airix-client-authenticated .airix-alert-container,
    body.airix-client-authenticated .airix-footer > .container,
    .airix-document-nav,
    body.airix-portal .airix-document-toolbar-wrapper,
    body.airix-portal .preview-top-wrapper,
    body.airix-portal .invoice-html-content,
    body.airix-portal .airix-document-reader,
    body.airix-portal #proposal-wrapper { width: calc(100% - 28px) !important; }
}

.airix-financial-pulse {
    display: grid;
    grid-template-columns: minmax(280px, .75fr) minmax(0, 2fr);
    margin: 34px 0 18px;
    color: #fffdf8;
    border: 1px solid rgba(255,253,248,.15);
    background: #211e1a;
}
.airix-financial-pulse__intro { padding: 38px; border-right: 1px solid rgba(255,253,248,.15); }
.airix-financial-pulse__intro h2 { max-width: 390px; margin: 15px 0 0; color: #fffdf8 !important; font-family: var(--airix-display); font-size: clamp(27px, 2.5vw, 40px); font-weight: 500; line-height: 1.05; -webkit-text-fill-color: #fffdf8 !important; }
.airix-financial-pulse__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.airix-financial-pulse__metrics > a { display: flex; flex-direction: column; min-width: 0; padding: 38px 30px; color: #fffdf8 !important; border-right: 1px solid rgba(255,253,248,.15); text-decoration: none !important; }
.airix-financial-pulse__metrics > a:last-child { border-right: 0; }
.airix-financial-pulse__metrics span { color: #b9afa3 !important; font-family: var(--airix-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.airix-financial-pulse__metrics strong { overflow-wrap: anywhere; margin: 24px 0 18px; color: #fffdf8 !important; font-family: var(--airix-display); font-size: clamp(24px, 2.3vw, 38px); font-weight: 500; line-height: 1.08; }
.airix-financial-pulse__metrics small { margin-top: auto; color: #b9afa3 !important; font-family: var(--airix-serif); font-size: 13px; line-height: 1.45; }

.airix-task-list { border-top: 1px solid var(--airix-workspace-line); }
.airix-task-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto 20px; align-items: center; gap: 18px; min-height: 88px; padding: 14px 6px; color: var(--airix-workspace-text) !important; border-bottom: 1px solid var(--airix-workspace-line); text-decoration: none !important; }
.airix-task-row__state { display: grid; place-items: center; width: 34px; height: 34px; color: #2f6b55 !important; border: 1px solid rgba(47,107,85,.45); }
.airix-task-row__state.is-overdue { color: #a34b42 !important; border-color: rgba(163,75,66,.5); background: rgba(163,75,66,.08); }
.airix-task-row__copy { display: flex; flex-direction: column; min-width: 0; }
.airix-task-row__copy strong { overflow: hidden; color: var(--airix-workspace-text) !important; font-family: var(--airix-ui); font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.airix-task-row__copy small,.airix-task-row time { color: var(--airix-workspace-muted) !important; font-family: var(--airix-mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.airix-task-row time { white-space: nowrap; }
.airix-task-row > i { color: #c66547 !important; }
.airix-empty-state { display: flex; flex-direction: column; gap: 10px; padding: 40px 0; border-top: 1px solid var(--airix-workspace-line); border-bottom: 1px solid var(--airix-workspace-line); }
.airix-empty-state span { color: #2f6b55; font-family: var(--airix-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.airix-empty-state strong { color: var(--airix-workspace-text); font-family: var(--airix-display); font-size: 25px; font-weight: 500; }

@media (max-width: 1100px) {
    .airix-financial-pulse { grid-template-columns: 1fr; }
    .airix-financial-pulse__intro { border-right: 0; border-bottom: 1px solid rgba(255,253,248,.15); }
}
@media (max-width: 760px) {
    .airix-financial-pulse__metrics { grid-template-columns: 1fr; }
    .airix-financial-pulse__metrics > a { border-right: 0; border-bottom: 1px solid rgba(255,253,248,.15); }
    .airix-financial-pulse__metrics > a:last-child { border-bottom: 0; }
    .airix-task-row { grid-template-columns: 34px minmax(0,1fr) 18px; }
    .airix-task-row time { grid-column: 2 / 4; }
}

/* Document paper must outrank the older generic component locks above. */
body.airix-portal .invoice-html-content .col-md-10.col-md-offset-1,
body.airix-portal .preview-top-wrapper + .clearfix + .panel_s .col-md-10.col-md-offset-1 {
    width: 100% !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}
body.airix-portal .invoice-html-content .airix-invoice-hero :is(h1,p,span,strong) {
    color: #fffdf8 !important;
    -webkit-text-fill-color: #fffdf8 !important;
}
body.airix-portal .invoice-html-content .airix-invoice-hero .airix-document-kicker {
    color: #d47858 !important;
    -webkit-text-fill-color: #d47858 !important;
}
body.airix-portal .invoice-html-content .airix-invoice-hero :is(p,.airix-invoice-hero__amount > span) {
    color: #cfc6bb !important;
    -webkit-text-fill-color: #cfc6bb !important;
}
body.airix-portal .invoice-html-content .airix-invoice-hero .airix-invoice-stamp {
    color: #a66b26 !important;
    -webkit-text-fill-color: #a66b26 !important;
}

/* 1.6.1.0 — one document navigation, plus artifact-driven commercial readers. */
.airix-commercial-document-nav {
    position: relative;
    z-index: 1200;
    width: min(100% - 48px, 1840px);
    margin: 24px auto 0;
    color: #f7f2e9;
    border: 1px solid rgba(255,255,255,.11);
    background: #211e1a;
}
.airix-commercial-document-nav__inner {
    display: flex;
    align-items: stretch;
    min-height: 86px;
}
.airix-commercial-document-nav__brand {
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 315px;
    padding: 15px 26px;
    color: #fff !important;
    border-right: 1px solid rgba(255,255,255,.12);
    text-decoration: none !important;
}
.airix-commercial-document-nav__brand img,
.airix-commercial-document-nav__logo img { width: auto !important; max-width: 205px; max-height: 54px; filter: brightness(0) invert(1); }
.airix-commercial-document-nav__brand > span {
    padding-left: 20px;
    color: #d1c8bd !important;
    border-left: 1px solid rgba(255,255,255,.2);
    font-family: var(--airix-mono);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.airix-commercial-document-nav__links {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex: 1;
    min-width: 0;
}
.airix-commercial-document-nav__links > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 84px;
    padding: 0 12px;
    color: #d1c8bd !important;
    font-family: var(--airix-ui) !important;
    font-size: 12.5px !important;
    font-weight: 700;
    text-decoration: none !important;
    -webkit-text-fill-color: #d1c8bd !important;
}
.airix-commercial-document-nav__links > a:first-child { margin-left: 12px; }
.airix-commercial-document-nav__links > a:hover,
.airix-commercial-document-nav__links > a.is-active {
    color: #211e1a !important;
    background: #f5efe5;
    -webkit-text-fill-color: #211e1a !important;
}
.airix-commercial-document-nav__desktop {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    flex: 1;
    min-width: 0;
}
.airix-commercial-document-nav__desktop > a,
.airix-commercial-document-nav__desktop > form > button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    height: 100%;
    min-width: 150px;
    padding: 0 24px;
    color: #d8d0c6 !important;
    border: 0;
    border-left: 1px solid rgba(255,255,255,.1);
    border-radius: 0;
    background: transparent !important;
    font-family: var(--airix-mono);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-decoration: none !important;
    text-transform: uppercase;
    -webkit-text-fill-color: #d8d0c6 !important;
}
.airix-commercial-document-nav__desktop > form { margin: 0; }
.airix-commercial-document-nav__desktop > a:hover,
.airix-commercial-document-nav__desktop > form > button:hover { color: #211e1a !important; background: #f5efe5 !important; -webkit-text-fill-color: #211e1a !important; }
.airix-commercial-document-nav__mode {
    display: grid !important;
    place-items: center;
    flex: 0 0 66px;
    width: 66px;
    color: #f7f2e9 !important;
    border: 0 !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    -webkit-text-fill-color: #f7f2e9 !important;
}
.airix-commercial-document-nav__toggle { display: none; }
.airix-commercial-document-menu { display: none; }
body.airix-document-route .airix-invoice-artifact-grid { margin-top: 22px !important; }

.airix-commercial-document-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) 342px;
    align-items: start;
    gap: 22px;
    width: min(100% - 48px, 1840px);
    margin: 22px auto 72px;
}
.airix-commercial-document-surface {
    position: relative;
    overflow: hidden;
    min-width: 0;
    min-height: 820px;
    color: #29251f !important;
    border: 1px solid #ded6c9;
    background: #fffdf8;
    box-shadow: 0 18px 50px rgba(37,31,24,.08);
}
.airix-commercial-document-hero {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: end;
    gap: 30px;
    padding: 34px 38px 29px;
    border-bottom: 1px solid #ded6c9;
    background: linear-gradient(135deg,#fffdf8,#f6ede0);
}
.airix-commercial-document-kind,
.airix-commercial-document-value > span,
.airix-commercial-document-meta > div > span {
    display: block;
    margin-bottom: 7px;
    color: #c66547 !important;
    font-family: var(--airix-mono) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .14em;
    text-transform: uppercase;
    -webkit-text-fill-color: #c66547 !important;
}
.airix-commercial-document-hero h1 {
    margin: 5px 0 8px !important;
    color: #29251f !important;
    font-family: var(--airix-display) !important;
    font-size: clamp(35px,3.5vw,54px) !important;
    font-weight: 500 !important;
    letter-spacing: -.035em;
    line-height: .98;
    -webkit-text-fill-color: #29251f !important;
}
.airix-commercial-document-hero p { margin: 0; color: #83796e !important; font-family: var(--airix-serif) !important; font-size: 13px !important; -webkit-text-fill-color: #83796e !important; }
.airix-commercial-document-hero p strong { color: #29251f !important; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-document-value { min-width: 210px; text-align: right; }
.airix-commercial-document-value > span { color: #83796e !important; -webkit-text-fill-color: #83796e !important; }
.airix-commercial-document-value > strong { display: block; color: #29251f !important; font-family: var(--airix-display) !important; font-size: clamp(29px,3vw,42px) !important; font-weight: 500 !important; line-height: 1; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-document-stamp {
    position: absolute;
    z-index: 4;
    top: 112px;
    right: 40px;
    min-width: 145px;
    padding: 11px 18px 9px;
    transform: rotate(-7deg);
    color: #a66b26 !important;
    border: 3px solid currentColor;
    background: rgba(255,253,248,.86);
    font-family: var(--airix-mono) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: .16em;
    text-align: center;
    opacity: .48;
    -webkit-text-fill-color: #a66b26 !important;
}
.airix-commercial-document-stamp.is-accepted { color: #2f6b55 !important; -webkit-text-fill-color: #2f6b55 !important; }
.airix-commercial-document-stamp.is-declined { color: #a34b42 !important; -webkit-text-fill-color: #a34b42 !important; }
.airix-commercial-document-stamp.is-expired { color: #66615b !important; -webkit-text-fill-color: #66615b !important; }
.airix-commercial-document-body { padding: 0 38px 38px; }
.airix-commercial-document-meta { display: grid; grid-template-columns: 1.8fr .62fr .62fr; border-top: 1px solid #ded6c9; border-bottom: 1px solid #ded6c9; }
.airix-commercial-document-meta > div { min-width: 0; padding: 18px 18px 18px 0; }
.airix-commercial-document-meta > div + div { padding-left: 18px; border-left: 1px solid #ded6c9; }
.airix-commercial-document-meta > div > span { color: #83796e !important; font-size: 8px !important; -webkit-text-fill-color: #83796e !important; }
.airix-commercial-document-meta > div > :is(div,strong) { overflow-wrap: anywhere; color: #29251f !important; font-family: var(--airix-ui) !important; font-size: 13px !important; line-height: 1.45; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-document-section { padding-top: 34px; }
.airix-commercial-document-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 17px; }
.airix-commercial-document-section-head h2 { margin: 0 !important; color: #29251f !important; font-family: var(--airix-display) !important; font-size: 25px !important; font-weight: 400 !important; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-document-section-head > span { color: #83796e !important; font-family: var(--airix-mono) !important; font-size: 9px !important; letter-spacing: .11em; text-transform: uppercase; -webkit-text-fill-color: #83796e !important; }
.airix-commercial-document-intro { max-width: 760px; margin: -2px 0 20px; color: #83796e !important; font-family: var(--airix-serif) !important; font-size: 13px !important; line-height: 1.55; -webkit-text-fill-color: #83796e !important; }
.airix-commercial-document-items { border-top: 1px solid #29251f; }
.airix-commercial-document-item { display: grid; grid-template-columns: 40px minmax(0,1fr) 70px 96px 104px; align-items: start; gap: 15px; padding: 16px 0; border-bottom: 1px solid #ded6c9; }
.airix-commercial-document-item__number { color: #b7aa9a !important; font-family: var(--airix-display) !important; font-size: 19px !important; -webkit-text-fill-color: #b7aa9a !important; }
.airix-commercial-document-item__copy strong { display: block; margin-bottom: 5px; color: #29251f !important; font-family: var(--airix-ui) !important; font-size: 13.5px !important; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-document-item__copy p { margin: 0; color: #83796e !important; font-family: var(--airix-ui) !important; font-size: 11.5px !important; line-height: 1.5; -webkit-text-fill-color: #83796e !important; }
.airix-commercial-document-item__value { padding-top: 2px; color: #29251f !important; font-family: var(--airix-ui) !important; font-size: 12px !important; text-align: right; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-document-item__value > span { display: block; margin-bottom: 6px; color: #83796e !important; font-family: var(--airix-mono) !important; font-size: 8px !important; letter-spacing: .1em; text-transform: uppercase; -webkit-text-fill-color: #83796e !important; }
.airix-commercial-document-item__value.is-amount { font-weight: 800; }
.airix-commercial-document-closing { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 34px; margin-top: 24px; }
.airix-commercial-document-note,.airix-commercial-document-note * { color: #83796e !important; font-family: var(--airix-ui) !important; font-size: 11.5px !important; line-height: 1.6; -webkit-text-fill-color: #83796e !important; }
.airix-commercial-document-note > strong { color: #29251f !important; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-document-totals { border-top: 1.5px solid #29251f; }
.airix-commercial-document-totals > div { display: flex; justify-content: space-between; gap: 18px; padding: 9px 0; color: #29251f !important; border-bottom: 1px solid #ded6c9; font-family: var(--airix-ui) !important; font-size: 12px !important; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-document-totals > .is-grand { align-items: baseline; padding-top: 13px; border-bottom: 0; font-weight: 800; }
.airix-commercial-document-totals > .is-grand strong { color: #29251f !important; font-family: var(--airix-display) !important; font-size: 22px !important; font-weight: 500 !important; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-document-files { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.airix-commercial-document-files a { padding: 9px 11px; color: #29251f !important; border: 1px solid #d6ccbe; font-family: var(--airix-ui); font-size: 10px; text-decoration: none !important; -webkit-text-fill-color: #29251f !important; }

.airix-commercial-action-panel { position: sticky; top: 98px; padding: 22px; color: #29251f !important; border: 1px solid #d8cfc1; background: #f4eee4; }
.airix-commercial-action-eyebrow { color: #c66547 !important; font-family: var(--airix-mono) !important; font-size: 9px !important; font-weight: 900 !important; letter-spacing: .15em; text-transform: uppercase; -webkit-text-fill-color: #c66547 !important; }
.airix-commercial-action-panel h2 { margin: 8px 0 4px !important; color: #29251f !important; font-family: var(--airix-display) !important; font-size: 23px !important; font-weight: 400 !important; line-height: 1.15; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-action-money { display: block; margin: 18px 0 3px; color: #29251f !important; font-family: var(--airix-display) !important; font-size: 34px !important; font-weight: 500 !important; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-action-panel > p { margin: 0 0 20px; color: #83796e !important; font-family: var(--airix-ui) !important; font-size: 11px !important; -webkit-text-fill-color: #83796e !important; }
.airix-commercial-action-panel form { margin: 0; }
.airix-commercial-action-primary,.airix-commercial-action-secondary,.airix-commercial-action-download { width: 100%; margin-top: 9px; padding: 14px 16px; border-radius: 0; font-family: var(--airix-mono) !important; font-size: 10px !important; font-weight: 900 !important; letter-spacing: .09em; text-transform: uppercase; }
.airix-commercial-action-primary { color: #fff !important; border: 1px solid #2f6b55; background: #2f6b55 !important; -webkit-text-fill-color: #fff !important; }
.airix-commercial-action-secondary,.airix-commercial-action-download { color: #29251f !important; border: 1px solid #bfb5a8; background: transparent !important; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-action-panel hr { margin: 20px 0; border: 0; border-top: 1px solid #d6ccbe; }
.airix-commercial-action-panel dl { display: grid; gap: 11px; margin: 0; }
.airix-commercial-action-panel dl > div { display: flex; justify-content: space-between; gap: 14px; }
.airix-commercial-action-panel dt,.airix-commercial-action-panel dd { margin: 0; color: #29251f !important; font-family: var(--airix-ui) !important; font-size: 11px !important; -webkit-text-fill-color: #29251f !important; }
.airix-commercial-action-panel dt { color: #83796e !important; font-weight: 400; -webkit-text-fill-color: #83796e !important; }
.airix-commercial-action-panel dd { max-width: 62%; text-align: right; }
.airix-commercial-mobile-actions { display: none; }

@media (max-width: 900px) {
    .airix-commercial-document-grid { grid-template-columns: 1fr; width: min(100% - 28px,760px); }
    .airix-commercial-action-panel { position: static; }
}
@media (max-width: 1240px) {
    .airix-commercial-document-nav__links { display: none; }
}
@media (max-width: 760px) {
    body.airix-document-menu-open { overflow: hidden; }
    .airix-commercial-document-nav { width: calc(100% - 28px); margin-top: 14px; }
    .airix-commercial-document-nav__inner { min-height: 68px; }
    .airix-commercial-document-nav__brand { min-width: 0; flex: 1; gap: 12px; padding: 11px 15px; border-right: 0; }
    .airix-commercial-document-nav__brand img,.airix-commercial-document-nav__logo img { max-width: 148px; max-height: 42px; }
    .airix-commercial-document-nav__brand > span { padding-left: 12px; font-size: 8px; }
    .airix-commercial-document-nav__desktop { display: none; }
    .airix-commercial-document-nav__mode { flex-basis: 54px; width: 54px; }
    .airix-commercial-document-nav__toggle { position: relative; z-index: 1302; display: block; flex: 0 0 54px; width: 54px; border: 0; border-left: 1px solid rgba(255,255,255,.12); background: transparent; }
    .airix-commercial-document-nav__toggle span { position: absolute; left: 17px; width: 20px; height: 1px; transform-origin: center !important; background: #fff; transition: transform .2s ease,top .2s ease; }
    .airix-commercial-document-nav__toggle span:first-child { top: 28px; }
    .airix-commercial-document-nav__toggle span:last-child { top: 37px; }
    .airix-commercial-document-nav__toggle[aria-expanded="true"] span:first-child { top: 33px; transform: rotate(45deg); }
    .airix-commercial-document-nav__toggle[aria-expanded="true"] span:last-child { top: 33px; transform: rotate(-45deg); }
    .airix-commercial-document-menu { position: fixed; z-index: 1300; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 0; padding: 110px 28px 42px; visibility: hidden; opacity: 0; background: #211e1a; transition: opacity .2s ease,visibility .2s ease; }
    .airix-commercial-document-menu.is-open { visibility: visible; opacity: 1; }
    .airix-commercial-document-menu__eyebrow { margin-bottom: 24px; color: #c66547; font-family: var(--airix-mono); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
    .airix-commercial-document-menu > a,.airix-commercial-document-menu > form > button { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 19px 0; color: #f6efe5 !important; border: 0; border-bottom: 1px solid rgba(255,255,255,.13); background: transparent; font-family: var(--airix-display); font-size: 27px; font-weight: 400; text-decoration: none !important; -webkit-text-fill-color: #f6efe5 !important; }
    .airix-commercial-document-menu > form { margin: 0; }
    .airix-commercial-document-menu i { color: #c66547 !important; font-size: 14px; }
}
@media (max-width: 600px) {
    .airix-commercial-document-grid { width: 100%; margin: 14px auto 96px; gap: 0; }
    .airix-commercial-document-surface { border-right: 0; border-left: 0; box-shadow: none; }
    .airix-commercial-document-hero { grid-template-columns: 1fr; gap: 24px; padding: 27px 20px 23px; }
    .airix-commercial-document-value { min-width: 0; text-align: left; }
    .airix-commercial-document-stamp { top: 29px; right: 17px; min-width: 100px; padding: 8px 10px 7px; border-width: 2px; font-size: 12px !important; }
    .airix-commercial-document-body { padding: 0 18px 30px; }
    .airix-commercial-document-meta { grid-template-columns: 1fr 1fr; }
    .airix-commercial-document-meta > .is-client { grid-column: 1 / -1; padding-right: 0; border-bottom: 1px solid #ded6c9; }
    .airix-commercial-document-meta > div:nth-child(2) { padding-left: 0; border-left: 0; }
    .airix-commercial-document-section-head { align-items: flex-start; flex-direction: column; }
    .airix-commercial-document-item { grid-template-columns: 28px minmax(0,1fr) auto; gap: 10px; }
    .airix-commercial-document-item__value { display: none; }
    .airix-commercial-document-item__value.is-amount { display: block; min-width: 78px; }
    .airix-commercial-document-closing { grid-template-columns: 1fr; gap: 24px; }
    .airix-commercial-action-rail { padding: 18px; background: #f8f4ec; }
    .airix-commercial-mobile-actions { position: fixed; z-index: 1100; right: 0; bottom: 0; left: 0; display: flex; align-items: center; gap: 8px; padding: 11px 12px calc(11px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.1); background: #211e1a; }
    .airix-commercial-mobile-actions > div { display: grid; flex: 1; }
    .airix-commercial-mobile-actions span { color: #91877a !important; font-family: var(--airix-mono) !important; font-size: 7.5px !important; letter-spacing: .1em; text-transform: uppercase; }
    .airix-commercial-mobile-actions strong { color: #fff !important; font-family: var(--airix-ui) !important; font-size: 13px !important; -webkit-text-fill-color: #fff !important; }
    .airix-commercial-mobile-actions button { padding: 11px 14px; color: #fff !important; border: 1px solid #2f6b55; border-radius: 0; background: #2f6b55; font-family: var(--airix-mono) !important; font-size: 8px !important; font-weight: 900 !important; letter-spacing: .08em; text-transform: uppercase; -webkit-text-fill-color: #fff !important; }
    .airix-commercial-mobile-actions button.is-secondary { color: #d6cdc2 !important; border-color: rgba(255,255,255,.22); background: transparent; -webkit-text-fill-color: #d6cdc2 !important; }
}

/* 1.6.1.1 — artifact type scale and action hierarchy.
 * The supplied artifact uses editorial display type, readable UI copy and
 * compact-but-not-tiny mono captions. Keep this last so older Perfex rules
 * cannot shrink document readers back to CRM defaults.
 */
.airix-commercial-document-nav__brand > span { font-size: 11px; }
.airix-commercial-document-nav__desktop > a,
.airix-commercial-document-nav__desktop > form > button {
    min-width: 168px;
    min-height: 86px;
    padding-inline: 27px;
    font-size: 11.5px;
    letter-spacing: .085em;
}
.airix-commercial-document-nav__desktop i,
.airix-commercial-document-nav__mode i { font-size: 15px; }

.airix-commercial-document-kind,
.airix-commercial-document-value > span,
.airix-commercial-document-meta > div > span,
.airix-commercial-action-eyebrow { font-size: 10.5px !important; }
.airix-commercial-document-hero p,
.airix-commercial-document-intro { font-size: 14.5px !important; }
.airix-commercial-document-meta > div > :is(div,strong) { font-size: 14.5px !important; }
.airix-commercial-document-section-head h2 { font-size: 28px !important; }
.airix-commercial-document-section-head > span { font-size: 10.5px !important; }
.airix-commercial-document-item__copy strong { font-size: 15px !important; }
.airix-commercial-document-item__copy p,
.airix-commercial-document-note,
.airix-commercial-document-note * { font-size: 13px !important; }
.airix-commercial-document-item__value,
.airix-commercial-document-totals > div { font-size: 13.5px !important; }
.airix-commercial-document-item__value > span { font-size: 9.5px !important; }
.airix-commercial-document-totals > .is-grand strong { font-size: 25px !important; }
.airix-commercial-action-eyebrow { line-height: 1.4; }
.airix-commercial-action-panel h2 { font-size: 27px !important; }
.airix-commercial-action-money { font-size: 39px !important; }
.airix-commercial-action-panel > p,
.airix-commercial-action-panel dt,
.airix-commercial-action-panel dd { font-size: 13px !important; line-height: 1.5; }
.airix-commercial-action-primary,
.airix-commercial-action-secondary,
.airix-commercial-action-download {
    min-height: 50px;
    padding: 15px 17px;
    font-size: 11.5px !important;
}

body.airix-document-route .airix-invoice-artifact-label,
body.airix-document-route .airix-invoice-artifact-total > span,
body.airix-document-route .airix-invoice-identity-cell > span,
body.airix-document-route .airix-invoice-artifact-section-head > span,
body.airix-document-route .airix-invoice-payment-panel__eyebrow { font-size: 10.5px !important; }
body.airix-document-route .airix-invoice-artifact-hero p { font-size: 15px !important; }
body.airix-document-route .airix-invoice-identity-cell > div { font-size: 15px !important; }
body.airix-document-route .airix-invoice-identity-cell > div strong { font-size: 16px !important; }
body.airix-document-route .airix-invoice-artifact-section-head h2 { font-size: 28px !important; }
body.airix-document-route .airix-invoice-artifact-item__copy strong { font-size: 15px !important; }
body.airix-document-route .airix-invoice-artifact-item__copy p,
body.airix-document-route .airix-invoice-artifact-terms,
body.airix-document-route .airix-invoice-artifact-terms * { font-size: 13px !important; }
body.airix-document-route .airix-invoice-artifact-item__value,
body.airix-document-route .airix-invoice-artifact-totals > div,
body.airix-document-route .airix-invoice-payment-panel dt,
body.airix-document-route .airix-invoice-payment-panel dd { font-size: 13.5px !important; }
body.airix-document-route .airix-invoice-artifact-item__value > span,
body.airix-document-route .airix-invoice-artifact-signature span { font-size: 9.5px !important; }
body.airix-document-route .airix-invoice-artifact-totals__grand strong { font-size: 25px !important; }
body.airix-document-route .airix-invoice-payment-panel > p,
body.airix-document-route .airix-invoice-payment-panel > small,
body.airix-document-route .airix-invoice-payment-note { font-size: 13px !important; }
body.airix-document-route .airix-invoice-payment-panel__pay,
body.airix-document-route .airix-invoice-payment-panel__download {
    min-height: 50px;
    padding: 15px 17px;
    font-size: 11.5px !important;
}

@media (max-width: 760px) {
    .airix-commercial-document-nav__brand > span { font-size: 9px; }
    .airix-commercial-document-menu__eyebrow { font-size: 10px; }
    .airix-commercial-document-menu > a,
    .airix-commercial-document-menu > form > button { font-size: 30px; }
}
@media (max-width: 600px) {
    .airix-commercial-mobile-actions span { font-size: 9px !important; }
    .airix-commercial-mobile-actions strong { font-size: 14px !important; }
    .airix-commercial-mobile-actions button {
        min-height: 44px;
        font-size: 10px !important;
    }
}

/* 1.6.1.2 — portal-wide semantic status accessibility.
 * Perfex applies a late white-text rule to every dark-mode label. That left
 * pale status chips with white copy and made the visual QA state matrix
 * unreadable. Keep semantic chips paper-light in either workspace theme and
 * raise their mono caption to the artifact's legible scale.
 */
body.airix-portal :is(.label,.badge,.s-status) {
    min-height: 32px;
    padding: 7px 11px !important;
    font-size: 11.5px !important;
    letter-spacing: .07em;
}

html[data-theme="dark"] body.airix-portal :is(.label-default,.badge-default,.invoice-status-5,.project-status-1) {
    color: #4f4942 !important;
    border-color: #cfc6ba !important;
    background: #e9e3da !important;
    -webkit-text-fill-color: #4f4942 !important;
}
html[data-theme="dark"] body.airix-portal :is(.label-info,.badge-info,.invoice-status-1,.project-status-2,.estimate-status-info,.proposal-status-4,.proposal-status-5) {
    color: #214f64 !important;
    border-color: #9dbbc8 !important;
    background: #dce9ee !important;
    -webkit-text-fill-color: #214f64 !important;
}
html[data-theme="dark"] body.airix-portal :is(.label-success,.badge-success,.invoice-status-2,.project-status-4,.estimate-status-success,.proposal-status-3) {
    color: #1d5842 !important;
    border-color: #96b9a8 !important;
    background: #dfeee6 !important;
    -webkit-text-fill-color: #1d5842 !important;
}
html[data-theme="dark"] body.airix-portal :is(.label-warning,.badge-warning,.invoice-status-3,.project-status-3,.estimate-status-warning) {
    color: #774616 !important;
    border-color: #d7b47e !important;
    background: #f6e8d2 !important;
    -webkit-text-fill-color: #774616 !important;
}
html[data-theme="dark"] body.airix-portal :is(.label-danger,.badge-danger,.invoice-status-4,.project-status-5,.estimate-status-danger,.proposal-status-2) {
    color: #7c302c !important;
    border-color: #d2a09c !important;
    background: #f4deda !important;
    -webkit-text-fill-color: #7c302c !important;
}

body.airix-portal :is(.project-status-1,.invoice-status-5) {
    color: #4f4942 !important;
    border-color: #cfc6ba !important;
    background: #e9e3da !important;
    -webkit-text-fill-color: #4f4942 !important;
}
body.airix-portal .project-status-3 {
    color: #774616 !important;
    border-color: #d7b47e !important;
    background: #f6e8d2 !important;
    -webkit-text-fill-color: #774616 !important;
}
body.airix-portal .project-status-4 {
    color: #1d5842 !important;
    border-color: #96b9a8 !important;
    background: #dfeee6 !important;
    -webkit-text-fill-color: #1d5842 !important;
}
body.airix-portal .project-status-5 {
    color: #7c302c !important;
    border-color: #d2a09c !important;
    background: #f4deda !important;
    -webkit-text-fill-color: #7c302c !important;
}

/* 1.6.2.0 — proposal reader, matched to the supplied editorial artifact. */
.airix-proposal-artifact-surface {
    position: relative;
    min-width: 0;
    overflow: visible;
}
.airix-proposal-artifact-cover {
    min-height: 330px;
    padding: 42px 42px 36px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background:
        linear-gradient(135deg,rgba(198,101,71,.05),transparent 42%),
        linear-gradient(160deg,#fffdf8 0%,#f1e8dc 100%);
    border-bottom: 1px solid #ddd4c7;
}
.airix-proposal-artifact-cover__top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    color: #80766b !important;
    font-family: var(--airix-mono) !important;
    font-size: 11px !important;
    letter-spacing: .1em;
    text-transform: uppercase;
    -webkit-text-fill-color: #80766b !important;
}
.airix-proposal-artifact-cover__top > span {
    color: #c66547 !important;
    font-weight: 900;
    letter-spacing: .18em;
    -webkit-text-fill-color: #c66547 !important;
}
.airix-proposal-artifact-cover h1 {
    max-width: 760px;
    margin: 22px 0 14px !important;
    color: #28241f !important;
    font-family: var(--airix-display) !important;
    font-size: clamp(38px,4vw,49px) !important;
    font-weight: 400 !important;
    line-height: 1.03 !important;
    letter-spacing: -.025em;
    -webkit-text-fill-color: #28241f !important;
}
.airix-proposal-artifact-cover > div > p {
    max-width: 660px;
    margin: 0;
    color: #80766b !important;
    font-family: var(--airix-ui) !important;
    font-size: 15px !important;
    line-height: 1.65;
    -webkit-text-fill-color: #80766b !important;
}
.airix-proposal-artifact-cover__meta {
    display: grid;
    grid-template-columns: 1.2fr .7fr .7fr;
    gap: 16px;
    margin-top: 34px;
}
.airix-proposal-artifact-cover__meta > div {
    padding-top: 13px;
    border-top: 1px solid #d5cabb;
}
.airix-proposal-artifact-cover__meta span {
    display: block;
    margin-bottom: 6px;
    color: #80766b !important;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
    -webkit-text-fill-color: #80766b !important;
}
.airix-proposal-artifact-cover__meta strong {
    display: block;
    color: #28241f !important;
    font-family: var(--airix-ui) !important;
    font-size: 14px !important;
    line-height: 1.4;
    -webkit-text-fill-color: #28241f !important;
}
.airix-proposal-artifact-body { padding: 36px 42px 45px; }
.airix-proposal-artifact-section {
    display: grid;
    grid-template-columns: 108px minmax(0,1fr);
    gap: 26px;
    padding: 30px 0;
    border-bottom: 1px solid #ddd4c7;
}
.airix-proposal-artifact-section:first-child { padding-top: 0; }
.airix-proposal-artifact-section__number {
    color: #b5a899 !important;
    font-family: var(--airix-display) !important;
    font-size: 34px !important;
    line-height: 1;
    -webkit-text-fill-color: #b5a899 !important;
}
.airix-proposal-artifact-section__copy h2 {
    margin: 0 0 11px !important;
    color: #28241f !important;
    font-family: var(--airix-display) !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 1.15;
    -webkit-text-fill-color: #28241f !important;
}
.airix-proposal-artifact-section__copy > p,
.airix-proposal-artifact-richtext,
.airix-proposal-artifact-richtext * {
    max-width: 760px;
    color: #80766b !important;
    font-family: var(--airix-ui) !important;
    font-size: 14px !important;
    line-height: 1.72;
    -webkit-text-fill-color: #80766b !important;
}
.airix-proposal-artifact-richtext :is(h1,h2,h3,h4,h5,h6,strong,b) {
    color: #28241f !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-proposal-artifact-deliverables {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 16px;
}
.airix-proposal-artifact-deliverables > div {
    padding: 16px;
    border: 1px solid #ddd4c7;
    background: #faf7f1;
}
.airix-proposal-artifact-deliverables strong {
    display: block;
    margin-bottom: 6px;
    color: #28241f !important;
    font-family: var(--airix-ui) !important;
    font-size: 14px !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-proposal-artifact-deliverables span {
    color: #80766b !important;
    font-family: var(--airix-ui) !important;
    font-size: 13px !important;
    line-height: 1.5;
    -webkit-text-fill-color: #80766b !important;
}
.airix-proposal-artifact-timeline {
    margin-top: 18px;
    border-top: 1px solid #28241f;
}
.airix-proposal-artifact-timeline > div {
    display: grid;
    grid-template-columns: 90px 150px minmax(0,1fr);
    gap: 18px;
    padding: 15px 0;
    border-bottom: 1px solid #ddd4c7;
    align-items: start;
}
.airix-proposal-artifact-timeline span {
    color: #9d8f80 !important;
    font-family: var(--airix-display) !important;
    font-size: 18px !important;
    -webkit-text-fill-color: #9d8f80 !important;
}
.airix-proposal-artifact-timeline strong {
    color: #28241f !important;
    font-family: var(--airix-ui) !important;
    font-size: 14px !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-proposal-artifact-timeline p {
    margin: 0;
    color: #80766b !important;
    font-family: var(--airix-ui) !important;
    font-size: 13px !important;
    line-height: 1.55;
    -webkit-text-fill-color: #80766b !important;
}
.airix-proposal-artifact-signature {
    margin-top: 24px;
    padding: 18px;
    border: 1px solid #cbdacf;
    background: #f3f8f5;
}
.airix-proposal-artifact-signature > span {
    display: block;
    margin-bottom: 12px;
    color: #2f6b55 !important;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    -webkit-text-fill-color: #2f6b55 !important;
}
.airix-proposal-artifact-signature img {
    display: block;
    width: auto;
    max-width: 220px;
    max-height: 92px;
    margin-bottom: 10px;
    object-fit: contain;
    object-position: left center;
}
.airix-proposal-artifact-signature strong,
.airix-proposal-artifact-signature small {
    display: block;
    color: #28241f !important;
    font-family: var(--airix-ui) !important;
    font-size: 13px !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-proposal-artifact-signature small { margin-top: 3px; color: #80766b !important; -webkit-text-fill-color: #80766b !important; }

@media (max-width: 900px) {
    .airix-proposal-artifact-cover { min-height: 0; padding: 30px 22px 26px; }
    .airix-proposal-artifact-cover h1 { margin-top: 18px !important; font-size: 36px !important; }
    .airix-proposal-artifact-cover > div > p { font-size: 14px !important; }
    .airix-proposal-artifact-cover__meta { grid-template-columns: 1fr 1fr; margin-top: 26px; }
    .airix-proposal-artifact-cover__meta > div:first-child { grid-column: 1 / -1; }
    .airix-proposal-artifact-body { padding: 0 22px 34px; }
    .airix-proposal-artifact-section { grid-template-columns: 42px minmax(0,1fr); gap: 14px; padding: 24px 0; }
    .airix-proposal-artifact-section__number { font-size: 24px !important; }
    .airix-proposal-artifact-section__copy h2 { font-size: 25px !important; }
    .airix-proposal-artifact-section__copy > p,
    .airix-proposal-artifact-richtext,
    .airix-proposal-artifact-richtext * { font-size: 13.5px !important; }
    .airix-proposal-artifact-deliverables { grid-template-columns: 1fr; }
    .airix-proposal-artifact-timeline > div { grid-template-columns: 60px minmax(0,1fr); gap: 10px; }
    .airix-proposal-artifact-timeline p { grid-column: 2; }
}
@media (max-width: 520px) {
    .airix-proposal-artifact-cover__meta { grid-template-columns: 1fr; }
    .airix-proposal-artifact-cover__meta > div:first-child { grid-column: auto; }
    .airix-proposal-artifact-section { grid-template-columns: 1fr; }
    .airix-proposal-artifact-section__number { font-size: 19px !important; }
    .airix-proposal-artifact-timeline > div { grid-template-columns: 42px minmax(0,1fr); }
}

/* 1.6.2.0 — contract reader, matched to the supplied legal-document artifact. */
.airix-contract-artifact-surface { position: relative; min-width: 0; overflow: visible; }
.airix-contract-artifact-cover {
    padding: 38px 42px 30px;
    background: linear-gradient(145deg,#fffdf8,#f3e9dd);
    border-bottom: 1px solid #ddd4c7;
}
.airix-contract-artifact-cover__top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    color: #80766b !important;
    font-family: var(--airix-mono) !important;
    font-size: 11px !important;
    letter-spacing: .1em;
    text-transform: uppercase;
    -webkit-text-fill-color: #80766b !important;
}
.airix-contract-artifact-cover__top > span {
    color: #c66547 !important;
    font-weight: 900;
    letter-spacing: .18em;
    -webkit-text-fill-color: #c66547 !important;
}
.airix-contract-artifact-cover h1 {
    max-width: 760px;
    margin: 20px 0 12px !important;
    color: #28241f !important;
    font-family: var(--airix-display) !important;
    font-size: clamp(38px,4vw,47px) !important;
    font-weight: 400 !important;
    line-height: 1.04 !important;
    letter-spacing: -.02em;
    -webkit-text-fill-color: #28241f !important;
}
.airix-contract-artifact-cover > div > p {
    max-width: 710px;
    margin: 0;
    color: #80766b !important;
    font-family: var(--airix-ui) !important;
    font-size: 14.5px !important;
    line-height: 1.65;
    -webkit-text-fill-color: #80766b !important;
}
.airix-contract-artifact-cover__meta {
    display: grid;
    grid-template-columns: 1.2fr .65fr .65fr .65fr;
    gap: 14px;
    margin-top: 28px;
}
.airix-contract-artifact-cover__meta > div { padding-top: 12px; border-top: 1px solid #d4c9bb; }
.airix-contract-artifact-cover__meta span {
    display: block;
    margin-bottom: 6px;
    color: #80766b !important;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
    -webkit-text-fill-color: #80766b !important;
}
.airix-contract-artifact-cover__meta strong {
    display: block;
    color: #28241f !important;
    font-family: var(--airix-ui) !important;
    font-size: 13.5px !important;
    line-height: 1.4;
    -webkit-text-fill-color: #28241f !important;
}
.airix-contract-artifact-body { padding: 34px 42px 46px; }
.airix-contract-artifact-clause {
    display: grid;
    grid-template-columns: 84px minmax(0,1fr);
    gap: 22px;
    padding: 27px 0;
    border-bottom: 1px solid #ddd4c7;
}
.airix-contract-artifact-clause:first-child { padding-top: 0; }
.airix-contract-artifact-clause__number {
    color: #b4a797 !important;
    font-family: var(--airix-display) !important;
    font-size: 29px !important;
    line-height: 1;
    -webkit-text-fill-color: #b4a797 !important;
}
.airix-contract-artifact-clause__copy h2 {
    margin: 0 0 10px !important;
    color: #28241f !important;
    font-family: var(--airix-display) !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1.15;
    -webkit-text-fill-color: #28241f !important;
}
.airix-contract-artifact-clause__copy > p,
.airix-contract-artifact-richtext,
.airix-contract-artifact-richtext * {
    max-width: 780px;
    color: #80766b !important;
    font-family: var(--airix-ui) !important;
    font-size: 13.5px !important;
    line-height: 1.72;
    -webkit-text-fill-color: #80766b !important;
}
.airix-contract-artifact-richtext :is(h1,h2,h3,h4,h5,h6,strong,b),
.airix-contract-artifact-richtext td {
    color: #28241f !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-contract-artifact-richtext img { max-width: 100%; height: auto; }
.airix-contract-artifact-definitions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 16px;
}
.airix-contract-artifact-definitions > div {
    padding: 15px;
    border: 1px solid #ddd4c7;
    background: #faf7f1;
}
.airix-contract-artifact-definitions strong {
    display: block;
    margin-bottom: 5px;
    color: #28241f !important;
    font-family: var(--airix-ui) !important;
    font-size: 13.5px !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-contract-artifact-definitions span {
    color: #80766b !important;
    font-family: var(--airix-ui) !important;
    font-size: 12.5px !important;
    line-height: 1.5;
    -webkit-text-fill-color: #80766b !important;
}
.airix-contract-artifact-scope { margin-top: 16px; border-top: 1px solid #28241f; }
.airix-contract-artifact-scope > div {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr) 180px;
    gap: 15px;
    padding: 14px 0;
    border-bottom: 1px solid #ddd4c7;
    align-items: start;
}
.airix-contract-artifact-scope > div > span {
    color: #a89b8d !important;
    font-family: var(--airix-display) !important;
    font-size: 18px !important;
    -webkit-text-fill-color: #a89b8d !important;
}
.airix-contract-artifact-scope strong,
.airix-contract-artifact-scope b {
    display: block;
    color: #28241f !important;
    font-family: var(--airix-ui) !important;
    font-size: 13.5px !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-contract-artifact-scope small {
    display: block;
    margin-top: 4px;
    color: #80766b !important;
    font-family: var(--airix-ui) !important;
    font-size: 12.5px !important;
    line-height: 1.45;
    -webkit-text-fill-color: #80766b !important;
}
.airix-contract-artifact-scope b { text-align: right; line-height: 1.5; }
.airix-contract-artifact-signature {
    margin-top: 22px;
    padding: 18px;
    border: 1px solid #cbdacf;
    background: #f3f8f5;
}
.airix-contract-artifact-signature > span {
    display: block;
    margin-bottom: 11px;
    color: #2f6b55 !important;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
    -webkit-text-fill-color: #2f6b55 !important;
}
.airix-contract-artifact-signature img {
    display: block;
    width: auto;
    max-width: 230px;
    max-height: 95px;
    margin: 0 0 14px;
    object-fit: contain;
    object-position: left center;
}
.airix-contract-artifact-signature__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.airix-contract-artifact-signature__grid small {
    display: block;
    margin-bottom: 4px;
    color: #80766b !important;
    font-family: var(--airix-mono) !important;
    font-size: 9px !important;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
    -webkit-text-fill-color: #80766b !important;
}
.airix-contract-artifact-signature__grid strong {
    color: #28241f !important;
    font-family: var(--airix-ui) !important;
    font-size: 12.5px !important;
    line-height: 1.5;
    overflow-wrap: anywhere;
    -webkit-text-fill-color: #28241f !important;
}
.airix-commercial-document-stamp.is-expiring {
    color: #9d6a2b !important;
    border-color: currentColor;
    background: #f7eedf;
    -webkit-text-fill-color: #9d6a2b !important;
}

@media (max-width: 900px) {
    .airix-contract-artifact-cover { padding: 30px 22px 26px; }
    .airix-contract-artifact-cover h1 { font-size: 36px !important; }
    .airix-contract-artifact-cover > div > p { font-size: 14px !important; }
    .airix-contract-artifact-cover__meta { grid-template-columns: 1fr 1fr; }
    .airix-contract-artifact-cover__meta > div:first-child { grid-column: 1 / -1; }
    .airix-contract-artifact-body { padding: 0 22px 34px; }
    .airix-contract-artifact-clause { grid-template-columns: 42px minmax(0,1fr); gap: 13px; padding: 23px 0; }
    .airix-contract-artifact-clause__number { font-size: 23px !important; }
    .airix-contract-artifact-clause__copy h2 { font-size: 24px !important; }
    .airix-contract-artifact-clause__copy > p,
    .airix-contract-artifact-richtext,
    .airix-contract-artifact-richtext * { font-size: 13px !important; }
    .airix-contract-artifact-definitions { grid-template-columns: 1fr; }
    .airix-contract-artifact-scope > div { grid-template-columns: 34px minmax(0,1fr) auto; }
    .airix-contract-artifact-signature__grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .airix-contract-artifact-cover__meta { grid-template-columns: 1fr; }
    .airix-contract-artifact-cover__meta > div:first-child { grid-column: auto; }
    .airix-contract-artifact-clause { grid-template-columns: 1fr; }
    .airix-contract-artifact-clause__number { font-size: 19px !important; }
    .airix-contract-artifact-scope > div { grid-template-columns: 30px minmax(0,1fr); }
    .airix-contract-artifact-scope b { grid-column: 2; text-align: left; }
}

/* Shared proposal/contract review rail. */
.airix-commercial-tabbed-panel { padding: 0; overflow: hidden; }
.airix-commercial-rail-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid #d6ccbe;
}
.airix-commercial-rail-tabs button {
    min-height: 48px;
    padding: 12px 8px;
    color: #8a8074 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .1em;
    text-transform: uppercase;
    -webkit-text-fill-color: #8a8074 !important;
}
.airix-commercial-rail-tabs button.is-active {
    color: #28241f !important;
    background: #fffaf3;
    -webkit-text-fill-color: #28241f !important;
}
.airix-commercial-rail-panel { display: none; padding: 24px; }
.airix-commercial-rail-panel.is-active { display: block; }
.airix-commercial-rail-panel > p,
.airix-commercial-comment-intro {
    margin: 0 0 18px;
    color: #80766b !important;
    font-family: var(--airix-ui) !important;
    font-size: 13px !important;
    line-height: 1.55;
    -webkit-text-fill-color: #80766b !important;
}
.airix-commercial-comment {
    padding: 14px 0;
    border-bottom: 1px solid #d6ccbe;
}
.airix-commercial-comment > strong {
    color: #28241f !important;
    font-family: var(--airix-ui) !important;
    font-size: 13px !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-commercial-comment > small {
    margin-left: 5px;
    color: #80766b !important;
    font-family: var(--airix-ui) !important;
    font-size: 11px !important;
    -webkit-text-fill-color: #80766b !important;
}
.airix-commercial-comment > div,
.airix-commercial-comment > div * {
    margin: 7px 0 0;
    color: #665e55 !important;
    font-family: var(--airix-ui) !important;
    font-size: 12.5px !important;
    line-height: 1.55;
    -webkit-text-fill-color: #665e55 !important;
}
.airix-commercial-comment-box {
    width: 100%;
    min-height: 100px;
    margin-top: 15px;
    padding: 12px;
    color: #28241f !important;
    border: 1px solid #bdb2a4;
    border-radius: 0;
    background: #fffdf8 !important;
    font-family: var(--airix-ui) !important;
    font-size: 13px !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-commercial-comment-submit {
    width: 100%;
    min-height: 46px;
    margin-top: 8px;
    padding: 12px 14px;
    color: #fff !important;
    border: 0;
    border-radius: 0;
    background: #c66547 !important;
    font-family: var(--airix-mono) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .09em;
    text-transform: uppercase;
    -webkit-text-fill-color: #fff !important;
}

/* The portal entrance animation leaves an identity transform on the shared
 * container. Identity transforms still create a containing block for fixed
 * children, so the full-screen document menu was incorrectly as tall as the
 * document and its links opened below the viewport. */
body.airix-document-route .airix-content-container { transform: none !important; }

/* ========================================================================
   Artifact fidelity pass · navigation, documents, projects, auth and mobile
   ======================================================================== */

/* Header: brand left, primary navigation centred, account actions right. */
@media (min-width: 1280px) {
    body.airix-client-authenticated .airix-topbar__inner {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: stretch !important;
        width: min(1680px, calc(100% - clamp(32px, 5vw, 96px))) !important;
        min-height: 78px !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-header {
        grid-column: 1 !important;
        display: flex !important;
        align-items: stretch !important;
        min-width: 290px !important;
        margin: 0 !important;
        padding-right: 28px !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-collapse {
        grid-column: 2 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: stretch !important;
        min-width: 0 !important;
    }
    body.airix-client-authenticated .airix-nav-primary {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: stretch !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    body.airix-client-authenticated .airix-nav-utilities {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: stretch !important;
        margin: 0 !important;
        border-left: 1px solid rgba(255, 255, 255, .14);
    }
}
body.airix-client-authenticated .airix-topbar .airix-nav > li > a,
body.airix-client-authenticated .airix-topbar .airix-nav > li > button {
    color: #d8d0c5 !important;
    -webkit-text-fill-color: #d8d0c5 !important;
}
body.airix-client-authenticated .airix-topbar .airix-nav > li.active > a,
body.airix-client-authenticated .airix-topbar .airix-nav > li > a[aria-current="page"] {
    color: #fffdf8 !important;
    background: #3a3029 !important;
    box-shadow: inset 0 -4px 0 #d47858 !important;
    -webkit-text-fill-color: #fffdf8 !important;
}
html[data-theme="dark"] body.airix-client-authenticated .airix-topbar .airix-nav > li.active > a,
html[data-theme="dark"] body.airix-client-authenticated .airix-topbar .airix-nav > li > a[aria-current="page"] {
    color: #fffdf8 !important;
    background: #342c26 !important;
    -webkit-text-fill-color: #fffdf8 !important;
}

/* Announcement history behaves like notifications, never like a global banner. */
body.airix-client-authenticated .airix-notification-menu {
    right: 0 !important;
    left: auto !important;
    width: min(390px, calc(100vw - 28px)) !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #d6ccbe !important;
    border-radius: 0 !important;
    background: #fffaf3 !important;
    box-shadow: 0 28px 70px rgba(38, 31, 24, .2) !important;
}
.airix-notification-menu__head,
.airix-notification-menu__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    border-bottom: 1px solid #ded5c8;
}
.airix-notification-menu__head span {
    color: #28241f !important;
    font-family: var(--airix-display) !important;
    font-size: 19px !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-notification-menu__head small {
    color: #c76547 !important;
    font-family: var(--airix-mono) !important;
    font-size: 9px !important;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    -webkit-text-fill-color: #c76547 !important;
}
.airix-notification-menu__item { position: relative; border-bottom: 1px solid #e5ddd2; }
body.airix-client-authenticated .airix-notification-menu__item > a:first-child {
    display: grid !important;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 12px;
    min-height: 74px;
    padding: 15px 48px 15px 18px !important;
    white-space: normal !important;
}
.airix-notification-menu__marker { width: 7px; height: 7px; margin-top: 5px; background: #c76547; }
.airix-notification-menu__item strong,
.airix-notification-menu__item small { display: block; }
.airix-notification-menu__item strong { color: #28241f !important; font-size: 13px !important; line-height: 1.35; -webkit-text-fill-color: #28241f !important; }
.airix-notification-menu__item small { margin-top: 5px; color: #80766b !important; font-size: 10px !important; -webkit-text-fill-color: #80766b !important; }
body.airix-client-authenticated .airix-notification-menu__dismiss {
    position: absolute !important;
    top: 50%;
    right: 12px;
    width: 32px !important;
    min-height: 32px !important;
    padding: 7px !important;
    transform: translateY(-50%);
    color: #80766b !important;
    text-align: center;
}
.airix-notification-menu__empty { display: grid; place-items: center; gap: 8px; min-height: 130px; padding: 22px; color: #80766b; }
.airix-notification-menu__footer { justify-content: center; border: 0; }
.airix-notification-menu__footer > a { color: #c76547 !important; font-family: var(--airix-mono) !important; font-size: 10px !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; -webkit-text-fill-color: #c76547 !important; }
html[data-theme="dark"] body.airix-client-authenticated .airix-notification-menu { border-color: #5b5248 !important; background: #28241f !important; }
html[data-theme="dark"] .airix-notification-menu__head,
html[data-theme="dark"] .airix-notification-menu__footer,
html[data-theme="dark"] .airix-notification-menu__item { border-color: #4c453d; }
html[data-theme="dark"] .airix-notification-menu__head span,
html[data-theme="dark"] .airix-notification-menu__item strong { color: #fffdf8 !important; -webkit-text-fill-color: #fffdf8 !important; }
html[data-theme="dark"] .airix-notification-menu__item small,
html[data-theme="dark"] .airix-notification-menu__empty { color: #c4baae !important; -webkit-text-fill-color: #c4baae !important; }

/* Invoice artifact: two-column reading surface with a sticky decision rail. */
.airix-invoice-artifact-grid { grid-template-columns: minmax(0, 1fr) minmax(310px, 360px) !important; gap: clamp(18px, 2vw, 32px) !important; width: min(1720px, calc(100vw - clamp(30px, 6vw, 110px))) !important; max-width: none !important; }
.airix-invoice-payment-rail { position: sticky !important; top: 102px !important; align-self: start; }
.airix-invoice-artifact-content { padding: clamp(28px, 4vw, 58px) !important; }
.airix-invoice-artifact-hero h1 { font-size: clamp(42px, 4.5vw, 72px) !important; line-height: .98 !important; }
.airix-invoice-artifact-section h2 { font-size: clamp(27px, 2.4vw, 40px) !important; }
.airix-invoice-artifact-item__copy strong { font-size: 15px !important; }
.airix-invoice-artifact-item__copy p,
.airix-invoice-artifact-terms,
.airix-invoice-artifact-terms p { font-size: 13px !important; line-height: 1.65 !important; }
.airix-invoice-artifact-extras { padding: 24px 0 !important; border-top: 1px solid #ded5c8; }
.airix-invoice-artifact-extras h3 { margin: 0 0 14px !important; color: #28241f !important; font-family: var(--airix-display) !important; font-size: 24px !important; -webkit-text-fill-color: #28241f !important; }
.airix-invoice-artifact-extras > a {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    margin: 0 8px 8px 0;
    padding: 12px 16px;
    color: #28241f !important;
    border: 1px solid #cbbfb0;
    background: #fffaf3;
    font-size: 13px !important;
    -webkit-text-fill-color: #28241f !important;
}
.airix-invoice-mobile-paybar { display: none; }

/* Project library and project workspace. */
.airix-project-summary { margin: 0 0 44px; }
.airix-project-summary > h2 { margin: 0 0 16px; color: var(--airix-workspace-text) !important; font-family: var(--airix-display) !important; font-size: 27px !important; font-weight: 500 !important; -webkit-text-fill-color: var(--airix-workspace-text) !important; }
.airix-project-summary__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--airix-workspace-line); border-bottom: 1px solid var(--airix-workspace-line); }
.airix-project-summary__card { min-height: 150px; padding: 34px 28px; color: var(--airix-workspace-text) !important; border-right: 1px solid var(--airix-workspace-line); background: transparent; text-decoration: none !important; -webkit-text-fill-color: var(--airix-workspace-text) !important; }
.airix-project-summary__card:last-child { border-right: 0; }
.airix-project-summary__card:hover,
.airix-project-summary__card.is-active { background: var(--airix-workspace-subtle); }
.airix-project-summary__card dt { color: var(--airix-workspace-muted) !important; font-family: var(--airix-mono) !important; font-size: 10px !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; -webkit-text-fill-color: var(--airix-workspace-muted) !important; }
.airix-project-summary__card dd { margin: 16px 0 0; color: var(--airix-workspace-text) !important; font-family: var(--airix-display) !important; font-size: 32px !important; font-variant-numeric: tabular-nums; -webkit-text-fill-color: var(--airix-workspace-text) !important; }
.airix-project-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin: 24px 0 22px; padding-bottom: 22px; border-bottom: 1px solid var(--airix-workspace-line); }
.airix-project-header__title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.airix-project-header .section-heading-project { margin: 0 !important; color: var(--airix-workspace-text) !important; font-family: var(--airix-display) !important; font-size: clamp(38px, 4.2vw, 66px) !important; font-weight: 500 !important; line-height: 1 !important; letter-spacing: -.035em; -webkit-text-fill-color: var(--airix-workspace-text) !important; }
.airix-project-header__caption { margin: 10px 0 0; color: var(--airix-workspace-muted) !important; font-size: 14px !important; -webkit-text-fill-color: var(--airix-workspace-muted) !important; }
.airix-project-state { padding: 9px 12px !important; color: #1f4050 !important; border: 1px solid #8aa9b8 !important; border-radius: 0 !important; background: #dbe9ef !important; font-family: var(--airix-mono) !important; font-size: 9px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; -webkit-text-fill-color: #1f4050 !important; }
.airix-project-shell,
.airix-project-shell__body { overflow: visible !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.airix-project-shell__body { padding: 0 !important; }
.airix-project-shell .horizontal-scrollable-tabs { position: sticky; z-index: 60; top: 78px; margin: 0 0 28px !important; overflow: hidden !important; border: 1px solid var(--airix-workspace-line); background: var(--airix-workspace-surface) !important; }
.airix-project-shell .horizontal-scrollable-tabs .horizontal-tabs { overflow-x: auto !important; overflow-y: hidden !important; scrollbar-width: thin; }
.airix-project-shell .horizontal-scrollable-tabs .nav-tabs { display: flex !important; min-width: max-content; height: auto !important; margin: 0 !important; border: 0 !important; }
.airix-project-shell .horizontal-scrollable-tabs .nav-tabs > li { float: none !important; }
.airix-project-shell .horizontal-scrollable-tabs .nav-tabs > li > a { display: flex !important; align-items: center; gap: 8px; min-height: 58px; margin: 0 !important; padding: 0 18px !important; color: var(--airix-workspace-muted) !important; border: 0 !important; border-bottom: 3px solid transparent !important; border-radius: 0 !important; background: transparent !important; font-family: var(--airix-mono) !important; font-size: 10px !important; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; -webkit-text-fill-color: var(--airix-workspace-muted) !important; }
.airix-project-shell .horizontal-scrollable-tabs .nav-tabs > li.active > a,
.airix-project-shell .horizontal-scrollable-tabs .nav-tabs > li > a:hover { color: var(--airix-workspace-text) !important; border-bottom-color: #c76547 !important; background: var(--airix-workspace-subtle) !important; -webkit-text-fill-color: var(--airix-workspace-text) !important; }
.airix-project-overview { font-size: 15px !important; }
.airix-project-overview__facts { position: sticky; top: 162px; align-self: start; padding: 28px !important; border: 1px solid var(--airix-workspace-line); background: var(--airix-workspace-surface); }
.airix-project-overview__facts h4,
.airix-project-overview__progress h4 { color: var(--airix-workspace-text) !important; font-family: var(--airix-display) !important; font-size: 25px !important; -webkit-text-fill-color: var(--airix-workspace-text) !important; }
.airix-project-overview__facts .tw-flex { display: grid !important; grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr); gap: 20px !important; margin: 0; padding: 10px 0; border-bottom: 1px solid var(--airix-workspace-line); }
.airix-project-overview__facts p { margin: 0 !important; color: var(--airix-workspace-text) !important; font-size: 14px !important; line-height: 1.45 !important; -webkit-text-fill-color: var(--airix-workspace-text) !important; }
.airix-project-overview__facts p.bold { color: var(--airix-workspace-muted) !important; font-family: var(--airix-mono) !important; font-size: 9px !important; letter-spacing: .08em; text-transform: uppercase; -webkit-text-fill-color: var(--airix-workspace-muted) !important; }
.airix-project-overview__progress { padding-left: 28px !important; }
.airix-project-overview__progress > div,
.airix-project-overview__progress .tw-rounded-md { margin-bottom: 14px !important; padding: 20px !important; color: var(--airix-workspace-text) !important; border: 1px solid var(--airix-workspace-line) !important; border-radius: 0 !important; background: var(--airix-workspace-surface) !important; -webkit-text-fill-color: var(--airix-workspace-text) !important; }
.airix-project-overview__progress p,
.airix-project-overview__progress i { color: var(--airix-workspace-text) !important; font-size: 14px !important; -webkit-text-fill-color: var(--airix-workspace-text) !important; }
.airix-project-finance { margin-top: 28px; padding: 24px !important; border: 1px solid var(--airix-workspace-line); background: var(--airix-workspace-surface); }
.airix-project-finance .row > [class*="col-md-3"] { min-height: 92px; padding: 18px !important; border-right: 1px solid var(--airix-workspace-line); }
.airix-project-finance .row > [class*="col-md-3"]:last-child { border-right: 0; }
.airix-project-finance p { color: var(--airix-workspace-text) !important; font-size: 14px !important; -webkit-text-fill-color: var(--airix-workspace-text) !important; }

/* Semantic labels keep their contrast in both themes. */
html[data-theme="dark"] body.airix-portal :is(.label-success,.label-primary,.label-info,.label-warning,.label-danger,.label-default) { color: #fff !important; -webkit-text-fill-color: #fff !important; }
html[data-theme="dark"] body.airix-portal .label-success { background: #2f6b55 !important; border-color: #80a68f !important; }
html[data-theme="dark"] body.airix-portal .label-info,
html[data-theme="dark"] body.airix-portal .label-primary { background: #31566a !important; border-color: #88a7b7 !important; }
html[data-theme="dark"] body.airix-portal .label-warning { background: #795626 !important; border-color: #c59a5b !important; }
html[data-theme="dark"] body.airix-portal .label-danger { background: #773f39 !important; border-color: #c77a70 !important; }
html[data-theme="dark"] body.airix-portal .label-default { background: #5d554c !important; border-color: #a59a8d !important; }

/* Authentication routes keep controls accessible while giving the form more room. */
.airix-auth-mode-toggle {
    /* !important on position/top/right: something in the vendor CSS
       (bootstrap/tailwind/style.min.css) resets this to position:relative
       with higher effective priority -- confirmed live via getComputedStyle,
       root rule never isolated. Forcing wins cleanly without hunting through
       vendor stylesheets for the exact conflicting selector. */
    position: fixed !important;
    z-index: 120;
    top: 20px !important;
    right: 22px !important;
    left: auto !important;
    bottom: auto !important;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #fffdf8 !important;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 0;
    background: rgba(21, 27, 25, .76);
    backdrop-filter: blur(12px);
    -webkit-text-fill-color: #fffdf8 !important;
}
.airix-auth-mode-toggle i { color: inherit !important; font-size: 17px !important; -webkit-text-fill-color: currentColor !important; }
@media (min-width: 992px) {
    body.customers_login { height: 100dvh !important; overflow: hidden !important; }
    body.customers_login #wrapper,
    body.customers_login .airix-page-content,
    body.customers_login .airix-content-container,
    body.customers_login .airix-content-container > .row { height: 100dvh !important; min-height: 0 !important; overflow: hidden !important; }
    body.customers_login .airix-auth-page { grid-template-columns: minmax(360px, 40%) minmax(0, 60%) !important; }
    body.customers_login .airix-auth-page { height: 100dvh !important; min-height: 0 !important; overflow: hidden !important; }
    body.customers_login .airix-auth-intro { position: sticky; top: 0; height: 100dvh !important; min-height: 0 !important; overflow: hidden !important; }
    body.customers_login .airix-auth-form { display: block !important; height: 100dvh !important; min-height: 0 !important; overflow-x: hidden !important; overflow-y: auto !important; }
    body.customers_login .airix-auth-form__inner { width: min(760px, calc(100% - 80px)) !important; max-width: 760px !important; min-height: 100%; margin: 0 auto !important; padding-top: clamp(56px, 8vh, 88px) !important; padding-bottom: 72px !important; }
    body.airix-portal.register .airix-register-page { grid-template-columns: minmax(360px, 38%) minmax(0, 62%) !important; }
    body.airix-portal.register { height: 100dvh !important; overflow: hidden !important; }
    body.airix-portal.register .airix-register-page { height: 100dvh !important; min-height: 0 !important; overflow: hidden !important; }
    body.airix-portal.register .airix-register-intro { position: sticky; top: 0; height: 100dvh !important; overflow: hidden !important; }
    body.airix-portal.register .airix-register-form-shell { height: 100dvh !important; overflow-x: hidden !important; overflow-y: auto !important; }
}

/* Mobile composition is purpose-built: scrollable tabs and one bottom action row. */
@media (max-width: 991px) {
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-nav-primary,
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-nav-utilities { display: block !important; width: 100% !important; border: 0 !important; }
    body.airix-client-authenticated .airix-notification-menu { position: static !important; width: 100% !important; margin: 0 !important; box-shadow: none !important; }
    .airix-project-summary__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow-x: visible; }
    .airix-project-summary__card { min-height: 118px; padding: 24px 18px; border-bottom: 1px solid var(--airix-workspace-line); }
    .airix-project-summary__card:nth-child(2n) { border-right: 0; }
    .airix-project-header { align-items: flex-start; flex-direction: column; }
    .airix-project-header .section-heading-project { font-size: clamp(34px, 10vw, 48px) !important; }
    .airix-project-header .new-task { width: 100%; }
    .airix-project-shell .horizontal-scrollable-tabs { top: 70px; margin-right: -14px !important; margin-left: -14px !important; }
    .airix-project-shell .horizontal-scrollable-tabs .nav-tabs > li > a { min-height: 52px; padding: 0 15px !important; }
    .airix-project-overview__facts { position: static; padding: 20px !important; }
    .airix-project-overview__progress { padding: 18px 0 0 !important; }
    .airix-project-finance .row > [class*="col-md-3"] { border-right: 0; border-bottom: 1px solid var(--airix-workspace-line); }
    .airix-utility-nav { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px !important; }
    .airix-utility-nav__label { margin: 0 !important; }
    .airix-utility-nav .submenu { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; width: auto !important; margin: 0 !important; }
    .airix-utility-nav .submenu > li > a { display: grid !important; place-items: center; width: 48px !important; min-width: 48px !important; height: 48px !important; padding: 0 !important; }
    .airix-utility-nav .submenu > li > a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
    .airix-utility-nav .submenu svg { width: 21px !important; height: 21px !important; margin: 0 !important; }
    .airix-invoice-artifact-grid { display: block !important; width: calc(100vw - 24px) !important; }
    .airix-invoice-payment-rail { position: static !important; margin-top: 16px; }
    .airix-invoice-payment-panel__pay,
    .airix-invoice-payment-panel__download { display: none !important; }
    .airix-invoice-artifact-content { padding: 24px 18px 110px !important; }
    .airix-invoice-artifact-hero { display: block !important; padding: 26px 18px !important; }
    .airix-invoice-artifact-total { margin-top: 22px; text-align: left !important; }
    .airix-invoice-identity-row { grid-template-columns: 1fr !important; }
    .airix-invoice-identity-cell { border-right: 0 !important; border-bottom: 1px solid #ded5c8; }
    .airix-invoice-artifact-item { grid-template-columns: 38px minmax(0, 1fr) !important; row-gap: 14px; }
    .airix-invoice-artifact-item__value { text-align: left !important; }
    .airix-invoice-artifact-bottom { grid-template-columns: 1fr !important; }
    .airix-invoice-mobile-paybar {
        position: fixed;
        z-index: 150;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 72px;
        padding: 10px 14px max(10px, env(safe-area-inset-bottom));
        color: #fffdf8;
        border-top: 1px solid rgba(255, 255, 255, .14);
        background: #211e1a;
        box-shadow: 0 -18px 44px rgba(22, 18, 14, .24);
    }
    .airix-invoice-mobile-paybar > div:first-child span,
    .airix-invoice-mobile-paybar > div:first-child strong { display: block; color: #fffdf8 !important; -webkit-text-fill-color: #fffdf8 !important; }
    .airix-invoice-mobile-paybar > div:first-child span { color: #bdb2a5 !important; font-family: var(--airix-mono) !important; font-size: 8px !important; letter-spacing: .08em; text-transform: uppercase; -webkit-text-fill-color: #bdb2a5 !important; }
    .airix-invoice-mobile-paybar > div:first-child strong { margin-top: 3px; font-family: var(--airix-display) !important; font-size: 18px !important; }
    .airix-invoice-mobile-paybar__actions { display: flex; gap: 8px; }
    .airix-invoice-mobile-paybar__actions button { min-height: 48px; padding: 0 17px; border-radius: 0; font-family: var(--airix-mono) !important; font-size: 9px !important; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
    .airix-invoice-mobile-paybar__download { color: #fffdf8; border: 1px solid rgba(255,255,255,.3); background: transparent; }
    .airix-invoice-mobile-paybar__pay { color: #fff; border: 1px solid #c76547; background: #c76547; }
    body.customers_login .airix-auth-page { display: block !important; }
    body.customers_login .airix-auth-intro { min-height: auto !important; }
    body.customers_login .airix-auth-intro__inner { min-height: 42dvh !important; padding: 30px 22px !important; }
    body.customers_login .airix-auth-story h1 { font-size: clamp(38px, 11vw, 58px) !important; }
    body.customers_login .airix-auth-form__inner { width: 100% !important; max-width: none !important; padding: 42px 22px 112px !important; }
    .airix-auth-mode-toggle { top: 12px !important; right: 12px !important; width: 44px; height: 44px; }
}

@media (min-width: 901px) and (max-width: 1279px) {
    body.airix-client-authenticated .navbar.airix-topbar { min-height: 70px !important; }
    body.airix-client-authenticated .airix-topbar > .container {
        position: relative !important;
        display: block !important;
        width: calc(100% - 40px) !important;
        min-height: 70px !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-header {
        position: relative !important;
        z-index: 2101 !important;
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 70px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
    body.airix-client-authenticated .airix-topbar .airix-menu-toggle {
        position: absolute !important;
        top: 15px !important;
        left: 0 !important;
        display: block !important;
        float: none !important;
        margin: 0 !important;
    }
    body.airix-client-authenticated .airix-topbar .airix-brand-cluster {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 auto !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-brand img {
        width: auto !important;
        max-width: 132px !important;
        max-height: 44px !important;
    }
    body.airix-client-authenticated .airix-topbar .airix-brand-context { display: none !important; }
    body.airix-client-authenticated .airix-topbar .airix-mode-toggle--mobile {
        position: absolute !important;
        z-index: 2102 !important;
        top: 15px !important;
        right: 0 !important;
        display: grid !important;
        margin: 0 !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-collapse { display: none !important; }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in,
    body.airix-client-authenticated .airix-topbar .navbar-collapse.collapsing {
        position: fixed !important;
        z-index: 2000 !important;
        inset: 0 !important;
        display: block !important;
        overflow-y: auto !important;
        padding: 88px 34px 40px !important;
        border: 0 !important;
        background: #211e1a !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-nav,
    body.airix-client-authenticated .airix-topbar .navbar-collapse.collapsing .airix-nav {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        border: 0 !important;
    }
}

/* 1.6.2.8 — remove the last stock tab/mobile utility surfaces. */
.airix-project-shell .horizontal-scrollable-tabs .nav-tabs,
.airix-project-shell .horizontal-scrollable-tabs .scroller {
    color: var(--airix-workspace-text) !important;
    border-color: var(--airix-workspace-line) !important;
    background: var(--airix-workspace-surface) !important;
    -webkit-text-fill-color: var(--airix-workspace-text) !important;
}
.airix-project-shell .horizontal-scrollable-tabs .scroller.disabled {
    color: var(--airix-workspace-muted) !important;
    opacity: .48;
    -webkit-text-fill-color: var(--airix-workspace-muted) !important;
}

@media (max-width: 991px) {
    body.airix-client-authenticated .airix-topbar .navbar-toggle {
        color: #fffdf8 !important;
        border-color: rgba(255,255,255,.28) !important;
        background: transparent !important;
        -webkit-text-fill-color: #fffdf8 !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-toggle i {
        color: #fffdf8 !important;
        background: transparent !important;
        -webkit-text-fill-color: #fffdf8 !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-toggle .icon-bar {
        border-color: #fffdf8 !important;
        background-color: #fffdf8 !important;
    }
    .airix-utility-nav {
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        gap: 14px !important;
    }
    .airix-utility-nav .submenu {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }
    .airix-utility-nav .submenu > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 54px !important;
        padding: 0 14px !important;
    }
    .airix-utility-nav .submenu > li > a span {
        position: static !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        clip: auto !important;
        color: inherit !important;
        font-family: var(--airix-mono) !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        letter-spacing: .08em !important;
        text-transform: uppercase !important;
        -webkit-text-fill-color: currentColor !important;
    }
}


/* =========================================================================
   === Auth pages redesign pass — 2026-08-23 ===============================
   Owner: auth redesign. Everything below this banner is NEW and is the
   authoritative source for: the passwordless card, the shared mode-switch
   component, auth panel spacing, and the reconciled auth breakpoints
   (1180px / 900px only).
   Do not scatter edits to these concerns elsewhere in this file.
   Legacy rules above may still target the same elements; these are appended
   last and use >= specificity, so they win. If something here does not take
   effect, the culprit is an !important in legacy code — fix it there and
   note it, do not add !important here.
   ========================================================================= */

/* --- 2.1 Auth-scoped tokens (light) -------------------------------------- */
body.customers_login,
body.register {
    --airix-auth-ink:          #2c231d;
    --airix-auth-ink-muted:    #5e4d41;
    --airix-auth-ink-faint:    #8a7767;
    --airix-auth-surface:      #fffaf3;
    --airix-auth-raised:       #fbf1e4;
    --airix-auth-border:       rgba(92, 68, 48, 0.18);
    --airix-auth-border-soft:  rgba(92, 68, 48, 0.10);
    --airix-auth-accent:       #b4552d;
    --airix-auth-accent-soft:  rgba(180, 85, 45, 0.10);
    --airix-auth-focus:        rgba(180, 85, 45, 0.32);
    --airix-auth-glass:        rgba(255, 250, 243, 0.86);
    --airix-auth-glass-border: rgba(255, 250, 243, 0.42);
    --airix-auth-glass-ink:    #2c231d;
}

/* --- 2.2 Auth-scoped tokens (dark) --------------------------------------- */
html[data-theme="dark"] body.customers_login,
html[data-theme="dark"] body.register {
    --airix-auth-ink:          #eee6da;
    --airix-auth-ink-muted:    #b3a695;
    --airix-auth-ink-faint:    #8d8172;
    --airix-auth-surface:      #14201b;
    --airix-auth-raised:       rgba(255, 255, 255, 0.045);
    --airix-auth-border:       rgba(226, 214, 196, 0.16);
    --airix-auth-border-soft:  rgba(226, 214, 196, 0.09);
    --airix-auth-accent:       #d98559;
    --airix-auth-accent-soft:  rgba(217, 133, 89, 0.13);
    --airix-auth-focus:        rgba(217, 133, 89, 0.36);
    --airix-auth-glass:        rgba(20, 32, 27, 0.72);
    --airix-auth-glass-border: rgba(226, 214, 196, 0.24);
    --airix-auth-glass-ink:    #f3ece0;
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) body.customers_login,
    html:not([data-theme="light"]) body.register {
        --airix-auth-ink:          #eee6da;
        --airix-auth-ink-muted:    #b3a695;
        --airix-auth-ink-faint:    #8d8172;
        --airix-auth-surface:      #14201b;
        --airix-auth-raised:       rgba(255, 255, 255, 0.045);
        --airix-auth-border:       rgba(226, 214, 196, 0.16);
        --airix-auth-border-soft:  rgba(226, 214, 196, 0.09);
        --airix-auth-accent:       #d98559;
        --airix-auth-accent-soft:  rgba(217, 133, 89, 0.13);
        --airix-auth-focus:        rgba(217, 133, 89, 0.36);
        --airix-auth-glass:        rgba(20, 32, 27, 0.72);
        --airix-auth-glass-border: rgba(226, 214, 196, 0.24);
        --airix-auth-glass-ink:    #f3ece0;
    }
}

/* --- 2.3 Panel breathing room (BUG 3) ------------------------------------ */
body.customers_login .airix-auth-page .panel_s > .panel-body {
    padding: 32px 34px 30px;
}

body.customers_login .airix-auth-page .airix-auth-form .form-group {
    margin-bottom: 22px;
}

body.customers_login .airix-auth-page .airix-auth-form .form-group:last-of-type {
    margin-bottom: 22px;
}

body.customers_login .airix-auth-page .airix-auth-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin: 10px 0 26px;
}

body.customers_login .airix-auth-page .airix-auth-options .checkbox {
    margin: 0;
    min-height: 24px;
    display: flex;
    align-items: center;
}

body.customers_login .airix-auth-page .airix-auth-options > a {
    color: var(--airix-auth-accent);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 140ms ease;
}

body.customers_login .airix-auth-page .airix-auth-options > a:hover,
body.customers_login .airix-auth-page .airix-auth-options > a:focus-visible {
    border-bottom-color: currentColor;
}

body.customers_login .airix-auth-page .airix-auth-submit {
    margin-bottom: 0;
}

/* --- 2.4 Passwordless card (BUG 2) --------------------------------------- */
body.customers_login .airix-auth-page .airix-auth-passwordless {
    margin: 28px 0 0;
    padding: 18px 18px 16px;
    border: 1px solid var(--airix-auth-border);
    border-radius: 14px;
    background: var(--airix-auth-raised);
}

body.customers_login .airix-auth-page .airix-auth-passwordless__title {
    margin: 0 0 14px;
    font-family: var(--airix-mono);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--airix-auth-ink-faint);
}

body.customers_login .airix-auth-page .airix-auth-passwordless--primary {
    margin-top: 22px;
    border: 1px solid var(--airix-auth-accent);
    background: var(--airix-auth-accent-soft);
}

body.customers_login .airix-auth-page .airix-auth-passwordless--primary
    .airix-auth-passwordless__title {
    color: var(--airix-auth-accent);
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method-block {
    display: contents;
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-divider {
    display: none;
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method-list {
    display: block;
    margin: 0;
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    margin: 0 0 10px;
    border: 1px solid var(--airix-auth-border-soft);
    border-radius: 11px;
    background: var(--airix-auth-surface);
    color: var(--airix-auth-ink);
    text-decoration: none;
    transition: border-color 140ms ease, transform 140ms ease, background 140ms ease;
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method:last-child {
    margin-bottom: 0;
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method:hover,
body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method:focus-visible {
    border-color: var(--airix-auth-accent);
    transform: translateY(-1px);
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--airix-auth-ink);
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method small {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.35;
    color: var(--airix-auth-ink-muted);
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method__icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--airix-auth-accent-soft);
    color: var(--airix-auth-accent);
    font-size: 14px;
}

body.customers_login .airix-auth-page .airix-auth-passwordless
    .airix-auth-method--whatsapp .airix-auth-method__icon {
    background: rgba(37, 211, 102, 0.14);
    color: #1da851;
}

html[data-theme="dark"] body.customers_login .airix-auth-page .airix-auth-passwordless
    .airix-auth-method--whatsapp .airix-auth-method__icon {
    background: rgba(37, 211, 102, 0.18);
    color: #3ddc7f;
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method__arrow {
    margin-left: auto;
    font-size: 12px;
    color: var(--airix-auth-ink-faint);
}

@media (prefers-reduced-motion: reduce) {
    body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method {
        transition: none;
    }
    body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method:hover {
        transform: none;
    }
}

/* --- 2.5 Shared mode-switch component (BUG 1 + login/register parity) ---- */
body.customers_login .airix-auth-switch,
body.register .airix-auth-switch {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-top: 26px;
    padding-top: 20px;
    border-top: 1px solid var(--airix-auth-glass-border);
}

body.customers_login .airix-auth-switch__label,
body.register .airix-auth-switch__label,
body.register .airix-auth-switch > span {
    font-family: var(--airix-mono);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--airix-auth-ink-faint);
}

body.customers_login .airix-auth-switch__link,
body.register .airix-auth-switch__link,
body.register .airix-auth-switch > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--airix-auth-accent);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: gap 140ms ease, border-color 140ms ease;
}

body.customers_login .airix-auth-switch__link:hover,
body.customers_login .airix-auth-switch__link:focus-visible,
body.register .airix-auth-switch > a:hover,
body.register .airix-auth-switch > a:focus-visible {
    gap: 11px;
    border-bottom-color: currentColor;
}

@media (prefers-reduced-motion: reduce) {
    body.customers_login .airix-auth-switch__link,
    body.register .airix-auth-switch > a { transition: none; }
    body.customers_login .airix-auth-switch__link:hover,
    body.register .airix-auth-switch > a:hover { gap: 8px; }
}

/* --- 2.6 Focus visibility (applies to everything new) --------------------- */
body.customers_login .airix-auth-page a:focus-visible,
body.customers_login .airix-auth-page button:focus-visible,
body.register .airix-register-page a:focus-visible,
body.register .airix-register-page button:focus-visible {
    outline: 2px solid var(--airix-auth-accent);
    outline-offset: 3px;
    border-radius: 4px;
}

/* =========================================================================
   2.7 RECONCILED BREAKPOINT 1 — 1180px: stacked, hero becomes a strip
   ========================================================================= */
@media (max-width: 1180px) {

    body.register .airix-register-page .airix-register-intro-note,
    body.airix-portal.register .airix-register-intro-note {
        display: flex;
    }

    body.customers_login .airix-auth-page .airix-auth-intro,
    body.register .airix-register-page .airix-register-intro {
        min-height: 232px;
        height: auto;
    }

    body.customers_login .airix-auth-page .airix-auth-intro__inner,
    body.register .airix-register-page .airix-register-intro__inner {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 22px 20px 18px;
    }

    body.customers_login .airix-auth-switch,
    body.register .airix-auth-switch,
    body.register .airix-register-page .airix-register-intro-note {
        margin-top: auto;
        padding: 9px 14px;
        border-top: 0;
        border: 1px solid var(--airix-auth-glass-border);
        border-radius: 999px;
        background: var(--airix-auth-glass);
        backdrop-filter: blur(10px) saturate(1.1);
        -webkit-backdrop-filter: blur(10px) saturate(1.1);
        align-self: flex-start;
        max-width: 100%;
        min-height: 40px;
        gap: 4px 10px;
    }

    @supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
        body.customers_login .airix-auth-switch,
        body.register .airix-register-page .airix-register-intro-note {
            background: var(--airix-auth-surface);
        }
    }

    body.customers_login .airix-auth-switch__label,
    body.register .airix-register-page .airix-register-intro-note > span {
        color: var(--airix-auth-glass-ink);
        opacity: 0.72;
    }

    body.customers_login .airix-auth-switch__link,
    body.register .airix-register-page .airix-register-intro-note > a {
        font-size: 13px;
    }

    body.customers_login .airix-auth-page .airix-auth-domain,
    body.customers_login .airix-auth-page .airix-auth-context,
    body.customers_login .airix-auth-page .airix-auth-story > p {
        display: none;
    }

    body.register .airix-register-page .airix-register-brand-row > span,
    body.register .airix-register-page .airix-register-story > p {
        display: none;
    }
}

/* =========================================================================
   2.8 RECONCILED BREAKPOINT 2 — 900px: compact strip, tightened panel
   ========================================================================= */
@media (max-width: 900px) {

    body.customers_login .airix-auth-page .airix-auth-intro,
    body.register .airix-register-page .airix-register-intro {
        min-height: 208px;
    }

    body.customers_login .airix-auth-page .airix-auth-intro__inner,
    body.register .airix-register-page .airix-register-intro__inner {
        padding: 18px 18px 16px;
        gap: 10px;
    }

    body.customers_login .airix-auth-page .panel_s > .panel-body {
        padding: 24px 22px 22px;
    }

    body.customers_login .airix-auth-page .airix-auth-form .form-group {
        margin-bottom: 20px;
    }

    body.customers_login .airix-auth-page .airix-auth-options {
        margin: 8px 0 22px;
    }

    body.customers_login .airix-auth-page .airix-auth-options .checkbox label,
    body.customers_login .airix-auth-page .airix-auth-options > a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    body.customers_login .airix-auth-page .airix-auth-passwordless {
        margin-top: 24px;
        padding: 16px 14px 14px;
    }

    body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method {
        padding: 13px 14px;
    }
}

/* --- 2.9 PWA install card — clash guard ---------------------------------- */
body.customers_login .airix-auth-page .airix-install-card:not([hidden]) {
    margin-top: 22px;
    border: 1px dashed var(--airix-auth-border-soft);
    border-radius: 12px;
    background: transparent;
}

/* --- 5.4 Autofill styling -------------------------------------------------- */
body.customers_login .airix-auth-page input:-webkit-autofill,
body.customers_login .airix-auth-page input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--airix-auth-ink);
    -webkit-box-shadow: 0 0 0 1000px var(--airix-auth-surface) inset;
    caret-color: var(--airix-auth-ink);
    transition: background-color 9999s ease-out;
}

/* --- 5.2 Form-error visibility --------------------------------------------- */
body.customers_login .airix-auth-page .form-group .text-danger,
body.customers_login .airix-auth-page .form-group .help-block {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.4;
    color: #b3261e;
}
html[data-theme="dark"] body.customers_login .airix-auth-page .form-group .text-danger,
html[data-theme="dark"] body.customers_login .airix-auth-page .form-group .help-block {
    color: #f2857a;
}

/* --- 3.4 reset_password.php fallback (used only if it isn't Family A) ---- */
body.customers_login .airix-auth-form__inner > .airix-auth-switch {
    margin: 0 0 22px;
    padding-top: 0;
    border-top: 0;
}

/* --- 2.10 Hero brand-meta: domain + local date + world clock ------------
   Replaces the redundant "Airix Media client portal" + date row that used
   to live at the top of the FORM column (the hero already says who this
   is via the logo/kicker, so the form-side label was pure duplication).
   Domain/date/world-clock now live together in the hero brand-row instead,
   right-aligned, stacked on two lines. */
body.customers_login .airix-auth-brand-meta,
body.register .airix-auth-brand-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    text-align: right;
}

body.customers_login .airix-auth-brand-date,
body.register .airix-auth-brand-date,
body.customers_login .airix-auth-worldclock,
body.register .airix-auth-worldclock {
    display: block;
    font-family: var(--airix-mono);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 253, 248, 0.62);
}

body.customers_login .airix-auth-worldclock,
body.register .airix-auth-worldclock {
    color: rgba(255, 253, 248, 0.44);
}

/* Register's brand-row span (domain) predates this pass and isn't wrapped
   in .airix-auth-domain -- style it to match without touching the markup
   pattern register already uses elsewhere. */
body.register .airix-auth-brand-meta > span {
    font-family: var(--airix-mono);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 253, 248, 0.62);
}

@media (max-width: 1180px) {
    /* The compact mobile hero strip has no room for three stacked lines;
       collapse to domain only, same as before this pass. */
    body.customers_login .airix-auth-brand-date,
    body.register .airix-auth-brand-date,
    body.customers_login .airix-auth-worldclock,
    body.register .airix-auth-worldclock {
        display: none;
    }
}

/* --- 2.11 Hero column width + stronger photo overlay ---------------------
   REVISED per direct feedback after the first pass widened this too far.
   The image column must NOT be wider than the form column, and only the
   sign-in (login.php, the plain .airix-auth-page with no modifier class)
   and registration pages are touched -- magic-link, WhatsApp and
   forgot/reset-password pages keep their original, untouched ratio and
   overlay. Scoped via the page-wrapper modifier classes each template
   already carries (.airix-auth-page--magic / --whatsapp / --recovery),
   NOT via body class, since all Family A pages share body.customers_login.
   The overlay tint is applied to every Family A + register hero regardless
   (it fixes a genuine top-of-photo legibility gap for the brand-row/date/
   world-clock text added in 2.10, unrelated to the width complaint). */
body.customers_login .airix-auth-page:not(.airix-auth-page--magic):not(.airix-auth-page--whatsapp):not(.airix-auth-page--recovery) {
    grid-template-columns: minmax(0, 0.92fr) minmax(500px, 1.08fr) !important;
}

body.airix-portal.register .airix-register-page {
    grid-template-columns: minmax(360px, 0.75fr) minmax(700px, 1.25fr) !important;
}

/* Narrowing the hero column pushed the h1 to wrap an extra line, which
   made the flex column taller than the viewport and hid the
   margin-top:auto switch pill below the fold. A touch of responsive
   shrink keeps it to 3 lines at the new, narrower width. */
body.register .airix-register-story h1 {
    font-size: clamp(32px, 3.6vw, 54px) !important;
}

body.customers_login .airix-auth-intro::after,
body.register .airix-register-intro::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, rgba(8, 14, 12, 0.42) 0%, rgba(8, 14, 12, 0.12) 30%, rgba(8, 14, 12, 0.2) 60%, rgba(7, 13, 11, 0.74) 100%);
    pointer-events: none;
}

html[data-theme="dark"] body.customers_login .airix-auth-intro::after,
html[data-theme="dark"] body.register .airix-register-intro::after {
    background: linear-gradient(180deg, rgba(4, 8, 7, 0.52) 0%, rgba(4, 8, 7, 0.18) 30%, rgba(4, 8, 7, 0.26) 60%, rgba(3, 7, 6, 0.8) 100%);
}

body.customers_login .airix-auth-intro__inner,
body.register .airix-register-intro__inner {
    position: relative;
    z-index: 1;
}

@media (max-width: 1180px) {
    body.customers_login .airix-auth-page:not(.airix-auth-page--magic):not(.airix-auth-page--whatsapp):not(.airix-auth-page--recovery) {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* --- 2.12 Mode-switch: pinned to the hero's bottom edge always -----------
   Matches register's own layout exactly (.airix-register-intro__inner is
   `justify-content: space-between`, which is what puts its note at the very
   bottom) rather than the thin top-border-plus-margin treatment 2.5 shipped
   with, which only happened to land near the bottom because it was the last
   child. `margin-top: auto` inside a column flex container pins it for
   real, on every page, at every viewport -- not just incidentally. */
body.customers_login .airix-auth-intro__inner,
body.register .airix-register-intro__inner {
    display: flex;
    flex-direction: column;
}

body.customers_login .airix-auth-switch,
body.register .airix-auth-switch {
    margin-top: auto !important;
}

/* --- 2.13 Register meta row: language selector alone now needs its own
   alignment since the removed "New client workspace" label used to be the
   flex-start anchor that pushed it right via space-between. */
body.airix-portal.register .airix-register-meta {
    justify-content: flex-end;
}

/* --- 2.14 Mobile: distinct scroll/position behaviour per page family -----
   Sign-in and registration: content starts from the TOP on mobile (no
   vertical centering) -- these are quick, short forms people land on
   directly. Magic-link and WhatsApp request pages: the form is short
   (one field) and reads better vertically centered. Both families must
   actually be scrollable on mobile -- the legacy 100dvh/overflow:hidden
   rules (10322+) were written for the two-column desktop layout and clip
   content that overflows a short viewport once stacked, which is the
   "doesn't scroll on mobile" bug on the magic/WhatsApp pages specifically
   (their hero is proportionally taller relative to a one-field form, so
   they're the ones that actually overflow in practice). */
@media (max-width: 1180px) {
    body.customers_login,
    body.register {
        height: auto !important;
        overflow: visible !important;
    }

    body.customers_login .airix-auth-page,
    body.register .airix-register-page {
        height: auto !important;
        min-height: 100dvh;
        overflow: visible !important;
    }

    body.customers_login .airix-auth-intro,
    body.customers_login .airix-auth-form,
    body.register .airix-register-intro,
    body.register .airix-register-form-shell {
        position: static !important;
        height: auto !important;
        overflow: visible !important;
    }

    body.customers_login .airix-auth-page:not(.airix-auth-page--magic):not(.airix-auth-page--whatsapp) .airix-auth-form,
    body.register .airix-register-form-shell {
        display: block;
    }

    body.customers_login .airix-auth-page.airix-auth-page--magic .airix-auth-form,
    body.customers_login .airix-auth-page.airix-auth-page--whatsapp .airix-auth-form {
        display: flex;
        min-height: calc(100dvh - 232px);
        align-items: center;
    }

    body.customers_login .airix-auth-page.airix-auth-page--magic .airix-auth-form__inner,
    body.customers_login .airix-auth-page.airix-auth-page--whatsapp .airix-auth-form__inner {
        width: 100%;
    }
}

/* --- Redesign-audit fixes: submit loading state --------------------------
   Pairs with the airix.js submit handler that disables the button and
   swaps its label to "Please wait..." -- this is the visual half. */
body.customers_login .airix-auth-page .airix-auth-submit button[disabled],
body.register .airix-register-page .airix-register-submit button[disabled] {
    cursor: progress;
    opacity: 0.72;
}

body.customers_login .airix-auth-page .airix-auth-submit button[aria-busy="true"] i,
body.register .airix-register-page .airix-register-submit button[aria-busy="true"] i {
    animation: airix-auth-busy-spin 900ms linear infinite;
}

@keyframes airix-auth-busy-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    body.customers_login .airix-auth-page .airix-auth-submit button[aria-busy="true"] i,
    body.register .airix-register-page .airix-register-submit button[aria-busy="true"] i {
        animation: none;
    }
}

/* =========================================================================
   2.15 FORM COLUMN REDESIGN -- flatten the nested-card stack
   =========================================================================
   Diagnosis (confirmed against redesign-existing-projects audit -- "generic
   card look... nested cards are always wrong"): the form column was four
   levels of box-in-box -- page column > .panel_s/.panel-body (bordered box)
   > .airix-auth-passwordless (another bordered box) > each .airix-auth-method
   row (its OWN bordered box) -- plus every input was ALSO a fully-boxed
   shell. Everything carried equal visual weight with no rhythm, so the form
   column read as a generic boxed SaaS form, clashing with the editorial
   hero. Fix: strip the redundant outer wrapper entirely, switch inputs to
   an underline treatment (label + hairline, not a filled box), and replace
   the nested passwordless card with a plain divided list. Buttons keep
   their full treatment -- a CTA is supposed to look like a button; the
   nesting problem was everywhere else.
   ========================================================================= */

/* --- Strip the redundant panel-in-panel wrapper (login/forgot/reset/
   magic/whatsapp -- Family A pages using .panel_s) --------------------- */
body.customers_login .airix-auth-page .panel_s,
body.customers_login .airix-auth-page .panel_s .panel-body {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* --- Underline inputs (Family A: login/forgot/reset/magic/whatsapp) --- */
body.customers_login .airix-auth-page .airix-auth-form .form-control,
body.customers_login .airix-auth-page .airix-auth-form .bootstrap-select > .dropdown-toggle {
    height: auto;
    padding: 12px 4px 12px 30px;
    border: 0;
    border-bottom: 1.5px solid var(--airix-auth-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: border-color 160ms ease;
}

body.customers_login .airix-auth-page .airix-auth-form .form-control:focus,
body.customers_login .airix-auth-page .airix-auth-form .bootstrap-select.open > .dropdown-toggle {
    border-bottom-width: 2px;
    border-bottom-color: var(--airix-auth-accent);
    background: transparent;
    box-shadow: none;
}

body.customers_login .airix-auth-page .airix-input-shell > i {
    left: 2px;
    color: var(--airix-auth-ink-faint);
}

body.customers_login .airix-auth-page .airix-password-toggle {
    right: 0;
}

body.customers_login .airix-auth-page .airix-language-field .airix-select-shell {
    border: 0;
}

/* --- Underline inputs (register's own class namespace) ---------------- */
body.airix-portal.register .airix-register-form .form-control,
body.airix-portal.register .airix-register-form .bootstrap-select > .dropdown-toggle {
    height: auto;
    min-height: 0;
    padding: 12px 2px;
    border: 0;
    border-bottom: 1.5px solid var(--airix-auth-border, rgba(92, 68, 48, 0.18));
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: border-color 160ms ease;
}

body.airix-portal.register .airix-register-form .form-control:focus,
body.airix-portal.register .airix-register-form .bootstrap-select.open > .dropdown-toggle {
    border-bottom-width: 2px;
    border-bottom-color: var(--airix-auth-accent, #b4552d);
    background: transparent;
    box-shadow: none;
}

/* --- Passwordless section: plain divided list, not a nested card ------ */
body.customers_login .airix-auth-page .airix-auth-passwordless {
    margin: 32px 0 0;
    padding: 20px 0 0;
    border: 0;
    border-top: 1px solid var(--airix-auth-border);
    background: transparent;
    border-radius: 0;
}

body.customers_login .airix-auth-page .airix-auth-passwordless--primary {
    border-top: 0;
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 14px 2px;
    margin: 0;
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method + .airix-auth-method {
    border-top: 1px solid var(--airix-auth-border-soft);
}

body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method:hover,
body.customers_login .airix-auth-page .airix-auth-passwordless .airix-auth-method:focus-visible {
    background: var(--airix-auth-raised);
    border-color: transparent;
    transform: none;
}

/* --- Options row (remember me / forgot password) keeps its own hairline
   underneath, so the panel_s removal doesn't leave the submit button
   floating with no separation from the fields above it. ----------------- */
body.customers_login .airix-auth-page .airix-auth-submit {
    margin-top: 8px;
}

/* === End auth pages redesign pass — 2026-08-23 ========================== */

/* === Mobile nav overhaul + dark-mode select fix — 2026-08-26 ============= */

/* Side padding: kill the double-inset (width calc margin + bootstrap's own
   15px .container padding were stacking to ~29px per side on small screens). */
@media (max-width: 900px) {
    body.airix-client-authenticated .airix-content-container,
    body.airix-client-authenticated .airix-topbar > .container,
    body.airix-client-authenticated .airix-footer > .container,
    body.airix-client-authenticated .airix-alert-container {
        width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* Destyle the hamburger + mode toggle: plain icon buttons, no boxed border. */
body.airix-portal .airix-menu-toggle,
body.airix-client-authenticated .airix-topbar .navbar-toggle,
body.airix-client-authenticated .airix-topbar .airix-menu-toggle {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.airix-portal .airix-mode-toggle,
body.airix-portal .airix-mode-toggle--mobile,
body.airix-portal .airix-mode-toggle--floating,
body.airix-client-authenticated .airix-mode-toggle {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.airix-portal .airix-mode-toggle:hover,
body.airix-portal .airix-mode-toggle:focus-visible {
    border: 0 !important;
    background: rgba(127, 112, 84, 0.12) !important;
}
html[data-theme="dark"] body.airix-portal .airix-mode-toggle:hover,
html[data-theme="dark"] body.airix-portal .airix-mode-toggle:focus-visible {
    background: rgba(255, 255, 255, 0.1) !important;
    color: var(--airix-on-dark) !important;
}

/* Dark-mode native/bootstrap-select dropdown lists: give them an actual dark
   surface. They previously kept light-menu backgrounds under light-styled
   text (the topbar dropdown had a dark override, in-page selects like the
   Payment Activity currency switch did not). */
html[data-theme="dark"] body.airix-client-authenticated select,
html[data-theme="dark"] body.airix-client-authenticated .bootstrap-select .dropdown-menu,
html[data-theme="dark"] body.airix-client-authenticated .bootstrap-select .dropdown-menu.inner,
html[data-theme="dark"] body.airix-client-authenticated .select2-dropdown {
    color-scheme: dark;
    background: #2b2722 !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] body.airix-client-authenticated .bootstrap-select .dropdown-menu > li > a,
html[data-theme="dark"] body.airix-client-authenticated .select2-results__option {
    color: #eee8de !important;
    background: transparent !important;
}
html[data-theme="dark"] body.airix-client-authenticated .bootstrap-select .dropdown-menu > li.selected > a,
html[data-theme="dark"] body.airix-client-authenticated .bootstrap-select .dropdown-menu > li > a:hover,
html[data-theme="dark"] body.airix-client-authenticated .bootstrap-select .dropdown-menu > li > a:focus,
html[data-theme="dark"] body.airix-client-authenticated .select2-results__option--highlighted {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fffdf8 !important;
}

/* Desktop: the account/profile block now sits first in markup (for the
   mobile stacking order below); restore its original rightmost position
   in the topbar row on desktop with flex order. */
@media (min-width: 992px) {
    body.airix-client-authenticated .airix-topbar .navbar-collapse {
        display: flex !important;
        align-items: center;
        width: 100%;
    }
    body.airix-client-authenticated .airix-topbar .airix-nav-account { order: 3; margin-left: 6px; }
    body.airix-client-authenticated .airix-topbar .airix-nav-primary { order: 1; flex: 1 1 auto; }
    body.airix-client-authenticated .airix-topbar .airix-nav-utilities { order: 2; }
}

/* Mobile full-screen panel: profile card up top, real nav typography,
   bell + mode switch paired in one row. */
@media (max-width: 991px) {
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in,
    body.airix-client-authenticated .airix-topbar .navbar-collapse.collapsing {
        padding: 88px 20px 40px !important;
    }
    body.airix-portal .airix-topbar .navbar-collapse.in .airix-nav,
    body.airix-portal .airix-topbar .navbar-collapse.collapsing .airix-nav {
        min-height: 0 !important;
        display: block !important;
        flex-direction: unset !important;
        align-items: unset !important;
    }

    /* Profile card */
    body.airix-client-authenticated .airix-nav-account { margin-bottom: 24px !important; }
    body.airix-client-authenticated .airix-nav-account .customers-nav-item-profile > .dropdown-toggle {
        display: flex !important;
        align-items: center;
        gap: 14px;
        padding: 16px !important;
        border: 1px solid rgba(255, 255, 255, 0.12) !important;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.04);
        text-decoration: none;
    }
    body.airix-client-authenticated .airix-nav-account .client-profile-image-small {
        width: 46px !important;
        height: 46px !important;
        flex: 0 0 auto;
    }
    body.airix-client-authenticated .airix-nav-account .airix-profile-meta {
        display: flex !important;
        flex-direction: column;
        gap: 2px;
        flex: 1 1 auto;
        min-width: 0;
    }
    body.airix-client-authenticated .airix-nav-account .airix-profile-meta strong {
        font-size: 17px;
        color: #fffdf8;
    }
    body.airix-client-authenticated .airix-nav-account .airix-profile-meta small {
        font-size: 13px;
        color: rgba(255, 255, 255, 0.6);
    }
    body.airix-client-authenticated .airix-nav-account .airix-profile-chevron {
        transition: transform 180ms ease;
        color: rgba(255, 255, 255, 0.5);
    }
    body.airix-client-authenticated .airix-nav-account .dropdown.open .airix-profile-chevron {
        transform: rotate(180deg);
    }
    body.airix-client-authenticated .airix-nav-account .airix-account-menu {
        position: static !important;
        display: none;
        width: 100% !important;
        margin: 10px 0 0 !important;
        padding: 6px 4px !important;
        border: 0 !important;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none !important;
        float: none !important;
    }
    body.airix-client-authenticated .airix-nav-account .dropdown.open .airix-account-menu {
        display: block !important;
    }
    body.airix-client-authenticated .airix-nav-account .airix-account-menu__header { display: none; }
    body.airix-client-authenticated .airix-nav-account .airix-account-menu > li > a {
        display: flex !important;
        align-items: center;
        gap: 12px;
        min-height: 50px;
        padding: 0 10px !important;
        font-size: 16px !important;
        color: rgba(255, 255, 255, 0.82) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    }

    /* Primary nav links: real, readable typography */
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-nav-primary > li > a,
    body.airix-client-authenticated .airix-topbar .navbar-collapse.collapsing .airix-nav-primary > li > a {
        display: flex !important;
        align-items: center;
        gap: 12px;
        min-height: 56px !important;
        padding: 0 4px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        color: #f7f1e5 !important;
        font-size: 19px !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-nav-primary > li.active > a {
        color: #e7b83e !important;
    }

    /* Utility row: notifications bell + mode switch, side by side */
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-nav-utilities,
    body.airix-client-authenticated .airix-topbar .navbar-collapse.collapsing .airix-nav-utilities {
        display: flex !important;
        align-items: center;
        gap: 18px;
        margin-top: 26px !important;
        padding-top: 22px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-nav-utilities > li,
    body.airix-client-authenticated .airix-topbar .navbar-collapse.collapsing .airix-nav-utilities > li {
        width: auto !important;
        border-bottom: 0 !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-notifications-item > .dropdown-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        color: #f7f1e5;
        font-size: 18px;
    }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-mode-item .airix-mode-toggle {
        color: #f7f1e5 !important;
    }
    body.airix-client-authenticated .airix-topbar .navbar-collapse.in .airix-notification-menu {
        position: static !important;
        width: 100% !important;
        margin: 16px 0 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }
}
/* === End mobile nav overhaul + dark-mode select fix ====================== */

/* === Responsive client-area tables: stacked cards, not horizontal scroll === */
@media (max-width: 900px) {
    body.airix-client-authenticated .table-responsive {
        overflow-x: visible !important;
        border: 0 !important;
    }
    body.airix-client-authenticated .table-responsive table.dataTable {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: auto !important;
    }
    body.airix-client-authenticated .table-responsive table.dataTable thead {
        display: none;
    }
    body.airix-client-authenticated .table-responsive table.dataTable tbody {
        display: block;
    }
    body.airix-client-authenticated .table-responsive table.dataTable tbody > tr {
        display: block;
        margin-bottom: 14px;
        padding: 6px 16px;
        border: 1px solid var(--airix-workspace-line, #ddd4c7);
        border-radius: 10px;
        background: var(--airix-workspace-surface, transparent);
    }
    body.airix-client-authenticated .table-responsive table.dataTable tbody > tr > td {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        width: auto !important;
        padding: 10px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid var(--airix-workspace-line, rgba(0, 0, 0, 0.08)) !important;
        text-align: right;
        white-space: normal;
    }
    body.airix-client-authenticated .table-responsive table.dataTable tbody > tr > td:last-child {
        border-bottom: 0 !important;
    }
    body.airix-client-authenticated .table-responsive table.dataTable tbody > tr > td::before {
        content: attr(data-label);
        flex: 0 0 auto;
        color: var(--airix-workspace-muted, #80766b);
        font-family: var(--airix-mono);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        text-align: left;
    }
    body.airix-client-authenticated .table-responsive table.dataTable tbody > tr > td.dataTables_empty {
        display: block !important;
        padding: 24px 0 !important;
        text-align: center;
    }
    body.airix-client-authenticated .table-responsive table.dataTable tbody > tr > td.dataTables_empty::before {
        content: none;
    }
}
/* === End responsive client-area tables ==================================== */
