@font-face {
    font-family: 'FC Lamoon';
    src: url("../fonts/fc-lamoon-regular-PRO4Pf9.otf") format('opentype');
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
}

@font-face {
    font-family: 'FC Lamoon';
    src: url("../fonts/fc-lamoon-bold-N6fsoKg.otf") format('opentype');
    font-style: normal;
    font-weight: 600 900;
    font-display: swap;
}

:root {
    /* Lemonaide Guide palette: https://lemonaideguide.com/ */
    --ink: #0b0b0b;
    --forest: #0b0b0b;
    --forest-2: #2b2b2b;
    --mint: #fff5c2;
    --lime: #ffe269;
    --paper: #fafafa;
    --white: #fffefa;
    --muted: #606060;
    --line: rgba(11, 11, 11, .12);
    --lemonaide-cream: #fefae8;
    --lemonaide-yellow: #ffe269;
    --lemonaide-yellow-deep: #eca306;
    --success: #00a344;
    --danger: #e55353;
    --toast-success-bg: #e2f5e7;
    --toast-success-ink: #185c2e;
    --toast-error-bg: #fde7e4;
    --toast-error-ink: #8f3028;
    --toast-warning-bg: #fff3c2;
    --toast-warning-ink: #725700;
    --toast-info-bg: #e6f4fb;
    --toast-info-ink: #19566f;
    font-family: 'FC Lamoon', 'Tahoma', sans-serif;
    color: var(--ink);
    background: var(--paper);
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--paper); color: var(--ink); font-size: 17px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font-family: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
*:focus-visible { outline: 3px solid rgba(236, 163, 6, .3); outline-offset: 2px; }

