/* NeoCount unified interface — global visual language for every application module. */
:root {
    --nc-primary: #0284c7;
    --nc-primary-dark: #075985;
    --nc-primary-soft: #e0f2fe;
    --nc-ink: #0f172a;
    --nc-text: #334155;
    --nc-muted: #64748b;
    --nc-subtle: #94a3b8;
    --nc-line: #e2e8f0;
    --nc-line-soft: #edf2f7;
    --nc-surface: #ffffff;
    --nc-canvas: #f4f7fb;
    --nc-success: #059669;
    --nc-warning: #d97706;
    --nc-danger: #dc2626;
    --nc-info: #0891b2;
    --nc-radius-sm: 9px;
    --nc-radius: 14px;
    --nc-radius-lg: 20px;
    --nc-shadow-sm: 0 2px 10px rgba(15, 23, 42, .04);
    --nc-shadow: 0 12px 32px rgba(15, 23, 42, .07);
    --nc-focus: 0 0 0 3px rgba(14, 165, 233, .14);
    --nc-font-body: .72rem;
    --nc-font-meta: .64rem;
    --nc-font-section: .9rem;
    --nc-font-page: 1.18rem;
}

body.app-admin-shell {
    background:
        radial-gradient(circle at 96% 3%, rgba(14, 165, 233, .055), transparent 23rem),
        var(--nc-canvas) !important;
    color: var(--nc-text);
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: var(--nc-font-body);
    -webkit-font-smoothing: antialiased;
}

/* Compact ERP typography: one scale across modules, tables and navigation. */
.app-admin-shell [id$="-container"],
.app-admin-shell .module-page,
.app-admin-shell .page-header,
.app-admin-shell .content-header { font-family: 'Plus Jakarta Sans', sans-serif !important; }
.app-admin-shell p,
.app-admin-shell .small,
.app-admin-shell small { line-height: 1.45; }

