@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700&display=swap');

/* Client-area foundations. Keep tokens and components scoped to .ca-theme.
   Existing pages opt into ca-* components without changing marketing pages. */
.ca-theme {
    --ca-primary: #3c64f4;
    --ca-primary-hover: #2852eb;
    --ca-primary-soft: #f0f3ff;
    --ca-text: #313440;
    --ca-muted: #5e637a;
    --ca-background: #f6f7fc;
    --ca-surface: #fff;
    --ca-border: #d9dce9;
    --ca-divider: #eceef5;
    --ca-danger: #ad0000;
    --ca-danger-soft: #fff0f1;
    --ca-success: #146622;
    --ca-success-soft: #eefcf0;
    --ca-radius: 4px;
    --ca-space-1: 4px;
    --ca-space-2: 8px;
    --ca-space-3: 12px;
    --ca-space-4: 16px;
    --ca-space-6: 24px;
    --ca-space-8: 32px;
    --ca-space-12: 48px;
    --ca-font: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-family: var(--ca-font);
    font-size: 16px;
    line-height: 1.5;
    color: var(--ca-text);
    background: var(--ca-background);
}
.ca-theme *, .ca-theme *::before, .ca-theme *::after { box-sizing: border-box; }
.ca-theme [hidden] { display: none !important; }
.ca-theme :is(h1, h2, h3, h4) { color: var(--ca-text); font-family: var(--ca-font); font-weight: 600; letter-spacing: normal; }
.ca-theme a { color: var(--ca-primary); }
.ca-theme a:hover { color: var(--ca-primary-hover); }
.ca-theme :is(a, button, input, textarea, select):focus-visible { outline: 3px solid var(--ca-primary); outline-offset: 3px; }
.ca-theme button, .ca-theme input, .ca-theme textarea { font: inherit; }
.ca-theme .ca-icon { flex: 0 0 auto; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.ca-theme .ca-muted { color: var(--ca-muted); }
.ca-theme .ca-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; }
.ca-theme .ca-header { background: var(--ca-surface); border-bottom: 1px solid var(--ca-border); }
.ca-theme .ca-nav { min-height: 80px; max-width: 1280px; padding: 0 var(--ca-space-8); margin: auto; display: flex; align-items: center; gap: var(--ca-space-8); }
.ca-theme .ca-brand { font-size: 23px; font-weight: 600; letter-spacing: -.6px; text-decoration: none; white-space: nowrap; }
.ca-theme .ca-nav__links { display: flex; align-self: stretch; justify-content: center; gap: var(--ca-space-8); flex: 1; }
.ca-theme .ca-nav__links a { display: flex; align-items: center; border-bottom: 3px solid transparent; padding-top: 3px; color: var(--ca-muted); text-decoration: none; font-weight: 600; }
.ca-theme .ca-nav__links a:hover, .ca-theme .ca-nav__links a[aria-current='page'] { color: var(--ca-primary); border-bottom-color: var(--ca-primary); }
.ca-theme .ca-nav__actions { display: flex; align-items: center; gap: var(--ca-space-4); }
.ca-theme .ca-icon-button, .ca-theme .ca-avatar-button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; padding: 0; border: 0; border-radius: var(--ca-radius); background: transparent; color: var(--ca-muted); cursor: pointer; }
.ca-theme .ca-icon-button:hover { background: var(--ca-primary-soft); color: var(--ca-primary); }
.ca-theme .ca-avatar-button { border-radius: 50%; outline-offset: 4px; }
.ca-theme .ca-avatar-button[aria-expanded='true'] { outline: 2px solid var(--ca-primary); }
.ca-theme .ca-avatar { display: block; width: 40px; height: 40px; object-fit: cover; border-radius: 50%; flex-shrink: 0; }
.ca-theme .ca-avatar--large { width: 56px; height: 56px; }
.ca-theme .ca-footer { max-width: 1280px; padding: var(--ca-space-8); margin: auto; color: var(--ca-muted); font-size: 13px; }
/* Page and surface primitives. */
.ca-theme.ca-page, .ca-theme .ca-page { padding: var(--ca-space-12) var(--ca-space-8) 64px; min-height: calc(100vh - 160px); }
.ca-theme .ca-shell { max-width: 1120px; margin: auto; }
.ca-theme .ca-detail { max-width: 900px; }
.ca-theme .ca-page-heading { margin-bottom: var(--ca-space-8); }
.ca-theme .ca-back { display: inline-flex; align-items: center; gap: var(--ca-space-2); margin-bottom: var(--ca-space-6); text-decoration: none; }
.ca-theme .ca-title-row { display: flex; align-items: center; gap: var(--ca-space-4); flex-wrap: wrap; }
.ca-theme .ca-title-row h1 { font-size: 32px; line-height: 1.25; margin: 0; overflow-wrap: anywhere; }
.ca-theme .ca-page-subtitle { margin: var(--ca-space-2) 0 0; color: var(--ca-muted); overflow-wrap: anywhere; }
.ca-theme .ca-page-subtitle span { margin: 0 var(--ca-space-2); }
.ca-theme .ca-panel { background: var(--ca-surface); border: 1px solid var(--ca-border); border-radius: var(--ca-radius); margin-bottom: var(--ca-space-6); min-width: 0; }
.ca-theme .ca-panel__body { padding: var(--ca-space-6); }
.ca-theme .ca-panel h2, .ca-theme .ca-section-heading h2 { font-size: 20px; margin: 0 0 var(--ca-space-3); line-height: 1.4; }
.ca-theme .ca-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: var(--ca-space-4); margin-bottom: var(--ca-space-6); }
.ca-theme .ca-section-heading h2 { margin: 0; }
.ca-theme .ca-section-heading > span { font-size: 14px; white-space: nowrap; }
.ca-theme .ca-prose { overflow-wrap: anywhere; }
.ca-theme .ca-prose p { margin: 0 0 var(--ca-space-3); }
.ca-theme .ca-prose > :last-child { margin-bottom: 0; }
.ca-theme .ca-prose img { max-width: 100%; height: auto; }
.ca-theme .ca-prose pre { white-space: pre-wrap; }
.ca-theme .ca-prose table { max-width: 100%; table-layout: fixed; overflow-wrap: anywhere; }
.ca-theme .ca-badge { display: inline-flex; align-items: center; padding: var(--ca-space-1) var(--ca-space-3); font-size: 14px; font-weight: 600; line-height: 1.5; border-radius: var(--ca-radius); background: var(--ca-primary-soft); color: var(--ca-primary); }
.ca-theme .ca-badge.badge-danger, .ca-theme .ca-badge--danger { background: var(--ca-danger-soft); color: var(--ca-danger); }
.ca-theme .ca-badge.badge-success, .ca-theme .ca-badge--success { background: var(--ca-success-soft); color: var(--ca-success); }
.ca-theme .ca-badge.badge-warning { background: #fff9e6; color: #775500; }
.ca-theme .ca-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--ca-space-4); margin-bottom: var(--ca-space-6); }
.ca-theme .ca-metric { padding: var(--ca-space-4) var(--ca-space-6); background: var(--ca-surface); border: 1px solid var(--ca-border); border-radius: var(--ca-radius); }
.ca-theme .ca-metric dt { color: var(--ca-muted); font-size: 14px; font-weight: 400; }
.ca-theme .ca-metric dd { margin: var(--ca-space-2) 0 0; font-weight: 600; }
.ca-theme .ca-button { display: inline-flex; align-items: center; justify-content: center; padding: 10px 20px; background: var(--ca-primary); color: white; border: 1px solid var(--ca-primary); border-radius: var(--ca-radius); font-weight: 600; cursor: pointer; text-decoration: none; }
.ca-theme .ca-button:hover { color: white; background: var(--ca-primary-hover); }
.ca-theme .ca-button:disabled, .ca-theme .ca-button.disabled { opacity: .6; cursor: wait; pointer-events: none; }
.ca-theme .ca-actions { margin-bottom: var(--ca-space-6); }
.ca-theme .ca-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.ca-theme .ca-table td, .ca-theme .ca-table th { padding: var(--ca-space-4) 0; border-bottom: 1px solid var(--ca-divider); text-align: left; white-space: normal; overflow-wrap: anywhere; }
.ca-theme .ca-table tr:last-child td { border-bottom: 0; padding-bottom: 0; }
/* Tabs use native buttons and the small shared keyboard controller. */
.ca-theme .ca-tabs { display: flex; gap: var(--ca-space-4); padding: 0 var(--ca-space-4); border-bottom: 1px solid var(--ca-border); overflow-x: auto; }
.ca-theme .ca-tab { display: inline-flex; align-items: center; justify-content: center; gap: var(--ca-space-2); flex-shrink: 0; padding: 18px var(--ca-space-3) 15px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--ca-muted); cursor: pointer; }
.ca-theme .ca-tab:hover, .ca-theme .ca-tab.is-active { color: var(--ca-primary); }
.ca-theme .ca-tab.is-active { border-bottom-color: var(--ca-primary); font-weight: 600; }
.ca-theme .ca-tab:focus-visible { outline-offset: -4px; }
.ca-theme .ca-count { min-width: 22px; padding: 0 6px; border-radius: var(--ca-radius); background: var(--ca-divider); color: var(--ca-muted); font-size: 13px; line-height: 24px; }
.ca-theme .ca-tab-panel { padding: var(--ca-space-6); }
.ca-theme .ca-date-divider { display: flex; align-items: center; gap: var(--ca-space-4); margin: var(--ca-space-6) 0; color: var(--ca-muted); font-size: 14px; }
.ca-theme .ca-date-divider::before, .ca-theme .ca-date-divider::after { content: ''; height: 1px; background: var(--ca-border); flex: 1; }
.ca-theme .ca-message { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--ca-space-4); padding: var(--ca-space-3) 0 var(--ca-space-6); }
.ca-theme .ca-message + .ca-message { padding-top: var(--ca-space-6); border-top: 1px solid var(--ca-divider); }
.ca-theme .ca-message__header { display: flex; justify-content: space-between; align-items: baseline; gap: var(--ca-space-4); margin-bottom: var(--ca-space-2); }
.ca-theme .ca-message__header time { font-size: 13px; color: var(--ca-muted); white-space: nowrap; }
.ca-theme .ca-message__header strong { overflow-wrap: anywhere; }
.ca-theme .ca-attachments { display: flex; flex-wrap: wrap; gap: var(--ca-space-2); margin-top: var(--ca-space-4); }
.ca-theme .ca-attachment { display: inline-flex; align-items: center; gap: var(--ca-space-2); max-width: 100%; padding: var(--ca-space-2) var(--ca-space-3); border: 1px solid var(--ca-border); border-radius: var(--ca-radius); text-decoration: none; overflow-wrap: anywhere; }
.ca-theme .ca-attachment:hover { background: var(--ca-primary-soft); }
.ca-theme .ca-attachment span { min-width: 0; }
.ca-theme .ca-notice { display: flex; align-items: flex-start; gap: var(--ca-space-4); padding: var(--ca-space-4); border: 1px solid var(--ca-border); border-radius: var(--ca-radius); background: var(--ca-background); color: var(--ca-muted); }
.ca-theme .ca-notice .ca-icon { margin-top: 2px; }
.ca-theme .ca-notice strong { color: var(--ca-text); font-weight: 600; }
.ca-theme .ca-notice p { margin: var(--ca-space-1) 0 0; }
.ca-theme .ca-notice--success { background: var(--ca-success-soft); border-color: #d3f5d9; }
.ca-theme .ca-conversation-footer { border-top: 1px solid var(--ca-border); margin-top: var(--ca-space-2); padding-top: var(--ca-space-6); }
.ca-theme .ca-empty { padding: var(--ca-space-6) 0; color: var(--ca-muted); margin: 0; }
.ca-theme .ca-discovery-item + .ca-discovery-item { padding-top: var(--ca-space-6); border-top: 1px solid var(--ca-divider); margin-top: var(--ca-space-6); }
.ca-theme .ca-discovery-item h3 { font-size: 16px; }
/* Scope legacy React composer styling to the new component wrapper. */
.ca-theme .ca-composer { position: relative; }
.ca-theme .ca-composer .form-control { border: 1px solid var(--ca-border); border-radius: var(--ca-radius); background: var(--ca-surface); color: var(--ca-text); box-shadow: none; }
.ca-theme .ca-composer textarea { min-height: 130px; padding: var(--ca-space-3); resize: vertical; }
.ca-theme .ca-composer .btn { border-radius: var(--ca-radius); box-shadow: none; transform: none; }
.ca-theme .ca-composer .btn-primary { background: var(--ca-primary); border-color: var(--ca-primary); }
.ca-theme .ca-composer .btn-secondary { background: var(--ca-surface); border-color: var(--ca-border); color: var(--ca-text); }
.ca-theme .ca-composer .form-actions { display: flex; flex-wrap: wrap; gap: var(--ca-space-2); }
.ca-theme .ca-composer .login-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 4px; padding: var(--ca-space-6); background: rgba(246, 247, 252, .95); }
/* Native dialog supplies modal semantics, background inertness and Escape. */
.ca-theme.ca-drawer { position: fixed; inset: 80px 0 0 auto; width: 420px; max-width: 100%; height: calc(100% - 80px); max-height: none; margin: 0; padding: 0; border: 0; border-left: 1px solid var(--ca-border); background: var(--ca-surface); box-shadow: -8px 0 32px rgba(49, 52, 64, .08); }
.ca-theme.ca-drawer[open] { display: flex; flex-direction: column; }
.ca-theme.ca-drawer::backdrop { background: rgba(49, 52, 64, .035); }
html.ca-drawer-open, body.ca-drawer-open { overflow: hidden; }
.ca-theme .ca-drawer__header { display: flex; align-items: center; justify-content: space-between; gap: var(--ca-space-4); padding: var(--ca-space-6) var(--ca-space-8) var(--ca-space-3); flex-shrink: 0; }
.ca-theme .ca-drawer__header h2 { font-size: 24px; margin: 0; }
.ca-theme .ca-drawer__body { padding: 0 var(--ca-space-8) var(--ca-space-6); overflow-y: auto; flex: 1; min-height: 0; }
.ca-theme .ca-identity { display: block; padding: var(--ca-space-4) 0 var(--ca-space-6); margin-bottom: var(--ca-space-6); border-bottom: 1px solid var(--ca-border); text-align: left; }
.ca-theme .ca-identity > div { min-width: 0; overflow-wrap: anywhere; }
.ca-theme .ca-identity strong, .ca-theme .ca-identity span { display: block; }
.ca-theme .ca-identity span { margin-top: var(--ca-space-1); font-size: 14px; }
.ca-theme .ca-client-switcher h3 { font-size: 22px; margin: 0 0 var(--ca-space-1); }
.ca-theme .ca-client-switcher > p { font-size: 14px; }
.ca-theme .ca-eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .02em; color: var(--ca-muted); margin-bottom: var(--ca-space-3); }
.ca-theme .ca-client-options { display: flex; flex-direction: column; gap: var(--ca-space-2); }
.ca-theme .ca-client-option { display: flex; align-items: center; gap: var(--ca-space-3); min-height: 76px; padding: var(--ca-space-3); border: 1px solid var(--ca-divider); border-radius: var(--ca-radius); color: var(--ca-text); text-decoration: none; }
.ca-theme .ca-client-option:hover { background: var(--ca-background); text-decoration: none; }
.ca-theme .ca-client-option.is-current { background: var(--ca-primary-soft); border-color: var(--ca-primary); }
.ca-theme .ca-client-monogram { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border-radius: var(--ca-radius); background: var(--ca-divider); color: var(--ca-muted); font-weight: 600; }
.ca-theme .is-current .ca-client-monogram { background: #dbe3fe; color: var(--ca-primary); }
.ca-theme .ca-client-option__name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ca-theme .ca-client-option__state { display: flex; flex-direction: column; align-items: center; gap: var(--ca-space-1); color: var(--ca-muted); }
.ca-theme .is-current .ca-client-option__state { color: var(--ca-primary); }
.ca-theme .ca-help { margin: var(--ca-space-4) 0 0; color: var(--ca-muted); font-size: 13px; }
.ca-theme .ca-drawer__footer { display: flex; flex-direction: column; flex-shrink: 0; gap: var(--ca-space-1); border-top: 1px solid var(--ca-border); padding: var(--ca-space-4) var(--ca-space-6); }
.ca-theme .ca-drawer__footer a { display: flex; align-items: center; gap: var(--ca-space-4); padding: 10px var(--ca-space-2); color: var(--ca-muted); text-decoration: none; border-radius: var(--ca-radius); }
.ca-theme .ca-drawer__footer a:hover { color: var(--ca-primary); background: var(--ca-primary-soft); }
@media (max-width: 767px) {
    .ca-theme .ca-nav { gap: var(--ca-space-4); padding: var(--ca-space-3) var(--ca-space-4) 0; flex-wrap: wrap; }
    .ca-theme .ca-brand { flex: 1; font-size: 21px; }
    .ca-theme .ca-nav__links { order: 3; flex-basis: 100%; justify-content: flex-start; gap: var(--ca-space-6); }
    .ca-theme .ca-nav__links a { padding: var(--ca-space-3) 0; }
    .ca-theme.ca-page, .ca-theme .ca-page { padding: var(--ca-space-8) var(--ca-space-4) var(--ca-space-12); }
    .ca-theme .ca-title-row h1 { font-size: 28px; }
    .ca-theme .ca-title-row { gap: var(--ca-space-3); }
    .ca-theme .ca-panel__body, .ca-theme .ca-tab-panel { padding: var(--ca-space-4); }
    .ca-theme .ca-tabs { gap: 0; padding: 0 var(--ca-space-2); }
    .ca-theme .ca-tab { padding: var(--ca-space-4) var(--ca-space-2) 13px; font-size: 14px; }
    .ca-theme .ca-message { gap: var(--ca-space-3); grid-template-columns: 32px minmax(0, 1fr); }
    .ca-theme .ca-message .ca-avatar { width: 32px; height: 32px; }
    .ca-theme .ca-message__header { flex-wrap: wrap; gap: var(--ca-space-1) var(--ca-space-3); }
    .ca-theme.ca-drawer { inset: 0 0 0 auto; height: 100%; height: 100dvh; }
    .ca-theme .ca-drawer__header { padding: var(--ca-space-4) var(--ca-space-6) var(--ca-space-2); }
    .ca-theme .ca-drawer__body { padding: 0 var(--ca-space-6) var(--ca-space-4); }
    .ca-theme .ca-drawer__footer { padding: var(--ca-space-2) var(--ca-space-4); }
}
/* React form controls share the same tokens and surfaces as template components. */
.ca-theme .ca-field-label { display: block; margin-bottom: var(--ca-space-2); font-weight: 600; }
.ca-theme .ca-input { display: block; width: 100%; border: 1px solid var(--ca-border); border-radius: var(--ca-radius); color: var(--ca-text); background: var(--ca-surface); padding: var(--ca-space-3); }
.ca-theme .ca-input:focus { border-color: var(--ca-primary); }
.ca-theme .ca-composer__meta { display: flex; justify-content: space-between; gap: var(--ca-space-4); color: var(--ca-muted); font-size: 13px; margin-top: var(--ca-space-2); }
.ca-theme .ca-field-error { color: var(--ca-danger); font-size: 14px; margin: var(--ca-space-2) 0; }
.ca-theme .ca-field-error:empty { display: none; }
.ca-theme .ca-composer__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ca-space-3); margin-top: var(--ca-space-4); }
.ca-theme .ca-button { gap: var(--ca-space-2); }
.ca-theme .ca-button--secondary { background: var(--ca-surface); color: var(--ca-text); border-color: var(--ca-border); }
.ca-theme .ca-button--secondary:hover { background: var(--ca-background); color: var(--ca-text); }
.ca-theme .ca-upload-list { list-style: none; margin: var(--ca-space-4) 0; padding: 0; }
.ca-theme .ca-upload-item { display: flex; align-items: center; gap: var(--ca-space-3); padding: var(--ca-space-2) var(--ca-space-3); border: 1px solid var(--ca-border); border-radius: var(--ca-radius); }
.ca-theme .ca-upload-item + .ca-upload-item { margin-top: var(--ca-space-2); }
.ca-theme .ca-upload-item > span { flex: 1; overflow-wrap: anywhere; min-width: 0; }
.ca-theme .ca-upload-item small { display: block; color: var(--ca-muted); }

