/* Ayar ERP — RTL design system (Bootstrap 5 RTL base) */
@font-face { font-family: "Plex Arabic"; font-weight: 400; font-display: swap; src: url(../vendor/fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Plex Arabic"; font-weight: 500; font-display: swap; src: url(../vendor/fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Plex Arabic"; font-weight: 600; font-display: swap; src: url(../vendor/fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Plex Arabic"; font-weight: 700; font-display: swap; src: url(../vendor/fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Plex Arabic"; font-weight: 400; font-display: swap; src: url(../vendor/fonts/ibm-plex-sans-arabic-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF; }
@font-face { font-family: "Plex Arabic"; font-weight: 600; font-display: swap; src: url(../vendor/fonts/ibm-plex-sans-arabic-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00FF; }

:root {
  --ay-brand: #D9480F;
  --ay-brand-600: #EA580C;
  --ay-brand-ink: #9A3412;
  --ay-brand-soft: #FFF1E7;
  --ay-bg: #F5F6F8;
  --ay-surface: #ffffff;
  --ay-line: #E3E6EB;
  --ay-text: #172033;
  --ay-muted: #5E6A7D;
  --ay-side: #14213D;
  --ay-side-text: #AEB9CC;
  --ay-warn: #A16207;
  --ay-ok: #15803D;
  --ay-info: #1D4ED8;
  --ay-accent: #F97316;
  --ay-danger: #b42318;
  --ay-radius: 10px;
  --bs-primary: #D9480F;
  --bs-primary-rgb: 217, 72, 15;
  --bs-link-color: #D9480F;
  --bs-link-hover-color: #9A3412;
  --bs-body-font-family: "Plex Arabic", "Segoe UI", Tahoma, sans-serif;
  --bs-body-bg: #F5F6F8;
  --bs-body-color: #172033;
  --bs-border-color: #E3E6EB;
}

body { font-size: .925rem; background: var(--ay-bg); color: var(--ay-text); }
.num, td.num, th.num, .money { font-variant-numeric: tabular-nums; direction: ltr; unicode-bidi: isolate; text-align: start; }
td.num, th.num { text-align: left; }

.btn-primary { --bs-btn-bg: var(--ay-brand); --bs-btn-border-color: var(--ay-brand); --bs-btn-hover-bg: var(--ay-brand-ink); --bs-btn-hover-border-color: var(--ay-brand-ink); --bs-btn-active-bg: var(--ay-brand-ink); --bs-btn-disabled-bg: var(--ay-brand); }
.btn-outline-primary { --bs-btn-color: var(--ay-brand); --bs-btn-border-color: var(--ay-brand); --bs-btn-hover-bg: var(--ay-brand); --bs-btn-hover-border-color: var(--ay-brand); --bs-btn-active-bg: var(--ay-brand-ink); }
.text-bg-primary { background-color: var(--ay-brand) !important; }
.form-control:focus, .form-select:focus { border-color: var(--ay-brand-600); box-shadow: 0 0 0 .2rem rgba(217, 72, 15,.15); }
.form-check-input:checked { background-color: var(--ay-brand); border-color: var(--ay-brand); }
.form-label { font-weight: 500; font-size: .85rem; color: #334155; margin-bottom: .3rem; }

/* ---------- shell */
.ay-shell { display: flex; min-height: 100vh; }
.ay-side { width: 252px; background: var(--ay-side); color: var(--ay-side-text); flex-shrink: 0; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
.ay-side .brand { display: flex; align-items: center; gap: .6rem; padding: 1.1rem 1.2rem; color: #fff; font-weight: 700; font-size: 1.05rem; border-bottom: 1px solid rgba(255,255,255,.06); }
.ay-side .brand .logo { width: 32px; height: 32px; border-radius: 8px; background: linear-gradient(135deg, #F97316, #D9480F); display: grid; place-items: center; font-weight: 700; }
.ay-side .brand small { display: block; font-weight: 400; color: var(--ay-side-text); font-size: .72rem; }
.ay-side .sec { padding: .9rem 1.2rem .3rem; font-size: .7rem; letter-spacing: .02em; color: #7C88A0; }
.ay-side a.item { display: flex; align-items: center; gap: .65rem; padding: .48rem 1.2rem; color: var(--ay-side-text); text-decoration: none; font-size: .88rem; border-inline-start: 3px solid transparent; }
.ay-side a.item:hover { background: rgba(255,255,255,.04); color: #fff; }
.ay-side a.item.active { background: rgba(249, 115, 22,.12); color: #fff; border-inline-start-color: #F97316; }
.ay-side a.item i { font-size: 1rem; opacity: .85; width: 1.1rem; }
.ay-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ay-top { height: 58px; background: var(--ay-surface); border-bottom: 1px solid var(--ay-line); display: flex; align-items: center; gap: 1rem; padding: 0 1.4rem; position: sticky; top: 0; z-index: 20; }
.ay-top .search { max-width: 380px; flex: 1; }
.ay-top .search input { background: var(--ay-bg); border-color: transparent; }
.ay-content { padding: 1.4rem; flex: 1; }
.ay-toggle { display: none; }

@media (max-width: 991.98px) {
  .ay-side { position: fixed; inset-inline-start: -260px; z-index: 50; transition: inset-inline-start .2s; }
  .ay-side.open { inset-inline-start: 0; box-shadow: 0 0 40px rgba(0,0,0,.35); }
  .ay-toggle { display: inline-flex; }
  .ay-content { padding: 1rem; }
}

/* ---------- page parts */
.page-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; flex-wrap: wrap; }
.page-head h1 { font-size: 1.3rem; font-weight: 700; margin: 0; }
.page-head .sub { color: var(--ay-muted); font-size: .85rem; margin-top: .15rem; }
.card { border: 1px solid var(--ay-line); border-radius: var(--ay-radius); box-shadow: 0 1px 2px rgba(16,24,22,.03); }
.card-header { background: transparent; border-bottom: 1px solid var(--ay-line); font-weight: 600; padding: .8rem 1rem; }
.kpi { padding: 1rem 1.1rem; }
.kpi .label { color: var(--ay-muted); font-size: .8rem; }
.kpi .value { font-size: 1.45rem; font-weight: 700; margin-top: .2rem; font-variant-numeric: tabular-nums; }
.kpi .hint { font-size: .75rem; color: var(--ay-muted); }
.kpi.accent { border-top: 3px solid var(--ay-brand); }

.table { --bs-table-bg: transparent; margin-bottom: 0; }
.table > :not(caption) > * > * { padding: .6rem .75rem; border-color: var(--ay-line); }
.table thead th { font-size: .76rem; font-weight: 600; color: var(--ay-muted); background: #F8F9FB; border-bottom-width: 1px; white-space: nowrap; }
.table-hover tbody tr:hover { --bs-table-hover-bg: #FFF8F2; }
.table tfoot td { font-weight: 700; background: #F8F9FB; }
.filters { background: var(--ay-surface); border: 1px solid var(--ay-line); border-radius: var(--ay-radius); padding: .8rem; margin-bottom: 1rem; }
.empty-state { text-align: center; padding: 2.5rem 1rem; color: var(--ay-muted); }
.empty-state i { font-size: 2rem; display: block; margin-bottom: .5rem; color: #A3ADBD; }
.empty-state h6 { color: var(--ay-text); font-weight: 600; }
.banner { border-radius: var(--ay-radius); padding: .65rem 1rem; margin-bottom: 1rem; font-size: .88rem; display: flex; gap: .6rem; align-items: center; }
.banner.warn { background: #FEFCE8; color: #854D0E; border: 1px solid #FDE68A; }
.banner.danger { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.banner.info { background: var(--ay-brand-soft); color: var(--ay-brand-ink); border: 1px solid #FED7AA; }
.dl { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; font-size: .9rem; }
.dl dt { color: var(--ay-muted); font-weight: 500; }
.dl dd { margin: 0; }
.bar-chart { display: flex; align-items: flex-end; gap: 4px; height: 140px; padding-top: .5rem; }
.bar-chart .bar { flex: 1; background: linear-gradient(180deg, #F97316, #D9480F); border-radius: 4px 4px 0 0; min-height: 2px; position: relative; }
.bar-chart .bar:hover::after { content: attr(data-label); position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); background: #14213D; color: #fff; font-size: .7rem; padding: 2px 6px; border-radius: 4px; white-space: nowrap; }
.bar-axis { display: flex; gap: 4px; font-size: .65rem; color: var(--ay-muted); }
.bar-axis span { flex: 1; text-align: center; }

/* document line editor */
.doc-lines td { vertical-align: middle; }
.doc-lines input.form-control-sm, .doc-lines select.form-select-sm { min-width: 70px; }
.doc-totals { max-width: 360px; margin-inline-start: auto; }
.doc-totals .row-t { display: flex; justify-content: space-between; padding: .3rem 0; border-bottom: 1px dashed var(--ay-line); }
.doc-totals .grand { font-size: 1.15rem; font-weight: 700; border-bottom: 0; }

/* ---------- invoice editor (sales / purchases) */
.doc-head { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .9rem 1rem; }
.doc-head .form-label { margin-bottom: .25rem; }
.party-info { font-size: .78rem; color: var(--ay-muted); margin-top: .3rem; min-height: 1.1rem; }
.party-info b { color: var(--ay-text); font-variant-numeric: tabular-nums; }
.party-info .over { color: var(--ay-danger); }
.doc-search { position: relative; }
.doc-search > .bi { position: absolute; inset-inline-start: .95rem; top: 50%; transform: translateY(-50%); color: var(--ay-muted); font-size: 1.05rem; pointer-events: none; }
.doc-search input.js-product-search { padding-inline-start: 2.5rem; height: 46px; font-size: 1rem; border-radius: 9px; }
.doc-search kbd { position: absolute; inset-inline-end: .7rem; top: 50%; transform: translateY(-50%); background: var(--ay-bg); color: var(--ay-muted); border: 1px solid var(--ay-line); font-size: .7rem; }
.doc-lines { --cell-pad: .45rem; }
.doc-lines thead th { text-align: center; }
.doc-lines thead th.col-item { text-align: start; }
.doc-lines td { text-align: center; padding: var(--cell-pad) .5rem !important; }
.doc-lines td.col-item { text-align: start; min-width: 200px; }
.doc-lines td.col-no { color: var(--ay-muted); font-size: .8rem; width: 36px; }
.doc-lines td.col-total { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; direction: ltr; text-align: center; }
.doc-lines .item-name { font-weight: 600; line-height: 1.35; }
.doc-lines .item-meta { font-size: .74rem; color: var(--ay-muted); display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1px; }
.doc-lines .item-meta .low { color: var(--ay-danger); }
.doc-lines input.num { text-align: center; direction: ltr; }
.doc-lines .stepper { display: inline-flex; align-items: stretch; border: 1px solid var(--bs-border-color); border-radius: 7px; overflow: hidden; background: #fff; }
.doc-lines .stepper button { border: 0; background: #F3F4F7; width: 28px; color: var(--ay-text); font-size: .95rem; line-height: 1; }
.doc-lines .stepper button:hover { background: var(--ay-brand-soft); color: var(--ay-brand-ink); }
.doc-lines .stepper input { border: 0; border-radius: 0; width: 64px; min-width: 0 !important; box-shadow: none !important; }
.doc-lines tr.flash td { animation: rowflash .7s ease; }
@keyframes rowflash { from { background: #FFE4CC; } to { background: transparent; } }
.doc-lines .js-empty td { padding: 2.2rem 1rem !important; }
.doc-lines .js-empty .bi { font-size: 1.6rem; color: #A3ADBD; display: block; margin-bottom: .3rem; }
.doc-foot { display: flex; gap: 1.2rem; padding: .6rem 1rem; border-top: 1px solid var(--ay-line); background: #F8F9FB; font-size: .82rem; color: var(--ay-muted); border-radius: 0 0 var(--ay-radius) var(--ay-radius); }
.doc-foot b { color: var(--ay-text); font-variant-numeric: tabular-nums; }

.sum-panel { position: sticky; top: 74px; }
.sum-net { background: var(--ay-side); color: #fff; border-radius: var(--ay-radius) var(--ay-radius) 0 0; padding: 1rem 1.1rem; }
.sum-net .lbl { font-size: .8rem; color: var(--ay-side-text); }
.sum-net .val { font-size: 2rem; font-weight: 700; font-variant-numeric: tabular-nums; direction: ltr; text-align: end; line-height: 1.2; }
.sum-net .val small { font-size: .9rem; font-weight: 500; color: var(--ay-side-text); margin-inline-end: .35rem; }
.sum-rows { padding: .4rem 1.1rem .6rem; }
.sum-rows .r { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .42rem 0; border-bottom: 1px dashed var(--ay-line); font-size: .88rem; }
.sum-rows .r:last-child { border-bottom: 0; }
.sum-rows .r .v { font-variant-numeric: tabular-nums; direction: ltr; font-weight: 600; }
.sum-rows .r input { max-width: 120px; text-align: center; direction: ltr; }
.pay-box { border-top: 1px solid var(--ay-line); padding: .8rem 1.1rem; }
.pay-box .ttl { font-weight: 600; font-size: .85rem; margin-bottom: .55rem; display: flex; justify-content: space-between; align-items: center; }
.pay-row { display: grid; grid-template-columns: 1fr 128px; gap: .5rem; align-items: center; margin-bottom: .45rem; }
.pay-row label { display: flex; align-items: center; gap: .45rem; font-size: .86rem; margin: 0; color: #334155; }
.pay-row label .bi { color: var(--ay-brand); font-size: 1rem; }
.pay-row .input-group .btn { font-size: .72rem; padding: 0 .45rem; }
.pay-row input { text-align: center; direction: ltr; }
.pay-row .sub { grid-column: 1 / -1; }
.pay-result { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; margin-top: .7rem; }
.pay-result div { background: #F3F4F7; border-radius: 8px; padding: .45rem .5rem; text-align: center; }
.pay-result span { display: block; font-size: .72rem; color: var(--ay-muted); }
.pay-result b { font-variant-numeric: tabular-nums; font-size: .98rem; }
.pay-result .due.on { background: #fef2f2; } .pay-result .due.on b { color: var(--ay-danger); }
.pay-result .chg.on { background: var(--ay-brand-soft); } .pay-result .chg.on b { color: var(--ay-brand-ink); }
.sum-actions { padding: .9rem 1.1rem 1.1rem; border-top: 1px solid var(--ay-line); display: grid; gap: .5rem; }
.sum-actions .btn-primary { height: 46px; font-size: 1rem; font-weight: 600; }
.sum-actions .hint { font-size: .72rem; color: var(--ay-muted); text-align: center; }
.mobile-bar { display: none; }

@media (max-width: 991.98px) {
  .sum-panel { position: static; }
}
@media (max-width: 767.98px) {
  .doc-lines thead { display: none; }
  .doc-lines, .doc-lines tbody, .doc-lines tr, .doc-lines td { display: block; width: 100%; }
  .doc-lines tr[data-i] { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem .75rem; padding: .8rem .9rem; border-bottom: 1px solid var(--ay-line); }
  .doc-lines tr[data-i] td { border: 0 !important; padding: 0 !important; text-align: start; }
  .doc-lines tr[data-i] td::before { content: attr(data-label); display: block; font-size: .7rem; color: var(--ay-muted); margin-bottom: 2px; }
  .doc-lines tr[data-i] td.col-item { grid-column: 1 / -1; padding-inline-end: 2rem !important; }
  .doc-lines tr[data-i] td.col-item::before, .doc-lines tr[data-i] td.col-no, .doc-lines tr[data-i] td.col-del::before { display: none; }
  .doc-lines tr[data-i] td.col-del { position: absolute; top: .55rem; inset-inline-end: .4rem; width: auto; }
  .doc-lines tr[data-i] td.col-total { text-align: start; font-size: 1rem; align-self: end; }
  .doc-lines .stepper { width: 100%; } .doc-lines .stepper input { flex: 1; }
  .doc-lines input.form-control-sm, .doc-lines select.form-select-sm { width: 100%; }
  .mobile-bar { display: flex; position: sticky; bottom: 0; z-index: 25; margin: 1rem -1rem -1rem; background: var(--ay-side); color: #fff; padding: .7rem 1rem; align-items: center; gap: .8rem; }
  .mobile-bar .val { font-size: 1.25rem; font-weight: 700; font-variant-numeric: tabular-nums; direction: ltr; }
  .mobile-bar .btn { margin-inline-start: auto; }
}
.product-picker { position: relative; }
.product-picker .results { position: absolute; z-index: 30; inset-inline: 0; top: 100%; background: #fff; border: 1px solid var(--ay-line); border-radius: 8px; max-height: 320px; overflow-y: auto; box-shadow: 0 10px 30px rgba(0,0,0,.08); display: none; }
.product-picker .results a { display: flex; justify-content: space-between; padding: .5rem .75rem; color: var(--ay-text); text-decoration: none; border-bottom: 1px solid #EEF0F3; }
.product-picker .results a:hover, .product-picker .results a.active { background: var(--ay-brand-soft); }

/* matrix (apparel) */
.matrix td, .matrix th { text-align: center; }
.matrix td.zero { color: #B4BDCB; }

/* login */
.auth-wrap { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; }
.auth-art { background: radial-gradient(620px 420px at 92% 6%, rgba(249,115,22,.30) 0%, rgba(249,115,22,0) 70%), linear-gradient(160deg, #18264A 0%, #14213D 55%, #101A31 100%); color: #F1F5F9; padding: 3rem; display: flex; flex-direction: column; justify-content: space-between; }
.auth-art h2 { font-weight: 700; font-size: 2rem; line-height: 1.5; }
.auth-form { display: grid; place-items: center; padding: 2rem; }
.auth-form .box { width: 100%; max-width: 380px; }
@media (max-width: 767.98px) { .auth-wrap { grid-template-columns: 1fr; } .auth-art { display: none; } }

/* print */
.print-only { display: none; }
@media print {
  .ay-side, .ay-top, .no-print, .btn, .filters, .banner, .alert, .page-head { display: none !important; }
  .print-only { display: block !important; }
  @page { size: A4; margin: 12mm; }
  table { page-break-inside: auto; } tr { page-break-inside: avoid; } thead { display: table-header-group; }
  .ay-content { padding: 0; }
  body { background: #fff; }
  .card { border: 0; box-shadow: none; }
}
.receipt-80 { width: 76mm; margin: 0 auto; font-size: 12px; }
.receipt-80 table td { padding: 2px 0; }
.doc-lines input[type=number]::-webkit-outer-spin-button, .doc-lines input[type=number]::-webkit-inner-spin-button,
.pay-row input[type=number]::-webkit-outer-spin-button, .pay-row input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.doc-lines input[type=number], .pay-row input[type=number] { -moz-appearance: textfield; }

/* ================================================================== theme: orange + navy, shared components */
a { text-decoration: none; } a:hover { text-decoration: underline; }
.btn { border-radius: 8px; font-weight: 500; }
.btn-sm { border-radius: 7px; }
.btn-light { --bs-btn-bg: #fff; --bs-btn-border-color: var(--ay-line); --bs-btn-hover-bg: #F3F4F7; --bs-btn-hover-border-color: #CDD3DC; --bs-btn-color: var(--ay-text); }
.btn-outline-secondary { --bs-btn-color: #475569; --bs-btn-border-color: #CDD3DC; --bs-btn-hover-bg: #F3F4F7; --bs-btn-hover-color: var(--ay-text); --bs-btn-hover-border-color: #B4BDCB; }
.btn-link { --bs-btn-color: var(--ay-brand); --bs-btn-hover-color: var(--ay-brand-ink); }
.btn-primary { --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-disabled-color: #fff; --bs-btn-hover-bg: #B83A0A; --bs-btn-hover-border-color: #B83A0A; --bs-btn-active-bg: #9A3412; --bs-btn-active-border-color: #9A3412; }
.text-primary { color: var(--ay-brand) !important; }
.bg-primary { background-color: var(--ay-brand) !important; }
.border-primary { border-color: var(--ay-brand) !important; }
.link-primary { color: var(--ay-brand) !important; }
.nav-tabs { border-bottom-color: var(--ay-line); gap: .15rem; }
.nav-tabs .nav-link { color: var(--ay-muted); border: 0; border-bottom: 2px solid transparent; font-weight: 500; padding: .55rem .9rem; }
.nav-tabs .nav-link:hover { color: var(--ay-text); border-bottom-color: #CDD3DC; }
.nav-tabs .nav-link.active { color: var(--ay-brand-ink); background: transparent; border-bottom-color: var(--ay-brand); }
.nav-pills .nav-link.active { background: var(--ay-brand); }
.nav-pills .nav-link { color: var(--ay-text); }
.pagination { --bs-pagination-color: var(--ay-text); --bs-pagination-active-bg: var(--ay-brand); --bs-pagination-active-border-color: var(--ay-brand); --bs-pagination-hover-color: var(--ay-brand-ink); --bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(217, 72, 15, .15); --bs-pagination-border-color: var(--ay-line); }
.list-group-item.active { background: var(--ay-brand); border-color: var(--ay-brand); }
.dropdown-item:active, .dropdown-item.active { background: var(--ay-brand); }
.form-switch .form-check-input:focus { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23F97316'/%3e%3c/svg%3e"); }
.form-check-input:focus { border-color: var(--ay-accent); box-shadow: 0 0 0 .2rem rgba(217, 72, 15, .15); }
.form-control, .form-select { border-color: #D5DAE1; border-radius: 8px; }
.form-control::placeholder { color: #98A2B3; }
.form-control[readonly] { background: #F8F9FB; }
.progress-bar { background-color: var(--ay-brand); }
.alert { border-radius: var(--ay-radius); }
.alert-success { --bs-alert-bg: #ECFDF3; --bs-alert-color: #166534; --bs-alert-border-color: #BBF7D0; }
.alert-warning { --bs-alert-bg: #FEFCE8; --bs-alert-color: #854D0E; --bs-alert-border-color: #FDE68A; }
.alert-danger { --bs-alert-bg: #FEF2F2; --bs-alert-color: #991B1B; --bs-alert-border-color: #FECACA; }
.alert-info { --bs-alert-bg: #EFF4FF; --bs-alert-color: #1E3A8A; --bs-alert-border-color: #C7D7FE; }
.text-success { color: var(--ay-ok) !important; }
.text-danger { color: var(--ay-danger) !important; }
.text-warning { color: var(--ay-warn) !important; }

/* soft status badges (status_badge() and any .badge.text-bg-*) */
.badge { font-weight: 600; font-size: .74rem; padding: .34em .62em; border-radius: 999px; letter-spacing: 0; }
.badge.text-bg-success { background: #DCFCE7 !important; color: #166534 !important; }
.badge.text-bg-danger { background: #FEE2E2 !important; color: #991B1B !important; }
.badge.text-bg-warning { background: #FEF3C7 !important; color: #92400E !important; }
.badge.text-bg-info { background: #DBEAFE !important; color: #1E40AF !important; }
.badge.text-bg-primary { background: #FFEDD5 !important; color: #9A3412 !important; }
.badge.text-bg-secondary { background: #EEF0F3 !important; color: #475569 !important; }
.badge.text-bg-dark { background: #1E293B !important; color: #fff !important; }
.badge.text-bg-light { background: #F3F4F7 !important; color: #334155 !important; border: 1px solid var(--ay-line); }
.badge.rounded-pill.text-bg-warning { background: var(--ay-accent) !important; color: #fff !important; }

/* tables & lists */
.table tbody td { vertical-align: middle; }
.table-hover tbody tr:hover { --bs-table-hover-bg: #FFF8F2; }
.table a { font-weight: 500; }
.table td.actions, .table th.actions { text-align: end; white-space: nowrap; width: 1%; }
.card > .table-responsive:last-child .table, .card > .table:last-child { border-bottom-left-radius: var(--ay-radius); border-bottom-right-radius: var(--ay-radius); }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.card-header .btn { font-weight: 500; }
.page-head h1 { color: #0F172A; }
.ay-top { box-shadow: 0 1px 0 rgba(15,23,42,.02); }
.ay-side .brand { border-bottom-color: rgba(255,255,255,.08); }
.ay-side a.item.active { background: rgba(249, 115, 22, .14); border-inline-start-color: var(--ay-accent); }
.ay-side a.item.active i { color: var(--ay-accent); opacity: 1; }
.ay-side .sec { color: #7C88A0; font-weight: 600; }
.ay-side::-webkit-scrollbar { width: 6px; } .ay-side::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 3px; }
.kpi.accent { border-top-color: var(--ay-accent); }
.empty-state i { color: #FDBA74; }
.bar-chart .bar { background: linear-gradient(180deg, #FB923C, #D9480F); }
kbd { font-family: inherit; }
:focus-visible { outline: 2px solid rgba(249, 115, 22, .55); outline-offset: 2px; }
:root { --bs-link-color-rgb: 194, 65, 12; --bs-link-hover-color-rgb: 154, 52, 18; --bs-link-color: #C2410C; --bs-link-hover-color: #9A3412; }
.ay-shell { background: linear-gradient(to left, var(--ay-side) 252px, var(--ay-bg) 252px); }
@media (max-width: 991.98px) { .ay-shell { background: var(--ay-bg); } }
.table a:not(.btn) { color: #0F172A; font-weight: 600; }
.table a:not(.btn):hover { color: var(--ay-brand); }
.kpi .value { direction: ltr; text-align: right; unicode-bidi: isolate; }
.table tfoot td .badge { vertical-align: middle; }

/* secondary button colors in the same family */
.btn-success { --bs-btn-color: #166534; --bs-btn-bg: #DCFCE7; --bs-btn-border-color: #BBF7D0; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #15803D; --bs-btn-hover-border-color: #15803D; --bs-btn-active-bg: #166534; --bs-btn-active-color: #fff; }
.btn-warning { --bs-btn-color: #854D0E; --bs-btn-bg: #FEF3C7; --bs-btn-border-color: #FDE68A; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #A16207; --bs-btn-hover-border-color: #A16207; --bs-btn-active-bg: #854D0E; --bs-btn-active-color: #fff; }
.btn-danger { --bs-btn-bg: #B42318; --bs-btn-border-color: #B42318; --bs-btn-hover-bg: #912018; --bs-btn-hover-border-color: #912018; }
.btn-outline-danger { --bs-btn-color: #B42318; --bs-btn-border-color: #F3B7B2; --bs-btn-hover-bg: #B42318; --bs-btn-hover-border-color: #B42318; }
.btn-outline-success { --bs-btn-color: #15803D; --bs-btn-border-color: #BBF7D0; --bs-btn-hover-bg: #15803D; --bs-btn-hover-border-color: #15803D; }
.btn-info { --bs-btn-color: #1E40AF; --bs-btn-bg: #DBEAFE; --bs-btn-border-color: #BFDBFE; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #1D4ED8; --bs-btn-hover-border-color: #1D4ED8; }
.btn-dark { --bs-btn-bg: #14213D; --bs-btn-border-color: #14213D; --bs-btn-hover-bg: #0E182E; --bs-btn-hover-border-color: #0E182E; }

/* date factory tables: keep dates, numbers and document numbers on one line (tables scroll on small screens) */
.dt-table td { white-space: nowrap; }
.dt-table td.wrap { white-space: normal; min-width: 8rem; }
