body { background-color: #f8f9fa; }
.auth-card { max-width: 420px; margin: 5vh auto; }
.navbar-brand { font-weight: 600; }
.form-control { padding: .8rem .9rem; }
.table thead th { white-space: nowrap; }
.badge { text-transform: none; }

/* Mobile bottom nav */
.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:1030;background:#fff;border-top:1px solid #e9ecef;display:flex;justify-content:space-around;padding:.35rem .5rem}
.mobile-bottom-nav .item{display:flex;flex-direction:column;align-items:center;gap:.2rem;color:#6c757d;text-decoration:none;font-size:.85rem;flex:1;padding:.25rem}
.mobile-bottom-nav .item .icon{font-size:1.15rem;line-height:1}
.mobile-bottom-nav .item.active{color:var(--brand-primary, #0d6efd)}

/* Floating action button */
.fab{position:fixed;right:1rem;bottom:4.5rem;z-index:1031;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}

/* Responsive stacked tables */
@media (max-width: 767.98px){
  .table-responsive-stacked table,.table-responsive-stacked thead,.table-responsive-stacked tbody,.table-responsive-stacked th,.table-responsive-stacked td,.table-responsive-stacked tr{display:block;width:100%}
  .table-responsive-stacked thead{display:none}
  .table-responsive-stacked tr{margin-bottom:.75rem;border:1px solid #e9ecef;border-radius:.5rem;background:#fff;padding:.5rem}
  .table-responsive-stacked td{border:none;position:relative;padding-left:45%}
  .table-responsive-stacked td::before{content:attr(data-label);position:absolute;left:.75rem;top:.5rem;font-weight:600;color:#6c757d}
}

/* Signature pad */
.sig-wrap{position:relative}
.sig-canvas{touch-action:none}
.sig-watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#6c757d;opacity:.6;font-style:italic;font-size:1.1rem;pointer-events:none;user-select:none}