/* Company-scoped notification settings. */
.ca-theme .ca-text-button { padding: 0; border: 0; background: transparent; color: var(--ca-primary); font: inherit; cursor: pointer; }
.ca-theme .ca-text-button:hover { color: var(--ca-primary-hover); text-decoration: underline; }
.ca-theme .ca-company-context .ca-text-button { font-size: 16px; font-weight: 400; }
.ca-theme .ca-notifications-feedback { margin-bottom: var(--ca-space-6); }
.ca-theme .ca-notifications__header { display: flex; align-items: flex-start; gap: var(--ca-space-4); border-bottom: 1px solid var(--ca-divider); }
.ca-theme .ca-notifications__header > .ca-icon { width: 32px; height: 32px; }
.ca-theme .ca-notifications__header h2 { margin-bottom: var(--ca-space-1); }
.ca-theme .ca-notifications__header p, .ca-theme .ca-notification-section p { margin: 0; }
.ca-theme .ca-notification-section { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--ca-space-8); padding: var(--ca-space-6) 0; margin: 0 var(--ca-space-6); }
.ca-theme .ca-notification-section + .ca-notification-section { border-top: 1px solid var(--ca-divider); }
.ca-theme .ca-notification-section h2 { margin-bottom: var(--ca-space-1); }
.ca-theme .ca-notification-section__fields { min-width: 0; }
.ca-theme .ca-notification-section .ca-recipient-label { color: var(--ca-muted); font-size: 14px; margin-bottom: var(--ca-space-1); }
.ca-theme .ca-recipient { display: flex; align-items: flex-start; gap: var(--ca-space-3); margin-bottom: var(--ca-space-2); }
.ca-theme .ca-recipient__field { flex: 1; min-width: 0; }
.ca-theme .ca-recipient .ca-input { padding: 9px var(--ca-space-3); }
.ca-theme .ca-recipient__delete { display: flex; align-items: center; gap: var(--ca-space-1); }
.ca-theme .ca-recipient-add { margin-top: var(--ca-space-2); }
.ca-theme .ca-notification-section .ca-help, .ca-theme .ca-notification-section .ca-field-error { margin-top: var(--ca-space-2); }
.ca-theme .ca-notifications__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--ca-space-4); padding: var(--ca-space-6); border-top: 1px solid var(--ca-divider); }
.ca-theme .ca-notifications__footer > span { font-size: 14px; overflow-wrap: anywhere; }
.ca-theme .ca-notifications__actions { display: flex; flex-wrap: wrap; gap: var(--ca-space-3); }
@media (max-width: 767px) {
    .ca-theme .ca-notification-section { grid-template-columns: minmax(0, 1fr); gap: var(--ca-space-4); margin: 0 var(--ca-space-4); }
    .ca-theme .ca-notifications__footer { padding: var(--ca-space-4); }
    .ca-theme .ca-notifications__footer > span { flex-basis: 100%; }
    .ca-theme .ca-company-context { flex-wrap: wrap; }
}

