/* MRCM Portal v2: additions for real data that the static preview did not need.
   Loaded after style.css (Tixia, unedited) and mrcm-overrides.css (preview, unedited).
   Keep this file small; same tokens and contrast rules as the preview README section 3. */

/* Timeline: a stopped step (rejected / cancelled) */
.mrcm-steps .stopped .mark { background: #FDECEA; border-color: #B42318; color: #B42318; }
.mrcm-steps .stopped .step-name { color: #B42318; }
[data-bs-theme=dark] .mrcm-steps .stopped .mark { background: #3A1C24; border-color: #F2A39B; color: #F2A39B; }
[data-bs-theme=dark] .mrcm-steps .stopped .step-name { color: #F2A39B; }

/* Certificate card: states other than "covered" */
.mrcm-cert .badge.cert-badge.is-expired { background: #EEF0F4; color: #3E4556; }
.mrcm-cert .badge.cert-badge.is-pending { background: #FFF3DC; color: #8A4B00; }
.mrcm-cert .badge.cert-badge.is-stopped { background: #FDECEA; color: #B42318; }
.mrcm-cert.is-expired .cert-meter .bar > span { background: #D3DDF2; }

/* Empty state */
.v2-empty { text-align: center; padding: 2rem 1rem; }
.v2-empty .v2-empty-icon { width: 3.5rem; height: 3.5rem; border-radius: 50%; display: inline-grid; place-items: center; background: #E8EDF5; color: #172E54; font-size: 1.5rem; margin-bottom: .75rem; }
.v2-empty .v2-empty-title { font-size: 1rem; font-weight: 600; color: #13213D; margin-bottom: .25rem; }
.v2-empty p { color: var(--mrcm-muted); margin: 0 auto; max-width: 32rem; font-size: .875rem; }
[data-bs-theme=dark] .v2-empty .v2-empty-title { color: #F2F5FA; }
[data-bs-theme=dark] .v2-empty .v2-empty-icon { background: #1C2D52; color: #B9CBF2; }

/* Documents that are on record but whose file is missing from storage */
.doc-list .doc-missing { font-size: .8125rem; color: #8A4B00; white-space: nowrap; }
[data-bs-theme=dark] .doc-list .doc-missing { color: #FFC56B; }

/* Policy list rows (My policies) */
.v2-policy-row .cell-main a { font-weight: 600; }
.v2-group-title { font-size: .8125rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--mrcm-muted); margin: 1.5rem 0 .5rem; }
.v2-group-title:first-child { margin-top: 0; }

/* Classic-screen tag in the sidebar (same look as the preview "Later" tag) */
.nav-classic-tag { margin-left: auto; font-size: .6875rem; font-weight: 600; border: 1px solid rgba(255,255,255,.6); border-radius: 1rem; padding: 0 .5rem; line-height: 1.4; }

/* Small note under a section ("details from your current profile") */
.v2-note { font-size: .8125rem; color: var(--mrcm-muted); }
.v2-note .bi { margin-right: .25rem; }

/* Notifications dropdown: Livewire wrapper must not break the header flex row */
.notification_dropdown > [wire\:id] { display: contents; }
.notif-menu .notif-empty { padding: 1rem; color: var(--mrcm-muted); font-size: .875rem; margin: 0; }

/* Sidebar section headings (back-office groups, docs/specs/v2-scope-decisions.md section 3).
   #D3DDF2 on the MRCM blue sidebar (#1F3A68) is 4.9 : 1. Hidden when the sidebar is collapsed to icons. */
.deznav .metismenu > li.menu-title { padding: 1.25rem 1.875rem .375rem; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #D3DDF2; list-style: none; }
.deznav .metismenu > li.menu-title:first-child { padding-top: .5rem; }
[data-sidebar-style=full][data-layout=vertical] .menu-toggle .deznav .metismenu > li.menu-title { display: none; }

/* Menu item shown but not available now (e.g. Apply or renew while an application is pending) */
.deznav .metismenu a.nav-disabled { opacity: .6; cursor: not-allowed; }
.nav-open-tag { background: #FFF3DC; color: #8A4B00; border-color: #FFF3DC; }

/* Staff placeholder: module lists */
.v2-module-list li { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .5rem 0; border-bottom: 1px solid var(--bs-border-color); min-height: 44px; }
.v2-module-list li:last-child { border-bottom: 0; }
.v2-module-list a { display: inline-flex; align-items: center; gap: .5rem; font-weight: 500; }

/* Side panel (offcanvas): full screen on phones, wider for history tables */
.v2-panel { --bs-offcanvas-width: 28rem; }
.v2-panel.v2-panel-wide { --bs-offcanvas-width: min(56rem, 92vw); }
@media (max-width: 575.98px) { .v2-panel, .v2-panel.v2-panel-wide { --bs-offcanvas-width: 100vw; } }

/* Header bell: wrapper keeps the Tixia dropdown layout */
.notification_dropdown .v2-bell { display: contents; }
.notif-item { position: relative; }

/* Information callout (replaces Bootstrap .alert-info, whose Tixia dark-mode colours are too faint) */
.v2-callout { display: flex; gap: .625rem; align-items: flex-start; padding: .875rem 1rem; border-radius: .5rem; background: #E5F0FA; color: #13213D; border-left: 4px solid #1B64A3; }
.v2-callout > .bi { color: #1B64A3; font-size: 1.125rem; line-height: 1.3; }
.v2-callout a { color: #172E54; text-decoration: underline; }
[data-bs-theme=dark] .v2-callout { background: #1E2A47; color: #DDE3EE; border-left-color: #9DB5EC; }
[data-bs-theme=dark] .v2-callout > .bi, [data-bs-theme=dark] .v2-callout a { color: #9DB5EC; }

/* Applicant signature on the policy page (always on white so dark ink stays visible in dark mode) */
.v2-signature { display: block; max-width: 18rem; max-height: 8rem; background: #fff; border: 1px solid var(--bs-border-color); border-radius: .5rem; padding: .5rem; }

/* Stage 2 work team: customer history (spec §2). A field that changed from the previous policy in force:
   amber marker + "was ..." line (never colour alone). #8A4B00 on #FFF3DC is 6.6 : 1. */
.v2-changed { background: #FFF3DC; color: #8A4B00; border-radius: .25rem; padding: 0 .25rem; font-weight: 600; }
.v2-changed .v2-was { display: block; font-weight: 400; font-size: .75rem; color: #6B4A1A; }
.v2-was::before { content: ""; }
[data-bs-theme=dark] .v2-changed { background: #3A2E14; color: #FFC56B; }
[data-bs-theme=dark] .v2-changed .v2-was { color: #F2D9A6; }
.v2-history-table td { vertical-align: top; }

/* Stage 2 work team: positioned scroll wrapper so visually-hidden text inside a scrolled table cannot widen the page;
   compact work-queue table (all classic columns fit at 1280 px). */
.v2-scroll-contain { position: relative; }
@media (min-width: 1200px) {
  .mrcm-table.v2-compact > :not(caption) > * > * { padding: .625rem .5rem; }
  .mrcm-table.v2-compact { font-size: .8125rem; }
  .mrcm-table.v2-compact .badge { white-space: normal; text-align: left; }
}

/* Work S3-FYA-01 year strip: removed in the UI audit (owner, 2026-10-13); the history is the customer history table. */
.v2-doc-link { font-size: .75rem; line-height: 1.2; }

/* Work S4-10 (date-picker bug): the Tixia theme stretches the date input's calendar icon over its nearest positioned
   ancestor (style.css: input[type=date]::-webkit-calendar-picker-indicator { position:absolute; inset:0 }). Our date
   inputs are position:static, so the invisible icon covered the whole card: after a date was shown or picked, every
   other control in that card (filters, rows, buttons) opened the calendar instead. Keep the icon inside its own input. */
input[type="date"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="time"] { position: relative; }

/* Work S4-09: documents of a policy year in the history panel / page and the case Documents tab: one line per document,
   name + Download + Send (icon buttons with text for screen readers). */
.v2-doc-rows { display: grid; gap: .25rem; font-size: .8125rem; min-width: 9rem; }
.v2-doc-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.v2-doc-name { display: inline-flex; align-items: center; gap: .375rem; white-space: nowrap; }

/* Work S4-13 + UI audit: the row's next-action button and the "more" menu sit on one line (the duplicate "Open" button
   was removed: the policy number opens the case). Compact cells: e-mail on one line, class clamped to two lines. */
.v2-row-actions { display: inline-flex; flex-wrap: nowrap; justify-content: flex-end; align-items: center; gap: .25rem; }
.v2-row-actions .btn { white-space: nowrap; }
@media (min-width: 1200px) {
  .mrcm-table.v2-compact > :not(caption) > * > * { padding: .625rem .375rem; }
  .v2-row-actions .v2-next-btn { white-space: normal; max-width: 6.5rem; line-height: 1.2; text-align: left; padding-left: .5rem; padding-right: .5rem; }
}
th .sort-btn .bi.v2-sort-on { opacity: 1; color: #172E54; }
.v2-ellipsis { display: block; max-width: 11rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-width: 7rem; max-width: 10rem; }
@media (max-width: 1199.98px) { .v2-ellipsis { max-width: 100%; } .v2-clamp-2 { max-width: none; -webkit-line-clamp: 3; line-clamp: 3; } }

/* =====================================================================================================================
   UI audit (2026-10-13): navy blue + soft white theme. Tokens live in mrcm-overrides.css section 1 / 6; these rules
   apply them to the shell. Contrast ratios: docs/v2-teams/ui-audit.md section 3 (every pair AA).
   ===================================================================================================================== */
/* Sidebar: navy surface, soft-white text, active item = soft-white pill with navy text and a 3px accent bar */
body[data-sidebarbg] .deznav .metismenu > li > a, body[data-sidebarbg] .deznav .metismenu > li > a i { color: var(--mrcm-soft-white, #F7F8FA) !important; }
body[data-sidebarbg] .deznav .metismenu > li > a { border-radius: .5rem; }
body[data-sidebarbg] .deznav .metismenu > li.mm-active > a { background: #F7F8FA !important; color: #13294B !important; box-shadow: inset 3px 0 0 #8FB0E8; }
body[data-sidebarbg] .deznav .metismenu > li.mm-active > a i { color: #13294B !important; }
body[data-sidebarbg] .deznav .metismenu > li:not(.mm-active):hover > a { background: rgba(255, 255, 255, .12) !important; }
.deznav .metismenu > li.menu-title { color: #B4C2DB; }
.deznav .metismenu > li > a .badge { margin-left: auto; }
.deznav-help { background: rgba(255, 255, 255, .08); }
/* Header: white bar with a hairline, soft-white page below */
.header { border-bottom: 1px solid var(--mrcm-line); }
.page-title { background: #fff; border: 1px solid var(--mrcm-line); box-shadow: none; }
.card { border: 1px solid var(--mrcm-line); box-shadow: 0 1px 2px rgba(19, 41, 75, .04); }
/* Focus: navy ring on light surfaces, soft white on navy ones */
:focus-visible { outline-color: #1F3A68 !important; }
.deznav :focus-visible, .bulk-bar :focus-visible, .mrcm-cert :focus-visible { outline-color: #F7F8FA !important; }
.form-control:focus, .form-select:focus { border-color: #1F3A68; box-shadow: 0 0 0 .2rem rgba(31, 58, 104, .25); }
/* Pressed pills / chips use the brand navy */
.filter-pill[aria-pressed=true], .filter-pill[aria-current=page] { background: #13294B; color: #fff; border-color: #13294B; }
.filter-pill:hover { border-color: #1F3A68; }

/* Dark: navy palette, lighter navy buttons so they stand off the dark cards */
[data-bs-theme=dark] .header { border-bottom-color: var(--mrcm-line); }
[data-bs-theme=dark] .page-title { background: var(--bs-body-bg); border-color: var(--mrcm-line); }
[data-bs-theme=dark] .card { border-color: var(--mrcm-line); }
body[data-bs-theme=dark][data-primary=color_3] .btn-primary {
  --bs-btn-bg: #2C5291; --bs-btn-border-color: #2C5291; --bs-btn-hover-bg: #35609F; --bs-btn-hover-border-color: #35609F;
  --bs-btn-active-bg: #234478; --bs-btn-active-border-color: #234478; --bs-btn-disabled-bg: #2C5291; --bs-btn-disabled-border-color: #2C5291;
}
body[data-bs-theme=dark][data-primary=color_3] .btn-outline-primary { --bs-btn-color: #9DB8EE; --bs-btn-border-color: #9DB8EE; --bs-btn-hover-bg: #2C5291; --bs-btn-hover-border-color: #2C5291; --bs-btn-hover-color: #fff; }
[data-bs-theme=dark] :focus-visible { outline-color: #9DB8EE !important; }
body[data-bs-theme=dark][data-sidebarbg] .deznav .metismenu > li.mm-active > a { background: #DCE5F5 !important; color: #0E1A30 !important; }
body[data-bs-theme=dark][data-sidebarbg] .deznav .metismenu > li.mm-active > a i { color: #0E1A30 !important; }
[data-bs-theme=dark] .filter-pill[aria-pressed=true], [data-bs-theme=dark] .filter-pill[aria-current=page] { background: #9DB8EE; color: #0B1424; border-color: #9DB8EE; }
[data-bs-theme=dark] .light.badge-primary { color: #B9CBF2; background: #1C2D52; }
[data-bs-theme=dark] .light.badge-dark { color: #C4CCD9; background: #24314F; }
.mrcm-table .badge.badge-xs { white-space: nowrap; }

/* ---------- UI audit: customer history (side panel, page, customer tab): one row per policy year, newest first ---------- */
.v2-panel.v2-panel-wide { --bs-offcanvas-width: min(72rem, 94vw); }
@media (max-width: 575.98px) { .v2-panel.v2-panel-wide { --bs-offcanvas-width: 100vw; } }
.v2-hist-panel .offcanvas-header { gap: .75rem; border-bottom: 1px solid var(--mrcm-line); background: var(--bs-body-bg); }
.v2-hist-panel .offcanvas-body { padding-top: 1rem; }
.v2-panel-kicker { font-size: .75rem; font-weight: 600; color: var(--mrcm-muted); }
.min-w-0 { min-width: 0; }
.v2-icon-btn { min-width: 36px; padding-left: .5rem; padding-right: .5rem; position: relative; }
.v2-hist { container-type: inline-size; }
.v2-hist-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 1rem; margin-bottom: .75rem; }
.v2-hist-contact { display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-size: .8125rem; color: var(--mrcm-muted); }
.v2-hist-contact .bi { margin-right: .3rem; }
.v2-hist-table { width: 100%; font-size: .8125rem; border-collapse: separate; border-spacing: 0; }
.v2-hist-table thead th { position: sticky; top: var(--v2-sticky-top, 0); z-index: 2; background: var(--mrcm-surface-2); color: var(--mrcm-muted); font-size: .75rem; font-weight: 600; white-space: nowrap; border-bottom: 1px solid var(--mrcm-line); padding: .5rem .5rem; }
.v2-hist-table td, .v2-hist-table tbody th { padding: .5rem .5rem; vertical-align: top; border-bottom: 1px solid var(--mrcm-line); background: transparent; font-weight: 400; }
.v2-hist-table tbody tr:hover > * { background: var(--mrcm-surface-2); }
.v2-hist-table tr.is-stopped > * { color: var(--mrcm-muted); }
.v2-hist-year { white-space: nowrap; }
.v2-hist-sub { display: block; font-size: .75rem; color: var(--mrcm-muted); font-weight: 400; }
.v2-hist-class { display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-width: 9rem; max-width: 16rem; }
.v2-hist-class.v2-tip { overflow: visible; display: inline; }
.v2-hist-table td.v2-chg { background: #FFF6E5; color: #7A4300; box-shadow: inset 3px 0 0 #E2A33B; }
.v2-hist-table tbody tr:hover > td.v2-chg { background: #FFEFD2; }
.v2-chg-more { display: inline-flex; align-items: center; justify-content: center; margin-left: .25rem; min-width: 24px; min-height: 24px; border-radius: .375rem; background: #FFF6E5; color: #7A4300; }
.v2-pchange { display: inline-flex; align-items: center; gap: 1px; margin-left: .25rem; font-size: .75rem; font-weight: 600; }
.v2-pchange.is-up { color: #B42318; }
.v2-pchange.is-down { color: #146C35; }
.v2-hist-docs, .v2-hist-table .hc-limit, .v2-hist-table .hc-premium { white-space: nowrap; }
.v2-doc-count { position: absolute; top: -4px; right: -4px; min-width: 16px; height: 16px; border-radius: 8px; background: #1F3A68; color: #fff; font-size: .625rem; font-weight: 700; display: grid; place-items: center; padding: 0 3px; line-height: 1; }
/* CSS tooltip: works on hover and on keyboard focus, survives Livewire re-renders (no JS) */
.v2-tip { position: relative; cursor: help; text-decoration: underline dotted; text-underline-offset: .2em; }
.v2-tip:hover::after, .v2-tip:focus::after { content: attr(data-tip); position: absolute; left: 0; top: calc(100% + 6px); z-index: 30; width: max-content; max-width: 18rem; white-space: normal; text-align: left;
  background: #13213D; color: #fff; font-size: .75rem; font-weight: 400; line-height: 1.4; padding: .375rem .5rem; border-radius: .375rem; box-shadow: 0 6px 18px rgba(19, 33, 61, .2); }
td.text-end .v2-tip:hover::after, td.text-end .v2-tip:focus::after { left: auto; right: 0; }
/* Narrow containers (customer page column, phones): each year becomes a card */
@container (max-width: 760px) {
  .v2-hist-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .v2-hist-table, .v2-hist-table tbody, .v2-hist-table tr { display: block; width: 100%; }
  .v2-hist-table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "year status" "policy docs" "type limit" "class class" "premium agent" "extra extra";
    gap: .125rem .75rem; border: 1px solid var(--mrcm-line); border-radius: .75rem; padding: .625rem .75rem; margin-bottom: .625rem; background: var(--bs-body-bg); }
  .v2-hist-table .v2-hist-year { grid-area: year; } .v2-hist-table .hc-status { grid-area: status; justify-self: end; }
  .v2-hist-table .hc-policy { grid-area: policy; } .v2-hist-table .hc-docs { grid-area: docs; justify-self: end; }
  .v2-hist-table .hc-type { grid-area: type; } .v2-hist-table .hc-limit { grid-area: limit; }
  .v2-hist-table .hc-class { grid-area: class; } .v2-hist-table .hc-premium { grid-area: premium; } .v2-hist-table .hc-agent { grid-area: agent; }
  .v2-hist-table .hc-status::before, .v2-hist-table .hc-policy::before, .v2-hist-table .hc-docs::before { display: none !important; }
  .v2-hist-table td, .v2-hist-table tbody th { display: block; border: 0; padding: .25rem .375rem; border-radius: .375rem; }
  .v2-hist-table td::before { content: attr(data-label); display: block; font-size: .6875rem; font-weight: 600; color: var(--mrcm-muted); }
  .v2-hist-table td.text-end { text-align: left !important; }
  .v2-hist-table .v2-hist-year { font-size: 1rem; }
  .v2-hist-table .v2-hist-year .v2-hist-sub { display: inline; margin-left: .375rem; }
  .v2-hist-class { max-width: none; -webkit-line-clamp: 3; line-clamp: 3; }
  .v2-hist-table tbody tr:hover > * { background: transparent; }
  td.text-end .v2-tip:hover::after, td.text-end .v2-tip:focus::after { left: 0; right: auto; }
}
[data-bs-theme=dark] .v2-hist-table td.v2-chg, [data-bs-theme=dark] .v2-chg-more { background: #3A2E14; color: #FFD089; box-shadow: inset 3px 0 0 #C98A2B; }
[data-bs-theme=dark] .v2-hist-table tbody tr:hover > td.v2-chg { background: #45361A; }
[data-bs-theme=dark] .v2-pchange.is-up { color: #FF9B8F; }
[data-bs-theme=dark] .v2-pchange.is-down { color: #7FD49A; }
[data-bs-theme=dark] .v2-tip:hover::after, [data-bs-theme=dark] .v2-tip:focus::after { background: #F3F6FB; color: #0B1424; }
[data-bs-theme=dark] .v2-doc-count { background: #9DB8EE; color: #0B1424; }
/* The standalone page and the customer tab scroll with the window: keep the header under the fixed top bar */
.content-body .v2-hist { --v2-sticky-top: var(--dz-header-height, 4.5rem); }
.offcanvas .v2-hist { --v2-sticky-top: 0px; }
/* Medium containers (customer page column, agent client page): denser four-column cards, three lines per year */
@container (min-width: 520px) and (max-width: 760px) {
  .v2-hist-table tr { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "year policy status docs" "type class class limit" "premium agent extra extra"; }
  .v2-hist-table .hc-policy::before { display: none !important; }
  .v2-hist-table .hc-extra { grid-area: extra; }
}
.v2-hist-table .hc-extra { grid-area: extra; }

/* UI audit: list tables inside a narrow column (e.g. col-xl-8 next to a side card) scrolled sideways at 1280 px. A stacking
   table now also becomes cards when ITS box is narrower than 640 px (container query), not only below 1200 px of screen. */
.table-responsive:has(> .mrcm-table.v2-stack-narrow) { container-type: inline-size; }
@container (max-width: 640px) {
  .mrcm-table.v2-stack-narrow { min-width: 0 !important; }
  .mrcm-table.v2-stack-narrow thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .mrcm-table.v2-stack-narrow, .mrcm-table.v2-stack-narrow tbody, .mrcm-table.v2-stack-narrow tr, .mrcm-table.v2-stack-narrow td { display: block; width: 100%; }
  .mrcm-table.v2-stack-narrow tr { position: relative; border: 1px solid var(--mrcm-line); border-radius: .75rem; margin: 0 0 .75rem; padding: .75rem 1rem; background: var(--bs-body-bg); }
  .mrcm-table.v2-stack-narrow tr:has(.table-check) { padding-left: 3.25rem; }
  .mrcm-table.v2-stack-narrow td { border: 0; padding: .25rem 0; display: flex; justify-content: space-between; gap: 1rem; text-align: right; background: transparent !important; }
  .mrcm-table.v2-stack-narrow td::before { content: attr(data-label); color: var(--mrcm-muted); font-size: .75rem; font-weight: 600; text-align: left; flex: none; }
  .mrcm-table.v2-stack-narrow td.table-check { position: absolute; left: .75rem; top: .625rem; width: auto; padding: 0; }
  .mrcm-table.v2-stack-narrow td.table-check::before, .mrcm-table.v2-stack-narrow td.cell-main::before, .mrcm-table.v2-stack-narrow td.cell-actions::before { display: none; }
  .mrcm-table.v2-stack-narrow td.cell-main { text-align: left; padding-bottom: .5rem; }
  .mrcm-table.v2-stack-narrow td.cell-actions { justify-content: flex-end; padding-top: .5rem; }
}

/* UI audit: back-office home, quick access row (the common tasks one click away) */
.v2-home-search { width: min(26rem, 100%); }
.v2-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .75rem; }
.v2-quick-tile { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .75rem; align-items: center; padding: .875rem 1rem; min-height: 4.5rem;
  background: var(--bs-body-bg); border: 1px solid var(--mrcm-line); border-radius: .75rem; color: var(--bs-heading-color); text-decoration: none; }
.v2-quick-tile > .bi { grid-row: 1 / span 2; width: 2.5rem; height: 2.5rem; border-radius: .625rem; display: grid; place-items: center; background: var(--bs-primary-bg-subtle); color: #172E54; font-size: 1.125rem; }
.v2-quick-label { font-weight: 600; line-height: 1.3; }
.v2-quick-meta { font-size: .8125rem; color: var(--mrcm-muted); line-height: 1.3; }
.v2-quick-tile:hover { border-color: #1F3A68; box-shadow: 0 0 0 1px #1F3A68; }
.v2-quick-tile.is-attn .v2-quick-meta { color: #8A4B00; font-weight: 600; }
.v2-modules summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--bs-heading-color); }
[data-bs-theme=dark] .v2-quick-tile > .bi { color: #B9CBF2; }
[data-bs-theme=dark] .v2-quick-tile:hover { border-color: #9DB8EE; box-shadow: 0 0 0 1px #9DB8EE; }
[data-bs-theme=dark] .v2-quick-tile.is-attn .v2-quick-meta { color: #FFC56B; }

/* UI audit: in stacked (card) rows a cell with several pieces (badge + lines) could not wrap and widened the card on phones */
@media (max-width: 1199.98px) {
  .mrcm-table.stack td { flex-wrap: wrap; row-gap: .125rem; }
  .mrcm-table.stack td > * { min-width: 0; overflow-wrap: anywhere; }
}
.v2-modules[open] summary .bi-chevron-down { transform: rotate(180deg); }
.v2-modules summary::-webkit-details-marker { display: none; }

/* UI audit: Tixia hard-codes its own primary (#222fb9) in a few components; bring them to the navy theme */
.pagination { --bs-pagination-active-bg: #1F3A68; --bs-pagination-active-border-color: #1F3A68; --bs-pagination-color: #1F3A68; --bs-pagination-hover-color: #172E54; --bs-pagination-focus-color: #172E54; }
.list-group { --bs-list-group-active-bg: #1F3A68; --bs-list-group-active-border-color: #1F3A68; }
.form-check-input:checked, .form-check-input[type=checkbox]:indeterminate { background-color: #1F3A68; border-color: #1F3A68; }
.form-range::-webkit-slider-thumb { background-color: #1F3A68; }
.form-range::-moz-range-thumb { background-color: #1F3A68; }
[data-bs-theme=dark] .pagination { --bs-pagination-active-bg: #2C5291; --bs-pagination-active-border-color: #2C5291; --bs-pagination-color: #9DB8EE; --bs-pagination-hover-color: #B9CBF2; }
[data-bs-theme=dark] .list-group { --bs-list-group-active-bg: #2C5291; --bs-list-group-active-border-color: #2C5291; }
[data-bs-theme=dark] .form-check-input:checked, [data-bs-theme=dark] .form-check-input[type=checkbox]:indeterminate { background-color: #2C5291; border-color: #9DB8EE; }

/* UI audit: "Log in as client" (partners, act as this client): navy outline like the other header actions, amber icon chip */
.v2-act-as-btn .bi { width: 1.5rem; height: 1.5rem; border-radius: .375rem; display: inline-grid; place-items: center; background: #FFF3DC; color: #8A4B00; }
.v2-act-as-btn:hover .bi, .v2-act-as-btn:focus-visible .bi { background: #F5B300; color: #13294B; }
[data-bs-theme=dark] .v2-act-as-btn .bi { background: #3A2A0E; color: #FFC56B; }

/* Auth team: messages on the sign-in / sign-up / password cards stay readable in dark mode (the Tixia dark alert colours
   are light text on a light background, under 2.2 : 1). Each pair below is over 7 : 1. */
[data-bs-theme=dark] .mrcm-auth-form .alert-success { background: #12331F; color: #C9F2D2; border-color: #2E6B41; }
[data-bs-theme=dark] .mrcm-auth-form .alert-warning { background: #3A2A0E; color: #FFE2B0; border-color: #7A5418; }
[data-bs-theme=dark] .mrcm-auth-form .alert-danger { background: #3D1716; color: #FFD6D4; border-color: #7E2D2A; }
