/* Shared authenticated UI, based on the overview's 14px cards and soft borders.
   Screen only: invoice/contract/PDF print layouts and signature canvases stay intact. */
@media screen {
body.beautlix-ui {
    --btlx-brand: #ad0069;
    --btlx-brand-hover: #870052;
    --btlx-line: #e3e7ed;
    --btlx-ink: #252930;
    --btlx-muted: #647080;
    --btlx-surface: #f5f6f9;
    --btlx-shadow: 0 8px 24px rgba(27,36,49,.07);
    color: var(--btlx-ink);
}
.beautlix-ui .content-wrapper { background: var(--btlx-surface); }
.beautlix-ui .content-header { padding: 22px 20px 18px; }
.beautlix-ui .content-header h1 { font-size: 1.75rem; font-weight: 650; letter-spacing: -.025em; }
.beautlix-ui .content-header .breadcrumb { font-size: .88rem; }
.beautlix-ui .content > .container-fluid { padding-bottom: 28px; }
.beautlix-ui :where(.content-wrapper,.modal) .card {
    border-radius: 14px;
    border: 1px solid var(--btlx-line);
    box-shadow: var(--btlx-shadow);
    margin-bottom: 24px;
}
.beautlix-ui :where(.content-wrapper,.modal) .card.card-outline { border-top-width: 3px; }
.beautlix-ui :where(.content-wrapper,.modal) .card > .card-header {
    padding: 16px 20px;
    min-height: 62px;
    border-bottom: 1px solid #e8ebf0;
    border-radius: 13px 13px 0 0;
    background: linear-gradient(180deg,#fff,#fbfcfe);
}
.beautlix-ui .card-header:has(> .card-title):has(> .btn) { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.beautlix-ui .card-header > .btn.float-right { margin-left:auto; }
.beautlix-ui .card-header .card-title { font-size: 1.05rem; font-weight: 650; line-height:1.5; }
.beautlix-ui :where(.content-wrapper,.modal) .card > .card-body:not(.p-0) { padding: 22px; }
.beautlix-ui .card > .card-footer { background:#fafbfc; border-top:1px solid var(--btlx-line); border-radius:0 0 13px 13px; }
.beautlix-ui .card.card-outline.card-primary { border-top-color:var(--btlx-brand); }
.beautlix-ui .card.card-outline.card-danger { border-top-color:#dc3545; }
.beautlix-ui .card.card-outline.card-warning { border-top-color:#ffc107; }
.beautlix-ui .card.card-outline.card-success { border-top-color:#28a745; }
/* Preserve semantic danger/success/warning colors and Bootstrap's display states. */
.beautlix-ui .btn:not(.btn-tool) {
    border-radius: 9px;
    min-height: 40px;
    padding: 9px 16px;
    font-size: .88rem;
    line-height: 1.35;
    font-weight: 600;
    vertical-align: middle;
    transition: background-color .15s,border-color .15s,box-shadow .15s;
}
.beautlix-ui .btn.btn-sm:not(.btn-tool), .beautlix-ui .btn.btn-xs:not(.btn-tool) { min-height:34px; padding:7px 11px; font-size:.8rem; }
.beautlix-ui .btn.btn-lg { min-height:48px; padding:12px 22px; font-size:1rem; }
.beautlix-ui .btn-primary, .beautlix-ui .btn-info { background:var(--btlx-brand); border-color:var(--btlx-brand); color:white; }
.beautlix-ui .btn-primary:hover, .beautlix-ui .btn-info:hover { background:var(--btlx-brand-hover); border-color:var(--btlx-brand-hover); color:white; box-shadow:0 4px 10px rgba(173,0,105,.16); }
.beautlix-ui .btn-outline-primary, .beautlix-ui .btn-outline-info { color:var(--btlx-brand); border-color:#d79abc; background:#fff; }
.beautlix-ui .btn-outline-primary:hover, .beautlix-ui .btn-outline-info:hover { color:var(--btlx-brand); background:#fff0f7; border-color:var(--btlx-brand); }
.beautlix-ui .btn-default, .beautlix-ui .btn-outline-secondary { background:#fff; color:#4f5b6b; border-color:#cbd2dd; }
.beautlix-ui .btn-default:hover, .beautlix-ui .btn-outline-secondary:hover { background:#edf0f5; color:#252930; border-color:#a8b3c2; }
.beautlix-ui .btn-tool { border-radius:8px; min-width:32px; min-height:32px; }
.beautlix-ui .btn:disabled, .beautlix-ui .btn.disabled { opacity:.5; box-shadow:none; cursor:not-allowed; }
.beautlix-ui :where(a,button,input,select,textarea,[role=button]):focus-visible { outline:3px solid #8558c2; outline-offset:3px; }
.beautlix-ui .btn-group > .btn:not(:first-child) { border-top-left-radius:0; border-bottom-left-radius:0; }
.beautlix-ui .btn-group > .btn:not(:last-child):not(.dropdown-toggle) { border-top-right-radius:0; border-bottom-right-radius:0; }
.beautlix-ui .form-control, .beautlix-ui .custom-select { border-radius:9px; font-size:.94rem; }
.beautlix-ui .form-control:not(.is-invalid):not(.is-valid), .beautlix-ui .custom-select:not(.is-invalid):not(.is-valid) { border-color:#cbd2dd; }
.beautlix-ui input.form-control:not([type=checkbox]):not([type=radio]), .beautlix-ui select.form-control, .beautlix-ui .custom-select { min-height:40px; height:auto; }
.beautlix-ui textarea.form-control { padding:10px 12px; }
.beautlix-ui .form-control:focus:not(.is-invalid):not(.is-valid) { border-color:#b36196; box-shadow:0 0 0 3px rgba(173,0,105,.1); }
.beautlix-ui .form-control:disabled, .beautlix-ui .form-control[readonly] { background:#f0f2f6; }
.beautlix-ui .input-group-text { border-radius:9px; border-color:#cbd2dd; background:#f5f6f9; color:#596574; }
.beautlix-ui .input-group > .form-control:not(:last-child), .beautlix-ui .input-group > .custom-select:not(:last-child) { border-top-right-radius:0; border-bottom-right-radius:0; }
.beautlix-ui .input-group > .form-control:not(:first-child), .beautlix-ui .input-group > .custom-select:not(:first-child) { border-top-left-radius:0; border-bottom-left-radius:0; }
.beautlix-ui .select2-container--bootstrap4 .select2-selection { border-radius:9px; border-color:#cbd2dd; min-height:40px; }
.beautlix-ui .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered { line-height:38px; }
.beautlix-ui .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice { border-radius:6px; background:#f5f6f9; }
.beautlix-ui .table { color:var(--btlx-ink); }
.beautlix-ui .table thead th { background:#f7f8fb; color:#596574; border-top:0; border-bottom:1px solid #dde3eb; font-size:.82rem; font-weight:650; padding:13px 14px; vertical-align:middle; }
.beautlix-ui .table td { border-top:1px solid #e9edf2; padding:12px 14px; vertical-align:middle; }
.beautlix-ui .table.table-bordered { border-color:#e3e7ed; }
.beautlix-ui .table.table-bordered td, .beautlix-ui .table.table-bordered th { border-left-color:#eef1f5; border-right-color:#eef1f5; }
.beautlix-ui .table-striped tbody tr:nth-of-type(odd) { background:rgba(245,247,250,.65); }
.beautlix-ui .table-hover tbody tr:hover { background:#fff6fb; }
.beautlix-ui .table td > .btn { margin:3px 2px; }
.beautlix-ui .table .dataTables_empty { padding:32px 16px; color:var(--btlx-muted); text-align:center; }
.beautlix-ui .dataTables_wrapper .dataTables_filter, .beautlix-ui .dataTables_wrapper .dataTables_length { margin-bottom:12px; }
.beautlix-ui .dataTables_wrapper .dataTables_info { color:var(--btlx-muted); font-size:.84rem; padding-top:18px; }
.beautlix-ui .page-link { border-radius:8px; margin:0 2px; min-width:36px; min-height:36px; text-align:center; color:var(--btlx-brand); border-color:#dfe4ec; }
.beautlix-ui .page-item.active .page-link { background:var(--btlx-brand); border-color:var(--btlx-brand); }
.beautlix-ui .page-item.disabled .page-link { color:#9ba4af; background:#f7f8fa; }
.beautlix-ui .modal-content { border:1px solid var(--btlx-line); border-radius:16px; box-shadow:0 20px 60px rgba(27,36,49,.2); }
.beautlix-ui .modal-header { padding:18px 22px; border-bottom:1px solid #e8ebf0; border-radius:15px 15px 0 0; background:#fbfcfe; }
.beautlix-ui .modal-title { font-size:1.15rem; font-weight:650; }
.beautlix-ui .modal-body { padding:22px; }
.beautlix-ui .modal-footer { padding:16px 22px; gap:6px; border-top:1px solid #e8ebf0; }
.beautlix-ui .modal-header .close { border-radius:9px; color:#596574; opacity:1; }
.beautlix-ui .dropdown-menu { border:1px solid var(--btlx-line); border-radius:10px; box-shadow:var(--btlx-shadow); padding:6px; }
.beautlix-ui .dropdown-item { border-radius:6px; padding:9px 12px; }
.beautlix-ui .dropdown-item:focus, .beautlix-ui .dropdown-item:hover { background:#fff0f7; color:var(--btlx-brand); }
.beautlix-ui .dropdown-item.active { background:var(--btlx-brand); color:white; }
.beautlix-ui .content-wrapper .nav-tabs .nav-link { border-radius:9px 9px 0 0; font-weight:600; padding:10px 15px; }
.beautlix-ui .content-wrapper .nav-tabs .nav-link.active { color:var(--btlx-brand); border-color:#dfe4ec #dfe4ec white; }
.beautlix-ui .alert { border-radius:10px; }
/* The private employee/payroll editors use standalone HTML instead of AdminLTE. */
body.beautlix-standalone { font-family:Arial,sans-serif; background:var(--btlx-surface); line-height:1.55; }
.beautlix-standalone h1 { letter-spacing:-.025em; }
.beautlix-standalone .card { border-radius:14px; box-shadow:var(--btlx-shadow); border-color:var(--btlx-line); }
.beautlix-standalone button, .beautlix-standalone .button { border:1px solid var(--btlx-brand); border-radius:9px; background:var(--btlx-brand); color:white; padding:10px 16px; min-height:42px; font-size:.94rem; font-weight:600; cursor:pointer; }
.beautlix-standalone button.secondary { background:white; color:#596574; border-color:#cbd2dd; }
.beautlix-standalone input:not([type=hidden]):not([type=checkbox]):not([type=radio]), .beautlix-standalone select, .beautlix-standalone textarea { border:1px solid #cbd2dd; border-radius:9px; min-height:42px; padding:10px 12px; font:inherit; box-sizing:border-box; max-width:100%; }
.beautlix-standalone table { background:white; }
.beautlix-standalone th { background:#f7f8fb; color:#596574; }
.beautlix-standalone th, .beautlix-standalone td { border-color:#e3e7ed; }
.beautlix-standalone .notice { border-radius:10px; }
@media (max-width:767.98px) {
    .beautlix-ui .content-header { padding:18px 12px 14px; }
    .beautlix-ui .content-header h1 { font-size:1.4rem; }
    .beautlix-ui :where(.content-wrapper,.modal) .card > .card-header { padding:14px; }
    .beautlix-ui :where(.content-wrapper,.modal) .card > .card-body:not(.p-0) { padding:14px; }
    .beautlix-ui .btn:not(.btn-tool), .beautlix-ui .btn.btn-xs:not(.btn-tool), .beautlix-ui .btn.btn-sm:not(.btn-tool) { min-height:44px; padding:10px 12px; }
    .beautlix-ui .form-control, .beautlix-ui .custom-select { font-size:16px; }
    .beautlix-ui .dataTables_filter input { max-width:100%; }
    .beautlix-ui .dataTables_wrapper .pagination { flex-wrap:wrap; row-gap:6px; }
    .beautlix-ui .modal-body { padding:16px; }
    .beautlix-ui .modal-header, .beautlix-ui .modal-footer { padding:14px 16px; }
    .beautlix-ui .modal-footer > .btn { flex:1 1 auto; white-space:normal; }
    .beautlix-ui .form-inline { gap:8px; }
}
@media (prefers-reduced-motion:reduce) { .beautlix-ui .btn { transition:none; } }
}