/* Shared record-list components: billing, orders and other client-area lists. */
.ca-theme .ca-company-context { display: flex; align-items: center; gap: var(--ca-space-3); margin: var(--ca-space-4) 0 var(--ca-space-1); color: var(--ca-text); font-size: 20px; font-weight: 600; overflow-wrap: anywhere; }
.ca-theme .ca-company-context .ca-icon { width: 24px; height: 24px; color: var(--ca-muted); }
.ca-theme .ca-page-description { margin: 0; color: var(--ca-muted); }
.ca-theme .ca-panel-toolbar { display: flex; align-items: stretch; justify-content: space-between; flex-wrap: wrap; gap: 0 var(--ca-space-6); border-bottom: 1px solid var(--ca-border); }
.ca-theme .ca-filter-tabs { border-bottom: 0; }
.ca-theme .ca-filter-tabs .ca-tab { text-decoration: none; }
.ca-theme .ca-filter-form { display: flex; align-items: center; gap: var(--ca-space-3); padding: var(--ca-space-4) var(--ca-space-6); margin: 0; }
.ca-theme .ca-filter-form label { margin: 0; color: var(--ca-muted); font-size: 14px; }
.ca-theme .ca-select { min-width: 150px; min-height: 44px; border: 1px solid var(--ca-border); border-radius: var(--ca-radius); padding: var(--ca-space-2) var(--ca-space-3); color: var(--ca-text); background: var(--ca-surface); font: inherit; cursor: pointer; }
.ca-theme .ca-table-scroll { max-width: 100%; overflow-x: auto; border-radius: 0 0 var(--ca-radius) var(--ca-radius); }
.ca-theme .ca-table-scroll:focus-visible { outline: 2px solid var(--ca-primary); outline-offset: -2px; }
.ca-theme .ca-table--records { min-width: 880px; table-layout: auto; }
.ca-theme .ca-table--records :is(td, th) { padding: var(--ca-space-6); vertical-align: middle; }
.ca-theme .ca-table--records thead th { padding-top: var(--ca-space-4); padding-bottom: var(--ca-space-4); background: var(--ca-background); color: var(--ca-muted); font-size: 14px; font-weight: 600; }
.ca-theme .ca-table--records tbody th { font-weight: 600; }
.ca-theme .ca-table--records tbody tr:last-child :is(td, th) { padding-bottom: var(--ca-space-6); border-bottom: 0; }
.ca-theme .ca-table--records time { white-space: nowrap; color: var(--ca-muted); }
.ca-theme .ca-table .ca-cell-number { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ca-theme .ca-cell-amount { font-weight: 600; }
.ca-theme .ca-record-link { text-decoration: none; }
.ca-theme .ca-record-link:hover { text-decoration: underline; }
.ca-theme .ca-record-actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ca-space-3); }
.ca-theme .ca-record-actions a { display: inline-flex; align-items: center; gap: var(--ca-space-2); text-decoration: none; white-space: nowrap; }
.ca-theme .ca-record-actions a:hover { text-decoration: underline; }
.ca-theme .ca-badge { gap: 6px; }
.ca-theme .ca-badge .ca-icon { width: 16px; height: 16px; }
.ca-theme .ca-badge--warning { background: #fff9e6; color: #775500; }
.ca-theme .ca-panel-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--ca-space-3); padding: var(--ca-space-4) var(--ca-space-6); border-top: 1px solid var(--ca-divider); color: var(--ca-muted); font-size: 14px; }
.ca-theme .ca-empty-state { padding: var(--ca-space-12) var(--ca-space-6); text-align: center; }
.ca-theme .ca-empty-state > .ca-icon { width: 32px; height: 32px; margin-bottom: var(--ca-space-4); color: var(--ca-muted); }
.ca-theme .ca-empty-state p { margin: 0; }
@media (max-width: 575px) {
    .ca-theme .ca-panel-toolbar { flex-direction: column; }
    .ca-theme .ca-filter-form { padding: var(--ca-space-3) var(--ca-space-4); border-top: 1px solid var(--ca-divider); }
    .ca-theme .ca-filter-form .ca-select { flex: 1; min-width: 0; }
    .ca-theme .ca-filter-tabs .ca-tab { flex: 1; }
    .ca-theme .ca-panel-footer { padding: var(--ca-space-4); }
    .ca-theme .ca-company-context { font-size: 18px; }
}

