/* =====================================================================
   LexERP — small additions on top of AdminLTE 3.2 (Bootstrap 4)
   Load order: fontawesome → adminlte → app.css
   ===================================================================== */

/* Source Sans (AdminLTE's font), bundled so on-prem installs work offline */
@font-face { font-family: "Source Sans Pro"; font-weight: 400; font-style: normal; font-display: swap;
             src: url("fonts/source-sans/SourceSans3-Regular.ttf.woff2") format("woff2"); }
@font-face { font-family: "Source Sans Pro"; font-weight: 400; font-style: italic; font-display: swap;
             src: url("fonts/source-sans/SourceSans3-It.ttf.woff2") format("woff2"); }
@font-face { font-family: "Source Sans Pro"; font-weight: 600; font-style: normal; font-display: swap;
             src: url("fonts/source-sans/SourceSans3-Semibold.ttf.woff2") format("woff2"); }
@font-face { font-family: "Source Sans Pro"; font-weight: 700; font-style: normal; font-display: swap;
             src: url("fonts/source-sans/SourceSans3-Bold.ttf.woff2") format("woff2"); }

.code { font-family: SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; color: #6c757d; }

/* Sidebar: firm name under the brand */
.brand-link .brand-text { letter-spacing: .5px; }
.sidebar .firm-panel { padding: 12px 8px 12px 16px; border-bottom: 1px solid #4f5962; color: #c2c7d0; font-size: 13px; }
.sidebar .firm-panel .fas { margin-right: 6px; }

/* Logout button inside the user dropdown */
.dropdown-menu form { margin: 0; }
.dropdown-menu form .dropdown-item { cursor: pointer; }

/* Detail lists */
.dl-row dt { font-weight: 600; color: #6c757d; }
.dl-row dd { margin-bottom: .6rem; }

/* RBAC matrix: sticky header row and first column */
.matrix-wrap { max-height: 70vh; overflow: auto; }
.matrix { margin-bottom: 0; }
.matrix thead th { position: sticky; top: 0; z-index: 2; background: #f4f6f9; white-space: nowrap; }
.matrix td:first-child, .matrix th:first-child { position: sticky; left: 0; background: #fff; z-index: 1; min-width: 240px; }
.matrix thead th:first-child { z-index: 3; background: #f4f6f9; }
.matrix .module-row td { background: #e9ecef !important; font-weight: 700; color: #343a40; }
.matrix select { min-width: 92px; }
.matrix select.s-none   { color: #adb5bd; }
.matrix select.s-own    { background-color: #fff3cd; }
.matrix select.s-branch { background-color: #d1ecf1; }
.matrix select.s-all    { background-color: #d4edda; }

/* Error page inside the narrow login box */
.login-box .error-page { width: auto; margin: 0; }
.login-box .error-page > .headline { float: none; font-size: 64px; text-align: center; }
.login-box .error-page > .error-content { margin-left: 0; text-align: center; }
