/* VAMAS client panel — vamas.mk brand on top of Bootstrap 5 (huraga). */
:root, [data-bs-theme=dark], [data-bs-theme=light] {
  --v-bg:#06070a; --v-bg2:#0b0d13; --v-panel:#0e1119; --v-panel2:#12161f;
  --v-txt:#e9ecf3; --v-mut:#8b93a7; --v-dim:#5b6274; --v-line:#1a1e29;
  --v-red:#e11d2a; --v-red2:#ff3644; --v-glow:rgba(225,29,42,.45); --v-ok:#22c55e; --v-warn:#f59e0b;
  color-scheme: dark;
  --bs-body-bg:var(--v-bg); --bs-body-bg-rgb:6,7,10; --bs-body-color:var(--v-txt); --bs-body-color-rgb:233,236,243;
  --bs-secondary-bg:var(--v-bg2); --bs-tertiary-bg:var(--v-panel); --bs-tertiary-bg-rgb:14,17,25;
  --bs-secondary-color:var(--v-mut); --bs-tertiary-color:var(--v-dim);
  --bs-border-color:var(--v-line); --bs-border-color-translucent:rgba(255,255,255,.06);
  --bs-primary:var(--v-red); --bs-primary-rgb:225,29,42; --bs-primary-text-emphasis:#ff8f97; --bs-primary-bg-subtle:#2a0a0d; --bs-primary-border-subtle:#5c1219;
  --bs-link-color:var(--v-red2); --bs-link-color-rgb:255,54,68; --bs-link-hover-color:#ff8f97; --bs-link-hover-color-rgb:255,143,151;
  --bs-emphasis-color:#fff; --bs-heading-color:#fff;
  --bs-font-sans-serif:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; --bs-body-font-size:.95rem;
  --bs-border-radius:10px; --bs-border-radius-lg:14px; --bs-border-radius-sm:7px;
  --bs-focus-ring-color:rgba(225,29,42,.35);
}
html, body { background:var(--v-bg) !important; color:var(--v-txt); -webkit-font-smoothing:antialiased; }
body { background:
  radial-gradient(900px 420px at 12% -10%, rgba(225,29,42,.10), transparent 60%),
  radial-gradient(700px 380px at 100% 0%, rgba(225,29,42,.05), transparent 60%), var(--v-bg) !important; background-attachment:fixed !important; }