/* Quote and project lists share desktop tables and stacked mobile rows. */
.ca-theme :is(.ca-quotes-heading, .ca-list-heading) { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ca-space-6); margin-bottom: var(--ca-space-8); }
.ca-theme :is(.ca-quotes-heading, .ca-list-heading) .ca-page-heading { margin: 0; }
.ca-theme :is(.ca-quote-request, .ca-list-request) { gap: var(--ca-space-2); flex-shrink: 0; }
.ca-theme:is(.quote-list, .project-list) .ca-filter-tabs .ca-tab { white-space: nowrap; }
.ca-theme:is(.quote-list, .project-list) :is(.ca-filter-tabs, .ca-filter-form) { min-width: 0; max-width: 100%; }
.ca-theme :is(.ca-quotes-table, .ca-list-table) { min-width: 0; table-layout: fixed; }
.ca-theme :is(.ca-quotes-table, .ca-list-table) thead th:first-child { width: 44%; }
.ca-theme :is(.ca-quotes-table, .ca-list-table) thead th:nth-child(2) { width: 17%; }
.ca-theme :is(.ca-quotes-table, .ca-list-table) thead th:nth-child(3) { width: 21%; }
.ca-theme :is(.ca-quotes-table, .ca-list-table) .ca-record-actions { align-items: flex-end; }
.ca-theme :is(.ca-quotes-table, .ca-list-table) tbody tr:hover { background: var(--ca-primary-soft); }
.ca-theme :is(.ca-quote-name, .ca-list-name) { display: flex; align-items: center; gap: var(--ca-space-4); }
.ca-theme :is(.ca-quote-name, .ca-list-name) .ca-icon { color: var(--ca-muted); }
.ca-theme :is(.ca-quote-name, .ca-list-name) span { min-width: 0; overflow-wrap: anywhere; }
.ca-theme :is(.ca-quote-mobile-label, .ca-list-mobile-label) { display: none; }
.ca-theme :is(.ca-quotes-empty, .ca-list-empty) .ca-button { margin-top: var(--ca-space-6); }
.ca-theme :is(.ca-quotes-empty--first, .ca-list-empty--first) { padding-top: 64px; padding-bottom: 64px; }
.ca-theme :is(.ca-quotes-empty-icon, .ca-list-empty-icon) { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto var(--ca-space-6); border-radius: var(--ca-radius); background: var(--ca-primary-soft); color: var(--ca-primary); }
.ca-theme :is(.ca-quotes-empty-icon, .ca-list-empty-icon) .ca-icon { width: 32px; height: 32px; }
.ca-theme :is(.ca-quotes-pagination, .ca-list-pagination) { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ca-space-4); }
@media (max-width: 767px) {
    .ca-theme :is(.ca-quotes-heading, .ca-list-heading) { flex-direction: column; gap: var(--ca-space-4); }
    .ca-theme :is(.ca-quotes-table, .ca-list-table), .ca-theme :is(.ca-quotes-table, .ca-list-table) tbody { display: block; width: 100%; }
    .ca-theme :is(.ca-quotes-table, .ca-list-table) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); }
    .ca-theme :is(.ca-quotes-table, .ca-list-table) tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--ca-space-4); padding: var(--ca-space-6) var(--ca-space-4); border-bottom: 1px solid var(--ca-divider); }
    .ca-theme :is(.ca-quotes-table, .ca-list-table) tbody tr:last-child { border-bottom: 0; }
    .ca-theme :is(.ca-quotes-table, .ca-list-table) tbody tr > :is(td, th) { display: block; padding: 0; border: 0; }
    .ca-theme :is(.ca-quotes-table, .ca-list-table) tbody th { grid-column: 1 / -1; }
    .ca-theme :is(.ca-quotes-table, .ca-list-table) :is(.ca-quote-date, .ca-list-date) { grid-column: 1 / -1; grid-row: 3; color: var(--ca-muted); font-size: 14px; }
    .ca-theme :is(.ca-quote-mobile-label, .ca-list-mobile-label) { display: inline; }
}
@media (max-width: 374px) {
    .ca-theme:is(.quote-list, .project-list) .ca-filter-tabs { gap: 0; padding: 0 var(--ca-space-2); }
    .ca-theme:is(.quote-list, .project-list) .ca-filter-tabs .ca-tab { gap: 4px; padding-right: 6px; padding-left: 6px; font-size: 13px; }
}

