:root {
    --nam-radius-sm: .65rem;
    --nam-radius: .85rem;
    --nam-radius-lg: 1rem;
    --nam-border: var(--bs-border-color, #e5e7eb);
    --nam-surface: var(--bs-body-bg, #fff);
    --nam-surface-muted: var(--bs-tertiary-bg, #f8fafc);
    --nam-text: var(--bs-body-color, #111827);
    --nam-muted: var(--bs-secondary-color, #64748b);
    --nam-accent: var(--bs-primary, #2563eb);
    --nam-accent-rgb: var(--bs-primary-rgb, 37, 99, 235);
    --nam-shadow: 0 .15rem .65rem rgba(15, 23, 42, .045);
    --nam-shadow-raised: 0 .55rem 1.4rem rgba(15, 23, 42, .09);
}

.page-content .page-container { padding-bottom: 1.75rem; }
.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6 { color: var(--nam-text); }
.page-content h1 { font-weight: 750; letter-spacing: -.02em; }
.page-content .text-muted,
.page-content .text-body-secondary { color: var(--nam-muted) !important; }

.page-content .card { border-color: var(--nam-border); border-radius: var(--nam-radius); box-shadow: var(--nam-shadow); }
.page-content .card-header { padding: .9rem 1rem; border-bottom-color: var(--nam-border); background: var(--nam-surface); }
.page-content .card-header:first-child { border-radius: var(--nam-radius) var(--nam-radius) 0 0; }
.page-content .card-body { padding: 1rem; }

.page-content .btn { min-height: 2.45rem; border-radius: var(--nam-radius-sm); font-weight: 600; }
.page-content .btn-sm { min-height: 2rem; }
.page-content .btn-lg { min-height: 2.9rem; }
.page-content .btn-group > .btn { border-radius: 0; }
.page-content .btn-group > .btn:first-child { border-radius: var(--nam-radius-sm) 0 0 var(--nam-radius-sm); }
.page-content .btn-group > .btn:last-child { border-radius: 0 var(--nam-radius-sm) var(--nam-radius-sm) 0; }

.page-content .form-label { margin-bottom: .38rem; color: var(--nam-muted); font-size: .8rem; font-weight: 650; }
.page-content .form-control,
.page-content .form-select,
.page-content .input-group-text { min-height: 2.6rem; border-color: var(--nam-border); border-radius: var(--nam-radius-sm); }
.page-content textarea.form-control { min-height: auto; }
.page-content .form-control:focus,
.page-content .form-select:focus { border-color: rgba(var(--nam-accent-rgb), .52); box-shadow: 0 0 0 .2rem rgba(var(--nam-accent-rgb), .1); }
.page-content .input-group > :not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.page-content .input-group > :not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }

.page-content .table { margin-bottom: 0; }
.page-content .table > thead > tr > th { padding: .72rem .7rem; border-bottom-color: var(--nam-border); color: var(--nam-muted); background: var(--nam-surface-muted); font-size: .72rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; vertical-align: middle; white-space: nowrap; }
.page-content .table > tbody > tr > td { padding: .72rem .7rem; border-bottom-color: var(--nam-border); vertical-align: middle; }
.page-content .table > tbody > tr { transition: background-color .12s ease; }
.page-content .table > tbody > tr:hover { background-color: rgba(var(--nam-accent-rgb), .035); }
.page-content .table-striped { --bs-table-striped-bg: rgba(var(--bs-body-color-rgb), .025); }
.page-content .table-responsive { scrollbar-width: thin; }

.page-content .badge { padding: .38rem .58rem; border-radius: 999px; font-size: .7rem; font-weight: 700; letter-spacing: .01em; }
.page-content .badge.text-bg-primary,
.page-content .badge.bg-primary { color: #1d4ed8 !important; background: rgba(37, 99, 235, .12) !important; }
.page-content .badge.text-bg-success,
.page-content .badge.bg-success { color: #15803d !important; background: rgba(25, 135, 84, .13) !important; }
.page-content .badge.text-bg-warning,
.page-content .badge.bg-warning { color: #a16207 !important; background: rgba(245, 158, 11, .16) !important; }
.page-content .badge.text-bg-danger,
.page-content .badge.bg-danger { color: #b91c1c !important; background: rgba(220, 53, 69, .13) !important; }
.page-content .badge.text-bg-info,
.page-content .badge.bg-info { color: #0369a1 !important; background: rgba(14, 165, 233, .13) !important; }
.page-content .badge.text-bg-secondary,
.page-content .badge.bg-secondary { color: var(--nam-muted) !important; background: rgba(var(--bs-secondary-rgb), .12) !important; }
.page-content .alert { border-radius: var(--nam-radius); }
.page-content .modal-content { border: 0; border-radius: var(--nam-radius-lg); box-shadow: 0 1rem 3rem rgba(15, 23, 42, .18); }
.page-content .modal-header,
.page-content .modal-footer { border-color: var(--nam-border); }
.page-content .nav-tabs { border-bottom-color: var(--nam-border); }
.page-content .nav-tabs .nav-link { border-radius: var(--nam-radius-sm) var(--nam-radius-sm) 0 0; font-weight: 600; }
.page-content .pagination .page-link { min-width: 2.35rem; min-height: 2.35rem; display: grid; place-items: center; }

.nam-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.nam-page-heading__main { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.nam-page-heading__icon { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: .75rem; color: var(--nam-accent); background: rgba(var(--nam-accent-rgb), .1); font-size: 1.25rem; }
.nam-page-heading__title { margin: 0 0 .18rem; font-size: clamp(1.4rem, 2vw, 1.75rem); font-weight: 750; letter-spacing: -.02em; }
.nam-page-heading__subtitle { color: var(--nam-muted); font-size: .9rem; }
.nam-page-heading__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }

.nam-card { border: 1px solid var(--nam-border); border-radius: var(--nam-radius); background: var(--nam-surface); box-shadow: var(--nam-shadow); }
.nam-toolbar { padding: 1rem; border: 1px solid var(--nam-border); border-radius: var(--nam-radius); background: var(--nam-surface); box-shadow: var(--nam-shadow); }
.nam-toolbar__title { display: flex; align-items: center; gap: .4rem; margin-bottom: .75rem; font-size: .8rem; font-weight: 700; }
.nam-kpi { height: 100%; padding: 1rem; border: 1px solid var(--nam-border); border-radius: var(--nam-radius); background: var(--nam-surface); box-shadow: var(--nam-shadow); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
button.nam-kpi { width: 100%; color: inherit; text-align: left; }
button.nam-kpi:hover { transform: translateY(-1px); border-color: rgba(var(--nam-accent-rgb), .3); box-shadow: var(--nam-shadow-raised); }
.nam-kpi__layout { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.nam-kpi__icon { width: 2.35rem; height: 2.35rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: .7rem; color: var(--nam-accent); background: rgba(var(--nam-accent-rgb), .09); font-size: 1.15rem; }
.nam-kpi__value { font-size: 1.5rem; font-weight: 750; line-height: 1; font-variant-numeric: tabular-nums; }
.nam-kpi__label { margin-top: .35rem; color: var(--nam-muted); font-size: .78rem; }
.nam-empty { padding: 3rem 1rem !important; color: var(--nam-muted); text-align: center; }
.nam-empty__icon { width: 3.6rem; height: 3.6rem; display: grid; place-items: center; margin: 0 auto .75rem; border-radius: 1rem; color: var(--nam-accent); background: rgba(var(--nam-accent-rgb), .09); font-size: 1.65rem; }
.nam-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.nam-detail-item { padding: .8rem; border: 1px solid var(--nam-border); border-radius: .75rem; background: var(--nam-surface); }
.nam-detail-item__label { margin-bottom: .18rem; color: var(--nam-muted); font-size: .74rem; }
.nam-detail-item__value { font-weight: 650; word-break: break-word; }
.nam-status { display: inline-flex; align-items: center; gap: .38rem; font-size: .78rem; font-weight: 650; }
.nam-status::before { content: ""; width: .48rem; height: .48rem; border-radius: 50%; background: currentColor; }
.nam-sticky-actions { position: sticky; bottom: .65rem; z-index: 20; }

@media (max-width: 767.98px) {
    .page-content .page-container { padding-bottom: 3.5rem; }
    .nam-page-heading { flex-direction: column; }
    .nam-page-heading__actions { width: 100%; justify-content: stretch; }
    .nam-page-heading__actions > .btn,
    .nam-page-heading__actions > a { flex: 1 1 auto; }
    .nam-detail-grid { grid-template-columns: 1fr; }
    .nam-sticky-actions { padding: .5rem; border: 1px solid var(--nam-border); border-radius: var(--nam-radius); background: var(--nam-surface); box-shadow: var(--nam-shadow-raised); }
}

@media (prefers-reduced-motion: reduce) {
    .page-content *,
    .page-content *::before,
    .page-content *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
