/* PAM Kapital: Bootstrap 5 overrides. Shared tokens and member shell. */
:root {
  --pam-navy: #07356b;
  --pam-blue: #0879bd;
  --pam-gold: #d7a51c;
  --pam-green: #087747;
  --pam-bg: #f3f6fa;
  --pam-surface: #ffffff;
  --pam-soft: #eaf1f8;
  --pam-ink: #15314f;
  --pam-muted: #596d82;
  --pam-border: #dbe4ee;
  --pam-danger: #bc3545;
  --pam-radius: 14px;
  --bs-primary: var(--pam-navy);
  --bs-success: var(--pam-green);
  --fimobile-theme-color: var(--pam-navy);
  --fimobile-theme-text: #fff;
  --fimobile-theme-bordercolor: var(--pam-border);
}
html { min-height: 100%; background: var(--pam-bg); }
body.pam-app { background: var(--pam-bg); color: var(--pam-ink); font-family: 'Segoe UI', Arial, sans-serif; font-size: 14px; line-height: 1.6; }
.pam-app main { min-height: 100vh; min-height: 100dvh; padding: 100px 20px 100px; background: var(--pam-bg); }
.pam-app .main-container { max-width: 1200px; padding-top: 0; }
.pam-app h1,.pam-app h2,.pam-app h3,.pam-app h4,.pam-app h5,.pam-app h6 { font-family: inherit; color: var(--pam-ink); font-weight: 700; letter-spacing: -.025em; }
.pam-app h1 { font-size: clamp(25px, 3vw, 34px); }
.pam-app a { color: var(--pam-navy); }
.pam-app a:hover { color: var(--pam-blue); }
.pam-app .text-muted { color: var(--pam-muted) !important; }
.pam-app .text-color-theme,.pam-app .text-primary { color: var(--pam-navy) !important; }
.pam-app .text-success { color: var(--pam-green) !important; }
.pam-app .text-danger { color: var(--pam-danger) !important; }
.pam-app .card,.pam-app .modal-content,.pam-app .list-group-item,.pam-app .accordion-item { background: var(--pam-surface); color: var(--pam-ink); border: 1px solid var(--pam-border); border-radius: var(--pam-radius); box-shadow: 0 3px 16px #07356b06; }
.pam-app .card-body { padding: 24px; }
.pam-app .card-header,.pam-app .card-footer { background: transparent; border-color: var(--pam-border); padding: 16px 24px; }
.pam-app .shadow,.pam-app .shadow-sm { box-shadow: 0 4px 18px #07356b09 !important; }
.pam-app .bg-theme-light,.pam-app .bg-opac { background: var(--pam-soft) !important; color: var(--pam-ink) !important; }
.pam-app .dark-bg,.pam-app .theme-radial-gradient { background: var(--pam-navy) !important; color: #fff; }
.pam-app .dark-bg h4,.pam-app .theme-radial-gradient h4 { color: #fff; }
.pam-app .dark-bg .text-muted,.pam-app .theme-radial-gradient .text-muted { color: #d4e3f2 !important; }
.pam-app .bg-purple,.pam-app .bg-red { background: var(--pam-navy) !important; }
.pam-app .bg-yellow,.pam-app .bg-warning { background: var(--pam-gold) !important; color: #15314f !important; }
.pam-app .bg-success { background: var(--pam-green) !important; }
.pam-app .btn { border-radius: 8px; font-weight: 600; min-height: 44px; padding: 10px 18px; box-shadow: none; }
.pam-app .btn-default,.pam-app .btn-primary { background: var(--pam-navy); border: 1px solid var(--pam-navy); color: #fff; }
.pam-app .btn-default:hover,.pam-app .btn-primary:hover { background: var(--pam-blue); border-color: var(--pam-blue); color: #fff; }
.pam-app .btn-light,.pam-app .btn-outline-primary { background: var(--pam-surface); border: 1px solid var(--pam-border); color: var(--pam-navy); }
.pam-app .btn-light:hover,.pam-app .btn-outline-primary:hover { background: var(--pam-soft); }
.pam-app .btn-44 { width: 44px; padding: 9px; }
.pam-app :focus-visible { outline: 3px solid var(--pam-blue); outline-offset: 3px; }
.pam-app .form-control,.pam-app .form-select,.pam-app .input-group-text { background-color: var(--pam-surface); color: var(--pam-ink); border: 1px solid var(--pam-border); border-radius: 8px; }
.pam-app .form-control,.pam-app .form-select { min-height: 48px; }
.pam-app .form-floating > .form-control { min-height: 60px; }
.pam-app .form-control:focus,.pam-app .form-select:focus { border-color: var(--pam-blue); box-shadow: 0 0 0 3px #0879bd20; }
.pam-app .form-control::placeholder { color: var(--pam-muted); }
.pam-app .form-control:disabled,.pam-app .form-control[readonly] { background: var(--pam-soft); }
.pam-app .form-floating label,.pam-app .form-control-label { color: var(--pam-muted); }
.pam-app .form-check-input:checked { background-color: var(--pam-navy); border-color: var(--pam-navy); }
.pam-app .table { color: var(--pam-ink); border-color: var(--pam-border); --bs-table-striped-bg: var(--pam-soft); --bs-table-hover-bg: var(--pam-soft); }
.pam-app .table th { background: var(--pam-soft); color: var(--pam-muted); font-size: 12px; font-weight: 600; }
.pam-app .table > :not(caption) > * > * { padding: 14px 16px; border-color: var(--pam-border); }
.pam-app .table-responsive { border-radius: 10px; }
.pam-app .dropdown-menu { background: var(--pam-surface); border-color: var(--pam-border); border-radius: 10px; }
.pam-app .dropdown-item { color: var(--pam-ink); }
.pam-app .dropdown-item:hover,.pam-app .page-link { background: var(--pam-soft); color: var(--pam-navy); }
.pam-app .page-item.active .page-link { background: var(--pam-navy); border-color: var(--pam-navy); color: #fff; }
.pam-app .accordion-button { background: var(--pam-surface); color: var(--pam-ink); }
.pam-app .accordion-button:not(.collapsed) { background: var(--pam-soft); color: var(--pam-navy); }
.pam-app .header { height: 76px; inset: 0 0 auto; padding: 12px 24px; background: var(--pam-surface); border-bottom: 1px solid var(--pam-border); box-shadow: none; z-index: 1030; }
.pam-app .header:after { display: none; }
.pam-app .header .row { align-items: center; height: 100%; }
.pam-app .logo-small { display: flex; align-items: center; justify-content: center; gap: 12px; }
.pam-app .logo-small img { width: 48px !important; height: 48px; object-fit: contain; background: #fff; border-radius: 8px; }
.pam-brand-name { font-size: 17px; font-weight: 750; letter-spacing: .05em; color: var(--pam-navy); }
.pam-app .logo-small h5 { margin: 0; font-size: 17px; }
.pam-app.menu-open .sidebar-wrap { transform: translateX(0); }
.pam-app.menu-open { overflow: hidden; }
.pam-app.menu-open main,.pam-app.menu-open .footer { transform: none !important; }
.pam-menu-backdrop { display: none; position: fixed; inset: 0; background: #08254866; border: 0; z-index: 1035; }
.pam-app.menu-open .pam-menu-backdrop { display: block; }
.pam-app .footer { background: var(--pam-surface); border-top: 1px solid var(--pam-border); box-shadow: none; padding-bottom: env(safe-area-inset-bottom); }
.pam-app .footer .nav-link { color: var(--pam-muted); }
.pam-app .footer .nav-link.active { color: var(--pam-navy); }
.pam-app .footer .nav-text { font-size: 10px; }
.pam-app .float { position: fixed; right: 24px; bottom: 100px; width: 48px; height: 48px; display: grid; place-items: center; background: var(--pam-green); color: #fff; border-radius: 50%; font-size: 24px; z-index: 1020; }
.pam-app .my-float { margin: 0; }
.pam-app img { max-width: 100%; }
.pam-app .iti { width: 100%; }
.pam-app .swal2-popup { background: var(--pam-surface); color: var(--pam-ink); border-radius: var(--pam-radius); }
.pam-app .swal2-title { color: var(--pam-ink); }
.pam-app .swal2-styled.swal2-confirm { background: var(--pam-navy) !important; }
.pam-app .swal2-styled.swal2-cancel { background: var(--pam-muted) !important; }
.pam-skip { position: fixed; left: 16px; top: -80px; z-index: 1100; padding: 10px 18px; background: var(--pam-surface); }
.pam-skip:focus { top: 8px; }
@media (min-width: 992px) {
  .pam-app:not(.pam-auth) main { margin-left: 272px; padding: 110px 32px 48px; }
  .pam-app:not(.pam-auth) .header { left: 272px; }
  .pam-app .sidebar-wrap { transform: none; }
  .pam-app .closemenu,.pam-app .menu-btn,.pam-app > .footer,.pam-app .pam-menu-backdrop { display: none; }
  .pam-app .float { bottom: 24px; }
}
@media (max-width: 575.98px) {
  .pam-app main { padding: 94px 4px 100px; }
  .pam-app .header { padding: 12px 16px; }
  .pam-app .card-body { padding: 18px; }
  .pam-brand-name { font-size: 14px; }
  .pam-app .logo-small img { width: 40px !important; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .pam-app *,.pam-app *::before,.pam-app *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Legacy template tokens resolved to the PAM palette. */
:root { --fimobile-theme-color-2: var(--pam-navy); --fimobile-theme-color-light: var(--pam-soft); --fimobile-theme-color-grad-1: var(--pam-blue); --fimobile-theme-color-grad-2: var(--pam-navy); --fimobile-theme-color-grad-3: var(--pam-navy); --fimobile-sidebar-text: var(--pam-ink); --fimobile-sidebar-text-active: var(--pam-navy); --fimobile-card-color: var(--pam-surface); --fimobile-card-text: var(--pam-ink); --fimobile-page-text: var(--pam-ink); }
.pam-app .main-container > .row:first-child .title,.pam-app .main-container > .title h4 { font-size: 26px; margin-bottom: 20px; }
.pam-app .cardswiper { overflow: visible; padding: 0 15px; }
.pam-app .cardswiper .swiper-wrapper { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; transform: none !important; }
.pam-app .cardswiper .swiper-slide { width: auto; padding: 0; min-width: 0; }
.pam-app .cardswiper .card { height: 100%; border-top: 3px solid var(--pam-gold) !important; }
.pam-app .cardswiper h4 { font-size: clamp(24px, 2.5vw, 34px); font-weight: 700 !important; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.pam-app .cardswiper .theme-radial-gradient { background: var(--pam-surface) !important; color: var(--pam-ink); border: 1px solid var(--pam-border) !important; border-top: 3px solid var(--pam-green) !important; }
.pam-app .cardswiper .theme-radial-gradient a,.pam-app .cardswiper .theme-radial-gradient h4 { color: var(--pam-ink) !important; }
.pam-app .cardswiper .theme-radial-gradient .text-muted { color: var(--pam-muted) !important; }
.pam-app svg { max-width: 100%; }
@media (max-width: 575.98px) { .pam-app .cardswiper .swiper-wrapper { grid-template-columns: 1fr; gap: 16px; } }