.ca-theme .ca-project-meta { display: flex; flex-wrap: wrap; gap: var(--ca-space-1) var(--ca-space-3); margin: var(--ca-space-1) 0 0 36px; color: var(--ca-muted); font-size: 14px; font-weight: 400; }
.ca-theme .ca-project-meta > span { min-width: 0; overflow-wrap: anywhere; }
.ca-theme .ca-project-meta > span:last-child { white-space: nowrap; }
.ca-theme .ca-project-meta > span + span::before { content: '·'; margin-right: var(--ca-space-3); }
.ca-theme .ca-list-name { align-items: flex-start; }
.ca-theme .ca-list-name .ca-icon { margin-top: 2px; }
.ca-theme .ca-list-table thead th:first-child { width: 42%; }
.ca-theme .ca-list-table thead th:nth-child(2), .ca-theme .ca-list-table thead th:nth-child(3) { width: 20%; }
.ca-theme .ca-list-table .ca-badge { white-space: nowrap; }
@media (max-width: 575px) {
    .ca-theme .ca-project-filter-suffix { display: none; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .ca-theme .ca-list-table :is(td, th) { padding-left: var(--ca-space-4); padding-right: var(--ca-space-4); }
}

/* Payment layouts and invoice summaries reuse the client panel foundations. */
.ca-theme .ca-payment-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); align-items: start; gap: var(--ca-space-6); }
.ca-theme .ca-payment-methods { min-width: 0; padding: 0; margin: var(--ca-space-6) 0; border: 0; }
.ca-theme .ca-payment-method { display: flex; align-items: center; gap: var(--ca-space-4); padding: var(--ca-space-4); margin: 0; border: 1px solid var(--ca-primary); border-radius: var(--ca-radius); background: var(--ca-primary-soft); cursor: pointer; }
.ca-theme .ca-payment-method input { flex: 0 0 auto; width: 16px; height: 16px; accent-color: var(--ca-primary); }
.ca-theme .ca-payment-method > .ca-icon { width: 24px; height: 24px; color: var(--ca-primary); }
.ca-theme .ca-payment-method strong, .ca-theme .ca-payment-method small { display: block; }
.ca-theme .ca-payment-method small { margin-top: var(--ca-space-1); color: var(--ca-muted); }
.ca-theme .ca-payment-checkout { margin-top: var(--ca-space-6); padding-top: var(--ca-space-6); border-top: 1px solid var(--ca-border); }
.ca-theme .ca-payment-form-title { margin: 0 0 var(--ca-space-4); font-size: 18px; }
.ca-theme .ca-payment-checkout .ca-notice { margin-bottom: var(--ca-space-4); }
.ca-theme .ca-payment-checkout #payment-form { min-height: 100px; }
.ca-theme .ca-payment-submit { display: flex; align-items: center; gap: var(--ca-space-4); flex-wrap: wrap; margin-top: var(--ca-space-6); }
.ca-theme .ca-payment-cancel { text-decoration: none; }
.ca-theme .ca-invoice-summary__identity { display: flex; align-items: center; justify-content: space-between; gap: var(--ca-space-3); flex-wrap: wrap; padding-bottom: var(--ca-space-6); margin-top: var(--ca-space-6); border-bottom: 1px solid var(--ca-divider); }
.ca-theme .ca-invoice-summary__identity > strong { font-size: 18px; overflow-wrap: anywhere; }
.ca-theme .ca-details-list { display: grid; gap: var(--ca-space-4); margin: var(--ca-space-6) 0; }
.ca-theme .ca-details-list > div { display: grid; grid-template-columns: minmax(80px, 1fr) minmax(0, 1.5fr); gap: var(--ca-space-4); }
.ca-theme .ca-details-list dt { color: var(--ca-muted); font-weight: 400; }
.ca-theme .ca-details-list dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.ca-theme .ca-invoice-total { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ca-space-4); flex-wrap: wrap; padding-top: var(--ca-space-6); border-top: 1px solid var(--ca-border); }
.ca-theme .ca-invoice-total > span { color: var(--ca-muted); }
.ca-theme .ca-invoice-total strong { font-size: 24px; font-variant-numeric: tabular-nums; }
.ca-theme .ca-inline-link { display: inline-flex; align-items: center; gap: var(--ca-space-2); text-decoration: none; }
.ca-theme .ca-inline-link:hover { text-decoration: underline; }
.ca-theme .ca-notice--danger { background: var(--ca-danger-soft); border-color: #fedbde; }
@media (max-width: 767px) {
    .ca-theme .ca-payment-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .ca-theme .ca-invoice-summary { grid-row: 1; }
    .ca-theme .ca-payment-method { gap: var(--ca-space-3); }
}

/* Project detail content shares quote headings, conversations and tabs. */
.ca-theme .ca-work-panel .ca-section-heading { margin-bottom: var(--ca-space-4); }
.ca-theme .ca-work-item { padding: var(--ca-space-4) 0; border-top: 1px solid var(--ca-divider); }
.ca-theme .ca-work-item:first-child { border-top: 0; padding-top: 0; }
.ca-theme .ca-work-item:last-child { padding-bottom: 0; }
.ca-theme .ca-work-meta { display: flex; flex-wrap: wrap; gap: var(--ca-space-2) var(--ca-space-6); margin: var(--ca-space-2) 0 0; font-size: 14px; }
.ca-theme .ca-work-meta > div { display: flex; align-items: baseline; gap: var(--ca-space-1); }
.ca-theme .ca-work-meta dt { color: var(--ca-muted); font-weight: 400; }
.ca-theme .ca-work-meta dt::after { content: ':'; }
.ca-theme .ca-work-meta dd { margin: 0; }
.ca-theme .ca-patch { padding: var(--ca-space-4) 0; border-bottom: 1px solid var(--ca-divider); }
.ca-theme .ca-patch:last-child { border-bottom: 0; padding-bottom: 0; }
.ca-theme .ca-patch-heading { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--ca-space-3); }
.ca-theme .ca-patch-heading a { display: inline-flex; align-items: center; gap: var(--ca-space-2); font-weight: 600; }
.ca-theme .ca-patch-heading time { color: var(--ca-muted); font-size: 14px; }
.ca-theme .ca-patch-description { margin: var(--ca-space-2) 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.ca-theme .ca-project-file-list { list-style: none; padding: 0; margin: 0; }
.ca-theme .ca-project-file { display: flex; justify-content: space-between; align-items: center; gap: var(--ca-space-3); padding: var(--ca-space-3) 0; }
.ca-theme .ca-project-file .ca-attachment { min-width: 0; }
@media (max-width: 575px) {
    .ca-theme.project-view .ca-section-heading { flex-wrap: wrap; gap: var(--ca-space-2); }
    .ca-theme.project-view .ca-tab { gap: var(--ca-space-1); }
}
@media (max-width: 374px) {
    .ca-theme.project-view .ca-tab .ca-icon { display: none; }
}

/* Dashboard overview: service rows and a supporting account panel. */
.ca-theme .ca-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); gap: var(--ca-space-6); }
.ca-theme .ca-dashboard-grid > .ca-panel { min-height: 260px; margin-bottom: 0; }
.ca-theme .ca-dashboard-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--ca-space-4); border-bottom: 1px solid var(--ca-divider); }
.ca-theme .ca-dashboard-section-title { display: flex; align-items: center; gap: var(--ca-space-3); min-width: 0; }
.ca-theme .ca-dashboard-section-title h2 { margin: 0; }
.ca-theme .ca-dashboard-section-title > .ca-icon { width: 24px; height: 24px; color: var(--ca-muted); }
.ca-theme .ca-dashboard-panel-heading > a { flex-shrink: 0; font-size: 14px; }
.ca-theme .ca-dashboard-request { color: var(--ca-primary); border-color: var(--ca-primary); }
.ca-theme .ca-dashboard-request:hover { color: var(--ca-primary-hover); background: var(--ca-primary-soft); }
.ca-theme .ca-dashboard-services { list-style: none; margin: 0; padding: 0; }
.ca-theme .ca-dashboard-service { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto auto; align-items: center; gap: var(--ca-space-4); padding: var(--ca-space-2) 0; }
.ca-theme .ca-dashboard-service + .ca-dashboard-service { margin-top: var(--ca-space-6); padding-top: var(--ca-space-6); border-top: 1px solid var(--ca-divider); }
.ca-theme .ca-dashboard-service-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--ca-radius); background: var(--ca-primary-soft); color: var(--ca-primary); }
.ca-theme .ca-dashboard-service-icon .ca-icon { width: 28px; height: 28px; }
.ca-theme :is(.ca-dashboard-service-details, .ca-dashboard-support, .ca-dashboard-empty) h3 { margin: 0 0 var(--ca-space-1); font-size: 18px; overflow-wrap: anywhere; }
.ca-theme :is(.ca-dashboard-service-details, .ca-dashboard-support, .ca-dashboard-empty) p { margin: 0; color: var(--ca-muted); font-size: 14px; overflow-wrap: anywhere; }
.ca-theme .ca-dashboard-service .ca-badge { justify-self: start; }
.ca-theme .ca-dashboard-service-action { font-size: 14px; white-space: nowrap; }
.ca-theme .ca-dashboard-billing { display: flex; align-items: flex-start; gap: var(--ca-space-3); margin-top: var(--ca-space-6); padding-top: var(--ca-space-6); border-top: 1px solid var(--ca-divider); }
.ca-theme .ca-dashboard-billing > .ca-icon { color: var(--ca-muted); margin-top: var(--ca-space-1); }
.ca-theme .ca-dashboard-billing > div { min-width: 0; }
.ca-theme .ca-dashboard-billing p { margin-top: var(--ca-space-2); }
.ca-theme .ca-dashboard-empty { padding: var(--ca-space-2) 0; }
.ca-theme .ca-dashboard-empty > .ca-icon { color: var(--ca-muted); margin-bottom: var(--ca-space-3); }
@media (min-width: 768px) and (max-width: 991px) {
    .ca-theme .ca-dashboard-service { grid-template-columns: 56px minmax(0, 1fr) auto; }
    .ca-theme .ca-dashboard-service-action { grid-column: 2 / -1; }
}
@media (max-width: 767px) {
    .ca-theme .ca-dashboard-grid { grid-template-columns: minmax(0, 1fr); }
    .ca-theme .ca-dashboard-grid > .ca-panel { min-height: 0; }
    .ca-theme .ca-dashboard-service { grid-template-columns: 48px minmax(0, 1fr) auto; gap: var(--ca-space-3); }
    .ca-theme .ca-dashboard-service-icon { width: 48px; height: 48px; }
    .ca-theme .ca-dashboard-service-action { grid-column: 2 / -1; }
}
@media (max-width: 374px) {
    .ca-theme .ca-dashboard-service { grid-template-columns: 40px minmax(0, 1fr); }
    .ca-theme .ca-dashboard-service-icon { width: 40px; height: 40px; }
    .ca-theme .ca-dashboard-service .ca-badge { grid-column: 2; }
}

