/* assets/css/custom.css — 1stNlast admin skin + responsive tweaks */

:root { --nl-radius: .5rem; }

body { background: #f4f6f9; }

/* ---------- login ---------- */
.login-page { display: flex; min-height: 100vh; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #1f2430 0%, #343a40 60%, #495057 100%); }
.login-box { width: 400px; max-width: 94vw; }
.login-box .card { border-radius: var(--nl-radius); box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.login-box .brand-text, .login-box .h1 { letter-spacing: -.5px; }

/* ---------- cards ---------- */
.card { border-radius: var(--nl-radius); box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.card-header { border-bottom: 1px solid rgba(0,0,0,.06); }
.small-box { border-radius: var(--nl-radius); overflow: hidden; }
.small-box h3 { font-size: 1.7rem; font-weight: 600; }
.small-box .icon > i { font-size: 55px; top: 12px; right: 12px; opacity: .25; }
.small-box.bg-light h3, .small-box.bg-light p { color: #6c757d; }

/* ---------- tables ---------- */
.table thead th { border-top: 0; font-weight: 600; white-space: nowrap; }
.table td { vertical-align: middle; }
.table-hover tbody tr:hover { background-color: #eef4ff; }
.btn-xs { padding: .1rem .4rem; font-size: .75rem; line-height: 1.4; border-radius: .2rem; }
code.copy-id { background: #eef1f4; padding: .05rem .3rem; border-radius: .2rem; }

/* severity accents on PIN rows */
tr.sev-out    td:first-child { box-shadow: inset 3px 0 0 #dc3545; }
tr.sev-low    td:first-child { box-shadow: inset 3px 0 0 #ffc107; }
tr.sev-healthy td:first-child { box-shadow: inset 3px 0 0 #28a745; }

/* ---------- sidebar ---------- */
.brand-link { border-bottom: 1px solid rgba(255,255,255,.08); }
.nav-sidebar .nav-link p { font-size: .9rem; }
.nav-sidebar .nav-header { letter-spacing: .08em; font-size: .7rem; }

/* ---------- misc ---------- */
.description-block { padding: .4rem 0; }
.progress { border-radius: 10px; }
#page-body { padding-bottom: 2rem; }
.badge { font-weight: 600; }

/* ---------- responsive ---------- */
@media (max-width: 767.98px) {
  .content-header h1 { font-size: 1.15rem; }
  .small-box h3 { font-size: 1.25rem; }
  .small-box .icon { display: none; }
  .card-body { padding: .75rem; }
  .table-responsive { -webkit-overflow-scrolling: touch; }
  .pagination { justify-content: center !important; }
}

@media print {
  .main-sidebar, .main-header, .main-footer, .card-tools, .pagination, .btn { display: none !important; }
  .content-wrapper { margin-left: 0 !important; }
}
