/* Works on top of Bootstrap 5 (loaded first) */
body{background:#f4f6f9;font-size:14px;color:#222}
.erp-nav{background:#1f3a5f}
.erp-nav .dropdown-menu{max-height:70vh;overflow-y:auto}
.erp-nav .dropdown-item.active,.erp-nav .dropdown-item:active{background:#1f3a5f;color:#fff}
.main{padding:14px}
.card{background:#fff;border:1px solid #d9dee5;border-radius:6px;padding:14px;margin-bottom:14px;overflow-x:auto}
h2{margin:0 0 10px;color:#1f3a5f;font-size:18px;font-weight:600}
label{display:inline-block;min-width:110px;margin:4px 0}
input[type=text],input[type=password],select,textarea{padding:6px 8px;border:1px solid #b8c0cc;border-radius:4px;max-width:100%;margin-bottom:4px}
.btn{--bs-btn-color:#fff;--bs-btn-bg:#1f3a5f;--bs-btn-border-color:#1f3a5f;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#2c5282;--bs-btn-hover-border-color:#2c5282;
     --bs-btn-active-color:#fff;--bs-btn-active-bg:#16304f;--bs-btn-active-border-color:#16304f;--bs-btn-padding-y:.4rem;--bs-btn-padding-x:.9rem;--bs-btn-font-size:14px;margin:2px 4px 2px 0}
.btn-outline-light{--bs-btn-color:#fff;--bs-btn-bg:transparent;--bs-btn-border-color:#fff;--bs-btn-hover-color:#1f3a5f;--bs-btn-hover-bg:#fff;--bs-btn-hover-border-color:#fff}
.msg{color:#b00020;font-weight:600}.ok{color:#0a7a2f;font-weight:600}
.grid{border-collapse:collapse;width:100%;background:#fff}
.grid th{background:#e8edf3;text-align:left;white-space:nowrap}.grid th,.grid td{border:1px solid #d9dee5;padding:6px 8px}
.kpis{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.kpi{background:#fff;border:1px solid #d9dee5;border-radius:6px;padding:14px 18px;flex:1 1 170px}
.kpi .n{font-size:22px;font-weight:700;color:#1f3a5f}.kpi .t{color:#6b7684;margin-top:2px}.kpi.warn .n{color:#b00020}
.login{width:92%;max-width:340px;margin:70px auto;background:#fff;border:1px solid #d9dee5;border-radius:6px;padding:24px}
.login input[type=text],.login input[type=password]{width:100%;margin-bottom:10px}
.inv{background:#fff;padding:20px;max-width:850px;margin:10px auto;border:1px solid #999;overflow-x:auto}
.inv table{width:100%;border-collapse:collapse}.inv th,.inv td{border:1px solid #888;padding:4px 6px;font-size:13px}.inv .r{text-align:right}.inv .noborder td{border:0}

/* Mobile */
@media (max-width:767.98px){
  .main{padding:8px}
  .card{padding:10px}
  label{display:block;min-width:0;margin-bottom:0;font-weight:600}
  input[type=text],input[type=password],select,textarea{width:100%;font-size:16px}  /* 16px stops iOS zoom */
  .kpi{flex:1 1 calc(50% - 12px);padding:10px 12px}.kpi .n{font-size:18px}
  .btn{padding:.5rem 1rem}
  .grid th,.grid td{font-size:13px;padding:5px 6px}
  .inv{padding:10px}
}
@media print{.noprint,.navbar{display:none!important}.inv{border:0;margin:0;max-width:none}body{background:#fff}}