.app-shell { display: grid; grid-template-columns: 232px minmax(0, 1fr); }
.sidebar { position: fixed; z-index: 20; inset: 0 auto 0 0; width: 232px; padding: 22px 16px 16px; border-right: 1px solid var(--lemonaide-yellow); background: var(--lemonaide-cream); color: var(--ink); display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 14px; }
.brand-mark { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--ink); border-radius: 12px; color: var(--ink); background: var(--lemonaide-yellow); box-shadow: 2px 2px 0 var(--ink); font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.brand-mark.large { width: 58px; height: 58px; font-size: 16px; }
.brand strong, .brand small, .sidebar-footer strong, .sidebar-footer small { display: block; }
.brand strong { font-size: 19px; }
.brand small, .sidebar-footer small { color: var(--muted); font-size: 14px; }
.nav { display: grid; gap: 20px; margin-top: 38px; overflow-y: auto; scrollbar-width: thin; }
.nav-group { display: grid; gap: 3px; }
.nav-group-label { margin: 0 10px 4px; color: #7a6b31; font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.nav-item { padding: 10px; border: 1px solid transparent; border-radius: 8px; color: #454545; font-size: 17px; transition: background .15s ease, border-color .15s ease; }
.nav-item:hover { border-color: rgba(236, 163, 6, .25); background: rgba(255, 226, 105, .28); }
.nav-item span { display: inline-block; width: 28px; color: #9a8b50; font-size: 12px; letter-spacing: .08em; }
.nav-badge { float: right; min-width: 20px; padding: 2px 5px; border-radius: 999px; color: var(--white); background: var(--ink); font-size: 10px; text-align: center; }
.nav-item.active { border-color: var(--lemonaide-yellow); color: var(--ink); background: var(--lemonaide-yellow); box-shadow: 0 1px 1px rgba(18,18,18,.14); font-weight: 700; }
.nav-item.active span { color: rgba(11,11,11,.52); }
.nav-item.muted { cursor: not-allowed; }
.sidebar-footer { margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(11,11,11,.1); display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 9px; align-items: center; }
.avatar { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(11,11,11,.12); border-radius: 50%; background: var(--lemonaide-yellow); color: var(--ink); font-weight: 700; }
.sidebar-footer strong { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; }
.sidebar-footer small { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.logout-link { padding: 5px; color: var(--muted); font-size: 14px; font-weight: 700; }
.logout-link:hover { color: var(--ink); }
.footer-actions { display: grid; justify-items: end; gap: 3px; }
.locale-switch { display: inline-flex; overflow: hidden; border: 1px solid rgba(11,11,11,.14); border-radius: 6px; }
.locale-switch a { padding: 3px 5px; color: var(--muted); font-size: 12px; font-weight: 800; }
.locale-switch a.active { background: var(--ink); color: #fff; }
.sale-role-config-form fieldset { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 18px; padding: 0; border: 0; }
.sale-role-config-form fieldset > div { padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.sale-role-config-form label { margin-left: 6px; font-weight: 700; }
.main-content { grid-column: 2; min-width: 0; min-height: 100vh; padding: 30px clamp(24px, 3vw, 44px) 48px; }

.eyebrow { display: inline-block; color: var(--muted); font-size: 13px; font-weight: 700; letter-spacing: .18em; }
.page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 26px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.page-header h1 { margin: 7px 0 2px; color: var(--ink); font-size: clamp(28px, 3vw, 38px); line-height: 1.15; letter-spacing: -.035em; }
.page-header p { margin: 0; color: var(--muted); font-size: 16px; }
.status-pill { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.45); font-size: 13px; font-weight: 600; }
.status-pill i { width: 7px; height: 7px; border-radius: 50%; background: #d25442; }
.status-pill.online i { background: #4ca06c; box-shadow: 0 0 0 4px rgba(76,160,108,.12); }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.metric-card { position: relative; min-height: 170px; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); overflow: hidden; }
.metric-card.featured { color: var(--white); background: var(--forest); }
.metric-card.attention { border-color: rgba(190,73,59,.35); background: #fff1ed; }
.metric-card.attention strong { color: #b64d42; }
.metric-index { position: absolute; top: 20px; right: 20px; color: var(--muted); font-size: 12px; letter-spacing: .15em; }
.featured .metric-index { color: rgba(255,255,255,.4); }
.metric-card p { margin: 0; color: var(--muted); font-size: 15px; }
.featured p, .featured small { color: rgba(255,255,255,.65); }
.metric-card strong { display: block; margin-top: 26px; color: var(--forest); font-size: clamp(34px, 4vw, 54px); line-height: 1; letter-spacing: -.06em; }
.featured strong { color: var(--lemonaide-yellow); }
.metric-card small { position: absolute; bottom: 23px; left: 25px; color: var(--muted); font-size: 12px; }
.foundation-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 14px; margin-top: 14px; }
.foundation-card, .next-card { padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.foundation-card h2, .next-card h2 { margin: 10px 0 8px; color: var(--forest); font-size: 26px; letter-spacing: -.03em; }
.foundation-card p, .next-card p { max-width: 650px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.foundation-card ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 25px 0 0; padding: 0; list-style: none; font-size: 14px; font-weight: 600; }
.foundation-card li span { color: #4ca06c; margin-right: 7px; }
.next-card { border-color: var(--lemonaide-yellow); background: var(--lemonaide-cream); }
.progress-track { height: 5px; margin-top: 30px; border-radius: 10px; background: rgba(11,11,11,.12); overflow: hidden; }
.progress-track span { display: block; width: 20%; height: 100%; background: var(--forest); }
.next-card small { display: block; margin-top: 9px; color: var(--muted); font-size: 12px; }

.auth-shell { background: var(--lemonaide-cream); }
.auth-content { min-height: 100vh; }
.login-panel { min-height: 100vh; padding: 38px clamp(28px, 6vw, 90px); color: var(--ink); background: var(--lemonaide-cream); display: grid; grid-template-columns: 1.2fr minmax(380px, .7fr); grid-template-rows: auto 1fr; column-gap: 7vw; }
.login-brand { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; }
.login-brand p { margin: 0; font-size: clamp(42px, 4vw, 64px); font-weight: 700; line-height: 1; letter-spacing: -.04em; }
.login-copy { align-self: center; max-width: 650px; }
.login-copy .eyebrow { color: #7a6b31; }
.login-copy h1 { margin: 22px 0; font-size: clamp(52px, 6vw, 84px); line-height: 1.05; letter-spacing: -.055em; }
.login-copy > p { max-width: 520px; color: var(--muted); line-height: 1.8; }
.feature-line { padding: 14px 0; border-bottom: 1px solid var(--line); color: #454545; font-size: 17px; }
.feature-line span { display: inline-block; width: 40px; color: #7a6b31; font-size: 13px; }
.login-card { align-self: center; padding: 42px; color: var(--ink); background: var(--white); border: 1px solid var(--lemonaide-yellow); border-radius: 22px; box-shadow: 0 24px 60px rgba(11,11,11,.1); }
.login-card h2 { margin: 10px 0 3px; color: var(--forest); font-size: 31px; letter-spacing: -.04em; }
.login-card > p { margin: 0 0 28px; color: var(--muted); font-size: 16px; }
.login-card label { display: block; margin: 18px 0 7px; color: var(--forest); font-size: 18px; font-weight: 700; }
.login-card input { width: 100%; padding: 16px 17px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); font: inherit; font-size: 19px; outline: none; }
.login-card input:focus { border-color: var(--lemonaide-yellow-deep); box-shadow: 0 0 0 3px rgba(236,163,6,.14); }
.login-card button { display: flex; justify-content: space-between; width: 100%; margin-top: 25px; padding: 15px 18px; border: 0; border-radius: 9px; color: var(--white); background: var(--forest); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.login-card button:hover { background: var(--forest-2); }
.login-card button span { color: var(--lime); }
.alert { padding: 10px 12px; border-radius: 8px; color: #822f27; background: #f8ded8; font-size: 14px; }

.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; }
.flash-stack { position: fixed; z-index: 50; top: 18px; left: calc(50% + 116px); width: min(440px, calc(100vw - 280px)); transform: translateX(-50%); display: grid; gap: 8px; pointer-events: none; }
.flash { padding: 14px 18px; border: 1px solid currentColor; border-radius: 10px; color: var(--toast-info-ink); background: var(--toast-info-bg); box-shadow: 0 12px 35px rgba(11,11,11,.14); font-size: 16px; font-weight: 700; pointer-events: auto; }
.flash-success { color: var(--toast-success-ink); background: var(--toast-success-bg); }
.flash-error, .flash-danger { color: var(--toast-error-ink); background: var(--toast-error-bg); }
.flash-warning { color: var(--toast-warning-ink); background: var(--toast-warning-bg); }
.flash-info { color: var(--toast-info-ink); background: var(--toast-info-bg); }
.page-header.compact { align-items: center; }
.page-header.compact h1 { font-size: clamp(34px, 4vw, 52px); }
.count-badge { padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--forest); background: var(--white); font-size: 13px; font-weight: 700; }
.text-link, .back-link { display: inline-block; color: var(--forest); font-size: 14px; font-weight: 700; }
.next-card .text-link { margin-top: 8px; }
.back-link { margin-bottom: 28px; color: var(--muted); }
.button { display: inline-flex; align-items: center; justify-content: center; padding: 13px 17px; border: 1px solid var(--forest); border-radius: 9px; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.button.primary { color: var(--white); background: var(--forest); }
.button.secondary { color: var(--forest); background: transparent; }
.button:hover { transform: translateY(-1px); }
.permission-note { align-self: center; padding: 10px 13px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: rgba(255,255,255,.5); font-size: 11px; }

.search-bar { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; max-width: 850px; margin-bottom: 28px; padding: 8px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.search-bar.filter-bar { max-width: 1100px; grid-template-columns: minmax(230px, 1fr) 180px 180px auto auto; }
.search-bar input { min-width: 0; padding: 11px 13px; border: 0; outline: 0; background: transparent; font: inherit; font-size: 15px; }
.search-bar select, .board-filters select { padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--forest); background: var(--white); font: inherit; font-size: 12px; }
.search-bar a { align-self: center; padding: 8px; color: var(--muted); font-size: 13px; }
.search-bar button { padding: 11px 20px; border: 0; border-radius: 8px; color: var(--white); background: var(--forest); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.dealer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.dealer-card { position: relative; min-height: 240px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.62); transition: .2s ease; }
.dealer-card:hover { transform: translateY(-2px); border-color: var(--lemonaide-yellow-deep); background: var(--white); box-shadow: 0 12px 30px rgba(11,11,11,.07); }
.dealer-card-top { display: flex; justify-content: space-between; align-items: center; }
.dealer-monogram { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 50%; color: var(--forest); background: var(--mint); font-size: 13px; font-weight: 700; }
.tier-chip { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .13em; }
.engagement-chip { display: inline-flex; align-items: center; width: max-content; padding: 6px 9px; border-radius: 999px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.engagement-chip.neutral { color: #59625e; background: #e6e8e5; }
.engagement-chip.blue { color: #2e5974; background: #dcecf4; }
.engagement-chip.green { color: #276342; background: #d9efdf; }
.engagement-chip.yellow { color: #6a601d; background: #f4edba; }
.engagement-chip.orange { color: #85512b; background: #f4dfcc; }
.engagement-chip.dark { color: var(--white); background: var(--forest); }
.dealer-card h2 { margin: 27px 35px 5px 0; color: var(--forest); font-size: 19px; line-height: 1.35; }
.dealer-card p { margin: 0; color: var(--muted); font-size: 13px; }
.dealer-card-meta { position: absolute; inset: auto 24px 22px; display: flex; justify-content: space-between; gap: 15px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.dealer-card-meta strong { color: var(--forest); }
.card-arrow { position: absolute; top: 95px; right: 24px; color: var(--forest); }
.pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin-top: 28px; }
.pagination a { font-size: 13px; font-weight: 700; }
.pagination a:last-child { text-align: right; }
.pagination small { color: var(--muted); }
.dealer-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.dealer-workspace-table { width: 100%; min-width: 1020px; border-collapse: collapse; table-layout: fixed; }
.dealer-workspace-table th { padding: 11px 12px; color: var(--muted); background: var(--lemonaide-cream); font-size: 10px; font-weight: 700; text-align: left; letter-spacing: .03em; }
.dealer-workspace-table th:nth-child(1) { width: 25%; }.dealer-workspace-table th:nth-child(2) { width: 15%; }.dealer-workspace-table th:nth-child(3) { width: 13%; }.dealer-workspace-table th:nth-child(4) { width: 11%; }.dealer-workspace-table th:nth-child(5) { width: 12%; }.dealer-workspace-table th:nth-child(6) { width: 7%; }.dealer-workspace-table th:nth-child(7) { width: 17%; }
.dealer-main-row { border-top: 1px solid var(--line); }.dealer-main-row:hover { background: #fffdf5; }.dealer-main-row td { padding: 11px 12px; color: #3e3e3a; font-size: 11px; vertical-align: middle; }
.dealer-main-row td > small, .dealer-main-row time small, .dealer-name-cell a small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }.dealer-main-row time { font-size: 11px; }
.dealer-name-cell { display: grid; grid-template-columns: 25px 1fr; gap: 8px; align-items: center; }.dealer-name-cell button { display: grid; width: 23px; height: 23px; padding: 0; place-items: center; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: #fff; font-size: 16px; line-height: 1; cursor: pointer; }.dealer-name-cell button:hover { border-color: var(--lemonaide-yellow-deep); background: var(--lemonaide-cream); }.dealer-name-cell a { min-width: 0; }.dealer-name-cell strong { display: block; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.dealer-sale-name { display: block; overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }.dealer-table-actions { display: flex; justify-content: flex-end; gap: 6px; white-space: nowrap; }.dealer-table-actions a { padding: 7px 8px; border: 1px solid var(--line); border-radius: 6px; font-size: 10px; font-weight: 700; }.dealer-table-actions .activity-action { border-color: var(--ink); color: #fff; background: var(--ink); }.dealer-table-actions .open-action { color: var(--ink); background: #fff; }.dealer-table-actions a:hover { border-color: var(--lemonaide-yellow-deep); }
.dealer-branch-detail td { padding: 0; border-top: 1px solid rgba(236,163,6,.22); background: #fffdf5; }.dealer-workspace-table tbody.expanded .dealer-main-row { background: var(--lemonaide-cream); }.dealer-branch-loading, .dealer-branch-error { margin: 0; padding: 20px 44px; color: var(--muted); font-size: 11px; }.dealer-branch-error { color: #9b3b32; }
.dealer-branch-panel { padding: 17px 44px 21px; }.dealer-branch-panel-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 11px; }.dealer-branch-panel-heading h3 { margin: 3px 0 0; font-size: 15px; }.dealer-branch-panel-heading > span { color: var(--muted); font-size: 10px; font-weight: 700; }
.dealer-branch-table { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }.dealer-branch-head, .dealer-branch-row { display: grid; grid-template-columns: minmax(180px, 1.5fr) 120px 120px 150px; gap: 10px; align-items: center; }.dealer-branch-head { padding: 8px 11px; color: var(--muted); background: #f6f5ef; font-size: 9px; font-weight: 700; }.dealer-branch-row { padding: 9px 11px; border-top: 1px solid var(--line); }.dealer-branch-row strong { font-size: 11px; }.dealer-branch-row span, .dealer-branch-row code { color: var(--muted); font-size: 10px; }.dealer-branch-row code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }.dealer-branch-empty { color: var(--muted); font-size: 11px; }.dealer-pagination { margin-top: 12px; }
.empty-state { grid-column: 1 / -1; padding: 80px 30px; border: 1px dashed rgba(11,11,11,.2); border-radius: 12px; text-align: center; background: var(--white); }
.empty-state span { color: var(--muted); font-size: 11px; letter-spacing: .2em; }
.empty-state h2 { margin: 12px 0 5px; color: var(--forest); }
.empty-state p { margin: 0; color: var(--muted); font-size: 14px; }

.dealer-hero { display: flex; justify-content: space-between; gap: 30px; align-items: flex-end; padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.dealer-hero h1 { max-width: 850px; margin: 10px 0 8px; color: var(--forest); font-size: clamp(36px, 5vw, 62px); line-height: 1.07; letter-spacing: -.05em; }
.dealer-hero p { margin: 0; color: var(--muted); font-size: 14px; }
.hero-actions { display: flex; gap: 8px; white-space: nowrap; }
.profile-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); }
.profile-stats div { padding: 22px 20px; border-right: 1px solid var(--line); }
.profile-stats div:first-child { padding-left: 0; }
.profile-stats small, .profile-stats strong { display: block; }
.profile-stats small { margin-bottom: 7px; color: var(--muted); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.profile-stats strong { color: var(--forest); font-size: 16px; }
.workspace-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(290px, .75fr); gap: 36px; margin-top: 42px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 24px; }
.section-heading h2 { margin: 7px 0 0; color: var(--forest); font-size: 26px; letter-spacing: -.03em; }
.section-heading > span, .section-heading a { color: var(--muted); font-size: 12px; font-weight: 700; }
.section-heading.small h2 { font-size: 19px; }
.timeline { position: relative; }
.timeline::before { content: ''; position: absolute; left: 17px; top: 15px; bottom: 0; width: 1px; background: var(--line); }
.timeline-item { position: relative; display: grid; grid-template-columns: 36px 1fr; gap: 18px; padding-bottom: 30px; }
.timeline-mark { z-index: 1; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(11,11,11,.12); border-radius: 50%; color: var(--forest); background: var(--mint); font-size: 13px; font-weight: 700; }
.timeline-content { padding: 2px 0 25px; border-bottom: 1px solid var(--line); }
.timeline-head { display: flex; justify-content: space-between; gap: 15px; }
.timeline-head strong { color: var(--forest); font-size: 16px; }
.timeline-head time { color: var(--muted); font-size: 12px; }
.timeline-content > p { margin: 12px 0; color: #3c4842; font-size: 15px; line-height: 1.75; }
.timeline-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.timeline-meta span { padding: 5px 8px; border-radius: 5px; color: var(--muted); background: rgba(11,11,11,.05); font-size: 11px; }
.follow-up-inline { display: flex; align-items: center; gap: 9px; margin-top: 13px; padding: 10px 12px; border-left: 3px solid var(--lemonaide-yellow-deep); background: var(--lemonaide-cream); font-size: 12px; }
.follow-up-inline small { color: var(--muted); letter-spacing: .1em; }
.follow-up-inline span { margin-left: auto; color: var(--muted); }
.side-card { margin-bottom: 14px; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.assignment-card { background: var(--forest); color: var(--white); }
.assignment-card .eyebrow, .assignment-card .section-heading > span { color: rgba(255,255,255,.55); }
.assignment-card .section-heading h2 { color: var(--white); }
.owner-summary { display: grid; grid-template-columns: 42px 1fr; gap: 11px; align-items: center; padding: 14px 0 19px; border-top: 1px solid rgba(255,255,255,.12); }
.owner-summary .avatar { width: 42px; height: 42px; }
.owner-summary strong, .owner-summary small { display: block; }
.owner-summary strong { font-size: 14px; }
.owner-summary small { margin-top: 2px; color: rgba(255,255,255,.55); font-size: 11px; }
.compact-form { padding-top: 17px; border-top: 1px solid rgba(255,255,255,.12); }
.compact-form label { display: block; margin: 0 0 6px; color: rgba(255,255,255,.7); font-size: 11px; font-weight: 700; }
.compact-form select { width: 100%; margin-bottom: 12px; padding: 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 7px; color: var(--white); background: var(--forest-2); font: inherit; font-size: 12px; }
.compact-form button { width: 100%; padding: 11px; border: 0; border-radius: 7px; color: var(--forest); background: var(--lime); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.assignment-meta { margin: 13px 0 0; color: rgba(255,255,255,.45); font-size: 10px; }
.compact-form.status-form { margin-top: 16px; }
.contact-row { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.avatar.small { width: 34px; height: 34px; font-size: 13px; }
.contact-row strong, .contact-row small, .branch-row strong, .branch-row small { display: block; }
.contact-row strong, .branch-row strong { color: var(--forest); font-size: 13px; }
.contact-row small, .branch-row small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.branch-row { display: flex; justify-content: space-between; gap: 12px; padding: 13px 0; border-top: 1px solid var(--line); }
.branch-row > span { color: var(--muted); font-size: 11px; }
.muted-copy { color: var(--muted); font-size: 13px; }
.empty-inline { padding: 40px; border: 1px dashed var(--line); border-radius: 13px; text-align: center; }
.empty-inline h3 { margin: 0; color: var(--forest); }
.empty-inline p { color: var(--muted); font-size: 13px; }
.empty-inline a { color: var(--forest); font-size: 13px; font-weight: 700; }

.form-header { max-width: 800px; margin: 0 auto 28px; }
.form-header h1 { margin: 10px 0 3px; color: var(--forest); font-size: 45px; letter-spacing: -.04em; }
.form-header p { margin: 0; color: var(--muted); }
.form-card { max-width: 800px; margin: auto; padding: 35px; border: 1px solid var(--line); border-radius: 17px; background: var(--white); }
.form-grid.two { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-card form > div > label, .form-grid > div > label { display: block; margin: 0 0 7px; color: var(--forest); font-size: 12px; font-weight: 700; }
.form-card input, .form-card select, .form-card textarea { width: 100%; margin-bottom: 18px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--paper); font: inherit; font-size: 14px; outline: none; }
.form-card input:focus, .form-card select:focus, .form-card textarea:focus { border-color: var(--lemonaide-yellow-deep); box-shadow: 0 0 0 3px rgba(236,163,6,.14); }
.form-card ul { margin: -12px 0 14px; padding: 0; color: #9b3b32; list-style: none; font-size: 12px; }
.form-divider { margin: 15px 0 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.form-divider span { color: var(--forest); font-size: 12px; font-weight: 700; letter-spacing: .15em; }
.form-divider p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 8px; }
.form-actions > a { color: var(--muted); font-size: 13px; }
.form-actions .button { width: auto; margin: 0; }

.activity-entry-header { align-items: center; margin-bottom: 20px; }
.activity-entry-header h1 { max-width: 760px; }
.activity-entry-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; align-items: start; max-width: 1180px; }
.activity-entry-card { border: 1px solid var(--line); border-radius: 16px; background: var(--white); overflow: hidden; }
.activity-entry-form > ul { margin: 20px 28px 0; padding: 12px 16px; border-radius: 8px; color: #963d34; background: #fff1ed; list-style: none; font-size: 12px; }
.activity-form-section { padding: 26px 28px 8px; border-bottom: 1px solid var(--line); }
.activity-form-section.optional-section { background: var(--lemonaide-cream); }
.activity-form-section.visit-photo-section { background: #fbfcf7; }
label.required::after { content: ' *'; color: #c43d32; font-weight: 800; }
.required-mark { color: #c43d32; font-style: normal; font-weight: 800; }
.activity-section-heading { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 21px; }
.activity-section-heading > span { display: grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; border: 1px solid var(--ink); border-radius: 50%; background: var(--lemonaide-yellow); font-size: 11px; font-weight: 700; }
.activity-section-heading h2 { margin: 0; color: var(--ink); font-size: 17px; letter-spacing: -.02em; }
.activity-section-heading h2 em { margin-left: 7px; padding: 3px 7px; border-radius: 999px; color: #66591d; background: #fff0a5; font-size: 10px; font-style: normal; vertical-align: middle; }
.activity-section-heading p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.activity-entry-form label { display: block; margin: 0 0 7px; color: var(--ink); font-size: 12px; font-weight: 700; }
.activity-entry-form input, .activity-entry-form select, .activity-entry-form textarea { width: 100%; margin-bottom: 18px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--paper); font: inherit; font-size: 13px; outline: none; }
.activity-entry-form input:focus, .activity-entry-form select:focus, .activity-entry-form textarea:focus { border-color: var(--lemonaide-yellow-deep); box-shadow: 0 0 0 3px rgba(236,163,6,.14); }
.activity-entry-form select:disabled { color: #4d4d4d; background: #f0f0ed; cursor: not-allowed; }
.activity-entry-form textarea { resize: vertical; line-height: 1.6; }
.activity-entry-form div > ul { margin: -12px 0 14px; padding: 0; color: #9b3b32; list-style: none; font-size: 11px; }
.activity-entry-form input[type="file"] { padding: 11px; border-style: dashed; background: #fff; cursor: pointer; }
.activity-entry-form .help-text, .activity-entry-form .form-text { margin: -10px 0 16px; color: var(--muted); font-size: 11px; }
.activity-photo-grid, .timeline-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; margin: 4px 0 18px; }
.activity-photo-grid a { min-width: 0; padding: 6px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: #fff; text-decoration: none; }
.activity-photo-grid img, .timeline-photo-grid img { display: block; width: 100%; height: 105px; border-radius: 6px; object-fit: cover; }
.activity-photo-grid span { display: block; overflow: hidden; margin-top: 6px; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.timeline-photo-grid { grid-template-columns: repeat(auto-fill, minmax(105px, 140px)); margin: 10px 0 12px; }
.timeline-photo-grid a { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.timeline-photo-grid img { height: 92px; transition: transform .18s ease; }
.timeline-photo-grid a:hover img { transform: scale(1.035); }
.activity-photo-count { display: block; margin-top: 5px; color: #7b6515; font-weight: 700; }
.form-grid.activity-core-grid { display: grid; grid-template-columns: .8fr 1.3fr .65fr; gap: 15px; }
.activity-entry-actions { display: flex; justify-content: flex-end; align-items: center; gap: 9px; padding: 20px 28px; }
.activity-entry-actions > a { margin-right: auto; color: var(--muted); font-size: 12px; font-weight: 700; }
.activity-entry-actions button { margin: 0; }
.activity-dealer-summary { position: sticky; top: 26px; padding: 24px; border: 1px solid var(--lemonaide-yellow-deep); border-radius: 16px; background: var(--lemonaide-cream); }
.dealer-summary-monogram { display: grid; place-items: center; width: 54px; height: 54px; margin: 20px 0 14px; border: 1px solid var(--ink); border-radius: 13px; background: var(--lemonaide-yellow); box-shadow: 3px 3px 0 var(--ink); font-size: 15px; font-weight: 700; }
.activity-dealer-summary h2 { margin: 0; color: var(--ink); font-size: 20px; line-height: 1.35; }
.activity-dealer-summary > p { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.activity-dealer-summary dl { display: grid; grid-template-columns: 1fr 1fr; margin: 21px 0; border: 1px solid rgba(11,11,11,.12); border-radius: 10px; background: rgba(255,255,255,.55); overflow: hidden; }
.activity-dealer-summary dl div { padding: 12px; }
.activity-dealer-summary dl div + div { border-left: 1px solid rgba(11,11,11,.12); }
.activity-dealer-summary dt { color: var(--muted); font-size: 10px; }
.activity-dealer-summary dd { margin: 4px 0 0; color: var(--ink); font-size: 20px; font-weight: 700; }
.dealer-change-link { display: inline-flex; margin: -2px 0 14px; color: var(--forest); font-size: 12px; font-weight: 700; }

.dealer-picker-card { max-width: 860px; padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); box-shadow: 0 12px 35px rgba(28, 28, 20, .05); }
.dealer-picker-heading { display: flex; gap: 14px; align-items: flex-start; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.dealer-picker-heading > span { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: var(--ink); background: var(--lemonaide-yellow); font-size: 12px; font-weight: 800; }
.dealer-picker-heading h2 { margin: 1px 0 4px; font-size: 17px; }
.dealer-picker-heading h2 em { margin-left: 5px; color: #a74b32; font-size: 11px; font-style: normal; }
.dealer-picker-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.dealer-combobox { position: relative; max-width: 680px; margin-top: 22px; }
.dealer-combobox label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 700; }
.dealer-search-input-wrap { position: relative; }
.dealer-search-input-wrap input { width: 100%; height: 50px; padding: 0 105px 0 15px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: #fff; font: inherit; font-size: 14px; outline: none; }
.dealer-search-input-wrap input:focus { border-color: var(--lemonaide-yellow-deep); box-shadow: 0 0 0 3px rgba(236,163,6,.14); }
.dealer-search-input-wrap span { position: absolute; top: 50%; right: 13px; transform: translateY(-50%); color: var(--muted); font-size: 11px; }
.dealer-search-results { position: absolute; z-index: 20; top: 78px; left: 0; right: 0; max-height: 390px; overflow-y: auto; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 18px 45px rgba(16, 16, 11, .16); }
.dealer-search-result { display: grid; width: 100%; gap: 3px; padding: 12px; border: 0; border-radius: 7px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.dealer-search-result:hover, .dealer-search-result.active { background: var(--lemonaide-cream); }
.dealer-search-result strong { font-size: 13px; }
.dealer-search-result span { color: #46463e; font-size: 11px; }
.dealer-search-result small { color: var(--muted); font-size: 11px; }
.dealer-search-status { margin: 8px 2px 0; color: var(--muted); font-size: 11px; }
.activity-row-action { width: 55px; text-align: right; }
.activity-row-action a { padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); font-size: 10px; font-weight: 700; }
.activity-row-action a:hover { border-color: var(--lemonaide-yellow-deep); background: var(--lemonaide-cream); }

.header-actions { display: flex; align-items: center; gap: 9px; }
.activity-filter-panel { margin-bottom: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.activity-filter-grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr .8fr .8fr 1.25fr; gap: 9px; }
.activity-filter-grid label { min-width: 0; }
.activity-filter-grid label > span { display: block; margin: 0 0 6px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.activity-filter-grid input, .activity-filter-grid select { width: 100%; min-width: 0; height: 39px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: #fff; font: inherit; font-size: 13px; outline: none; }
.activity-filter-grid input:focus, .activity-filter-grid select:focus { border-color: var(--lemonaide-yellow-deep); box-shadow: 0 0 0 3px rgba(236,163,6,.12); }
.activity-filter-grid input:disabled { color: var(--muted); background: #f4f4f2; }
.activity-filter-actions { display: flex; justify-content: flex-end; align-items: center; gap: 14px; margin-top: 11px; padding-top: 11px; border-top: 1px solid var(--line); }
.activity-filter-actions a { color: var(--muted); font-size: 12px; font-weight: 600; }
.activity-filter-actions button { min-width: 100px; padding: 10px 15px; border: 1px solid var(--ink); border-radius: 8px; color: var(--white); background: var(--ink); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.activity-filter-actions button:hover { background: var(--forest-2); }

.activity-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.activity-table { width: 100%; min-width: 1280px; border-spacing: 0; border-collapse: separate; table-layout: fixed; }
.activity-table th { padding: 11px 13px; border-bottom: 1px solid var(--line); color: var(--muted); background: var(--lemonaide-cream); font-size: 11px; font-weight: 700; letter-spacing: .035em; text-align: left; white-space: nowrap; }
.activity-table td { height: 59px; padding: 10px 13px; border-bottom: 1px solid var(--line); color: #3d3d3d; font-size: 12px; line-height: 1.45; vertical-align: middle; }
.activity-table tbody tr:last-child td { border-bottom: 0; }
.activity-table tbody tr:hover td { background: rgba(254,250,232,.72); }
.activity-table th:nth-child(1) { width: 115px; }
.activity-table th:nth-child(2) { width: 105px; }
.activity-table th:nth-child(3) { width: 190px; }
.activity-table th:nth-child(4) { width: 280px; }
.activity-table th:nth-child(5) { width: 85px; }
.activity-table th:nth-child(6) { width: 170px; }
.activity-table th:nth-child(7) { width: 115px; }
.activity-table th:nth-child(8) { width: 115px; }
.activity-table time, .activity-table time small, .activity-table td > small { display: block; }
.activity-table time { color: var(--ink); font-size: 12px; white-space: nowrap; }
.activity-table time small, .activity-table td > small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.activity-type-pill { display: inline-flex; padding: 5px 9px; border-radius: 999px; color: #274b61; background: #dceffa; font-size: 11px; font-weight: 700; white-space: nowrap; }
.activity-type-pill.kind-line { color: #744626; background: #ffe7d5; }
.activity-type-pill.kind-visit { color: #175b61; background: #d4f2f1; }
.activity-type-pill.kind-delivery { color: #315738; background: #def2df; }
.activity-type-pill.kind-online_meeting { color: #5b4a17; background: #fff0b6; }
.activity-type-pill.kind-event { color: #64416e; background: #f0dff5; }
.activity-dealer-link { display: block; overflow: hidden; color: var(--ink); font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.activity-dealer-link:hover { text-decoration: underline; text-decoration-color: var(--lemonaide-yellow-deep); text-underline-offset: 3px; }
.activity-notes { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.table-muted { color: #a0a0a0; }
.activity-pagination { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 14px; }
.pagination-summary { color: var(--muted); font-size: 12px; }
.pagination-pages { display: flex; gap: 5px; }
.pagination-pages a { display: grid; place-items: center; min-width: 31px; height: 31px; padding: 0 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: var(--white); font-size: 12px; font-weight: 700; }
.pagination-pages a:hover { border-color: var(--lemonaide-yellow-deep); color: var(--ink); }
.pagination-pages a.active { border-color: var(--ink); color: var(--ink); background: var(--lemonaide-yellow); }

.list-panel { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }
.activity-row { display: grid; grid-template-columns: 40px 1fr auto; gap: 16px; align-items: center; padding: 19px 22px; border-bottom: 1px solid var(--line); }
.activity-row:last-child { border-bottom: 0; }
.activity-row:hover { background: var(--lemonaide-cream); }
.activity-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--forest); background: var(--mint); font-size: 13px; font-weight: 700; }
.activity-row strong { color: var(--forest); font-size: 14px; }
.activity-row p { margin: 4px 0; color: var(--muted); font-size: 13px; }
.activity-row small { color: var(--muted); font-size: 11px; }
.activity-row time { color: var(--forest); font-size: 13px; text-align: right; }
.activity-row time small { display: block; margin-top: 3px; }
.followup-board { display: grid; gap: 12px; }
.followup-card { display: grid; grid-template-columns: 95px 1fr auto; gap: 25px; align-items: center; padding: 22px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }
.followup-card.overdue { border-left: 4px solid #c95d4f; }
.followup-date { padding-right: 20px; border-right: 1px solid var(--line); text-align: center; }
.followup-date small, .followup-date strong, .followup-date span { display: block; }
.followup-date small { color: var(--muted); font-size: 10px; letter-spacing: .12em; }
.overdue .followup-date small { color: #b84c40; }
.followup-date strong { margin: 3px 0; color: var(--forest); font-size: 28px; }
.followup-date span { color: var(--muted); font-size: 11px; }
.followup-body h2 { margin: 5px 0; color: var(--forest); font-size: 18px; }
.followup-body p { margin: 0 0 6px; color: var(--muted); font-size: 13px; }
.followup-body > small { color: var(--muted); font-size: 11px; }
.followup-card form button { padding: 10px 13px; border: 1px solid var(--forest); border-radius: 8px; color: var(--forest); background: transparent; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.followup-card form button:hover { color: var(--white); background: var(--forest); }
.followup-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); overflow: hidden; }.followup-metrics a { padding: 15px 18px; border-right: 1px solid var(--line); }.followup-metrics a:last-child { border-right: 0; }.followup-metrics a.active { box-shadow: inset 0 -3px var(--lemonaide-yellow-deep); background: var(--lemonaide-cream); }.followup-metrics a.overdue.active { box-shadow: inset 0 -3px var(--danger); }.followup-metrics span, .followup-metrics strong { display: block; }.followup-metrics span { color: var(--muted); font-size: 10px; font-weight: 700; }.followup-metrics strong { margin-top: 5px; font-size: 24px; }.followup-metrics .overdue strong { color: #b84c40; }
.followup-filters { display: flex; gap: 8px; align-items: end; margin-bottom: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }.followup-filters label { min-width: 280px; }.followup-filters label span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 10px; font-weight: 700; }.followup-filters select { width: 100%; height: 36px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); font: inherit; font-size: 11px; }.followup-filters button { height: 36px; padding: 0 14px; border: 0; border-radius: 7px; color: #fff; background: var(--ink); font: inherit; font-size: 11px; font-weight: 700; }
.followup-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }.followup-table { width: 100%; min-width: 960px; border-collapse: collapse; table-layout: fixed; }.followup-table th { padding: 10px 12px; color: var(--muted); background: var(--lemonaide-cream); font-size: 10px; text-align: left; }.followup-table th:nth-child(1) { width: 12%; }.followup-table th:nth-child(2) { width: 22%; }.followup-table th:nth-child(3) { width: 24%; }.followup-table th:nth-child(4) { width: 16%; }.followup-table th:nth-child(5) { width: 11%; }.followup-table th:nth-child(6) { width: 15%; }.followup-table td { padding: 12px; border-top: 1px solid var(--line); color: #3d3d39; font-size: 11px; vertical-align: middle; }.followup-table tr.overdue { box-shadow: inset 3px 0 #c95d4f; }.followup-table tr.due-today { box-shadow: inset 3px 0 var(--lemonaide-yellow-deep); }.followup-table td > small, .followup-table time small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }.followup-table td > strong { display: block; font-size: 11px; }.followup-actions { display: flex; justify-content: flex-end; align-items: center; gap: 5px; }.followup-actions > a, .followup-actions button { padding: 7px 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }.followup-actions button { border-color: var(--ink); color: #fff; background: var(--ink); }.followup-actions form { margin: 0; }

.status-strip { display: grid; grid-template-columns: repeat(6, 1fr); margin-bottom: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); overflow: hidden; }
.status-strip > div { position: relative; padding: 19px; border-right: 1px solid var(--line); }
.status-strip > div:last-child { border-right: 0; }
.status-strip small, .status-strip strong { display: block; }
.status-strip small { margin: 10px 0 5px; color: var(--muted); font-size: 11px; }
.status-strip strong { color: var(--forest); font-size: 25px; }
.status-dot { display: block; width: 8px; height: 8px; border-radius: 50%; }
.status-dot.neutral { background: #939b97; }
.status-dot.blue { background: #5b91ad; }
.status-dot.green { background: #4ca06c; }
.status-dot.yellow { background: #c4af32; }
.status-dot.orange { background: #ca8150; }
.status-dot.dark { background: var(--forest); }
.team-table { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.team-table-head, .team-row { display: grid; grid-template-columns: minmax(230px, 1.4fr) minmax(190px, 1fr) 160px 120px; gap: 20px; align-items: center; }
.team-table-head { padding: 13px 20px; color: var(--muted); background: var(--lemonaide-cream); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.team-row { padding: 17px 20px; border-top: 1px solid var(--line); transition: background .15s ease; }
.team-row:hover { background: var(--lemonaide-cream); }
.team-row > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.team-row strong, .team-row > div > span:not(.avatar):not(.engagement-chip) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--forest); font-size: 13px; }
.dealer-monogram.small { flex: 0 0 auto; width: 35px; height: 35px; font-size: 11px; }
.team-row time { color: var(--forest); font-size: 12px; }
.team-row time small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }

.header-metrics { display: flex; gap: 8px; }
.header-metrics > span { min-width: 90px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: var(--white); font-size: 11px; }
.header-metrics strong { display: block; margin-bottom: 2px; color: var(--forest); font-size: 20px; }
.header-metrics .danger strong, .danger, .danger dd { color: #b64d42 !important; }
.my-work-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .7fr); gap: 28px; }
.owned-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.owned-card { display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.owned-card:hover { border-color: var(--lemonaide-yellow-deep); transform: translateY(-1px); }
.owned-card > div > strong { display: block; margin-bottom: 7px; color: var(--forest); font-size: 13px; }
.owned-card > span:last-child { color: var(--muted); }
.my-work-queue { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.queue-item { display: grid; grid-template-columns: 42px 1fr; gap: 11px; align-items: center; padding: 13px 0; border-top: 1px solid var(--line); }
.queue-item.overdue { box-shadow: inset 3px 0 #c95d4f; padding-left: 10px; }
.queue-item time { text-align: center; }
.queue-item time strong, .queue-item time small, .queue-item > div strong, .queue-item > div small { display: block; }
.queue-item time strong { color: var(--forest); font-size: 20px; }
.queue-item time small, .queue-item > div small { color: var(--muted); font-size: 10px; }
.queue-item > div strong { margin-bottom: 3px; color: var(--forest); font-size: 12px; }
.workload-section { margin: 30px 0; }
.workload-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.workload-card { padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.workload-card:hover { border-color: var(--lemonaide-yellow-deep); }
.workload-card > div { display: flex; align-items: center; gap: 10px; }
.workload-card > div strong, .workload-card > div small { display: block; }
.workload-card > div strong { color: var(--forest); font-size: 13px; }
.workload-card > div small { color: var(--muted); font-size: 10px; }
.workload-card dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 16px 0 0; padding-top: 13px; border-top: 1px solid var(--line); }
.workload-card dl div { text-align: center; }
.workload-card dt { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.workload-card dd { margin: 3px 0 0; color: var(--forest); font-size: 17px; font-weight: 700; }
.board-filters { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; }
.board-filters button { padding: 10px 15px; border: 0; border-radius: 8px; color: var(--white); background: var(--forest); font: inherit; font-size: 11px; font-weight: 700; }
.board-filters a { color: var(--muted); font-size: 11px; }

.permission-matrix { margin-bottom: 35px; }
.ownership-mapping-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.ownership-mapping-grid > div { padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.ownership-mapping-grid label { display: block; margin-bottom: 7px; font-size: 15px; font-weight: 700; }
.ownership-mapping-grid select { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); font: inherit; font-size: 15px; }
.ownership-source { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }
.matrix-table { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.matrix-head, .matrix-row { display: grid; grid-template-columns: minmax(250px, 1fr) repeat(3, 130px); align-items: center; }
.matrix-head { padding: 12px 18px; color: var(--muted); background: var(--lemonaide-cream); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.matrix-head strong { text-align: center; }
.matrix-row { padding: 13px 18px; border-top: 1px solid var(--line); }
.matrix-row span { color: var(--forest); font-size: 12px; }
.matrix-row i { color: #b6bcb8; font-size: 14px; font-style: normal; text-align: center; }
.matrix-row i.granted { color: #3d9161; font-weight: 700; }
.admin-users { margin-top: 25px; }
.admin-user-row { display: grid; grid-template-columns: minmax(250px, 1fr) 100px minmax(360px, 1.2fr); gap: 18px; align-items: center; margin-bottom: 8px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.admin-user-row.disabled { opacity: .58; }
.user-identity { display: flex; align-items: center; gap: 11px; }
.user-identity strong, .user-identity small { display: block; }
.user-identity strong { color: var(--forest); font-size: 13px; }
.user-identity small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.role-badge { width: max-content; padding: 6px 9px; border-radius: 999px; color: var(--forest); background: var(--mint); font-size: 10px; font-weight: 700; }
.self-account { color: var(--muted); font-size: 11px; text-align: right; }
.user-access-form { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(190px, 1.3fr) auto auto; gap: 10px; align-items: center; }
.user-access-form select { padding: 9px; border: 1px solid var(--line); border-radius: 7px; color: var(--forest); background: var(--paper); font: inherit; font-size: 11px; }
.active-toggle { display: flex; align-items: center; gap: 4px; color: var(--muted); font-size: 10px; }
.user-access-form button { padding: 9px 12px; border: 0; border-radius: 7px; color: var(--white); background: var(--forest); font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }

.audit-filters { display: flex; gap: 8px; align-items: center; margin-bottom: 18px; }
.audit-filters select, .audit-filters input { min-width: 165px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--forest); background: var(--white); font: inherit; font-size: 11px; }
.audit-filters input { min-width: 230px; }
.audit-filters button { padding: 10px 15px; border: 0; border-radius: 8px; color: var(--white); background: var(--forest); font: inherit; font-size: 11px; font-weight: 700; }
.audit-filters a { color: var(--muted); font-size: 11px; }
.audit-list { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.audit-row { display: grid; grid-template-columns: 8px minmax(320px, 1fr) minmax(180px, .6fr) 100px; gap: 16px; align-items: center; padding: 17px 20px; border-bottom: 1px solid var(--line); }
.audit-row:last-child { border-bottom: 0; }
.audit-mark { display: block; width: 8px; height: 8px; border-radius: 50%; background: #949c98; }
.audit-mark.blue { background: #5b91ad; }
.audit-mark.green { background: #4ca06c; }
.audit-mark.yellow { background: #c4af32; }
.audit-mark.orange { background: #ca8150; }
.audit-mark.dark { background: var(--forest); }
.audit-main > div { display: flex; align-items: center; gap: 10px; }
.audit-main > div strong { color: var(--forest); font-size: 13px; }
.audit-main code { display: block; overflow: hidden; margin: 7px 0 5px; color: #56615c; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.audit-main > small, .audit-target small, .audit-row time small { display: block; color: var(--muted); font-size: 10px; }
.audit-target a { display: block; margin-bottom: 5px; color: var(--forest); font-size: 11px; font-weight: 700; }
.audit-target small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.audit-row time { color: var(--forest); font-size: 11px; text-align: right; }
.audit-row time small { margin-top: 3px; }
.dealer-audit-row { display: grid; grid-template-columns: 8px 1fr; gap: 9px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
.dealer-audit-row strong, .dealer-audit-row small { display: block; }
.dealer-audit-row strong { color: var(--forest); font-size: 11px; }
.dealer-audit-row small { margin-top: 2px; color: var(--muted); font-size: 9px; }

.dashboard-charts, .dashboard-feeds { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.chart-card, .feed-card { padding: 25px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.bar-list { display: grid; gap: 11px; }
.bar-list > div { display: grid; grid-template-columns: 110px 1fr 28px; gap: 10px; align-items: center; }
.bar-list span { color: var(--muted); font-size: 11px; }
.bar-list > div > div { height: 7px; border-radius: 999px; background: rgba(11,11,11,.07); overflow: hidden; }
.bar-list i { display: block; min-width: 2px; height: 100%; border-radius: 999px; background: #929b96; }
.bar-list i.blue { background: #5b91ad; }.bar-list i.green { background: #4ca06c; }.bar-list i.yellow { background: #c4af32; }.bar-list i.orange { background: #ca8150; }.bar-list i.dark { background: var(--forest); }
.bar-list strong { color: var(--forest); font-size: 12px; text-align: right; }
.channel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.channel-grid > div { padding: 13px; border-radius: 9px; background: var(--paper); }
.channel-grid span, .channel-grid strong { display: block; }
.channel-grid span { min-height: 26px; color: var(--muted); font-size: 10px; }
.channel-grid strong { margin-top: 4px; color: var(--forest); font-size: 20px; }
.dashboard-feed-row { display: grid; grid-template-columns: 40px 1fr auto; gap: 11px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.dashboard-feed-row > div strong, .dashboard-feed-row > div small, .dashboard-feed-row > time small { display: block; }
.dashboard-feed-row > div strong { color: var(--forest); font-size: 12px; }
.dashboard-feed-row > div small, .dashboard-feed-row > time { color: var(--muted); font-size: 10px; }
.dashboard-feed-row.overdue { box-shadow: inset 3px 0 #c95d4f; padding-left: 9px; }
.dashboard-feed-row .date-block { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 8px; color: var(--forest); background: var(--mint); text-align: center; }
.dashboard-feed-row .date-block strong { font-size: 17px; line-height: 1; }
.dms-footnote { margin-top: 20px; color: var(--muted); font-size: 10px; text-align: right; }

.daily-dashboard-header { margin-bottom: 14px; }
.daily-dashboard-header h1 { font-size: clamp(30px, 3.2vw, 46px); }
.daily-dashboard-filters { display: flex; align-items: end; gap: 9px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.daily-dashboard-filters label { min-width: 190px; }
.daily-dashboard-filters label > span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .06em; }
.daily-dashboard-filters input, .daily-dashboard-filters select { width: 100%; height: 36px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: var(--paper); font: inherit; font-size: 11px; }
.daily-dashboard-filters button { height: 36px; padding: 0 14px; border: 0; border-radius: 7px; color: #fff; background: var(--ink); font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.daily-dashboard-filters > a { align-self: center; margin: 16px 0 0 3px; color: var(--muted); font-size: 11px; font-weight: 700; }
.daily-kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.daily-kpi { min-height: 116px; padding: 17px 19px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.daily-kpi.featured { color: #fff; background: var(--ink); }
.daily-kpi.visit { background: #eaf8fc; }
.daily-kpi > span, .daily-kpi small { display: block; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.daily-kpi.featured > span, .daily-kpi.featured small { color: rgba(255,255,255,.62); }
.daily-kpi strong { display: block; margin: 11px 0 7px; font-size: 32px; line-height: 1; letter-spacing: -.04em; }
.daily-kpi.featured strong { color: var(--lemonaide-yellow); }
.daily-kpi strong em { margin-left: 3px; color: var(--muted); font-size: 12px; font-style: normal; letter-spacing: 0; }
.daily-chart-grid, .daily-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.daily-chart-card { padding: 19px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.daily-card-heading { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 15px; }
.daily-card-heading h2 { margin: 4px 0 0; font-size: 16px; }
.daily-card-heading > strong { font-size: 21px; }
.activity-mix-body { display: grid; grid-template-columns: 155px 1fr; gap: 25px; align-items: center; }
.activity-donut { display: grid; width: 148px; height: 148px; place-items: center; border-radius: 50%; }
.activity-donut > span { display: grid; width: 84px; height: 84px; place-items: center; align-content: center; border-radius: 50%; background: var(--white); text-align: center; }
.activity-donut strong, .activity-donut small { display: block; }.activity-donut strong { font-size: 25px; }.activity-donut small { color: var(--muted); font-size: 10px; }
.activity-legend { display: grid; gap: 8px; }
.activity-legend > div { display: grid; grid-template-columns: 8px 1fr auto; gap: 8px; align-items: center; padding-bottom: 6px; border-bottom: 1px solid rgba(11,11,11,.06); }
.activity-legend i { width: 8px; height: 8px; border-radius: 2px; }.activity-legend span { color: var(--muted); font-size: 10px; }.activity-legend strong { font-size: 11px; }
.daily-bars { display: flex; height: 170px; gap: 10px; align-items: end; justify-content: space-around; padding-top: 5px; }
.daily-bar-item { display: grid; flex: 1; grid-template-rows: 120px 18px 24px; align-items: end; text-align: center; }
.daily-bar-track { display: flex; width: min(42px, 80%); height: 112px; margin: 0 auto; align-items: end; border-radius: 6px 6px 2px 2px; background: #f3f3ef; overflow: hidden; }
.daily-bar-track i { display: block; width: 100%; min-height: 2px; border-radius: 6px 6px 0 0; }
.daily-bar-item strong { font-size: 11px; }.daily-bar-item span { align-self: start; color: var(--muted); font-size: 9px; line-height: 1.25; }
.daily-detail-grid { grid-template-columns: 1.3fr .7fr; }
.call-result-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.call-result-list > div { padding: 10px; border-radius: 8px; background: var(--paper); }
.call-result-list strong { display: block; margin-top: 10px; font-size: 22px; }
.daily-notes-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 0; }
.daily-notes-card dl > div { padding: 10px; border-radius: 8px; background: var(--paper); }
.daily-notes-card dt { color: var(--muted); font-size: 9px; }.daily-notes-card dd { margin: 5px 0 0; font-size: 16px; font-weight: 700; }
.daily-activity-section { margin-top: 18px; }
.daily-activity-section .section-heading { margin-bottom: 10px; }
.daily-activity-section .section-heading h2 { font-size: 20px; }
.daily-activity-table th, .daily-activity-table td { padding-top: 9px; padding-bottom: 9px; }
.daily-empty { padding: 30px; border: 1px dashed var(--line); border-radius: 12px; background: var(--white); text-align: center; }
.daily-empty p { margin: 5px 0 14px; color: var(--muted); font-size: 11px; }

.visit-report-header { margin-bottom: 14px; }
.visit-report-filters { display: flex; align-items: end; gap: 9px; margin-bottom: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.visit-report-filters label { min-width: 210px; }.visit-report-filters label > span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 10px; font-weight: 700; }
.visit-report-filters input, .visit-report-filters select { width: 100%; height: 37px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: var(--paper); font: inherit; font-size: 11px; }
.visit-report-filters button { height: 37px; padding: 0 16px; border: 0; border-radius: 7px; color: #fff; background: var(--ink); font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.visit-report-filters > a { align-self: center; margin-top: 16px; color: var(--muted); font-size: 10px; font-weight: 700; }
.visit-report-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); overflow: hidden; }
.visit-report-metrics article { min-height: 105px; padding: 17px; border-right: 1px solid var(--line); }.visit-report-metrics article:last-child { border-right: 0; }.visit-report-metrics article.featured { color: #fff; background: var(--ink); }
.visit-report-metrics span, .visit-report-metrics small { display: block; color: var(--muted); font-size: 10px; font-weight: 700; }.visit-report-metrics .featured span, .visit-report-metrics .featured small { color: rgba(255,255,255,.64); }
.visit-report-metrics strong { display: block; margin: 9px 0 5px; font-size: 28px; }.visit-report-metrics .featured strong { color: var(--lemonaide-yellow); }.visit-report-metrics em { margin-left: 2px; color: var(--muted); font-size: 11px; font-style: normal; }
.visit-report-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 12px; align-items: start; }
.visit-day-card, .visit-report-table-wrap { border: 1px solid var(--line); border-radius: 12px; background: var(--white); overflow: hidden; }.visit-day-card { padding: 18px; }
.visit-day-bars { display: grid; gap: 9px; }.visit-day-bars > div { display: grid; grid-template-columns: 42px 1fr 20px; gap: 7px; align-items: center; }.visit-day-bars time, .visit-day-bars strong { font-size: 10px; }.visit-day-bars span { height: 6px; border-radius: 99px; background: #f0f0eb; overflow: hidden; }.visit-day-bars i { display: block; height: 100%; border-radius: 99px; background: var(--lemonaide-yellow-deep); }.visit-day-bars p { color: var(--muted); font-size: 11px; }
.visit-report-table-head, .visit-report-row { display: grid; grid-template-columns: 82px minmax(145px, 1fr) minmax(180px, 1.4fr) 65px 120px; gap: 10px; align-items: center; }
.visit-report-table-head { padding: 10px 13px; color: var(--muted); background: var(--lemonaide-cream); font-size: 9px; font-weight: 700; }.visit-report-row { padding: 11px 13px; border-top: 1px solid var(--line); }.visit-report-row:hover { background: #fffdf4; }
.visit-report-row time, .visit-report-row span { color: var(--muted); font-size: 10px; }.visit-report-row time small, .visit-report-row div strong, .visit-report-row div small { display: block; }.visit-report-row div strong { font-size: 11px; }.visit-report-row div small, .visit-report-row time small { margin-top: 2px; color: var(--muted); font-size: 9px; }.visit-report-row p { overflow: hidden; margin: 0; color: #444; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.visit-report-empty { padding: 40px 20px; text-align: center; }.visit-report-empty p { margin: 5px 0 14px; color: var(--muted); font-size: 11px; }

.report-filters { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 10px; align-items: end; margin-bottom: 18px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.report-filters label { color: var(--muted); font-size: 10px; font-weight: 700; }
.report-filters input, .report-filters select { display: block; width: 100%; margin-top: 6px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--forest); background: var(--paper); font: inherit; font-size: 11px; }
.report-filters button { padding: 11px 15px; border: 0; border-radius: 7px; color: var(--white); background: var(--forest); font: inherit; font-size: 11px; font-weight: 700; }
.report-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); overflow: hidden; }
.report-metrics > div { padding: 18px; border-right: 1px solid var(--line); }
.report-metrics > div:last-child { border-right: 0; }
.report-metrics small, .report-metrics strong { display: block; }
.report-metrics small { color: var(--muted); font-size: 10px; }.report-metrics strong { margin-top: 5px; color: var(--forest); font-size: 25px; }.report-metrics span { color: var(--muted); font-size: 10px; }
.report-layout { display: grid; grid-template-columns: 320px 1fr; gap: 14px; }
.report-table-wrap { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.report-table-head, .report-row { display: grid; grid-template-columns: 110px minmax(200px, 1fr) 150px 130px; gap: 14px; align-items: center; }
.report-table-head { padding: 11px 16px; color: var(--muted); background: var(--lemonaide-cream); font-size: 10px; }
.report-row { padding: 13px 16px; border-top: 1px solid var(--line); }
.report-row strong, .report-row small, .report-row time small { display: block; }.report-row strong { color: var(--forest); font-size: 11px; }.report-row small, .report-row time, .report-row > span { color: var(--muted); font-size: 10px; }

.notification-list { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.notification-row { display: grid; grid-template-columns: 8px minmax(300px, 1fr) 110px 110px; gap: 16px; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.notification-row.unread { background: var(--lemonaide-cream); }
.notification-row.read { opacity: .65; }
.notification-row h2 { margin: 7px 0 3px; color: var(--forest); font-size: 15px; }.notification-row p { margin: 0 0 4px; color: var(--muted); font-size: 11px; }.notification-row small { color: var(--muted); font-size: 10px; }
.notification-row time, .notification-row time small { display: block; }.notification-row time { color: var(--forest); font-size: 11px; text-align: right; }
.notification-row form button, .notification-row > a { padding: 9px 10px; border: 1px solid var(--forest); border-radius: 7px; color: var(--forest); background: transparent; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }

/* Readability scale — FC Lamoon needs a larger UI scale than common system fonts. */
.button, .search-bar button, .activity-filter-actions button { font-size: 16px; }
.count-badge, .status-pill, .text-link, .back-link { font-size: 15px; }
.search-bar input,
.search-bar select,
.board-filters select,
.activity-filter-grid input,
.activity-filter-grid select,
.daily-dashboard-filters input,
.daily-dashboard-filters select,
.visit-report-filters input,
.visit-report-filters select,
.report-filters input,
.report-filters select,
.followup-filters select { font-size: 15px; }
.activity-filter-grid label > span,
.daily-dashboard-filters label > span,
.visit-report-filters label > span,
.report-filters label,
.followup-filters label span { font-size: 13px; }
.activity-filter-actions a,
.daily-dashboard-filters > a,
.visit-report-filters > a { font-size: 14px; }
.daily-dashboard-filters button,
.visit-report-filters button,
.report-filters button,
.followup-filters button { font-size: 15px; }

.form-card form > div > label,
.form-grid > div > label,
.activity-entry-form label,
.dealer-combobox label { font-size: 14px; }
.form-card input,
.form-card select,
.form-card textarea,
.activity-entry-form input,
.activity-entry-form select,
.activity-entry-form textarea,
.dealer-search-input-wrap input { font-size: 16px; }
.activity-section-heading h2, .dealer-picker-heading h2 { font-size: 20px; }
.activity-section-heading p, .dealer-picker-heading p { font-size: 14px; }
.activity-entry-form .help-text,
.activity-entry-form .form-text,
.dealer-search-status { font-size: 13px; }
.dealer-search-result strong { font-size: 16px; }
.dealer-search-result span, .dealer-search-result small { font-size: 13px; }

.activity-table th, .dealer-workspace-table th { font-size: 13px; }
.activity-table td, .dealer-main-row td { font-size: 14px; }
.activity-table time, .activity-dealer-link, .dealer-name-cell strong { font-size: 15px; }
.activity-table time small,
.activity-table td > small,
.dealer-main-row td > small,
.dealer-main-row time small,
.dealer-name-cell a small { font-size: 12px; }
.activity-type-pill, .engagement-chip, .activity-row-action a { font-size: 13px; }
.pagination-summary, .pagination-pages a { font-size: 14px; }
.dealer-table-actions a { font-size: 13px; }
.dealer-branch-panel-heading > span, .dealer-branch-head { font-size: 12px; }
.dealer-branch-panel-heading h3 { font-size: 18px; }
.dealer-branch-row strong { font-size: 14px; }
.dealer-branch-row span, .dealer-branch-row code, .dealer-branch-empty { font-size: 13px; }

.daily-kpi > span, .daily-kpi small,
.visit-report-metrics span, .visit-report-metrics small,
.report-metrics small, .report-metrics span { font-size: 13px; }
.daily-card-heading h2 { font-size: 19px; }
.activity-donut small, .activity-legend span, .activity-legend strong { font-size: 13px; }
.daily-bar-item strong, .daily-bar-item span { font-size: 12px; }
.daily-notes-card dt { font-size: 12px; }
.daily-empty p { font-size: 14px; }
.visit-day-bars time, .visit-day-bars strong, .visit-day-bars p { font-size: 13px; }
.visit-report-table-head, .report-table-head { font-size: 12px; }
.visit-report-row time, .visit-report-row span, .visit-report-row p,
.report-row small, .report-row time, .report-row > span { font-size: 13px; }
.visit-report-row div strong, .report-row strong { font-size: 14px; }
.visit-report-row div small, .visit-report-row time small { font-size: 12px; }

.followup-metrics span, .followup-date small { font-size: 13px; }
.followup-date span, .followup-body > small { font-size: 13px; }
.followup-body p { font-size: 15px; }
.followup-table th { font-size: 13px; }
.followup-table td, .followup-table td > strong { font-size: 14px; }
.followup-table td > small, .followup-table time small { font-size: 12px; }
.followup-actions > a, .followup-actions button { font-size: 13px; }

.team-table-head { font-size: 12px; }
.team-row strong, .team-row > div > span:not(.avatar):not(.engagement-chip) { font-size: 15px; }
.team-row time { font-size: 14px; }
.team-row time small { font-size: 12px; }
.notification-row h2 { font-size: 18px; }
.notification-row p { font-size: 14px; }
.notification-row small, .notification-row time { font-size: 13px; }
.notification-row form button, .notification-row > a { font-size: 13px; }

@media (max-width: 1050px) {
    .metric-grid { grid-template-columns: 1fr 1fr; }
    .dealer-grid { grid-template-columns: 1fr 1fr; }
    .workspace-grid { grid-template-columns: 1fr; }
    .my-work-grid { grid-template-columns: 1fr; }
    .workload-grid { grid-template-columns: 1fr 1fr; }
    .search-bar.filter-bar { grid-template-columns: 1fr 1fr; }
    .search-bar.filter-bar input { grid-column: 1 / -1; }
    .status-strip { grid-template-columns: repeat(3, 1fr); }
    .dashboard-charts, .dashboard-feeds { grid-template-columns: 1fr; }
    .report-layout { grid-template-columns: 1fr; }
    .report-filters { grid-template-columns: 1fr 1fr; }
    .status-strip > div:nth-child(3) { border-right: 0; }
    .team-table { overflow-x: auto; }
    .team-table-head, .team-row { min-width: 760px; }
    .matrix-table { overflow-x: auto; }
    .matrix-head, .matrix-row { min-width: 680px; }
    .admin-user-row { grid-template-columns: 1fr; }
    .self-account { text-align: left; }
    .audit-list { overflow-x: auto; }
    .audit-row { min-width: 760px; }
    .login-panel { grid-template-columns: 1fr 380px; }
    .login-copy h1 { font-size: 48px; }
    .activity-filter-grid { grid-template-columns: repeat(3, 1fr); }
    .activity-entry-layout { grid-template-columns: minmax(0, 1fr) 240px; }
    .daily-kpi-grid { grid-template-columns: 1fr 1fr; }
    .visit-report-layout { grid-template-columns: 1fr; }
    .form-grid.activity-core-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
    .ownership-mapping-grid { grid-template-columns: 1fr; }
    .app-shell { display: block; }
    .sidebar { position: static; width: 100%; min-height: auto; padding: 20px; }
    .flash-stack { top: 12px; left: 50%; width: calc(100vw - 24px); }
    .nav { grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; margin-top: 24px; }
    .sidebar-footer { margin-top: 24px; }
    .main-content { padding: 28px 18px; }
    .metric-grid, .foundation-grid { grid-template-columns: 1fr; }
    .dealer-grid, .profile-stats, .form-grid.two { grid-template-columns: 1fr; }
    .owned-grid, .workload-grid { grid-template-columns: 1fr; }
    .report-metrics { grid-template-columns: 1fr 1fr; }
    .report-table-wrap, .notification-list { overflow-x: auto; }
    .report-table-head, .report-row { min-width: 650px; }
    .notification-row { min-width: 700px; }
    .board-filters { align-items: stretch; flex-direction: column; }
    .audit-filters { align-items: stretch; flex-direction: column; }
    .audit-filters input, .audit-filters select { min-width: 0; width: 100%; }
    .dealer-hero { display: block; }
    .hero-actions { margin-top: 24px; }
    .followup-card { grid-template-columns: 65px 1fr; gap: 14px; }
    .followup-card form { grid-column: 2; }
    .activity-row { grid-template-columns: 40px 1fr; }
    .activity-row time { grid-column: 2; text-align: left; }
    .foundation-card ul { grid-template-columns: 1fr; }
    .page-header { display: block; }
    .header-actions { margin-top: 18px; align-items: stretch; flex-direction: column; }
    .activity-filter-grid { grid-template-columns: 1fr; }
    .activity-pagination { align-items: flex-start; flex-direction: column; }
    .activity-entry-layout { grid-template-columns: 1fr; }
    .daily-dashboard-filters { align-items: stretch; flex-direction: column; }
    .daily-dashboard-filters label { min-width: 0; }
    .daily-chart-grid, .daily-detail-grid, .daily-kpi-grid { grid-template-columns: 1fr; }
    .activity-mix-body { grid-template-columns: 1fr; justify-items: center; }
    .visit-report-filters { align-items: stretch; flex-direction: column; }
    .visit-report-filters label { min-width: 0; }
    .visit-report-metrics { grid-template-columns: 1fr 1fr; }
    .visit-report-table-wrap { overflow-x: auto; }
    .visit-report-table-head, .visit-report-row { min-width: 720px; }
    .followup-metrics { grid-template-columns: 1fr 1fr; }
    .followup-filters { align-items: stretch; flex-direction: column; }
    .followup-filters label { min-width: 0; }
    .activity-dealer-summary { position: static; order: -1; }
    .form-grid.activity-core-grid { grid-template-columns: 1fr; }
    .activity-entry-actions { align-items: stretch; flex-direction: column; }
    .activity-entry-actions > a { margin: 0 0 5px; text-align: center; }
    .activity-entry-actions .button { width: 100%; }
    .pagination-pages { max-width: 100%; overflow-x: auto; }
    .status-pill { margin-top: 18px; }
    .login-panel { display: block; padding: 26px 20px; }
    .login-copy { margin: 60px 0 35px; }
    .login-copy h1 { font-size: 43px; }
    .feature-line { display: none; }
    .login-card { padding: 28px; }
}