h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4,.h5,.card-header h2,.card-header h3 { font-family:'Space Grotesk',Inter,sans-serif; font-weight:700; letter-spacing:-.015em; color:#fff; }
code,.mono,kbd,pre { font-family:'JetBrains Mono',ui-monospace,monospace; }
::selection { background:rgba(225,29,42,.35); }

/* surfaces */
.card, .list-group-item, .modal-content, .dropdown-menu, .offcanvas, .toast { background:var(--v-panel) !important; border-color:var(--v-line) !important; color:var(--v-txt); }
.card { border-radius:16px; box-shadow:0 1px 0 rgba(255,255,255,.02) inset, 0 12px 40px rgba(0,0,0,.25); }
.card-header, .card-footer { background:rgba(255,255,255,.015) !important; border-color:var(--v-line) !important; }
.card-header { padding:1rem 1.25rem; }
.table { --bs-table-bg:transparent; --bs-table-color:var(--v-txt); --bs-table-border-color:var(--v-line); --bs-table-striped-bg:rgba(255,255,255,.02); --bs-table-hover-bg:rgba(225,29,42,.05); }
.table thead th { color:var(--v-mut); font-weight:600; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.form-control, .form-select, .input-group-text { background-color:var(--v-bg2) !important; border-color:var(--v-line) !important; color:var(--v-txt) !important; }
.form-control:focus, .form-select:focus { border-color:var(--v-red) !important; box-shadow:0 0 0 .2rem rgba(225,29,42,.2) !important; }
.form-control::placeholder { color:var(--v-dim); }
.form-label, .col-form-label { color:var(--v-mut); font-size:.85rem; font-weight:500; }
hr { border-color:var(--v-line); opacity:1; }
.text-muted, .text-body-secondary { color:var(--v-mut) !important; }

/* buttons */
.btn { font-family:'Space Grotesk',Inter,sans-serif; font-weight:600; border-radius:10px; }
.btn-primary { --bs-btn-bg:var(--v-red); --bs-btn-border-color:var(--v-red); --bs-btn-hover-bg:#c51723; --bs-btn-hover-border-color:#c51723; --bs-btn-active-bg:#a01420; --bs-btn-active-border-color:#a01420; --bs-btn-disabled-bg:#5c1219; --bs-btn-disabled-border-color:#5c1219; background-image:linear-gradient(135deg,var(--v-red),#9b0b14); box-shadow:0 0 22px rgba(225,29,42,.28); }
.btn-outline-primary { --bs-btn-color:var(--v-red2); --bs-btn-border-color:var(--v-red); --bs-btn-hover-bg:var(--v-red); --bs-btn-hover-border-color:var(--v-red); --bs-btn-active-bg:var(--v-red); }
.btn-secondary, .btn-light, .btn-outline-secondary { --bs-btn-bg:rgba(255,255,255,.04); --bs-btn-color:var(--v-txt); --bs-btn-border-color:var(--v-line); --bs-btn-hover-bg:rgba(255,255,255,.08); --bs-btn-hover-color:#fff; --bs-btn-hover-border-color:#2a3040; }
.badge.bg-primary, .bg-primary { background-color:var(--v-red) !important; }
.alert-info, .alert-primary { --bs-alert-bg:rgba(225,29,42,.07); --bs-alert-border-color:rgba(225,29,42,.25); --bs-alert-color:var(--v-txt); --bs-alert-link-color:var(--v-red2); }
.nav-tabs { border-color:var(--v-line); }
.nav-tabs .nav-link { color:var(--v-mut); border:0; border-bottom:2px solid transparent; }
.nav-tabs .nav-link:hover { color:#fff; }
.nav-tabs .nav-link.active { background:transparent !important; color:#fff !important; border-bottom-color:var(--v-red) !important; }
.pagination { --bs-pagination-bg:var(--v-panel); --bs-pagination-border-color:var(--v-line); --bs-pagination-color:var(--v-txt); --bs-pagination-active-bg:var(--v-red); --bs-pagination-active-border-color:var(--v-red); }

/* chrome: top bar + side menu */
header.navbar, .navbar, #header { background:rgba(6,7,10,.78) !important; backdrop-filter:blur(14px); border-bottom:1px solid var(--v-line); }
#sidebarMenu .nav-link { color:var(--v-mut); border-radius:10px; padding:.6rem .85rem; font-weight:500; }
#sidebarMenu .nav-link:hover { color:#fff; background:rgba(255,255,255,.03); }
#sidebarMenu .nav-link.active { color:#fff; background:linear-gradient(90deg,rgba(225,29,42,.16),rgba(225,29,42,.02)); box-shadow:inset 2px 0 0 var(--v-red); }
#sidebarMenu .nav-link .icon { color:var(--v-red2); }
.vamas-menu-head { font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:var(--v-dim); padding:.9rem .85rem .35rem; }

/* footer */
#footer.vamas-footer { color:var(--v-dim); border-top:1px solid var(--v-line); padding-top:1.4rem; margin-top:2.5rem !important; }
#footer.vamas-footer a { color:var(--v-mut); text-decoration:none; }
#footer.vamas-footer a:hover { color:var(--v-red2); }
#footer .vamas-legal { font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.04em; }

/* ---------------------------------------------------------- VAMAS panel components */
.vp-eyebrow { font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.26em; text-transform:uppercase; color:var(--v-red2); }
.vp-hero { position:relative; overflow:hidden; border:1px solid var(--v-line); border-radius:18px; padding:1.6rem 1.6rem 1.4rem; margin-bottom:1.25rem;
  background:radial-gradient(520px 220px at 0% 0%, rgba(225,29,42,.16), transparent 70%), var(--v-panel); }
.vp-hero h1 { font-size:clamp(1.5rem,3vw,2.1rem); margin:.35rem 0 .2rem; }
.vp-hero .vp-sub { color:var(--v-mut); }
.vp-hero .vp-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.vp-status { display:inline-flex; align-items:center; gap:.45rem; font-size:.8rem; color:var(--v-mut); }
.vp-dot { width:8px; height:8px; border-radius:50%; background:var(--v-ok); box-shadow:0 0 10px rgba(34,197,94,.7); }
.vp-dot.off { background:var(--v-warn); box-shadow:0 0 10px rgba(245,158,11,.6); }
.vp-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.75rem; margin-bottom:1.25rem; }
.vp-stat { background:var(--v-panel); border:1px solid var(--v-line); border-radius:14px; padding:.9rem 1rem; }
.vp-stat .l { font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--v-dim); }
.vp-stat .n { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.35rem; color:#fff; margin-top:.15rem; }
.vp-stat .n small { font-size:.8rem; color:var(--v-mut); font-weight:500; }
.vp-bar { height:5px; border-radius:99px; background:rgba(255,255,255,.06); margin-top:.55rem; overflow:hidden; }
.vp-bar i { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--v-red),var(--v-red2)); }
.vp-tabs { display:flex; gap:.25rem; overflow-x:auto; border-bottom:1px solid var(--v-line); margin-bottom:1.1rem; scrollbar-width:none; }
.vp-tabs button { background:none; border:0; border-bottom:2px solid transparent; color:var(--v-mut); padding:.7rem .95rem; font-weight:600; font-family:'Space Grotesk',sans-serif; white-space:nowrap; display:flex; align-items:center; gap:.45rem; }
.vp-tabs button:hover { color:#fff; }
.vp-tabs button.on { color:#fff; border-bottom-color:var(--v-red); }
.vp-pane { display:none; }
.vp-pane.on { display:block; animation:vpIn .18s ease-out; }
@keyframes vpIn { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
.vp-box { background:var(--v-panel); border:1px solid var(--v-line); border-radius:16px; margin-bottom:1rem; }
.vp-box > .vp-h { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; border-bottom:1px solid var(--v-line); }
.vp-box > .vp-h h3 { font-size:1.02rem; margin:0; }
.vp-box > .vp-b { padding:1rem 1.15rem; }
.vp-list { list-style:none; margin:0; padding:0; }
.vp-list li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1.15rem; border-top:1px solid var(--v-line); flex-wrap:wrap; }
.vp-list li:first-child { border-top:0; }
.vp-list .t { font-weight:600; color:#fff; word-break:break-all; }
.vp-list .s { color:var(--v-mut); font-size:.82rem; }
.vp-tag { display:inline-flex; align-items:center; gap:.3rem; font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.06em; padding:.18rem .5rem; border-radius:99px; border:1px solid var(--v-line); color:var(--v-mut); background:rgba(255,255,255,.02); }
.vp-tag.ok { color:#86efac; border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.06); }
.vp-tag.warn { color:#fcd34d; border-color:rgba(245,158,11,.35); background:rgba(245,158,11,.06); }
.vp-tag.red { color:#ff8f97; border-color:rgba(225,29,42,.4); background:rgba(225,29,42,.08); }
.vp-act { display:flex; gap:.4rem; flex-wrap:wrap; }
.vp-act .btn { padding:.3rem .7rem; font-size:.82rem; }
.vp-empty { color:var(--v-mut); text-align:center; padding:2rem 1rem; }
.vp-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.75rem; align-items:end; }
.vp-form .full { grid-column:1/-1; }
.vp-kv { display:grid; grid-template-columns:minmax(130px,190px) 1fr; gap:.5rem 1rem; font-size:.9rem; }
.vp-kv dt { color:var(--v-dim); font-weight:500; }
.vp-kv dd { margin:0; color:var(--v-txt); word-break:break-all; }
.vp-copy { cursor:pointer; border-bottom:1px dashed var(--v-dim); }
.vp-loading { color:var(--v-dim); padding:1.4rem 1.15rem; display:flex; gap:.6rem; align-items:center; }
.vp-spin { width:16px; height:16px; border:2px solid rgba(255,255,255,.12); border-top-color:var(--v-red2); border-radius:50%; animation:vpSpin .7s linear infinite; }
@keyframes vpSpin { to { transform:rotate(360deg); } }
.vp-toast { position:fixed; right:18px; bottom:18px; z-index:2000; max-width:380px; background:var(--v-panel2); border:1px solid var(--v-line); border-left:3px solid var(--v-ok); color:var(--v-txt); padding:.85rem 1rem; border-radius:12px; box-shadow:0 18px 50px rgba(0,0,0,.45); opacity:0; transform:translateY(8px); transition:.2s; pointer-events:none; }
.vp-toast.show { opacity:1; transform:none; }
.vp-toast.err { border-left-color:var(--v-red); }
.vp-svc { display:block; text-decoration:none !important; color:inherit; background:var(--v-panel); border:1px solid var(--v-line); border-radius:16px; padding:1.1rem 1.2rem; transition:.2s; height:100%; }
.vp-svc:hover { border-color:rgba(225,29,42,.5); box-shadow:0 0 0 1px rgba(225,29,42,.15), 0 14px 40px rgba(0,0,0,.35); transform:translateY(-1px); }
.vp-svc .k { font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--v-red2); }
.vp-svc .d { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.1rem; color:#fff; margin:.25rem 0; word-break:break-all; }
.vp-svc .m { color:var(--v-mut); font-size:.84rem; }
@media (max-width: 576px) {
  .vp-hero { padding:1.2rem; }
  .vp-kv { grid-template-columns:1fr; }
  .vp-kv dt { margin-top:.4rem; }
}

.vp-list li.vp-empty { display:block; text-align:center; }
.btn-info, .btn-outline-info { --bs-btn-bg:rgba(255,255,255,.04); --bs-btn-color:var(--v-txt); --bs-btn-border-color:var(--v-line); --bs-btn-hover-bg:rgba(255,255,255,.08); --bs-btn-hover-color:#fff; --bs-btn-hover-border-color:#2a3040; --bs-btn-active-bg:rgba(255,255,255,.1); }
.btn-danger { --bs-btn-bg:transparent; --bs-btn-color:#ff8f97; --bs-btn-border-color:rgba(225,29,42,.45); --bs-btn-hover-bg:rgba(225,29,42,.12); --bs-btn-hover-color:#fff; --bs-btn-hover-border-color:var(--v-red); }
.js-theme-toggler{display:none !important}

/* ---- VAMAS: no Bootstrap blue anywhere ---- */
.nav-pills { --bs-nav-pills-link-active-bg: var(--v-red); --bs-nav-pills-link-active-color: #fff; }
.nav-pills .nav-link { color: var(--v-mut); border-radius: 10px; }
.nav-pills .nav-link:hover { color: #fff; background: rgba(255,255,255,.04); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background: linear-gradient(135deg, var(--v-red), #9b0b14) !important; color: #fff !important; }
.nav-link { --bs-nav-link-color: var(--v-mut); --bs-nav-link-hover-color: #fff; }
.accordion { --bs-accordion-bg: var(--v-panel); --bs-accordion-color: var(--v-txt); --bs-accordion-border-color: var(--v-line);
  --bs-accordion-btn-color: var(--v-txt); --bs-accordion-btn-bg: var(--v-panel); --bs-accordion-active-color: #ff8f97; --bs-accordion-active-bg: rgba(225,29,42,.10);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem rgba(225,29,42,.2);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=http://www.w3.org/2000/svg viewBox=0 0 16 16 fill=none stroke=%238b93a7 stroke-linecap=round stroke-linejoin=round%3e%3cpath d=M2 5L8 11L14 5/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=http://www.w3.org/2000/svg viewBox=0 0 16 16 fill=none stroke=%23ff3644 stroke-linecap=round stroke-linejoin=round%3e%3cpath d=M2 5L8 11L14 5/%3e%3c/svg%3e"); }
.badge.bg-info, .badge.text-bg-info, .bg-info, .text-bg-info { background-color: rgba(225,29,42,.16) !important; color: #ff8f97 !important; }
.badge.bg-secondary, .text-bg-secondary { background-color: rgba(255,255,255,.08) !important; color: var(--v-txt) !important; }
.text-primary, .link-primary { color: var(--v-red2) !important; }
.border-primary { border-color: var(--v-red) !important; }
.bg-primary-subtle { background-color: rgba(225,29,42,.10) !important; }
.btn-link { --bs-btn-color: var(--v-red2); --bs-btn-hover-color: #ff8f97; --bs-btn-active-color: #ff8f97; }
.btn-outline-info, .btn-info { --bs-btn-color: var(--v-txt); }
.form-check-input { background-color: var(--v-bg2); border-color: #2a3040; }
.form-check-input:checked { background-color: var(--v-red) !important; border-color: var(--v-red) !important; }
.form-check-input:focus { border-color: var(--v-red); box-shadow: 0 0 0 .2rem rgba(225,29,42,.2); }
.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=%23ff3644/%3e%3c/svg%3e"); }
.form-range::-webkit-slider-thumb { background: var(--v-red); }
.form-range::-moz-range-thumb { background: var(--v-red); }
.progress, .progress-stacked { --bs-progress-bg: rgba(255,255,255,.06); --bs-progress-bar-bg: var(--v-red); }
.list-group { --bs-list-group-bg: var(--v-panel); --bs-list-group-color: var(--v-txt); --bs-list-group-border-color: var(--v-line);
  --bs-list-group-active-bg: var(--v-red); --bs-list-group-active-border-color: var(--v-red); --bs-list-group-action-hover-bg: rgba(255,255,255,.03); --bs-list-group-action-hover-color: #fff; }
.dropdown-menu { --bs-dropdown-link-active-bg: var(--v-red); --bs-dropdown-link-hover-bg: rgba(255,255,255,.05); --bs-dropdown-link-color: var(--v-txt); --bs-dropdown-link-hover-color: #fff; }
.spinner-border.text-primary, .spinner-grow.text-primary { color: var(--v-red2) !important; }
.btn:focus-visible, .form-control:focus, .form-select:focus, .page-link:focus { box-shadow: 0 0 0 .2rem rgba(225,29,42,.22) !important; }
.ts-wrapper.focus .ts-control, .ts-dropdown .active { border-color: var(--v-red) !important; }
.ts-dropdown .active { background-color: rgba(225,29,42,.15) !important; color: #fff !important; }
.ts-control, .ts-dropdown { background: var(--v-bg2) !important; border-color: var(--v-line) !important; color: var(--v-txt) !important; }
a { text-underline-offset: 3px; }
.card-body .lead, .card-body > p > strong:only-child { font-weight: 500; }

/* ---- VAMAS: mobile overflow guards ---- */
.row > [class*="col-"], .tab-content, .card-body, .card-header { min-width: 0; }
.card-header .d-flex, .card-body .d-flex.justify-content-between { flex-wrap: wrap; gap: .5rem; }
.card span.d-block, .card .text-break, .card h6, .vp-list .t, td { overflow-wrap: anywhere; }
@media (max-width: 767.98px) {
  .row > .col-md-4 + .col-md-8, .row > .col-md-3 + .col-md-9 { margin-top: 1rem; }
  .table:not(.table-responsive .table) { display: block; overflow-x: auto; }
}

/* ---- VAMAS: invoice payment ---- */
.invoice-gateway { background: var(--v-bg2); border: 1px solid var(--v-line); text-align: center; min-width: 120px; }
.invoice-gateway:hover { border-color: rgba(225,29,42,.5); }
.vp-gtw-title { font-size: .78rem; color: var(--v-txt); margin-top: .25rem; font-weight: 600; }
.vp-paybox { border: 1px dashed rgba(225,29,42,.35); border-radius: 14px; padding: 1rem 1.1rem; background: rgba(225,29,42,.04); }

/* ---- VAMAS: header above content (backdrop-filter creates a stacking context) ---- */
nav.navbar, header.navbar, #header { position: relative; z-index: 1030; }
nav.navbar .dropdown-menu, .client-dropdown .dropdown-menu { z-index: 1060; }