/* Subscription detail shares the dashboard's restrained panels. */
.ca-theme .ca-subscription-layout { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 1.1fr); gap: var(--ca-space-6); }
.ca-theme .ca-subscription-layout > .ca-panel { margin-bottom: 0; }
.ca-theme .ca-subscription-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--ca-space-4); border-bottom: 1px solid var(--ca-divider); }
.ca-theme .ca-subscription-identity { display: flex; align-items: center; gap: var(--ca-space-4); min-width: 0; }
.ca-theme .ca-subscription-identity h2 { margin: 0; font-size: 22px; overflow-wrap: anywhere; }
.ca-theme .ca-subscription-icon { display: grid; place-items: center; flex: 0 0 48px; height: 48px; border-radius: var(--ca-radius); background: var(--ca-primary-soft); color: var(--ca-primary); }
.ca-theme .ca-subscription-icon .ca-icon { width: 28px; height: 28px; }
.ca-theme .ca-subscription-badges { display: flex; flex-wrap: wrap; gap: var(--ca-space-2); }
.ca-theme .ca-subscription-badge--neutral { background: var(--ca-background); color: var(--ca-muted); }
.ca-theme .ca-subscription-section-title { margin: 0 0 var(--ca-space-6); font-size: 20px; }
.ca-theme .ca-subscription-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ca-space-6); margin: 0; }
.ca-theme .ca-subscription-details > div { min-width: 0; }
.ca-theme .ca-subscription-details dt { margin-bottom: var(--ca-space-2); color: var(--ca-muted); font-size: 14px; font-weight: 600; }
.ca-theme .ca-subscription-details dd { margin: 0; overflow-wrap: anywhere; }
.ca-theme .ca-subscription-detail-wide { grid-column: 1 / -1; padding-top: var(--ca-space-6); border-top: 1px solid var(--ca-divider); }
.ca-theme .ca-subscription-billing > p { margin: 0 0 var(--ca-space-6); color: var(--ca-muted); }
.ca-theme .ca-subscription-payment-date { margin-bottom: var(--ca-space-6); }
.ca-theme .ca-subscription-payment-date > div { min-width: 0; }
.ca-theme .ca-subscription-payment-date span, .ca-theme .ca-subscription-payment-date strong { display: block; overflow-wrap: anywhere; }
.ca-theme .ca-subscription-payment-date span { margin-bottom: var(--ca-space-1); font-size: 14px; }
.ca-theme .ca-subscription-payment-date strong { font-weight: 400; }
.ca-theme .ca-subscription-payment-button { width: 100%; text-align: center; }
.ca-theme .ca-subscription-billing > .ca-subscription-billing-note { display: flex; justify-content: center; align-items: center; gap: var(--ca-space-2); margin: var(--ca-space-4) 0 0; font-size: 13px; }
.ca-theme .ca-subscription-billing-note .ca-icon { width: 16px; height: 16px; }
@media (max-width: 767px) {
    .ca-theme .ca-subscription-layout { grid-template-columns: minmax(0, 1fr); }
    .ca-theme .ca-subscription-details { grid-template-columns: minmax(0, 1fr); }
}

