/* ===== Professional light theme: dark navy sidebar, light page, solid colour headers.
   Loaded after theme-2050.css and overrides its dark values. Presentation only. ===== */
:root {
  --bg: #eef3fb; --bg-2: #ffffff; --side: #0a2463; --card: #ffffff;
  --blue: #1f6fff; --cyan: #06b6d4; --purple: #7c3aed; --violet: #7c3aed;
  --green: #10b981; --orange: #f59e0b; --red: #ef3b5d;
  --tx: #0f1f3d; --tx-2: #5b6b8a; --bd: #dbe4f3; --bd-soft: #e8eef8;
  --g-blue: linear-gradient(135deg, #1558d6, #3b9bff); --g-ai: linear-gradient(135deg, #1f6fff, #3b8cff);
  --ink-2: #2c3e63;
  --lamp-dark: #1558d6; --lamp-soft: rgba(245,158,11,.14);
  --ok-soft: rgba(16,185,129,.13); --fault-soft: rgba(239,59,93,.12); --info: #1f6fff; --info-soft: rgba(31,111,255,.1);
  --bs-link-color: #1558d6; --bs-link-hover-color: #0a2463; --bs-tertiary-bg: #f3f7fd;
  --hd-blue: linear-gradient(90deg, #1558d6, #2f86ff); --hd-green: linear-gradient(90deg, #0b8f5b, #14b87a);
  --hd-red: linear-gradient(90deg, #d81f4b, #f4496a); --hd-purple: linear-gradient(90deg, #5b21b6, #7c3aed);
  --hd-orange: linear-gradient(90deg, #e36209, #f59e0b); --hd-teal: linear-gradient(90deg, #0891b2, #22b8d8);
  color-scheme: light;
}
html, body, body.app { background: #eef3fb; color: var(--tx); }
body, body.app { background: linear-gradient(180deg, #f3f7fd, #e9f0fa) fixed; }
a { color: #1558d6; } a:hover { color: #0a2463; }
::selection { background: rgba(31,111,255,.22); }
:focus-visible { outline: 2px solid #1f6fff; }
::-webkit-scrollbar-thumb { background: #b9c8e4; }

/* sidebar */
.rail { background: linear-gradient(180deg, #0b2a6b, #081c4d); border-right: 0; box-shadow: 4px 0 18px rgba(8,28,77,.18); color: #fff; }
.rail-brand { border-bottom: 1px solid rgba(255,255,255,.1); }
.rail-mark { background: linear-gradient(135deg, #2f86ff, #1558d6); box-shadow: 0 4px 12px rgba(0,0,0,.3); }
.rail-name small { color: #a9bde6; }
.rail-top { color: #e3ebfb; }
.rail-top > i:first-child { color: #9dbdf5; }
.rail-top:hover { background: rgba(255,255,255,.09); color: #fff; }
.rail-top.is-active, .rail-top.is-active:hover { background: linear-gradient(90deg, #1f6fff, #3b8cff); border-color: transparent; box-shadow: 0 6px 16px rgba(31,111,255,.45); color: #fff; }
.rail-top.is-active > i:first-child { color: #fff; }
details[open] > summary.rail-top { background: rgba(255,255,255,.07); }
.rail-sub { border-left: 1px solid rgba(255,255,255,.18); }
.rail-sub .rail-link { color: #c9d7f2; }
.rail-sub .rail-link i { color: #8fb0ee; }
.rail-sub .rail-link:hover { background: rgba(255,255,255,.1); color: #fff; }
.rail-sub .rail-link.is-active { background: #1f6fff; border-color: transparent; box-shadow: 0 4px 12px rgba(31,111,255,.4); color: #fff; }
.rail-sub .rail-link.is-active i { color: #fff; }
.rail-foot { border-top: 1px solid rgba(255,255,255,.1); }
.rail-collapse { border-color: rgba(255,255,255,.18); color: #c9d7f2; }
.rail-collapse:hover { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.3); }
#tipBox { background: #0a2463; color: #fff; border-color: #1f6fff; box-shadow: 0 6px 20px rgba(8,28,77,.3); }

/* top bar */
.topbar { background: #fff; backdrop-filter: none; border: 0; border-bottom: 1px solid var(--bd); box-shadow: 0 2px 10px rgba(15,31,61,.06); }
.rail-toggle { background: #f1f5fc; border-color: var(--bd); color: #0a2463; }
.rail-toggle:hover { border-color: #1f6fff; color: #1f6fff; }
.top-search i { color: #7d8fb1; }
.top-search input { background: #f1f5fc; border-color: var(--bd); color: var(--tx); }
.top-search input::placeholder { color: #7d8fb1; }
.top-search input:focus { border-color: #1f6fff; box-shadow: 0 0 0 3px rgba(31,111,255,.15); }
.top-btn { color: #0a2463; }
.top-btn:hover { background: #eaf1fd; border-color: var(--bd); color: #1f6fff; }
.top-user { color: var(--tx); } .top-user:hover { background: #eaf1fd; border-color: var(--bd); }
.top-user .avatar { background: linear-gradient(135deg, #1f6fff, #1558d6); box-shadow: none; }
.dropdown-menu { background: #fff; border-color: var(--bd); box-shadow: 0 10px 28px rgba(15,31,61,.15); --bs-dropdown-link-color: var(--tx); --bs-dropdown-link-hover-bg: #eaf1fd; --bs-dropdown-link-hover-color: #0a2463; --bs-dropdown-divider-bg: var(--bd); --bs-dropdown-color: var(--tx); }
.dropdown-item i { color: #5b7bb8; }
.page-title h1 { color: #0a2463; }
.page-clock { color: var(--tx-2); }

/* panels */
.panel { background: #fff; border: 1px solid var(--bd); box-shadow: 0 4px 16px rgba(15,31,61,.07); backdrop-filter: none; }
.panel:hover { border-color: var(--bd); box-shadow: 0 6px 20px rgba(15,31,61,.1); }
.panel.panel.panel > .panel-head, details.panel.panel.panel > summary.panel-head { background: var(--hd-blue); color: #fff; border-bottom: 0; border-radius: 15px 15px 0 0; }
.panel.panel.hd-green > .panel-head { background: var(--hd-green); } .panel.panel.hd-red > .panel-head, details.panel.hd-red > summary.panel-head { background: var(--hd-red); }
.panel.panel.hd-purple > .panel-head { background: var(--hd-purple); } .panel.panel.hd-orange > .panel-head { background: var(--hd-orange); }
.panel.panel.hd-teal > .panel-head { background: var(--hd-teal); }
.panel > .panel-head h2, .panel > .panel-head h2 > i:first-child { color: #fff; filter: none; }
.panel > .panel-head a, .panel > .panel-head .text-muted { color: #fff !important; text-decoration: underline; }
.panel > .panel-head .btn-outline-secondary { color: #fff; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.14); text-decoration: none; }
.panel > .panel-head .btn-outline-secondary:hover { background: rgba(255,255,255,.28); color: #fff; }
.panel > .panel-head .form-select, .panel > .panel-head .form-control { background-color: #fff; color: var(--tx); border-color: #fff; }
.panel-body, .panel-body.flush { color: var(--tx); }
.empty-state i { color: #b4c3e0; }

/* forms */
.form-label, .col-form-label { color: #3b4d73; }
.form-control, .form-select { background-color: #fff; border-color: #cdd9ee; color: var(--tx); }
.form-control::placeholder { color: #93a2bf; }
.form-control:focus, .form-select:focus { background-color: #fff; color: var(--tx); border-color: #1f6fff; box-shadow: 0 0 0 .2rem rgba(31,111,255,.15); }
.form-control:disabled, .form-control[readonly] { background-color: #f1f5fc; color: var(--tx-2); }
.form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%235b6b8a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
.form-select option { background: #fff; color: var(--tx); }
input[type="date"], input[type="month"], input[type="time"] { color-scheme: light; }
.form-check-input { background-color: #fff; border-color: #aebcd8; } .form-check-input:checked { background-color: #1f6fff; border-color: #1f6fff; }
.btn-primary, .btn-primary:focus { background: linear-gradient(135deg, #1f6fff, #1558d6); box-shadow: 0 4px 12px rgba(31,111,255,.3); }
.btn-primary:hover { background: linear-gradient(135deg, #3b8cff, #1f6fff); filter: none; box-shadow: 0 6px 16px rgba(31,111,255,.35); }
.btn-outline-secondary { --bs-btn-color: #1b3a78; --bs-btn-border-color: #b9c8e4; --bs-btn-hover-bg: #eaf1fd; --bs-btn-hover-color: #0a2463; --bs-btn-hover-border-color: #1f6fff; --bs-btn-active-bg: #dbe8fc; --bs-btn-active-color: #0a2463; }
.btn-outline-danger { --bs-btn-color: #d81f4b; --bs-btn-border-color: #f2a3b4; }
.btn-link { color: #1558d6; }
.alert { background: #eaf1fd; color: #1b3a78; border-color: #c4d6f5; }
.alert-success { background: #e4f8ef; border-color: #a6e5c9; color: #0b6b47; } .alert-danger { background: #fde8ed; border-color: #f4b3c1; color: #a3153a; }
.alert-info { background: #e6f2fe; border-color: #b6d6f8; color: #0f4c8a; } .alert-warning { background: #fff4de; border-color: #f6d594; color: #8a5200; }
.btn-close { filter: none; }

/* filters and tables */
.filters { background: #f3f7fd; border-bottom: 1px solid var(--bd); } .filters .f label { color: #3b4d73; }
.ledger th { background: #f3f7fd; color: #2c3e63; border-bottom: 1px solid var(--bd); }
.ledger td { border-bottom: 1px solid var(--bd-soft); color: var(--tx); }
.ledger tbody tr:nth-child(even) td { background: #fafcff; } .ledger tbody tr:hover td { background: #eaf1fd; }
.ledger .dim { color: var(--tx-2); }
.ledger tr.row-hot > td { background: #fde8ed; color: #7a1230; } .ledger tr.row-warm > td { background: #fff1d6; color: #7a4700; } .ledger tr.row-ok > td { background: #dff6ea; color: #0b5a3b; }
.ledger-foot { background: #f3f7fd; border-top: 1px solid var(--bd); }
.thumb { background: #f1f5fc; }
.tag { background: #e3edff; color: #1b3a78; } .tag-ok { background: #dff6ea; color: #0b6b47; } .tag-warn { background: #fff1d6; color: #8a5200; }
.tag-fault { background: #fde8ed; color: #a3153a; } .tag-info { background: #e1efff; color: #0f4c8a; }
.pager a, .pager span { background: #fff; border-color: var(--bd); color: var(--tx); } .pager .on { background: #1f6fff; color: #fff; } .pager a:hover { background: #eaf1fd; }

/* KPI cards: solid distinct gradients */
.kpi { border: 0; color: #fff; box-shadow: 0 8px 20px -8px rgba(15,31,61,.35); }
.k-blue { background: linear-gradient(135deg, #1558d6, #2f9bff); } .k-green { background: linear-gradient(135deg, #0a8f5c, #19c37d); }
.k-orange { background: linear-gradient(135deg, #e8590c, #f9a826); } .k-purple { background: linear-gradient(135deg, #5b21b6, #8b5cf6); }
.kpi-ico { background: rgba(255,255,255,.2); box-shadow: none; }
.kpi-k { color: rgba(255,255,255,.9); } .kpi-v, .kpi-v small { color: #fff; } .kpi-v small { opacity: .85; }
.kpi-sub, .kpi-delta, .kpi-delta.up, .kpi-delta.down { color: #fff; } .kpi-sub { opacity: .85; }
.kpi-delta { background: rgba(255,255,255,.2); border-radius: 6px; padding: 0 .35rem; }
.kpi-deco { fill: #fff; opacity: .3; }

/* calendar: green panel */
.widget-cal { background: linear-gradient(160deg, #12a35f, #0a7d48); color: #fff; border: 0; }
.widget-cal .cal-nav button { background: rgba(255,255,255,.2); color: #fff; border: 0; } .widget-cal .cal-nav button:hover { background: rgba(255,255,255,.32); }
.widget-cal .cal-dow { color: #fff; } .widget-cal .cal-day { color: #fff; } .widget-cal .cal-day:hover { background: rgba(255,255,255,.2); }
.widget-cal .cal-day.is-other { color: rgba(255,255,255,.5); }
.widget-cal .cal-day.is-today, .widget-cal .cal-day.is-today.is-picked { background: #1f6fff; color: #fff; box-shadow: 0 4px 10px rgba(0,0,0,.25); }
.widget-cal .cal-day.is-picked { background: #fff; color: #0a7d48; box-shadow: none; }
.widget-cal .cal-day.has-note::after { border-top-color: #fde047; }
.widget-cal .cal-note { background: rgba(0,0,0,.18); border: 0; color: #fff; }

/* calculator: coloured keys */
.widget-calc { background: #fff; color: var(--tx); }
.calc-screen { background: #0e1b3d; border: 0; box-shadow: inset 0 3px 8px rgba(0,0,0,.45); }
.calc-hist { color: #9fb4e3; } .calc-disp { color: #fff; text-shadow: none; }
.calc-keys button { background: #fff; color: #0a2463; border: 1px solid #cdd9ee; box-shadow: 0 3px 0 #cdd9ee; }
.calc-keys button:hover { background: #f1f5fc; } .calc-keys button:active { transform: translateY(2px); box-shadow: 0 1px 0 #cdd9ee; }
.calc-keys .k-fn { background: #ef3b5d; color: #fff; border-color: #ef3b5d; box-shadow: 0 3px 0 #b3203d; }
.calc-keys .k-op { background: #f59e0b; color: #fff; border-color: #f59e0b; box-shadow: 0 3px 0 #b86f00; }
.calc-keys .k-eq { background: #10b981; color: #fff; border-color: #10b981; box-shadow: 0 3px 0 #0a7d58; }

/* quick add tabs */
.qa-tab { background: #eef3fb; color: #3b4d73; border: 1px solid var(--bd); }
.qa-tab.is-on { background: linear-gradient(135deg, #1f6fff, #1558d6); color: #fff; box-shadow: 0 4px 10px rgba(31,111,255,.3); border-color: transparent; }

/* summary table */
.es-form { border-bottom: 1px solid var(--bd-soft); } .es-hide, .es-range { color: var(--tx-2); }
.es-table tr.empty td { color: #8a99b7; }
.es-table .dot, .d-latest .dot { box-shadow: none; }
.es-table .bar { background: #e8eef8; } .es-table .bar em { color: #0f1f3d; text-shadow: none; font-weight: 600; }
.es-table .bar.full i { background: linear-gradient(90deg, #1f6fff, #7c3aed); } .es-table .bar.full em { color: #fff; }
.es-table tr.es-total td { background: #eaf1fd; border-top: 2px solid #b9c8e4; }

/* pie + lists */
.donut-center span { color: var(--tx-2); } .donut-legend .pc { color: var(--tx-2); }
.pie-box { position: relative; max-width: 250px; margin: 0 auto; }
.act-list li { border-bottom: 1px solid var(--bd-soft); }
.act-list .hot .ico { background: #fde8ed; color: #d81f4b; } .act-list .warm .ico { background: #fff1d6; color: #c2750a; } .act-list .ok .ico { background: #dff6ea; color: #0b8a5a; }
.badge-t.hot { background: #fde8ed; color: #b3153a; } .badge-t.warm { background: #fff1d6; color: #8a5200; } .badge-t.ok { background: #dff6ea; color: #0b6b47; }
.readout .k, .readout .v small { color: var(--tx-2); } .d-drink .readout > div { border-color: var(--bd-soft); }
body.bare .login .panel { box-shadow: 0 12px 34px rgba(15,31,61,.14); }
body.bare .login-mark h1 { color: #0a2463; }
@media (max-width: 991.98px) { body.rail-open .rail { box-shadow: 0 0 40px rgba(8,28,77,.45); } body.rail-open .rail-scrim { background: rgba(8,28,77,.55); } }
.widget-cal .cal-nav strong { color: #fff; }
.kpi-v { font-size: 1.4rem; text-overflow: clip; } .kpi-d { white-space: normal; line-height: 1.3; }
.d-latest .ledger td.num, .d-latest .ledger th.num { padding-right: 1rem; min-width: 6.5rem; }
@media (max-width: 1599.98px) { .kpi-deco { display: none; } }
@media (max-width: 1399.98px) { .d-calc, .d-donut { grid-column: span 6; } }
@media (max-width: 1199.98px) { .d-calc, .d-donut { grid-column: span 6; } }
@media (max-width: 767.98px) { .d-calc, .d-donut { grid-column: span 12; } }

/* ================= Bank & Payments ================= */
.bank-tabs { display: flex; gap: .4rem; overflow-x: auto; padding: .1rem 0 .9rem; margin: 0 -.1rem; }
.bank-tabs a { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .9rem; border-radius: 99px; background: #fff; border: 1px solid var(--bd); color: #1b3a78; text-decoration: none; font-weight: 500; white-space: nowrap; font-size: .92rem; }
.bank-tabs a:hover { background: #eaf1fd; }
.bank-tabs a.on { background: linear-gradient(135deg, #1f6fff, #1558d6); color: #fff; border-color: transparent; box-shadow: 0 4px 12px rgba(31,111,255,.3); }
.bk-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); gap: 1rem; }
.bk-card { position: relative; overflow: hidden; border-radius: 16px; padding: 1rem 1.2rem; color: #fff; box-shadow: 0 8px 20px -8px rgba(15,31,61,.35); min-width: 0; }
.bk-card .k { font-size: .88rem; opacity: .92; } .bk-card .v { font-size: 1.5rem; font-weight: 700; line-height: 1.25; } .bk-card .v small { font-size: .78rem; font-weight: 500; opacity: .85; }
.bk-card .v2 { font-size: 1.3rem; font-weight: 700; line-height: 1.3; } .bk-card .v2 small { font-size: .74rem; font-weight: 600; opacity: .85; margin-right: .25rem; }
.bk-card .s { font-size: .8rem; opacity: .85; margin-top: .15rem; }
.bk-card .ico { position: absolute; right: .9rem; top: .8rem; font-size: 2.2rem; opacity: .25; }
.c-blue { background: linear-gradient(135deg, #1558d6, #2f9bff); } .c-green { background: linear-gradient(135deg, #0a8f5c, #19c37d); } .c-red { background: linear-gradient(135deg, #d81f4b, #f4496a); }
.c-purple { background: linear-gradient(135deg, #5b21b6, #8b5cf6); } .c-orange { background: linear-gradient(135deg, #e8590c, #f9a826); } .c-green2 { background: linear-gradient(135deg, #0f766e, #14b8a6); } .c-blue2 { background: linear-gradient(135deg, #0a2463, #1f5fd6); }
.amt-in { color: #0b8a5a; font-weight: 600; } .amt-out { color: #d81f4b; font-weight: 600; } .amt-xf { color: #1558d6; font-weight: 600; }
.kind-tag { display: inline-flex; align-items: center; gap: .3rem; padding: .1rem .55rem; border-radius: 99px; font-size: .8rem; font-weight: 600; white-space: nowrap; }
.kt-in { background: #dff6ea; color: #0b6b47; } .kt-out { background: #fde8ed; color: #a3153a; } .kt-xf { background: #e1efff; color: #0f4c8a; }
.bk-ledger tr.bk-row-in > td:first-child { box-shadow: inset 4px 0 0 #10b981; } .bk-ledger tr.bk-row-out > td:first-child { box-shadow: inset 4px 0 0 #ef3b5d; } .bk-ledger tr.bk-row-xf > td:first-child { box-shadow: inset 4px 0 0 #1f6fff; }
.bk-ledger tr.is-cancelled > td { color: #8a99b7; text-decoration: line-through; background: #f6f8fc; } .bk-ledger tr.is-cancelled .tag, .bk-ledger tr.is-cancelled .btn, .bk-ledger tr.is-cancelled .kind-tag { text-decoration: none; }
.bk-ledger .num { white-space: nowrap; }
.kind-pick { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.kp { display: block; cursor: pointer; margin: 0; } .kp input { position: absolute; opacity: 0; pointer-events: none; }
.kp > span { display: block; border: 2px solid var(--bd); border-radius: 14px; padding: .8rem 1rem; font-weight: 700; font-size: 1.05rem; transition: border-color .15s, background .15s; }
.kp > span small { display: block; font-weight: 400; font-size: .8rem; color: var(--tx-2); }
.kp-in input:checked + span { border-color: #10b981; background: #e4f8ef; color: #0b6b47; } .kp-out input:checked + span { border-color: #ef3b5d; background: #fde8ed; color: #a3153a; }
.kp input:focus-visible + span { outline: 2px solid #1f6fff; outline-offset: 2px; }
.bk-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; }
.bk-grid > .panel { margin: 0; min-width: 0; display: flex; flex-direction: column; } .bk-grid .chart-box { flex: 1; min-height: 260px; }
.g-a { grid-column: span 6; } .g-b { grid-column: span 6; } .g-c { grid-column: span 6; } .g-d { grid-column: span 6; } .g-e, .g-f { grid-column: span 6; } .g-g { grid-column: span 12; }
.stmt-meta { display: flex; flex-wrap: wrap; gap: .3rem 1.6rem; font-size: .92rem; } .stmt-meta b { color: var(--tx-2); font-weight: 600; margin-right: .3rem; }
.print-head { display: none; }
.invalid-feedback { color: #d81f4b; font-size: .85rem; }
@media (max-width: 991.98px) { .g-a, .g-b, .g-c, .g-d, .g-e, .g-f { grid-column: span 12; } }
@media (max-width: 575.98px) { .kind-pick { grid-template-columns: 1fr; } .bk-card .v2, .bk-card .v { font-size: 1.25rem; } }
@media print {
  .rail, .topbar, .bank-tabs, .page-actions, .skip-link, .btn, .bk-filter, .alert, .pager, .modal, .rail-scrim { display: none !important; }
  body, body.app { background: #fff !important; } .page { max-width: none; padding: 0; } .app-shell, .shell { display: block; }
  .panel { box-shadow: none !important; border: 1px solid #999; break-inside: avoid-page; }
  .panel > .panel-head { background: #eee !important; color: #000 !important; } .panel > .panel-head h2, .panel > .panel-head h2 > i { color: #000 !important; }
  .bk-card { background: #fff !important; color: #000 !important; border: 1px solid #999; box-shadow: none; } .bk-card .ico { display: none; }
  .print-head { display: block; margin-bottom: .8rem; } .print-head h2 { margin: 0 0 .2rem; }
  .ledger-wrap { max-height: none !important; overflow: visible !important; } .ledger th { position: static; background: #eee !important; }
  .page-head .page-title p, .page-clock { display: none; }
}
.bk-ledger .wrap { min-width: 9rem; max-width: 17rem; }
.bk-ledger th, .bk-ledger td { padding-left: .6rem; padding-right: .6rem; }
.stmt .ledger-wrap { max-height: none; }
.ledger tr.bk-total > td { background: #eaf1fd; border-top: 2px solid #b9c8e4; font-weight: 600; }

/* password vault: full grid so rows and columns are easy to follow */
.vault-table { border-collapse: collapse; border: 1px solid #9fb3d6; }
.vault-table th, .vault-table td { border: 1px solid #b9c8e4 !important; padding: .55rem .7rem; }
.vault-table thead th { background: #dbe8fc; color: #0a2463; border-bottom: 2px solid #1f6fff !important; font-weight: 700; }
.vault-table tbody tr:nth-child(odd) td { background: #fff; }
.vault-table tbody tr:nth-child(even) td { background: #f1f6fe; }
.vault-table tbody tr:hover td { background: #e2edff; }

/* ---- quotations and invoices ---- */
.doc-items { min-width: 720px; }
.doc-items td { vertical-align: middle; padding: .35rem .4rem; }
.doc-items .it-no { width: 2rem; color: #6b7a99; }
.doc-items .it-qty, .doc-items .it-disc, .doc-items .it-tax { min-width: 4.5rem; }
.doc-items .it-price { min-width: 7rem; }
.doc-items .it-desc { min-width: 14rem; }
.doc-items .it-total { min-width: 7rem; font-weight: 600; }
.doc-items .it-warr td { background: #f1f6fe; }
.warr-box { padding: .5rem .25rem; }
.doc-totals .tl { display: flex; justify-content: space-between; padding: .3rem 0; border-bottom: 1px solid #e3eaf6; }
.doc-totals .tl.big { border-bottom: 0; font-size: 1.15rem; color: #0a2463; padding-top: .6rem; }
details > summary.btn { list-style: none; cursor: pointer; } details > summary.btn::-webkit-details-marker { display: none; }
tr.is-cancelled td { opacity: .6; }

/* dashboard Reminders & Leave: each item gets its own neon colour */
.d-remind .act-list li { border-bottom: 3px solid #fff; color: #08183a; }
.d-remind .act-list li .tx b, .d-remind .act-list li .tx small, .d-remind .act-list li .when { color: #08183a; }
.d-remind .act-list li .tx small { opacity: .8; }
.d-remind .act-list li .ico { background: rgba(255, 255, 255, .75); }
.d-remind .act-list li:nth-child(6n+1) { background: #5ef2ff; box-shadow: inset 5px 0 0 #00b8d4; }
.d-remind .act-list li:nth-child(6n+2) { background: #b6ff5c; box-shadow: inset 5px 0 0 #5fd100; }
.d-remind .act-list li:nth-child(6n+3) { background: #ff8ae0; box-shadow: inset 5px 0 0 #e0189e; }
.d-remind .act-list li:nth-child(6n+4) { background: #fff04d; box-shadow: inset 5px 0 0 #e6c400; }
.d-remind .act-list li:nth-child(6n+5) { background: #ffb347; box-shadow: inset 5px 0 0 #ff7a00; }
.d-remind .act-list li:nth-child(6n+6) { background: #c6a2ff; box-shadow: inset 5px 0 0 #7c3aed; }

/* ---- spending analysis (report.php) ---- */
.rp-chart { position: relative; height: 300px; }
.rp-chart.rp-tall { height: 360px; } .rp-chart.rp-donut { height: 330px; }
.rp-ins { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr)); gap: .6rem 1.4rem; }
.rp-ins li { display: flex; gap: .6rem; align-items: flex-start; line-height: 1.45; color: #22314f; }
.rp-ins li i { flex: none; width: 1.9rem; height: 1.9rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #eef2fb; color: #3b4a68; }
.rp-ins li.t-up i { background: #fde8ec; color: #c81e4a; } .rp-ins li.t-down i { background: #e3f6ec; color: #0a8f5c; }
.rp-heat { width: 100%; border-collapse: separate; border-spacing: 2px; font-size: .8rem; min-width: 760px; }
.rp-heat th { font-weight: 600; color: #52607a; padding: .35rem .5rem; white-space: nowrap; text-align: center; }
.rp-heat tbody th { text-align: left; color: #0f1f3d; }
.rp-heat td { text-align: center; padding: .45rem .3rem; border-radius: 4px; font-variant-numeric: tabular-nums; }
.rp-scale { display: flex; align-items: center; gap: 3px; justify-content: flex-end; padding: .5rem 1rem .8rem; font-size: .78rem; color: #52607a; }
.rp-scale i { width: 26px; height: 10px; border-radius: 3px; display: inline-block; } .rp-scale span { margin: 0 .3rem; }
.rp-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: .45rem; vertical-align: 1px; }
tr.rp-total td { font-weight: 700; background: #eaf1fd; border-top: 2px solid #b9c8e4; }
.print-only { display: none; }
@media print { .print-only { display: block; } .rp-chart { height: 240px; } .panel { break-inside: avoid; } }

/* photo lists: names only until "With image" is chosen */
.img-toggle { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; padding: 8px 14px; border-bottom: 1px solid var(--line, #dfe6f2); }
.img-toggle label { display: inline-flex; align-items: center; gap: 6px; margin: 0; cursor: pointer; font-weight: 600; }
.ledger-wrap img.img-lazy { display: none; }
.ledger-wrap.show-img img.img-lazy { display: inline-block; }
.ledger-wrap.show-img .img-name { display: none; }

.filters .fj-toggle { display: block; margin: 3px 0 0; font-size: .78rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.filters .fj-toggle input { margin-right: 4px; }

/* stock */
.tag-bad { background: #fde3e6; color: #a1182b; }
.stk-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 14px; }
.stk-kpi { background: #fff; border: 1px solid var(--line, #dfe6f2); border-radius: 12px; padding: 12px 14px; }
.stk-kpi .k { font-size: .78rem; color: #5b6b8a; font-weight: 600; } .stk-kpi .v { font-size: 1.45rem; font-weight: 800; line-height: 1.2; }
.stk-kpi.warn .v { color: #b36b00; } .stk-kpi.bad .v { color: #c0182f; }
.stk-low td { background: #fff7e6; } .stk-out td { background: #fff0f1; }
.filters .form-select { min-width: 6.4rem; }
.stk-line .stk-item { min-width: 12rem; }
