/* BGEA ERP unified professional interface
   Scoped to authenticated/admin and student layouts; public pages are untouched. */
:root {
    --erp-font: "Inter", "Segoe UI", Arial, sans-serif;
    --erp-text: #172033;
    --erp-muted: #64748b;
    --erp-border: #d9e1ea;
    --erp-surface: #ffffff;
    --erp-canvas: #f4f7fb;
    --erp-primary: #0b63ce;
    --erp-primary-dark: #084b9b;
    --erp-danger: #c92a3b;
    --erp-radius: 8px;
    --erp-control-height: 36px;
    --erp-shadow: 0 5px 18px rgba(30, 55, 85, .07);
}

body.standard-site,
body.student-portal-page {
    color: var(--erp-text);
    background: var(--erp-canvas);
    font-family: var(--erp-font);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.standard-site :where(h1,h2,h3,h4,h5,h6),
body.student-portal-page :where(h1,h2,h3,h4,h5,h6) {
    color: #132a46;
    font-family: var(--erp-font);
    font-weight: 750;
    line-height: 1.25;
    letter-spacing: -.015em;
}
body.standard-site h1, body.student-portal-page h1 { font-size: clamp(1.45rem, 1.8vw, 1.85rem); }
body.standard-site h2, body.student-portal-page h2 { font-size: clamp(1.25rem, 1.55vw, 1.55rem); }
body.standard-site h3, body.student-portal-page h3 { font-size: clamp(1.08rem, 1.3vw, 1.3rem); }
body.standard-site h4, body.student-portal-page h4 { font-size: 1.08rem; }
body.standard-site h5, body.student-portal-page h5 { font-size: .98rem; }
body.standard-site h6, body.student-portal-page h6 { font-size: .9rem; }

body.standard-site :where(p,label,li,td,th,input,select,textarea,button,.btn),
body.student-portal-page :where(p,label,li,td,th,input,select,textarea,button,.btn) {
    font-family: var(--erp-font);
}
body.standard-site :where(label,.form-label),
body.student-portal-page :where(label,.form-label) { color: #334155; font-size: .84rem; font-weight: 650; }
body.standard-site :where(small,.small,.text-muted),
body.student-portal-page :where(small,.small,.text-muted) { color: var(--erp-muted) !important; font-size: .78rem; }

body.standard-site :where(.form-control,.form-select),
body.student-portal-page :where(.form-control,.form-select) {
    min-height: var(--erp-control-height);
    border-color: #cbd5e1;
    border-radius: 6px;
    background-color: #fff;
    color: #172033;
    font-size: .875rem;
    line-height: 1.35;
    box-shadow: none;
}
body.standard-site :where(.form-control,.form-select):focus,
body.student-portal-page :where(.form-control,.form-select):focus {
    border-color: #4c91e6;
    box-shadow: 0 0 0 3px rgba(11, 99, 206, .13);
}
body.standard-site textarea.form-control,
body.student-portal-page textarea.form-control { min-height: 88px; resize: vertical; }
body.standard-site :where(.btn,.btn-fin),
body.student-portal-page :where(.btn,.btn-fin) {
    min-height: 34px;
    border-radius: 6px;
    padding: .42rem .72rem;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

body.standard-site :where(.card,.fin-card,.panel,.table-panel,.modal-lite),
body.student-portal-page :where(.card,.fin-card,.panel,.table-panel,.modal-lite) {
    border-color: var(--erp-border);
    border-radius: var(--erp-radius);
    box-shadow: var(--erp-shadow);
}
body.standard-site :where(.table-responsive,.scroll-x,.legacy-table-wrap),
body.student-portal-page :where(.table-responsive,.scroll-x,.legacy-table-wrap) {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}
body.standard-site :where(table,.table,.finance-table,.sis-finance-table),
body.student-portal-page :where(table,.table,.finance-table,.sis-finance-table) {
    width: 100%;
    border-collapse: collapse;
    color: var(--erp-text);
    font-size: .78rem !important;
    line-height: 1.4;
}
body.standard-site :where(table,.table,.finance-table,.sis-finance-table) th,
body.student-portal-page :where(table,.table,.finance-table,.sis-finance-table) th {
    background: #edf2f7;
    color: #22324a;
    font-size: .75rem !important;
    font-weight: 750;
    letter-spacing: .005em;
    vertical-align: middle;
}
body.standard-site :where(table,.table,.finance-table,.sis-finance-table) :where(th,td),
body.student-portal-page :where(table,.table,.finance-table,.sis-finance-table) :where(th,td) {
    height: 38px;
    padding: 7px 9px !important;
    border-color: #dbe2ea;
    vertical-align: middle;
}
body.standard-site :where(table,.table,.finance-table,.sis-finance-table) tbody tr:nth-child(even) td,
body.student-portal-page :where(table,.table,.finance-table,.sis-finance-table) tbody tr:nth-child(even) td { background-color: #f8fafc; }
body.standard-site :where(table,.table,.finance-table,.sis-finance-table) tbody tr:hover td,
body.student-portal-page :where(table,.table,.finance-table,.sis-finance-table) tbody tr:hover td { background-color: #eef6ff; }

body.standard-site :where(.badge,.badge-fin,.sis-chip),
body.student-portal-page :where(.badge,.badge-fin,.sis-chip) {
    border-radius: 999px;
    padding: .32rem .58rem;
    font-size: .72rem !important;
    font-weight: 750;
    line-height: 1;
}
body.standard-site :where(.nav-link,.dropdown-item,.fin-nav a,.fin-subnav a,.sis-student-side a),
body.student-portal-page :where(.nav-link,.dropdown-item) {
    font-size: .84rem !important;
    line-height: 1.35;
}

/* Consistent compact density for the student finance workspace. */
body.student-portal-page .student-year-tab { padding: 9px 15px !important; font-size: .8rem !important; }
body.student-portal-page .student-pay-head { padding: 11px 14px !important; font-size: .9rem !important; }
body.student-portal-page .student-pay-board table { font-size: .78rem !important; }
body.student-portal-page .student-pay-board :where(th,td) { height: 38px !important; padding: 7px 8px !important; }
body.student-portal-page .student-pay-board :where(.form-control,.form-select) { min-height: 35px !important; font-size: .8rem !important; }
body.student-portal-page .student-pay-summary { padding: 11px 14px !important; }
body.student-portal-page .student-pay-summary label { font-size: .85rem !important; }
body.student-portal-page .student-pay-fields { padding: 14px !important; }
body.student-portal-page .student-pay-submit { padding: 15px !important; }
body.student-portal-page .student-pay-submit .btn { min-width: 150px !important; padding: 8px 22px !important; font-size: .82rem !important; }
body.student-portal-page .fee-summary-card { min-height: 82px !important; padding: 14px !important; }

/* Previously several SIS screens forced 10-11px text. Keep them compact but readable. */
body.standard-site :where(.sis-student-line,.sis-student-meta,.sis-student-side a,.sis-process-tabs button,.sis-process-tabs span,.sis-access-grid,.sis-account-summary,.sis-account-table,.sis-approval-tabs a,.sis-approval-table,.sis-dialog-grid,.sis-doc-help,.sis-doc-card .form-label,.sis-doc-card .form-control,.sis-doc-card .form-select,.sis-doc-table table) {
    font-size: .78rem !important;
    line-height: 1.45;
}
body.standard-site .sis-student-title h3 { font-size: 1.05rem !important; }
body.standard-site .sis-student-workspace { min-width: 0; }
body.standard-site .sis-student-content { overflow: hidden; }

@media (max-width: 991.98px) {
    body.standard-site, body.student-portal-page { font-size: 13.5px; }
    body.standard-site :where(.container,.container-fluid),
    body.student-portal-page :where(.container,.container-fluid) { max-width: 100%; padding-inline: 14px; }
    body.standard-site :where(.filter-grid,.fee-detail-toolbar,.concession-controls),
    body.student-portal-page :where(.filter-grid) { align-items: stretch; }
    body.standard-site :where(.mega-panel,.dropdown-menu) { max-width: calc(100vw - 24px); }
}

@media (max-width: 767.98px) {
    body.standard-site, body.student-portal-page { overflow-x: hidden; }
    body.standard-site :where(.card-body,.fin-card,.panel,.modal-lite),
    body.student-portal-page :where(.card-body,.fin-card,.panel,.modal-lite) { padding: 14px; }
    body.standard-site :where(.btn,.btn-fin),
    body.student-portal-page :where(.btn,.btn-fin) { min-height: 40px; }
    body.standard-site :where(.form-control,.form-select),
    body.student-portal-page :where(.form-control,.form-select) { min-height: 42px; font-size: 16px; }
    body.standard-site :where(table,.table,.finance-table,.sis-finance-table),
    body.student-portal-page :where(table,.table,.finance-table,.sis-finance-table) { min-width: 720px; }
    body.standard-site :where(.tabs-lite,.fee-detail-tabs,.transaction-tabs,.sis-fee-tabs,.fin-subnav),
    body.student-portal-page :where(.tabs-lite) { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; }
    body.standard-site :where(.tabs-lite,.fee-detail-tabs,.transaction-tabs,.sis-fee-tabs,.fin-subnav) :where(a,button),
    body.student-portal-page .tabs-lite a { flex: 0 0 auto; white-space: nowrap; }
}

@media print {
    body.standard-site, body.student-portal-page { background: #fff !important; font-size: 11pt; }
    body.standard-site :where(.erp-topbar,.fin-top,.fin-nav,.fin-subnav,button,.btn,.no-print),
    body.student-portal-page :where(.erp-topbar,button,.btn,.no-print) { display: none !important; }
    body.standard-site :where(.card,.fin-card,.panel,.table-panel),
    body.student-portal-page :where(.card,.panel,.table-panel) { border: 0; box-shadow: none; }
}