/* Subscription list reuses the responsive record table. */
.ca-theme .ca-subscriptions-heading { display: flex; align-items: center; gap: var(--ca-space-3); border-bottom: 1px solid var(--ca-divider); }
.ca-theme .ca-subscriptions-heading h2 { margin: 0; }
.ca-theme .ca-subscriptions-table thead th:first-child { width: 44%; }
.ca-theme .ca-subscriptions-table thead th:nth-child(2) { width: 15%; }
.ca-theme .ca-subscriptions-table thead th:nth-child(3) { width: 17%; }
.ca-theme .ca-subscriptions-table .ca-record-actions { align-items: flex-start; }
.ca-theme .ca-subscriptions-service { display: flex; align-items: center; gap: var(--ca-space-4); }
.ca-theme .ca-subscriptions-service > div { min-width: 0; overflow-wrap: anywhere; }
.ca-theme .ca-subscriptions-service .ca-subscription-icon { flex-basis: 44px; height: 44px; }
.ca-theme .ca-subscriptions-service small { display: block; margin-top: var(--ca-space-1); color: var(--ca-muted); font-size: 14px; font-weight: 400; }
@media (max-width: 767px) {
    .ca-theme .ca-subscriptions-table tbody tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ca-theme .ca-subscriptions-table .ca-subscriptions-label { display: block; margin-bottom: var(--ca-space-2); color: var(--ca-muted); font-size: 14px; }
    .ca-theme .ca-subscriptions-table .ca-subscriptions-actions { grid-column: 1 / -1; }
    .ca-theme .ca-subscriptions-table .ca-record-actions { flex-direction: row; flex-wrap: wrap; gap: var(--ca-space-4) var(--ca-space-6); }
}

