/* Workspace visual refresh. Loaded after the existing module styles. */
:root {
  --bg-main: #f3f5f7;
  --bg-canvas: #f3f5f7;
  --primary-accent: #087f70;
  --primary-accent-rgb: 8, 127, 112;
  --primary-hover: #066657;
  --primary-gradient: linear-gradient(135deg, #109482, #087f70);
  --border-focus: #087f70;
  --border-color: #e2e7ec;
  --text-main: #172b3a;
  --text-muted: #657684;
  --bs-primary-rgb: 8, 127, 112;
}
body { background: var(--bg-main); }
.sidebar { background: #142735; border-right: 0; box-shadow: none; }
.sidebar-header { height: 82px; background: transparent; border-color: #ffffff12; }
#sidebar-logo-container { background: #fff !important; box-shadow: none !important; }
#sidebar-logo-text { color: #172b3a; }
.sidebar-nav { padding: 12px 10px; }
.sidebar .nav-category-wrapper { margin-bottom: 6px; }
.sidebar .nav-category { 
  color: #8ca2b2; 
  font-size: 10px; 
  letter-spacing: 1.3px; 
  margin-top: 14px; 
  margin-bottom: 5px; 
  padding: 6px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  user-select: none;
  border-radius: 6px;
  transition: all 0.2s ease;
  font-weight: 700;
  text-transform: uppercase;
}
.sidebar .nav-category:hover { 
  background: rgba(255, 255, 255, 0.07); 
  color: #ffffff; 
}
.sidebar .nav-category .category-title { 
  display: flex; 
  align-items: center; 
  gap: 6px; 
}
.sidebar .nav-category .category-chevron { 
  transition: transform 0.25s ease; 
  opacity: 0.7; 
}
.sidebar .nav-category.is-collapsed .category-chevron { 
  transform: rotate(-90deg); 
}
.sidebar .nav-group-items { 
  display: flex; 
  flex-direction: column; 
  transition: max-height 0.3s ease, opacity 0.2s ease; 
  overflow: hidden;
}
.sidebar .nav-group-items.is-collapsed { 
  display: none !important; 
}
.sidebar .nav-link { color: #becdd7; border-radius: 9px; padding: 9px 12px; font-size: 12.5px; margin-bottom: 2px; border: 1px solid transparent; transition: all 0.15s ease; }
.sidebar .nav-link svg { width: 17px; height: 17px; color: #8ea8b8; transition: color 0.15s ease; }
.sidebar .nav-link:hover { color: #fff; background: #ffffff0e; transform: none; }
.sidebar .nav-link.active { color: #b7f6df; background: #245044; border-color: #85dcb329; box-shadow: none; font-weight: 700; }
.sidebar .nav-link.active svg { color: #8de8c5; }
.topbar { background: #ffffff; box-shadow: none; border-bottom: 1px solid #e2e7ec; min-height: 72px; }
.workspace-label { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; color: #526573; white-space: nowrap; }
.workspace-label i, .workspace-label svg { width: 17px; height: 17px; color: #087f70; }
.page-container { padding: 30px; }
.page-container h3 { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: 25px; letter-spacing: -.8px; }
.card-custom, .page-container > .card { border-radius: 14px !important; border-color: #e2e7ec !important; box-shadow: 0 3px 14px #23394b04; }
.card-custom:hover { box-shadow: 0 3px 14px #23394b08; }
.btn { border-radius: 8px; font-weight: 600; }
.btn-primary { --bs-btn-bg: #087f70; --bs-btn-border-color: #087f70; --bs-btn-hover-bg: #066657; --bs-btn-hover-border-color: #066657; --bs-btn-active-bg: #055647; background: #087f70; border-color: #087f70; box-shadow: none; }
.btn-outline-primary { --bs-btn-color: #087f70; --bs-btn-border-color: #a8d3c9; --bs-btn-hover-bg: #e6f3ee; --bs-btn-hover-color: #066657; --bs-btn-hover-border-color: #087f70; color: #087f70; border-color: #a8d3c9; }
.btn-outline-primary:hover { color: #066657; background: #e6f3ee !important; }
.form-control, .form-select { border-radius: 8px; }
.form-control:focus, .form-select:focus { border-color: #087f70; box-shadow: 0 0 0 3px #087f701a; }
.table-custom thead th { background: #f5f7f9; color: #6b7b87; font-size: 10px; letter-spacing: .6px; font-weight: 700; padding-top: 13px; padding-bottom: 13px; }
.table-custom tbody td { padding-top: 14px; padding-bottom: 14px; border-color: #edf0f3; }
.table-custom tbody tr:hover { background: #f7faf9; }
.dashboard-heading { padding: 4px 0 6px; }
.dashboard-eyebrow { color: #087f70; text-transform: uppercase; letter-spacing: 2px; font-size: 10px; font-weight: 800; margin-bottom: 9px; }
.dashboard-heading h3 { font-size: 30px; }
.dashboard-metrics .card { border-radius: 14px !important; padding: 21px !important; box-shadow: 0 3px 14px #23394b04; transition: border-color .15s ease; }
.dashboard-metrics .card:hover { border-color: #98bfb5 !important; }
.dashboard-metrics .bg-warning { background: #fff2d9 !important; color: #a66b08 !important; }
.dashboard-metrics .bg-info { background: #e5f1fa !important; color: #3976a3 !important; }
.dashboard-metrics .bg-success { background: #e5f3ed !important; color: #227d5d !important; }
.dashboard-metrics .fs-3 { font-size: clamp(22px, 2.1vw, 32px) !important; letter-spacing: -1px; font-variant-numeric: tabular-nums; margin: 8px 0 !important; }
.dashboard-cash { padding: 24px !important; }
.dashboard-cash h5 { font-size: 16px; }
.dashboard-cash .bg-light { background: #f6f8fa !important; border: 0 !important; border-radius: 10px !important; padding: 20px !important; }
.dashboard-cash .fs-4 { font-variant-numeric: tabular-nums; letter-spacing: -.7px; }
.dashboard-shortcuts { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
.dashboard-shortcuts a { display: flex; align-items: center; gap: 8px; color: #536877; text-decoration: none; font-size: 12px; padding: 9px 13px; background: #fff; border: 1px solid #e2e7ec; border-radius: 8px; }
.dashboard-shortcuts a:hover { color: #087f70; border-color: #087f70; }
.dashboard-shortcuts svg { width: 15px; height: 15px; }
.login-screen-wrapper { background: #142735; }
.login-card { border: 1px solid #e2e7ec; border-radius: 20px; box-shadow: 0 24px 80px #0003; }
.login-brand-badge { background: #087f70; box-shadow: none; }
.btn-floating-ai { background: #173b3a; box-shadow: 0 5px 18px #14273526 !important; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid #36b69b; outline-offset: 3px; }
@media (max-width: 1199.98px) { .workspace-label { display: none; } .page-container { padding: 22px; } }
@media (max-width: 767.98px) {
  .page-container { padding: 20px 14px 100px; }
  .dashboard-heading h3 { font-size: 25px; }
  .dashboard-metrics .card { padding: 15px !important; }
  .dashboard-cash { padding: 16px !important; }
  .dashboard-cash > .d-flex { gap: 12px; flex-wrap: wrap; }
  .dashboard-shortcuts { gap: 8px; }
  .topbar { min-height: 64px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media print { .dashboard-shortcuts { display: none; } }

/* Shared module structure: headings, filters, lists and dialogs. */
/* Fractional spacing used by module templates is not supplied by Bootstrap. */
:is(.page-container, .modal, .topbar) .p-1\.5 { padding: .375rem !important; }
:is(.page-container, .modal, .topbar) .p-2\.5 { padding: .75rem !important; }
:is(.page-container, .modal, .topbar) .p-3\.5 { padding: 1.25rem !important; }
:is(.page-container, .modal, .topbar) .px-2\.5 { padding-left: .75rem !important; padding-right: .75rem !important; }
:is(.page-container, .modal, .topbar) .py-1\.5 { padding-top: .375rem !important; padding-bottom: .375rem !important; }
:is(.page-container, .modal, .topbar) .py-2\.5 { padding-top: .75rem !important; padding-bottom: .75rem !important; }
:is(.page-container, .modal, .topbar) .gap-1\.5 { gap: .375rem !important; }
:is(.page-container, .modal, .topbar) .gap-2\.5 { gap: .75rem !important; }
.page-container .g-2\.5 { --bs-gutter-x: .75rem; --bs-gutter-y: .75rem; }
.ws-invoice-search { flex: 1 1 260px; min-width: 0; max-width: 430px; }
.ws-page-header { gap: 22px !important; flex-wrap: wrap; align-items: flex-start !important; padding: 4px 0 22px; border-bottom: 1px solid #dfe6eb; margin-bottom: 24px !important; }
.ws-page-header > div:first-child { flex: 1 1 350px; min-width: 0; }
.ws-page-header > div:not(:first-child) { flex-wrap: wrap; gap: 8px !important; }
.ws-page-header > .btn { flex-shrink: 0; margin-top: 22px; }
.ws-page-header h3 { font-size: 27px; line-height: 1.3; margin-bottom: 9px !important; }
.ws-page-header p { max-width: 760px; line-height: 1.75; }
.ws-page-header p .badge { font-size: 10px; vertical-align: 1px; }
.ws-eyebrow { display: block; color: #087f70; font-size: 10px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; margin-bottom: 8px; }
.ws-page-header .d-flex:has(> .ws-eyebrow) { flex-wrap: wrap; }
.ws-page-header .d-flex > .ws-eyebrow { flex-basis: 100%; margin-bottom: 0; }
.ws-filter-label { display: block; font-size: 11px; font-weight: 600; color: #526573; margin: 0 0 7px; }
.page-container .card-custom:has(.ws-filter-label) > .row { align-items: end !important; }
.page-container .input-group-text { background: #fff; border-color: #dbe3e9; }
.page-container .input-group-text svg { width: 17px; height: 17px; }
.page-container .form-control, .page-container .form-select { min-height: 39px; border-color: #dbe3e9; color: #273f4f; }
.page-container .form-control::placeholder { color: #82919b; font-size: 12px; }
.page-container .nav-pills { border-radius: 11px !important; padding: 5px !important; max-width: 100%; }
.page-container .nav-pills .nav-link { color: #526573; font-size: 12px; border-radius: 7px; padding: 10px 14px; }
.page-container .nav-pills .nav-link.active { background: #087f70; color: #fff; box-shadow: 0 2px 4px #087f7015; }
.page-container .nav-pills .nav-link:not(.active):hover { background: #edf5f2; }
.page-container .table { --bs-table-hover-bg: #f1f7f4; --bs-table-hover-color: #172b3a; font-size: 12px; margin-bottom: 0; }
.page-container .table th { white-space: nowrap; }
.page-container .table td { vertical-align: middle; line-height: 1.55; }
.page-container .table td .small { line-height: 1.55; color: #70818d; }
.page-container .table td.fw-bold { font-variant-numeric: tabular-nums; }
.page-container .table .btn { min-height: 30px; }
.page-container .table-responsive { border-radius: 10px; scrollbar-width: thin; }
.page-container .table td[colspan] { padding: 40px 20px !important; background: #fafcfc; }
.page-container .empty-state { border: 1px dashed #cddbd5; border-radius: 12px; background: #f8fbfa; padding: 40px 24px !important; }
.page-container .badge { font-weight: 600; line-height: 1.25; }
.page-container .bg-opacity-15 { --bs-bg-opacity: .12; }
.page-container .bg-opacity-20 { --bs-bg-opacity: .16; }
.page-container .metric-card { border: 1px solid #e2e7ec; border-radius: 14px; box-shadow: none; padding: 22px; }
.page-container .metric-value { font-size: 28px; font-variant-numeric: tabular-nums; letter-spacing: -.7px; }
.page-container .metric-icon { border-radius: 12px; }

/* Devices and notes retain their content and category colors. */
#devices-cards-container > div > .card-custom { box-shadow: 0 3px 12px #23394b06 !important; padding: 20px !important; }
#devices-cards-container .card-custom:hover { border-color: #abc5bd !important; }
#devices-cards-container .card-custom .border-top { padding-top: 14px !important; margin-top: 16px !important; }
.sticky-note-card { border-radius: 14px !important; transform: none !important; box-shadow: 0 3px 12px #23394b08 !important; padding: 22px !important; border: 1px solid #182f3c14; }
.sticky-note-card:hover { transform: translateY(-2px) !important; }
.sticky-note-card p { line-height: 1.75; }

/* Finance and invoices: quieter totals and distinct action areas. */
[data-page="financials"] > .row .card, #invoices-kpi-container .card-custom { border-radius: 14px !important; padding: 20px !important; box-shadow: none !important; }
[data-page="financials"] .fs-4, #invoices-kpi-container .fs-5 { font-variant-numeric: tabular-nums; letter-spacing: -.5px; }
[data-page="invoices"] .ws-page-header { display: grid !important; grid-template-columns: 1fr; }
[data-page="invoices"] .ws-page-header > div:last-child { padding: 12px; background: #eaf0f3; border-radius: 10px; }
#invoicePills { gap: 5px !important; }
#invoices-table-container { border-top: 1px solid #e2e7ec; }

/* Planning: equal-sized summaries and horizontally scrollable work lanes. */
[data-page="calendar"] > .row > div > .card { border-radius: 12px !important; padding: 16px !important; height: 100%; }
.kanban-board-scroll { gap: 16px; padding-bottom: 18px; scrollbar-width: thin; }
.kanban-col { background: #eaf0f3; border: 1px solid #dfe6eb; border-radius: 14px; }
.kanban-col-header { padding: 16px; border-bottom: 1px solid #dce4e9; }
.kanban-cards-wrap { padding: 10px; }
.kanban-card { border-radius: 10px !important; box-shadow: 0 2px 5px #23394b06; padding: 15px !important; }
.kanban-card.is-task { border-left-color: #087f70 !important; }
.cal-grid-header { background: #edf3f0; color: #526b60; padding: 12px 0; }
.cal-day-cell { min-height: 125px; padding: 9px; }
.cal-day-cell.today-cell { background: #f0f9f5; box-shadow: inset 0 0 0 2px #399b80; }
.cal-pill { border-radius: 5px; padding: 4px 6px; }
.delay-alert-card { border-radius: 12px; box-shadow: none; }

/* Account, settings, integrations and import. */
#form-settings > .card-custom, [data-page="users"] > .card-custom { padding: 26px !important; }
#form-settings h5, [data-page="users"] h5 { font-size: 16px; line-height: 1.5; }
#form-settings .form-label, #form-my-profile .form-label { color: #526573; font-size: 12px; margin-bottom: 8px; }
#form-settings > .text-end { padding: 16px; border: 1px solid #dce6e1; border-radius: 12px; background: #edf5f1; }
#app-modules-container .card-custom { padding: 24px !important; box-shadow: none !important; }
#app-modules-container h5 { font-size: 17px; }
[data-page="import"] .card-custom { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: left !important; }
[data-page="import"] .card-custom > .btn { margin-top: auto; }
[data-page="ai-ops"] .nav { flex-wrap: wrap; }
[data-page="ai-ops"] .card-custom { box-shadow: none !important; }
.ai-studio-tabs { border: 1px solid #e2e7ec; border-radius: 12px; box-shadow: none; flex-wrap: wrap; }
.ai-studio-tab-btn { min-width: 180px; border-radius: 8px; font-size: 13px; }
.ai-studio-tab-btn.active { background: #087f70; box-shadow: none; }
.page-container .btn-outline-warning { color: #94620a; border-color: #e8ca88; }
.page-container .btn-outline-info { color: #237989; border-color: #a5d4db; }
.page-container .text-warning { color: #a56d0b !important; }
.page-container .table .btn { display: inline-flex; align-items: center; justify-content: center; gap: 4px; white-space: nowrap; }
[data-page="quotes"] .table td:first-child { white-space: nowrap; }
[data-page="purchases"] .table td:nth-child(3) { white-space: normal !important; word-break: break-word; }
[data-page="purchases"] .table { width: 100% !important; max-width: 100% !important; }
[data-page="purchases"] .table td:first-child, [data-page="purchases"] .table td:nth-child(4), [data-page="purchases"] .table td:nth-child(5), [data-page="purchases"] .table td:nth-child(6), [data-page="purchases"] .table td:last-child { white-space: nowrap; }
.form-check-input:checked { background-color: #087f70; border-color: #087f70; }
@media (min-width: 768px) { #btn-floating-ai { display: none; } }

/* Public service screens and shared editor/detail dialogs. */
.portal-container { padding-top: 12px; }
.portal-container > .text-center { padding: 24px 10px !important; }
.portal-container .card-custom { border: 1px solid #dce6e1; box-shadow: 0 8px 30px #23394b06 !important; }
.portal-container .portal-tab-pill { border-radius: 9px; }
.portal-container .nav-pills .portal-tab-pill.active { background: #087f70 !important; color: #fff !important; box-shadow: none !important; }
.mobile-nav-fab .fab-icon-wrap { background: #087f70; box-shadow: 0 4px 12px #087f7026; }
.mobile-bottom-nav .mobile-nav-item.active { color: #087f70; }
.modal-content { border: 1px solid #dfe6eb; border-radius: 16px !important; box-shadow: 0 24px 80px #14273526; }
.modal-header { padding: 20px 24px; background: #f5f8f7; border-bottom: 1px solid #e1e8e4; border-radius: 16px 16px 0 0; }
.modal-title { font-size: 18px; font-weight: 700; color: #203b38; }
.modal-header .btn-close-white { filter: none; }
.modal-body { padding: 24px; }
.modal-body .form-label { color: #526573; font-size: 12px; }
.modal-body .form-control, .modal-body .form-select { min-height: 39px; }
.modal-body .table-responsive { border: 1px solid #e2e7ec; border-radius: 9px; }
.modal-footer { padding: 16px 24px; background: #f8faf9; border-top: 1px solid #e1e8e4; border-radius: 0 0 16px 16px; gap: 7px; }
.dropdown-menu { border: 1px solid #e2e7ec; border-radius: 10px; padding: 6px; box-shadow: 0 12px 32px #14273515 !important; }
.dropdown-item { border-radius: 6px; padding: 9px 12px; font-size: 12px; }
.dropdown-item:hover { background: #edf5f1; }

@media (max-width: 991.98px) {
 .ws-page-header > div:first-child { flex-basis: 100%; }
 .ws-page-header > .btn { margin-top: 0; }
 .ws-page-header h3 { font-size: 24px; }
 .page-container .nav-pills { width: 100% !important; flex-wrap: wrap; }
 .page-container .nav-pills .nav-link { padding: 9px 11px; }
}
@media (max-width: 767.98px) {
 .ws-page-header { gap: 14px !important; padding-bottom: 18px; }
 .ws-page-header h3 { font-size: 22px; }
 .ws-page-header > div:first-child { flex-basis: auto; width: 100%; }
 .ws-page-header > div:last-child:not(:first-child) { width: 100%; }
 .ws-page-header .btn { min-height: 40px; white-space: normal; text-align: left; }
 .page-container .table-responsive > .table { min-width: 560px; }
 .page-container > .table, .card > .table { min-width: 0; }
 .page-container .table-responsive { overscroll-behavior-x: contain; max-width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
 #form-settings > .card-custom, [data-page="users"] > .card-custom { padding: 18px !important; }
 .cal-grid-header, .cal-month-grid { min-width: 700px; }
 [data-page="calendar"] { overflow-x: auto; }
 .modal-footer > .btn { flex: 1 1 auto; min-height: 42px; }
 .portal-container h3 { font-size: 22px; }
 .portal-container .nav-link { font-size: 12px; }
 .page-container .metric-card { padding: 18px; }
}
@media print {
 .ws-page-header { border: 0; }
 .ws-page-header .btn, .ws-filter-label { display: none !important; }
 .page-container .table { min-width: 0; }
 .table-responsive { overflow: visible !important; }
}

/* Typography and remaining framework accents, v3.2. */
:root {
 --bs-primary: #087f70;
 --bs-primary-rgb: 8, 127, 112;
 --bs-primary-text-emphasis: #06594e;
 --bs-primary-bg-subtle: #e4f3ed;
 --bs-primary-border-subtle: #baded0;
 --bs-link-color: #087f70;
 --bs-link-color-rgb: 8, 127, 112;
 --bs-link-hover-color: #06594e;
 --bs-link-hover-color-rgb: 6, 89, 78;
 --font-body: 'Source Sans 3', 'Segoe UI', sans-serif;
 --font-heading: 'Manrope', 'Segoe UI', sans-serif;
}
body, input, select, textarea, button { font-family: var(--font-body); }
body { font-size: 15px; letter-spacing: 0; line-height: 1.55; }
.page-container :is(h1,h2,h3,h4,h5,h6), .modal-title, .login-card h4 { font-family: var(--font-heading); font-weight: 750 !important; letter-spacing: -.55px; }
.page-container h3, .ws-page-header h3 { font-size: 26px; line-height: 1.35; }
.dashboard-heading h3 { font-size: 30px; }
.ws-eyebrow, .dashboard-eyebrow { font-family: var(--font-heading); font-size: 10px; font-weight: 700; letter-spacing: 1.4px; }
.sidebar .nav-link { font-family: var(--font-heading); font-size: 12px; font-weight: 600; letter-spacing: -.15px; }
.page-container .nav-link, .ai-studio-tab-btn, .portal-tab-pill { font-family: var(--font-heading); font-size: 12px; font-weight: 650; letter-spacing: -.2px; }
.page-container .nav-pills .nav-link { padding: 11px 16px; border-radius: 8px; }
.page-container .table { font-size: 13px; }
.page-container .table th { font-family: var(--font-heading); font-size: 10px; font-weight: 700; letter-spacing: .4px; }
.page-container .form-label, .ws-filter-label { font-size: 12px; font-weight: 600; }
.page-container .text-muted { line-height: 1.65; }
.btn-primary:hover, .btn-primary:focus-visible, .btn-primary:active { background: #066657 !important; border-color: #066657 !important; }
.page-link { color: #087f70; }
.active > .page-link, .page-link.active { background: #087f70; border-color: #087f70; color: white; }
.nav-tabs .nav-link.active { color: #087f70; border-bottom-color: #087f70; }
.ai-studio-tab-btn.active, .ai-chat-send-btn, .ai-avatar-badge, .btn-floating-ai, .mobile-nav-fab .fab-icon-wrap { background: #087f70 !important; }
.form-range::-webkit-slider-thumb { background: #087f70; }
.form-range::-moz-range-thumb { background: #087f70; }
.form-check-input:focus { border-color: #75b8a7; box-shadow: 0 0 0 3px #087f701a; }
@media (max-width: 767.98px) {
 .page-container h3, .ws-page-header h3 { font-size: 22px; }
 .dashboard-heading h3 { font-size: 25px; }
 .page-container .nav-pills .nav-link { padding: 10px 12px; font-size: 11px; }
}

/* Dedicated planning desk. */
[data-page="calendar"] { overflow: visible; }
.planner-hero { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:25px; }
.planner-hero h3 { font-size:30px; margin:0 0 8px; }
.planner-hero p { margin:0; color:#6b7d88; }
.planner-hero-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.planner-hero-actions .btn { display:inline-flex; align-items:center; gap:8px; font-size:13px; padding:10px 13px; }
.planner-hero svg { width:17px; height:17px; }
.planner-date { flex-basis:100%; display:flex; align-items:center; justify-content:flex-end; gap:7px; color:#637884; font-size:12px; margin-bottom:5px; }
.planner-overview { display:grid; grid-template-columns:repeat(4,1fr); background:#16392f; color:#e8f4ed; border-radius:14px; padding:20px 10px; margin-bottom:25px; }
.planner-overview > * { display:flex; align-items:center; gap:9px; padding:0 20px; border:0; border-right:1px solid #ffffff20; background:transparent; color:inherit; font-size:13px; text-align:left; }
.planner-overview > :last-child { border:0; }
.planner-overview strong { margin-left:auto; font-family:var(--font-heading); font-size:26px; }
.planner-overview svg { width:15px; height:15px; }
.planner-dot { flex-shrink:0; width:7px; height:7px; background:#8bdfb7; border-radius:50%; }
.planner-dot.warning { background:#f5c583; }
.planner-toolbar { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:20px; }
.planner-views { display:flex; gap:4px; background:#e7edeb; border-radius:10px; padding:5px; }
.planner-views button { border:0; color:#5d7169; background:transparent; padding:10px 15px; border-radius:7px; font:600 12px var(--font-heading); display:flex; align-items:center; gap:8px; }
.planner-views button.selected { background:white; color:#087f70; box-shadow:0 2px 5px #1427350d; }
.planner-views svg, .planner-search svg { width:16px; height:16px; }
.planner-search { display:flex; align-items:center; gap:10px; background:white; padding:10px 13px; border:1px solid #dce5e0; border-radius:9px; width:310px; max-width:100%; color:#82958a; }
.planner-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; font-size:13px; }
.planner-search:focus-within { border-color:#087f70; box-shadow:0 0 0 3px #087f7010; }
.planner-search button { border:0; background:none; display:flex; color:#587268; }
.planner-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:22px; align-items:start; }
.planner-board { min-width:0; padding:20px; background:#fff; border:1px solid #e0e7e3; border-radius:14px; }
.planner-board .cal-day-cell { min-height:112px; padding:7px; }
.planner-board .cal-grid-header { font-size:10px; }
.planner-board .cal-day-num { font-size:12px; }
.planner-board .cal-pill { font-size:10px; }
.planner-board .cal-month-grid, .planner-board .cal-grid-header { min-width:630px; }
.planner-board .cal-month-grid, .planner-board .cal-grid-header { grid-template-columns:repeat(7,minmax(0,1fr)); }
.planner-board .cal-day-cell, .planner-board .cal-pill { min-width:0; overflow:hidden; }
.planner-board .cal-pill { text-overflow:ellipsis; }
.planner-board #calendar-tab-content > .card { border:0 !important; padding:0 !important; box-shadow:none !important; margin-bottom:0 !important; }
.planner-board #calendar-tab-content { overflow-x:auto; }
.planner-rail { display:flex; flex-direction:column; gap:16px; }
.planner-rail-card { padding:20px; border:1px solid #e0e7e3; border-radius:13px; background:#fff; }
.planner-section-title { display:flex; align-items:center; justify-content:space-between; font:700 13px var(--font-heading); margin-bottom:17px; }
.planner-count { padding:3px 7px; border-radius:6px; background:#eaf4ee; color:#087f70; font-size:11px; }
.planner-count.warning { background:#fff1df; color:#966013; }
.planner-empty { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:10px 0; }
.planner-empty > svg { color:#8da99b; width:28px; height:28px; margin-bottom:4px; }
.planner-empty strong { font-size:13px; font-weight:600; }
.planner-empty p, .planner-muted { font-size:12px; color:#75867c; line-height:1.6; margin:0; }
.planner-text-button { border:0; background:none; color:#087f70; padding:12px 0 0; display:flex; align-items:center; gap:7px; font-size:12px; font-weight:600; }
.planner-text-button svg { width:14px; height:14px; }
.planner-task { display:flex; gap:12px; padding:12px 0; border-top:1px solid #edf1ee; }
.planner-task time { font-size:11px; color:#087f70; min-width:44px; }
.planner-task strong, .planner-task small, .planner-delay strong, .planner-delay small { display:block; overflow-wrap:anywhere; }
.planner-task strong { font-size:13px; }
.planner-task small, .planner-delay small { font-size:11px; color:#75867c; margin-top:4px; }
.planner-delay { border-left:2px solid #e4b676; padding:0 0 0 12px; margin-bottom:17px; }
.planner-delay > span { color:#966013; font-size:10px; }
.planner-delay strong { font-size:12px; font-weight:600; margin-top:4px; }
.planner-stage { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid #edf1ee; font-size:12px; }
.planner-stage strong { color:#087f70; }
.planner-rail-card > .planner-muted { display:block; margin-top:12px; }
.planner-wide { grid-template-columns:minmax(0,1fr); }
.planner-wide .planner-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.planner-search-summary { color:#62786b; font-size:12px; }
@media (max-width:1199px) { .planner-layout { grid-template-columns:minmax(0,1fr); } .planner-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); } .planner-overview > * { padding:0 12px; } }
@media (max-width:767px) {
 .planner-hero { flex-direction:column; align-items:stretch; gap:15px; }
 .planner-hero-actions, .planner-date { justify-content:flex-start; }
 .planner-overview { grid-template-columns:repeat(2,1fr); gap:18px 0; padding:16px 0; }
 .planner-overview strong { font-size:22px; }
 .planner-overview > * { font-size:11px; padding:0 12px; }
 .planner-overview > :nth-child(2) { border:0; }
 .planner-toolbar { align-items:stretch; flex-direction:column; }
 .planner-views button { flex:1; justify-content:center; padding:10px 7px; font-size:10px; }
 .planner-search { width:100%; }
 .planner-board { padding:12px; }
 .planner-rail, .planner-wide .planner-rail { display:flex; flex-direction:column; }
}

/* Module-specific editorial layouts, v3.4. */
.ws-page-header[data-presentation], .dashboard-heading[data-presentation] { background:#fff; border:1px solid #e0e7e3; border-radius:16px; padding:24px !important; margin-bottom:24px !important; }
.module-intro { position:relative; padding-left:76px; }
.module-emblem { position:absolute; left:0; top:3px; width:54px; height:54px; display:grid; place-items:center; border-radius:15px; color:#087f70; background:#e7f3ed; border:1px solid #d0e7da; }
.module-emblem svg { width:25px; height:25px; stroke-width:1.6; }
.module-intro h3 { font-size:24px; letter-spacing:-.7px; }
.module-intro p { font-size:13px !important; }
.module-intro .ws-eyebrow { font-size:9px; }
.collection-toolbar { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:4px 0 17px; }
.collection-toolbar > strong { color:#28433a; font:700 13px var(--font-heading); }
.collection-toolbar-standalone { border-bottom:1px solid #dce5df; margin-bottom:18px; padding:0 0 14px; }
.view-choice { display:flex; border:1px solid #dce5df; border-radius:8px; padding:3px; background:#f5f8f6; }
.view-choice button { border:0; padding:5px 11px; border-radius:5px; background:transparent; color:#718177; font-size:12px; }
.view-choice button[aria-pressed="true"] { background:#fff; color:#087f70; box-shadow:0 1px 4px #16392f12; font-weight:600; }
[data-density="compact"] .table tbody td { padding-top:7px !important; padding-bottom:7px !important; font-size:12px; }
[data-density="comfortable"] .table tbody td { padding-top:18px; padding-bottom:18px; }

/* Customer categories become a navigable directory index. */
#customerPills { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100% !important; padding:0 !important; border:0 !important; background:transparent !important; gap:12px !important; box-shadow:none !important; }
#customerPills .nav-link { width:100%; min-height:68px; background:#fff; border:1px solid #e0e7e3; border-radius:11px; padding:14px !important; text-align:left; }
#customerPills .nav-link.active { background:#edf7f1; color:#086451; border-color:#8dc8b1; box-shadow:inset 0 -3px #087f70; }
#customerPills .badge { margin-left:auto !important; background:#e6f0eb !important; color:#386953 !important; font-size:13px; min-width:25px; }
#customerPills svg { flex-shrink:0; }
[data-page="customers"] .table td:first-child { min-width:250px; }
[data-page="customers"] .table td:first-child > div:first-child { color:#244137; }

/* Devices: clean equipment cards with a compact list alternative. */
#devices-cards-container .card-custom { border-top:3px solid #b6dccc !important; }
#devices-cards-container .card-custom .bg-light { background:#f3f7f5 !important; border-radius:8px; }
[data-card-view="list"] #devices-cards-container > div, [data-card-view="list"] #notes-grid-container > div, [data-card-view="list"] #app-modules-container > div { width:100%; }
[data-card-view="list"] #devices-cards-container .card-custom { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 24px; }
[data-card-view="list"] #devices-cards-container .card-custom > :last-child { grid-column:1/-1; }

/* Status groups and operational lists. */
[data-page="services"] > .d-flex:has(> button[onclick*="filterServices"]) { padding:14px; border:1px solid #e0e7e3; background:#fff; border-radius:12px; }
[data-page="quotes"] > .ws-page-header + .d-flex, [data-page="inventory"] > .ws-page-header + .d-flex { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px !important; }
[data-page="inventory"] > .ws-page-header + .d-flex { grid-template-columns:repeat(3,minmax(0,1fr)); }
[data-page="quotes"] > .ws-page-header + .d-flex .btn, [data-page="inventory"] > .ws-page-header + .d-flex .btn { padding:16px 12px; border-radius:11px; justify-content:flex-start; min-height:58px; box-shadow:none !important; }
[data-page="quotes"] > .ws-page-header + .d-flex .badge, [data-page="inventory"] > .ws-page-header + .d-flex .badge { margin-left:auto !important; }
.purchase-list-search { display:flex; flex-direction:column; gap:7px; color:#60766a; font-size:12px; padding:0 0 17px; }
.purchase-list-search input { border:1px solid #dce5df; border-radius:8px; padding:11px 13px; max-width:450px; background:#f9fbfa; }
.purchase-search-status { font-size:12px; color:#087f70; }
[data-page="purchases"] .table td:nth-child(2) { max-width: 200px; }

/* Notes retain category color as a left rule, with a paper-like surface. */
.sticky-note-card { background:#fffdf7 !important; border:1px solid #e7e3d8; border-left:4px solid #d9c87c; box-shadow:0 3px 10px #41371605 !important; }
.sticky-note-blue { border-left-color:#77b4bb; }
.sticky-note-pink, .sticky-note-red { border-left-color:#d990a0; }
.sticky-note-green { border-left-color:#7cb79a; }
.sticky-note-purple { border-left-color:#a89bc5; }
.sticky-note-card .border-top { border-color:#e8e2d7 !important; }

/* Finance: strong totals, restrained supporting details. */
[data-page="financials"] > .row:first-of-type > div:first-child > .card { background:#16392f !important; color:#fff; }
[data-page="financials"] > .row:first-of-type > div:first-child > .card :is(.text-dark,.text-muted,.text-success) { color:#e2f4e9 !important; }
[data-page="financials"] #financialPills { width:100% !important; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
#financialPills .nav-link { width:100%; justify-content:center; }
[data-page="invoices"] #invoicePills { gap:12px !important; padding:8px !important; }
[data-page="invoices"] #invoicePills .nav-link { min-height:45px; }
[data-page="maintenance"] .metric-card { border-left:0; background:#fff; flex-wrap:wrap; }
[data-page="maintenance"] .metric-card::before { display:none; }

/* Long forms have a section index instead of one unbroken scroll. */
.settings-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:22px; align-items:start; }
.settings-index { position:sticky; top:90px; display:flex; flex-direction:column; padding:17px 10px; background:#fff; border:1px solid #e0e7e3; border-radius:12px; }
.settings-index > span { color:#83938a; font:700 9px var(--font-heading); letter-spacing:1.2px; padding:3px 10px 14px; }
.settings-index button { border:0; background:none; text-align:left; color:#486052; border-radius:7px; padding:11px 10px; font-size:13px; }
.settings-index button:hover, .settings-index button:focus-visible { background:#eaf5ee; color:#087f70; }
.settings-section { scroll-margin-top:90px; }
#form-settings .card-custom > h5 { padding-bottom:16px; border-bottom:1px solid #edf1ee; }
[data-page="users"] > .card-custom:first-of-type { background:linear-gradient(90deg,#f0f7f3 0,#fff 30%); }
#profile-avatar-preview { width:96px !important; height:96px !important; border:5px solid #fff !important; box-shadow:0 4px 18px #16392f12; }
#app-modules-container .card-custom { border-top:3px solid #d1e7db; }
#app-modules-container .card-custom .border-top { margin-top:20px !important; }
[data-page="import"] .card-custom { align-items:flex-start; border-top:3px solid #a4cfb9; }
[data-page="import"] .card-custom h5 { font-size:18px; }
[data-page="ai-ops"] .ai-studio-tabs { padding:8px; background:#eaf1ec; }
.portal-container > .text-center { background:#edf6f0; border:1px solid #d9e8de; border-radius:18px; margin-top:24px; padding:30px 20px !important; }
.portal-container .card-custom { border-top:3px solid #b7d9c6; }

@media (max-width:1199px) { #customerPills { grid-template-columns:repeat(2,minmax(0,1fr)); } .settings-layout { grid-template-columns:160px minmax(0,1fr); } }
@media (max-width:767px) {
 .ws-page-header[data-presentation], .dashboard-heading[data-presentation] { padding:18px !important; }
 .module-intro { padding-left:0; padding-top:54px; }
 .module-emblem { width:40px; height:40px; top:0; border-radius:11px; }
 .module-emblem svg { width:21px; height:21px; }
 #customerPills .nav-link { min-height:60px; padding:10px !important; font-size:10px; }
 [data-page="quotes"] > .ws-page-header + .d-flex, [data-page="inventory"] > .ws-page-header + .d-flex { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .settings-layout { display:block; }
 .settings-index { position:static; margin-bottom:18px; flex-direction:row; flex-wrap:wrap; gap:4px; }
 .settings-index > span { flex-basis:100%; }
 .settings-index button { font-size:12px; padding:8px; background:#f2f6f3; }
 [data-page="financials"] #financialPills { grid-template-columns:1fr; }
 [data-card-view="list"] #devices-cards-container .card-custom { display:flex !important; }
 .collection-toolbar { flex-wrap:wrap; }
}
@media print { .view-choice, .settings-index, .purchase-list-search, .module-emblem { display:none !important; } .settings-layout { display:block; } .module-intro { padding:0; } }
@media (min-width:768px) {
 [data-card-view="list"] #devices-cards-container .card-custom { grid-template-columns:minmax(0,1fr) 220px; align-items:center; }
 [data-card-view="list"] #devices-cards-container .card-custom > :last-child { grid-column:auto; border-top:0 !important; padding:0 !important; margin:0 !important; }
 [data-card-view="list"] #devices-cards-container .card-custom > :first-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 20px; }
 [data-card-view="list"] #devices-cards-container .card-custom > :first-child > :first-child { grid-column:1/-1; }
 [data-card-view="list"] #devices-cards-container .card-custom > :first-child > * { margin:0 !important; }
}
[data-page="maintenance"] .metric-card { display:grid; grid-template-columns:44px minmax(0,1fr); gap:6px 14px; min-height:130px; border-left:0 !important; }
[data-page="maintenance"] .metric-icon { grid-row:1/3; width:44px; height:44px; margin:0; }
[data-page="maintenance"] .metric-label { grid-column:2; font-size:10px; }
[data-page="maintenance"] .metric-value { grid-column:2; margin:0; line-height:1; }

/* Task-focused editors: fields stay in the original form. */
.workspace-editor .modal-dialog { width:calc(100% - 40px); max-width:1080px !important; margin:20px auto; }
.workspace-editor .modal-content { max-height:calc(100dvh - 40px); overflow:hidden; }
.workspace-editor .modal-header, .workspace-editor .modal-footer { flex-shrink:0; }
.workspace-editor .modal-body { overflow-y:auto; overflow-x:hidden; background:#f3f6f4; padding:22px; }
.editor-intro { color:#607468; font-size:13px; margin:0 0 20px; }
.editor-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.editor-section { min-width:0; padding:20px; border:1px solid #dce6df; border-radius:12px; background:#fff; margin:0; }
.editor-section:first-child { grid-row:span 2; }
#form-create-device .editor-section:first-child { grid-row:auto; grid-column:1 / -1; }
#form-create-device .editor-section:first-child .row > div { width:100%; }
#form-create-service .editor-sections { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px !important; align-items:start !important; }
#form-create-service .editor-section { min-width:0 !important; width:100% !important; }
#form-create-service .editor-section:first-child { grid-row:1 !important; grid-column:1 !important; }
#form-create-service .editor-section:nth-child(1) { grid-column:1 !important; grid-row:1 !important; }
#form-create-service .editor-section:nth-child(2) { grid-column:1 !important; grid-row:2 !important; }
#form-create-service .editor-section:nth-child(3) { grid-column:2 !important; grid-row:1 !important; }
#form-create-service .editor-section:nth-child(4) { grid-column:2 !important; grid-row:2 !important; }
@media (max-width:991.98px) {
  #form-create-service .editor-sections { display:flex !important; flex-direction:column !important; gap:16px !important; }
  #form-create-service .editor-section { grid-column:auto !important; grid-row:auto !important; }
}
.editor-section legend { float:none; display:flex; align-items:center; gap:10px; width:100%; font:700 14px var(--font-heading); color:#203f30; margin:0 0 5px; }
.editor-section legend span { display:grid; place-items:center; width:27px; height:27px; background:#e9f4ed; color:#087f70; border-radius:8px; font-size:10px; }
.editor-section-hint { font-size:12px; color:#809087; margin:0 0 20px 37px; }
.workspace-editor .editor-section .form-label { color:#435d4c; font-size:12px; font-weight:600 !important; line-height:1.45; }
.workspace-editor .editor-section .form-control, .workspace-editor .editor-section .form-select { min-height:43px; font-size:14px; border-color:#dce5df; background-color:#fcfdfc; }
.workspace-editor .editor-section textarea { min-height:90px; }
.workspace-editor .editor-section [class*="col-md-"] { width:100%; }
.workspace-editor .editor-section .col-md-6 { width:50%; }
.workspace-editor .editor-section .form-text { font-size:11px; }
.workspace-editor .modal-footer { padding:14px 22px; background:#fff; box-shadow:0 -4px 15px #16392f04; }
.workspace-editor .modal-footer .btn { padding:10px 17px; min-height:42px; }
.workspace-editor .cust-search-dropdown-menu { max-height:230px; overflow-y:auto; z-index:1100; }
.workspace-quote-editor .modal-dialog { max-width:1380px !important; }
.quote-editor-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:start; }
.quote-editor-document { min-width:0; border:0 !important; padding:0 !important; background:transparent !important; box-shadow:none !important; }
.quote-editor-document .bg-info-subtle { background:#edf5f0 !important; border-color:#d5e5db !important; gap:12px; }
.quote-editor-document > .border-bottom { border:0 !important; background:#e8f2ec; padding:18px !important; border-radius:12px; gap:12px; }
.quote-editor-document > .bg-light, .quote-reference-options { border:1px solid #dce6df !important; background:#fff !important; border-radius:12px !important; padding:18px !important; }
.quote-reference-options { margin-bottom:16px; }
.quote-reference-options summary { color:#3d5f4a; font-size:13px; font-weight:600; cursor:pointer; }
.quote-reference-options > div { border:0 !important; margin:12px 0 0 !important; background:white !important; padding:0 !important; }
.quote-editor-summary { position:sticky; top:0; min-width:0; }
.quote-editor-summary > div { border-radius:12px !important; background:#fff !important; border-color:#cfe1d5 !important; padding:20px !important; }
.quote-editor-summary button { width:100%; text-transform:none !important; }
.quote-editor-summary #qEditorGrandTotalDisplay { background:#16392f; color:#e5f8eb !important; padding:16px; border-radius:9px; font-size:27px !important; overflow-wrap:anywhere; }
#qEditorItemsTable { min-width:720px; }
#qEditorItemsTable th { font-size:10px; background:#eaf1ed; color:#536e5d; padding:11px; }
#qEditorItemsTable td { padding:10px; }
.workspace-editor .input-group > .form-control { min-width:0; }
/* Keep planning content inside the available workspace at all widths. */
.planner-hero > div, .planner-toolbar > div, .planner-layout > *, .planner-overview > * { min-width:0; }
.planner-hero { flex-wrap:wrap; }
.planner-hero-actions { max-width:100%; }
.planner-overview { grid-template-columns:repeat(4,minmax(0,1fr)); }
.planner-overview > * { flex-wrap:wrap; }
.planner-rail-card { min-width:0; overflow-wrap:anywhere; }
.planner-board #calendar-tab-content { max-width:100%; }
.planner-board .kanban-board-scroll { display:flex; flex-direction:column; max-width:100%; min-width:0; min-height:0; overflow:visible; padding-bottom:0; }
.planner-board .kanban-col { flex:0 0 auto; width:100%; max-width:none; min-width:0; background:#f3f6f4; }
.planner-board .kanban-col-header > div { flex-wrap:wrap; gap:8px; }
.planner-board .kanban-col-header .text-truncate { max-width:none !important; white-space:normal; }
.planner-board .kanban-cards-wrap { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); max-height:none; overflow:visible; align-items:start; }
.planner-board .kanban-card { min-width:0; overflow-wrap:anywhere; }
.planner-board .kanban-card .d-flex { min-width:0; flex-wrap:wrap; gap:6px; }
.planner-board .kanban-card .text-truncate { min-width:0; max-width:100%; }
.planner-board .kanban-cards-wrap > :only-child:not(.kanban-card) { padding:12px !important; }
.planner-board .cal-month-grid, .planner-board .cal-grid-header { min-width:0; }
.planner-board .cal-day-cell { min-width:0; }
.planner-views { flex-wrap:wrap; }
[data-page="financials"] > .ws-page-header + .row > div:first-child > .card { background:#16392f !important; color:#fff; }
[data-page="financials"] > .ws-page-header + .row > div:first-child > .card :is(.text-dark,.text-muted,.text-success) { color:#e2f4e9 !important; }
@media (max-width:1100px) { .quote-editor-layout { grid-template-columns:minmax(0,1fr); } .quote-editor-summary { position:static; } }
@media (max-width:767px) {
 .workspace-editor .modal-dialog { width:calc(100% - 16px) !important; max-width:none !important; margin:8px auto !important; }
 .workspace-editor .modal-content { max-height:calc(100dvh - 16px); }
 .workspace-editor .modal-title { font-size:16px; }
 .editor-sections { grid-template-columns:minmax(0,1fr); gap:12px; }
 .editor-section { padding:16px; }
 .editor-section:first-child { grid-row:auto; }
 .workspace-editor .editor-section .col-md-6 { width:100%; }
 .workspace-editor .modal-footer .btn { font-size:12px; padding:9px 11px; }
 .planner-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .planner-board .cal-month-grid, .planner-board .cal-grid-header { min-width:560px; }
 .quote-editor-document > .border-bottom { flex-wrap:wrap; }
}

/* Customer-specific reference price book. */
.price-guide { display:flex; gap:16px; padding:22px; margin-bottom:22px; background:#e8f2ec; color:#244a37; border:1px solid #d5e5db; border-radius:14px; }
.price-guide > svg { flex-shrink:0; margin-top:3px; }
.price-guide p { margin:5px 0 0; font-size:13px; color:#62786b; }
.price-filter-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 180px; gap:18px; padding:20px; margin-bottom:22px; }
.price-filter-grid label { min-width:0; font-size:12px; font-weight:600; color:#536e5d; }
.price-filter-grid :is(input,select) { margin-top:8px; }
.price-list-heading { display:flex; justify-content:space-between; padding:20px; border-bottom:1px solid #e6ede9; }
.price-list-heading span { color:#708477; font-size:13px; }
.price-table { min-width:760px; }
.price-table td { padding:18px !important; }
.price-table th { padding:13px 18px !important; }
.price-table td:first-child { width:42%; max-width:440px; overflow-wrap:anywhere; }
.price-firm { display:block; font-size:11px; color:#087f70; margin-bottom:6px; }
.price-note { color:#7c887f; margin-top:7px; white-space:pre-wrap; }
.price-value { font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }
.price-empty { text-align:center; padding:50px 20px; color:#728579; }
.price-empty svg { width:36px; height:36px; margin-bottom:18px; }
.price-empty h5 { color:#294f3b; }
.price-empty p { font-size:13px; }
@media(max-width:767px) { .price-filter-grid { grid-template-columns:minmax(0,1fr); } }

/* Dedicated banking workspace. */
.enpara-account-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; margin-bottom:24px; }
.enpara-account { background:#16392f; color:#e8f5ed; border-radius:16px; padding:24px; display:flex; flex-direction:column; gap:12px; min-width:0; }
.enpara-account:nth-child(2) { background:#254a43; }
.enpara-account > strong { font:700 30px var(--font-heading); overflow-wrap:anywhere; }
.enpara-account > small { opacity:.75; }
.enpara-scan { padding:24px; border:1px solid #dae5de; background:white; border-radius:16px; }
.enpara-scan p,.enpara-scan small { color:#6a8072; font-size:13px; }
.enpara-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding:20px; border:1px solid #dae5de; border-radius:14px; background:#fff; margin-bottom:24px; }
.enpara-actions > div { flex:1; min-width:200px; }
.enpara-actions p { font-size:12px; color:#6a8072; margin:4px 0 0; }
.enpara-actions label { font-size:11px; color:#6a8072; }
.enpara-tabs { display:flex; gap:8px; margin-bottom:18px; }
.enpara-tabs button { padding:12px 18px; border:1px solid #dce6df; border-radius:9px; background:white; color:#6a8072; font-weight:600; }
.enpara-tabs button.selected { background:#e4f1e9; color:#087f70; border-color:#b9d9c6; }
.enpara-filters { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:12px; padding:20px; background:white; border:1px solid #dae5de; border-radius:14px; }
.enpara-filters label { min-width:0; font-size:12px; color:#61776a; }
.enpara-filters :is(input,select) { margin-top:7px; }
.enpara-filters button { align-self:end; }
.enpara-totals { display:flex; flex-wrap:wrap; gap:12px 25px; font-size:13px; margin:20px 0; }
.enpara-table { min-width:860px; }
.enpara-table td,.enpara-table th { padding:16px !important; }
.enpara-description { min-width:200px; max-width:440px; white-space:normal; overflow-wrap:anywhere; }
.enpara-detail { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.enpara-detail > div { padding:14px; background:white; border-radius:8px; min-width:0; }
.enpara-detail dt { color:#708477; font-size:12px; font-weight:500; }
.enpara-detail dd { margin:6px 0 0; overflow-wrap:anywhere; }
@media(max-width:900px) { .enpara-account-grid { grid-template-columns:1fr 1fr; } .enpara-scan { grid-column:1/-1; } .enpara-filters { grid-template-columns:1fr 1fr; } }
@media(max-width:575px) { .enpara-account-grid,.enpara-filters,.enpara-detail { grid-template-columns:1fr; } .enpara-account>strong { font-size:27px; } .enpara-actions>button { width:100%; } }
