:root {
    color-scheme: dark;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
    background: #0a0f1f;
    color: #f4f7ff;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: #0a0f1f; }
a { color: inherit; text-decoration: none; }
.sidebar {
    position: fixed; inset: 0 auto 0 0; width: 250px; padding: 28px 20px;
    display: flex; flex-direction: column; background: #0d1429;
    border-right: 1px solid #202b48;
}
.brand { padding: 0 12px 28px; font-size: 1.25rem; font-weight: 800; }
nav { display: grid; gap: 7px; }
nav a { padding: 12px; border-radius: 10px; color: #aebbd6; }
nav a:hover, nav a.active { background: #1a2645; color: #fff; }
.account { margin-top: auto; padding: 12px; color: #9eabc7; }
.link-button {
    border: 0; padding: 8px 0; background: transparent; color: #7dd3fc;
    cursor: pointer;
}
.main { min-height: 100vh; margin-left: 250px; padding: 48px; }
.page-header { display: flex; justify-content: space-between; margin-bottom: 30px; }
h1 { margin: 8px 0; font-size: clamp(2rem, 4vw, 3.25rem); }
h2 { margin-top: 0; }
p { color: #aebbd6; line-height: 1.6; }
.eyebrow { color: #7dd3fc; font-weight: 800; letter-spacing: .12em; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.metrics article, .panel, .login-card {
    border: 1px solid #263252; border-radius: 16px; background: #111a32;
    box-shadow: 0 20px 60px #0004;
}
.metrics article { padding: 24px; }
.metrics span { display: block; color: #aebbd6; }
.metrics strong { display: block; margin-top: 12px; font-size: 2rem; }
.panel { margin-top: 22px; padding: 28px; }
.login-card { width: min(460px, calc(100vw - 40px)); margin: 12vh auto; padding: 38px; }
label { display: grid; gap: 8px; margin: 18px 0; color: #dce5f7; }
input {
    width: 100%; border: 1px solid #33415f; border-radius: 10px;
    padding: 13px 14px; background: #0b1225; color: #fff; font: inherit;
}
input:focus { outline: 2px solid #38bdf8; border-color: transparent; }
button.primary {
    width: 100%; border: 0; border-radius: 10px; padding: 14px;
    background: #2563eb; color: #fff; font-weight: 800; cursor: pointer;
}
.alert {
    margin: 18px 0; padding: 12px; border: 1px solid #7f1d1d;
    border-radius: 10px; background: #3f151d; color: #fecaca;
}
@media (max-width: 900px) {
    .sidebar { position: static; width: auto; min-height: auto; }
    .account { margin-top: 20px; }
    .main { margin-left: 0; padding: 24px; }
    .metrics { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .metrics { grid-template-columns: 1fr; }
}

.metrics-three { grid-template-columns: repeat(3, 1fr); }
.module-grid {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px; margin-top: 22px;
}
.module-card {
    display: block; padding: 28px; border: 1px solid #263252;
    border-radius: 16px; background: #111a32;
}
.module-card:hover { border-color: #38bdf8; transform: translateY(-2px); }
.module-card small { color: #7dd3fc; font-weight: 800; letter-spacing: .1em; }
.table-panel {
    overflow-x: auto; border: 1px solid #263252; border-radius: 16px;
    background: #111a32;
}
table { width: 100%; border-collapse: collapse; }
th, td { padding: 16px 18px; text-align: left; border-bottom: 1px solid #263252; }
th { color: #94a3bd; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
td { color: #cad4e8; }
tr:last-child td { border-bottom: 0; }
.empty { padding: 40px; text-align: center; color: #8390aa; }
@media (max-width: 700px) {
    .metrics-three, .module-grid { grid-template-columns: 1fr; }
}

.primary-link, .secondary-button {
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 10px; padding: 12px 16px; font-weight: 750;
}
.primary-link { background: #2563eb; color: #fff; }
.secondary-button { border: 1px solid #33415f; color: #c8d3e9; }
.form-panel {
    max-width: 920px; padding: 28px; border: 1px solid #263252;
    border-radius: 16px; background: #111a32;
}
.form-grid {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
}
select {
    width: 100%; border: 1px solid #33415f; border-radius: 10px;
    padding: 13px 14px; background: #0b1225; color: #fff; font: inherit;
}
.form-actions { display: flex; gap: 12px; margin-top: 24px; }
.action-button { width: auto !important; min-width: 150px; }
.table-panel a { color: #7dd3fc; }
@media (max-width: 700px) {
    .form-grid { grid-template-columns: 1fr; }
    .page-header { gap: 18px; flex-direction: column; }
}

.brand {
    display: flex; align-items: center; gap: 11px; padding: 0 12px 28px;
    font-size: 1.16rem; font-weight: 800;
}
.brand-mark { width: 34px; height: 34px; object-fit: contain; }
.login-logo {
    display: block; width: min(330px, 100%); height: auto;
    margin: 0 0 28px;
}

.form-wide { grid-column: 1 / -1; }
textarea {
    width: 100%; resize: vertical; border: 1px solid #33415f;
    border-radius: 10px; padding: 12px; background: #0c1429;
    color: #f4f7ff; font: inherit;
}
.table-action {
    border: 1px solid #38bdf8; border-radius: 8px; padding: 7px 10px;
    background: transparent; color: #7dd3fc; cursor: pointer;
}
.badge {
    display: inline-block; border-radius: 999px; padding: 4px 9px;
    background: #1d2946; color: #cbd5e1; font-size: .78rem;
}
.priority-high { background: #78350f; color: #fde68a; }
.priority-urgent { background: #7f1d1d; color: #fecaca; }

.metrics-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.list-toolbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 18px; margin: 0 0 18px;
}
.filter-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.filter-tab {
    border: 1px solid #2b3859; border-radius: 9px; padding: 9px 13px;
    color: #aebbd6;
}
.filter-tab:hover, .filter-tab.active {
    border-color: #38bdf8; background: #182443; color: #fff;
}
.search-form { display: flex; gap: 8px; }
.search-form input { min-width: 280px; }
.call-status {
    display: inline-block; border-radius: 999px; padding: 4px 9px;
    background: #1d2946; color: #cbd5e1; font-size: .78rem;
}
.status-answered { background: #14532d; color: #bbf7d0; }
.status-missed, .status-failed { background: #7f1d1d; color: #fecaca; }
@media (max-width: 900px) {
    .metrics-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .list-toolbar { align-items: stretch; flex-direction: column; }
    .search-form input { min-width: 0; width: 100%; }
}

.integration-grid { display: grid; gap: 18px; }
.integration-card {
    display: flex; align-items: center; justify-content: space-between;
    gap: 20px; border: 1px solid #263252; border-radius: 16px;
    padding: 24px; background: #111a32;
}
.integration-card:hover { border-color: #38bdf8; }
.integration-card h2 { margin: 6px 0; }
.integration-card small { color: #7dd3fc; font-weight: 800; }
.connection-state {
    border-radius: 999px; padding: 7px 12px; white-space: nowrap;
    font-size: .82rem;
}
.connection-state.connected { background: #14532d; color: #bbf7d0; }
.connection-state.disabled { background: #334155; color: #cbd5e1; }
.checkbox-field { display: flex; align-items: center; gap: 10px; }
.checkbox-field input { width: auto; }

.success-panel { border-color: #166534; background: #0f2f25; }

/* Compact, calm authentication screen and defensive responsive layout. */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.main,
.panel,
.metrics,
.metrics article {
    min-width: 0;
}

.auth-page {
    display: grid;
    min-height: 100vh;
    min-height: 100svh;
    place-items: center;
    padding: 24px;
    background:
        radial-gradient(circle at 50% 0%, #16213d 0, transparent 42%),
        #0a0f1f;
}

.auth-page .main {
    width: 100%;
    min-height: auto;
    margin: 0;
    padding: 0;
}

.auth-page .login-card {
    width: min(100%, 390px);
    margin: 0 auto;
    padding: 28px;
    border-radius: 14px;
    box-shadow: 0 18px 48px #0005;
}

.auth-page .login-logo {
    width: min(210px, 72%);
    max-height: 64px;
    margin: 0 0 22px;
    object-fit: contain;
    object-position: left center;
}

.auth-page .eyebrow {
    font-size: .72rem;
    letter-spacing: .11em;
}

.auth-page h1 {
    margin: 8px 0 4px;
    font-size: 1.65rem;
    line-height: 1.18;
}

.auth-page .login-intro {
    margin: 0 0 20px;
    font-size: .95rem;
}

.auth-page label {
    gap: 6px;
    margin: 14px 0;
    font-size: .9rem;
}

.auth-page input {
    min-height: 44px;
    padding: 10px 12px;
}

.auth-page button.primary {
    min-height: 44px;
    margin-top: 4px;
    padding: 11px 14px;
}

@media (max-width: 600px) {
    .auth-page {
        display: block;
        padding:
            max(18px, env(safe-area-inset-top))
            max(16px, env(safe-area-inset-right))
            max(18px, env(safe-area-inset-bottom))
            max(16px, env(safe-area-inset-left));
    }

    .auth-page .main {
        display: grid;
        min-height: calc(100svh - 36px);
        place-items: center;
    }

    .auth-page .login-card {
        width: 100%;
        max-width: 370px;
        padding: 22px 20px;
    }

    .auth-page .login-logo {
        width: min(180px, 66%);
        max-height: 54px;
        margin-bottom: 18px;
    }

    .auth-page h1 {
        font-size: 1.45rem;
    }

    .auth-page input {
        font-size: 16px;
    }

    .app-page .main {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .app-page .panel {
        padding: 20px;
        overflow-x: auto;
    }
}

/* PR338 universal borderless headings and one Microsoft 365 content line. */
body.theme-light .main > .page-heading,
body.theme-light .main > .page-header,
body.theme-light .main > .dashboard-header,
body.theme-light .main > .compact-page-header,
body.theme-light .main > .integration-centre-header,
body.theme-light .main > .license-page-header,
body.theme-light .main > .platform-management-header,
body.theme-light .main > .profile-page-header,
body.theme-light .main > .sales-page-header,
body.theme-light .main > .settings-overview-header,
body.theme-light .main > .wp-fleet-header {
    background:transparent !important; background-color:transparent !important;
    background-image:none !important; border:0 !important; box-shadow:none !important;
}
.main > .m365-workspace,
.main > .mail-health-card,
.main > .m365-permissions {
    margin-left:auto; margin-right:auto; max-width:var(--afb-container); width:100%;
}

/* PR331 persistent AFB Light and Dark modes. Light is the default experience. */
.theme-switcher { margin: 0; }
.theme-switcher button {
    align-items: center;
    appearance: none;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: .8rem;
    font-weight: 700;
    gap: 7px;
    min-height: 36px;
    padding: 6px 12px;
}
.theme-switcher button:hover,
.theme-switcher button:focus-visible {
    background: rgba(0,149,219,.26);
    border-color: rgba(255,255,255,.42);
    outline: none;
}

body.theme-light {
    --afb-text: #24374a;
    --afb-muted: #627589;
    --afb-panel: #ffffff;
    --afb-panel-strong: #f7fbfe;
    --afb-line: #dce5ec;
    --afb-shadow: 0 12px 36px rgba(12,48,80,.12);
    background: #f4f7fa;
    color: var(--afb-text);
    color-scheme: light;
}
.theme-light p,
.theme-light .muted { color: var(--afb-muted); }
.theme-light .main {
    background:
        radial-gradient(circle at 94% 2%, rgba(0,149,219,.09), transparent 27rem),
        #f4f7fa;
}
.theme-light .page-header { border-bottom-color: #d5e0e8; }
.theme-light .page-header h1 { color: var(--afb-dark); }
.theme-light .eyebrow { color: var(--afb-blue); }

.theme-light .panel,
.theme-light .card,
.theme-light .table-panel,
.theme-light .form-panel,
.theme-light .module-card,
.theme-light .dashboard-panel,
.theme-light .dashboard-stat,
.theme-light .crm-kpi-card,
.theme-light .support-overview-kpi,
.theme-light .relation-card,
.theme-light .metric-card,
.theme-light .sales-list-kpi,
.theme-light .integration-centre-card,
.theme-light .license-module-option,
.theme-light .tenant-card,
.theme-light .crm-distribution-panel,
.theme-light .crm-search-panel,
.theme-light .sales-page-header,
.theme-light .sales-funnel-panel,
.theme-light .sales-actions-panel,
.theme-light .profile-page-header,
.theme-light .settings-overview-header,
.theme-light .settings-overview-card,
.theme-light .wp-fleet-header,
.theme-light .wp-fleet-kpis article {
    background: rgba(255,255,255,.98);
    border-color: var(--afb-line);
    box-shadow: var(--afb-shadow);
    color: var(--afb-text);
}
.theme-light .dashboard-stat,
.theme-light .crm-kpi-card,
.theme-light .support-overview-kpi,
.theme-light .metric-card,
.theme-light .sales-list-kpi {
    background: linear-gradient(145deg,#fff,#f7fbfe);
}
.theme-light .dashboard-stat strong,
.theme-light .crm-kpi-card strong,
.theme-light .support-overview-kpi strong,
.theme-light .metric-card strong,
.theme-light .sales-list-kpi strong,
.theme-light .sales-kpi-card strong,
.theme-light .settings-overview-card strong,
.theme-light .wp-fleet-kpis strong { color: var(--afb-dark); }
.theme-light .dashboard-stat small,
.theme-light .dashboard-stat span,
.theme-light .crm-kpi-card span,
.theme-light .support-overview-kpi span,
.theme-light .support-overview-kpi small,
.theme-light .metric-card span,
.theme-light .metric-card small,
.theme-light .sales-kpi-card small,
.theme-light .sales-kpi-card em,
.theme-light .settings-overview-card small,
.theme-light .wp-fleet-kpis span,
.theme-light .wp-fleet-kpis small { color: var(--afb-muted); }
.theme-light .dashboard-panel header,
.theme-light .dashboard-section-head,
.theme-light .integration-card-footer { border-color: var(--afb-line); }
.theme-light .dashboard-trend-bar,
.theme-light .dashboard-status-track { background: #e8f0f5; }

.theme-light table { background: #fff; }
.theme-light th { background: #eef4f7; color: var(--afb-dark); }
.theme-light th,
.theme-light td { border-bottom-color: var(--afb-line); }
.theme-light td { color: var(--afb-text); }
.theme-light tbody tr:hover { background: #eef8fd; }
.theme-light .table-panel a { color: #007eb9; }

.theme-light input,
.theme-light select,
.theme-light textarea,
.theme-light .license-price-input {
    background: #fff;
    border-color: #cbd8e2;
    color: var(--afb-text);
}
.theme-light input::placeholder,
.theme-light textarea::placeholder { color: #8496a6; }
.theme-light label { color: var(--afb-dark); }
.theme-light .secondary-button,
.theme-light .compact-action {
    background: #fff;
    border-color: var(--afb-blue);
    color: #007eb9 !important;
}
.theme-light .alert { background: #fff4f2; border-color: #efb4aa; color: #9b2c20; }
.theme-light .success-notice,
.theme-light .success-panel { background: #edf9f2; border-color: #9dd8b5; color: #17643a; }
.theme-light .badge,
.theme-light .status-pill { background: #eaf5fb; color: var(--afb-dark); }
.theme-light .tenant-data-badge,
.theme-light .connection-state.connected { color: #17643a; }

.theme-light.auth-page {
    background:
        radial-gradient(circle at 86% 8%, rgba(254,165,1,.16), transparent 28rem),
        linear-gradient(135deg,#eef6fa,#ffffff 62%);
}
.theme-light.auth-page .login-card {
    background: rgba(255,255,255,.98);
    border-color: rgba(12,48,80,.12);
    box-shadow: 0 28px 70px rgba(12,48,80,.2);
    color: var(--afb-text);
}
.theme-light.auth-page h1,
.theme-light.auth-page label { color: var(--afb-dark); }
.theme-light.auth-page .login-intro { color: var(--afb-muted); }
.theme-light.auth-page .language-switcher select {
    background: #fff;
    border-color: #cbd8e2;
    color: var(--afb-dark);
}

@media (max-width: 720px) {
    .theme-switcher button span:last-child { display: none; }
    .theme-switcher button { border-radius: 50%; justify-content: center; padding: 6px; width: 36px; }
}

/* Keep the official login branding visually centered and balanced. */
.auth-page .login-logo {
    width: min(190px, 68%);
    max-height: 62px;
    margin: 0 auto 24px;
    object-position: center;
}

@media (max-width: 600px) {
    .auth-page .login-logo {
        width: min(170px, 64%);
        margin-bottom: 20px;
    }
}

.call-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.call-actions form { margin: 0; }
.table-action.primary {
    border-color: #2563eb;
    background: #2563eb;
    color: #fff;
}
.table-action.primary:hover { background: #1d4ed8; }

.header-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.contact-facts {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px; margin-bottom: 20px;
}
.contact-facts article {
    min-width: 0; border: 1px solid #263252; border-radius: 14px;
    background: #111a32; padding: 18px;
}
.contact-facts span {
    display: block; color: #91a0bd; font-size: .78rem; margin-bottom: 7px;
}
.contact-facts strong {
    display: block; overflow-wrap: anywhere; color: #f8fafc;
}
.timeline-grid {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.section-heading { margin-bottom: 18px; }
.section-heading h2 { margin: 4px 0 0; }
.timeline-list { display: grid; gap: 2px; }
.timeline-item {
    display: grid; grid-template-columns: 12px minmax(0, 1fr);
    gap: 12px; padding: 13px 0; border-bottom: 1px solid #25304b;
}
.timeline-item:last-child { border-bottom: 0; }
.timeline-item p { margin: 4px 0 0; color: #91a0bd; }
.timeline-dot {
    width: 10px; height: 10px; border-radius: 999px; margin-top: 5px;
}
.timeline-dot.call { background: #38bdf8; }
.timeline-dot.activity { background: #22c55e; }
@media (max-width: 800px) {
    .contact-facts, .timeline-grid { grid-template-columns: 1fr; }
}

.contact-note-panel { margin-bottom: 18px; }
.contact-note-form { display: grid; gap: 10px; }
.contact-note-form textarea {
    width: 100%; min-height: 100px; resize: vertical;
    border: 1px solid #33415f; border-radius: 10px; padding: 13px 14px;
    background: #0b1225; color: #fff; font: inherit;
}
.contact-note-form textarea:focus {
    border-color: #38bdf8; outline: 2px solid rgb(56 189 248 / 18%);
}
.contact-note-form .primary-link {
    width: fit-content; border: 0; cursor: pointer;
}

.contact-call-panel { margin-bottom: 18px; }
.contact-call-form {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(220px, 1fr) auto;
    gap: 12px;
    align-items: end;
}
.contact-call-form label { display: grid; gap: 7px; }
.contact-call-form select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #33415f;
    border-radius: 10px;
    padding: 10px 12px;
    background: #0b1225;
    color: #fff;
    font: inherit;
}
.contact-call-form .primary-link {
    min-height: 44px;
    border: 0;
    cursor: pointer;
}
@media (max-width: 760px) {
    .contact-call-form { grid-template-columns: 1fr; }
    .contact-call-form .primary-link { width: 100%; }
}

.company-contact-panel { margin-bottom: 18px; }
.company-contact-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.company-contact-card {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 16px;
    border: 1px solid #263252;
    border-radius: 12px;
    background: #0b1225;
    color: #eef4ff;
}
.company-contact-card span,
.company-contact-card small {
    overflow-wrap: anywhere;
    color: #9eabc5;
}
@media (max-width: 980px) {
    .company-contact-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 640px) {
    .company-contact-list { grid-template-columns: 1fr; }
}

.metrics-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.planner-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}
.planner-column {
    min-width: 0;
    padding: 15px;
    border: 1px solid #263252;
    border-radius: 14px;
    background: #0f1830;
}
.planner-column h2 { margin: 0 0 13px; font-size: 1.05rem; }
.planner-card {
    display: grid;
    gap: 12px;
    margin-top: 10px;
    padding: 14px;
    border-left: 3px solid #475569;
    border-radius: 10px;
    background: #0b1225;
}
.planner-card.priority-high { border-left-color: #f59e0b; }
.planner-card.priority-urgent { border-left-color: #ef4444; }
.planner-card h3 { margin: 4px 0 8px; font-size: .98rem; }
.planner-card p { margin: 3px 0; color: #9eabc5; }
.card-actions { display: flex; gap: 8px; align-items: center; }
.card-actions a,
.card-actions button {
    border: 1px solid #33415f;
    border-radius: 8px;
    padding: 7px 9px;
    background: transparent;
    color: #bfdbfe;
    cursor: pointer;
    font: inherit;
    font-size: .8rem;
}
@media (max-width: 1180px) {
    .planner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .metrics-four,
    .planner-grid { grid-template-columns: 1fr; }
}

/* Searchable and paginated CRM directories. */
.directory-filters {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) minmax(180px, 1fr) auto auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid #263252;
    border-radius: 14px;
    background: #111a32;
}
.directory-filters label { margin: 0; }
.compact-action { min-height: 44px; width: auto; white-space: nowrap; }
.directory-table { overflow-x: auto; }
.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}
.page-link {
    min-width: 38px;
    padding: 9px 11px;
    border: 1px solid #33415f;
    border-radius: 9px;
    text-align: center;
    color: #bfdbfe;
}
.page-link.active { border-color: #3b82f6; background: #2563eb; color: #fff; }

/* Definitive centered standalone login branding. */
.auth-page .login-logo {
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
    object-position: center center !important;
}

@media (max-width: 760px) {
    .directory-filters { grid-template-columns: 1fr; }
    .directory-filters .compact-action { width: 100%; }
}

/* Tenant user administration. */
.user-admin-panel { max-width: 1500px; }
.new-user-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 16px;
    align-items: end;
}
.new-user-grid .primary { min-height: 44px; margin-bottom: 18px; }
.user-list { display: grid; gap: 10px; }
.user-row {
    display: grid;
    grid-template-columns:
        minmax(150px, 1.2fr)
        minmax(210px, 1.5fr)
        minmax(130px, .8fr)
        minmax(90px, .6fr)
        minmax(190px, 1.2fr)
        auto
        auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid #263252;
    border-radius: 12px;
    background: #0b1225;
}
.active-toggle {
    display: flex;
    flex-direction: row;
    gap: 7px;
    align-items: center;
    white-space: nowrap;
}
.active-toggle input { width: auto; }
.success-notice {
    margin: 18px 0;
    padding: 12px;
    border: 1px solid #166534;
    border-radius: 10px;
    background: #123322;
    color: #bbf7d0;
}
.invitation-list { display:grid; gap:10px; }
.invitation-row {
    align-items:center;
    background:var(--afb-panel-soft, #f7f9fc);
    border:1px solid var(--afb-line, #d8e0ea);
    border-radius:12px;
    display:grid;
    gap:12px;
    grid-template-columns:minmax(190px, 1.5fr) minmax(110px, .7fr) auto auto;
    padding:14px;
}
.invitation-row span:first-child { display:grid; gap:3px; }
.invitation-row small, .invitation-account-note, .invitation-email {
    color:var(--afb-muted, #5d6b7b);
}
.invitation-row form { margin:0; }
.invitation-card { max-width:500px; }
.invitation-card .primary { width:100%; }
.invitation-panel { margin-bottom:18px; }
.direct-user-panel { margin-bottom:18px; }
.direct-user-panel summary { cursor:pointer; font-weight:700; }
.direct-user-panel[open] summary { margin-bottom:12px; }
.provider-links {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 9px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #202b48;
    font-size: .72rem;
    line-height: 1.4;
}
.provider-links a { color: #7183a8; }
.provider-links a:hover { color: #a9c4f5; }

@media (max-width: 1180px) {
    .user-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .new-user-grid,
    .user-row { grid-template-columns: 1fr; }
    .user-row .compact-action { width: 100%; }
    .invitation-row { grid-template-columns:1fr; }
    .invitation-row .compact-action { width:100%; }
}

/* Tenant onboarding and secure switching. */
.tenant-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}
.tenant-card {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    padding: 20px;
    border: 1px solid #263252;
    border-radius: 14px;
    background: #111a32;
}
.tenant-card h2 { margin: 4px 0 7px; }
.tenant-card p { margin: 0; color: #9ca9c5; }
.tenant-card-active {
    border-color: #2e75ed;
    box-shadow: inset 3px 0 0 #2e75ed;
}
.tenant-current {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: #123322;
    color: #bbf7d0;
    white-space: nowrap;
    font-size: .8rem;
    font-weight: 700;
}
.tenant-create-panel { max-width: 1100px; }
.tenant-create-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
    align-items: end;
}
.tenant-create-grid .primary {
    min-height: 44px;
    margin-bottom: 18px;
}

@media (max-width: 760px) {
    .tenant-grid,
    .tenant-create-grid { grid-template-columns: 1fr; }
    .tenant-card {
        align-items: flex-start;
        flex-direction: column;
    }
    .tenant-card form,
    .tenant-card button { width: 100%; }
}

/* Yeastar catalog selector. */
.yeastar-scope-panel { max-width: 980px; }
.scope-selector-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.scope-multiselect {
    width: 100%;
    min-height: 285px;
    padding: 8px;
}
.scope-multiselect option {
    padding: 8px;
    border-radius: 5px;
}
.scope-selector-grid textarea {
    width: 100%;
    min-height: 132px;
    resize: vertical;
}

@media (max-width: 760px) {
    .scope-selector-grid { grid-template-columns: 1fr; }
    .scope-multiselect { min-height: 220px; }
}

/* Standalone quote workspace. */
.quote-form { max-width: 1180px; }
.quote-form h2 { margin-top: 26px; }
.quote-lines input { width: 100%; min-width: 100px; }
.quote-lines td:first-child input { min-width: 320px; }
.table-scroll { width: 100%; overflow-x: auto; }
.money { white-space: nowrap; text-align: right; }
.quote-summary {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px 30px;
    max-width: 360px;
    margin: 24px 0 24px auto;
    padding: 18px;
    border: 1px solid #263252;
    border-radius: 12px;
    background: #0b1225;
}
.quote-summary strong:last-child { font-size: 1.2rem; }
.quote-notes {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #263252;
    color: #9eabc5;
}
@media (max-width: 720px) {
    .quote-lines td:first-child input { min-width: 220px; }
    .quote-summary { max-width: none; }
}

/* Quote lifecycle and printable customer document. */
.quote-lifecycle {
    display: grid;
    grid-template-columns: minmax(280px, 420px) 1fr;
    gap: 28px;
    margin-bottom: 18px;
}
.status-form {
    display: flex;
    align-items: end;
    gap: 12px;
}
.status-form label { flex: 1; }
.status-history h3 { margin: 0 0 10px; }
.status-history ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.status-history li {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 7px 0;
    border-bottom: 1px solid #263252;
}
.status-history li span { color: #aeb8d1; }
.page-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.print-document {
    background: #eef1f6;
    color: #172037;
    padding: 30px;
}
.quote-document {
    width: min(900px, 100%);
    min-height: 1100px;
    margin: 0 auto;
    padding: 58px;
    background: #fff;
    box-shadow: 0 18px 45px rgb(23 32 55 / 12%);
}
.quote-document > header {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    border-bottom: 3px solid #2774ed;
    padding-bottom: 22px;
}
.quote-document h1 { margin: 4px 0; font-size: 2.6rem; }
.quote-document small { color: #2774ed; font-weight: 800; }
.document-meta {
    display: flex;
    flex-direction: column;
    text-align: right;
}
.document-recipient { padding: 40px 0 28px; }
.document-recipient strong { display: block; font-size: 1.15rem; }
.document-recipient h2 { margin: 18px 0 0; }
.quote-document table { width: 100%; border-collapse: collapse; }
.quote-document th,
.quote-document td {
    padding: 12px 8px;
    border-bottom: 1px solid #dbe0e9;
    text-align: left;
}
.quote-document th { color: #53617c; font-size: .78rem; }
.document-totals {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 9px 24px;
    width: 330px;
    margin: 28px 0 28px auto;
}
.document-totals strong { text-align: right; }
.document-totals strong:last-child { font-size: 1.25rem; }
.document-notes { white-space: normal; margin-top: 35px; }
.quote-document footer {
    margin-top: 80px;
    padding-top: 18px;
    border-top: 1px solid #dbe0e9;
    color: #69758c;
}
.print-button {
    display: block;
    margin: 20px auto;
    padding: 12px 18px;
}
@media (max-width: 760px) {
    .quote-lifecycle { grid-template-columns: 1fr; }
    .status-form { align-items: stretch; flex-direction: column; }
    .print-document { padding: 0; }
    .quote-document { padding: 24px; min-height: 100vh; }
}
@media print {
    .print-document { padding: 0; background: #fff; }
    .quote-document {
        width: 100%;
        min-height: 0;
        padding: 0;
        box-shadow: none;
    }
    .print-button { display: none; }
}

/* Standalone order workflow. */
.order-status-panel {
    max-width: 640px;
    margin-bottom: 18px;
}

/* Standalone invoice workflow. */
.invoice-status-panel {
    display: flex;
    gap: 24px;
    max-width: 760px;
    margin-bottom: 18px;
}

/* PR161 invoice documents and delivery */
.invoice-status-panel {
    align-items: start;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(220px, .7fr) minmax(220px, .8fr) 1.5fr;
}
.invoice-delivery {
    display: grid;
    gap: 9px;
    color: #aeb8d1;
}
.invoice-document .payment-instructions {
    background: #f3f6fb;
    border-left: 4px solid #2774ed;
    margin-top: 40px;
    padding: 18px 20px;
}
.invoice-document .payment-instructions p {
    margin: 6px 0 0;
}
@media (max-width: 900px) {
    .invoice-status-panel {
        grid-template-columns: 1fr;
    }
}

/* PR162 invoice payments */
.invoice-payment-panel {
    align-items: start;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(300px, .8fr) minmax(520px, 1.6fr);
}
.payment-form {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.payment-form label {
    display: grid;
    gap: 6px;
}
.payment-form button {
    align-self: end;
}
.payment-history {
    min-width: 0;
    overflow-x: auto;
}
.payment-history h3 {
    margin-top: 0;
}
@media (max-width: 1050px) {
    .invoice-payment-panel {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 620px) {
    .payment-form {
        grid-template-columns: 1fr;
    }
}

/* PR163 invoice aging and reminders */
.invoice-aging-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 22px;
}
.reminder-panel {
    align-items: start;
    display: grid;
    gap: 30px;
    grid-template-columns: minmax(320px, .8fr) minmax(420px, 1.2fr);
}
.reminder-form {
    display: grid;
    gap: 12px;
}
.reminder-form label {
    display: grid;
    gap: 6px;
}
@media (max-width: 980px) {
    .invoice-aging-grid,
    .reminder-panel {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 620px) {
    .invoice-aging-grid,
    .reminder-panel {
        grid-template-columns: 1fr;
    }
}

/* PR164 standalone support tickets */
.support-create-form {
    display: grid;
    gap: 14px;
    grid-template-columns: 1.4fr 1fr .7fr;
}
.support-create-form label,
.ticket-reply-form label {
    display: grid;
    gap: 6px;
}
.support-create-form .wide-field {
    grid-column: 1 / -1;
}
.support-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.support-filter input {
    flex: 1 1 360px;
    min-width: min(360px, 100%);
    width: auto;
}
.support-filter select {
    flex: 0 1 220px;
    min-width: 180px;
    width: auto;
}
.support-filter .secondary-button {
    align-self: end;
    width: auto !important;
}
.support-create-form > .primary-button {
    grid-column: 1 / -1;
    justify-self: start;
    min-width: 170px;
    width: auto !important;
}
.support-bulk-actions {
    align-items: end;
    flex-wrap: wrap;
    margin: 0 0 18px;
}
.support-bulk-actions label {
    display: grid;
    gap: 6px;
    min-width: 190px;
}
.support-bulk-actions .secondary-button,
.support-bulk-actions .danger-button {
    align-self: end;
    min-height: 46px;
    padding: 10px 14px;
    width: auto !important;
}
.page-header > .compact-action {
    align-self: flex-start;
    min-height: 44px;
    width: auto !important;
}
.ticket-status-panel {
    align-items: start;
    display: grid;
    gap: 30px;
    grid-template-columns: .7fr 1.5fr;
}
.ticket-thread {
    display: grid;
    gap: 12px;
    margin: 20px 0;
}
.ticket-message {
    background: #131d36;
    border: 1px solid #273556;
    border-radius: 12px;
    padding: 18px;
}
.ticket-message.internal {
    border-left: 4px solid #f0b429;
}
.ticket-message header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.ticket-message header span {
    color: #9eabc7;
}
.ticket-reply-form {
    display: grid;
    gap: 14px;
}
@media (max-width: 800px) {
    .support-create-form,
    .ticket-status-panel {
        grid-template-columns: 1fr;
    }
    .support-filter {
        align-items: stretch;
        flex-direction: column;
    }
    .support-filter input,
    .support-filter select {
        flex-basis: auto;
        min-width: 0;
        width: 100%;
    }
    .support-bulk-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .support-bulk-actions label {
        min-width: 0;
    }
    .support-bulk-actions .secondary-button,
    .support-bulk-actions .danger-button {
        align-self: flex-start;
    }
    .ticket-message header {
        flex-direction: column;
    }
}

/* PR165 standalone Microsoft 365 */
.integration-form-card {
    max-width: 920px;
}
.integration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 14px;
}
.integration-grid label {
    display: grid;
    gap: 7px;
}
.integration-grid small {
    color: var(--muted);
    line-height: 1.45;
}
.integration-grid .checkbox-row {
    align-items: center;
    display: flex;
    gap: 9px;
}
.integration-grid .checkbox-row input {
    width: auto;
}
.m365-permissions {
    margin-top: 18px;
    max-width: 920px;
}
@media (max-width: 720px) {
    .integration-grid {
        grid-template-columns: 1fr;
    }
}

.sla-overdue {
    background: rgba(239, 68, 68, 0.18);
    color: #fca5a5;
}

.sla-due_soon {
    background: rgba(245, 158, 11, 0.18);
    color: #fcd34d;
}

.sla-on_track,
.sla-completed {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
}

.ticket-sla-summary {
    min-width: 220px;
}

/* Tenant branding */
body.app-page .brand {
    border-color: color-mix(
        in srgb,
        var(--tenant-primary, #2f6fed) 45%,
        transparent
    );
}

body.app-page .brand-mark {
    max-width: 2.25rem;
    max-height: 2.25rem;
    object-fit: contain;
}

body.app-page button.primary,
body.app-page .primary,
body.app-page .primary-button {
    background: var(--tenant-primary, #2f6fed);
}

body.app-page .eyebrow {
    color: var(--tenant-accent, #55c8f3);
}

.branding-panel {
    max-width: 58rem;
}

.branding-panel input[type="color"] {
    width: 100%;
    min-height: 3rem;
}

/* Compact persistent Web Push control */
[data-enable-call-alerts] {
    align-self: flex-start;
    font-size: .72rem;
    line-height: 1.2;
    max-width: 100%;
    padding: 7px 9px;
    text-align: left;
    white-space: normal;
}

[data-enable-call-alerts].is-active {
    border-color: #238a68;
    color: #8ee8c8;
    opacity: 1;
}

/* Persistent incoming-call popup */
.call-alert-popup {
    background: #111a32;
    border: 1px solid var(--tenant-accent, #55c8f3);
    border-radius: 14px;
    bottom: 24px;
    box-shadow: 0 18px 55px rgb(0 0 0 / 45%);
    display: grid;
    gap: 12px;
    max-width: min(390px, calc(100vw - 32px));
    padding: 20px;
    position: fixed;
    right: 24px;
    width: 100%;
    z-index: 1000;
}

.call-alert-popup strong {
    color: #fff;
    font-size: 1.05rem;
}

.call-alert-popup p {
    color: #c8d3e9;
    margin: 0;
}

.call-alert-lifecycle {
    color: #8ee8c8;
    font-weight: 700;
}

.call-alert-popup.is-ended {
    border-color: #64748b;
}

.call-alert-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.call-alert-actions .primary-link,
.call-alert-actions .secondary-button {
    font-size: .82rem;
    padding: 9px 12px;
}

@media (max-width: 620px) {
    .call-alert-popup {
        bottom: 16px;
        left: 16px;
        right: 16px;
        width: auto;
    }
}

/* Compact page-header actions */
.page-header > .primary-link,
.page-header > .secondary-button,
.header-actions > .primary-link,
.header-actions > .secondary-button {
    font-size: .82rem;
    min-height: 38px;
    padding: 9px 12px;
    width: auto;
}

/* PR200 customer ticket navigation */
.page-header,
.header-actions {
    align-items: flex-start;
}
.page-header > .primary-link,
.page-header > .secondary-button,
.header-actions > .primary-link,
.header-actions > .secondary-button {
    align-self: flex-start;
    height: auto;
    min-height: 38px;
    padding: 9px 13px;
    width: auto;
}
.customer-ticket-heading {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    gap: 16px;
}
.customer-ticket-list {
    display: grid;
    gap: 8px;
    margin-top: 18px;
}
.customer-ticket-row {
    align-items: center;
    background: #0b1225;
    border: 1px solid #263252;
    border-radius: 10px;
    color: #cad4e8;
    display: grid;
    gap: 8px 16px;
    grid-template-columns: minmax(110px, .35fr) minmax(220px, 1fr) auto;
    padding: 12px 14px;
}
.customer-ticket-row strong {
    color: #7dd3fc;
}
.customer-ticket-row small {
    color: #94a3bd;
}
@media (max-width: 700px) {
    .customer-ticket-heading {
        align-items: stretch;
        flex-direction: column;
    }
    .customer-ticket-row {
        grid-template-columns: 1fr;
    }
}
/* PR202 inline call workflow */
.call-alert-workflow {
    display: grid;
    gap: 6px;
    margin-top: 10px;
}
.call-alert-workflow textarea {
    background: #0b1225;
    border: 1px solid #33415f;
    border-radius: 8px;
    color: #fff;
    font: inherit;
    min-height: 64px;
    padding: 9px 10px;
    resize: vertical;
    width: 100%;
}
.call-alert-feedback {
    color: #9eabc7;
    min-height: 18px;
}
.call-alert-actions {
    flex-wrap: wrap;
}
/* PR215 compact CRM and grouped navigation */
.metrics.metrics-three {
    gap: 12px;
    max-width: 980px;
}
.metrics.metrics-three article {
    min-height: 0;
    padding: 16px 18px;
}
.metrics.metrics-three strong {
    margin-top: 5px;
    font-size: 1.55rem;
}
.module-grid {
    gap: 12px;
    max-width: 980px;
}
.module-card {
    min-height: 0;
    padding: 18px 20px;
}
.module-card h2 {
    margin: 5px 0 6px;
    font-size: 1.18rem;
}
.module-card p {
    margin: 0;
    font-size: .92rem;
}
.sidebar-navigation {
    display: grid;
    gap: 3px;
}
.sidebar-navigation .nav-item,
.sidebar-navigation .nav-section summary {
    align-items: center;
    display: flex;
    gap: 10px;
}
.sidebar-navigation .nav-icon {
    align-items: center;
    color: #7dd3fc;
    display: inline-flex;
    font-size: 1rem;
    justify-content: center;
    line-height: 1;
    width: 18px;
}
.sidebar-navigation .nav-section {
    margin: 0;
}
.sidebar-navigation .nav-section summary {
    border-radius: 9px;
    color: #c8d3e9;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
    padding: 10px 12px;
}
.sidebar-navigation .nav-section summary::-webkit-details-marker {
    display: none;
}
.sidebar-navigation .nav-section summary::after {
    color: #71809d;
    content: "›";
    margin-left: auto;
    transform: rotate(0);
    transition: transform .16s ease;
}
.sidebar-navigation .nav-section[open] summary::after {
    transform: rotate(90deg);
}
.sidebar-navigation .nav-section summary:hover {
    background: #17213d;
    color: #fff;
}
.sidebar-navigation .nav-submenu {
    display: grid;
    gap: 2px;
    padding: 2px 0 5px 40px;
}
.sidebar-navigation .nav-submenu a {
    color: #9eabc7;
    font-size: .88rem;
    padding: 7px 9px;
}
.sidebar-navigation .nav-submenu a:hover {
    color: #fff;
}
@media (max-width: 700px) {
    .metrics.metrics-three,
    .module-grid {
        max-width: none;
    }
}

/* PR216 relation and settings navigation hubs */
.nav-section-heading {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}
.nav-section-heading > a {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 0;
    padding: 10px 8px 10px 12px;
}
.nav-section-heading > button {
    appearance: none;
    background: transparent;
    border: 0;
    color: #9fb0cf;
    cursor: pointer;
    font: inherit;
    padding: 10px 12px;
}
.nav-section-heading > button[aria-expanded="true"] {
    transform: rotate(180deg);
}
.nav-submenu[hidden] {
    display: none;
}
.compact-page-header {
    margin-bottom: 18px;
}
.compact-page-header h1 {
    margin-bottom: 6px;
}
.compact-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.compact-actions .primary-link,
.compact-actions .secondary-button {
    min-height: 38px;
    padding: 8px 12px;
}
.compact-metrics {
    gap: 12px;
    margin-bottom: 16px;
}
.compact-metrics article {
    padding: 16px 18px;
}
.compact-metrics strong {
    font-size: 1.55rem;
    margin-top: 4px;
}
.metrics-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.relation-overview-grid,
.settings-hub-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.relation-overview-card {
    background: #111a32;
    border: 1px solid #263252;
    border-radius: 14px;
    padding: 18px;
}
.relation-overview-card > header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
}
.relation-overview-card h2 {
    margin: 3px 0 0;
}
.relation-overview-card > header > a {
    color: #7dd3fc;
    font-weight: 750;
}
.compact-table {
    border-radius: 10px;
}
.compact-table th,
.compact-table td {
    padding: 11px 12px;
}
.hub-card {
    align-items: center;
    background: #111a32;
    border: 1px solid #263252;
    border-radius: 14px;
    display: flex;
    gap: 14px;
    min-height: 88px;
    padding: 16px 18px;
}
.hub-card:hover {
    border-color: #38bdf8;
    transform: translateY(-1px);
}
.hub-card strong,
.hub-card small {
    display: block;
}
.hub-card strong {
    color: #f4f7ff;
    font-size: 1rem;
    margin-bottom: 4px;
}
.hub-card small {
    color: #9eabc7;
}
.hub-icon {
    align-items: center;
    background: #192747;
    border-radius: 10px;
    color: #7dd3fc;
    display: inline-flex;
    flex: 0 0 38px;
    font-size: 1.15rem;
    height: 38px;
    justify-content: center;
}
@media (max-width: 800px) {
    .metrics-two,
    .relation-overview-grid,
    .settings-hub-grid {
        grid-template-columns: 1fr;
    }
}
/* PR218 grouped navigation hubs */
.hub-card-button {
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
    width: 100%;
}
.hub-card-button:disabled {
    cursor: default;
    opacity: .78;
}
.nav-section-heading > a {
    min-width: 0;
}
.nav-section-heading > button {
    flex: 0 0 auto;
}

/* PR219 unified company and contact relations */
.relation-summary {
    grid-template-columns: minmax(14rem, 24rem);
    margin-bottom: 1rem;
}
.relation-summary article {
    min-height: 0;
    padding: 1rem 1.15rem;
}
.relation-summary small {
    color: #94a3bd;
    display: block;
    margin-top: .25rem;
}
.relation-search {
    align-items: end;
    background: #111a32;
    border: 1px solid #263252;
    border-radius: 14px;
    display: flex;
    gap: .65rem;
    margin-bottom: 1rem;
    padding: 1rem;
}
.relation-search label {
    display: grid;
    flex: 1;
    gap: .35rem;
}
.unified-relations-grid {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.relation-card {
    background: #111a32;
    border: 1px solid #263252;
    border-radius: 14px;
    padding: 1rem 1.1rem;
}
.relation-card > header {
    align-items: start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}
.relation-card h2 {
    font-size: 1.05rem;
    margin: .2rem 0;
}
.relation-card header p {
    color: #94a3bd;
    font-size: .88rem;
    margin: 0;
}
.relation-contact-count {
    background: #17213c;
    border: 1px solid #33415f;
    border-radius: 999px;
    color: #c8d3e9;
    font-size: .75rem;
    padding: .3rem .55rem;
    white-space: nowrap;
}
.relation-contact-list {
    display: grid;
    gap: .5rem;
    list-style: none;
    margin: .85rem 0 0;
    padding: 0;
}
.relation-contact-list li {
    align-items: center;
    background: #0b1225;
    border-radius: 9px;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    padding: .65rem .75rem;
}
.relation-contact-list span {
    color: #94a3bd;
    font-size: .82rem;
    text-align: right;
}
.relation-empty {
    grid-column: 1 / -1;
}
@media (max-width: 900px) {
    .unified-relations-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 650px) {
    .relation-search,
    .relation-card > header,
    .relation-contact-list li {
        align-items: stretch;
        flex-direction: column;
    }
    .relation-contact-list span {
        text-align: left;
    }
}

/* PR220 clear relation contact actions and balanced search width */
.relation-search {
    max-width: 52rem;
    width: 100%;
}

.relation-contact-main {
    display: grid;
    gap: .2rem;
    min-width: 0;
}

.relation-contact-main .relation-contact-name {
    color: #7dd3fc;
}

.relation-contact-main span {
    text-align: left;
}

.relation-edit-action {
    align-self: center;
    flex: 0 0 auto;
}

@media (max-width: 700px) {
    .relation-search {
        max-width: none;
    }

    .relation-edit-action {
        align-self: flex-start;
    }
}

/* PR221 inline company contact editing */
.company-contact-editors {
    display: grid;
    gap: 16px;
    margin-top: 10px;
}
.company-contact-editors > header {
    margin-bottom: 2px;
}
.company-contact-editors > header h2,
.company-contact-editors > header p {
    margin: 4px 0;
}
.company-contact-editor {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
    margin: 0;
    padding: 18px;
    border: 1px solid #2a3859;
    border-radius: 12px;
    background: #0d162c;
}
.company-contact-editor legend {
    padding: 0 8px;
    color: #e6edf9;
    font-weight: 800;
}
@media (max-width: 800px) {
    .company-contact-editor {
        grid-template-columns: 1fr;
    }
}

.tenant-card-polished{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:center;min-height:150px}.tenant-card-polished .tenant-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem}.tenant-status-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.status-badge{display:inline-flex;align-items:center;padding:.3rem .65rem;border:1px solid #334365;border-radius:999px;font-size:.78rem;color:#b9c6df;background:#111b34}.status-ok{color:#9ee8bc;border-color:#286849;background:#102b24}@media(max-width:800px){.tenant-card-polished{grid-template-columns:1fr}.tenant-card-polished .tenant-card-actions{justify-content:flex-start}}


/* AFB graphical tenant dashboard. */
.dashboard-header {
    align-items: flex-start;
    padding: 28px;
    border: 1px solid color-mix(in srgb, var(--tenant-primary, #27a9e1) 28%, #263252);
    border-radius: 20px;
    background:
        radial-gradient(circle at 86% 16%, rgb(39 169 225 / 18%), transparent 32%),
        linear-gradient(135deg, #111a32, #0d1730);
}
.dashboard-header h1 { margin-bottom: 2px; }
.dashboard-header p { margin: 0; }
.dashboard-live {
    display: inline-flex; align-items: center; gap: 8px; border-radius: 999px;
    padding: 8px 12px; background: rgb(34 197 94 / 12%); color: #86efac;
    font-size: .82rem; font-weight: 750;
}
.dashboard-live i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 14px #22c55e; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.dashboard-stat {
    position: relative; display: flex; gap: 16px; min-width: 0; overflow: hidden;
    padding: 22px; border: 1px solid #263252; border-radius: 18px;
    background: linear-gradient(145deg, #121c35, #0e172c); box-shadow: 0 18px 46px #0003;
}
.dashboard-stat::after { content: ''; position: absolute; inset: auto -30px -45px auto; width: 110px; height: 110px; border-radius: 50%; background: rgb(39 169 225 / 10%); }
.stat-icon { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border-radius: 13px; background: rgb(39 169 225 / 14%); color: #7dd3fc; font-size: 1.2rem; }
.dashboard-stat small, .dashboard-stat div > span { display: block; color: #91a0bd; }
.dashboard-stat strong { display: block; margin: 4px 0 2px; color: #fff; font-size: 2rem; line-height: 1; }
.dashboard-stat div > span { font-size: .78rem; }
.stat-orange .stat-icon { background: rgb(249 115 22 / 14%); color: #fdba74; }
.stat-blue .stat-icon { background: rgb(59 130 246 / 14%); color: #93c5fd; }
.stat-green .stat-icon { background: rgb(34 197 94 / 14%); color: #86efac; }
.dashboard-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .7fr); gap: 18px; }
.dashboard-layout .panel { margin-top: 18px; }
.dashboard-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.dashboard-section-head h2 { margin: 5px 0 0; }
.dashboard-section-head > span { color: #7dd3fc; font-size: .8rem; }
.metric-bars { display: grid; gap: 19px; margin-top: 28px; }
.metric-bar { display: grid; grid-template-columns: 150px minmax(80px, 1fr) 36px; gap: 14px; align-items: center; }
.metric-bar > span { color: #b7c3da; font-size: .88rem; }
.metric-bar > div { height: 9px; overflow: hidden; border-radius: 999px; background: #202b48; }
.metric-bar i { display: block; min-width: 4px; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--tenant-primary, #27a9e1), #7dd3fc); }
.metric-bar.orange i { background: linear-gradient(90deg, #ea580c, #fdba74); }
.metric-bar.blue i { background: linear-gradient(90deg, #2563eb, #93c5fd); }
.metric-bar.green i { background: linear-gradient(90deg, #16a34a, #86efac); }
.metric-bar strong { text-align: right; }
.dashboard-actions { display: flex; flex-direction: column; }
.dashboard-actions h2 { margin: 6px 0 14px; }
.dashboard-actions a { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; border-bottom: 1px solid #263252; color: #cdd8ec; }
.dashboard-actions a:last-child { border-bottom: 0; }
.dashboard-actions a:hover { color: #7dd3fc; }
.dashboard-actions b { color: #7dd3fc; }
@media (max-width: 1180px) { .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 850px) { .dashboard-layout { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
    .dashboard-metrics { grid-template-columns: 1fr; }
    .dashboard-header { gap: 18px; }
    .metric-bar { grid-template-columns: 1fr 42px; }
    .metric-bar > div { grid-column: 1 / -1; grid-row: 2; }
}

/* PR291 rich tenant dashboard. */
.dashboard-metrics-rich {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.dashboard-metrics-rich .dashboard-stat strong {
    font-size: clamp(1.35rem, 2vw, 1.85rem);
}
.stat-violet .stat-icon {
    background: rgb(139 92 246 / 14%);
    color: #c4b5fd;
}
.dashboard-workspace {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(250px, .65fr);
    margin-top: 18px;
}
.dashboard-workspace .panel {
    margin: 0;
    min-width: 0;
}
.dashboard-section-head a {
    color: #7dd3fc;
    font-size: .82rem;
    font-weight: 750;
}
.dashboard-list {
    display: grid;
    margin-top: 18px;
}
.dashboard-list-row {
    align-items: center;
    border-bottom: 1px solid #263252;
    color: #d7e0f1;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding: 12px 0;
}
.dashboard-list-row:last-child {
    border-bottom: 0;
}
.dashboard-list-row strong,
.dashboard-list-row small {
    display: block;
}
.dashboard-list-row small {
    color: #91a0bd;
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dashboard-list-row em {
    background: rgb(39 169 225 / 12%);
    border: 1px solid rgb(39 169 225 / 30%);
    border-radius: 999px;
    color: #7dd3fc;
    font-size: .72rem;
    font-style: normal;
    padding: 4px 8px;
}
.dashboard-empty {
    color: #91a0bd;
    margin: 22px 0 8px;
}
.dashboard-quick-actions {
    padding: 22px;
}
@media (max-width: 1350px) {
    .dashboard-metrics-rich {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .dashboard-workspace {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .dashboard-quick-actions {
        grid-column: 1 / -1;
    }
}
@media (max-width: 900px) {
    .dashboard-metrics-rich,
    .dashboard-workspace {
        grid-template-columns: 1fr;
    }
    .dashboard-quick-actions {
        grid-column: auto;
    }
}
@media (max-width: 760px) {
    .dashboard-list-row {
        align-items: start;
        grid-template-columns: 1fr auto;
    }
    .dashboard-list-row > span:nth-child(2) {
        grid-column: 1;
    }
}

/* PR292 personal language selector. */
.language-switcher { position: fixed; z-index: 20; top: 18px; right: 28px; }
.language-switcher label { margin: 0; }
.language-switcher select { width: auto; min-width: 72px; padding: 8px 30px 8px 12px; background: #111a32; }
.profile-link { display: block; padding: 7px 0; color: #7dd3fc; }
.profile-language-panel { max-width: 560px; }
.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; }
@media (max-width: 900px) { .language-switcher { position: absolute; top: 18px; right: 18px; } }


/* PR296 dashboard trends and activity. */
.dashboard-insights-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:18px;margin:18px 0}
.dashboard-insights-grid .dashboard-activity-panel{grid-column:1/-1}
.dashboard-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.dashboard-panel header h2{margin:3px 0 0}.dashboard-panel header small{color:var(--muted);text-align:right}
.dashboard-trend-chart{display:flex;align-items:flex-end;gap:12px;height:220px;padding-top:32px}
.dashboard-trend-point{display:flex;flex:1;align-items:center;flex-direction:column;justify-content:flex-end;height:100%;min-width:0}
.dashboard-trend-value{color:var(--muted);font-size:.72rem;margin-bottom:7px;white-space:nowrap}
.dashboard-trend-bar{width:min(44px,80%);min-height:8px;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,var(--accent),var(--primary));box-shadow:0 0 24px color-mix(in srgb,var(--primary) 30%,transparent)}
.dashboard-trend-label{color:var(--muted);font-size:.72rem;margin-top:8px}
.dashboard-status-list{display:grid;gap:18px}.dashboard-status-row>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}
.dashboard-status-track{display:block;height:9px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.dashboard-status-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent))}
.dashboard-activity-list{display:grid}.dashboard-activity-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.dashboard-activity-row:last-child{border-bottom:0}.dashboard-activity-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--accent);background:rgba(52,123,255,.12)}
.dashboard-activity-row strong,.dashboard-activity-row small{display:block}.dashboard-activity-row small{color:var(--muted)}
.dashboard-activity-meta{text-align:right}.dashboard-activity-meta em{display:inline-block;margin-top:4px;padding:3px 8px;border:1px solid var(--line);border-radius:99px;color:var(--accent);font-size:.72rem;font-style:normal}
@media(max-width:980px){.dashboard-insights-grid{grid-template-columns:1fr}.dashboard-insights-grid .dashboard-activity-panel{grid-column:auto}}
@media(max-width:640px){.dashboard-trend-chart{gap:5px;height:180px}.dashboard-trend-value{font-size:.62rem;writing-mode:vertical-rl}.dashboard-activity-row{grid-template-columns:32px minmax(0,1fr)}.dashboard-activity-meta{grid-column:2;text-align:left}}

/* PR298: AFB Communications brand palette. */
:root {
  --afb-midnight: #061526;
  --afb-navy: #0a1d33;
  --afb-panel: #0e223b;
  --afb-panel-strong: #102943;
  --afb-blue: #138dcc;
  --afb-cyan: #54c8ec;
  --afb-white: #f7fbff;
  --afb-line: #1e4564;
  --afb-muted: #9eb5c8;
}
body {
  background: radial-gradient(circle at 78% -12%, rgba(19, 141, 204, .14), transparent 34%), var(--afb-midnight);
  color: var(--afb-white);
}
.sidebar {
  background: linear-gradient(180deg, #07182b 0%, var(--afb-midnight) 100%);
  border-color: var(--afb-line);
}
.sidebar nav a:hover,
.sidebar nav a.active {
  background: linear-gradient(90deg, rgba(19, 141, 204, .25), rgba(84, 200, 236, .07));
  box-shadow: inset 3px 0 0 var(--afb-cyan);
  color: var(--afb-white);
}
.dashboard-header {
  background: radial-gradient(circle at 88% 20%, color-mix(in srgb, var(--tenant-primary, var(--afb-blue)) 26%, transparent), transparent 38%), linear-gradient(135deg, var(--afb-panel-strong), var(--afb-navy));
  border-color: color-mix(in srgb, var(--tenant-primary, var(--afb-blue)) 48%, var(--afb-line));
}
.dashboard-stat,
.dashboard-panel,
main article,
.card,
.panel {
  background-color: var(--afb-panel);
  border-color: var(--afb-line);
}
.dashboard-stat {
  background-image: linear-gradient(145deg, var(--afb-panel-strong), var(--afb-panel));
}
.eyebrow,
a,
.dashboard-panel header a {
  color: var(--tenant-accent, var(--afb-cyan));
}
.button-primary,
button.primary,
input[type="submit"] {
  background: linear-gradient(135deg, var(--tenant-primary, var(--afb-blue)), var(--tenant-accent, var(--afb-cyan)));
  border-color: transparent;
  color: var(--afb-white);
}
input:focus,
select:focus,
textarea:focus {
  border-color: var(--tenant-accent, var(--afb-cyan));
  box-shadow: 0 0 0 3px rgba(84, 200, 236, .14);
}
.dashboard-trend-bar,
.dashboard-status-track i {
  background: linear-gradient(180deg, var(--tenant-accent, var(--afb-cyan)), var(--tenant-primary, var(--afb-blue)));
}
.muted,
.dashboard-stat small,
.dashboard-panel small {
  color: var(--afb-muted);
}
@media (max-width: 760px) {
  .dashboard-header { background-position: center; }
}


/* PR299 graphical CRM overview. */
.crm-visual-overview,
.crm-search-panel {
    margin-bottom: 24px;
}

.crm-section-heading {
    align-items: flex-end;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.crm-section-heading h2,
.crm-search-panel h2,
.crm-distribution-panel h3 {
    margin: 4px 0 0;
}

.crm-live-badge {
    background: rgba(37, 194, 109, .12);
    border: 1px solid rgba(37, 194, 109, .3);
    border-radius: 999px;
    color: #70e6a3;
    font-size: .78rem;
    font-weight: 700;
    padding: 7px 11px;
}

.crm-kpi-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.crm-kpi-card {
    align-items: center;
    background: linear-gradient(145deg, rgba(16, 41, 67, .96), rgba(9, 27, 48, .98));
    border: 1px solid rgba(84, 200, 236, .18);
    border-radius: 18px;
    display: flex;
    gap: 16px;
    min-height: 132px;
    overflow: hidden;
    padding: 22px;
    position: relative;
}

.crm-kpi-card::after {
    background: var(--afb-cyan);
    border-radius: 50%;
    bottom: -58px;
    content: "";
    filter: blur(2px);
    height: 112px;
    opacity: .08;
    position: absolute;
    right: -30px;
    width: 112px;
}

.crm-kpi-icon {
    align-items: center;
    background: rgba(84, 200, 236, .12);
    border: 1px solid rgba(84, 200, 236, .2);
    border-radius: 14px;
    color: var(--afb-cyan);
    display: inline-flex;
    flex: 0 0 46px;
    font-size: 1.35rem;
    height: 46px;
    justify-content: center;
}

.crm-kpi-companies .crm-kpi-icon {
    background: rgba(45, 195, 118, .12);
    border-color: rgba(45, 195, 118, .22);
    color: #6de3a4;
}

.crm-kpi-contacts .crm-kpi-icon {
    background: rgba(73, 123, 238, .13);
    border-color: rgba(73, 123, 238, .24);
    color: #82a8ff;
}

.crm-kpi-card small,
.crm-kpi-card span {
    color: var(--afb-muted);
    display: block;
}

.crm-kpi-card strong {
    color: var(--afb-white);
    display: block;
    font-size: 2rem;
    line-height: 1.05;
    margin: 5px 0 7px;
}

.crm-distribution-panel,
.crm-search-panel {
    background: linear-gradient(135deg, rgba(13, 35, 60, .98), rgba(8, 25, 44, .98));
    border: 1px solid rgba(84, 200, 236, .18);
    border-radius: 18px;
    margin-top: 16px;
    padding: 22px 24px;
}

.crm-distribution-panel {
    align-items: center;
    display: grid;
    gap: 30px;
    grid-template-columns: minmax(220px, .75fr) minmax(300px, 1.25fr);
}

.crm-distribution-bars {
    display: grid;
    gap: 16px;
}

.crm-distribution-row > div {
    display: flex;
    justify-content: space-between;
    margin-bottom: 7px;
}

.crm-progress {
    background: rgba(255, 255, 255, .07);
    border-radius: 999px;
    display: block;
    height: 9px;
    overflow: hidden;
}

.crm-progress i {
    background: linear-gradient(90deg, var(--afb-blue), var(--afb-cyan));
    border-radius: inherit;
    display: block;
    height: 100%;
}

.crm-distribution-contacts .crm-progress i {
    background: linear-gradient(90deg, #2dc376, #54c8ec);
}

.crm-search-panel > p {
    color: var(--afb-muted);
    margin: 7px 0 18px;
}

.crm-search-panel .relation-search {
    margin: 0;
}

@media (max-width: 980px) {
    .crm-kpi-grid {
        grid-template-columns: 1fr;
    }

    .crm-distribution-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .crm-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* PR300 graphical Sales overview. */
.sales-page-header{align-items:center;background:radial-gradient(circle at 88% 20%,rgba(84,200,236,.2),transparent 35%),linear-gradient(135deg,var(--afb-panel-strong),var(--afb-navy));border:1px solid var(--afb-line);border-radius:20px;display:flex;justify-content:space-between;margin-bottom:18px;padding:26px}
.sales-page-header h1{margin:5px 0}.sales-live-badge{background:rgba(37,194,109,.12);border:1px solid rgba(37,194,109,.3);border-radius:999px;color:#70e6a3;font-size:.78rem;font-weight:700;padding:7px 11px}
.sales-kpi-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.sales-kpi-card{align-items:center;background:linear-gradient(145deg,rgba(16,41,67,.96),rgba(9,27,48,.98));border:1px solid rgba(84,200,236,.18);border-radius:18px;color:var(--afb-white);display:flex;gap:16px;min-height:128px;padding:22px}.sales-kpi-card:hover{border-color:var(--tenant-accent,var(--afb-cyan));transform:translateY(-2px)}
.sales-kpi-icon{align-items:center;background:rgba(84,200,236,.12);border-radius:14px;color:var(--afb-cyan);display:flex;font-size:1.35rem;height:48px;justify-content:center;width:48px}.sales-kpi-card small,.sales-kpi-card em{color:var(--afb-muted);display:block;font-style:normal}.sales-kpi-card strong{display:block;font-size:2rem;line-height:1;margin:6px 0}.sales-orders .sales-kpi-icon{background:rgba(45,195,118,.12);color:#70e6a3}.sales-invoices .sales-kpi-icon{background:rgba(73,123,238,.13);color:#82a8ff}
.sales-overview-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr)}.sales-funnel-panel,.sales-actions-panel{background:linear-gradient(135deg,rgba(13,35,60,.98),rgba(8,25,44,.98));border:1px solid rgba(84,200,236,.18);border-radius:18px;padding:24px}.sales-funnel-panel h2,.sales-actions-panel h2{margin:5px 0 22px}.sales-funnel{display:grid;gap:20px}.sales-funnel>div{display:grid;gap:8px;grid-template-columns:1fr auto}.sales-funnel i{background:rgba(255,255,255,.07);border-radius:999px;display:block;grid-column:1/-1;height:10px;overflow:hidden}.sales-funnel b{background:linear-gradient(90deg,var(--afb-blue),var(--afb-cyan));border-radius:inherit;display:block;height:100%}.sales-actions-panel a{border-bottom:1px solid var(--afb-line);color:var(--afb-white);display:flex;justify-content:space-between;padding:15px 0}.sales-actions-panel a:last-child{border-bottom:0}.sales-actions-panel b{color:var(--afb-cyan)}
@media(max-width:980px){.sales-kpi-grid,.sales-overview-grid{grid-template-columns:1fr}}@media(max-width:620px){.sales-page-header{align-items:flex-start;flex-direction:column;gap:16px}.sales-kpi-card{min-height:0}}

/* PR302 expanded My Profile. */
.profile-page-header{align-items:center;background:linear-gradient(135deg,var(--afb-panel-strong),var(--afb-navy));border:1px solid var(--afb-line);border-radius:20px;display:flex;justify-content:space-between;margin-bottom:18px;padding:26px}.profile-security-badge{background:rgba(37,194,109,.12);border:1px solid rgba(37,194,109,.3);border-radius:999px;color:#70e6a3;font-size:.78rem;font-weight:700;padding:7px 11px}.profile-details-panel{max-width:920px}.profile-form-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form-grid label{display:grid;gap:8px}.profile-help{color:var(--afb-muted);font-size:.86rem;margin:20px 0}.profile-details-form .action-button{min-width:180px}@media(max-width:720px){.profile-page-header{align-items:flex-start;flex-direction:column;gap:16px}.profile-form-grid{grid-template-columns:1fr}}

/* PR303 opt-in TOTP two-factor authentication. */
.profile-security-panel{align-items:center;display:flex;gap:24px;justify-content:space-between;margin-top:18px;max-width:920px}.profile-security-panel h2{margin:.25rem 0}.two-factor-setup{display:grid;gap:18px;justify-items:start;max-width:720px}.two-factor-qr{background:#fff;border-radius:14px;display:block;height:260px;padding:10px;width:260px}.recovery-codes ul{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:20px 0;padding:0}.recovery-codes code{display:block;font-size:1rem;padding:10px}.profile-security-panel form{width:100%}@media(max-width:720px){.profile-security-panel{align-items:flex-start;flex-direction:column}.recovery-codes ul{grid-template-columns:1fr}.two-factor-qr{height:min(260px,80vw);width:min(260px,80vw)}}


/* Post-deployment account navigation polish. */
.account-email {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* PR304 graphical support overview */
.support-overview {
    display: grid;
    gap: 18px;
    margin-bottom: 22px;
}
.support-overview-kpis {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.support-overview-kpi {
    background: linear-gradient(145deg, #121d38, #0d162c);
    border: 1px solid #2a385b;
    border-radius: 16px;
    display: grid;
    gap: 7px;
    min-width: 0;
    overflow: hidden;
    padding: 20px;
    position: relative;
}
.support-overview-kpi::before {
    background: var(--tenant-accent, #55c8f3);
    content: "";
    inset: 0 auto 0 0;
    position: absolute;
    width: 4px;
}
.support-overview-kpi span,
.support-overview-kpi small {
    color: #aebbd6;
}
.support-overview-kpi strong {
    color: #fff;
    font-size: 2rem;
    line-height: 1;
}
.support-overview-kpi:hover {
    border-color: var(--tenant-accent, #55c8f3);
    transform: translateY(-2px);
}
.support-overview-kpi.is-waiting::before,
.support-overview-kpi.is-warning::before {
    background: #f59e0b;
}
.support-overview-kpi.is-danger::before {
    background: #ef4444;
}
.support-overview-distributions {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.support-overview-chart,
.support-overview-recent {
    margin-top: 0;
}
.support-overview-chart {
    display: grid;
    gap: 12px;
}
.support-overview-chart h2 {
    margin-bottom: 4px;
}
.support-overview-bar {
    display: grid;
    gap: 7px;
}
.support-overview-bar > span {
    display: flex;
    gap: 12px;
    justify-content: space-between;
}
.support-overview-bar small {
    color: #94a3bd;
}
.support-overview-bar i {
    background: #0a1123;
    border-radius: 999px;
    display: block;
    height: 7px;
    overflow: hidden;
}
.support-overview-bar b {
    background: var(--tenant-primary, #2f6fed);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 2px;
}
.support-overview-bar .bar-urgent,
.support-overview-bar .bar-overdue {
    background: #ef4444;
}
.support-overview-bar .bar-high,
.support-overview-bar .bar-waiting {
    background: #f59e0b;
}
.support-overview-heading {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}
.support-overview-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.support-overview-ticket-list {
    display: grid;
    gap: 8px;
}
.support-overview-ticket {
    align-items: center;
    background: #0b1225;
    border: 1px solid #263252;
    border-radius: 11px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 13px 15px;
}
.support-overview-ticket:hover {
    border-color: var(--tenant-accent, #55c8f3);
}
.support-overview-ticket-main,
.support-overview-ticket-meta {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.support-overview-ticket-main strong {
    color: var(--tenant-accent, #55c8f3);
}
.support-overview-ticket-main small,
.support-overview-ticket-meta small {
    color: #94a3bd;
}
.support-overview-ticket-meta {
    justify-items: end;
    text-align: right;
}
@media (max-width: 1050px) {
    .support-overview-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .support-overview-kpis,
    .support-overview-distributions {
        grid-template-columns: 1fr;
    }
    .support-overview-heading,
    .support-overview-ticket {
        align-items: stretch;
        flex-direction: column;
    }
    .support-overview-ticket-meta {
        justify-items: start;
        text-align: left;
    }
}

/* PR305 graphical telephony overview. */
.telephony-overview{display:grid;gap:18px;margin-bottom:22px}.telephony-kpis{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.telephony-kpi{background:linear-gradient(145deg,#121d38,#0d162c);border:1px solid #2a385b;border-radius:16px;color:#fff;display:grid;gap:7px;min-width:0;padding:20px;position:relative}.telephony-kpi::before{background:var(--tenant-accent,#55c8f3);content:"";inset:0 auto 0 0;position:absolute;width:4px}.telephony-kpi.is-danger::before{background:#ef4444}.telephony-kpi.is-success::before{background:#25c26d}.telephony-kpi span,.telephony-kpi small{color:#aebbd6}.telephony-kpi strong{font-size:2rem;line-height:1}.telephony-kpi:hover{border-color:var(--tenant-accent,#55c8f3);transform:translateY(-2px)}.telephony-panels{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.telephony-panel{margin:0}.telephony-panel h2{margin:5px 0 16px}.telephony-ranking{display:grid;gap:8px}.telephony-ranking>div{align-items:center;background:#0b1225;border:1px solid #263252;border-radius:11px;display:flex;gap:12px;justify-content:space-between;padding:13px 15px}.telephony-ranking span{color:#94a3bd;font-size:.86rem;text-align:right}.telephony-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media(max-width:980px){.telephony-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.telephony-kpis,.telephony-panels{grid-template-columns:1fr}.telephony-ranking>div{align-items:flex-start;flex-direction:column}.telephony-ranking span{text-align:left}.telephony-actions{justify-content:flex-start}}

/* PR307 cancel two-factor login challenge. */
.two-factor-cancel-form{margin-top:10px}.two-factor-cancel{background:transparent;border:1px solid #33415f;color:#b8c4dc;width:100%}.two-factor-cancel:hover{border-color:#55c8f3;color:#fff}

/* PR308 graphical settings overview and 2FA cancel polish. */
.settings-overview-header{align-items:center;background:radial-gradient(circle at 88% 20%,rgba(84,200,236,.18),transparent 36%),linear-gradient(135deg,var(--afb-panel-strong),var(--afb-navy));border:1px solid var(--afb-line);border-radius:20px;display:flex;gap:20px;justify-content:space-between;margin-bottom:22px;padding:26px}.settings-overview-header h1{margin:5px 0}.settings-overview-header p{margin-bottom:0;max-width:720px}.settings-overview-badge{background:rgba(37,194,109,.12);border:1px solid rgba(37,194,109,.3);border-radius:999px;color:#70e6a3;font-size:.78rem;font-weight:750;padding:8px 12px;white-space:nowrap}.settings-overview-section{margin:0 0 26px}.settings-overview-section>header{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin-bottom:13px}.settings-overview-section>header h2{margin:4px 0 0}.settings-overview-section>header p{font-size:.88rem;margin:0;max-width:520px;text-align:right}.settings-overview-grid{display:grid;gap:13px;grid-template-columns:repeat(3,minmax(0,1fr))}.settings-overview-card{align-items:center;background:linear-gradient(145deg,rgba(16,41,67,.96),rgba(9,27,48,.98));border:1px solid rgba(84,200,236,.18);border-radius:15px;color:var(--afb-white);display:grid;font:inherit;gap:14px;grid-template-columns:44px minmax(0,1fr) auto;min-height:102px;padding:18px;text-align:left;width:100%}.settings-overview-card:hover{border-color:var(--tenant-accent,var(--afb-cyan));transform:translateY(-2px)}.settings-overview-card strong,.settings-overview-card small{display:block}.settings-overview-card small{color:var(--afb-muted);font-size:.82rem;margin-top:5px}.settings-overview-card>b{color:var(--afb-cyan)}.settings-overview-icon{align-items:center;background:rgba(84,200,236,.11);border:1px solid rgba(84,200,236,.18);border-radius:12px;color:var(--afb-cyan);display:flex;font-size:1.15rem;height:44px;justify-content:center;width:44px}.settings-overview-button{cursor:pointer}.two-factor-cancel-form{margin-top:12px}.two-factor-cancel{align-items:center;background:rgba(84,200,236,.06);border:1px solid rgba(84,200,236,.28);border-radius:10px;color:#c8d8ec;cursor:pointer;display:flex;font:inherit;font-size:.86rem;font-weight:700;justify-content:center;min-height:42px;padding:10px 14px;transition:background .16s ease,border-color .16s ease,color .16s ease;width:100%}.two-factor-cancel:hover,.two-factor-cancel:focus-visible{background:rgba(84,200,236,.12);border-color:var(--afb-cyan);color:#fff;outline:none}@media(max-width:1050px){.settings-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.settings-overview-header,.settings-overview-section>header{align-items:flex-start;flex-direction:column}.settings-overview-section>header p{text-align:left}.settings-overview-grid{grid-template-columns:1fr}.settings-overview-badge{white-space:normal}.settings-overview-card{min-height:0}}

/* PR309 graphical central WordPress fleet dashboard. */
.wp-fleet-header{align-items:center;background:radial-gradient(circle at 88% 20%,rgba(84,200,236,.2),transparent 36%),linear-gradient(135deg,var(--afb-panel-strong),var(--afb-navy));border:1px solid var(--afb-line);border-radius:20px;display:flex;gap:20px;justify-content:space-between;margin-bottom:18px;padding:26px}.wp-fleet-header h1{margin:5px 0}.wp-fleet-header p{margin:0}.wp-fleet-badge{background:rgba(37,194,109,.12);border:1px solid rgba(37,194,109,.3);border-radius:999px;color:#70e6a3;font-size:.78rem;font-weight:750;padding:8px 12px;white-space:nowrap}.wp-fleet-kpis{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.wp-fleet-kpis article{background:linear-gradient(145deg,#121d38,#0d162c);border:1px solid #2a385b;border-radius:16px;display:grid;gap:7px;padding:20px;position:relative}.wp-fleet-kpis article::before{background:var(--afb-cyan);content:"";inset:0 auto 0 0;position:absolute;width:4px}.wp-fleet-kpis .is-success::before{background:#25c26d}.wp-fleet-kpis .is-warning::before{background:#f59e0b}.wp-fleet-kpis .is-danger::before{background:#ef4444}.wp-fleet-kpis span,.wp-fleet-kpis small{color:var(--afb-muted)}.wp-fleet-kpis strong{font-size:2rem;line-height:1}.wp-fleet-panel-heading{align-items:flex-end;display:flex;gap:18px;justify-content:space-between}.wp-fleet-panel-heading h2{margin:4px 0 14px}.wp-fleet-seen,.wp-fleet-error{display:block;margin-top:5px}.wp-fleet-error{color:#ff8f8f}.wp-fleet-actions{display:flex;flex-wrap:wrap;gap:7px}.wp-fleet-actions form{margin:0}.wp-fleet-panel table{margin-bottom:18px}@media(max-width:1000px){.wp-fleet-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.wp-fleet-panel{overflow-x:auto}}@media(max-width:650px){.wp-fleet-header,.wp-fleet-panel-heading{align-items:flex-start;flex-direction:column}.wp-fleet-kpis{grid-template-columns:1fr}.wp-fleet-badge{white-space:normal}}

/* PR312 ticket workspace and full AFB logo. */
.ticket-workspace-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);margin-bottom:18px}.ticket-workflow-card{margin:0}.ticket-card-heading{align-items:flex-end;border-bottom:1px solid var(--afb-line);display:flex;gap:20px;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.ticket-card-heading h2,.ticket-summary-card h2{margin:4px 0 0}.ticket-card-heading>span{color:var(--afb-muted);font-size:.86rem;text-align:right}.ticket-workflow-form{display:grid;gap:18px}.ticket-workflow-fields{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.ticket-workflow-fields label{display:grid;gap:8px}.ticket-workflow-save{justify-self:start;min-height:46px;min-width:220px;padding:11px 20px}.ticket-summary-column{display:grid;gap:18px}.ticket-summary-card{margin:0}.ticket-summary-card dl{display:grid;gap:10px;margin:14px 0 0}.ticket-summary-card dl>div{border-top:1px solid var(--afb-line);display:grid;gap:4px;padding-top:10px}.ticket-summary-card dt{color:var(--afb-muted);font-size:.8rem}.ticket-summary-card dd{margin:0}.ticket-danger-zone{align-items:center;border:1px solid rgba(239,68,68,.28);border-radius:14px;display:flex;gap:18px;justify-content:space-between;margin-top:18px;padding:16px 18px}.ticket-danger-zone div{display:grid;gap:4px}.ticket-danger-zone small{color:var(--afb-muted)}.ticket-danger-zone form{margin:0}@media(max-width:980px){.ticket-workspace-grid{grid-template-columns:1fr}.ticket-summary-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ticket-card-heading,.ticket-danger-zone{align-items:stretch;flex-direction:column}.ticket-card-heading>span{text-align:left}.ticket-workflow-fields,.ticket-summary-column{grid-template-columns:1fr}.ticket-workflow-save,.ticket-danger-zone button{width:100%}}

/* PR313 tenant email delivery centre. */
.mail-health-card{margin-top:18px}.mail-health-card h2{margin:4px 0 0}.mail-health-identity{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0}.mail-health-identity span,.mail-auth-item{border:1px solid var(--afb-line);border-radius:12px;display:grid;gap:5px;padding:14px}.mail-health-identity span{color:var(--afb-muted);font-size:.8rem}.mail-health-identity strong{color:var(--afb-text);font-size:.95rem;overflow-wrap:anywhere}.mail-auth-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.mail-auth-item span{color:var(--afb-muted);font-size:.8rem}.mail-auth-item.valid strong{color:#86efac}.mail-auth-item.missing strong{color:#fcd34d}.mail-auth-item.unknown strong{color:var(--afb-muted)}@media(max-width:700px){.mail-health-identity,.mail-auth-grid{grid-template-columns:1fr}}

/* PR314 Microsoft 365 workspace polish. */
.m365-workspace{max-width:none}.m365-workspace-heading{align-items:flex-end;border-bottom:1px solid var(--afb-line);display:flex;gap:24px;justify-content:space-between;margin-bottom:22px;padding-bottom:17px}.m365-workspace-heading h2{margin:4px 0 0}.m365-workspace-heading p{color:var(--afb-muted);margin:0;max-width:520px;text-align:right}.m365-workspace .integration-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.m365-workspace .integration-grid label{display:grid;gap:8px}.m365-workspace .checkbox-row{align-items:center;display:flex!important}.m365-workspace .form-actions{align-items:end;display:flex}.m365-save-button{min-height:46px;min-width:210px}.m365-workspace>form:not(.integration-grid){display:inline-flex;margin:18px 10px 0 0}.m365-secondary-button{min-height:42px}.m365-workspace input{width:100%}.m365-workspace input[name=directory_tenant_id],.m365-workspace input[name=client_id]{color:var(--afb-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem}@media(max-width:760px){.m365-workspace-heading{align-items:flex-start;flex-direction:column}.m365-workspace-heading p{text-align:left}.m365-workspace .integration-grid{grid-template-columns:1fr}.m365-workspace>form:not(.integration-grid){display:flex;margin-right:0}.m365-save-button,.m365-secondary-button{width:100%}}

/* PR315 platform UI and empty-state consistency. */
.invoice-aging-grid,.metric-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.metric-card{background:var(--afb-panel);border:1px solid var(--afb-line);border-radius:16px;display:grid;gap:7px;min-height:104px;padding:20px}.metric-card span,.metric-card small{color:var(--afb-muted)}.metric-card strong{font-size:1.55rem}.table-panel tbody tr:only-child td[colspan]{color:var(--afb-muted);padding:34px 18px;text-align:center}.primary,.primary-button,.primary-link,.action-button{align-items:center;background:linear-gradient(135deg,var(--afb-primary),var(--afb-secondary));border:0;border-radius:10px;color:#fff!important;display:inline-flex;font-weight:750;justify-content:center;min-height:42px;padding:10px 16px;text-decoration:none}.secondary-button,.compact-action{align-items:center;background:rgba(255,255,255,.035);border:1px solid var(--afb-line);border-radius:10px;color:var(--afb-text)!important;display:inline-flex;font-weight:700;justify-content:center;min-height:42px;padding:9px 15px;text-decoration:none}.secondary-button:hover,.compact-action:hover{border-color:var(--afb-primary);color:var(--afb-secondary)!important}.license-overview dl{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.license-overview dl>div{background:rgba(255,255,255,.025);border:1px solid var(--afb-line);border-radius:12px;padding:14px}.license-overview dt{color:var(--afb-muted);font-size:.8rem}.license-overview dd{font-weight:700;margin:5px 0 0}.integration-card small{color:var(--afb-secondary)}@media(max-width:900px){.invoice-aging-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.license-overview dl{grid-template-columns:1fr}}@media(max-width:600px){.invoice-aging-grid,.metric-grid{grid-template-columns:1fr}.primary,.primary-button,.secondary-button{width:100%}}

/* PR316 support workspace navigation. */
.support-view-hidden{display:none!important}.support-create-panel{max-width:980px}.support-create-panel .support-create-form{margin:0}.nav-section[data-nav-prefixes="/support"] .nav-submenu a{padding-left:38px}@media(max-width:720px){.support-create-panel{max-width:none}}

/* PR318 graphical tenant sales lists. */
.sales-list-intro{align-items:center;background:linear-gradient(110deg,rgba(47,111,237,.13),rgba(85,200,243,.06));display:flex;justify-content:space-between;margin-bottom:18px;padding:22px 26px}.sales-list-intro h2{margin:4px 0}.sales-list-intro p{color:var(--afb-muted);margin:0}.tenant-data-badge{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);border-radius:999px;color:#86efac;font-size:.78rem;font-weight:700;padding:7px 12px}.sales-list-kpis{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.sales-list-kpi,.invoice-aging-grid .metric-card{background:var(--afb-panel);border:1px solid var(--afb-line);border-radius:16px;display:grid;gap:5px;min-height:112px;padding:20px;position:relative;overflow:hidden}.sales-list-kpi:before,.invoice-aging-grid .metric-card:before{background:var(--afb-accent);content:"";inset:0 auto 0 0;position:absolute;width:4px}.sales-list-kpi span,.invoice-aging-grid .metric-card span{color:var(--afb-muted)}.sales-list-kpi strong,.invoice-aging-grid .metric-card strong{font-size:1.65rem}.sales-list-kpi small{color:var(--afb-muted)}.sales-list-kpi.is-active:before{background:#f59e0b}.sales-list-kpi.is-complete:before{background:#22c55e}.sales-list-kpi.is-value:before{background:#818cf8}.sales-list-table{overflow:hidden}.sales-list-table table{margin:0;min-width:760px;width:100%}.sales-empty-state{color:var(--afb-muted);padding:38px!important;text-align:center}@media(max-width:1100px){.sales-list-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.sales-list-intro{align-items:flex-start;flex-direction:column;gap:14px}.sales-list-kpis{grid-template-columns:1fr}.sales-list-kpi,.invoice-aging-grid .metric-card{min-height:auto}}

/* PR319 graphical tenant quote overview. */
.quote-list-kpis .is-active:before{background:#f59e0b}.quote-list-kpis .is-complete:before{background:#22c55e}.quote-list-kpis .is-value:before{background:#818cf8}.quote-list-kpis strong{overflow-wrap:anywhere}

/* PR320 graphical tenant license centre. */
.license-page-header{align-items:center}.license-state-badge{border:1px solid;border-radius:999px;font-size:.8rem;font-weight:800;padding:8px 14px}.license-state-badge.is-active{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35);color:#86efac}.license-state-badge.is-grace{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.35);color:#fcd34d}.license-state-badge.is-blocked{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:#fca5a5}.license-metric-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.license-metric-grid article{background:var(--afb-panel);border:1px solid var(--afb-line);border-radius:16px;display:grid;gap:5px;padding:20px}.license-metric-grid span,.license-metric-grid small{color:var(--afb-muted)}.license-metric-grid strong{font-size:1.45rem;overflow-wrap:anywhere}.license-module-panel header{align-items:center;display:flex;justify-content:space-between}.license-module-panel h2{margin:4px 0}.license-module-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.license-module-card{align-items:center;background:rgba(8,20,39,.35);border:1px solid var(--afb-line);border-radius:14px;display:flex;gap:12px;padding:16px}.license-module-card div{display:grid;gap:3px}.license-module-card small{color:var(--afb-muted)}.license-module-check{align-items:center;background:rgba(34,197,94,.14);border-radius:50%;color:#86efac;display:flex;height:30px;justify-content:center;width:30px}.license-verification-panel{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.license-verification-panel div{display:grid;gap:4px}.license-verification-panel small,.license-verification-panel p{color:var(--afb-muted)}.license-verification-panel p{grid-column:1/-1;margin:0}.license-warning,.license-empty-state{align-items:flex-start;display:flex;gap:16px;margin-bottom:18px}.license-warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);border-radius:14px;color:#fcd34d;padding:15px 18px}.license-warning span{color:var(--afb-muted);margin-left:8px}.license-empty-icon{align-items:center;background:rgba(239,68,68,.14);border-radius:50%;color:#fca5a5;display:flex;font-size:1.3rem;font-weight:900;height:42px;justify-content:center;width:42px}.license-no-modules{display:grid;gap:5px;grid-column:1/-1}.license-no-modules span{color:var(--afb-muted)}@media(max-width:1000px){.license-metric-grid,.license-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.license-page-header,.license-module-panel header{align-items:flex-start}.license-metric-grid,.license-module-grid,.license-verification-panel{grid-template-columns:1fr}.license-verification-panel p{grid-column:auto}.license-warning span{display:block;margin:5px 0 0}}

/* PR321 graphical secure tenant integration centre. */
.integration-centre-header{align-items:center}.integration-centre-kpis{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.integration-centre-kpis article{background:var(--afb-panel);border:1px solid var(--afb-line);border-radius:16px;display:grid;gap:5px;overflow:hidden;padding:20px;position:relative}.integration-centre-kpis article:before{background:var(--afb-accent);content:"";inset:0 auto 0 0;position:absolute;width:4px}.integration-centre-kpis .is-active:before{background:#22c55e}.integration-centre-kpis .is-attention:before{background:#f59e0b}.integration-centre-kpis .is-disabled:before{background:#64748b}.integration-centre-kpis span,.integration-centre-kpis small{color:var(--afb-muted)}.integration-centre-kpis strong{font-size:1.6rem}.integration-centre-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.integration-centre-card{background:var(--afb-panel);border:1px solid var(--afb-line);border-radius:18px;color:var(--afb-text);display:grid;gap:10px;min-height:250px;padding:24px;text-decoration:none;transition:border-color .2s,transform .2s}.integration-centre-card:hover{border-color:var(--afb-accent);transform:translateY(-2px)}.integration-centre-card header,.integration-card-footer{align-items:center;display:flex;justify-content:space-between}.integration-provider-icon{align-items:center;background:rgba(85,200,243,.12);border:1px solid rgba(85,200,243,.25);border-radius:12px;color:var(--afb-accent);display:flex;font-size:1.15rem;font-weight:900;height:44px;justify-content:center;width:44px}.integration-centre-card h2{margin:0}.integration-centre-card p{color:var(--afb-muted);margin:0}.integration-card-footer{border-top:1px solid var(--afb-line);margin-top:auto;padding-top:16px}.integration-card-footer span{display:grid;gap:3px}.integration-card-footer small{color:var(--afb-muted)}.integration-card-footer b{color:var(--afb-accent)}.connection-state.attention{background:rgba(245,158,11,.12);color:#fcd34d}.integration-centre-empty{align-items:center;display:flex;gap:16px;grid-column:1/-1}.integration-centre-empty>span{font-size:2rem}.integration-centre-empty h2{margin:4px 0}.integration-centre-empty p,.integration-security-note{color:var(--afb-muted)}.integration-security-note{font-size:.82rem;margin-top:16px}@media(max-width:950px){.integration-centre-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.integration-centre-header{align-items:flex-start}.integration-centre-kpis,.integration-centre-grid{grid-template-columns:1fr}.integration-card-footer{align-items:flex-start;gap:12px}.integration-centre-card{min-height:auto}}
.yeastar-sync-status{align-items:flex-start;background:var(--afb-panel);border:1px solid var(--afb-line);border-left:4px solid var(--afb-accent);border-radius:18px;display:grid;gap:18px;grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:18px;padding:22px}.yeastar-sync-status.is-connected{border-left-color:#22c55e}.yeastar-sync-status.is-attention{border-left-color:#f59e0b}.yeastar-sync-status.is-disabled{border-left-color:#64748b}.yeastar-sync-status-icon{align-items:center;background:rgba(85,200,243,.12);border:1px solid rgba(85,200,243,.25);border-radius:14px;color:var(--afb-accent);display:flex;font-size:1.5rem;font-weight:900;height:50px;justify-content:center;width:50px}.yeastar-sync-status h2{font-size:1.2rem;margin:4px 0 6px}.yeastar-sync-status p{color:var(--afb-muted);margin:0}.yeastar-sync-status-times{display:flex;flex-wrap:wrap;gap:24px;margin-top:16px}.yeastar-sync-status-times span{display:grid;gap:3px}.yeastar-sync-status-times small{color:var(--afb-muted)}@media(max-width:700px){.yeastar-sync-status{grid-template-columns:auto minmax(0,1fr)}.yeastar-sync-status>.connection-state{grid-column:2;justify-self:start}.yeastar-sync-status-times{gap:14px}}

/* PR322 graphical platform management centre. */
.platform-management-header{align-items:center}.platform-management-kpis{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.platform-management-kpis article{background:var(--afb-panel);border:1px solid var(--afb-line);border-radius:16px;display:grid;gap:5px;overflow:hidden;padding:20px;position:relative}.platform-management-kpis article:before{background:linear-gradient(180deg,var(--afb-primary),var(--afb-accent));content:"";inset:0 auto 0 0;position:absolute;width:4px}.platform-management-kpis span,.platform-management-kpis small{color:var(--afb-muted)}.platform-management-kpis strong{font-size:1.6rem}.platform-tenant-grid .tenant-card{transition:border-color .2s,transform .2s}.platform-tenant-grid .tenant-card:hover{border-color:var(--afb-accent);transform:translateY(-2px)}.platform-user-panel{margin-bottom:18px}.platform-user-panel>h2{margin-top:0}.platform-user-panel .user-row{background:rgba(8,20,39,.3);border:1px solid var(--afb-line);border-radius:14px;padding:12px}.platform-user-panel .new-user-grid{gap:16px}.platform-user-panel .primary{min-height:44px}@media(max-width:1000px){.platform-management-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.platform-management-header{align-items:flex-start}.platform-management-kpis{grid-template-columns:1fr}.platform-user-panel .user-row{display:grid;grid-template-columns:1fr}.platform-user-panel .user-row>*{min-width:0;width:100%}}

/* PR323 dashboard spacing and tenant navigation. */
.dashboard-panel{padding:24px}.dashboard-panel .dashboard-trend-chart{padding-left:8px;padding-right:8px}.dashboard-panel .dashboard-status-list{padding-left:4px;padding-right:4px}.dashboard-panel .dashboard-activity-list{padding-left:4px;padding-right:4px}@media(max-width:640px){.dashboard-panel{padding:18px}.dashboard-panel .dashboard-trend-chart,.dashboard-panel .dashboard-status-list,.dashboard-panel .dashboard-activity-list{padding-left:0;padding-right:0}}

/* PR325 private tenant return navigation. */
.nav-inline-form{margin:0}.nav-inline-form button{appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;padding:9px 12px;text-align:left;width:100%}.nav-inline-form button:hover{color:var(--afb-accent)}
.sidebar .nav-inline-form button {
    color: rgba(235, 245, 252, .78);
    line-height: 1.45;
}
.sidebar .nav-inline-form button:hover,
.sidebar .nav-inline-form button:focus-visible {
    background: rgba(0, 149, 219, .18);
    color: #fff;
}
/* PR325 clear per-module licence cards. */
.license-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 24px}.license-module-option{background:rgba(8,20,39,.42);border:1px solid var(--afb-line);border-radius:16px;display:grid;gap:18px;min-width:0;padding:18px;transition:border-color .2s,box-shadow .2s}.license-module-option.is-enabled{border-color:rgba(74,222,128,.55);box-shadow:inset 0 3px 0 rgba(74,222,128,.72)}.license-module-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.license-module-toggle{align-items:flex-start;display:flex;flex-direction:row;gap:11px;margin:0;min-width:0}.license-module-toggle input{flex:0 0 auto;margin-top:4px;width:auto}.license-module-toggle span{display:grid;gap:5px;min-width:0}.license-module-toggle strong{font-size:1.02rem}.license-module-toggle small{color:var(--afb-muted);line-height:1.45}.license-module-state{background:rgba(148,163,184,.12);border:1px solid var(--afb-line);border-radius:999px;color:var(--afb-muted);font-size:.72rem;font-weight:750;padding:5px 8px;white-space:nowrap}.is-enabled .license-module-state{background:rgba(34,197,94,.13);border-color:rgba(74,222,128,.4);color:#86efac}.license-module-price{gap:8px;margin:0}.license-price-input{align-items:center;background:#0b1225;border:1px solid #33415f;border-radius:10px;display:flex;overflow:hidden}.license-price-input b{color:var(--afb-muted);padding-left:13px}.license-price-input input{border:0;border-radius:0;min-width:0}.license-price-input input:focus{outline:0}@media(max-width:1100px){.license-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.license-module-grid{grid-template-columns:1fr}.license-module-heading{gap:8px}.license-module-option{padding:16px}}
/* PR330 AFB Communications visual consistency system. */
:root {
    --afb-dark: #0c3050;
    --afb-dark-2: #0a253f;
    --afb-blue: #0095db;
    --afb-orange: #fea501;
    --afb-white: #ffffff;
    --afb-text: #f4f8fb;
    --afb-muted: #b8c9d8;
    --afb-panel: #103b5d;
    --afb-panel-strong: #0d3453;
    --afb-line: rgba(255, 255, 255, .14);
    --afb-primary: #0095db;
    --afb-secondary: #007cb9;
    --afb-accent: #fea501;
    --afb-cyan: #0095db;
    --afb-container: 1440px;
    --afb-shadow: 0 18px 45px rgba(0, 0, 0, .28);
    color-scheme: dark;
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
}
html, body { background: var(--afb-dark-2); color: var(--afb-text); }
body { font-family: "Open Sans", Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.65; }
a { transition: color .22s ease, background .22s ease, border-color .22s ease, transform .22s ease; }
a:hover { color: var(--afb-orange); }
p, .muted { color: var(--afb-muted); }

.afb-app-topbar {
    align-items: center;
    backdrop-filter: blur(6px);
    background: rgba(12, 48, 80, .94);
    border-bottom: 1px solid rgba(0, 53, 89, 1);
    box-shadow: 0 4px 4px rgba(0, 0, 0, .34);
    display: flex;
    height: 78px;
    inset: 0 0 auto 250px;
    padding: 0 clamp(24px, 4vw, 56px);
    position: fixed;
    z-index: 80;
}
.afb-app-home {
    align-items: center;
    background: #fff;
    border-radius: 8px;
    display: inline-flex;
    padding: 7px 10px;
}
.afb-app-home img { display: block; height: 36px; max-width: 210px; width: auto; }
.afb-app-context {
    border-left: 1px solid rgba(255,255,255,.2);
    display: grid;
    gap: 1px;
    margin-left: 22px;
    padding-left: 22px;
}
.afb-app-context span { color: #fff; font-size: .98rem; font-weight: 800; }
.afb-app-context small { color: var(--afb-muted); }
.afb-app-topbar-actions { align-items: center; display: flex; gap: 16px; margin-left: auto; }
.afb-app-topbar-actions > a { color: #fff; font-size: .88rem; font-weight: 700; }
.afb-app-topbar-actions > a:hover { color: var(--afb-orange); }
.afb-auth-topbar {
    align-items: center;
    background: rgba(12,48,80,.7);
    border-bottom: 1px solid rgba(0,53,89,1);
    box-shadow: 0 4px 4px rgba(0,0,0,.32);
    color: rgba(255,255,255,.85);
    display: flex;
    font-size: .82rem;
    gap: 20px;
    justify-content: flex-end;
    left: 0;
    min-height: 45px;
    padding: 8px clamp(22px,5vw,72px);
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}
.afb-auth-topbar a { color: #fff; font-weight: 700; }
.sidebar {
    background: linear-gradient(180deg, #0c3050, #0a253f);
    border-right: 1px solid rgba(255,255,255,.09);
    box-shadow: 8px 0 28px rgba(0,0,0,.18);
    padding: 25px 18px;
    z-index: 90;
}
.sidebar .brand {
    border-bottom: 1px solid rgba(255,255,255,.13);
    color: #fff;
    margin-bottom: 18px;
    min-height: 57px;
    padding: 0 10px 18px;
}
.sidebar .brand-mark { background: #fff; border-radius: 9px; padding: 5px; }
.sidebar nav a, .nav-section-heading a { color: rgba(255,255,255,.76); }
.sidebar nav a:hover,
.sidebar nav a.active,
.nav-section.is-active > .nav-section-heading {
    background: rgba(0,149,219,.22);
    color: #fff;
}
.nav-icon { color: var(--afb-orange); }
.nav-submenu { border-left-color: rgba(254,165,1,.55); }
.nav-inline-form button:hover { background: rgba(0,149,219,.18); color: #fff; }
.account {
    border-top: 1px solid rgba(255,255,255,.13);
    color: rgba(255,255,255,.72);
    padding-top: 18px;
}
.account a, .account .link-button { color: #fff; }
.provider-links { border-top-color: rgba(255,255,255,.13); }

.main {
    background:
        radial-gradient(circle at 92% 2%, rgba(0,149,219,.13), transparent 26rem),
        var(--afb-dark-2);
    margin-left: 250px;
    min-height: 100vh;
    padding: 118px clamp(24px,4vw,56px) 52px;
}
.main > * { margin-left: auto; margin-right: auto; max-width: var(--afb-container); }
.page-header {
    align-items: flex-end;
    border-bottom: 1px solid rgba(255,255,255,.13);
    gap: 24px;
    margin-bottom: 26px;
    padding-bottom: 22px;
}
.page-header h1 {
    color: #fff;
    font-size: clamp(1.85rem,3vw,2.7rem);
    letter-spacing: -.025em;
    line-height: 1.16;
}
.page-header p { margin-bottom: 0; max-width: 760px; }
.eyebrow { color: var(--afb-orange); font-size: .74rem; letter-spacing: .14em; }

.panel, .card, .table-panel, .form-panel, .module-card, .dashboard-panel,
.dashboard-stat, .crm-kpi-card, .support-overview-kpi, .relation-card,
.metric-card, .sales-list-kpi, .integration-centre-card,
.license-module-option, .tenant-card {
    background: linear-gradient(145deg, rgba(16,59,93,.98), rgba(12,48,80,.98));
    border: 1px solid var(--afb-line);
    box-shadow: var(--afb-shadow);
    color: var(--afb-text);
}
.panel, .card, .table-panel, .dashboard-panel { border-radius: 15px; }
.dashboard-stat, .crm-kpi-card, .support-overview-kpi, .metric-card { border-radius: 14px; }
.dashboard-stat strong, .crm-kpi-card strong, .support-overview-kpi strong,
.metric-card strong, .sales-list-kpi strong { color: #fff; }
.dashboard-stat small, .dashboard-stat span, .crm-kpi-card span,
.support-overview-kpi span, .support-overview-kpi small,
.metric-card span, .metric-card small { color: var(--afb-muted); }
.dashboard-stat::before, .crm-kpi-card::before, .support-overview-kpi::before,
.sales-list-kpi::before, .metric-card::before {
    background: linear-gradient(180deg, var(--afb-blue), var(--afb-orange));
}
.dashboard-panel header, .dashboard-section-head,
.integration-card-footer { border-color: var(--afb-line); }
.dashboard-trend-bar, .dashboard-status-track { background: rgba(255,255,255,.1); }
.dashboard-trend-bar, .dashboard-status-track i { background-color: var(--afb-blue); }

table { background: transparent; }
th { background: rgba(6,35,58,.72); color: #fff; }
th, td { border-bottom-color: var(--afb-line); }
td { color: #edf5fa; }
tbody tr:hover { background: rgba(0,149,219,.12); }
.table-panel a { color: #67c7ef; }
.table-panel a:hover { color: var(--afb-orange); }

input, select, textarea {
    background: rgba(6,35,58,.78);
    border-color: rgba(255,255,255,.2);
    color: #fff;
}
input::placeholder, textarea::placeholder { color: #8fa9bc; }
input:focus, select:focus, textarea:focus {
    border-color: var(--afb-blue);
    box-shadow: 0 0 0 3px rgba(0,149,219,.18);
    outline: 0;
}
label { color: #edf5fa; font-weight: 650; }
.primary, button.primary, .primary-button, .primary-link, .action-button {
    background: var(--afb-blue);
    border: 0;
    border-radius: 7px;
    box-shadow: 0 8px 18px rgba(0,149,219,.22);
    color: #fff !important;
}
.primary:hover, button.primary:hover, .primary-button:hover, .primary-link:hover {
    background: #007cb9;
    color: #fff !important;
    transform: translateY(-1px);
}
.secondary-button, .compact-action {
    background: rgba(255,255,255,.04);
    border-color: var(--afb-blue);
    border-radius: 7px;
    color: #fff !important;
}
.secondary-button:hover, .compact-action:hover {
    background: var(--afb-blue);
    border-color: var(--afb-blue);
    color: #fff !important;
}
.alert { background: rgba(171,42,42,.22); border-color: rgba(255,117,117,.55); color: #ffd1d1; }
.success-notice, .success-panel { background: rgba(31,137,80,.2); border-color: rgba(87,211,143,.5); color: #baf4d4; }
.badge, .status-pill { background: rgba(0,149,219,.17); color: #d9f3ff; }
.tenant-data-badge, .connection-state.connected { color: #aaf0c8; }

.auth-page {
    background:
        linear-gradient(135deg,rgba(12,48,80,.96),rgba(10,37,63,.9)),
        radial-gradient(circle at 85% 10%,rgba(254,165,1,.45),transparent 30%);
}
.auth-page::before {
    background: linear-gradient(90deg,var(--afb-orange),var(--afb-blue));
    content: "";
    height: 5px;
    inset: 0 0 auto;
    position: fixed;
    z-index: 3;
}
.auth-page .login-card {
    background: rgba(12,48,80,.96);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 14px;
    box-shadow: 0 28px 70px rgba(0,0,0,.38);
    color: #fff;
    padding: 36px;
    position: relative;
}
.auth-page .login-card::after {
    background: var(--afb-orange);
    border-radius: 0 0 14px 14px;
    bottom: 0;
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
}
.auth-page .session-expired-card { text-align: center; }
.auth-page .session-expired-card .login-logo { margin-inline: auto; }
.auth-page .session-expired-card .session-login-link {
    display: block;
    margin-top: 24px;
    text-align: center;
    text-decoration: none;
    width: 100%;
}
.auth-page .login-logo {
    background: #fff;
    border-radius: 10px;
    padding: 12px;
    width: min(250px,78%);
}
.auth-page h1, .auth-page label { color: #fff; }
.auth-page .login-intro { color: var(--afb-muted); }
.language-switcher { position: static; }
.language-switcher select {
    background: rgba(6,35,58,.72);
    border-color: rgba(255,255,255,.2);
    color: #fff;
    min-height: 36px;
    padding: 6px 28px 6px 10px;
}

@media (max-width: 1100px) {
    .main { padding-left: 28px; padding-right: 28px; }
}
@media (max-width: 900px) {
    .afb-app-topbar { height: 70px; inset: 0 0 auto; padding: 0 20px; }
    .afb-app-home img { height: 30px; }
    .afb-app-context { display: none; }
    .sidebar { box-shadow: none; margin-top: 70px; }
    .main { margin-left: 0; padding: 32px 20px 44px; }
}
@media (max-width: 600px) {
    .afb-auth-topbar { justify-content: center; padding: 8px 16px; }
    .afb-auth-topbar span { display: none; }
    .auth-page { padding-top: 60px; }
    .auth-page .login-card { padding: 26px 20px; }
    .afb-app-topbar-actions > a { display: none; }
    .page-header { align-items: flex-start; }
    .panel, .card, .dashboard-panel { padding: 20px; }
}

/* PR331 central light surface map; feature layouts reuse these shared surfaces. */
body.theme-light .dashboard-header,
body.theme-light .compact-page-header,
body.theme-light .integration-centre-header,
body.theme-light .license-page-header,
body.theme-light .platform-management-header,
body.theme-light .company-contact-card,
body.theme-light .contact-call-panel,
body.theme-light .contact-note-panel,
body.theme-light .hub-card,
body.theme-light .integration-card,
body.theme-light .integration-form-card,
body.theme-light .invoice-payment-panel,
body.theme-light .invoice-status-panel,
body.theme-light .license-module-card,
body.theme-light .license-module-panel,
body.theme-light .license-verification-panel,
body.theme-light .mail-health-card,
body.theme-light .order-status-panel,
body.theme-light .planner-card,
body.theme-light .platform-user-panel,
body.theme-light .profile-security-panel,
body.theme-light .quote-list-kpis article,
body.theme-light .reminder-panel,
body.theme-light .sales-kpi-card,
body.theme-light .support-create-panel,
body.theme-light .telephony-kpi,
body.theme-light .telephony-panel,
body.theme-light .tenant-create-panel,
body.theme-light .ticket-summary-card,
body.theme-light .ticket-workflow-card,
body.theme-light .user-admin-panel,
body.theme-light .wp-fleet-panel,
body.theme-light .yeastar-scope-panel {
    background: rgba(255,255,255,.98);
    border-color: #dce5ec;
    box-shadow: 0 12px 36px rgba(12,48,80,.12);
    color: #24374a;
}
body.theme-light .dashboard-header h1,
body.theme-light .compact-page-header h1,
body.theme-light .integration-centre-header h1,
body.theme-light .license-page-header h1,
body.theme-light .platform-management-header h1,
body.theme-light .sales-page-header h1,
body.theme-light .settings-overview-header h1,
body.theme-light .wp-fleet-header h1 { color: #0c3050; }

/* PR332 unified Light typography and nested surfaces. */
body.theme-light {
    --afb-text: #111827;
    --afb-muted: #334155;
}
body.theme-light .main { color: #111827; }
body.theme-light .main h1,
body.theme-light .main h2,
body.theme-light .main h3,
body.theme-light .main h4,
body.theme-light .main h5,
body.theme-light .main h6,
body.theme-light .main strong,
body.theme-light .main dd { color: #111827; }
body.theme-light .main p,
body.theme-light .main small,
body.theme-light .main dt,
body.theme-light .main .muted,
body.theme-light .ticket-card-heading > span,
body.theme-light .ticket-summary-card dt,
body.theme-light .telephony-kpi span,
body.theme-light .telephony-kpi small,
body.theme-light .telephony-ranking span,
body.theme-light .mail-health-identity span,
body.theme-light .mail-auth-item span { color: #334155; }
body.theme-light .sales-actions-panel a { color: #111827; }
body.theme-light .telephony-ranking > div,
body.theme-light .platform-user-panel .user-row,
body.theme-light .license-overview dl > div,
body.theme-light .mail-health-identity span,
body.theme-light .mail-auth-item {
    background: #f8fafc;
    border-color: #dce5ec;
    color: #111827;
}
body.theme-light .main .primary,
body.theme-light .main button.primary,
body.theme-light .main .primary-button,
body.theme-light .main .primary-link,
body.theme-light .main .action-button { color: #fff !important; }
body.theme-light .main .secondary-button,
body.theme-light .main .compact-action { color: #006fa6 !important; }

/* PR333 complete Light workspaces and structured Microsoft 365 settings. */
body.theme-light .planner-column,
body.theme-light .planner-card,
body.theme-light .support-overview-ticket,
body.theme-light .relation-search,
body.theme-light .relation-contact-list li,
body.theme-light .relation-overview-card,
body.theme-light .user-row,
body.theme-light .customer-ticket-row,
body.theme-light .contact-facts article {
    background: #fff;
    border-color: #dce5ec;
    box-shadow: 0 8px 24px rgba(12,48,80,.08);
    color: #111827;
}
body.theme-light .planner-column > p,
body.theme-light .planner-card p,
body.theme-light .support-overview-ticket small,
body.theme-light .relation-contact-list span,
body.theme-light .contact-facts span { color: #334155; }
body.theme-light .support-overview-ticket:hover,
body.theme-light .relation-contact-list li:hover { background: #f3f9fc; }
body.theme-light .crm-search-panel .relation-search { box-shadow: none; }

.m365-workspace > form.m365-config-form { display:grid; gap:20px; margin:0; }
.m365-config-grid { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.m365-config-section {
    background: rgba(6,35,58,.28); border:1px solid var(--afb-line);
    border-radius:14px; display:grid; gap:16px; margin:0; min-width:0; padding:20px;
}
.m365-config-section legend { color:var(--afb-text); font-size:1rem; font-weight:800; padding:0 8px; }
.m365-config-section > p { margin:-6px 0 2px; }
.m365-config-section label { display:grid; gap:8px; }
.m365-config-footer,
.m365-operation-bar {
    align-items:center; border-top:1px solid var(--afb-line); display:flex;
    gap:20px; justify-content:space-between; padding-top:20px;
}
.m365-config-footer .checkbox-row { align-items:center; display:flex; gap:12px; margin:0; }
.m365-config-footer .checkbox-row input { flex:0 0 auto; width:auto; }
.m365-config-footer .checkbox-row span,
.m365-operation-bar > div:first-child { display:grid; gap:3px; }
.m365-config-footer small,
.m365-operation-bar small { color:var(--afb-muted); }
.m365-operation-bar { border:1px solid var(--afb-line); border-radius:14px; padding:16px 18px; }
.m365-operation-actions { display:flex; flex-wrap:wrap; gap:10px; }
.m365-operation-actions form { margin:0; }
.m365-save-button { min-width:210px; }
body.theme-light .m365-config-section,
body.theme-light .m365-operation-bar {
    background:#f8fafc; border-color:#dce5ec; color:#111827;
}
body.theme-light .m365-config-section legend { color:#0c3050; }
@media (max-width: 820px) {
    .m365-config-grid { grid-template-columns:1fr; }
    .m365-config-footer,
    .m365-operation-bar { align-items:stretch; flex-direction:column; }
    .m365-save-button,
    .m365-operation-actions,
    .m365-operation-actions form,
    .m365-secondary-button { width:100%; }
}
.ticket-workflow-save:active { transform:translateY(1px) scale(.99); }
.ticket-workflow-save.is-submitting,
.ticket-workflow-save[aria-busy="true"] {
    cursor:wait; opacity:.82; transform:translateY(1px);
}
.ticket-workflow-notice { margin-bottom:18px; }
body.theme-light .ticket-message {
    background:#fff; border-color:#dce5ec; box-shadow:0 8px 24px rgba(12,48,80,.08);
    color:#111827;
}
body.theme-light .ticket-message p,
body.theme-light .ticket-message header span { color:#334155; }
body.theme-light .ticket-message.internal { border-left-color:#fea501; }

/* PR334 final Light component polish. */
body.theme-light .tenant-card .status-badge {
    background:#eaf5fb; border-color:#b9dce9; color:#0c3050;
}
body.theme-light .tenant-card .status-badge.status-ok {
    background:#eaf8f0; border-color:#a9ddbd; color:#17643a;
}
body.theme-light .tenant-current {
    background:#eaf8f0; border:1px solid #a9ddbd; color:#17643a;
}
body.theme-light .connection-state.connected {
    background:#eaf8f0; border:1px solid #9dd8b5; color:#17643a;
    font-weight:800;
}
body.theme-light .connection-state.disabled {
    background:#eef2f6; border:1px solid #cbd5df; color:#334155;
}
body.theme-light .connection-state.attention {
    background:#fff7e6; border:1px solid #f1cf8a; color:#7c4a03;
}

body.theme-light .planner-metrics article {
    background:#fff; border-color:#dce5ec; box-shadow:0 10px 28px rgba(12,48,80,.09);
    color:#111827; padding:20px;
}
body.theme-light .planner-metrics article:nth-child(1) { border-top:3px solid #dc4c64; }
body.theme-light .planner-metrics article:nth-child(2) { border-top:3px solid #0095db; }
body.theme-light .planner-metrics article:nth-child(3) { border-top:3px solid #fea501; }
body.theme-light .planner-metrics article:nth-child(4) { border-top:3px solid #64748b; }
body.theme-light .planner-metrics span { color:#334155; }
body.theme-light .planner-metrics strong { color:#111827; }
body.theme-light .planner-column { border-top-width:3px; }
body.theme-light .planner-column.overdue { border-top-color:#dc4c64; }
body.theme-light .planner-column.today { border-top-color:#0095db; }
body.theme-light .planner-column.upcoming { border-top-color:#fea501; }
body.theme-light .planner-column.unscheduled { border-top-color:#64748b; }

.m365-workspace { padding:28px; }
.m365-workspace .m365-workspace-heading {
    align-items:flex-start; display:grid; gap:6px; grid-template-columns:1fr;
    justify-content:start; margin-bottom:24px;
}
.m365-workspace .m365-workspace-heading p {
    margin:0; max-width:720px; text-align:left;
}
.m365-config-section { align-content:start; }
.m365-config-section > p { line-height:1.5; margin:-5px 0 4px; min-height:0; }
.m365-config-section label { margin:0; }
.m365-config-footer { padding:18px 2px 0; }
.m365-workspace > .muted { margin:14px 2px 0; }
@media (max-width: 600px) {
    .m365-workspace { padding:20px; }
}

/* PR335 language and final interface polish. */
.login-language-switcher {
    display:flex; gap:6px; justify-content:flex-end; margin:-10px 0 20px;
}
.login-language-switcher button {
    background:#eef5f9; border:1px solid #c6d7e2; border-radius:8px;
    color:#0c3050; cursor:pointer; font:inherit; font-size:.76rem;
    font-weight:800; min-height:32px; min-width:42px; padding:6px 10px;
}
.login-language-switcher button:hover,
.login-language-switcher button.is-active {
    background:#0c3050; border-color:#0c3050; color:#fff;
}
body.theme-light .relation-contact-count {
    background:#eaf5fb; border-color:#b9dce9; color:#0c3050; font-weight:750;
}
.tenant-status-row .status-badge { text-transform:capitalize; }
.planner-metrics + .planner-grid { margin-top:2px; }

/* PR336 flat headings, explicit actions and calm Microsoft 365 sections. */
.main > .page-heading,
.main > .page-header,
.main > .dashboard-header,
.main > .compact-page-header,
.main > .integration-centre-header,
.main > .license-page-header,
.main > .platform-management-header,
.main > .profile-page-header,
.main > .sales-page-header,
.main > .settings-overview-header,
.main > .wp-fleet-header {
    background:transparent !important; background-image:none !important;
    border:0; border-radius:0;
    box-shadow:none; margin-bottom:24px; min-height:0; padding:0 0 10px;
}
.main > .page-heading { margin-left:auto; margin-right:auto; }
.main > .page-heading h1 { margin:7px 0; }
.main > .page-heading p { margin:0; max-width:760px; }
body.theme-light .main .primary,
body.theme-light .main button.primary,
body.theme-light .main .primary-button,
body.theme-light .main .primary-link,
body.theme-light .main .action-button {
    background:#0095db; border:1px solid #0095db; box-shadow:0 7px 16px rgba(0,149,219,.18);
    color:#fff !important;
}
body.theme-light .main .secondary-button,
body.theme-light .main .compact-action,
body.theme-light .main .button.secondary {
    background:#fff; border:1px solid #0095db; box-shadow:none; color:#006fa6 !important;
}
body.theme-light .main .secondary-button:hover,
body.theme-light .main .compact-action:hover,
body.theme-light .main .button.secondary:hover {
    background:#eaf7fc; border-color:#007cb9; color:#0c3050 !important;
}

.m365-config-section {
    background:transparent; border:0; border-radius:0; padding:2px 22px 8px 0;
}
.m365-config-section + .m365-config-section {
    border-left:1px solid var(--afb-line); padding-left:26px; padding-right:0;
}
.m365-operation-bar {
    background:transparent; border:0; border-top:1px solid var(--afb-line);
    border-radius:0; padding:20px 2px 0;
}
body.theme-light .m365-config-section,
body.theme-light .m365-operation-bar { background:transparent; border-color:#dce5ec; }
.m365-workspace .mail-health-identity span,
.m365-workspace .mail-auth-item,
.mail-health-card .mail-health-identity span,
.mail-health-card .mail-auth-item {
    background:transparent; border:0; border-radius:0; box-shadow:none;
    padding:10px 12px 10px 0;
}
.mail-health-card .mail-health-identity,
.mail-health-card .mail-auth-grid { border-top:1px solid var(--afb-line); padding-top:10px; }
.mail-health-card .mail-auth-item + .mail-auth-item { border-left:1px solid var(--afb-line); padding-left:18px; }
@media (max-width: 820px) {
    .m365-config-section + .m365-config-section {
        border-left:0; border-top:1px solid var(--afb-line); padding:22px 0 0;
    }
    .mail-health-card .mail-auth-item + .mail-auth-item {
        border-left:0; border-top:1px solid var(--afb-line); padding-left:0;
    }
}

/* PR337 borderless headings and aligned Microsoft 365 sections. */
.mail-health-card,
.m365-permissions {
    box-sizing:border-box; margin-top:18px; max-width:none; padding:28px; width:100%;
}
.m365-section-heading { display:grid; gap:6px; margin:0 0 22px; }
.m365-section-heading h2 { margin:4px 0 0; }
.mail-health-card .mail-health-identity,
.mail-health-card .mail-auth-grid { gap:0; margin:0; }
.mail-health-card .mail-health-identity { margin-bottom:10px; }
.mail-health-card .mail-health-identity span + span {
    border-left:1px solid var(--afb-line); padding-left:18px;
}
body.theme-light .mail-health-card .mail-health-identity span,
body.theme-light .mail-health-card .mail-auth-item {
    background:transparent; border-color:transparent; box-shadow:none; color:#111827;
}
.m365-permissions > p { margin:0 0 14px; max-width:920px; }
.m365-permissions > p:last-child { margin-bottom:0; }
@media (max-width: 700px) {
    .mail-health-card,
    .m365-permissions { padding:20px; }
    .mail-health-card .mail-health-identity span + span {
        border-left:0; border-top:1px solid var(--afb-line); padding-left:0;
    }
}
.wp-runtime-versions{display:grid;gap:.35rem;margin:0;min-width:13rem}.wp-runtime-versions div{display:grid;grid-template-columns:minmax(6rem,auto) 1fr;gap:.65rem;align-items:baseline}.wp-runtime-versions dt{color:var(--muted);font-size:.76rem;font-weight:700}.wp-runtime-versions dd{margin:0;font-weight:700}.wp-runtime-versions dd small{display:block;font-weight:400}
.tenant-readiness{border-top:1px solid var(--afb-line);margin-top:1rem;padding-top:.85rem}.tenant-readiness header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.tenant-readiness-state{border:1px solid var(--afb-line);border-radius:999px;font-size:.74rem;padding:.25rem .6rem}.tenant-readiness-state.is-ready{background:#eaf8ef;border-color:#9ed8b2;color:#176b39}.tenant-readiness-state.is-partial{background:#fff6e4;border-color:#efc26b;color:#805400}.tenant-readiness-state.is-blocked{background:#fff0f1;border-color:#efafb5;color:#9b2630}.tenant-readiness ul{display:flex;flex-wrap:wrap;gap:.45rem 1rem;list-style:none;margin:.7rem 0 0;padding:0}.tenant-readiness li{align-items:center;color:var(--afb-muted);display:flex;font-size:.78rem;gap:.3rem}.tenant-readiness li.is-complete span{color:#249457}.tenant-readiness li.is-missing span{color:#c78600;font-weight:800}

/* PR347 keeps tenant information readable when management actions grow. */
.tenant-card-polished {
    align-items:stretch;
    grid-template-columns:minmax(0, 1fr);
    grid-template-rows:1fr auto;
}
.tenant-card-polished > div:first-child { min-width:0; }
.tenant-card-polished .tenant-card-actions {
    align-items:center;
    border-top:1px solid var(--afb-line);
    justify-content:flex-start;
    padding-top:1rem;
}
.tenant-card-polished .tenant-card-actions form { margin:0; }
.tenant-card-polished .tenant-card-actions .secondary-button,
.tenant-card-polished .tenant-card-actions .status-badge,
.tenant-status-row .status-badge,
.tenant-readiness-state { white-space:nowrap; }
@media (max-width: 700px) {
    .tenant-card-polished .tenant-card-actions > *,
    .tenant-card-polished .tenant-card-actions form,
    .tenant-card-polished .tenant-card-actions form button { width:100%; }
    .tenant-card-polished .tenant-card-actions { align-items:stretch; }
}

/* PR349 actionable tenant onboarding without duplicating configuration flows. */
.onboarding-step-grid {
    display:grid;
    gap:1rem;
    grid-template-columns:repeat(2, minmax(0, 1fr));
}
.onboarding-step {
    background:var(--afb-surface);
    border:1px solid var(--afb-line);
    border-left:4px solid var(--afb-orange);
    border-radius:16px;
    box-shadow:var(--afb-shadow);
    display:flex;
    flex-direction:column;
    gap:.8rem;
    min-height:180px;
    padding:1.25rem;
}
.onboarding-step.is-complete { border-left-color:#2bb673; }
.onboarding-step.is-na { border-left-color:#7b8799; }
.onboarding-step.is-error { border-left-color:#ef4f5f; }
.onboarding-step header {
    align-items:center;
    display:flex;
    gap:1rem;
    justify-content:space-between;
}
.onboarding-step header span { font-size:1.05rem; font-weight:800; }
.onboarding-step header strong {
    background:#fff6e4;
    border:1px solid #efc26b;
    border-radius:999px;
    color:#805400;
    font-size:.75rem;
    padding:.3rem .65rem;
    white-space:nowrap;
}
.onboarding-step.is-complete header strong {
    background:#eaf8ef;
    border-color:#9ed8b2;
    color:#176b39;
}
.onboarding-step.is-na header strong {
    background:var(--afb-surface-soft);
    border-color:var(--afb-line);
    color:var(--afb-muted);
}
.onboarding-step.is-error header strong {
    color:#ff9ca8;
    background:rgba(239,79,95,.14);
    border-color:#f4b7be;
}
.theme-light .onboarding-step.is-error header strong {
    color:#a11d2b;
    background:#fff0f2;
}
.onboarding-go-live-summary {
    margin-top:1rem;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
}
.onboarding-go-live-summary h2 { margin:.35rem 0; }
.onboarding-go-live-summary p { margin:0; }
.onboarding-step p { flex:1; margin:0; }
.onboarding-step form { margin:0; }
.onboarding-step .secondary-button { align-self:flex-start; }
.onboarding-security-note { margin-top:1rem; }
body.theme-light .license-admin-summary article {
    background:var(--afb-surface);
    border:1px solid var(--afb-line);
    box-shadow:var(--afb-shadow);
    color:var(--afb-text);
}
body.theme-light .license-admin-summary span { color:var(--afb-muted); }
.onboarding-lifecycle-panel {
    align-items:end;
    display:grid;
    gap:1.25rem;
    grid-template-columns:minmax(0, 1fr) minmax(280px, .7fr);
    margin-top:1rem;
}
.onboarding-lifecycle-panel form {
    align-items:end;
    display:grid;
    gap:.75rem;
    grid-template-columns:minmax(0, 1fr) auto;
    margin:0;
}
@media (max-width: 760px) {
    .onboarding-lifecycle-panel,
    .onboarding-lifecycle-panel form { grid-template-columns:1fr; }
    .onboarding-lifecycle-panel button { width:100%; }
}
.tenant-readiness li.is-na span { color:var(--afb-muted); font-weight:800; }
@media (max-width: 760px) {
    .onboarding-step-grid { grid-template-columns:1fr; }
    .onboarding-step .secondary-button,
    .onboarding-step form,
    .onboarding-step form button { width:100%; }
}

/* PR362 clear tenant and available WordPress versions. */
.wp-version-current,
.wp-version-latest { border-radius:8px; padding:7px 9px; }
.wp-version-current { background:rgba(0,149,219,.08); }
.wp-version-latest { background:rgba(34,197,94,.08); }
.wp-version-current dt,
.wp-version-latest dt { font-weight:750; }
.wp-version-current dd,
.wp-version-latest dd { font-size:.92rem; }
.wp-version-latest dd { color:#15803d; }

.lifecycle-meta{color:var(--afb-muted);font-size:.85rem;margin:.25rem 0}
.onboarding-lifecycle-panel textarea{min-height:92px;resize:vertical}

.tenant-offboarding-panel>header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.tenant-offboarding-panel h2{margin:.3rem 0}.tenant-offboarding-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.25rem}.tenant-offboarding-grid article{align-items:flex-start;background:var(--afb-surface-soft);border:1px solid var(--afb-line);border-radius:14px;display:flex;flex-direction:column;gap:.65rem;padding:1rem}.tenant-offboarding-grid article span{color:var(--afb-muted);flex:1}.tenant-offboarding-grid form{margin:0;width:100%}.tenant-offboarding-grid .secondary-button{justify-content:center;width:100%}.tenant-offboarding-warning{color:var(--afb-muted);font-size:.85rem;margin:1rem 0 0}@media(max-width:900px){.tenant-offboarding-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.tenant-offboarding-panel>header{display:grid}.tenant-offboarding-grid{grid-template-columns:1fr}}

.tenant-offboarding-item-heading{align-items:center;display:flex;gap:.75rem;justify-content:space-between;width:100%}.tenant-offboarding-grid .tenant-offboarding-item-heading .tenant-readiness-state{flex:0 0 auto}

/* PR371 keeps the radar aligned with every full-width dashboard section. */
.main .customer-radar {
    margin: 18px auto 0;
    max-width: var(--afb-container);
    width: 100%;
}
.ticket-email-card form { margin-top: 12px; }
.ticket-email-card label { margin: 0 0 10px; }
.ticket-email-card .secondary-button { width: 100%; }

/* PR370 turns existing customer-contact signals into one actionable radar. */
.customer-radar{border-left:4px solid var(--afb-orange);margin:0 0 1rem;padding:24px}.customer-radar.is-clear{border-left-color:#2bb673}.customer-radar>header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.customer-radar h2{margin:.25rem 0}.customer-radar header p{color:var(--afb-muted);margin:0}.customer-radar-state{background:#fff6e4;border:1px solid #efc26b;border-radius:999px;color:#805400;font-size:.76rem;font-weight:800;padding:.35rem .7rem;white-space:nowrap}.customer-radar.is-clear .customer-radar-state{background:#eaf8ef;border-color:#9ed8b2;color:#176b39}.customer-radar-list{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.1rem}.customer-radar-item{align-items:center;background:var(--afb-surface-soft);border:1px solid var(--afb-line);border-radius:13px;color:var(--afb-text);display:grid;gap:.75rem;grid-template-columns:auto 1fr auto;padding:1rem;text-decoration:none}.customer-radar-item:hover{border-color:var(--tenant-primary,#0095db);transform:translateY(-1px)}.customer-radar-item span:nth-child(2){display:grid;gap:.2rem}.customer-radar-item small,.customer-radar-clear small{color:var(--afb-muted)}.customer-radar-item b{color:var(--tenant-primary,#0095db)}.customer-radar-icon{align-items:center;background:rgba(0,149,219,.1);border-radius:10px;color:var(--tenant-primary,#0095db);display:flex;height:38px;justify-content:center;width:38px}.customer-radar-item.is-urgent .customer-radar-icon{background:rgba(239,79,95,.12);color:#d62f42}.customer-radar-clear{align-items:center;background:rgba(43,182,115,.08);border:1px solid rgba(43,182,115,.3);border-radius:13px;display:flex;gap:.8rem;grid-column:1/-1;padding:1rem}.customer-radar-clear>span{align-items:center;background:#2bb673;border-radius:50%;color:#fff;display:flex;height:32px;justify-content:center;width:32px}.customer-radar-clear>div{display:grid;gap:.15rem}@media(max-width:900px){.customer-radar-list{grid-template-columns:1fr}}@media(max-width:620px){.customer-radar>header{display:grid}.customer-radar{padding:20px}}

.snelstart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.snelstart-customer{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface)}.snelstart-customer small{display:block;color:var(--muted)}@media(max-width:760px){.snelstart-grid{grid-template-columns:1fr}}

/* SnelStart customer selection: keep checkbox and identity together as a card. */
.snelstart-selection-heading{align-items:flex-end;display:flex;gap:18px;justify-content:space-between}.snelstart-selection-heading h2{margin:0 0 6px}.snelstart-selection-heading p{margin:0}.snelstart-selection-heading>span{background:rgba(0,149,219,.1);border:1px solid rgba(0,149,219,.25);border-radius:999px;color:var(--tenant-primary,#0095db);font-size:.78rem;font-weight:800;padding:7px 11px;white-space:nowrap}.snelstart-grid{align-items:stretch;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0}.snelstart-customer{align-items:center;background:var(--afb-surface-soft,var(--surface));border:1px solid var(--afb-line,var(--border-color));border-radius:12px;cursor:pointer;display:grid;gap:12px;grid-template-columns:20px minmax(0,1fr);margin:0;min-height:76px;padding:15px 16px}.snelstart-customer:hover{border-color:var(--tenant-primary,#0095db)}.snelstart-customer input,.snelstart-yeastar-option input{height:18px;margin:0;padding:0;width:18px}.snelstart-customer span,.snelstart-yeastar-option span{display:grid;gap:4px;min-width:0}.snelstart-customer strong,.snelstart-customer small{overflow-wrap:anywhere}.snelstart-customer small,.snelstart-yeastar-option small{color:var(--afb-muted,var(--muted));font-weight:400}.snelstart-import-actions{align-items:center;border-top:1px solid var(--afb-line,var(--border-color));display:flex;gap:18px;justify-content:space-between;padding-top:20px}.snelstart-yeastar-option{align-items:center;display:grid;gap:12px;grid-template-columns:20px minmax(0,1fr);margin:0}.snelstart-import-actions .primary{flex:0 0 auto;min-width:240px}@media(max-width:760px){.snelstart-grid{grid-template-columns:1fr}.snelstart-import-actions{align-items:stretch;flex-direction:column}.snelstart-import-actions .primary{width:100%}}@media(max-width:520px){.snelstart-selection-heading{align-items:flex-start;flex-direction:column}.snelstart-selection{padding:20px}}

/* PR376 explicit, cache-busted SnelStart selection workspace. */
.snelstart-selection-form{display:block}.snelstart-toolbar{align-items:end;background:#f6f9fc;border:1px solid #d9e3ec;border-radius:12px;display:flex;gap:16px;justify-content:space-between;margin:18px 0 12px;padding:14px}.snelstart-search{display:grid;gap:6px;margin:0;max-width:440px;width:100%}.snelstart-search span{font-size:.8rem}.snelstart-search input{background:#fff;color:#102033;margin:0;width:100%}.snelstart-bulk-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.snelstart-bulk-actions button{width:auto}.snelstart-bulk-actions strong{color:#31506b;font-size:.82rem;min-width:92px;text-align:right}.snelstart-selection .snelstart-grid{display:grid!important;gap:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:12px 0 18px!important}.snelstart-selection label.snelstart-customer{align-items:center!important;background:#fff!important;border:1px solid #d9e3ec!important;border-radius:10px!important;cursor:pointer!important;display:flex!important;gap:12px!important;margin:0!important;min-height:64px!important;padding:12px 14px!important;width:100%!important}.snelstart-selection label.snelstart-customer:hover{background:#f5fbff!important;border-color:#0095db!important}.snelstart-selection label.snelstart-customer:has(input:checked){background:#f0f9ff!important;border-color:#79c5e7!important}.snelstart-selection label.snelstart-customer input[type=checkbox]{flex:0 0 18px!important;height:18px!important;margin:0!important;min-width:18px!important;padding:0!important;width:18px!important}.snelstart-selection label.snelstart-customer>span{display:grid!important;flex:1 1 auto!important;gap:3px!important;min-width:0!important}.snelstart-selection label.snelstart-customer strong{color:#102033!important;font-size:.9rem!important}.snelstart-selection label.snelstart-customer small{color:#60758a!important;font-size:.78rem!important;overflow-wrap:anywhere}.snelstart-no-results{background:#fff7e6;border:1px solid #f0cf8c;border-radius:10px;color:#704d0a;padding:14px;text-align:center}.snelstart-import-actions{background:#fff;border-top:1px solid #d9e3ec;bottom:0;margin:0 -4px;padding:16px 4px;position:sticky;z-index:4}.snelstart-yeastar-option input{flex:0 0 18px!important;min-width:18px!important}.theme-dark .snelstart-toolbar,.theme-dark .snelstart-import-actions{background:#0d1b2d;border-color:#29415a}.theme-dark .snelstart-selection label.snelstart-customer{background:#11243a!important;border-color:#29415a!important}.theme-dark .snelstart-selection label.snelstart-customer:hover,.theme-dark .snelstart-selection label.snelstart-customer:has(input:checked){background:#12304a!important;border-color:#55c8f3!important}.theme-dark .snelstart-selection label.snelstart-customer strong{color:#f4f8fb!important}.theme-dark .snelstart-selection label.snelstart-customer small,.theme-dark .snelstart-bulk-actions strong{color:#abc0d2!important}@media(max-width:850px){.snelstart-toolbar{align-items:stretch;flex-direction:column}.snelstart-bulk-actions{justify-content:flex-start}.snelstart-selection .snelstart-grid{grid-template-columns:1fr!important}}@media(max-width:560px){.snelstart-bulk-actions button{width:100%}.snelstart-bulk-actions strong{text-align:left}.snelstart-import-actions{position:static}}

/* PR377 keeps the Yeastar choice readable beside the import action. */
.snelstart-selection .snelstart-import-actions{align-items:center!important;background:#fff!important;border:1px solid #d9e3ec!important;border-radius:12px!important;bottom:12px!important;display:grid!important;gap:20px!important;grid-template-columns:minmax(320px,1fr) auto!important;margin:0!important;padding:16px!important}.snelstart-selection .snelstart-yeastar-option{align-items:center!important;background:#f6f9fc!important;border:1px solid #d9e3ec!important;border-radius:10px!important;display:grid!important;gap:12px!important;grid-template-columns:18px minmax(0,1fr)!important;margin:0!important;min-width:0!important;padding:12px 14px!important;width:100%!important}.snelstart-selection .snelstart-yeastar-option input[type=checkbox]{height:18px!important;margin:0!important;min-width:18px!important;padding:0!important;width:18px!important}.snelstart-selection .snelstart-yeastar-option>span{display:grid!important;gap:4px!important;min-width:0!important}.snelstart-selection .snelstart-yeastar-option strong{color:#102033!important;line-height:1.3!important}.snelstart-selection .snelstart-yeastar-option small{color:#60758a!important;line-height:1.4!important}.snelstart-selection .snelstart-import-actions>.primary{justify-self:end!important;min-width:260px!important;width:auto!important}.theme-dark .snelstart-selection .snelstart-import-actions{background:#0d1b2d!important;border-color:#29415a!important}.theme-dark .snelstart-selection .snelstart-yeastar-option{background:#11243a!important;border-color:#29415a!important}.theme-dark .snelstart-selection .snelstart-yeastar-option strong{color:#f4f8fb!important}.theme-dark .snelstart-selection .snelstart-yeastar-option small{color:#abc0d2!important}@media(max-width:760px){.snelstart-selection .snelstart-import-actions{bottom:0!important;grid-template-columns:1fr!important;position:static!important}.snelstart-selection .snelstart-import-actions>.primary{justify-self:stretch!important;width:100%!important}}


/* PR379 shows phone readiness for the selected SnelStart customers. */
.snelstart-phone-summary{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 16px}.snelstart-phone-summary>span{background:#f6f9fc;border:1px solid #d9e3ec;border-radius:10px;color:#60758a;display:grid;font-size:.75rem;gap:3px;padding:11px 12px}.snelstart-phone-summary strong{color:#102033;font-size:1.05rem}.snelstart-phone-summary .is-warning{background:#fff7e6;border-color:#f0cf8c}.snelstart-phone-state{color:#237447!important}.snelstart-customer.is-phone-missing .snelstart-phone-state{color:#9a5b00!important}.theme-dark .snelstart-phone-summary>span{background:#11243a;border-color:#29415a;color:#abc0d2}.theme-dark .snelstart-phone-summary strong{color:#f4f8fb}.theme-dark .snelstart-phone-summary .is-warning{background:#3a2b10;border-color:#775c24}@media(max-width:1050px){.snelstart-phone-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.snelstart-phone-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}


.directory-contact-group{margin-top:.55rem}.directory-contact-group summary{cursor:pointer;color:var(--primary);font-weight:700}.directory-contact-group ul{display:grid;gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none}.directory-contact-group li{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(12rem,1fr) minmax(9rem,.7fr);gap:.75rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-soft)}.directory-contact-group li span{overflow-wrap:anywhere;color:var(--muted)}
@media(max-width:760px){.directory-contact-group li{grid-template-columns:1fr}.directory-table td{vertical-align:top}}


/* PR387 main-tenant server status. */
.system-status-header{align-items:center}.system-health{border:1px solid;border-radius:999px;font-weight:800;padding:10px 16px}.system-health.is-healthy{background:#e8f8ef;border-color:#9edbb8;color:#17663a}.system-health.is-warning{background:#fff7df;border-color:#e9c96b;color:#7b5700}.system-health.is-critical{background:#fff0ef;border-color:#e8aaa5;color:#9d2e27}.system-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.system-status-card{background:var(--surface,#fff);border:1px solid var(--border,#dce3ec);border-radius:16px;box-shadow:0 12px 30px rgba(20,48,78,.08);padding:22px}.system-status-card-head{align-items:center;display:flex;justify-content:space-between}.system-status-card-head span{font-weight:800}.system-status-card-head strong{font-size:28px}.system-status-track{background:#e6edf4;border-radius:999px;height:12px;margin:20px 0 14px;overflow:hidden}.system-status-track i{background:#28a8df;border-radius:inherit;display:block;height:100%}.system-status-card.is-warning .system-status-track i{background:#dca900}.system-status-card.is-critical .system-status-track i{background:#d84b43}.system-status-card p{color:var(--muted,#64748b);margin:0}.system-status-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:20px}.system-status-details div{display:flex;flex-direction:column;gap:6px}.system-status-details small{color:var(--muted,#64748b)}.system-status-details strong{font-size:22px}.system-status-details span{color:var(--muted,#64748b);font-size:13px}.system-status-privacy h2{margin-top:0}.system-status-privacy p{margin-bottom:0;max-width:850px}@media (max-width:900px){.system-status-grid,.system-status-details{grid-template-columns:1fr}}@media (max-width:760px){.system-status-header{align-items:flex-start}.system-health{margin-top:8px}}


/* PR388 safe automatic disk cleanup. */
.system-cleanup-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr);gap:22px;margin-bottom:20px}.system-cleanup-panel h2{margin:6px 0 10px}.system-cleanup-panel p{color:var(--muted,#64748b);margin:0}.system-cleanup-result{align-self:center;background:#e8f8ef;border:1px solid #9edbb8;border-radius:14px;color:#17663a;display:flex;flex-direction:column;gap:5px;padding:18px}.system-cleanup-panel ul{border-top:1px solid var(--border,#dce3ec);grid-column:1/-1;margin:0;padding:18px 0 0 22px}@media (max-width:900px){.system-cleanup-panel{grid-template-columns:1fr}}


.support-intelligence-dashboard,.support-settings-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0}.support-program-card{margin:0}.support-program-card h2{margin-top:4px}.support-timeline-card{grid-column:1/-1}.support-data-list,.support-data-nested{display:grid;gap:8px}.support-data-row{border-top:1px solid var(--afb-line);display:grid;gap:4px;padding-top:8px}.support-data-row>strong{text-transform:capitalize}.support-summary{font-size:1rem;line-height:1.6}.support-relation-row{align-items:center;border-top:1px solid var(--afb-line);display:flex;flex-wrap:wrap;gap:8px;padding:10px 0}.support-timeline-item{border-left:3px solid var(--afb-accent);display:grid;gap:4px;margin:10px 0;padding:8px 12px}.support-timeline-item.is-internal{border-left-color:#f59e0b}.support-timeline-item>span{color:var(--afb-muted);font-size:.82rem}.support-settings-grid .panel{margin:0}@media(max-width:850px){.support-intelligence-dashboard,.support-settings-grid{grid-template-columns:1fr}.support-timeline-card{grid-column:auto}}

/* Settings interaction state without replacing the graphical card structure. */
[data-auto-open-status]{color:inherit;font-style:normal;font-weight:800}

/* Compact, sequential Support SLA settings workflow. */
.support-settings-overview{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0}.support-settings-overview .panel{margin:0;min-height:0;padding:20px 24px}.support-settings-overview h2{font-size:1.05rem;margin:5px 0 10px}.support-settings-overview p{margin:0}.support-settings-overview ul{margin:8px 0 0;padding-left:20px}.support-settings-workflow{display:grid;gap:18px;margin:20px 0}.support-settings-editor{margin:0;padding:24px}.support-settings-editor>header{align-items:flex-start;border-bottom:1px solid var(--afb-line,var(--border));display:flex;gap:24px;justify-content:space-between;margin-bottom:20px;padding-bottom:18px}.support-settings-editor>header h2{margin:5px 0 0}.support-settings-editor>header p{color:var(--afb-muted,var(--muted));margin:4px 0 0;max-width:460px;text-align:right}.support-settings-form{display:grid;gap:20px}.support-settings-fields{display:grid;gap:16px}.support-business-hours-fields{align-items:end;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(260px,.9fr)}.support-sla-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.support-settings-fields label{margin:0}.support-settings-fields input,.support-settings-fields select{margin-top:7px;width:100%}.support-settings-check{align-items:center;background:var(--afb-surface-soft,var(--surface-soft));border:1px solid var(--afb-line,var(--border));border-radius:12px;display:grid!important;gap:12px;grid-template-columns:20px minmax(0,1fr);min-height:52px;padding:11px 14px}.support-settings-check input{height:18px;margin:0!important;padding:0;width:18px}.support-settings-check span{display:grid;gap:2px}.support-settings-check small{color:var(--afb-muted,var(--muted));font-weight:400}.support-settings-form footer{align-items:center;border-top:1px solid var(--afb-line,var(--border));display:flex;gap:20px;justify-content:space-between;padding-top:18px}.support-settings-form footer p{margin:0}.support-settings-form footer button{flex:0 0 auto;margin:0;min-width:250px;width:auto}@media(max-width:1050px){.support-business-hours-fields,.support-sla-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.support-settings-check{min-height:0}}@media(max-width:700px){.support-settings-overview,.support-business-hours-fields,.support-sla-fields{grid-template-columns:1fr}.support-settings-editor>header,.support-settings-form footer{align-items:stretch;flex-direction:column}.support-settings-editor>header p{text-align:left}.support-settings-form footer button{width:100%}}
.support-business-hours-schedule{border:1px solid var(--afb-line,var(--border));border-radius:12px;display:grid;gap:16px;margin:0;padding:16px}.support-business-hours-schedule legend{font-weight:700;padding:0 6px}.support-business-hours-schedule>small{color:var(--afb-muted,var(--muted))}.support-weekdays{display:grid;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}.support-weekdays label{align-items:center;background:var(--afb-surface-soft,var(--surface-soft));border:1px solid var(--afb-line,var(--border));border-radius:10px;display:flex;gap:8px;justify-content:center;margin:0;padding:10px 8px}.support-weekdays input{height:16px;margin:0;width:16px}.support-business-hours-times{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.support-business-hours-times input{margin-top:7px;width:100%}.support-business-hours-schedule.is-disabled{opacity:.55}@media(max-width:1050px){.support-weekdays{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.support-weekdays{grid-template-columns:repeat(2,minmax(0,1fr))}.support-business-hours-times{grid-template-columns:1fr}}
.call-control-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.call-control-target strong {
    display: block;
    color: var(--accent, #23b7f2);
    font-size: 1.25rem;
    margin: 12px 0 4px;
}

.call-control-route-grid {
    margin-bottom: 28px;
}

.call-control-route {
    border-left: 4px solid var(--afb-accent, #23b7f2);
}

.call-control-route h2 {
    margin: 6px 0 12px;
}

.call-control-route strong {
    display: block;
    overflow-wrap: anywhere;
}

.call-control-route p {
    color: var(--afb-muted, #96a3bb);
    margin: 12px 0 6px;
}

.call-control-admin {
    max-width: 760px;
}

.phone-manager{margin:0 auto;max-width:1040px}.phone-manager-hero{margin-bottom:28px;text-align:center}.phone-manager-hero h1{font-size:clamp(2rem,5vw,3.4rem);margin:8px auto 12px;max-width:780px}.phone-manager-hero p{color:var(--afb-muted,var(--muted));font-size:1.08rem;margin:0 auto;max-width:680px}.phone-manager-routes{display:grid;gap:20px}.phone-manager-card{border-top:4px solid var(--afb-accent,var(--accent));margin:0;padding:26px}.phone-manager-card>header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.phone-manager-card h2{margin:5px 0}.phone-manager-card small{color:var(--afb-muted,var(--muted));font-weight:800;letter-spacing:.08em}.phone-manager-state{border-radius:999px;font-weight:800;padding:8px 12px}.phone-manager-state.is-normal{background:#e8f8ef;color:#17663a}.phone-manager-state.is-forwarded{background:#fff7df;color:#7b5700}.phone-manager-card .call-control-route-action{border-top:1px solid var(--afb-line,var(--border));margin-top:22px;padding-top:20px}.phone-manager-help{color:var(--afb-muted,var(--muted));padding:24px;text-align:center}@media(max-width:700px){.phone-manager-card>header{align-items:stretch;flex-direction:column}.phone-manager-state{align-self:flex-start}.phone-manager-card{padding:20px}}
.standalone-app-page{display:block;min-height:100vh}.standalone-app-page>.main{margin:0;min-height:calc(100vh - 76px);padding:clamp(28px,5vw,64px) clamp(18px,5vw,64px)}.standalone-app-topbar{align-items:center;background:var(--afb-nav,#082f4c);border-bottom:1px solid rgba(255,255,255,.12);display:flex;height:76px;justify-content:space-between;padding:0 clamp(18px,4vw,52px);position:relative;z-index:2}.standalone-app-brand{align-items:center;color:#fff;display:flex;font-size:1.05rem;font-weight:800;gap:14px;text-decoration:none}.standalone-app-brand img{background:#fff;border-radius:9px;height:44px;object-fit:contain;padding:5px;width:94px}.standalone-app-actions{align-items:center;display:flex;gap:10px}.standalone-app-actions form{margin:0}.standalone-app-actions .secondary-button{margin:0;padding:10px 14px}.standalone-app-actions .theme-switcher button{margin:0}.standalone-app-actions .language-switcher select{margin:0}@media(max-width:600px){.standalone-app-topbar{height:66px;padding:0 14px}.standalone-app-brand span{font-size:.92rem}.standalone-app-brand img{height:38px;width:78px}.standalone-app-actions{gap:6px}.standalone-app-actions .secondary-button{font-size:.82rem;padding:9px}.standalone-app-page>.main{min-height:calc(100vh - 66px);padding:28px 14px}.phone-manager-hero h1{font-size:2rem}}