/* Dashboard hero must retain contrast against the dark brand surface. */
.app-admin-shell .welcome-panel {
    min-height: 218px;
    padding: 28px 32px;
    border-radius: 20px;
}
.app-admin-shell .welcome-panel h1 {
    color: #ffffff !important;
    font-size: clamp(1.55rem, 2.5vw, 2.15rem) !important;
    line-height: 1.15;
    text-shadow: 0 2px 14px rgba(2, 6, 23, .18);
}
.app-admin-shell .welcome-panel p { color: #cbd5e1 !important; }
.app-admin-shell .welcome-panel .eyebrow { color: #bae6fd !important; }
.app-admin-shell .welcome-panel .date-card strong { color: #fff !important; }
.app-admin-shell .welcome-panel .date-card small { color: #bae6fd !important; }
.app-admin-shell .metric-grid { gap: 12px; }
.app-admin-shell .metric-card { min-height: 148px; padding: 16px; border-radius: 15px; }
.app-admin-shell .metric-top { margin-bottom: 12px; }
.app-admin-shell .metric-icon { width: 38px; height: 38px; border-radius: 10px; }
.app-admin-shell .metric-value { font-size: clamp(1rem, 1.5vw, 1.28rem); }
.app-admin-shell .metric-meta { margin-top: 7px; }

/* Unified navigation frame */
.app-admin-shell .sidebar {
    width: 232px;
    padding: 12px 11px 14px;
    border-right: 1px solid rgba(148, 163, 184, .12);
    background:
        radial-gradient(circle at 15% 4%, rgba(14, 165, 233, .13), transparent 15rem),
        linear-gradient(180deg, #172235 0%, #101a2d 60%, #0b1425 100%);
    box-shadow: 8px 0 30px rgba(15, 23, 42, .12) !important;
}
.app-admin-shell .main-content { margin-left: 232px; }
.app-admin-shell .sidebar-brand {
    min-height: 98px;
    position: relative;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    margin: 0 2px 10px;
    padding: 9px 10px 14px;
    border-bottom: 1px solid rgba(148, 163, 184, .1);
}
.app-admin-shell .sidebar-brand::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -1px;
    width: 54px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #0ea5e9, #38bdf8);
    transform: translateX(-50%);
    box-shadow: 0 0 12px rgba(56, 189, 248, .45);
}
.app-admin-shell .sidebar-brand img { width: 94px; max-height: 62px; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(0,0,0,.18)); }
.app-admin-shell .sidebar-brand-caption {
    color: #64748b;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    transition: opacity .2s ease;
}
.app-admin-shell .sidebar-nav { gap: 2px; }
.app-admin-shell .sidebar .nav-link {
    min-height: 38px;
    position: relative;
    gap: 8px;
    margin: 1px 0;
    padding: 8px 11px;
    border: 1px solid transparent;
    border-radius: 11px;
    color: #8fa0b8;
    font-size: .72rem;
    font-weight: 650;
}
.app-admin-shell .sidebar .nav-link i {
    min-width: 23px;
    justify-content: center;
    color: #8395ad;
    font-size: .86rem;
}
.app-admin-shell .sidebar .nav-link:hover {
    border-color: rgba(148, 163, 184, .1);
    color: #e2e8f0;
    background: rgba(255, 255, 255, .045);
    transform: translateX(2px);
}
.app-admin-shell .sidebar .nav-link:hover i { color: #7dd3fc; transform: none; }
.app-admin-shell .sidebar .nav-link.active {
    border-color: rgba(125, 211, 252, .2);
    color: #fff;
    background: linear-gradient(110deg, #0284c7, #0ea5e9);
    box-shadow: 0 8px 20px rgba(2, 132, 199, .24), inset 0 1px rgba(255,255,255,.16);
}
.app-admin-shell .sidebar .nav-link.active::before {
    content: "";
    position: absolute;
    left: -15px;
    width: 3px;
    height: 21px;
    border-radius: 0 4px 4px 0;
    background: #7dd3fc;
    box-shadow: 0 0 10px #38bdf8;
}
.app-admin-shell .sidebar .nav-link.active i { color: #fff; }
.app-admin-shell .sidebar .section-title {
    margin: 6px 0 2px;
    padding: 11px 11px 4px;
    color: #506078;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .17em;
}
.app-admin-shell .toggle-wrapper { margin-top: 14px; padding-top: 12px; }
.app-admin-shell .toggle-sidebar {
    width: 36px;
    height: 36px;
    margin-left: auto;
    padding: 0;
    border-color: rgba(148,163,184,.12);
    border-radius: 10px;
    background: rgba(255,255,255,.035);
}
.app-admin-shell .toggle-sidebar:hover { color: #7dd3fc; border-color: rgba(125,211,252,.25); background: rgba(14,165,233,.1); box-shadow: none; }
.app-admin-shell .sidebar.collapsed { width: 70px; padding: 12px 10px; }
.app-admin-shell .sidebar.collapsed + #logout-form + .main-content,
.app-admin-shell .main-content.expanded { margin-left: 70px; }
.app-admin-shell .sidebar.collapsed .sidebar-brand { min-height: 74px; padding: 8px 0 15px; }
.app-admin-shell .sidebar.collapsed .sidebar-brand img { width: 48px; }
.app-admin-shell .sidebar.collapsed .sidebar-brand-caption { display: none; }
.app-admin-shell .sidebar.collapsed .nav-link { justify-content: center; padding: 10px; }
.app-admin-shell .sidebar.collapsed .nav-link i { min-width: 0; }
.app-admin-shell .sidebar.collapsed .nav-link.active::before { left: -13px; }

/* Topbar visually continues the navigation system */
.app-admin-shell .app-topbar {
    min-height: 64px;
    margin-bottom: 12px;
    padding: 8px 11px 8px 9px;
    border: 1px solid rgba(203, 213, 225, .78);
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 12px 30px rgba(15,23,42,.065);
    backdrop-filter: blur(18px) saturate(140%);
}
.app-admin-shell .app-topbar::before {
    content: "";
    position: absolute;
    left: -1px;
    top: 19px;
    bottom: 19px;
    width: 3px;
    border-radius: 0 5px 5px 0;
    background: linear-gradient(#0284c7,#38bdf8);
}
.app-admin-shell .topbar-brand { min-width: 210px; gap: 11px; }
.app-admin-shell .topbar-brand-icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    background: linear-gradient(145deg, #0284c7, #2563eb);
    box-shadow: 0 9px 20px rgba(2,132,199,.22), inset 0 1px rgba(255,255,255,.24);
}
.app-admin-shell .topbar-brand-title { font-size: .9rem; letter-spacing: -.01em; }
.app-admin-shell .topbar-brand-subtitle { display: flex; align-items: center; gap: 6px; margin-top: 4px; color: #718096; font-size: .64rem; }
.app-admin-shell .topbar-status-dot { width: 6px; height: 6px; border-radius: 50%; background: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.11); }
.app-admin-shell .topbar-context { display: flex; align-items: center; gap: 10px; color: #94a3b8; font-size: .62rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.app-admin-shell .topbar-context-line { width: 30px; height: 1px; background: linear-gradient(90deg,#cbd5e1,transparent); }
.app-admin-shell .topbar-actions { gap: 8px; }
.app-admin-shell .topbar-icon-btn {
    width: 36px;
    height: 36px;
    border-color: #dbe4ee;
    border-radius: 12px;
    color: #475569;
    background: rgba(248,250,252,.8);
}
.app-admin-shell .topbar-icon-btn:hover { color: #0369a1; border-color: #bae6fd; background: #f0f9ff; transform: translateY(-1px); }
.app-admin-shell .language-chip { height: 40px; padding: 0 12px; border-color: #dbe4ee; border-radius: 12px; background: #f8fafc; font-size: .72rem; }
.app-admin-shell .language-dot { width: 18px; height: 18px; }
.app-admin-shell .login-card {
    min-width: 220px;
    height: 42px;
    padding: 5px 9px 5px 6px;
    border-color: #dbeafe;
    border-radius: 13px;
    background: linear-gradient(100deg,#f8fbff,#fff);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}
.app-admin-shell .login-card:hover { border-color: #bae6fd; background: #f5fbff; }
.app-admin-shell .login-avatar { width: 32px; height: 32px; border-radius: 9px; background: linear-gradient(145deg,#e0f2fe,#eef2ff); color: #2563eb; }
.app-admin-shell .login-name { font-size: .76rem; }
.app-admin-shell .login-meta { margin-top: 3px; color: #8090a5; font-size: .59rem; letter-spacing: .04em; }

/* Layout rhythm: maximize usable workspace without touching the sidebar. */
.app-admin-shell .main-content {
    padding: 14px 18px 28px !important;
}
.app-admin-shell .main-content > .container-fluid {
    width: 100%;
    padding-right: 0 !important;
    padding-left: 0 !important;
}
.app-admin-shell .main-content > .container,
.app-admin-shell .main-content > .container-fluid,
.app-admin-shell .main-content > form > .container,
.app-admin-shell .main-content > form > .container-fluid { max-width: 1600px; }
.app-admin-shell h1, .app-admin-shell h2, .app-admin-shell h3,
.app-admin-shell h4, .app-admin-shell h5, .app-admin-shell h6 {
    color: var(--nc-ink);
    letter-spacing: -.02em;
}
.app-admin-shell .text-muted { color: var(--nc-muted) !important; }
.app-admin-shell a { text-underline-offset: 3px; }

/* Cards become one consistent surface everywhere */
.app-admin-shell .card {
    border: 1px solid var(--nc-line) !important;
    border-radius: 15px !important;
    background: var(--nc-surface);
    box-shadow: var(--nc-shadow-sm) !important;
}
.app-admin-shell .card-header {
    min-height: 50px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--nc-line-soft) !important;
    border-radius: var(--nc-radius-lg) var(--nc-radius-lg) 0 0 !important;
    background: #fff !important;
}
.app-admin-shell .card-header h4,
.app-admin-shell .card-header h5,
.app-admin-shell .card-header h6 { margin: 0; font-weight: 800; }
.app-admin-shell .card-body { padding: 16px; }
.app-admin-shell .card-body.p-4 { padding: 16px !important; }
.app-admin-shell .card-body.p-5 { padding: 20px !important; }
.app-admin-shell .card.p-4 { padding: 16px !important; }
.app-admin-shell .card.p-5 { padding: 20px !important; }
.app-admin-shell .card-footer {
    padding: 11px 16px;
    border-top: 1px solid var(--nc-line-soft);
    border-radius: 0 0 var(--nc-radius-lg) var(--nc-radius-lg) !important;
    background: #fbfdff;
}

/* Forms */
.app-admin-shell .form-label,
.app-admin-shell label:not(.form-check-label):not(.btn) {
    margin-bottom: 7px;
    color: #475569;
    font-size: .69rem;
    font-weight: 750;
}
.app-admin-shell .form-control,
.app-admin-shell .form-select,
.app-admin-shell .input-group-text {
    min-height: 38px;
    border-color: #dbe3ec;
    border-radius: var(--nc-radius-sm);
    color: var(--nc-ink);
    background-color: #fff;
    font-size: .75rem;
}
.app-admin-shell textarea.form-control { min-height: 96px; }
.app-admin-shell .form-control::placeholder { color: #a8b3c2; }
.app-admin-shell .form-control:focus,
.app-admin-shell .form-select:focus {
    border-color: #38bdf8;
    box-shadow: var(--nc-focus);
}
.app-admin-shell .input-group > .form-control:not(:first-child),
.app-admin-shell .input-group > .form-select:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.app-admin-shell .input-group > .form-control:not(:last-child),
.app-admin-shell .input-group > .form-select:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.app-admin-shell .input-group-text { color: var(--nc-muted); background: #f8fafc; }
.app-admin-shell .form-check-input { border-color: #cbd5e1; }
.app-admin-shell .form-check-input:checked { border-color: var(--nc-primary); background-color: var(--nc-primary); }
.app-admin-shell .form-check-input:focus { box-shadow: var(--nc-focus); }
.app-admin-shell .form-text { color: var(--nc-subtle); font-size: .68rem; }

/* Buttons */
.app-admin-shell .btn {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 7px 12px;
    border-radius: var(--nc-radius-sm) !important;
    font-size: .71rem;
    font-weight: 750;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.app-admin-shell .btn:hover { transform: translateY(-1px); }
.app-admin-shell .btn-sm { min-height: 31px; padding: 5px 10px; font-size: .67rem; }
.app-admin-shell .btn-lg { min-height: 46px; padding: 10px 18px; }
.app-admin-shell .btn-primary { border-color: var(--nc-primary); background: var(--nc-primary); }
.app-admin-shell .btn-primary:hover { border-color: var(--nc-primary-dark); background: var(--nc-primary-dark); box-shadow: 0 7px 16px rgba(2,132,199,.18); }
.app-admin-shell .btn-outline-primary { border-color: #bae6fd; color: var(--nc-primary-dark); background: #fff; }
.app-admin-shell .btn-outline-primary:hover { border-color: #7dd3fc; color: var(--nc-primary-dark); background: #f0f9ff; }
.app-admin-shell .btn-light { border-color: var(--nc-line); background: #fff; color: #475569; }
.app-admin-shell .btn-danger { background: var(--nc-danger); border-color: var(--nc-danger); }
.app-admin-shell .btn-success { background: var(--nc-success); border-color: var(--nc-success); }

/* Tables and data density */
.app-admin-shell .table-responsive {
    border-radius: 12px;
    scrollbar-color: #cbd5e1 transparent;
}
.app-admin-shell .table { --bs-table-bg: transparent; margin-bottom: 0; color: var(--nc-text); font-size: .72rem; }
.app-admin-shell .table > :not(caption) > * > * { padding: 10px 12px; border-bottom-color: var(--nc-line-soft); vertical-align: middle; }
.app-admin-shell .table thead th {
    border-bottom: 1px solid var(--nc-line) !important;
    color: var(--nc-muted) !important;
    background: #f8fafc !important;
    font-size: .62rem !important;
    font-weight: 800 !important;
    letter-spacing: .055em;
    text-transform: uppercase;
    white-space: nowrap;
}
.app-admin-shell .table tbody tr { transition: background-color .15s ease; }
.app-admin-shell .table-hover > tbody > tr:hover > * { --bs-table-bg-state: #f8fbfe; }
.app-admin-shell .table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type: #fbfdff; }

/* Status elements */
.app-admin-shell .badge {
    padding: 6px 9px;
    border-radius: 999px !important;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .015em;
}
.app-admin-shell .alert {
    padding: 13px 16px;
    border-width: 1px;
    border-radius: 13px;
    font-size: .78rem;
    box-shadow: none;
}
.app-admin-shell .alert-success { border-color: #a7f3d0; color: #065f46; background: #ecfdf5; }
.app-admin-shell .alert-danger { border-color: #fecdd3; color: #9f1239; background: #fff1f2; }
.app-admin-shell .alert-warning { border-color: #fde68a; color: #92400e; background: #fffbeb; }
.app-admin-shell .alert-info { border-color: #a5f3fc; color: #155e75; background: #ecfeff; }

/* Navigation, tabs and pagination */
.app-admin-shell .nav-tabs { gap: 5px; padding: 5px; border: 1px solid var(--nc-line); border-radius: 12px; background: #f8fafc; }
.app-admin-shell .nav-tabs .nav-link { margin: 0; padding: 8px 13px; border: 0 !important; border-radius: 8px; color: var(--nc-muted); font-size: .73rem; font-weight: 750; }
.app-admin-shell .nav-tabs .nav-link:hover { transform: none; color: var(--nc-primary-dark); background: #fff; }
.app-admin-shell .nav-tabs .nav-link.active { color: var(--nc-primary-dark); background: #fff; box-shadow: 0 2px 8px rgba(15,23,42,.07); }
.app-admin-shell .pagination { gap: 4px; }
.app-admin-shell .page-link { min-width: 35px; height: 35px; display: grid; place-items: center; padding: 0 9px; border: 1px solid var(--nc-line); border-radius: 8px !important; color: #475569; font-size: .72rem; font-weight: 700; }
.app-admin-shell .page-item.active .page-link { border-color: var(--nc-primary); background: var(--nc-primary); }
.app-admin-shell .breadcrumb { margin-bottom: 0; font-size: .7rem; }

/* Dropdowns and modals */
.app-admin-shell .dropdown-menu {
    padding: 7px;
    border: 1px solid var(--nc-line);
    border-radius: 12px;
    box-shadow: 0 16px 36px rgba(15,23,42,.13);
}
.app-admin-shell .dropdown-item { padding: 9px 11px; border-radius: 8px; color: #475569; font-size: .74rem; font-weight: 650; }
.app-admin-shell .dropdown-item:hover { color: var(--nc-primary-dark); background: #f0f9ff; }
.app-admin-shell .modal-content { overflow: hidden; border: 1px solid var(--nc-line); border-radius: 20px; box-shadow: 0 28px 70px rgba(15,23,42,.2); }
.app-admin-shell .modal-header { padding: 17px 20px; border-bottom-color: var(--nc-line-soft); background: #fff; }
.app-admin-shell .modal-title { font-size: .95rem; font-weight: 800; }
.app-admin-shell .modal-body { padding: 20px; }
.app-admin-shell .modal-footer { padding: 13px 20px; border-top-color: var(--nc-line-soft); background: #fbfdff; }
.app-admin-shell .offcanvas { border-color: var(--nc-line); }

/* Common page-title patterns used by legacy modules */
.app-admin-shell .app-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.app-admin-shell .app-page-header__copy { min-width: 0; }
.app-admin-shell .app-page-header__eyebrow {
    display: block;
    margin-bottom: 2px;
    color: var(--nc-primary);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.2;
    text-transform: uppercase;
}
.app-admin-shell .app-page-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    flex: 0 0 auto;
}
.app-admin-shell .app-page-header__actions .btn { white-space: nowrap; }
.app-admin-shell .page-header,
.app-admin-shell .content-header {
    min-height: 62px;
    margin: 0 0 16px !important;
    padding: 7px 5px 13px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--nc-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.app-admin-shell .page-header > .container,
.app-admin-shell .page-header > .container-fluid,
.app-admin-shell .content-header > .container,
.app-admin-shell .content-header > .container-fluid { padding: 0 !important; }
.app-admin-shell .page-header h1,
.app-admin-shell .page-header h2,
.app-admin-shell .page-header h3,
.app-admin-shell .page-header .page-title,
.app-admin-shell .content-header h1,
.app-admin-shell .content-header h2,
.app-admin-shell .content-header h3,
.app-admin-shell .content-header .page-title {
    margin: 0 0 4px !important;
    color: var(--nc-ink) !important;
    font-size: 1.22rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -.025em !important;
}
.app-admin-shell .page-header h1 i,
.app-admin-shell .page-header h2 i,
.app-admin-shell .page-header h3 i,
.app-admin-shell .content-header h1 i,
.app-admin-shell .content-header h2 i,
.app-admin-shell .content-header h3 i {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    margin-right: 8px !important;
    border-radius: 9px;
    background: var(--nc-primary-soft);
    color: var(--nc-primary) !important;
    font-size: .82rem !important;
    vertical-align: -2px;
}
.app-admin-shell .page-header p,
.app-admin-shell .content-header p,
.app-admin-shell .page-subtitle {
    margin: 0 !important;
    color: var(--nc-muted) !important;
    font-size: .72rem !important;
    line-height: 1.5;
}
.app-admin-shell .page-header .btn,
.app-admin-shell .content-header .btn { min-height: 37px; padding: 7px 12px; font-size: .71rem; }

/* Compact module shells: remove legacy double padding and oversized secondary heroes. */
.app-admin-shell .module-page { padding-top: 0 !important; }
.app-admin-shell .module-page > .app-page-header + .row { margin-bottom: 16px !important; }
.app-admin-shell .module-page > .app-page-header + .row .card { border-radius: 14px !important; }
.app-admin-shell .module-page > .app-page-header + .row .card-body { padding: 14px 16px !important; }
.app-admin-shell .module-page > .app-page-header + .row .p-3 { padding: 10px !important; }
.app-admin-shell .module-page > .app-page-header + .row .p-4 { padding: 16px !important; }
.app-admin-shell .module-page > .app-page-header + .row h2,
.app-admin-shell .module-page > .app-page-header + .row h3,
.app-admin-shell .module-page > .app-page-header + .row h4,
.app-admin-shell .module-page > .app-page-header + .row .fs-5 {
    font-size: 1.12rem !important;
    line-height: 1.25;
}
.app-admin-shell .module-page .icon-circle {
    width: 40px !important;
    height: 40px !important;
    border-radius: 11px !important;
    font-size: .9rem !important;
}
.app-admin-shell .module-page .card-custom .card-body > .d-flex.mb-3 { margin-bottom: 9px !important; }
.app-admin-shell .module-page .card-custom h4 { font-size: 1.12rem !important; }
.app-admin-shell .module-page .card-custom .badge { padding: 5px 8px; }
.app-admin-shell .table td.py-5,
.app-admin-shell .table th.py-5 { padding-top: 28px !important; padding-bottom: 28px !important; }
.app-admin-shell .dashboard-ultra .stat-card {
    padding: 18px !important;
    border-radius: 16px !important;
    box-shadow: var(--nc-shadow-sm) !important;
}
.app-admin-shell .dashboard-ultra .stat-card:hover { transform: translateY(-3px); box-shadow: var(--nc-shadow) !important; }
.app-admin-shell .dashboard-ultra .stat-icon-box { width: 44px; height: 44px; border-radius: 12px; font-size: 1.1rem; }
.app-admin-shell .dashboard-ultra .stat-value { font-size: 1.2rem; letter-spacing: -.04em; }
.app-admin-shell .dashboard-ultra .stat-progress-bar { height: 4px; margin-top: 13px; }
.app-admin-shell .finance-head {
    min-height: 62px !important;
    margin-bottom: 16px !important;
    padding: 7px 5px 13px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--nc-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.app-admin-shell .finance-head > div:first-child > .text-muted:first-child {
    margin-bottom: 2px;
    color: var(--nc-primary) !important;
    font-size: .61rem !important;
    letter-spacing: .11em;
}
.app-admin-shell .finance-head h3 {
    margin-bottom: 2px !important;
    font-size: 1.18rem !important;
    line-height: 1.2;
}
.app-admin-shell .finance-head p { font-size: .7rem !important; }
.app-admin-shell .finance-head .btn { min-height: 37px; padding: 7px 13px !important; font-size: .71rem; }
.app-admin-shell .finance-card {
    min-height: 88px !important;
    padding: 14px 16px !important;
    border-color: var(--nc-line) !important;
    border-radius: 14px !important;
    box-shadow: var(--nc-shadow-sm) !important;
}
.app-admin-shell .finance-card .label { font-size: .65rem !important; letter-spacing: .035em; }
.app-admin-shell .finance-card .value { margin-top: 5px !important; font-size: 1.18rem !important; }
.app-admin-shell .finance-tabs { margin-top: -2px; margin-bottom: 12px !important; gap: 3px; }
.app-admin-shell .finance-tabs .nav-link { padding: 9px 13px !important; font-size: .72rem !important; border-bottom-width: 2px; }
.app-admin-shell .stat-card {
    min-height: 88px !important;
    padding: 15px 16px !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: var(--nc-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: var(--nc-shadow-sm) !important;
}
.app-admin-shell .stat-card:hover {
    border-color: #d7e0ea !important;
    box-shadow: 0 9px 22px rgba(15,23,42,.065) !important;
    transform: translateY(-2px);
}
.app-admin-shell .border-tbs,
.app-admin-shell .border-contract,
.app-admin-shell .border-pending,
.app-admin-shell .border-spending {
    border-color: var(--nc-line) !important;
}
.app-admin-shell .stat-card .stat-value { font-size: 1.15rem !important; }
.app-admin-shell .stat-card .stat-icon-box { width: 40px; height: 40px; border-radius: 11px; font-size: 1rem; }
.app-admin-shell .main-card.p-4 { padding: 16px !important; }
.app-admin-shell .other-list-panel { padding: 18px 20px !important; border-radius: 14px !important; }
.app-admin-shell .other-link { padding-top: 12px !important; padding-bottom: 12px !important; }

/* Inner views: create, edit, show and transaction documents. */
.app-admin-shell .container-fluid.py-4,
.app-admin-shell .container.py-4,
.app-admin-shell .inner-page {
    padding-top: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 16px !important;
    padding-left: 0 !important;
    background: transparent !important;
    min-height: 0 !important;
}
.app-admin-shell .inner-page .document-total,
.app-admin-shell [id$="-container"] .document-total {
    min-width: 150px;
    padding-left: 16px;
    border-left: 1px solid var(--nc-line);
    text-align: right;
}
.app-admin-shell .document-total span {
    display: block;
    margin-bottom: 2px;
    color: var(--nc-muted);
    font-size: .62rem;
    font-weight: 750;
}
.app-admin-shell .document-total strong,
.app-admin-shell .document-total .total-display {
    display: block;
    color: var(--nc-primary) !important;
    font-size: 1.18rem !important;
    font-weight: 800;
    line-height: 1.25;
}
.app-admin-shell [id$="-container"] > form > .d-flex.justify-content-between.mb-4,
.app-admin-shell [id$="-container"] > .d-flex.justify-content-between.mb-4,
.app-admin-shell .container-fluid.py-4 > .d-flex.justify-content-between.mb-4 {
    min-height: 62px;
    margin-bottom: 16px !important;
    padding: 7px 5px 13px;
    border-bottom: 1px solid var(--nc-line);
}
.app-admin-shell [id$="-container"] > form > .d-flex.justify-content-between.mb-4 h1,
.app-admin-shell [id$="-container"] > form > .d-flex.justify-content-between.mb-4 h2,
.app-admin-shell [id$="-container"] > form > .d-flex.justify-content-between.mb-4 h3,
.app-admin-shell [id$="-container"] > .d-flex.justify-content-between.mb-4 h1,
.app-admin-shell [id$="-container"] > .d-flex.justify-content-between.mb-4 h2,
.app-admin-shell [id$="-container"] > .d-flex.justify-content-between.mb-4 h3 {
    margin-bottom: 2px !important;
    font-size: 1.18rem !important;
    line-height: 1.25;
}
.app-admin-shell [id$="-container"] .breadcrumb,
.app-admin-shell .inner-page .breadcrumb {
    margin-bottom: 3px !important;
    color: var(--nc-muted);
    font-size: .62rem !important;
    font-weight: 700;
}
.app-admin-shell [id$="-container"] > form > .card,
.app-admin-shell .inner-page > form > .card {
    margin-bottom: 14px !important;
    border-radius: 15px !important;
}
.app-admin-shell [id$="-container"] .row.g-3.mb-4,
.app-admin-shell .inner-page .row.g-3.mb-4 { margin-bottom: 12px !important; }
.app-admin-shell [id$="-container"] .form-label,
.app-admin-shell .inner-page .form-label {
    margin-bottom: 5px !important;
    color: #475569 !important;
    font-size: .7rem !important;
    font-weight: 750 !important;
}
.app-admin-shell [id$="-container"] .form-control,
.app-admin-shell [id$="-container"] .form-select,
.app-admin-shell .inner-page .form-control,
.app-admin-shell .inner-page .form-select {
    min-height: 40px;
    padding: 8px 11px;
    font-size: .78rem !important;
}
.app-admin-shell [id$="-container"] textarea.form-control,
.app-admin-shell .inner-page textarea.form-control { min-height: 76px; }
.app-admin-shell [id$="-container"] .table-item thead th,
.app-admin-shell .inner-page .table-item thead th { padding: 10px 11px !important; font-size: .62rem !important; }
.app-admin-shell [id$="-container"] .table-item tbody td,
.app-admin-shell .inner-page .table-item tbody td { padding: 10px 8px !important; }
.app-admin-shell [id$="-container"] .bg-light.rounded-4.p-4,
.app-admin-shell .inner-page .bg-light.rounded-4.p-4 { padding: 14px !important; border-radius: 12px !important; }

/* Normalize free-standing titles used by older menu pages. */
.app-admin-shell .page-title { color: var(--nc-ink); font-size: 1.25rem !important; font-weight: 800 !important; line-height: 1.3; letter-spacing: -.025em; }
.app-admin-shell .container-fluid > .d-flex.justify-content-between.align-items-center.mb-4 h1,
.app-admin-shell .container-fluid > .d-flex.justify-content-between.align-items-center.mb-4 h2,
.app-admin-shell .container-fluid > .d-flex.justify-content-between.align-items-center.mb-4 h3,
.app-admin-shell .container > .d-flex.justify-content-between.align-items-center.mb-4 h1,
.app-admin-shell .container > .d-flex.justify-content-between.align-items-center.mb-4 h2,
.app-admin-shell .container > .d-flex.justify-content-between.align-items-center.mb-4 h3 {
    margin-bottom: 3px !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

/* Authentication screens use the same tokens while preserving their dark identity. */
body.auth-shell { --primary: var(--nc-primary); --accent-blue: #38bdf8; font-family: 'Plus Jakarta Sans', sans-serif; }
.auth-shell .login-card,
.auth-shell .register-card {
    border-radius: 22px !important;
    border-color: rgba(148,163,184,.18) !important;
    background: rgba(15,23,42,.78) !important;
    box-shadow: 0 28px 70px rgba(0,0,0,.42) !important;
}
.auth-shell .form-control,
.auth-shell .input-group-text-custom,
.auth-shell .toggle-password-custom,
.auth-shell #togglePassword { min-height: 46px; border-color: rgba(148,163,184,.22) !important; border-radius: 10px; }
.auth-shell .form-control:focus { border-color: #38bdf8 !important; box-shadow: 0 0 0 3px rgba(56,189,248,.16) !important; }
.auth-shell .btn-login,
.auth-shell .btn-register { min-height: 46px; border-radius: 10px; background: linear-gradient(135deg,#0284c7,#0ea5e9) !important; box-shadow: 0 10px 25px rgba(2,132,199,.24) !important; }

@media (max-width: 991.98px) {
    .app-admin-shell .main-content,
    .app-admin-shell .main-content.expanded { margin-left: 0 !important; padding: 12px 14px 24px !important; }
    .app-admin-shell .sidebar.mobile-show { width: 232px !important; padding: 12px 11px 14px !important; }
    .app-admin-shell .sidebar.mobile-show .sidebar-brand { min-height: 112px; }
    .app-admin-shell .sidebar.mobile-show .sidebar-brand img { width: 108px; }
    .app-admin-shell .sidebar.mobile-show .sidebar-brand-caption { display: block; }
    .app-admin-shell .topbar-context { display: none; }
    .app-admin-shell .card-body { padding: 16px; }
    .app-admin-shell .card-header { padding: 14px 16px; }
}
@media (max-width: 575.98px) {
    .app-admin-shell { font-size: .82rem; }
    .app-admin-shell .card { border-radius: 15px !important; }
    .app-admin-shell .table > :not(caption) > * > * { padding: 10px; }
    .app-admin-shell .btn { min-height: 37px; }
    .app-admin-shell .app-topbar { gap: 10px; padding: 10px; border-radius: 15px; }
    .app-admin-shell .topbar-brand { min-width: 0; }
    .app-admin-shell .topbar-brand-icon { width: 40px; height: 40px; border-radius: 12px; }
    .app-admin-shell .topbar-actions { width: 100%; justify-content: flex-end; }
    .app-admin-shell .login-card { min-width: 0; flex: 1; }
    .app-admin-shell .page-header,
    .app-admin-shell .content-header,
    .app-admin-shell .finance-head { min-height: 0; padding: 5px 2px 12px !important; }
    .app-admin-shell .page-header > .container,
    .app-admin-shell .page-header > .container-fluid,
    .app-admin-shell .content-header > .container,
    .app-admin-shell .content-header > .container-fluid { align-items: flex-start !important; flex-direction: column; gap: 13px; }
    .app-admin-shell .page-header h1,
    .app-admin-shell .page-header h2,
    .app-admin-shell .page-header h3,
    .app-admin-shell .content-header h1,
    .app-admin-shell .content-header h2,
    .app-admin-shell .content-header h3 { font-size: 1.08rem !important; }
    .app-admin-shell .page-header .d-flex.gap-2,
    .app-admin-shell .content-header .d-flex.gap-2 { width: 100%; flex-wrap: wrap; }
    .app-admin-shell .app-page-header { align-items: flex-start; flex-direction: column; gap: 11px; }
    .app-admin-shell .app-page-header__actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
    .app-admin-shell .app-page-header__actions .btn { flex: 1 1 auto; }
    .app-admin-shell .finance-head { align-items: flex-start !important; flex-direction: column; gap: 12px; }
    .app-admin-shell .finance-head .btn { width: 100%; }
    .auth-shell .login-card, .auth-shell .register-card { padding: 28px 22px !important; border-radius: 18px !important; }
}

@media print {
    .app-admin-shell { background: #fff !important; }
    .app-admin-shell .card { border-color: #ddd !important; box-shadow: none !important; }
}

/* Unified typography scale — one density for every ERP module. */
.app-admin-shell .sidebar .nav-link,
.app-admin-shell .module-page,
.app-admin-shell .inner-page,
.app-admin-shell [id$="-container"] {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: var(--nc-font-body) !important;
}

.app-admin-shell .module-page .data-value,
.app-admin-shell .module-page .view-data,
.app-admin-shell .module-page .form-control-static,
.app-admin-shell .module-page .workflow-step strong,
.app-admin-shell .module-page .card-body,
.app-admin-shell .module-page .card-footer,
.app-admin-shell [id$="-container"] .data-value,
.app-admin-shell [id$="-container"] .view-data,
.app-admin-shell [id$="-container"] .form-control-static,
.app-admin-shell .form-control,
.app-admin-shell .form-select,
.app-admin-shell .input-group-text,
.app-admin-shell .btn,
.app-admin-shell .btn-sm,
.app-admin-shell .table,
.app-admin-shell .nav-tabs .nav-link,
.app-admin-shell .dropdown-item {
    font-size: var(--nc-font-body) !important;
}

.app-admin-shell .module-page .form-label-view,
.app-admin-shell .module-page .form-label,
.app-admin-shell .module-page label:not(.form-check-label):not(.btn),
.app-admin-shell .module-page small,
.app-admin-shell .module-page .small,
.app-admin-shell [id$="-container"] .form-label-view,
.app-admin-shell [id$="-container"] small,
.app-admin-shell [id$="-container"] .small,
.app-admin-shell .table thead th,
.app-admin-shell .badge,
.app-admin-shell .form-text,
.app-admin-shell .breadcrumb {
    font-size: var(--nc-font-meta) !important;
}

.app-admin-shell .module-page h4,
.app-admin-shell .module-page h5,
.app-admin-shell .module-page h6,
.app-admin-shell .module-page .card-title {
    font-size: var(--nc-font-section) !important;
    line-height: 1.35;
}

.app-admin-shell .module-page > .d-flex.justify-content-between h1,
.app-admin-shell .module-page > .d-flex.justify-content-between h2,
.app-admin-shell .module-page > .d-flex.justify-content-between h3,
.app-admin-shell .module-page > .d-flex.justify-content-between.align-items-start h1,
.app-admin-shell .module-page > .d-flex.justify-content-between.align-items-start h2,
.app-admin-shell .module-page > .d-flex.justify-content-between.align-items-start h3 {
    font-size: var(--nc-font-page) !important;
    line-height: 1.25 !important;
}

.app-admin-shell .module-page .total-display {
    font-size: var(--nc-font-page) !important;
}
