a {text-decoration: none;}

/* Knowyn brand palette over Bootstrap 5.3 (matches knowyn-web's theme.css). Bootstrap bakes
   button colors into per-variant --bs-btn-* vars at compile time, so theme colors are overridden
   both at :root (drives text/bg/badge/border via *-rgb) and per button variant below. Hover/active
   shades use color-mix (internal staff tool, modern browsers only). */
:root {
  --bs-primary: #346CB0;   --bs-primary-rgb: 52,108,176;
  --bs-secondary: #888c9b; --bs-secondary-rgb: 136,140,155;
  --bs-success: #00A28A;   --bs-success-rgb: 0,162,138;
  --bs-info: #0179A8;      --bs-info-rgb: 1,121,168;
  --bs-warning: #F7C46C;   --bs-warning-rgb: 247,196,108;
  --bs-danger: #B76BA3;    --bs-danger-rgb: 183,107,163;
  --bs-light: #f6f7f9;     --bs-light-rgb: 246,247,249;
  --bs-dark: #222230;      --bs-dark-rgb: 34,34,48;
  --bs-link-color: #346CB0;       --bs-link-color-rgb: 52,108,176;
  --bs-link-hover-color: #2a5790; --bs-link-hover-color-rgb: 42,87,144;
}
.btn-primary { --bs-btn-bg:#346CB0; --bs-btn-border-color:#346CB0; --bs-btn-hover-bg:color-mix(in srgb,#346CB0 85%,#000); --bs-btn-hover-border-color:color-mix(in srgb,#346CB0 80%,#000); --bs-btn-active-bg:color-mix(in srgb,#346CB0 80%,#000); --bs-btn-active-border-color:color-mix(in srgb,#346CB0 75%,#000); --bs-btn-disabled-bg:#346CB0; --bs-btn-disabled-border-color:#346CB0; }
.btn-success { --bs-btn-bg:#00A28A; --bs-btn-border-color:#00A28A; --bs-btn-hover-bg:color-mix(in srgb,#00A28A 85%,#000); --bs-btn-hover-border-color:color-mix(in srgb,#00A28A 80%,#000); --bs-btn-active-bg:color-mix(in srgb,#00A28A 80%,#000); --bs-btn-active-border-color:color-mix(in srgb,#00A28A 75%,#000); --bs-btn-disabled-bg:#00A28A; --bs-btn-disabled-border-color:#00A28A; }
.btn-info { --bs-btn-bg:#0179A8; --bs-btn-border-color:#0179A8; --bs-btn-color:#fff; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:color-mix(in srgb,#0179A8 85%,#000); --bs-btn-hover-border-color:color-mix(in srgb,#0179A8 80%,#000); --bs-btn-active-color:#fff; --bs-btn-active-bg:color-mix(in srgb,#0179A8 80%,#000); --bs-btn-active-border-color:color-mix(in srgb,#0179A8 75%,#000); --bs-btn-disabled-bg:#0179A8; --bs-btn-disabled-border-color:#0179A8; --bs-btn-disabled-color:#fff; }
.btn-danger { --bs-btn-bg:#B76BA3; --bs-btn-border-color:#B76BA3; --bs-btn-hover-bg:color-mix(in srgb,#B76BA3 85%,#000); --bs-btn-hover-border-color:color-mix(in srgb,#B76BA3 80%,#000); --bs-btn-active-bg:color-mix(in srgb,#B76BA3 80%,#000); --bs-btn-active-border-color:color-mix(in srgb,#B76BA3 75%,#000); --bs-btn-disabled-bg:#B76BA3; --bs-btn-disabled-border-color:#B76BA3; }
.btn-warning { --bs-btn-bg:#F7C46C; --bs-btn-border-color:#F7C46C; --bs-btn-hover-bg:color-mix(in srgb,#F7C46C 88%,#000); --bs-btn-hover-border-color:color-mix(in srgb,#F7C46C 85%,#000); --bs-btn-active-bg:color-mix(in srgb,#F7C46C 85%,#000); --bs-btn-active-border-color:color-mix(in srgb,#F7C46C 80%,#000); --bs-btn-disabled-bg:#F7C46C; --bs-btn-disabled-border-color:#F7C46C; }
.btn-outline-primary { --bs-btn-color:#346CB0; --bs-btn-border-color:#346CB0; --bs-btn-hover-bg:#346CB0; --bs-btn-hover-border-color:#346CB0; --bs-btn-active-bg:#346CB0; --bs-btn-active-border-color:#346CB0; --bs-btn-disabled-color:#346CB0; --bs-btn-disabled-border-color:#346CB0; }
.btn-outline-secondary { --bs-btn-color:#888c9b; --bs-btn-border-color:#888c9b; --bs-btn-hover-bg:#888c9b; --bs-btn-hover-border-color:#888c9b; --bs-btn-active-bg:#888c9b; --bs-btn-active-border-color:#888c9b; --bs-btn-disabled-color:#888c9b; --bs-btn-disabled-border-color:#888c9b; }

.metric {width: 140px;border:1px solid color-mix(in srgb,#346CB0 12%,#fff);background-color:color-mix(in srgb,#346CB0 10%,#fff);color:black;}
.metric.active {border:1px solid #346CB0;background-color: color-mix(in srgb,#346CB0 22%,#fff);}
a.metric:hover {border:1px solid #346CB0;cursor: pointer;}

.w-20 {width:20%;}

html, body {
    height: 100%;
}
.container-fluid {
    height: calc(100% - 56px);
}
.sidebar {
    flex-shrink: 0;
}
main {
    flex-grow: 1;
}
.table-hover-green>tbody>tr:hover>* { background-color: #eafffe !important;}

/* Sortable tables: sortable-table.js tags its table with .sortable-table.
   nowrap keeps the appended sort arrow on the same line as the header label. */
.sortable-table th { cursor: pointer; white-space: nowrap; }
.sort-icon { margin-left: 5px; }

/* Compact account-type badge (activities, reminders lists) */
.account-badge { font-size: 0.75rem; }

.copy-btn { transition: opacity .15s; }
tr:hover .copy-btn, .copy-btn:focus { opacity: 1 !important; }

#toast-container > div {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
    min-width: 280px;
    max-width: 500px;
}
.toast-success { background-color: #00A28A; color: #fff; }
.toast-error { background-color: #B76BA3; color: #fff; }
.toast-info { background-color: #222230; color: #fff; }
.toast-warning { background-color: #EC935E; color: #363642; }
