/* -- AMORTISYS Brand Overrides --------------------------------- */
:root {
  --bs-primary:       #5B8DB8;
  --bs-primary-rgb:   91, 141, 184;
  --bs-link-color:    #5B8DB8;
  --bs-link-hover-color: #3D6E96;
  --AMORTISYS-navy:   #263447;
  --AMORTISYS-blue:   #5B8DB8;
}

.btn-primary {
  background-color: #5B8DB8;
  border-color:     #5B8DB8;
  color:            #fff;
  font-weight:      600;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: #3D6E96;
  border-color:     #3D6E96;
  color:            #fff;
}
.btn-outline-primary {
  color:        #5B8DB8;
  border-color: #5B8DB8;
}
.btn-outline-primary:hover {
  background-color: #5B8DB8;
  border-color:     #5B8DB8;
  color:            #fff;
}
a { color: #5B8DB8; }
a:hover { color: #3D6E96; }
/* nav links should stay normal */
.nav-link, .sidebar-nav .nav-link { color: inherit; }

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(91,141,184,.4);
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* ---------------------------------------------------------------------------
   DARK MODE  —  [data-theme="dark"]
   Professional dark theme: deep navy base, readable contrast, vivid accents
   --------------------------------------------------------------------------- */

/* -- CSS variables --------------------------------------------------------- */
[data-theme="dark"] {
  --dark-bg-base:      #0d1117;
  --dark-bg-surface:   #161b22;
  --dark-bg-elevated:  #1c2333;
  --dark-bg-hover:     #21262d;
  --dark-border:       #30363d;
  --dark-border-muted: #21262d;
  --dark-text-primary: #e6edf3;
  --dark-text-secondary:#8b949e;
  --dark-text-muted:   #6e7681;
  --dark-accent:       #58a6ff;
  --dark-accent-hover: #79c0ff;
  --dark-success:      #3fb950;
  --dark-warning:      #d29922;
  --dark-danger:       #f85149;
  --dark-info:         #58a6ff;

  /* Bootstrap overrides */
  --bs-body-bg:        #0d1117;
  --bs-body-color:     #e6edf3;
  --bs-border-color:   #30363d;
  --bs-card-bg:        #161b22;
  --bs-secondary-color:#8b949e;
}

/* -- Body & layout shell --------------------------------------------------- */
[data-theme="dark"] body,
[data-theme="dark"] .crm-body     { background:#0d1117!important; color:#e6edf3!important; }

[data-theme="dark"] .crm-content  { background:#0d1117!important; }

[data-theme="dark"] .crm-footer   {
  background:#161b22!important;
  border-top:1px solid #30363d!important;
  color:#8b949e!important;
}
[data-theme="dark"] .crm-footer a { color:#58a6ff!important; }

/* -- Sidebar --------------------------------------------------------------- */
[data-theme="dark"] .crm-sidebar  {
  background:#161b22!important;
  border-right:1px solid #30363d!important;
}
[data-theme="dark"] .sidebar-nav .nav-link {
  color:#8b949e!important;
}
[data-theme="dark"] .sidebar-nav .nav-link:hover,
[data-theme="dark"] .sidebar-nav .nav-link:focus {
  background:rgba(88,166,255,.1)!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .sidebar-nav .nav-link.active {
  background:rgba(88,166,255,.15)!important;
  color:#58a6ff!important;
}
[data-theme="dark"] .sidebar-brand,
[data-theme="dark"] .sidebar-brand * { color:#e6edf3!important; }
[data-theme="dark"] .sidebar-role    { color:#8b949e!important; }
[data-theme="dark"] .sidebar-divider { border-color:#30363d!important; }

/* -- Topbar ---------------------------------------------------------------- */
[data-theme="dark"] .crm-topbar {
  background:#161b22!important;
  border-bottom:1px solid #30363d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .crm-topbar .btn-outline-secondary {
  color:#8b949e!important;
  border-color:#30363d!important;
}
[data-theme="dark"] .crm-topbar .btn-outline-secondary:hover {
  background:#21262d!important;
  color:#e6edf3!important;
}

/* -- KPI cards ------------------------------------------------------------- */
[data-theme="dark"] .kpi-card {
  background:#161b22!important;
  border:1px solid #30363d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .kpi-card:hover { box-shadow:0 4px 24px rgba(0,0,0,.4)!important; }
[data-theme="dark"] .kpi-label      { color:#8b949e!important; }
[data-theme="dark"] .kpi-value      { color:#e6edf3!important; }
[data-theme="dark"] .kpi-change.up  { color:#3fb950!important; }
[data-theme="dark"] .kpi-change.down{ color:#f85149!important; }

/* -- Chart / panel cards --------------------------------------------------- */
[data-theme="dark"] .chart-card,
[data-theme="dark"] .panel-card,
[data-theme="dark"] .card {
  background:#161b22!important;
  border:1px solid #30363d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .chart-card-title { color:#8b949e!important; }
[data-theme="dark"] .panel-card .panel-header {
  background:#1c2333!important;
  border-bottom:1px solid #30363d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .card-header {
  background:#1c2333!important;
  border-bottom:1px solid #30363d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .card-footer {
  background:#1c2333!important;
  border-top:1px solid #30363d!important;
}

/* -- Activity & task list items -------------------------------------------- */
[data-theme="dark"] .activity-item {
  border-bottom:1px solid #21262d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .activity-time { color:#8b949e!important; }
[data-theme="dark"] .task-item     {
  border-bottom:1px solid #21262d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .task-contact  { color:#8b949e!important; }
[data-theme="dark"] .task-time     { color:#8b949e!important; }

/* -- Page header ----------------------------------------------------------- */
[data-theme="dark"] .page-header h4 { color:#e6edf3!important; }
[data-theme="dark"] .page-header p  { color:#8b949e!important; }

/* -- Typography ------------------------------------------------------------ */
[data-theme="dark"] h1,[data-theme="dark"] h2,
[data-theme="dark"] h3,[data-theme="dark"] h4,
[data-theme="dark"] h5,[data-theme="dark"] h6  { color:#e6edf3!important; }
[data-theme="dark"] p                          { color:#c9d1d9; }
[data-theme="dark"] .text-muted                { color:#8b949e!important; }
[data-theme="dark"] .text-dark                 { color:#e6edf3!important; }
[data-theme="dark"] small, [data-theme="dark"] .small { color:#8b949e!important; }
[data-theme="dark"] label                      { color:#c9d1d9!important; }
[data-theme="dark"] .fw-semibold               { color:#e6edf3!important; }

/* -- Tables ---------------------------------------------------------------- */
[data-theme="dark"] .table {
  --bs-table-bg:           #161b22;
  --bs-table-color:        #e6edf3;
  --bs-table-border-color: #30363d;
  --bs-table-striped-bg:   #1c2333;
  --bs-table-hover-bg:     #21262d;
  color:#e6edf3!important;
}
[data-theme="dark"] .table th { color:#8b949e!important; border-color:#30363d!important; }
[data-theme="dark"] .table td { border-color:#30363d!important; color:#e6edf3!important; }
[data-theme="dark"] .table-light { --bs-table-bg:#1c2333; color:#e6edf3!important; }

/* -- Forms ----------------------------------------------------------------- */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .form-check-input {
  background-color:#1c2333!important;
  color:#e6edf3!important;
  border-color:#30363d!important;
}
[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] .form-select::placeholder { color:#6e7681!important; }
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color:#21262d!important;
  color:#e6edf3!important;
  border-color:#58a6ff!important;
  box-shadow:0 0 0 3px rgba(88,166,255,.15)!important;
}
[data-theme="dark"] .form-text         { color:#8b949e!important; }
[data-theme="dark"] .input-group-text  {
  background:#1c2333!important;
  border-color:#30363d!important;
  color:#8b949e!important;
}

/* -- Buttons --------------------------------------------------------------- */
[data-theme="dark"] .btn-primary {
  background:#1f6feb!important;
  border-color:#1f6feb!important;
  color:#fff!important;
}
[data-theme="dark"] .btn-primary:hover {
  background:#388bfd!important;
  border-color:#388bfd!important;
}
[data-theme="dark"] .btn-outline-secondary {
  color:#8b949e!important;
  border-color:#30363d!important;
}
[data-theme="dark"] .btn-outline-secondary:hover {
  background:#21262d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .btn-light,
[data-theme="dark"] .btn-outline-light {
  background:#21262d!important;
  border-color:#30363d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .btn-close { filter:invert(1) grayscale(100%) brightness(200%); }

/* -- Dropdowns ------------------------------------------------------------- */
[data-theme="dark"] .dropdown-menu {
  background:#161b22!important;
  border:1px solid #30363d!important;
  box-shadow:0 8px 24px rgba(0,0,0,.5)!important;
}
[data-theme="dark"] .dropdown-item          { color:#c9d1d9!important; }
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus    { background:#21262d!important; color:#e6edf3!important; }
[data-theme="dark"] .dropdown-divider       { border-color:#30363d!important; }
[data-theme="dark"] .dropdown-header        { color:#8b949e!important; }

/* -- Badges ---------------------------------------------------------------- */
[data-theme="dark"] .badge.bg-light         { background:#21262d!important; color:#e6edf3!important; }
[data-theme="dark"] .badge.bg-secondary     { background:#30363d!important; }
[data-theme="dark"] .bg-white               { background:#161b22!important; }
[data-theme="dark"] .bg-light               { background:#1c2333!important; }
[data-theme="dark"] .bg-body-secondary      { background:#1c2333!important; }

/* -- Borders & dividers ---------------------------------------------------- */
[data-theme="dark"] .border                 { border-color:#30363d!important; }
[data-theme="dark"] .border-bottom         { border-color:#30363d!important; }
[data-theme="dark"] .border-top            { border-color:#30363d!important; }
[data-theme="dark"] hr                     { border-color:#30363d!important; }

/* -- Modals ---------------------------------------------------------------- */
[data-theme="dark"] .modal-content {
  background:#161b22!important;
  border:1px solid #30363d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer  { border-color:#30363d!important; }
[data-theme="dark"] .modal-title   { color:#e6edf3!important; }

/* -- Alerts ---------------------------------------------------------------- */
[data-theme="dark"] .alert-info    { background:#0c2d6b!important; border-color:#1f6feb!important; color:#a5c8ff!important; }
[data-theme="dark"] .alert-success { background:#0a3622!important; border-color:#238636!important; color:#7ee787!important; }
[data-theme="dark"] .alert-warning { background:#3d2800!important; border-color:#9e6a03!important; color:#e3b341!important; }
[data-theme="dark"] .alert-danger  { background:#3d0a0a!important; border-color:#da3633!important; color:#ff7b72!important; }

/* -- Nav tabs -------------------------------------------------------------- */
[data-theme="dark"] .nav-tabs                    { border-color:#30363d!important; }
[data-theme="dark"] .nav-tabs .nav-link          { color:#8b949e!important; }
[data-theme="dark"] .nav-tabs .nav-link:hover    { color:#e6edf3!important; border-color:#30363d!important; }
[data-theme="dark"] .nav-tabs .nav-link.active   {
  background:#161b22!important;
  border-color:#30363d #30363d #161b22!important;
  color:#58a6ff!important;
}

/* -- List groups ----------------------------------------------------------- */
[data-theme="dark"] .list-group-item {
  background:#161b22!important;
  border-color:#30363d!important;
  color:#e6edf3!important;
}
[data-theme="dark"] .list-group-item:hover { background:#1c2333!important; }
[data-theme="dark"] .list-group-item.active {
  background:#1f6feb!important;
  border-color:#1f6feb!important;
}

/* -- Offcanvas ------------------------------------------------------------- */
[data-theme="dark"] .offcanvas        { background:#161b22!important; color:#e6edf3!important; }
[data-theme="dark"] .offcanvas-header { border-bottom:1px solid #30363d!important; }

/* -- Breadcrumb ------------------------------------------------------------ */
[data-theme="dark"] .breadcrumb-item,
[data-theme="dark"] .breadcrumb-item a       { color:#58a6ff!important; }
[data-theme="dark"] .breadcrumb-item.active  { color:#8b949e!important; }
[data-theme="dark"] .breadcrumb-item+.breadcrumb-item::before { color:#6e7681!important; }

/* -- Pagination ------------------------------------------------------------ */
[data-theme="dark"] .page-link {
  background:#161b22!important;
  border-color:#30363d!important;
  color:#58a6ff!important;
}
[data-theme="dark"] .page-link:hover    { background:#21262d!important; }
[data-theme="dark"] .page-item.active .page-link {
  background:#1f6feb!important;
  border-color:#1f6feb!important;
  color:#fff!important;
}
[data-theme="dark"] .page-item.disabled .page-link { color:#6e7681!important; }

/* -- Progress bars --------------------------------------------------------- */
[data-theme="dark"] .progress          { background:#21262d!important; }

/* -- Tooltips / popovers --------------------------------------------------- */
[data-theme="dark"] .popover           { background:#1c2333!important; border-color:#30363d!important; }
[data-theme="dark"] .popover-body      { color:#e6edf3!important; }
[data-theme="dark"] .popover-header    { background:#161b22!important; border-color:#30363d!important; color:#e6edf3!important; }

/* -- Code / pre ------------------------------------------------------------ */
[data-theme="dark"] pre, [data-theme="dark"] code {
  background:#1c2333!important;
  color:#79c0ff!important;
  border-color:#30363d!important;
}

/* -- Scrollbar ------------------------------------------------------------- */
[data-theme="dark"] ::-webkit-scrollbar       { width:6px; height:6px; }
[data-theme="dark"] ::-webkit-scrollbar-track { background:#0d1117; }
[data-theme="dark"] ::-webkit-scrollbar-thumb { background:#30363d; border-radius:3px; }
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background:#484f58; }

/* -- Timeline -------------------------------------------------------------- */
[data-theme="dark"] .timeline-item .border-bottom { border-color:#30363d!important; }

/* -- Charts (Chart.js canvas bg fix) -------------------------------------- */
[data-theme="dark"] canvas { filter: brightness(1); }

/* ?? Pipeline / Kanban – dark mode ????????????????????????????????????????? */

/* Board background */
[data-theme="dark"] .kanban-board {
    background: transparent;
}

/* Stage columns */
[data-theme="dark"] .kanban-col {
    background: #1e2633;
    border-color: #2d3748;
}

/* Stage column headers */
[data-theme="dark"] .kanban-col-header {
    border-bottom-color: rgba(255,255,255,.07);
}

/* Stage-specific header colours (dark variants) */
[data-theme="dark"] .stage-lead        { background: #1e2530; color: #94a3b8; }
[data-theme="dark"] .stage-preapproval { background: #1a2a3a; color: #7aaecf; }
[data-theme="dark"] .stage-submitted   { background: #162436; color: #6fa8d4; }
[data-theme="dark"] .stage-approved    { background: #162b20; color: #4ade80; }
[data-theme="dark"] .stage-conditions  { background: #2a2010; color: #fbbf24; }
[data-theme="dark"] .stage-funded      { background: #152a20; color: #34d399; }
[data-theme="dark"] .stage-postclose   { background: #1e1730; color: #a78bfa; }

/* Deal cards */
[data-theme="dark"] .kanban-card {
    background: #263045;
    border-color: #2d3d55;
    color: #e2e8f0;
}

[data-theme="dark"] .kanban-card:hover {
    box-shadow: 0 3px 14px rgba(0,0,0,.4);
    border-color: #4a6080;
}

[data-theme="dark"] .kanban-card .fw-semibold.text-dark {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .kanban-card .text-muted {
    color: #8ba3bf !important;
}

[data-theme="dark"] .kanban-card .deal-number {
    color: #7a9abf !important;
}

/* Card footer border */
[data-theme="dark"] .kanban-card-footer {
    border-color: #2d3d55 !important;
}

/* Kanban badges (amount, date, type) */
[data-theme="dark"] .kanban-badge {
    background: #1a2535;
    border-color: #2d3d55;
    color: #94b8d8;
}

[data-theme="dark"] .kanban-badge.text-danger {
    background: #2d1a1a;
    border-color: #5a2d2d;
    color: #f87171 !important;
}

/* Empty state */
[data-theme="dark"] .kanban-empty {
    color: #3d5272;
}

/* Pipeline summary pills */
[data-theme="dark"] .pipeline-summary-pill {
    border-color: rgba(255,255,255,.08);
}

[data-theme="dark"] .pill-lead        { background: #1e2530; color: #94a3b8; }
[data-theme="dark"] .pill-preapproval { background: #1a2a3a; color: #7aaecf; }
[data-theme="dark"] .pill-submitted   { background: #162436; color: #6fa8d4; }
[data-theme="dark"] .pill-approved    { background: #162b20; color: #4ade80; }
[data-theme="dark"] .pill-conditions  { background: #2a2010; color: #fbbf24; }
[data-theme="dark"] .pill-funded      { background: #152a20; color: #34d399; }
[data-theme="dark"] .pill-postclose   { background: #1e1730; color: #a78bfa; }

/* Summary pill badge count */
[data-theme="dark"] .pipeline-summary-pill .badge.bg-white {
    background: rgba(255,255,255,.12) !important;
    color: #e2e8f0 !important;
}

/* Stage column card count badge */
[data-theme="dark"] .kanban-col-header .badge.bg-white {
    background: rgba(255,255,255,.12) !important;
    color: #e2e8f0 !important;
}

/* View/Edit buttons inside cards */
[data-theme="dark"] .kanban-card .btn-light {
    background: #1e2d40 !important;
    border-color: #2d3d55 !important;
    color: #94b8d8 !important;
}

[data-theme="dark"] .kanban-card .btn-light:hover {
    background: #263d55 !important;
    color: #e2e8f0 !important;
}