/* Subscription billing keeps the hosted form within the payment panel. */
.ca-theme .ca-notice--warning { color: #775500; background: #fff9e6; border-color: #e9d9a5; }
.ca-theme .ca-notice--warning strong { color: #775500; }
.ca-theme .ca-subscription-billing-notice { margin-bottom: var(--ca-space-6); }
.ca-theme .ca-subscription-payment-layout { grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); }
.ca-theme.subscription-payment .ca-payment-methods { margin-top: 0; }
.ca-theme .ca-subscription-payment-helper { display: flex; align-items: flex-start; gap: var(--ca-space-2); margin: var(--ca-space-6) 0; font-size: 14px; }
.ca-theme .ca-subscription-payment-helper .ca-icon { margin-top: 1px; }
.ca-theme .ca-subscription-payment-start { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ca-space-6); padding-top: var(--ca-space-6); border-top: 1px solid var(--ca-divider); }
.ca-theme .ca-subscription-payment-summary .ca-subscription-identity > div { min-width: 0; }
.ca-theme .ca-subscription-payment-summary h2 { margin: 0; }
.ca-theme .ca-subscription-payment-summary h3 { margin: 0 0 var(--ca-space-2); font-size: 20px; overflow-wrap: anywhere; }
.ca-theme .ca-subscription-payment-summary .ca-subscription-details { grid-template-columns: minmax(0, 1fr); margin-top: var(--ca-space-6); padding-top: var(--ca-space-6); border-top: 1px solid var(--ca-divider); }
@media (max-width: 767px) {
    .ca-theme .ca-subscription-payment-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

/* Public login shares client-area tokens without authenticated navigation. */
.ca-theme.ca-auth { margin: 0; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.ca-theme .ca-auth-nav { max-width: none; padding: 0 var(--ca-space-12); justify-content: space-between; }
.ca-theme .ca-auth-back { display: inline-flex; align-items: center; gap: var(--ca-space-2); color: var(--ca-muted); text-decoration: none; }
.ca-theme .ca-auth-back:hover { color: var(--ca-primary); }
.ca-theme .ca-auth-main { flex: 1; display: flex; align-items: center; justify-content: center; padding: var(--ca-space-12) var(--ca-space-6); }
.ca-theme .ca-auth-panel { width: 480px; max-width: 100%; margin: 0; padding: var(--ca-space-8); }
.ca-theme .ca-auth-heading { text-align: center; margin-bottom: var(--ca-space-8); }
.ca-theme .ca-auth-symbol { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: var(--ca-space-6); border-radius: var(--ca-radius); background: var(--ca-primary-soft); color: var(--ca-primary); }
.ca-theme .ca-auth-symbol .ca-icon { width: 28px; height: 28px; }
.ca-theme .ca-auth-heading h1 { font-size: 32px; line-height: 1.25; margin: 0 0 var(--ca-space-3); }
.ca-theme .ca-auth-heading p { margin: 0; }
.ca-theme .ca-auth-field + .ca-auth-field { margin-top: var(--ca-space-6); }
.ca-theme .ca-auth-field .ca-field-label { font-size: 14px; }
.ca-theme .ca-auth-input { position: relative; }
.ca-theme .ca-auth-input > .ca-icon { position: absolute; left: var(--ca-space-3); top: 50%; transform: translateY(-50%); color: var(--ca-muted); pointer-events: none; }
.ca-theme .ca-auth-input .ca-input { min-height: 44px; padding: 9px var(--ca-space-3) 9px 40px; }
.ca-theme .ca-auth-input .ca-input::placeholder { color: var(--ca-muted); opacity: 1; }
.ca-theme .ca-auth-input .ca-input[aria-invalid='true'] { border-color: var(--ca-danger); }
.ca-theme .ca-auth-input .ca-input:focus { outline: none; border-color: var(--ca-primary); box-shadow: inset 0 0 0 1px var(--ca-primary); }
.ca-theme .ca-auth-password-label { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ca-space-2); }
.ca-theme .ca-auth-toggle { padding: 0; border: 0; margin-bottom: var(--ca-space-2); background: transparent; color: var(--ca-primary); font-size: 14px; cursor: pointer; }
.ca-theme .ca-auth-toggle:hover { text-decoration: underline; }
.ca-theme .ca-auth-reset { text-align: right; font-size: 14px; margin-top: var(--ca-space-2); }
.ca-theme .ca-auth-reset a, .ca-theme .ca-auth-register a { text-decoration: none; }
.ca-theme .ca-auth-reset a:hover, .ca-theme .ca-auth-register a:hover { text-decoration: underline; }
.ca-theme .ca-auth-submit { width: 100%; min-height: 44px; margin-top: var(--ca-space-6); }
.ca-theme .ca-auth-register { display: flex; align-items: center; gap: var(--ca-space-3); margin: var(--ca-space-8) 0 0; color: var(--ca-muted); font-size: 14px; text-align: center; }
.ca-theme .ca-auth-register::before, .ca-theme .ca-auth-register::after { content: ''; height: 1px; flex: 1; background: var(--ca-divider); }
.ca-theme .ca-auth-footer { padding: 0 var(--ca-space-6) var(--ca-space-6); text-align: center; color: var(--ca-muted); font-size: 13px; }
.ca-theme .ca-auth-errors { margin-bottom: var(--ca-space-6); }
.ca-theme .ca-auth-errors p, .ca-theme .ca-auth-field .ca-field-error p { margin: 0; }
.ca-theme .ca-auth-help { margin-top: var(--ca-space-2); color: var(--ca-muted); font-size: 14px; }
.ca-theme .ca-auth-help ul { margin: 0; padding-left: 20px; }
.ca-theme .ca-auth-terms { display: flex; align-items: flex-start; gap: var(--ca-space-2); font-size: 14px; color: var(--ca-muted); }
.ca-theme .ca-auth-terms input { flex: 0 0 auto; width: 16px; height: 16px; margin: 3px 0 0; accent-color: var(--ca-primary); }
@media (max-width: 575px) {
    .ca-theme .ca-auth-nav { min-height: 72px; padding: var(--ca-space-4); gap: var(--ca-space-3); flex-wrap: wrap; }
    .ca-theme .ca-auth-nav .ca-brand { font-size: 20px; }
    .ca-theme .ca-auth-back { font-size: 13px; }
    .ca-theme .ca-auth-main { padding: var(--ca-space-8) var(--ca-space-4); }
    .ca-theme .ca-auth-panel { padding: var(--ca-space-6); }
    .ca-theme .ca-auth-heading h1 { font-size: 28px; }
}

/* Company member management. */
.ca-theme .ca-members-feedback { margin-bottom: var(--ca-space-6); }
.ca-theme .ca-member-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: var(--ca-space-6); }
.ca-theme .ca-member-panel-heading { border-bottom: 1px solid var(--ca-divider); }
.ca-theme .ca-member-panel-heading h2 { margin-bottom: var(--ca-space-1); }
.ca-theme .ca-member-panel-heading p { margin: 0; }
.ca-theme .ca-member-field + .ca-member-field { margin-top: var(--ca-space-4); }
.ca-theme .ca-member-fields > .ca-field-error:first-child { margin-top: 0; }
.ca-theme .ca-member-field .ca-field-error p { margin: 0; }
.ca-theme .ca-member-password { position: relative; }
.ca-theme .ca-member-password .ca-input { padding-right: 52px; }
.ca-theme .ca-member-password .ca-icon-button { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); }
.ca-theme .ca-member-field .ca-help { margin-top: var(--ca-space-2); }
.ca-theme .ca-member-field .ca-help ul { margin: 0; padding-left: 20px; }
.ca-theme .ca-member-actions { display: flex; flex-wrap: wrap; gap: var(--ca-space-3); }
.ca-theme .ca-member-form-footer { padding: var(--ca-space-4) var(--ca-space-6); border-top: 1px solid var(--ca-divider); }
.ca-theme .ca-member-access-title { display: flex; gap: var(--ca-space-4); align-items: center; margin-bottom: var(--ca-space-4); }
.ca-theme .ca-member-access-title h2 { margin: 0; }
.ca-theme .ca-member-access-title .ca-icon { width: 28px; height: 28px; color: var(--ca-primary); }
.ca-theme .ca-member-access-details { margin: var(--ca-space-6) 0; }
.ca-theme .ca-member-access-details > div { display: grid; grid-template-columns: 1fr 1.5fr; gap: var(--ca-space-4); align-items: baseline; padding: var(--ca-space-4) 0; border-top: 1px solid var(--ca-divider); }
.ca-theme .ca-member-access-details dd { margin: 0; overflow-wrap: anywhere; }
.ca-theme .ca-member-access .ca-notice { font-size: 14px; }
.ca-theme .ca-member-access .ca-notice p { margin: 0 0 var(--ca-space-1); }
.ca-theme .ca-member-list-title { display: flex; align-items: baseline; gap: var(--ca-space-3); }
.ca-theme .ca-members-table { min-width: 680px; }
.ca-theme .ca-members-table th:nth-child(1) { width: 34%; }
.ca-theme .ca-members-table th:nth-child(2) { width: 30%; }
.ca-theme .ca-members-table th:nth-child(3) { width: 22%; }
.ca-theme .ca-members-table th:nth-child(4) { width: 14%; }
.ca-theme .ca-member-identity { display: flex; align-items: center; gap: var(--ca-space-3); }
.ca-theme .ca-member-identity > div { min-width: 0; }
.ca-theme .ca-member-identity small { display: block; }
.ca-theme .ca-member-avatar { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border-radius: 50%; background: var(--ca-primary-soft); color: var(--ca-primary); font-weight: 600; }
.ca-theme .ca-member-you { display: inline-block; margin-left: var(--ca-space-2); padding: 0 var(--ca-space-2); border-radius: var(--ca-radius); background: var(--ca-divider); color: var(--ca-muted); font-size: 13px; }
.ca-theme .ca-member-owner { background: var(--ca-divider); color: var(--ca-muted); }
.ca-theme .ca-member-remove { color: var(--ca-danger); }
.ca-theme .ca-member-remove:hover { color: var(--ca-danger); }
.ca-theme .ca-button--danger { background: var(--ca-danger); border-color: var(--ca-danger); }
.ca-theme .ca-button--danger:hover { background: #850000; border-color: #850000; }
.ca-theme .ca-member-confirm p { overflow-wrap: anywhere; }
@media (max-width: 767px) {
    .ca-theme .ca-member-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .ca-theme .ca-member-form-footer { padding: var(--ca-space-4); }
}
