:root{
  --bs-primary: #1d5fae;
  --bs-primary-rgb: 29,95,174;
  --navy: #152048;
  --navy-light: #1c2a52;
  --maroon: #5a1f1f;
  --page-bg: #f4f6fb;
}
body{ background: var(--page-bg); }

/* Navbar */
.navbar-brand-gc1{ display:flex; align-items:center; gap:10px; }
.navbar-brand-gc1 img{ height:36px; width:auto; background:#fff; border-radius:6px; padding:2px; }
.navbar-brand-gc1 .brand-text{ line-height:1.15; color:#fff; }
.navbar-brand-gc1 .brand-text small{ display:block; font-size:11px; color:#cfd7f0; font-weight:400; }
.navbar-gc1{ background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%); }
.navbar-gc1 .nav-link{ color:#dfe3f2; }
.navbar-gc1 .nav-link:hover, .navbar-gc1 .nav-link.active{ color:#fff; }
.navbar-gc1 .navbar-toggler{ border-color: rgba(255,255,255,.35); }
.navbar-gc1 .dropdown-menu{ border:none; box-shadow:0 4px 16px rgba(0,0,0,.15); border-radius:8px; overflow:hidden; }
.navbar-gc1 .dropdown-item:active, .navbar-gc1 .dropdown-item:focus{ background:var(--navy); }
.user-avatar{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:50%;
  background:rgba(255,255,255,.15); color:#fff; font-size:13px; font-weight:700;
}

/* Cards */
.card{ border:1px solid #e6e9f2; border-radius:12px; box-shadow:0 1px 3px rgba(20,30,60,.05); }
.card-header-gc1{ background: #eaf1fb; color: var(--navy); font-weight:700; border-bottom:1px solid #e6e9f2; }

/* Buttons */
.btn-primary{ background-color: var(--navy); border-color: var(--navy); }
.btn-primary:hover{ background-color: var(--navy-light); border-color: var(--navy-light); }
.btn-outline-primary{ color: var(--navy); border-color: var(--navy); }
.btn-outline-primary:hover{ background-color: var(--navy); border-color: var(--navy); }

/* Tables */
.table thead th{ background:#eaf1fb; color: var(--navy); font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; }

/* Login */
.login-page{ min-height:calc(100vh - 40px); display:flex; align-items:center; justify-content:center; }
.login-card{ max-width:400px; width:100%; }
.login-card img{ height:80px; width:auto; }

/* Printable voucher (letterhead replica) */
.voucher{ border:3px solid var(--maroon); border-radius:6px; padding:26px 30px; background:#fff; font-family:Georgia,serif; color:#111; }
.v-top{ display:flex; justify-content:space-between; align-items:center; gap:14px; }
.v-top img{ height:64px; width:auto; }
.v-title{ font-size:24px; font-weight:700; text-align:center; flex:1; }
.v-gst{ font-family:Arial,sans-serif; font-size:11px; text-align:right; line-height:1.5; white-space:nowrap; }
.v-society{ text-align:center; font-size:20px; font-weight:700; margin-top:10px; }
.v-address,.v-contact{ text-align:center; font-family:Arial,sans-serif; font-size:12px; margin-top:2px; }
.v-hr{ border:none; border-top:1px solid #ccc; margin:14px 0; }
.v-nodate{ display:flex; justify-content:space-between; font-family:Arial,sans-serif; font-size:14px; margin-bottom:16px; }
.v-field{ font-family:Arial,sans-serif; font-size:15px; font-weight:600; margin:14px 0; }
.v-balances{ display:flex; justify-content:space-between; font-family:Arial,sans-serif; font-size:15px; font-weight:600; margin:14px 0; }
.v-sign-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-top:22px; font-family:Arial,sans-serif; }
.v-sign-grid h6{ margin:0 0 6px; color: var(--navy); }
.v-sign-grid p{ margin:5px 0; font-size:12.5px; }

@media print{
  .no-print{ display:none !important; }
  body{ background:#fff; }
}
