/* Alyuma's dashboard components, shared by every workspace and report. */
:root {
  --primary-color:#167d75; --primary-hover:#10645e; --secondary-color:#607780;
  --success-color:#247b5e; --warning-color:#9a681d; --danger-color:#b3434d; --info-color:#416f86;
  --bg-primary:#f4f6f6; --bg-secondary:#fff; --bg-tertiary:#f0f5f4;
  --text-primary:#182e37; --text-secondary:#607780; --text-muted:#73868d;
  --border-color:#dfe7e7; --shadow-sm:0 2px 3px #142b3403; --shadow-md:0 6px 20px #142b3409;
  --bs-primary-rgb:22,125,117; --bs-success-rgb:36,123,94; --bs-danger-rgb:179,67,77;
  --bs-warning-rgb:154,104,29; --bs-info-rgb:65,111,134;
  --ui-radius:11px; --ui-space:24px;
}
.workspace-ui { color:var(--text-primary); background:var(--bg-primary); font-size:14px; }
.workspace-ui .page-content { padding:32px; }
.workspace-ui .workspace-heading,
.workspace-ui .dashboard-header,
.workspace-ui .page-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:28px; }
.workspace-ui .workspace-heading>div { min-width:0; }
.workspace-ui .workspace-heading .eyebrow { margin-bottom:9px; font-size:10px; line-height:1.5; font-weight:700; letter-spacing:1.6px; color:#738a91; }
.workspace-ui .page-content :is(.dashboard-title,.page-title) { color:#182e37; font-size:29px; line-height:1.25; letter-spacing:-1px; font-weight:700; margin:0 0 8px; overflow-wrap:anywhere; }
.workspace-ui .page-content :is(.dashboard-subtitle,.page-subtitle) { color:#70838a; font-size:13px; line-height:1.7; margin:0; max-width:760px; }
.workspace-ui .workspace-actions,
.workspace-ui .dashboard-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; flex-shrink:0; }
.workspace-ui .page-content :is(.card,.table-card) { border:1px solid var(--border-color); background:#fff; border-radius:var(--ui-radius); box-shadow:var(--shadow-sm); }
.workspace-ui .page-content .table-card { padding:24px; height:auto; min-width:0; max-width:100%; }
.workspace-ui .page-content .card-body { padding:24px; }
.workspace-ui .page-content .card-header { background:#fff; padding:18px 24px; border-bottom:1px solid #e7edeb; border-radius:var(--ui-radius) var(--ui-radius) 0 0; }
.workspace-ui .page-content :is(h2,h3,h4,h5).table-title,
.workspace-ui .page-content :is(.table-card,.card-body)>:is(h3,h4,h5),
.workspace-ui .page-content .card-header :is(h3,h4,h5) { color:#203a44; font-size:15px; line-height:1.5; font-weight:650; letter-spacing:-.15px; margin-bottom:20px; }
.workspace-ui .page-content .table-title i { color:#68868e; }
.workspace-ui .page-content .table-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
/* Metric cards match the operations dashboard, including long monetary values. */
.workspace-ui .page-content :is(.stat-card,.kpi-card) { padding:22px; border:1px solid var(--border-color); border-radius:var(--ui-radius); background:#fff; box-shadow:var(--shadow-sm); transition:none; overflow:visible; }
.workspace-ui .page-content :is(.stat-card,.kpi-card):hover { transform:none; box-shadow:var(--shadow-sm); }
.workspace-ui .page-content .kpi-card::before { display:none; }
.workspace-ui .page-content .kpi-header { align-items:flex-start; gap:12px; margin-bottom:14px; min-height:36px; }
.workspace-ui .page-content :is(.stat-label,.kpi-title) { color:#607780; font-size:12px; font-weight:500; text-transform:none; letter-spacing:0; line-height:1.5; }
.workspace-ui .page-content .stat-label { min-height:36px; padding-right:48px; margin-bottom:14px; }
.workspace-ui .page-content :is(.stat-value,.kpi-value) { font-size:25px!important; font-size:clamp(19px,7.6cqi,29px)!important; line-height:1.4; font-weight:700; letter-spacing:-.6px; overflow-wrap:anywhere; white-space:normal; margin:0 0 10px; }
.workspace-ui .page-content :is(.kpi-sub,.kpi-subtext,.stat-change,.kpi-change) { font-size:11px; line-height:1.6; color:#70838a; }
.workspace-ui .page-content :is(.stat-icon,.kpi-icon,.catalog-icon,.qa-icon) { display:inline-flex; justify-content:center; align-items:center; width:36px; height:36px; min-width:36px; border-radius:9px; color:#238277!important; background:#edf5f3!important; font-size:17px; flex-shrink:0; }
.workspace-ui .page-content .stat-card>.stat-icon { top:22px; right:22px; }
.workspace-ui .page-content :is(.stat-icon,.kpi-icon,.qa-icon):is(.orange,.amber) { color:#976a2c!important; background:#fff5e7!important; }
.workspace-ui .page-content :is(.stat-icon,.kpi-icon,.qa-icon).red { color:#a44b54!important; background:#fbefef!important; }
.workspace-ui .page-content :is(.stat-icon,.kpi-icon,.qa-icon):is(.purple,.indigo) { color:#617797!important; background:#edf1f7!important; }
.workspace-ui .trend-up { color:#247b5e; }.workspace-ui .trend-down { color:#b3434d; }.workspace-ui .trend-flat { color:#70838a; }
/* One action hierarchy; red and amber retain their warning/approval meaning. */
.workspace-ui .btn { font-size:12px; line-height:1.5; font-weight:600; border-radius:7px; padding:10px 15px; min-height:39px; box-shadow:none; text-decoration:none; transition:background-color .15s,border-color .15s; }
.workspace-ui .btn :is(i,svg) { flex-shrink:0; }
.workspace-ui .btn-primary { --bs-btn-bg:#167d75; --bs-btn-border-color:#167d75; --bs-btn-hover-bg:#10645e; --bs-btn-hover-border-color:#10645e; --bs-btn-active-bg:#10645e; background:#167d75; border-color:#167d75; color:#fff; }
.workspace-ui .btn-primary:hover { background:#10645e; border-color:#10645e; }
.workspace-ui :is(.btn-secondary,.btn-outline-secondary,.btn-light) { --bs-btn-color:#526b73; --bs-btn-hover-color:#203a44; --bs-btn-hover-bg:#f0f5f4; --bs-btn-hover-border-color:#bdceca; background:#fff; color:#526b73; border-color:#d8e2df; }
.workspace-ui :is(.btn-secondary,.btn-outline-secondary,.btn-light):hover { color:#203a44; background:#f0f5f4; border-color:#bdceca; }
.workspace-ui .btn-outline-primary { color:#167d75; border-color:#c9dbd8; background:#fff; }
.workspace-ui .btn-outline-primary:hover { color:#10645e; border-color:#79aaa2; background:#edf5f3; }
.workspace-ui .btn-success { color:#fff; background:#247b5e; border-color:#247b5e; }
.workspace-ui .btn-success:hover { background:#1c634b; border-color:#1c634b; }
.workspace-ui .btn-danger { color:#a83f49; background:#fff5f5; border-color:#edd0d3; }
.workspace-ui .btn-danger:hover { color:#fff; background:#a83f49; border-color:#a83f49; }
.workspace-ui .btn-warning { color:#81591d; background:#fff5e4; border-color:#e8d7b6; }
.workspace-ui .btn-info { color:#416f86; background:#edf4f8; border-color:#d1e0e7; }
.workspace-ui .btn-sm,.workspace-ui .btn-group-sm>.btn { min-height:32px; padding:6px 10px; font-size:11px; }
.workspace-ui .btn:focus-visible,.workspace-ui a:focus-visible { outline:3px solid #68bdaa; outline-offset:3px; box-shadow:none; }
/* Consistent form fields, filter bars and record detail sections. */
.workspace-ui :is(.form-label,label:not(.form-check-label)) { color:#526b73; font-size:12px; font-weight:600; line-height:1.5; }
.workspace-ui :is(.form-control,.form-select) { min-height:42px; padding:10px 12px; color:#263f49; background-color:#fff; border:1px solid #d8e2df; border-radius:7px; font-size:13px; line-height:1.5; box-shadow:none; }
.workspace-ui select.form-control { appearance:auto; padding-right:12px; }
.workspace-ui .form-select { padding-right:36px; }
.workspace-ui :is(.form-control,.form-select):focus { border-color:#76b6a6; box-shadow:0 0 0 3px #167d7512; }
.workspace-ui :is(.form-control,.form-select):disabled,.workspace-ui .form-control[readonly] { background:#f4f7f6; color:#607780; }
.workspace-ui :is(.form-control,.form-select).is-invalid { border-color:#b3434d; }
.workspace-ui .form-text { font-size:11px; line-height:1.7; color:#70838a; }
.workspace-ui textarea.form-control { min-height:100px; resize:vertical; }
.workspace-ui input[type="file"] { padding:8px 12px; }
.workspace-ui input[type="checkbox"],.workspace-ui input[type="radio"] { accent-color:#167d75; }
.workspace-ui .input-group-text { background:#f3f7f5; border-color:#d8e2df; font-size:12px; color:#607780; }
.workspace-ui .workspace-filters { background:#fbfcfc; border:1px solid #e3ebe8; border-radius:9px; padding:18px; margin-bottom:24px; }
.workspace-ui .table-card:has(>.workspace-filters:only-child) { padding:0; background:#fbfcfc; }
.workspace-ui .table-card>.workspace-filters:only-child { border:0; margin:0; }
.workspace-ui .workspace-filters.row { margin-left:0; margin-right:0; }
.workspace-ui .workspace-filters .filter-reset { align-self:end; width:auto; margin:12px 0 0 12px; }
.workspace-ui .workspace-filters .form-label { margin-bottom:7px; }
.workspace-ui .required { color:var(--danger-color); }
.workspace-ui .item-row { padding:14px; background:#f6f9f8; border:1px solid #e2ebe7; border-radius:8px; margin-bottom:12px; }
/* Shared table system for reports, lists, line items and financial statements. */
.workspace-ui .page-content .table { color:#334c56; font-size:12px; line-height:1.6; --bs-table-bg:transparent; --bs-table-color:#334c56; --bs-table-hover-bg:#f5f9f7; --bs-table-striped-bg:#fafcfb; --bs-table-border-color:#e9efed; }
.workspace-ui .page-content .table :is(th,thead th) { padding:12px 14px; background:#f5f8f7; color:#71868c; font-size:10px; line-height:1.6; letter-spacing:.65px; font-weight:650; text-transform:uppercase; border-bottom:1px solid #e3ebe8; }
.workspace-ui .page-content .table td { padding:14px; vertical-align:middle; border-color:#e9efed; color:inherit; }
.workspace-ui .page-content .table tbody tr:hover:not(:has(.grand-total)) { background-color:#f8fbfa; }
.workspace-ui .page-content .table tfoot td { background:#f1f7f4; color:#23483f; border-top:1px solid #d6e5dd; font-weight:650; }
.workspace-ui .page-content .table-primary { --bs-table-bg:#edf5f2; --bs-table-color:#2d6558; --bs-table-border-color:#d9e7e0; }
.workspace-ui .page-content .table-success { --bs-table-bg:#eaf5ee; --bs-table-color:#27664f; }
.workspace-ui .page-content .table-danger { --bs-table-bg:#fceff0; --bs-table-color:#93404a; }
.workspace-ui .page-content .table-warning { --bs-table-bg:#fff8ea; --bs-table-color:#855f26; }
.workspace-ui .page-content .table-info { --bs-table-bg:#eff5f8; --bs-table-color:#41697c; }
.workspace-ui .page-content .table-light { --bs-table-bg:#f5f8f6; --bs-table-color:#456458; }
.workspace-ui .page-content .table :is(.table-primary,.table-success,.table-danger,.table-warning,.table-info,.table-light)>* { background-color:var(--bs-table-bg); color:var(--bs-table-color); box-shadow:none; }
.workspace-ui .page-content .table td .btn-group { gap:5px; }
.workspace-ui .page-content .table td .btn { border-radius:6px!important; }
.workspace-ui .page-content .table-responsive { border-radius:8px; }
.workspace-ui .table-empty { padding:38px 18px!important; color:#70838a!important; font-size:13px; }
.workspace-ui .table-empty>i { display:block; color:#92ada3!important; margin-bottom:10px; }
.workspace-ui .table-empty p { margin-bottom:0; }
.workspace-ui .table-scroll-hint { font-size:10px; color:#72888f; margin:7px 0 0; }
.workspace-ui .table-scroll-hint[hidden] { display:none; }
/* Status is communicated through words as well as colour. */
.workspace-ui :is(.badge,.status-badge) { font-size:10px; font-weight:600; letter-spacing:.1px; line-height:1.45; border-radius:6px; padding:5px 8px; white-space:normal; max-width:100%; }
.workspace-ui .status-badge:is(.active,.approved,.completed,.paid,.delivered),.workspace-ui .badge.bg-success { color:#266e52!important; background:#e7f3ec!important; }
.workspace-ui .status-badge:is(.pending,.partial,.in_transit),.workspace-ui .badge.bg-warning { color:#876021!important; background:#fff3dd!important; }
.workspace-ui .status-badge:is(.rejected,.cancelled,.inactive,.unpaid),.workspace-ui .badge.bg-danger { color:#a0444d!important; background:#faebed!important; }
.workspace-ui .status-badge.draft,.workspace-ui .badge.bg-secondary { color:#5f7279!important; background:#eef2f3!important; }
.workspace-ui .badge:is(.bg-primary,.bg-info) { color:#366d73!important; background:#e8f2f3!important; }
.workspace-ui .alert { padding:14px 17px; border-radius:8px; font-size:12px; line-height:1.75; border-width:1px; }
.workspace-ui .alert-warning { color:#806027; border-color:#ebddbc; background:#fff8e9; }
.workspace-ui .alert-danger { color:#963e49; border-color:#eecfd5; background:#fdf0f2; }
.workspace-ui .alert-success { color:#2d7055; border-color:#d1e5d7; background:#edf7f0; }
.workspace-ui .alert-info { color:#426c7c; border-color:#d6e4e9; background:#f0f6f8; }
/* Report discovery, context and results follow the same white-card hierarchy. */
.workspace-ui .report-context { font-size:11px; color:#70838a; gap:12px; margin:0 0 12px; }
.workspace-ui .report-basis { background:#edf5f2; color:#49695f; border-color:#dce9e2; border-radius:8px; padding:13px 16px; font-size:12px; }
.workspace-ui .report-finder { max-width:580px; margin:0 0 24px; }
.workspace-ui .report-catalog .table-card { border-top:1px solid var(--border-color); transition:none; height:100%; }
.workspace-ui .report-catalog .table-card:hover { transform:none; box-shadow:var(--shadow-sm); }
.workspace-ui .report-catalog h4 { color:#203a44; font-size:15px; font-weight:650; letter-spacing:-.2px; }
.workspace-ui .report-catalog .table-card>p { font-size:12px!important; line-height:1.7; min-height:41px; }
.workspace-ui .report-catalog .btn { color:#35574e!important; background:#f9fbfa!important; border:1px solid #e2eae6!important; border-radius:7px; padding:11px 12px; font-size:12px; text-align:left; transform:none; }
.workspace-ui .report-catalog .btn:hover { background:#edf5f0!important; border-color:#aacbbb!important; transform:none; }
.workspace-ui .report-catalog .btn::after { content:'›'; margin-left:auto; font-size:18px; color:#8da99e; }
.workspace-ui .finance-nav { border-color:#dce5e3; }
.workspace-ui .finance-nav a.active { background:#e7f2ed; color:#166a5c; }
.workspace-ui .finance-details { font-size:12px; line-height:1.7; }
.workspace-ui .quick-action-btn { display:flex; align-items:center; gap:12px; padding:13px 16px; border:1px solid var(--border-color); background:#fff; border-radius:9px; color:#33584c; text-decoration:none; font-size:13px; font-weight:500; }
.workspace-ui .quick-action-btn:hover { background:#f2f8f4; border-color:#a9caba; }
.workspace-ui .activity-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; margin-top:5px; }
.workspace-ui .pagination { gap:5px; }
.workspace-ui .page-link { border-radius:6px!important; color:#41675c; font-size:12px; border-color:#dce7e0; }
.workspace-ui .page-item.active .page-link { background:#167d75; border-color:#167d75; color:#fff; }
@media(max-width:1199px) { .workspace-ui .page-content{padding:24px}.workspace-ui .workspace-actions{flex-shrink:1;justify-content:flex-end} }
@media(max-width:767px) {
  .workspace-ui .page-content { padding:22px 16px; }
  .workspace-ui :is(.workspace-heading,.dashboard-header,.page-header) { flex-direction:column; gap:16px; margin-bottom:24px; }
  .workspace-ui .workspace-actions,.workspace-ui .dashboard-actions { justify-content:flex-start; width:100%; }
  .workspace-ui .page-content :is(.dashboard-title,.page-title) { font-size:26px; }
  .workspace-ui .page-content :is(.table-card,.card-body) { padding:18px; }
  .workspace-ui .workspace-filters { padding:16px; }
  .workspace-ui :is(.form-control,.form-select) { font-size:16px; min-height:44px; }
  .workspace-ui .btn { min-height:40px; }
  .workspace-ui .page-content .table td .btn { min-height:36px; }
  .workspace-ui .workspace-filters .filter-reset { margin-left:0; }
  .workspace-ui .report-context { flex-direction:column; gap:4px; }
  .workspace-ui .report-catalog .table-card>p { min-height:0; }
}
@media(max-width:359px) { .workspace-ui .page-content{padding:18px 12px}.workspace-ui .page-content :is(.table-card,.card-body){padding:14px} }
@media print {
  .workspace-ui { background:#fff; color:#111; }
  .workspace-ui .page-content { padding:0; max-width:none; }
  .workspace-ui :is(.print-hide,.workspace-actions,.dashboard-actions,.workspace-filters,.filter-reset,.table-scroll-hint,.report-finder,.finance-nav,.page-content form,.page-content button,.page-content a.btn) { display:none!important; }
  .workspace-ui .print-show { display:block!important; }
  .workspace-ui .workspace-heading { margin-bottom:16px; }
  .workspace-ui .page-content :is(.page-title,.dashboard-title) { font-size:22px; }
  .workspace-ui .page-content :is(.table-card,.card) { padding:12px; box-shadow:none; break-inside:auto; }
  .workspace-ui .page-content :is(.stat-card,.kpi-card) { padding:12px; break-inside:avoid; }
  .workspace-ui .page-content :is(.stat-value,.kpi-value) { font-size:16px!important; }
  .workspace-ui .page-content .table { font-size:9px; }
  .workspace-ui .page-content .table :is(th,td) { padding:6px 7px; white-space:normal; }
  .workspace-ui .page-content .table-responsive { overflow:visible; }
  .workspace-ui .table thead { display:table-header-group; }
  .workspace-ui .table tr { break-inside:avoid; }
  .workspace-ui .report-basis { background:#fff; font-size:10px; }
}
/* Secondary controls use the same border, radius and palette as primary actions. */
.workspace-ui .btn-outline-success { color:#247b5e; background:#fff; border-color:#c6ddcf; }
.workspace-ui .btn-outline-success:hover { color:#1c634b; background:#edf7f0; border-color:#8ebda0; }
.workspace-ui .btn-outline-warning { color:#8b6325; background:#fff; border-color:#e7d8b9; }
.workspace-ui .btn-outline-warning:hover { color:#79531c; background:#fff7e7; border-color:#d2b679; }
.workspace-ui .btn-outline-danger { color:#a0444d; background:#fff; border-color:#e7cbd0; }
.workspace-ui .btn-outline-danger:hover { color:#963a45; background:#fbf0f2; border-color:#d0a1ab; }
.workspace-ui .btn-outline-info { color:#416f86; background:#fff; border-color:#cbdde6; }
.workspace-ui .btn-outline-info:hover { color:#355c70; background:#eef5f8; border-color:#99bbc9; }
.workspace-ui .modal-content,.workspace-ui .dropdown-menu { border:1px solid #dfe7e7; border-radius:11px; box-shadow:0 10px 35px #142b3412; }
.workspace-ui .modal-header,.workspace-ui .modal-footer { border-color:#e6eeea; padding:18px 24px; }
.workspace-ui .modal-body { padding:24px; }
.workspace-ui .dropdown-item { font-size:12px; padding:9px 14px; color:#426357; }
.workspace-ui .dropdown-item:hover { background:#edf5f0; }
.workspace-ui .list-group-item { border-color:#e4ece7; font-size:13px; padding:14px 16px; }

/* Cash statements retain full monetary values and scroll inside their card. */
.workspace-ui .cash-ledger { min-width:1000px; }
.workspace-ui .cash-ledger :is(th,td):nth-child(3),
.workspace-ui .cash-ledger :is(th,td):nth-child(4),
.workspace-ui .cash-ledger :is(th,td):nth-child(5) { white-space:nowrap; text-align:right; min-width:125px; }
.workspace-ui .cash-ledger td:nth-child(2) { min-width:260px; overflow-wrap:anywhere; }
.workspace-ui .cash-ledger td:first-child { min-width:120px; }
@media print { .workspace-ui .cash-ledger { min-width:0; font-size:9px; } .workspace-ui .cash-ledger :is(th,td) { min-width:0!important; padding:6px!important; } }
