/* /Pages/AdvanceSetupPage.razor.rz.scp.css */
/* Shared setup-page styles — copied verbatim into each *.razor.css */
.setup-page[b-z5h18qayli] { padding: 24px; }
.setup-panel[b-z5h18qayli] { background:#fff; border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.08); overflow:hidden; }
.panel-header[b-z5h18qayli] { padding:20px 24px 16px; border-bottom:1px solid #e5e7eb; }
.panel-title-row[b-z5h18qayli] { display:flex; align-items:center; justify-content:space-between; }
.panel-title[b-z5h18qayli] { margin:0; font-size:18px; font-weight:700; color:#1f2937; }
.header-right[b-z5h18qayli] { display:flex; align-items:center; gap:12px; }
.filter-label[b-z5h18qayli] { font-size:13px; font-weight:600; color:#374151; }
.filter-select[b-z5h18qayli] { padding:6px 10px; border:1px solid #d1d5db; border-radius:7px; font-size:13px; color:#111827; background:#fff; cursor:pointer; }
.btn-add[b-z5h18qayli] { padding:8px 16px; background:#1d4ed8; color:#fff; font-size:13px; font-weight:600; border:none; border-radius:8px; cursor:pointer; transition:background .15s; }
.btn-add:hover[b-z5h18qayli] { background:#1e40af; }
.form-panel[b-z5h18qayli] { padding:20px 24px; background:#f8fafc; border-bottom:1px solid #e5e7eb; }
.form-title[b-z5h18qayli] { margin:0 0 16px; font-size:14px; font-weight:600; color:#374151; }
.form-grid[b-z5h18qayli] { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px 20px; margin-bottom:14px; }
.field-row[b-z5h18qayli] { display:flex; flex-direction:column; gap:4px; }
.field-label[b-z5h18qayli] { font-size:12px; font-weight:600; color:#374151; }
.required[b-z5h18qayli] { color:#dc2626; }
.field-input[b-z5h18qayli] { padding:8px 10px; border:1px solid #d1d5db; border-radius:7px; font-size:13px; color:#111827; background:#fff; width:100%; box-sizing:border-box; transition:border-color .15s,box-shadow .15s; }
.field-input:focus[b-z5h18qayli] { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15); }
.field-input.input-error[b-z5h18qayli] { border-color:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,.1); }
.field-input.field-readonly[b-z5h18qayli] { background:#f3f4f6; color:#6b7280; cursor:not-allowed; }
.field-error[b-z5h18qayli] { font-size:11px; color:#dc2626; }
.check-grid[b-z5h18qayli] { display:flex; flex-wrap:wrap; gap:10px 32px; margin-bottom:16px; }
.check-row[b-z5h18qayli] { display:flex; align-items:center; gap:7px; font-size:13px; color:#374151; cursor:pointer; user-select:none; }
.check-row input[type="checkbox"][b-z5h18qayli] { width:15px; height:15px; accent-color:#1d4ed8; cursor:pointer; flex-shrink:0; }
.alert-error[b-z5h18qayli] { display:flex; align-items:center; gap:8px; padding:9px 12px; background:#fef2f2; border:1px solid #fca5a5; border-radius:7px; font-size:13px; color:#991b1b; margin-bottom:12px; }
.form-actions[b-z5h18qayli] { display:flex; gap:10px; }
.btn-save[b-z5h18qayli] { display:inline-flex; align-items:center; gap:6px; padding:8px 20px; background:#1d4ed8; color:#fff; font-size:13px; font-weight:600; border:none; border-radius:7px; cursor:pointer; transition:background .15s; }
.btn-save:hover:enabled[b-z5h18qayli] { background:#1e40af; }
.btn-save:disabled[b-z5h18qayli] { background:#93c5fd; cursor:not-allowed; }
.btn-cancel[b-z5h18qayli] { padding:8px 16px; background:transparent; color:#6b7280; font-size:13px; border:1px solid #d1d5db; border-radius:7px; cursor:pointer; }
.btn-cancel:hover:enabled[b-z5h18qayli] { border-color:#9ca3af; color:#374151; }
.table-wrap[b-z5h18qayli] { padding:16px 24px 24px; overflow-x:auto; }
.loading-msg[b-z5h18qayli],.empty-msg[b-z5h18qayli] { padding:32px 0; text-align:center; font-size:14px; color:#6b7280; }
.data-table[b-z5h18qayli] { width:100%; border-collapse:collapse; font-size:13px; }
.data-table th[b-z5h18qayli] { text-align:left; padding:10px 12px; font-size:11px; font-weight:600; color:#6b7280; text-transform:uppercase; letter-spacing:.04em; border-bottom:2px solid #e5e7eb; white-space:nowrap; line-height:1.4; }
.data-table td[b-z5h18qayli] { padding:10px 12px; border-bottom:1px solid #f3f4f6; color:#1f2937; vertical-align:middle; }
.data-table tr:last-child td[b-z5h18qayli] { border-bottom:none; }
.data-table tr:hover td[b-z5h18qayli] { background:#f9fafb; }
.data-table tr.row-deleting td[b-z5h18qayli] { background:#fef2f2; }
.col-str[b-z5h18qayli] { text-align:left; }
.col-num[b-z5h18qayli] { text-align:right; }
.col-num-hdr[b-z5h18qayli] { text-align:left; }
.col-center[b-z5h18qayli] { text-align:center; }
.col-col[b-z5h18qayli] { text-align:center; width:100px; }
.col-code[b-z5h18qayli] { font-weight:600; font-family:monospace; }
.col-actions[b-z5h18qayli] { text-align:right; white-space:nowrap; width:1%; }
.data-table input[type="checkbox"][b-z5h18qayli] { width:15px; height:15px; accent-color:#1d4ed8; pointer-events:none; }
.badge-code[b-z5h18qayli] { display:inline-block; padding:2px 8px; background:#eff6ff; color:#1d4ed8; border-radius:5px; font-size:12px; font-weight:600; }
.badge-type[b-z5h18qayli] { display:inline-block; padding:2px 8px; border-radius:5px; font-size:11px; font-weight:700; letter-spacing:.03em; }
.badge-monthly[b-z5h18qayli] { background:#ecfdf5; color:#065f46; }
.badge-hourly[b-z5h18qayli]  { background:#fff7ed; color:#9a3412; }
.badge-yes[b-z5h18qayli] { display:inline-block; padding:1px 8px; background:#ecfdf5; color:#065f46; border-radius:5px; font-size:12px; font-weight:700; }
.badge-no[b-z5h18qayli]  { display:inline-block; padding:1px 8px; background:#f3f4f6; color:#6b7280; border-radius:5px; font-size:12px; font-weight:600; }
.badge-col[b-z5h18qayli] { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; background:#1d4ed8; color:#fff; border-radius:8px; font-size:14px; font-weight:700; font-family:monospace; }
.field-col[b-z5h18qayli] { max-width:80px; text-transform:uppercase; font-weight:700; text-align:center; }
.btn-edit[b-z5h18qayli],.btn-delete[b-z5h18qayli],.btn-confirm-del[b-z5h18qayli],.btn-cancel-del[b-z5h18qayli] { padding:5px 12px; font-size:12px; font-weight:600; border-radius:6px; border:none; cursor:pointer; transition:background .15s; }
.btn-edit[b-z5h18qayli] { background:#eff6ff; color:#1d4ed8; margin-right:6px; }
.btn-edit:hover:enabled[b-z5h18qayli] { background:#dbeafe; }
.btn-delete[b-z5h18qayli] { background:#fef2f2; color:#dc2626; }
.btn-delete:hover:enabled[b-z5h18qayli] { background:#fee2e2; }
.confirm-msg[b-z5h18qayli] { font-size:12px; color:#dc2626; margin-right:8px; font-weight:600; }
.btn-confirm-del[b-z5h18qayli] { background:#dc2626; color:#fff; margin-right:4px; }
.btn-confirm-del:hover:enabled[b-z5h18qayli] { background:#b91c1c; }
.btn-cancel-del[b-z5h18qayli] { background:#f3f4f6; color:#374151; }
.btn-cancel-del:hover:enabled[b-z5h18qayli] { background:#e5e7eb; }
.spinner[b-z5h18qayli] { width:13px; height:13px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; display:inline-block; animation:spin-b-z5h18qayli .75s linear infinite; }
@keyframes spin-b-z5h18qayli { to { transform:rotate(360deg); } }
/* /Pages/AttendanceUpload.razor.rz.scp.css */
.upload-page[b-jg9f98bsp2] {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    padding: 40px 20px;
    background: #f4f6f9;
    box-sizing: border-box;
}

.upload-panel[b-jg9f98bsp2] {
    width: 100%;
    max-width: 760px;
    background: #ffffff;
    border: 1px solid #d7dde5;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.panel-header[b-jg9f98bsp2] {
    padding: 24px 28px 18px 28px;
    border-bottom: 1px solid #e7ecf2;
    background: #f8fafc;
}

.panel-header h3[b-jg9f98bsp2] {
    margin: 0 0 8px 0;
    font-size: 24px;
    font-weight: 600;
    color: #1f2937;
}

.panel-header p[b-jg9f98bsp2] {
    margin: 0;
    font-size: 14px;
    color: #6b7280;
}

.panel-body[b-jg9f98bsp2] {
    padding: 28px;
}

.date-range-section[b-jg9f98bsp2] {
    margin-bottom: 20px;
}

.date-range-row[b-jg9f98bsp2] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.date-field-wrap[b-jg9f98bsp2] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 200px;
}

.date-field[b-jg9f98bsp2] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.date-field label[b-jg9f98bsp2] {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
    flex-shrink: 0;
}

.required[b-jg9f98bsp2] {
    color: #dc2626;
}

.date-input[b-jg9f98bsp2] {
    padding: 9px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    color: #1f2937;
    background: #ffffff;
    flex: 1;
    min-width: 0;
    box-sizing: border-box;
}

.date-input:focus[b-jg9f98bsp2] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.date-input.input-error[b-jg9f98bsp2] {
    border-color: #dc2626;
}

.date-separator[b-jg9f98bsp2] {
    font-size: 18px;
    color: #6b7280;
    flex-shrink: 0;
}

.field-error[b-jg9f98bsp2] {
    font-size: 12px;
    color: #dc2626;
}

.date-range-error[b-jg9f98bsp2] {
    margin-top: 8px;
    font-size: 13px;
    color: #dc2626;
}

/* ── Employee filter section ──────────────────────────────── */
.emp-filter-section[b-jg9f98bsp2] {
    margin-bottom: 20px;
}

.emp-filter-header[b-jg9f98bsp2] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.emp-filter-label[b-jg9f98bsp2] {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.emp-optional-badge[b-jg9f98bsp2] {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 1px 7px;
}

.emp-count-badge[b-jg9f98bsp2] {
    font-size: 11px;
    font-weight: 600;
    color: #1d4ed8;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    padding: 1px 7px;
}

.emp-listbox-wrap[b-jg9f98bsp2] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.emp-listbox[b-jg9f98bsp2] {
    flex: 1;
    min-height: 80px;
    max-height: 160px;
    overflow-y: auto;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    padding: 4px 0;
}

.emp-listbox-empty[b-jg9f98bsp2] {
    padding: 20px 14px;
    font-size: 13px;
    color: #9ca3af;
    text-align: center;
}

.emp-listbox-item[b-jg9f98bsp2] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 10px 5px 14px;
    transition: background 0.1s;
}

.emp-listbox-item:hover[b-jg9f98bsp2] { background: #f9fafb; }

.emp-listbox-code[b-jg9f98bsp2] {
    font-family: monospace;
    font-size: 13px;
    font-weight: 600;
    color: #1f2937;
    flex-shrink: 0;
    min-width: 90px;
}

.emp-listbox-name[b-jg9f98bsp2] {
    font-size: 13px;
    color: #6b7280;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.emp-remove-btn[b-jg9f98bsp2] {
    background: transparent;
    border: none;
    color: #9ca3af;
    font-size: 14px;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
    border-radius: 4px;
    transition: color 0.15s, background 0.15s;
}
.emp-remove-btn:hover:enabled[b-jg9f98bsp2] { color: #dc2626; background: #fee2e2; }
.emp-remove-btn:disabled[b-jg9f98bsp2] { opacity: 0.4; cursor: not-allowed; }

.emp-listbox-actions[b-jg9f98bsp2] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex-shrink: 0;
}

.btn-emp-browse[b-jg9f98bsp2] {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 14px;
    background: #ffffff;
    color: #2563eb;
    border: 1px solid #2563eb;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}
.btn-emp-browse:hover:enabled[b-jg9f98bsp2] { background: #eff6ff; }
.btn-emp-browse:disabled[b-jg9f98bsp2]      { opacity: 0.5; cursor: not-allowed; }

.btn-emp-clear[b-jg9f98bsp2] {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 14px;
    background: transparent;
    color: #6b7280;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color 0.15s, color 0.15s;
}
.btn-emp-clear:hover:enabled[b-jg9f98bsp2] { border-color: #9ca3af; color: #374151; }
.btn-emp-clear:disabled[b-jg9f98bsp2]      { opacity: 0.5; cursor: not-allowed; }

.drop-zone[b-jg9f98bsp2] {
    border: 2px dashed #b8c2cc;
    border-radius: 10px;
    background: #fafcff;
    padding: 16px 20px;
    text-align: center;
    transition: all 0.2s ease-in-out;
    margin-bottom: 20px;
    cursor: pointer;
}

.drop-zone.drag-over[b-jg9f98bsp2] {
    border-color: #2563eb;
    background: #eff6ff;
    box-shadow: inset 0 0 0 1px #93c5fd;
}

.drop-zone--disabled[b-jg9f98bsp2] {
    opacity: 0.6;
    pointer-events: none;
    cursor: not-allowed;
}

.drop-zone-content[b-jg9f98bsp2] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.drop-icon[b-jg9f98bsp2] {
    font-size: 22px;
}

.drop-title[b-jg9f98bsp2] {
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
}

.drop-subtitle[b-jg9f98bsp2] {
    font-size: 12px;
    color: #6b7280;
}

.hidden-file-input[b-jg9f98bsp2] {
    display: none;
}

.selected-file[b-jg9f98bsp2] {
    margin-bottom: 20px;
    padding: 14px 16px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    color: #374151;
}

.file-meta[b-jg9f98bsp2] {
    margin-top: 6px;
    font-size: 13px;
    color: #6b7280;
}

.button-row[b-jg9f98bsp2] {
    margin-top: 8px;
    margin-bottom: 18px;
}

.upload-btn[b-jg9f98bsp2] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    padding: 0 20px;
    background: #1d4ed8;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}
.upload-btn:hover:enabled[b-jg9f98bsp2]  { background: #1e40af; }
.upload-btn:disabled[b-jg9f98bsp2]       { background: #9ca3af; cursor: not-allowed; }

.spinner[b-jg9f98bsp2] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255, 255, 255, 0.45);
    border-top-color: #ffffff;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-jg9f98bsp2 0.75s linear infinite;
    flex-shrink: 0;
}

@keyframes spin-b-jg9f98bsp2 {
    to {
        transform: rotate(360deg);
    }
}

.status-box[b-jg9f98bsp2] {
    padding: 14px 16px;
    border-radius: 10px;
    font-size: 14px;
    margin-top: 14px;
    margin-bottom: 18px;
}

.status-success[b-jg9f98bsp2] {
    background: #ecfdf3;
    border: 1px solid #a7f3d0;
    color: #065f46;
}

.status-error[b-jg9f98bsp2] {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.status-message[b-jg9f98bsp2] {
    font-weight: 600;
}

.status-summary[b-jg9f98bsp2] {
    margin-top: 6px;
}

.error-list-panel[b-jg9f98bsp2] {
    margin-top: 18px;
    padding: 16px;
    background: #fff7f7;
    border: 1px solid #f3c5c5;
    border-radius: 10px;
}

.error-list-panel h4[b-jg9f98bsp2] {
    margin: 0 0 12px 0;
    color: #991b1b;
    font-size: 16px;
}

.error-list-panel ul[b-jg9f98bsp2] {
    margin: 0;
    padding-left: 20px;
    color: #7f1d1d;
}

.error-list-panel li[b-jg9f98bsp2] {
    margin-bottom: 6px;
}

.error-table[b-jg9f98bsp2] {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
}

.error-table th[b-jg9f98bsp2],
.error-table td[b-jg9f98bsp2] {
    padding: 10px 12px;
    border: 1px solid #f1d2d2;
    text-align: left;
    vertical-align: top;
    font-size: 14px;
}

.error-table th[b-jg9f98bsp2] {
    background: #fef2f2;
    color: #7f1d1d;
    font-weight: 600;
}

.error-table td:first-child[b-jg9f98bsp2],
.error-table th:first-child[b-jg9f98bsp2] {
    width: 90px;
    white-space: nowrap;
}

/* ── Processing panel ─────────────────────────────────────── */
.proc-panel[b-jg9f98bsp2] {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    margin-top: 4px;
}

.proc-status-bar[b-jg9f98bsp2] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
}

.proc-status-processing[b-jg9f98bsp2] {
    background: #eff6ff;
    color: #1d4ed8;
    border-bottom: 1px solid #dbeafe;
}

.proc-status-done[b-jg9f98bsp2] {
    background: #ecfdf5;
    color: #065f46;
    border-bottom: 1px solid #a7f3d0;
}

.proc-spinner[b-jg9f98bsp2] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(37, 99, 235, 0.3);
    border-top-color: #2563eb;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-jg9f98bsp2 0.8s linear infinite;
    flex-shrink: 0;
}

.proc-icon[b-jg9f98bsp2]        { font-size: 16px; font-weight: 700; flex-shrink: 0; }
.proc-icon-ok[b-jg9f98bsp2]     { color: #059669; }
.proc-icon-err[b-jg9f98bsp2]    { color: #dc2626; }

/* ── Count cards ──────────────────────────────────────────── */
.proc-counts[b-jg9f98bsp2] {
    display: flex;
    gap: 12px;
    padding: 14px 16px;
    background: #f9fafb;
    border-bottom: 1px solid #f3f4f6;
}

.proc-count-card[b-jg9f98bsp2] {
    flex: 1;
    padding: 10px 14px;
    border-radius: 8px;
    text-align: center;
    border: 1px solid;
}

.card-processed[b-jg9f98bsp2] { background: #eff6ff; border-color: #bfdbfe; }
.card-error[b-jg9f98bsp2]     { background: #fef2f2; border-color: #fecaca; }
.card-warning[b-jg9f98bsp2]   { background: #fffbeb; border-color: #fde68a; }

.proc-count-value[b-jg9f98bsp2] {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
}

.card-processed .proc-count-value[b-jg9f98bsp2] { color: #1d4ed8; }
.card-error     .proc-count-value[b-jg9f98bsp2] { color: #dc2626; }
.card-warning   .proc-count-value[b-jg9f98bsp2] { color: #d97706; }

.proc-count-label[b-jg9f98bsp2] {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

/* ── Warning / Error Log Panels ───────────────────────────── */
.proc-log-panel[b-jg9f98bsp2] {
    border: 1px solid;
    border-radius: 8px;
    overflow: hidden;
    margin: 0 16px 12px 16px;
}

.proc-log-warning[b-jg9f98bsp2] {
    background: #fffbeb;
    border-color: #fde68a;
}

.proc-log-error[b-jg9f98bsp2] {
    background: #fef2f2;
    border-color: #fecaca;
}

.proc-log-header[b-jg9f98bsp2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: 1px solid inherit;
}

.proc-log-warning .proc-log-header[b-jg9f98bsp2] {
    background: #fef3c7;
    border-bottom-color: #fde68a;
}

.proc-log-error .proc-log-header[b-jg9f98bsp2] {
    background: #fee2e2;
    border-bottom-color: #fecaca;
}

.proc-log-title[b-jg9f98bsp2] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
}

.proc-log-warning .proc-log-title[b-jg9f98bsp2] { color: #92400e; }
.proc-log-error   .proc-log-title[b-jg9f98bsp2] { color: #991b1b; }

.proc-log-icon[b-jg9f98bsp2] {
    font-size: 14px;
    flex-shrink: 0;
}

.proc-log-count[b-jg9f98bsp2] {
    font-size: 11px;
    font-weight: 500;
    color: #6b7280;
}

.proc-log-body[b-jg9f98bsp2] {
    max-height: 200px;
    overflow-y: auto;
    padding: 6px 0;
}

.proc-log-entry[b-jg9f98bsp2] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 4px 14px;
    font-size: 13px;
    line-height: 1.5;
}

.proc-log-warning .proc-log-entry[b-jg9f98bsp2] { color: #78350f; }
.proc-log-error   .proc-log-entry[b-jg9f98bsp2] { color: #7f1d1d; }

.proc-log-entry:not(:last-child)[b-jg9f98bsp2] {
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.proc-log-row[b-jg9f98bsp2] {
    font-family: monospace;
    font-size: 12px;
    font-weight: 600;
    flex-shrink: 0;
    color: #6b7280;
    min-width: 58px;
}

.proc-log-msg[b-jg9f98bsp2] {
    word-break: break-word;
}

/* ── Event details ────────────────────────────────────────── */
.proc-events-header[b-jg9f98bsp2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
}

.proc-events-title[b-jg9f98bsp2] {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
}

.proc-events-actions[b-jg9f98bsp2] {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ── Download button ──────────────────────────────────────── */
.proc-download-btn[b-jg9f98bsp2] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 30px;
    padding: 0 12px;
    background: #ffffff;
    color: #2563eb;
    border: 1px solid #2563eb;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, box-shadow 0.15s;
}

.proc-download-btn:hover[b-jg9f98bsp2] {
    background: #eff6ff;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

.btn-dl-icon[b-jg9f98bsp2] {
    font-size: 13px;
    flex-shrink: 0;
}

.btn-dl-text[b-jg9f98bsp2] {
    font-size: 12px;
}

.proc-filter-group[b-jg9f98bsp2] {
    display: flex;
    gap: 6px;
}

.proc-filter-btn[b-jg9f98bsp2] {
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 500;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    cursor: pointer;
    color: #6b7280;
    transition: all 0.15s;
    white-space: nowrap;
}
.proc-filter-btn:hover:not(:disabled)[b-jg9f98bsp2] { background: #f3f4f6; color: #374151; }
.proc-filter-btn:disabled[b-jg9f98bsp2]             { opacity: 0.5; cursor: default; }
.proc-filter-btn.pfb-active[b-jg9f98bsp2]           { background: #e5e7eb; color: #111827; border-color: #d1d5db; }
.proc-filter-btn.pfb-active-error[b-jg9f98bsp2]     { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.proc-filter-btn.pfb-active-warn[b-jg9f98bsp2]      { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.proc-filter-btn.pfb-active-ok[b-jg9f98bsp2]        { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }

.pfb-count[b-jg9f98bsp2] {
    display: inline-block;
    background: rgba(0,0,0,0.08);
    border-radius: 8px;
    padding: 0 5px;
    font-size: 11px;
    margin-left: 2px;
}

.proc-events-body[b-jg9f98bsp2] {
    max-height: 240px;
    overflow-y: auto;
}

.proc-events-table[b-jg9f98bsp2] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.proc-events-table th[b-jg9f98bsp2] {
    position: sticky;
    top: 0;
    background: #f9fafb;
    text-align: left;
    padding: 8px 12px;
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.proc-events-table td[b-jg9f98bsp2] {
    padding: 8px 12px;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}
.proc-events-table tr:last-child td[b-jg9f98bsp2] { border-bottom: none; }

.col-ev-type[b-jg9f98bsp2] { width: 80px; }
.col-ev-row[b-jg9f98bsp2]  { width: 54px; text-align: center; font-family: monospace; color: #9ca3af; font-size: 12px; }
.col-ev-msg[b-jg9f98bsp2]  { color: #374151; }

.ev-badge[b-jg9f98bsp2] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ev-success[b-jg9f98bsp2] { background: #d1fae5; color: #065f46; }
.ev-error[b-jg9f98bsp2]   { background: #fee2e2; color: #991b1b; }
.ev-warning[b-jg9f98bsp2] { background: #fef3c7; color: #92400e; }
.ev-info[b-jg9f98bsp2]    { background: #e0e7ff; color: #3730a3; }

/* ── Payroll summary ──────────────────────────────────────── */
.proc-payroll-summary[b-jg9f98bsp2] {
    border-top: 1px solid #e5e7eb;
}

.proc-payroll-period[b-jg9f98bsp2] {
    font-size: 12px;
    color: #6b7280;
}

.col-num[b-jg9f98bsp2] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.col-formula[b-jg9f98bsp2] {
    width: 60px;
    text-align: center;
}

.row-formula-btn[b-jg9f98bsp2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: #ffffff;
    color: #2563eb;
    border: 1px solid #2563eb;
    border-radius: 6px;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.15s, box-shadow 0.15s;
}

.row-formula-btn:hover:enabled[b-jg9f98bsp2] {
    background: #eff6ff;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

.row-formula-btn:disabled[b-jg9f98bsp2] {
    opacity: 0.4;
    color: #9ca3af;
    border-color: #d1d5db;
    cursor: not-allowed;
}
/* /Pages/AttendanceWeeklyReport.razor.rz.scp.css */
/* ── Page layout ───────────────────────────────────────────────── */
.rpt-page[b-1uksswxkke] {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    padding: 40px 20px;
    background: #f4f6f9;
    box-sizing: border-box;
}

.rpt-panel[b-1uksswxkke] {
    width: 100%;
    max-width: 620px;
    background: #ffffff;
    border: 1px solid #d7dde5;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(0,0,0,.08);
    overflow: hidden;
}

/* ── Header ─────────────────────────────────────────────────────── */
.rpt-header[b-1uksswxkke] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 24px 28px 20px;
    border-bottom: 1px solid #e7ecf2;
    background: #f8fafc;
}

.rpt-header-icon[b-1uksswxkke] {
    font-size: 28px;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 2px;
}

.rpt-title[b-1uksswxkke] {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.25;
}

.rpt-subtitle[b-1uksswxkke] {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
}

/* ── Body ──────────────────────────────────────────────────────── */
.rpt-body[b-1uksswxkke] {
    padding: 24px 28px 28px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ── Sections ──────────────────────────────────────────────────── */
.rpt-section[b-1uksswxkke] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.section-row[b-1uksswxkke] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.section-label[b-1uksswxkke] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: .04em;
    flex-shrink: 0;
    width: 155px;
    padding-top: 22px;
}

.section-num[b-1uksswxkke] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #1d4ed8;
    color: #fff;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}

.required[b-1uksswxkke] { color: #dc2626; }

.optional-badge[b-1uksswxkke] {
    font-size: 10px;
    font-weight: 600;
    color: #6b7280;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 1px 7px;
    text-transform: none;
    letter-spacing: 0;
}

/* ── Date / emp range rows ─────────────────────────────────────── */
.date-row[b-1uksswxkke],
.emp-range-row[b-1uksswxkke] {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    flex: 1;
}

.date-field-wrap[b-1uksswxkke],
.emp-field-wrap[b-1uksswxkke] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
    min-width: 140px;
}

.date-sep[b-1uksswxkke] {
    font-size: 16px;
    color: #9ca3af;
    flex-shrink: 0;
    padding-bottom: 9px;
}

.field-label[b-1uksswxkke] {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.field-error[b-1uksswxkke] {
    font-size: 11px;
    color: #dc2626;
}

/* ── Inputs ─────────────────────────────────────────────────────── */
.rpt-input[b-1uksswxkke] {
    padding: 9px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    color: #1f2937;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s;
}

.rpt-input:focus[b-1uksswxkke] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}

.rpt-input.input-error[b-1uksswxkke] {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220,38,38,.1);
}

.rpt-input--code[b-1uksswxkke] {
    font-family: 'Courier New', monospace;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* ── Info hint ──────────────────────────────────────────────────── */
.info-hint[b-1uksswxkke] {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    padding: 8px 12px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 7px;
    font-size: 12px;
    color: #0369a1;
    line-height: 1.5;
    margin-left: 171px; /* align under inputs, past the section-label width + gap */
}

.hint-icon[b-1uksswxkke] {
    font-size: 13px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* ── Preview card ───────────────────────────────────────────────── */
.preview-card[b-1uksswxkke] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
}

.preview-icon[b-1uksswxkke] {
    font-size: 22px;
    flex-shrink: 0;
}

.preview-body[b-1uksswxkke] {
    flex: 1;
}

.preview-label[b-1uksswxkke] {
    font-size: 11px;
    font-weight: 600;
    color: #3b82f6;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 3px;
}

.preview-range[b-1uksswxkke] {
    font-size: 14px;
    color: #1e40af;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.preview-dash[b-1uksswxkke] {
    color: #93c5fd;
}

.preview-badge[b-1uksswxkke] {
    flex-shrink: 0;
    padding: 4px 12px;
    background: #1d4ed8;
    color: #fff;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
}

/* ── Alert ──────────────────────────────────────────────────────── */
.alert-error[b-1uksswxkke] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 14px;
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    font-size: 13px;
    color: #991b1b;
    line-height: 1.5;
}

.alert-icon[b-1uksswxkke] { font-size: 15px; flex-shrink: 0; margin-top: 1px; }

/* ── Generate button ────────────────────────────────────────────── */
.action-row[b-1uksswxkke] {
    padding-top: 4px;
    border-top: 1px solid #f3f4f6;
}

.btn-generate[b-1uksswxkke] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    padding: 0 28px;
    background: #1d4ed8;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 9px;
    cursor: pointer;
    transition: background .15s, transform .1s;
    width: 100%;
}

.btn-generate:hover:enabled[b-1uksswxkke]  { background: #1e40af; }
.btn-generate:active:enabled[b-1uksswxkke] { transform: scale(0.99); }
.btn-generate:disabled[b-1uksswxkke]       { background: #93c5fd; cursor: not-allowed; }

.btn-icon[b-1uksswxkke] { font-size: 15px; }

/* ── Spinner ────────────────────────────────────────────────────── */
.spinner[b-1uksswxkke] {
    width: 15px;
    height: 15px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-1uksswxkke .75s linear infinite;
    flex-shrink: 0;
}

@keyframes spin-b-1uksswxkke { to { transform: rotate(360deg); } }
/* /Pages/AuditDashboard.razor.rz.scp.css */
/* ── Page ─────────────────────────────────────────────────── */
.dash-page[b-ic1cc6uy8z] {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.loading-msg[b-ic1cc6uy8z] {
    padding: 40px 0;
    text-align: center;
    font-size: 14px;
    color: #6b7280;
}

/* ── Stat cards row ───────────────────────────────────────── */
.stat-row[b-ic1cc6uy8z] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.stat-card[b-ic1cc6uy8z] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07);
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.stat-value[b-ic1cc6uy8z] {
    font-size: 36px;
    font-weight: 800;
    color: #1d4ed8;
    line-height: 1;
}

.stat-label[b-ic1cc6uy8z] {
    font-size: 13px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ── Breakdown row ────────────────────────────────────────── */
.breakdown-row[b-ic1cc6uy8z] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.breakdown-card[b-ic1cc6uy8z] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07);
    padding: 20px 24px;
}

.breakdown-title[b-ic1cc6uy8z] {
    font-size: 14px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 16px;
}

.breakdown-empty[b-ic1cc6uy8z] {
    font-size: 13px;
    color: #9ca3af;
}

/* ── Bar chart rows ───────────────────────────────────────── */
.bar-row[b-ic1cc6uy8z] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.bar-label[b-ic1cc6uy8z] {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
    width: 70px;
    flex-shrink: 0;
}

.bar-track[b-ic1cc6uy8z] {
    flex: 1;
    height: 10px;
    background: #f3f4f6;
    border-radius: 99px;
    overflow: hidden;
}

.bar-fill[b-ic1cc6uy8z] {
    height: 100%;
    border-radius: 99px;
    transition: width 0.4s ease;
    min-width: 4px;
}

.bar-create[b-ic1cc6uy8z] { background: #16a34a; }
.bar-update[b-ic1cc6uy8z] { background: #d97706; }
.bar-delete[b-ic1cc6uy8z] { background: #dc2626; }
.bar-entity[b-ic1cc6uy8z] { background: #2563eb; }

.bar-count[b-ic1cc6uy8z] {
    font-size: 12px;
    font-weight: 700;
    color: #374151;
    width: 32px;
    text-align: right;
    flex-shrink: 0;
}

/* ── Recent activity card ─────────────────────────────────── */
.recent-card[b-ic1cc6uy8z] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07);
    overflow: hidden;
}

.recent-header[b-ic1cc6uy8z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px 14px;
    border-bottom: 1px solid #e5e7eb;
}

.recent-title[b-ic1cc6uy8z] {
    font-size: 14px;
    font-weight: 700;
    color: #1f2937;
}

.btn-view-all[b-ic1cc6uy8z] {
    padding: 5px 14px;
    background: transparent;
    color: #2563eb;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid #bfdbfe;
    border-radius: 7px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.btn-view-all:hover[b-ic1cc6uy8z] { background: #eff6ff; border-color: #93c5fd; }

/* ── Recent table ─────────────────────────────────────────── */
.recent-table[b-ic1cc6uy8z] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.recent-table th[b-ic1cc6uy8z] {
    text-align: left;
    padding: 9px 12px 9px 24px;
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #f3f4f6;
    background: #fafafa;
}

.recent-table td[b-ic1cc6uy8z] {
    padding: 10px 12px 10px 24px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}

.recent-table tr:last-child td[b-ic1cc6uy8z] { border-bottom: none; }
.recent-table tr:hover td[b-ic1cc6uy8z] { background: #f9fafb; }

.col-ts[b-ic1cc6uy8z]  { white-space: nowrap; color: #6b7280; font-size: 12px; }
.col-key[b-ic1cc6uy8z] { font-family: monospace; font-size: 12px; color: #4b5563; }

/* ── Action badges ────────────────────────────────────────── */
.action-badge[b-ic1cc6uy8z] {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.badge-create[b-ic1cc6uy8z] { background: #dcfce7; color: #15803d; }
.badge-update[b-ic1cc6uy8z] { background: #fef3c7; color: #b45309; }
.badge-delete[b-ic1cc6uy8z] { background: #fee2e2; color: #b91c1c; }
/* /Pages/AuditLogViewer.razor.rz.scp.css */
/* ── Page wrapper ─────────────────────────────────────────── */
.audit-page[b-227k8khoij] {
    padding: 24px;
}

/* ── Panel ────────────────────────────────────────────────── */
.audit-panel[b-227k8khoij] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* ── Header ───────────────────────────────────────────────── */
.panel-header[b-227k8khoij] {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.panel-title[b-227k8khoij] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

/* ── Filter panel ─────────────────────────────────────────── */
.filter-panel[b-227k8khoij] {
    padding: 16px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
}

.filter-grid[b-227k8khoij] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    align-items: flex-end;
}

.field-row[b-227k8khoij] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 150px;
}

.field-row-actions[b-227k8khoij] {
    flex-direction: row;
    align-items: flex-end;
    gap: 8px;
    min-width: unset;
}

.field-label[b-227k8khoij] {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
}

.field-input[b-227k8khoij],
.field-select[b-227k8khoij] {
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
}

.field-input:focus[b-227k8khoij],
.field-select:focus[b-227k8khoij] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

/* ── Filter buttons ───────────────────────────────────────── */
.btn-search[b-227k8khoij] {
    padding: 8px 18px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-search:hover:enabled[b-227k8khoij] { background: #1e40af; }
.btn-search:disabled[b-227k8khoij] { background: #93c5fd; cursor: not-allowed; }

.btn-clear[b-227k8khoij] {
    padding: 8px 14px;
    background: transparent;
    color: #6b7280;
    font-size: 13px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.btn-clear:hover:enabled[b-227k8khoij] { border-color: #9ca3af; color: #374151; }

/* ── Table wrap ───────────────────────────────────────────── */
.table-wrap[b-227k8khoij] {
    padding: 16px 24px 24px;
    overflow-x: auto;
}

.result-info[b-227k8khoij] {
    font-size: 12px;
    color: #6b7280;
    margin-bottom: 12px;
}

.page-indicator[b-227k8khoij] { color: #9ca3af; }

.loading-msg[b-227k8khoij], .empty-msg[b-227k8khoij] {
    padding: 32px 0;
    text-align: center;
    font-size: 14px;
    color: #6b7280;
}

/* ── Data table ───────────────────────────────────────────── */
.data-table[b-227k8khoij] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.data-table th[b-227k8khoij] {
    text-align: left;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid #e5e7eb;
    white-space: nowrap;
}

.data-table td[b-227k8khoij] {
    padding: 11px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}

.data-table tr:last-child td[b-227k8khoij] { border-bottom: none; }

.data-row[b-227k8khoij] {
    cursor: pointer;
    transition: background 0.1s;
}
.data-row:hover td[b-227k8khoij] { background: #f0f9ff; }
.data-row.row-expanded td[b-227k8khoij] { background: #eff6ff; border-bottom: none; }

/* ── Column widths ────────────────────────────────────────── */
.col-ts[b-227k8khoij]     { white-space: nowrap; width: 160px; }
.col-key[b-227k8khoij]    { font-family: monospace; font-size: 12px; color: #4b5563; }
.col-toggle[b-227k8khoij] { text-align: center; width: 32px; color: #9ca3af; font-size: 11px; }

/* ── Action badge ─────────────────────────────────────────── */
.action-badge[b-227k8khoij] {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.badge-create[b-227k8khoij] { background: #dcfce7; color: #15803d; }
.badge-update[b-227k8khoij] { background: #fef3c7; color: #b45309; }
.badge-delete[b-227k8khoij] { background: #fee2e2; color: #b91c1c; }

/* ── Detail row ───────────────────────────────────────────── */
.detail-row td[b-227k8khoij] {
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
    padding: 0;
}

.detail-grid[b-227k8khoij] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid #e5e7eb;
}

.detail-block[b-227k8khoij] {
    padding: 14px 16px;
}

.detail-block:first-child[b-227k8khoij] {
    border-right: 1px solid #e5e7eb;
}

.detail-label[b-227k8khoij] {
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

.detail-json[b-227k8khoij] {
    margin: 0;
    font-family: 'Consolas', 'Courier New', monospace;
    font-size: 12px;
    line-height: 1.5;
    color: #1f2937;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 10px 12px;
    overflow-x: auto;
    white-space: pre;
    max-height: 260px;
    overflow-y: auto;
}

/* ── Pagination ───────────────────────────────────────────── */
.pagination[b-227k8khoij] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 20px;
}

.btn-page[b-227k8khoij] {
    padding: 7px 16px;
    background: #f3f4f6;
    color: #374151;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.btn-page:hover:enabled[b-227k8khoij] { background: #e5e7eb; border-color: #9ca3af; }
.btn-page:disabled[b-227k8khoij] { color: #9ca3af; cursor: not-allowed; }

.page-info[b-227k8khoij] {
    font-size: 13px;
    color: #6b7280;
    min-width: 100px;
    text-align: center;
}
/* /Pages/DutyCodeSetup.razor.rz.scp.css */
/* ── Page wrapper ─────────────────────────────────────────── */
.setup-page[b-712sgsdmff] {
    padding: 24px;
}

/* ── Panel ────────────────────────────────────────────────── */
.setup-panel[b-712sgsdmff] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* ── Panel header ─────────────────────────────────────────── */
.panel-header[b-712sgsdmff] {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.panel-title-row[b-712sgsdmff] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.panel-title[b-712sgsdmff] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

/* ── Add button ───────────────────────────────────────────── */
.btn-add[b-712sgsdmff] {
    padding: 8px 16px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-add:hover[b-712sgsdmff] { background: #1e40af; }

/* ── Inline form ──────────────────────────────────────────── */
.form-panel[b-712sgsdmff] {
    padding: 20px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
}

.form-title[b-712sgsdmff] {
    margin: 0 0 16px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.form-grid[b-712sgsdmff] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}

.field-row[b-712sgsdmff] {
    display: grid;
    grid-template-columns: 120px 1fr;
    align-items: center;
    gap: 0 12px;
}

.field-label[b-712sgsdmff] {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
}

.required[b-712sgsdmff] { color: #dc2626; }

.field-input[b-712sgsdmff] {
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.field-input:focus[b-712sgsdmff] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

.field-input.input-error[b-712sgsdmff] {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220,38,38,0.1);
}

.field-error[b-712sgsdmff] {
    grid-column: 2;
    font-size: 11px;
    color: #dc2626;
}

/* ── Input with lookup button ─────────────────────────────── */
.input-group[b-712sgsdmff] {
    display: flex;
    gap: 0;
}

.input-group .field-input[b-712sgsdmff] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    flex: 1;
}

.btn-lookup[b-712sgsdmff] {
    padding: 0 10px;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-left: none;
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
    font-size: 14px;
    cursor: pointer;
    color: #374151;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
}
.btn-lookup:hover[b-712sgsdmff] { background: #dbeafe; color: #1d4ed8; }

/* ── Alert ────────────────────────────────────────────────── */
.alert-error[b-712sgsdmff] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 7px;
    font-size: 13px;
    color: #991b1b;
    margin-bottom: 12px;
}

/* ── Form action buttons ──────────────────────────────────── */
.form-actions[b-712sgsdmff] {
    display: flex;
    gap: 10px;
}

.btn-save[b-712sgsdmff] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-save:hover:enabled[b-712sgsdmff] { background: #1e40af; }
.btn-save:disabled[b-712sgsdmff] { background: #93c5fd; cursor: not-allowed; }

.btn-cancel[b-712sgsdmff] {
    padding: 8px 16px;
    background: transparent;
    color: #6b7280;
    font-size: 13px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}

.btn-cancel:hover:enabled[b-712sgsdmff] { border-color: #9ca3af; color: #374151; }

/* ── Table ────────────────────────────────────────────────── */
.table-wrap[b-712sgsdmff] {
    padding: 16px 24px 24px;
    overflow-x: auto;
}

.loading-msg[b-712sgsdmff], .empty-msg[b-712sgsdmff] {
    padding: 32px 0;
    text-align: center;
    font-size: 14px;
    color: #6b7280;
}

.data-table[b-712sgsdmff] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.data-table th[b-712sgsdmff] {
    text-align: left;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid #e5e7eb;
    white-space: nowrap;
}

.data-table td[b-712sgsdmff] {
    padding: 11px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}

.data-table tr:last-child td[b-712sgsdmff] { border-bottom: none; }

.data-table tr:hover td[b-712sgsdmff] { background: #f9fafb; }

.data-table tr.row-deleting td[b-712sgsdmff] { background: #fef2f2; }

.col-str[b-712sgsdmff]    { text-align: left; }

/* header for numeric columns — left-aligned per requirement */
.col-num-hdr[b-712sgsdmff] { text-align: left; }

/* data cells for numeric columns — right-aligned */
.col-num[b-712sgsdmff]    { text-align: right; }

.col-actions[b-712sgsdmff] {
    text-align: right;
    white-space: nowrap;
    width: 1%;
}

/* ── Row action buttons ───────────────────────────────────── */
.btn-edit[b-712sgsdmff], .btn-delete[b-712sgsdmff], .btn-confirm-del[b-712sgsdmff], .btn-cancel-del[b-712sgsdmff] {
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-edit[b-712sgsdmff] {
    background: #eff6ff;
    color: #1d4ed8;
    margin-right: 6px;
}
.btn-edit:hover:enabled[b-712sgsdmff] { background: #dbeafe; }

.btn-delete[b-712sgsdmff] { background: #fef2f2; color: #dc2626; }
.btn-delete:hover:enabled[b-712sgsdmff] { background: #fee2e2; }

.confirm-msg[b-712sgsdmff] {
    font-size: 12px;
    color: #dc2626;
    margin-right: 8px;
    font-weight: 600;
}

.btn-confirm-del[b-712sgsdmff] {
    background: #dc2626;
    color: #fff;
    margin-right: 4px;
}
.btn-confirm-del:hover:enabled[b-712sgsdmff] { background: #b91c1c; }

.btn-cancel-del[b-712sgsdmff] { background: #f3f4f6; color: #374151; }
.btn-cancel-del:hover:enabled[b-712sgsdmff] { background: #e5e7eb; }

/* ── Spinner ──────────────────────────────────────────────── */
.spinner[b-712sgsdmff] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-712sgsdmff 0.75s linear infinite;
}

@keyframes spin-b-712sgsdmff { to { transform: rotate(360deg); } }
/* /Pages/FestivalSetupPage.razor.rz.scp.css */
/* Shared setup-page styles — copied verbatim into each *.razor.css */
.setup-page[b-5evk0qul47] { padding: 24px; }
.setup-panel[b-5evk0qul47] { background:#fff; border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.08); overflow:hidden; }
.panel-header[b-5evk0qul47] { padding:20px 24px 16px; border-bottom:1px solid #e5e7eb; }
.panel-title-row[b-5evk0qul47] { display:flex; align-items:center; justify-content:space-between; }
.panel-title[b-5evk0qul47] { margin:0; font-size:18px; font-weight:700; color:#1f2937; }
.header-right[b-5evk0qul47] { display:flex; align-items:center; gap:12px; }
.filter-label[b-5evk0qul47] { font-size:13px; font-weight:600; color:#374151; }
.filter-select[b-5evk0qul47] { padding:6px 10px; border:1px solid #d1d5db; border-radius:7px; font-size:13px; color:#111827; background:#fff; cursor:pointer; }
.btn-add[b-5evk0qul47] { padding:8px 16px; background:#1d4ed8; color:#fff; font-size:13px; font-weight:600; border:none; border-radius:8px; cursor:pointer; transition:background .15s; }
.btn-add:hover[b-5evk0qul47] { background:#1e40af; }
.form-panel[b-5evk0qul47] { padding:20px 24px; background:#f8fafc; border-bottom:1px solid #e5e7eb; }
.form-title[b-5evk0qul47] { margin:0 0 16px; font-size:14px; font-weight:600; color:#374151; }
.form-grid[b-5evk0qul47] { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px 20px; margin-bottom:14px; }
.field-row[b-5evk0qul47] { display:flex; flex-direction:column; gap:4px; }
.field-label[b-5evk0qul47] { font-size:12px; font-weight:600; color:#374151; }
.required[b-5evk0qul47] { color:#dc2626; }
.field-input[b-5evk0qul47] { padding:8px 10px; border:1px solid #d1d5db; border-radius:7px; font-size:13px; color:#111827; background:#fff; width:100%; box-sizing:border-box; transition:border-color .15s,box-shadow .15s; }
.field-input:focus[b-5evk0qul47] { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15); }
.field-input.input-error[b-5evk0qul47] { border-color:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,.1); }
.field-input.field-readonly[b-5evk0qul47] { background:#f3f4f6; color:#6b7280; cursor:not-allowed; }
.field-error[b-5evk0qul47] { font-size:11px; color:#dc2626; }
.check-grid[b-5evk0qul47] { display:flex; flex-wrap:wrap; gap:10px 32px; margin-bottom:16px; }
.check-row[b-5evk0qul47] { display:flex; align-items:center; gap:7px; font-size:13px; color:#374151; cursor:pointer; user-select:none; }
.check-row input[type="checkbox"][b-5evk0qul47] { width:15px; height:15px; accent-color:#1d4ed8; cursor:pointer; flex-shrink:0; }
.alert-error[b-5evk0qul47] { display:flex; align-items:center; gap:8px; padding:9px 12px; background:#fef2f2; border:1px solid #fca5a5; border-radius:7px; font-size:13px; color:#991b1b; margin-bottom:12px; }
.form-actions[b-5evk0qul47] { display:flex; gap:10px; }
.btn-save[b-5evk0qul47] { display:inline-flex; align-items:center; gap:6px; padding:8px 20px; background:#1d4ed8; color:#fff; font-size:13px; font-weight:600; border:none; border-radius:7px; cursor:pointer; transition:background .15s; }
.btn-save:hover:enabled[b-5evk0qul47] { background:#1e40af; }
.btn-save:disabled[b-5evk0qul47] { background:#93c5fd; cursor:not-allowed; }
.btn-cancel[b-5evk0qul47] { padding:8px 16px; background:transparent; color:#6b7280; font-size:13px; border:1px solid #d1d5db; border-radius:7px; cursor:pointer; }
.btn-cancel:hover:enabled[b-5evk0qul47] { border-color:#9ca3af; color:#374151; }
.table-wrap[b-5evk0qul47] { padding:16px 24px 24px; overflow-x:auto; }
.loading-msg[b-5evk0qul47],.empty-msg[b-5evk0qul47] { padding:32px 0; text-align:center; font-size:14px; color:#6b7280; }
.data-table[b-5evk0qul47] { width:100%; border-collapse:collapse; font-size:13px; }
.data-table th[b-5evk0qul47] { text-align:left; padding:10px 12px; font-size:11px; font-weight:600; color:#6b7280; text-transform:uppercase; letter-spacing:.04em; border-bottom:2px solid #e5e7eb; white-space:nowrap; line-height:1.4; }
.data-table td[b-5evk0qul47] { padding:10px 12px; border-bottom:1px solid #f3f4f6; color:#1f2937; vertical-align:middle; }
.data-table tr:last-child td[b-5evk0qul47] { border-bottom:none; }
.data-table tr:hover td[b-5evk0qul47] { background:#f9fafb; }
.data-table tr.row-deleting td[b-5evk0qul47] { background:#fef2f2; }
.col-str[b-5evk0qul47] { text-align:left; }
.col-num[b-5evk0qul47] { text-align:right; }
.col-num-hdr[b-5evk0qul47] { text-align:left; }
.col-center[b-5evk0qul47] { text-align:center; }
.col-col[b-5evk0qul47] { text-align:center; width:100px; }
.col-code[b-5evk0qul47] { font-weight:600; font-family:monospace; }
.col-actions[b-5evk0qul47] { text-align:right; white-space:nowrap; width:1%; }
.data-table input[type="checkbox"][b-5evk0qul47] { width:15px; height:15px; accent-color:#1d4ed8; pointer-events:none; }
.badge-code[b-5evk0qul47] { display:inline-block; padding:2px 8px; background:#eff6ff; color:#1d4ed8; border-radius:5px; font-size:12px; font-weight:600; }
.badge-type[b-5evk0qul47] { display:inline-block; padding:2px 8px; border-radius:5px; font-size:11px; font-weight:700; letter-spacing:.03em; }
.badge-monthly[b-5evk0qul47] { background:#ecfdf5; color:#065f46; }
.badge-hourly[b-5evk0qul47]  { background:#fff7ed; color:#9a3412; }
.badge-yes[b-5evk0qul47] { display:inline-block; padding:1px 8px; background:#ecfdf5; color:#065f46; border-radius:5px; font-size:12px; font-weight:700; }
.badge-no[b-5evk0qul47]  { display:inline-block; padding:1px 8px; background:#f3f4f6; color:#6b7280; border-radius:5px; font-size:12px; font-weight:600; }
.badge-col[b-5evk0qul47] { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; background:#1d4ed8; color:#fff; border-radius:8px; font-size:14px; font-weight:700; font-family:monospace; }
.field-col[b-5evk0qul47] { max-width:80px; text-transform:uppercase; font-weight:700; text-align:center; }
.btn-edit[b-5evk0qul47],.btn-delete[b-5evk0qul47],.btn-confirm-del[b-5evk0qul47],.btn-cancel-del[b-5evk0qul47] { padding:5px 12px; font-size:12px; font-weight:600; border-radius:6px; border:none; cursor:pointer; transition:background .15s; }
.btn-edit[b-5evk0qul47] { background:#eff6ff; color:#1d4ed8; margin-right:6px; }
.btn-edit:hover:enabled[b-5evk0qul47] { background:#dbeafe; }
.btn-delete[b-5evk0qul47] { background:#fef2f2; color:#dc2626; }
.btn-delete:hover:enabled[b-5evk0qul47] { background:#fee2e2; }
.confirm-msg[b-5evk0qul47] { font-size:12px; color:#dc2626; margin-right:8px; font-weight:600; }
.btn-confirm-del[b-5evk0qul47] { background:#dc2626; color:#fff; margin-right:4px; }
.btn-confirm-del:hover:enabled[b-5evk0qul47] { background:#b91c1c; }
.btn-cancel-del[b-5evk0qul47] { background:#f3f4f6; color:#374151; }
.btn-cancel-del:hover:enabled[b-5evk0qul47] { background:#e5e7eb; }
.spinner[b-5evk0qul47] { width:13px; height:13px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; display:inline-block; animation:spin-b-5evk0qul47 .75s linear infinite; }
@keyframes spin-b-5evk0qul47 { to { transform:rotate(360deg); } }
/* /Pages/LeaveCodeSetup.razor.rz.scp.css */
/* ── Page wrapper ─────────────────────────────────────────── */
.setup-page[b-rsuasc0n05] { padding: 24px; }

/* ── Panel ────────────────────────────────────────────────── */
.setup-panel[b-rsuasc0n05] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* ── Panel header ─────────────────────────────────────────── */
.panel-header[b-rsuasc0n05] {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.panel-title-row[b-rsuasc0n05] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.panel-title[b-rsuasc0n05] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

/* ── Add button ───────────────────────────────────────────── */
.btn-add[b-rsuasc0n05] {
    padding: 8px 16px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-add:hover[b-rsuasc0n05] { background: #1e40af; }

/* ── Inline form ──────────────────────────────────────────── */
.form-panel[b-rsuasc0n05] {
    padding: 20px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
}

.form-title[b-rsuasc0n05] {
    margin: 0 0 16px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.form-grid[b-rsuasc0n05] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px 20px;
    margin-bottom: 14px;
}

.field-row[b-rsuasc0n05] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.field-label[b-rsuasc0n05] {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
}

.required[b-rsuasc0n05] { color: #dc2626; }

.field-input[b-rsuasc0n05] {
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.field-input:focus[b-rsuasc0n05] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

.field-input.input-error[b-rsuasc0n05] {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220,38,38,0.1);
}

.field-input.field-readonly[b-rsuasc0n05] {
    background: #f3f4f6;
    color: #6b7280;
    cursor: not-allowed;
}

.field-error[b-rsuasc0n05] {
    font-size: 11px;
    color: #dc2626;
}

/* ── Input + browse button ────────────────────────────────── */
.input-group[b-rsuasc0n05] {
    display: flex;
    align-items: stretch;
    gap: 4px;
}

.input-group .field-input[b-rsuasc0n05] {
    flex: 1;
    min-width: 0;
}

.btn-lookup[b-rsuasc0n05] {
    flex-shrink: 0;
    height: 34px;
    width: 34px;
    padding: 0;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
    border-radius: 7px;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, border-color 0.15s;
}
.btn-lookup:hover[b-rsuasc0n05] { background: #dbeafe; border-color: #93c5fd; }

/* ── Checkbox group ───────────────────────────────────────── */
.check-grid[b-rsuasc0n05] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 32px;
    margin-bottom: 16px;
}

.check-row[b-rsuasc0n05] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: #374151;
    cursor: pointer;
    user-select: none;
}

.check-row input[type="checkbox"][b-rsuasc0n05] {
    width: 15px;
    height: 15px;
    accent-color: #1d4ed8;
    cursor: pointer;
    flex-shrink: 0;
}

/* ── Alert ────────────────────────────────────────────────── */
.alert-error[b-rsuasc0n05] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 7px;
    font-size: 13px;
    color: #991b1b;
    margin-bottom: 12px;
}

/* ── Form action buttons ──────────────────────────────────── */
.form-actions[b-rsuasc0n05] { display: flex; gap: 10px; }

.btn-save[b-rsuasc0n05] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-save:hover:enabled[b-rsuasc0n05] { background: #1e40af; }
.btn-save:disabled[b-rsuasc0n05]      { background: #93c5fd; cursor: not-allowed; }

.btn-cancel[b-rsuasc0n05] {
    padding: 8px 16px;
    background: transparent;
    color: #6b7280;
    font-size: 13px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.btn-cancel:hover:enabled[b-rsuasc0n05] { border-color: #9ca3af; color: #374151; }

/* ── Search toolbar ───────────────────────────────────────── */
.search-toolbar[b-rsuasc0n05] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 24px;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.search-group[b-rsuasc0n05] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.search-input[b-rsuasc0n05] {
    height: 34px;
    padding: 0 10px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    width: 240px;
    color: #111827;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.search-input:focus[b-rsuasc0n05] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.12);
}

.btn-search[b-rsuasc0n05] {
    height: 34px;
    padding: 0 16px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-search:hover:enabled[b-rsuasc0n05] { background: #1e40af; }
.btn-search:disabled[b-rsuasc0n05] { background: #93c5fd; cursor: not-allowed; }

.btn-clear[b-rsuasc0n05] {
    height: 34px;
    padding: 0 10px;
    background: transparent;
    color: #6b7280;
    font-size: 13px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
}
.btn-clear:hover[b-rsuasc0n05] { color: #dc2626; border-color: #fca5a5; }

.page-size-group[b-rsuasc0n05] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.page-size-label[b-rsuasc0n05] {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
}

.page-size-select[b-rsuasc0n05] {
    padding: 6px 8px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    cursor: pointer;
}

/* ── Pagination bar ───────────────────────────────────────── */
.pagination-bar[b-rsuasc0n05] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0 4px;
    flex-wrap: wrap;
    gap: 8px;
}

.page-info[b-rsuasc0n05] {
    font-size: 12px;
    color: #6b7280;
}

.page-btns[b-rsuasc0n05] {
    display: flex;
    gap: 3px;
}

.btn-page[b-rsuasc0n05] {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 13px;
    color: #374151;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.btn-page:hover:enabled[b-rsuasc0n05] { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.btn-page:disabled[b-rsuasc0n05]      { opacity: 0.4; cursor: default; }
.btn-page--active[b-rsuasc0n05]       { background: #1d4ed8; color: #fff; border-color: #1d4ed8; font-weight: 700; }
.btn-page--active:hover:enabled[b-rsuasc0n05] { background: #1e40af; border-color: #1e40af; color: #fff; }

/* ── Table ────────────────────────────────────────────────── */
.table-wrap[b-rsuasc0n05] {
    padding: 16px 24px 24px;
    overflow-x: auto;
}

.loading-msg[b-rsuasc0n05], .empty-msg[b-rsuasc0n05] {
    padding: 32px 0;
    text-align: center;
    font-size: 14px;
    color: #6b7280;
}

.data-table[b-rsuasc0n05] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.data-table th[b-rsuasc0n05] {
    text-align: left;
    padding: 10px 12px;
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid #e5e7eb;
    white-space: nowrap;
    line-height: 1.4;
}

.data-table td[b-rsuasc0n05] {
    padding: 10px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}

.data-table tr:last-child td[b-rsuasc0n05] { border-bottom: none; }
.data-table tr:hover td[b-rsuasc0n05]      { background: #f9fafb; }
.data-table tr.row-deleting td[b-rsuasc0n05] { background: #fef2f2; }

.col-str[b-rsuasc0n05]     { text-align: left; min-width: 80px; }
.col-center[b-rsuasc0n05]  { text-align: center; }
.col-code[b-rsuasc0n05]    { font-weight: 600; font-family: monospace; }
.col-actions[b-rsuasc0n05] {
    text-align: right;
    white-space: nowrap;
    width: 1%;
}

/* disabled checkbox in table — read-only display */
.data-table input[type="checkbox"][b-rsuasc0n05] {
    width: 15px;
    height: 15px;
    accent-color: #1d4ed8;
    pointer-events: none;
}

/* ── Allowance code badge ─────────────────────────────────── */
.badge-code[b-rsuasc0n05] {
    display: inline-block;
    padding: 2px 8px;
    background: #eff6ff;
    color: #1d4ed8;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.03em;
}

/* ── Row action buttons ───────────────────────────────────── */
.btn-edit[b-rsuasc0n05], .btn-delete[b-rsuasc0n05], .btn-confirm-del[b-rsuasc0n05], .btn-cancel-del[b-rsuasc0n05] {
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-edit[b-rsuasc0n05] { background: #eff6ff; color: #1d4ed8; margin-right: 6px; }
.btn-edit:hover:enabled[b-rsuasc0n05] { background: #dbeafe; }

.btn-delete[b-rsuasc0n05] { background: #fef2f2; color: #dc2626; }
.btn-delete:hover:enabled[b-rsuasc0n05] { background: #fee2e2; }

.confirm-msg[b-rsuasc0n05] {
    font-size: 12px;
    color: #dc2626;
    margin-right: 8px;
    font-weight: 600;
}

.btn-confirm-del[b-rsuasc0n05] { background: #dc2626; color: #fff; margin-right: 4px; }
.btn-confirm-del:hover:enabled[b-rsuasc0n05] { background: #b91c1c; }

.btn-cancel-del[b-rsuasc0n05] { background: #f3f4f6; color: #374151; }
.btn-cancel-del:hover:enabled[b-rsuasc0n05] { background: #e5e7eb; }

/* ── Spinner ──────────────────────────────────────────────── */
.spinner[b-rsuasc0n05] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-rsuasc0n05 0.75s linear infinite;
}

@keyframes spin-b-rsuasc0n05 { to { transform: rotate(360deg); } }
/* /Pages/Login.razor.rz.scp.css */
/* ── Backdrop ─────────────────────────────────────────────── */
.dialog-backdrop[b-0x4oi2r0ev] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(3px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 16px;
}

/* ── Dialog box ───────────────────────────────────────────── */
.dialog[b-0x4oi2r0ev] {
    width: 100%;
    max-width: 400px;
    max-height: calc(100vh - 32px);
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    animation: dialog-in-b-0x4oi2r0ev 0.18s ease-out;
}

@keyframes dialog-in-b-0x4oi2r0ev {
    from {
        opacity: 0;
        transform: translateY(-12px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ── Header ───────────────────────────────────────────────── */
.dialog-header[b-0x4oi2r0ev] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px 12px;
    background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 100%);
    flex-shrink: 0;
}

.dialog-logo[b-0x4oi2r0ev] {
    font-size: 22px;
    line-height: 1;
    flex-shrink: 0;
}

.dialog-title[b-0x4oi2r0ev] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.01em;
}

.dialog-subtitle[b-0x4oi2r0ev] {
    margin: 1px 0 0;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.75);
}

/* ── Body ─────────────────────────────────────────────────── */
.dialog-body[b-0x4oi2r0ev] {
    padding: 16px 20px 6px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow-y: auto;
    flex: 1;
}

/* ── Field rows ───────────────────────────────────────────── */
.field-row[b-0x4oi2r0ev] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.field-label[b-0x4oi2r0ev] {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
}

.required[b-0x4oi2r0ev] {
    color: #dc2626;
}

.field-input[b-0x4oi2r0ev],
.field-select[b-0x4oi2r0ev] {
    padding: 7px 10px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    color: #111827;
    background: #ffffff;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.field-input:focus[b-0x4oi2r0ev],
.field-select:focus[b-0x4oi2r0ev] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
}

.field-input.input-error[b-0x4oi2r0ev] {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

.field-input:disabled[b-0x4oi2r0ev],
.field-select:disabled[b-0x4oi2r0ev] {
    background: #f9fafb;
    color: #9ca3af;
    cursor: not-allowed;
}

.field-select[b-0x4oi2r0ev] {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4.5 4.5L10 1'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 28px;
}

.field-error[b-0x4oi2r0ev] {
    font-size: 11px;
    color: #dc2626;
}

/* ── Alert banner ─────────────────────────────────────────── */
.alert-error[b-0x4oi2r0ev] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    font-size: 12px;
    color: #991b1b;
}

.alert-icon[b-0x4oi2r0ev] {
    font-size: 14px;
    flex-shrink: 0;
}

/* ── Footer ───────────────────────────────────────────────── */
.dialog-footer[b-0x4oi2r0ev] {
    padding: 12px 20px 16px;
    flex-shrink: 0;
}

.btn-signin[b-0x4oi2r0ev] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px 0;
    background: #1d4ed8;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 9px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
}

.btn-signin:hover:enabled[b-0x4oi2r0ev] {
    background: #1e40af;
}

.btn-signin:active:enabled[b-0x4oi2r0ev] {
    transform: translateY(1px);
}

.btn-signin:disabled[b-0x4oi2r0ev] {
    background: #93c5fd;
    cursor: not-allowed;
}

/* ── Spinner ──────────────────────────────────────────────── */
.spinner[b-0x4oi2r0ev] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #ffffff;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-0x4oi2r0ev 0.75s linear infinite;
}

@keyframes spin-b-0x4oi2r0ev {
    to { transform: rotate(360deg); }
}

/* ── Wider dialog for setup ───────────────────────────────── */
.dialog--setup[b-0x4oi2r0ev] {
    max-width: 460px;
}

/* ── Verify intro ─────────────────────────────────────────── */
.verify-intro p[b-0x4oi2r0ev] {
    margin: 0;
    font-size: 12px;
    color: #4b5563;
    line-height: 1.5;
}

.verify-hint[b-0x4oi2r0ev] {
    color: #6b7280 !important;
    font-size: 11px !important;
}

/* ── TOTP code input ──────────────────────────────────────── */
.totp-input[b-0x4oi2r0ev] {
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 8px;
    padding: 8px 0;
}

/* ── Setup wizard ─────────────────────────────────────────── */
.setup-wizard[b-0x4oi2r0ev] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.setup-step[b-0x4oi2r0ev] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.step-badge[b-0x4oi2r0ev] {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    background: #1d4ed8;
    color: #fff;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
}

.step-body[b-0x4oi2r0ev] {
    flex: 1;
    min-width: 0;
}

.step-title[b-0x4oi2r0ev] {
    margin: 0 0 3px;
    font-size: 13px;
    font-weight: 600;
    color: #1f2937;
}

.step-desc[b-0x4oi2r0ev] {
    margin: 0 0 8px;
    font-size: 12px;
    color: #4b5563;
    line-height: 1.4;
}

/* ── QR code ──────────────────────────────────────────────── */
.qr-wrapper[b-0x4oi2r0ev] {
    display: inline-flex;
    padding: 6px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    margin-bottom: 8px;
}

.qr-wrapper img[b-0x4oi2r0ev],
.qr-wrapper svg[b-0x4oi2r0ev] {
    width: 148px !important;
    height: 148px !important;
    display: block;
}

.qr-placeholder[b-0x4oi2r0ev] {
    width: 148px;
    height: 148px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #9ca3af;
}

/* ── Manual entry ─────────────────────────────────────────── */
.manual-entry[b-0x4oi2r0ev] {
    font-size: 11px;
    color: #6b7280;
}

.manual-entry summary[b-0x4oi2r0ev] {
    padding: 2px 0;
    color: #2563eb;
    cursor: pointer;
    user-select: none;
    font-size: 11px;
}

.manual-secret[b-0x4oi2r0ev] {
    margin-top: 5px;
    padding: 6px 8px;
    background: #f1f5f9;
    border: 1px dashed #cbd5e1;
    border-radius: 6px;
    font-family: monospace;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    color: #1e3a8a;
    word-break: break-all;
}

/* ── Back button ──────────────────────────────────────────── */
.btn-back[b-0x4oi2r0ev] {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 6px 0;
    background: transparent;
    border: none;
    color: #6b7280;
    font-size: 12px;
    cursor: pointer;
    text-align: center;
    transition: color 0.15s;
}

.btn-back:hover:enabled[b-0x4oi2r0ev] {
    color: #1d4ed8;
}
/* /Pages/MapExcelSetup.razor.rz.scp.css */
/* Shared setup-page styles — copied verbatim into each *.razor.css */
.setup-page[b-ber5s8xemq] { padding: 24px; }
.setup-panel[b-ber5s8xemq] { background:#fff; border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.08); overflow:hidden; }
.panel-header[b-ber5s8xemq] { padding:20px 24px 16px; border-bottom:1px solid #e5e7eb; }
.panel-title-row[b-ber5s8xemq] { display:flex; align-items:center; justify-content:space-between; }
.panel-title[b-ber5s8xemq] { margin:0; font-size:18px; font-weight:700; color:#1f2937; }
.header-right[b-ber5s8xemq] { display:flex; align-items:center; gap:12px; }
.filter-label[b-ber5s8xemq] { font-size:13px; font-weight:600; color:#374151; }
.filter-select[b-ber5s8xemq] { padding:6px 10px; border:1px solid #d1d5db; border-radius:7px; font-size:13px; color:#111827; background:#fff; cursor:pointer; }
.btn-add[b-ber5s8xemq] { padding:8px 16px; background:#1d4ed8; color:#fff; font-size:13px; font-weight:600; border:none; border-radius:8px; cursor:pointer; transition:background .15s; }
.btn-add:hover[b-ber5s8xemq] { background:#1e40af; }
.form-panel[b-ber5s8xemq] { padding:20px 24px; background:#f8fafc; border-bottom:1px solid #e5e7eb; }
.form-title[b-ber5s8xemq] { margin:0 0 16px; font-size:14px; font-weight:600; color:#374151; }
.form-grid[b-ber5s8xemq] { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px 20px; margin-bottom:14px; }
.field-row[b-ber5s8xemq] { display:flex; flex-direction:column; gap:4px; }
.field-label[b-ber5s8xemq] { font-size:12px; font-weight:600; color:#374151; }
.required[b-ber5s8xemq] { color:#dc2626; }
.field-input[b-ber5s8xemq] { padding:8px 10px; border:1px solid #d1d5db; border-radius:7px; font-size:13px; color:#111827; background:#fff; width:100%; box-sizing:border-box; transition:border-color .15s,box-shadow .15s; }
.field-input:focus[b-ber5s8xemq] { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15); }
.field-input.input-error[b-ber5s8xemq] { border-color:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,.1); }
.field-input.field-readonly[b-ber5s8xemq] { background:#f3f4f6; color:#6b7280; cursor:not-allowed; }
.field-error[b-ber5s8xemq] { font-size:11px; color:#dc2626; }
.check-grid[b-ber5s8xemq] { display:flex; flex-wrap:wrap; gap:10px 32px; margin-bottom:16px; }
.check-row[b-ber5s8xemq] { display:flex; align-items:center; gap:7px; font-size:13px; color:#374151; cursor:pointer; user-select:none; }
.check-row input[type="checkbox"][b-ber5s8xemq] { width:15px; height:15px; accent-color:#1d4ed8; cursor:pointer; flex-shrink:0; }
.alert-error[b-ber5s8xemq] { display:flex; align-items:center; gap:8px; padding:9px 12px; background:#fef2f2; border:1px solid #fca5a5; border-radius:7px; font-size:13px; color:#991b1b; margin-bottom:12px; }
.form-actions[b-ber5s8xemq] { display:flex; gap:10px; }
.btn-save[b-ber5s8xemq] { display:inline-flex; align-items:center; gap:6px; padding:8px 20px; background:#1d4ed8; color:#fff; font-size:13px; font-weight:600; border:none; border-radius:7px; cursor:pointer; transition:background .15s; }
.btn-save:hover:enabled[b-ber5s8xemq] { background:#1e40af; }
.btn-save:disabled[b-ber5s8xemq] { background:#93c5fd; cursor:not-allowed; }
.btn-cancel[b-ber5s8xemq] { padding:8px 16px; background:transparent; color:#6b7280; font-size:13px; border:1px solid #d1d5db; border-radius:7px; cursor:pointer; }
.btn-cancel:hover:enabled[b-ber5s8xemq] { border-color:#9ca3af; color:#374151; }
.table-wrap[b-ber5s8xemq] { padding:16px 24px 24px; overflow-x:auto; }
.loading-msg[b-ber5s8xemq],.empty-msg[b-ber5s8xemq] { padding:32px 0; text-align:center; font-size:14px; color:#6b7280; }
.data-table[b-ber5s8xemq] { width:100%; border-collapse:collapse; font-size:13px; }
.data-table th[b-ber5s8xemq] { text-align:left; padding:10px 12px; font-size:11px; font-weight:600; color:#6b7280; text-transform:uppercase; letter-spacing:.04em; border-bottom:2px solid #e5e7eb; white-space:nowrap; line-height:1.4; }
.data-table td[b-ber5s8xemq] { padding:10px 12px; border-bottom:1px solid #f3f4f6; color:#1f2937; vertical-align:middle; }
.data-table tr:last-child td[b-ber5s8xemq] { border-bottom:none; }
.data-table tr:hover td[b-ber5s8xemq] { background:#f9fafb; }
.data-table tr.row-deleting td[b-ber5s8xemq] { background:#fef2f2; }
.col-str[b-ber5s8xemq] { text-align:left; }
.col-num[b-ber5s8xemq] { text-align:right; }
.col-num-hdr[b-ber5s8xemq] { text-align:left; }
.col-center[b-ber5s8xemq] { text-align:center; }
.col-col[b-ber5s8xemq] { text-align:center; width:100px; }
.col-code[b-ber5s8xemq] { font-weight:600; font-family:monospace; }
.col-actions[b-ber5s8xemq] { text-align:right; white-space:nowrap; width:1%; }
.data-table input[type="checkbox"][b-ber5s8xemq] { width:15px; height:15px; accent-color:#1d4ed8; pointer-events:none; }
.badge-code[b-ber5s8xemq] { display:inline-block; padding:2px 8px; background:#eff6ff; color:#1d4ed8; border-radius:5px; font-size:12px; font-weight:600; }
.badge-type[b-ber5s8xemq] { display:inline-block; padding:2px 8px; border-radius:5px; font-size:11px; font-weight:700; letter-spacing:.03em; }
.badge-monthly[b-ber5s8xemq] { background:#ecfdf5; color:#065f46; }
.badge-hourly[b-ber5s8xemq]  { background:#fff7ed; color:#9a3412; }
.badge-yes[b-ber5s8xemq] { display:inline-block; padding:1px 8px; background:#ecfdf5; color:#065f46; border-radius:5px; font-size:12px; font-weight:700; }
.badge-no[b-ber5s8xemq]  { display:inline-block; padding:1px 8px; background:#f3f4f6; color:#6b7280; border-radius:5px; font-size:12px; font-weight:600; }
.badge-col[b-ber5s8xemq] { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; background:#1d4ed8; color:#fff; border-radius:8px; font-size:14px; font-weight:700; font-family:monospace; }
.field-col[b-ber5s8xemq] { max-width:80px; text-transform:uppercase; font-weight:700; text-align:center; }
.btn-edit[b-ber5s8xemq],.btn-delete[b-ber5s8xemq],.btn-confirm-del[b-ber5s8xemq],.btn-cancel-del[b-ber5s8xemq] { padding:5px 12px; font-size:12px; font-weight:600; border-radius:6px; border:none; cursor:pointer; transition:background .15s; }
.btn-edit[b-ber5s8xemq] { background:#eff6ff; color:#1d4ed8; margin-right:6px; }
.btn-edit:hover:enabled[b-ber5s8xemq] { background:#dbeafe; }
.btn-delete[b-ber5s8xemq] { background:#fef2f2; color:#dc2626; }
.btn-delete:hover:enabled[b-ber5s8xemq] { background:#fee2e2; }
.confirm-msg[b-ber5s8xemq] { font-size:12px; color:#dc2626; margin-right:8px; font-weight:600; }
.btn-confirm-del[b-ber5s8xemq] { background:#dc2626; color:#fff; margin-right:4px; }
.btn-confirm-del:hover:enabled[b-ber5s8xemq] { background:#b91c1c; }
.btn-cancel-del[b-ber5s8xemq] { background:#f3f4f6; color:#374151; }
.btn-cancel-del:hover:enabled[b-ber5s8xemq] { background:#e5e7eb; }
.spinner[b-ber5s8xemq] { width:13px; height:13px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; display:inline-block; animation:spin-b-ber5s8xemq .75s linear infinite; }
@keyframes spin-b-ber5s8xemq { to { transform:rotate(360deg); } }
/* /Pages/PayitemSetupPage.razor.rz.scp.css */
/* ── Layout ──────────────────────────────────────────────────── */
.setup-page[b-uong6jeg5p] { padding: 24px; }
.setup-panel[b-uong6jeg5p] { background: #fff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,.08); overflow: hidden; }

/* ── Header ──────────────────────────────────────────────────── */
.panel-header[b-uong6jeg5p] { padding: 20px 24px 16px; border-bottom: 1px solid #e5e7eb; }
.panel-title-row[b-uong6jeg5p] { display: flex; align-items: center; justify-content: space-between; }
.panel-title[b-uong6jeg5p] { margin: 0; font-size: 18px; font-weight: 700; color: #1f2937; }
.btn-add[b-uong6jeg5p] { padding: 8px 16px; background: #1d4ed8; color: #fff; font-size: 13px; font-weight: 600; border: none; border-radius: 8px; cursor: pointer; transition: background .15s; }
.btn-add:hover[b-uong6jeg5p] { background: #1e40af; }

/* ── Form panel ──────────────────────────────────────────────── */
.form-panel[b-uong6jeg5p] { padding: 20px 24px; background: #f8fafc; border-bottom: 1px solid #e5e7eb; }
.form-title[b-uong6jeg5p] { margin: 0 0 16px; font-size: 14px; font-weight: 600; color: #374151; }
.form-grid[b-uong6jeg5p] { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px 20px; margin-bottom: 14px; }
.field-row[b-uong6jeg5p] { display: flex; flex-direction: column; gap: 4px; }
.field-label[b-uong6jeg5p] { font-size: 12px; font-weight: 600; color: #374151; }
.required[b-uong6jeg5p] { color: #dc2626; }

/* ── Inputs ──────────────────────────────────────────────────── */
.field-input[b-uong6jeg5p] { padding: 8px 10px; border: 1px solid #d1d5db; border-radius: 7px; font-size: 13px; color: #111827; background: #fff; width: 100%; box-sizing: border-box; transition: border-color .15s, box-shadow .15s; }
.field-input:focus[b-uong6jeg5p] { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
.field-input.input-error[b-uong6jeg5p] { border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220,38,38,.1); }
.field-error[b-uong6jeg5p] { font-size: 11px; color: #dc2626; }

/* ── Allow Code input + lookup button ────────────────────────── */
.input-group[b-uong6jeg5p] { display: flex; gap: 0; }
.input-group .field-input[b-uong6jeg5p] { border-top-right-radius: 0; border-bottom-right-radius: 0; flex: 1; }
.btn-lookup[b-uong6jeg5p] { padding: 0 10px; background: #f3f4f6; border: 1px solid #d1d5db; border-left: none; border-top-right-radius: 7px; border-bottom-right-radius: 7px; font-size: 14px; cursor: pointer; color: #374151; transition: background .15s, color .15s; flex-shrink: 0; }
.btn-lookup:hover[b-uong6jeg5p] { background: #dbeafe; color: #1d4ed8; }

/* ── Alert ───────────────────────────────────────────────────── */
.alert-error[b-uong6jeg5p] { display: flex; align-items: center; gap: 8px; padding: 9px 12px; background: #fef2f2; border: 1px solid #fca5a5; border-radius: 7px; font-size: 13px; color: #991b1b; margin-bottom: 12px; }

/* ── Form actions ────────────────────────────────────────────── */
.form-actions[b-uong6jeg5p] { display: flex; gap: 10px; }
.btn-save[b-uong6jeg5p] { display: inline-flex; align-items: center; gap: 6px; padding: 8px 20px; background: #1d4ed8; color: #fff; font-size: 13px; font-weight: 600; border: none; border-radius: 7px; cursor: pointer; transition: background .15s; }
.btn-save:hover:enabled[b-uong6jeg5p] { background: #1e40af; }
.btn-save:disabled[b-uong6jeg5p] { background: #93c5fd; cursor: not-allowed; }
.btn-cancel[b-uong6jeg5p] { padding: 8px 16px; background: transparent; color: #6b7280; font-size: 13px; border: 1px solid #d1d5db; border-radius: 7px; cursor: pointer; }
.btn-cancel:hover:enabled[b-uong6jeg5p] { border-color: #9ca3af; color: #374151; }

/* ── Table ───────────────────────────────────────────────────── */
.table-wrap[b-uong6jeg5p] { padding: 16px 24px 24px; overflow-x: auto; }
.loading-msg[b-uong6jeg5p], .empty-msg[b-uong6jeg5p] { padding: 32px 0; text-align: center; font-size: 14px; color: #6b7280; }
.data-table[b-uong6jeg5p] { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table th[b-uong6jeg5p] { text-align: left; padding: 10px 12px; font-size: 11px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: .04em; border-bottom: 2px solid #e5e7eb; white-space: nowrap; }
.data-table td[b-uong6jeg5p] { padding: 10px 12px; border-bottom: 1px solid #f3f4f6; color: #1f2937; vertical-align: middle; }
.data-table tr:last-child td[b-uong6jeg5p] { border-bottom: none; }
.data-table tr:hover td[b-uong6jeg5p] { background: #f9fafb; }
.data-table tr.row-deleting td[b-uong6jeg5p] { background: #fef2f2; }
.col-str[b-uong6jeg5p] { text-align: left; }
.col-actions[b-uong6jeg5p] { text-align: right; white-space: nowrap; width: 1%; }

/* ── Row action buttons ──────────────────────────────────────── */
.btn-edit[b-uong6jeg5p], .btn-delete[b-uong6jeg5p], .btn-confirm-del[b-uong6jeg5p], .btn-cancel-del[b-uong6jeg5p] { padding: 5px 12px; font-size: 12px; font-weight: 600; border-radius: 6px; border: none; cursor: pointer; transition: background .15s; }
.btn-edit[b-uong6jeg5p] { background: #eff6ff; color: #1d4ed8; margin-right: 6px; }
.btn-edit:hover:enabled[b-uong6jeg5p] { background: #dbeafe; }
.btn-delete[b-uong6jeg5p] { background: #fef2f2; color: #dc2626; }
.btn-delete:hover:enabled[b-uong6jeg5p] { background: #fee2e2; }
.confirm-msg[b-uong6jeg5p] { font-size: 12px; color: #dc2626; margin-right: 8px; font-weight: 600; }
.btn-confirm-del[b-uong6jeg5p] { background: #dc2626; color: #fff; margin-right: 4px; }
.btn-confirm-del:hover:enabled[b-uong6jeg5p] { background: #b91c1c; }
.btn-cancel-del[b-uong6jeg5p] { background: #f3f4f6; color: #374151; }
.btn-cancel-del:hover:enabled[b-uong6jeg5p] { background: #e5e7eb; }

/* ── Spinner ─────────────────────────────────────────────────── */
.spinner[b-uong6jeg5p] { width: 13px; height: 13px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; display: inline-block; animation: spin-b-uong6jeg5p .75s linear infinite; }
@keyframes spin-b-uong6jeg5p { to { transform: rotate(360deg); } }
/* /Pages/PayrollChat.razor.rz.scp.css */
.chat-container[b-ehlynmsq0o] {
    display: flex;
    height: calc(100vh - 70px);
    gap: 0;
}

.chat-sidebar[b-ehlynmsq0o] {
    width: 260px;
    background: #f8f9fa;
    border-right: 1px solid #dee2e6;
    padding: 16px;
    overflow-y: auto;
    flex-shrink: 0;
}

.chat-sidebar h5[b-ehlynmsq0o] {
    margin-bottom: 4px;
}

.chat-main[b-ehlynmsq0o] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.chat-header[b-ehlynmsq0o] {
    padding: 12px 16px;
    border-bottom: 1px solid #dee2e6;
    background: #fff;
    display: flex;
    align-items: center;
}

.chat-header h5[b-ehlynmsq0o] {
    margin: 0;
}

.chat-messages[b-ehlynmsq0o] {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    background: #f5f5f5;
}

.message[b-ehlynmsq0o] {
    margin-bottom: 12px;
    max-width: 80%;
}

.message-user[b-ehlynmsq0o] {
    margin-left: auto;
}

.message-bot[b-ehlynmsq0o] {
    margin-right: auto;
}

.message-bubble[b-ehlynmsq0o] {
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.5;
    word-wrap: break-word;
}

.message-user .message-bubble[b-ehlynmsq0o] {
    background: #007bff;
    color: #fff;
    border-bottom-right-radius: 4px;
}

.message-bot .message-bubble[b-ehlynmsq0o] {
    background: #fff;
    border: 1px solid #dee2e6;
    border-bottom-left-radius: 4px;
}

.message-bot .message-bubble strong[b-ehlynmsq0o] {
    color: #333;
}

.message-bot .message-bubble h6[b-ehlynmsq0o] {
    font-size: 14px;
    font-weight: 700;
    margin: 8px 0 4px;
    color: #212529;
}

.message-bot .thinking[b-ehlynmsq0o] {
    background: #fff;
    border: 1px solid #dee2e6;
    color: #666;
    display: flex;
    align-items: center;
}

.message-meta[b-ehlynmsq0o] {
    font-size: 11px;
    padding: 2px 12px;
    opacity: 0.7;
}

.message-user .message-meta[b-ehlynmsq0o] {
    text-align: right;
}

.chat-input[b-ehlynmsq0o] {
    padding: 12px 16px;
    border-top: 1px solid #dee2e6;
    background: #fff;
}

.prompt-session-bar[b-ehlynmsq0o] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 8px;
    font-size: 12px;
}

.prompt-session-label[b-ehlynmsq0o] {
    color: #6c757d;
    font-weight: 600;
}

.prompt-session-employee[b-ehlynmsq0o] {
    display: inline-flex;
    align-items: center;
    max-width: 420px;
    padding: 3px 8px;
    border: 1px solid #ffc107;
    border-radius: 999px;
    background: #fff3cd;
    color: #664d03;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.prompt-session-hint[b-ehlynmsq0o] {
    color: #6c757d;
    font-size: 12px;
}

.chat-input input[b-ehlynmsq0o] {
    border-radius: 20px;
}

.suggestions[b-ehlynmsq0o] {
    margin-top: 8px;
}

.suggestions .btn[b-ehlynmsq0o] {
    font-size: 12px;
}

.run-info[b-ehlynmsq0o] {
    font-size: 13px;
}

.markdown-body[b-ehlynmsq0o] {
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

.markdown-body h6[b-ehlynmsq0o] {
    font-weight: 700;
    font-size: 14px;
    margin: 6px 0 3px;
}

.markdown-body strong[b-ehlynmsq0o] {
    font-weight: 700;
}

.chart-container[b-ehlynmsq0o] {
    width: 100%;
    max-width: 600px;
    margin: 8px 0;
    padding: 8px;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
}

.chart-container canvas[b-ehlynmsq0o] {
    width: 100% !important;
    max-height: 350px;
}

.download-btn[b-ehlynmsq0o] {
    font-size: 13px;
    padding: 4px 14px;
    border-radius: 6px;
}

.download-btn:hover[b-ehlynmsq0o] {
    opacity: 0.9;
}

.chart-actions[b-ehlynmsq0o] {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.chart-actions .btn[b-ehlynmsq0o] {
    font-size: 12px;
    padding: 4px 12px;
}

.clarification-section[b-ehlynmsq0o] {
    border-top: 1px solid #e9ecef;
    padding-top: 8px;
}

.clarification-text[b-ehlynmsq0o] {
    color: #6c757d;
    font-style: italic;
}

.clarification-chips[b-ehlynmsq0o] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.clarification-chip[b-ehlynmsq0o] {
    border-radius: 16px;
    padding: 4px 14px;
    font-size: 13px;
    transition: all 0.2s ease;
    white-space: normal;
    text-align: left;
}

.clarification-chip:hover[b-ehlynmsq0o] {
    background: #007bff;
    color: #fff;
    border-color: #007bff;
}

/* ── Employee Context Card (sidebar) ─────────────────────────── */
.emp-context-card[b-ehlynmsq0o] {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 8px;
    padding: 10px 12px;
    margin-top: 4px;
}

.emp-context-info[b-ehlynmsq0o] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.emp-context-no[b-ehlynmsq0o] {
    font-family: monospace;
    font-weight: 700;
    font-size: 13px;
    color: #856404;
}

.emp-context-name[b-ehlynmsq0o] {
    font-size: 12px;
    color: #6c757d;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

/* ── Employee badge in chat header ───────────────────────────── */
.emp-header-name[b-ehlynmsq0o] {
    font-size: 12px;
    color: #495057;
    font-style: italic;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
    display: inline-block;
    vertical-align: middle;
}

@media (max-width: 768px) {
    .chat-container[b-ehlynmsq0o] {
        flex-direction: column;
    }
    .chat-sidebar[b-ehlynmsq0o] {
        width: 100%;
        max-height: 200px;
    }
    .message[b-ehlynmsq0o] {
        max-width: 95%;
    }
    .chart-container[b-ehlynmsq0o] {
        max-width: 100%;
    }
    .chart-container canvas[b-ehlynmsq0o] {
        max-height: 250px;
    }
    .prompt-session-employee[b-ehlynmsq0o] {
        max-width: 100%;
    }
}
/* /Pages/PreprocessedPayItems.razor.rz.scp.css */
/* ── Page shell ───────────────────────────────────────────── */
.ppi-page[b-9hn86bn6ar] {
    padding: 24px 28px;
    max-width: 1200px;
}

/* ── Header ───────────────────────────────────────────────── */
.ppi-header[b-9hn86bn6ar] { margin-bottom: 20px; }

.ppi-title[b-9hn86bn6ar] {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 700;
    color: #111827;
}

.ppi-subtitle[b-9hn86bn6ar] {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
}

/* ── Filter bar ───────────────────────────────────────────── */
.ppi-filter-bar[b-9hn86bn6ar] {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 14px;
    padding: 16px 20px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    margin-bottom: 20px;
}

.ppi-field[b-9hn86bn6ar] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ppi-field--actions[b-9hn86bn6ar] {
    flex-direction: row;
    align-items: flex-end;
    gap: 8px;
    margin-left: auto;
}

.ppi-label[b-9hn86bn6ar] {
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ppi-input-group[b-9hn86bn6ar] {
    display: flex;
    align-items: center;
}

.ppi-input[b-9hn86bn6ar] {
    padding: 7px 11px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
    height: 34px;
    box-sizing: border-box;
}
.ppi-input:focus[b-9hn86bn6ar] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.13);
}

.ppi-input--search[b-9hn86bn6ar]  { width: 180px; }
.ppi-input--empno[b-9hn86bn6ar]   { width: 140px; border-radius: 8px 0 0 8px; border-right: none; }
.ppi-input--userid[b-9hn86bn6ar]  { width: 110px; }
.ppi-input--period[b-9hn86bn6ar]  { width: 100px; }
.ppi-input--cycle[b-9hn86bn6ar]   { width: 90px; cursor: pointer; }

.ppi-btn-browse[b-9hn86bn6ar] {
    padding: 0 10px;
    height: 34px;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 0 8px 8px 0;
    font-size: 14px;
    cursor: pointer;
    color: #374151;
    transition: background 0.15s;
    line-height: 1;
    box-sizing: border-box;
}
.ppi-btn-browse:hover[b-9hn86bn6ar] { background: #f3f4f6; }

/* ── Unified action buttons ───────────────────────────────── */
.ppi-btn[b-9hn86bn6ar] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 18px;
    height: 34px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.15s, opacity 0.15s, border-color 0.15s;
    box-sizing: border-box;
    white-space: nowrap;
}
.ppi-btn:disabled[b-9hn86bn6ar] { opacity: 0.5; cursor: not-allowed; }

.ppi-btn--primary[b-9hn86bn6ar] {
    background: #1d4ed8;
    color: #fff;
    border-color: #1d4ed8;
}
.ppi-btn--primary:hover:not(:disabled)[b-9hn86bn6ar] { background: #1e40af; border-color: #1e40af; }

.ppi-btn--success[b-9hn86bn6ar] {
    background: #16a34a;
    color: #fff;
    border-color: #16a34a;
}
.ppi-btn--success:hover:not(:disabled)[b-9hn86bn6ar] { background: #15803d; border-color: #15803d; }

.ppi-btn--ghost[b-9hn86bn6ar] {
    background: transparent;
    color: #6b7280;
    border-color: #d1d5db;
}
.ppi-btn--ghost:hover:not(:disabled)[b-9hn86bn6ar] { background: #f3f4f6; border-color: #9ca3af; color: #374151; }

/* ── Spinner ──────────────────────────────────────────────── */
.ppi-spinner[b-9hn86bn6ar] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ppi-spin-b-9hn86bn6ar 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes ppi-spin-b-9hn86bn6ar { to { transform: rotate(360deg); } }

/* ── Status placeholder ───────────────────────────────────── */
.ppi-status[b-9hn86bn6ar] {
    padding: 40px 0;
    text-align: center;
    font-size: 13px;
    color: #6b7280;
}

/* ── Results table wrapper ────────────────────────────────── */
.ppi-table-wrap[b-9hn86bn6ar] {
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: 10px 10px 0 0;
    border-bottom: none;
}

/* LookupGrid styles pierced through scoping */
[b-9hn86bn6ar] .lg-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

[b-9hn86bn6ar] .lg-table th {
    position: sticky;
    top: 0;
    background: #f9fafb;
    text-align: left;
    padding: 9px 14px;
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

[b-9hn86bn6ar] .lg-th--active { color: #1d4ed8; }

[b-9hn86bn6ar] .lg-sort-arrow {
    font-size: 9px;
    margin-left: 4px;
    vertical-align: middle;
}

[b-9hn86bn6ar] .lg-table td {
    padding: 10px 14px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    white-space: nowrap;
}

[b-9hn86bn6ar] .lg-table tr:last-child td { border-bottom: none; }

[b-9hn86bn6ar] .lg-row {
    cursor: pointer;
    transition: background 0.1s;
}
[b-9hn86bn6ar] .lg-row:hover td { background: #eff6ff; }

[b-9hn86bn6ar] .lg-status {
    padding: 40px 20px;
    text-align: center;
    font-size: 13px;
    color: #6b7280;
}

/* ── Footer: count + pagination + page-size ──────────────── */
.ppi-footer[b-9hn86bn6ar] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 0 0 10px 10px;
    background: #f9fafb;
}

.ppi-count[b-9hn86bn6ar] {
    font-size: 12px;
    color: #9ca3af;
    min-width: 80px;
}

.ppi-pagination[b-9hn86bn6ar] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ppi-pg-btn[b-9hn86bn6ar] {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
    transition: background 0.15s;
    padding: 0;
    line-height: 1;
}
.ppi-pg-btn:hover:not(:disabled)[b-9hn86bn6ar] { background: #f3f4f6; border-color: #9ca3af; }
.ppi-pg-btn:disabled[b-9hn86bn6ar]              { opacity: 0.4; cursor: not-allowed; }

.ppi-pg-info[b-9hn86bn6ar] {
    font-size: 12px;
    color: #374151;
    white-space: nowrap;
    padding: 0 6px;
}

.ppi-pagesize-group[b-9hn86bn6ar] {
    display: flex;
    align-items: center;
    gap: 5px;
}

.ppi-pagesize-label[b-9hn86bn6ar] { font-size: 12px; color: #6b7280; }

.ppi-pagesize-select[b-9hn86bn6ar] {
    padding: 4px 8px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 12px;
    color: #374151;
    background: #fff;
    cursor: pointer;
}
/* /Pages/QueryWriterPage.razor.rz.scp.css */
.setup-page[b-tcc32oyp27] {
    padding: 24px;
}

.setup-panel[b-tcc32oyp27] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    overflow: hidden;
}

.panel-header[b-tcc32oyp27] {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.panel-title-row[b-tcc32oyp27] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.panel-title[b-tcc32oyp27] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

.header-actions[b-tcc32oyp27] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.selected-query[b-tcc32oyp27] {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 4px 9px;
    border-radius: 6px;
    background: #ecfdf5;
    color: #047857;
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
    font-weight: 700;
}

.btn-select[b-tcc32oyp27],
.btn-add[b-tcc32oyp27] {
    min-height: 34px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.btn-select[b-tcc32oyp27] {
    background: #f3f4f6;
    color: #1f2937;
}

.btn-select:hover:enabled[b-tcc32oyp27] {
    background: #e5e7eb;
}

.btn-add[b-tcc32oyp27] {
    background: #1d4ed8;
    color: #ffffff;
}

.btn-add:hover:enabled[b-tcc32oyp27] {
    background: #1e40af;
}

.filter-toolbar[b-tcc32oyp27] {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 24px;
    border-bottom: 1px solid #f3f4f6;
}

.filter-group[b-tcc32oyp27],
.page-size-group[b-tcc32oyp27] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-group[b-tcc32oyp27] {
    flex: 1;
}

.filter-label[b-tcc32oyp27],
.page-size-label[b-tcc32oyp27] {
    font-size: 12px;
    font-weight: 700;
    color: #374151;
}

.filter-input[b-tcc32oyp27],
.page-size-select[b-tcc32oyp27] {
    border: 1px solid #d1d5db;
    border-radius: 7px;
    background: #ffffff;
    color: #111827;
    font-size: 13px;
}

.filter-input[b-tcc32oyp27] {
    width: min(420px, 100%);
    padding: 8px 10px;
}

.page-size-select[b-tcc32oyp27] {
    padding: 7px 9px;
}

.filter-input:focus[b-tcc32oyp27],
.page-size-select:focus[b-tcc32oyp27] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,.14);
}

.alert-error[b-tcc32oyp27] {
    margin: 14px 24px 0;
    padding: 9px 12px;
    border: 1px solid #fca5a5;
    border-radius: 7px;
    background: #fef2f2;
    color: #991b1b;
    font-size: 13px;
}

.table-wrap[b-tcc32oyp27] {
    padding: 16px 24px 24px;
    overflow-x: auto;
}

.loading-msg[b-tcc32oyp27],
.empty-msg[b-tcc32oyp27] {
    padding: 32px 0;
    text-align: center;
    font-size: 14px;
    color: #6b7280;
}

.data-table[b-tcc32oyp27] {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
    font-size: 13px;
}

.data-table th[b-tcc32oyp27] {
    padding: 10px 12px;
    border-bottom: 2px solid #e5e7eb;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.data-table td[b-tcc32oyp27] {
    padding: 10px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}

.data-table tr:last-child td[b-tcc32oyp27] {
    border-bottom: none;
}

.data-table tr:hover td[b-tcc32oyp27] {
    background: #f9fafb;
}

.data-table tr.row-deleting td[b-tcc32oyp27] {
    background: #fef2f2;
}

.col-code[b-tcc32oyp27] {
    width: 150px;
}

.col-description[b-tcc32oyp27] {
    color: #4b5563;
}

.col-num[b-tcc32oyp27],
.col-num-hdr[b-tcc32oyp27] {
    text-align: right;
    width: 80px;
}

.col-actions[b-tcc32oyp27] {
    width: 1%;
    white-space: nowrap;
    text-align: right;
}

.badge-code[b-tcc32oyp27],
.badge-active[b-tcc32oyp27],
.badge-inactive[b-tcc32oyp27] {
    display: inline-block;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
}

.badge-code[b-tcc32oyp27] {
    padding: 3px 8px;
    background: #eff6ff;
    color: #1d4ed8;
    font-family: Consolas, "Courier New", monospace;
}

.badge-active[b-tcc32oyp27],
.badge-inactive[b-tcc32oyp27] {
    padding: 2px 8px;
}

.badge-active[b-tcc32oyp27] {
    background: #ecfdf5;
    color: #047857;
}

.badge-inactive[b-tcc32oyp27] {
    background: #f3f4f6;
    color: #6b7280;
}

.btn-edit[b-tcc32oyp27],
.btn-delete[b-tcc32oyp27],
.btn-confirm-del[b-tcc32oyp27],
.btn-cancel-del[b-tcc32oyp27],
.btn-page[b-tcc32oyp27] {
    border: none;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.btn-edit[b-tcc32oyp27],
.btn-delete[b-tcc32oyp27],
.btn-confirm-del[b-tcc32oyp27],
.btn-cancel-del[b-tcc32oyp27] {
    padding: 5px 12px;
}

.btn-edit[b-tcc32oyp27] {
    margin-right: 6px;
    background: #eff6ff;
    color: #1d4ed8;
}

.btn-edit:hover:enabled[b-tcc32oyp27] {
    background: #dbeafe;
}

.btn-delete[b-tcc32oyp27] {
    background: #fef2f2;
    color: #dc2626;
}

.btn-delete:hover:enabled[b-tcc32oyp27] {
    background: #fee2e2;
}

.confirm-msg[b-tcc32oyp27] {
    margin-right: 8px;
    color: #dc2626;
    font-size: 12px;
    font-weight: 700;
}

.btn-confirm-del[b-tcc32oyp27] {
    margin-right: 4px;
    background: #dc2626;
    color: #ffffff;
}

.btn-cancel-del[b-tcc32oyp27] {
    background: #f3f4f6;
    color: #374151;
}

.pagination-bar[b-tcc32oyp27] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
}

.page-info[b-tcc32oyp27] {
    font-size: 12px;
    color: #6b7280;
}

.page-btns[b-tcc32oyp27] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.btn-page[b-tcc32oyp27] {
    min-width: 30px;
    height: 30px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    color: #374151;
}

.btn-page:hover:enabled[b-tcc32oyp27],
.btn-page-active[b-tcc32oyp27] {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

button:disabled[b-tcc32oyp27] {
    opacity: .55;
    cursor: not-allowed;
}

@media (max-width: 720px) {
    .filter-toolbar[b-tcc32oyp27] {
        align-items: stretch;
        flex-direction: column;
    }

    .filter-group[b-tcc32oyp27],
    .page-size-group[b-tcc32oyp27] {
        justify-content: space-between;
    }
}
/* /Pages/RestDayRateSetup.razor.rz.scp.css */
/* ── Page wrapper ─────────────────────────────────────────── */
.setup-page[b-kqcd356a4g] { padding: 24px; }

/* ── Panel ────────────────────────────────────────────────── */
.setup-panel[b-kqcd356a4g] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* ── Panel header ─────────────────────────────────────────── */
.panel-header[b-kqcd356a4g] {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.panel-title-row[b-kqcd356a4g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.panel-title[b-kqcd356a4g] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

/* ── Buttons ──────────────────────────────────────────────── */
.btn-add[b-kqcd356a4g] {
    padding: 0 16px;
    height: 34px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-add:hover[b-kqcd356a4g] { background: #1e40af; }

.btn-save[b-kqcd356a4g] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 20px;
    height: 34px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-save:hover:enabled[b-kqcd356a4g] { background: #1e40af; }
.btn-save:disabled[b-kqcd356a4g]      { background: #93c5fd; cursor: not-allowed; }

.btn-cancel[b-kqcd356a4g] {
    padding: 0 16px;
    height: 34px;
    background: transparent;
    color: #6b7280;
    font-size: 13px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.btn-cancel:hover:enabled[b-kqcd356a4g] { border-color: #9ca3af; color: #374151; }

/* ── Inline form ──────────────────────────────────────────── */
.form-panel[b-kqcd356a4g] {
    padding: 20px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
}

.form-title[b-kqcd356a4g] {
    margin: 0 0 16px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.form-grid[b-kqcd356a4g] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
    max-width: 420px;
}

.field-row[b-kqcd356a4g] {
    display: grid;
    grid-template-columns: 120px 1fr;
    align-items: center;
    gap: 0 12px;
}

.field-label[b-kqcd356a4g] {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
}

.required[b-kqcd356a4g] { color: #dc2626; }

.field-input[b-kqcd356a4g] {
    padding: 0 10px;
    height: 34px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    box-sizing: border-box;
}
.field-input:focus[b-kqcd356a4g] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}
.field-input.input-error[b-kqcd356a4g] {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220,38,38,0.1);
}
.field-input.field-readonly[b-kqcd356a4g] { background: #f3f4f6; color: #6b7280; cursor: not-allowed; }

.field-error[b-kqcd356a4g] {
    grid-column: 2;
    font-size: 11px;
    color: #dc2626;
    margin-top: 2px;
}

/* ── Input + lookup button group ──────────────────────────── */
.input-group[b-kqcd356a4g] { display: flex; }

.input-group .field-input[b-kqcd356a4g] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    flex: 1;
}

.btn-lookup[b-kqcd356a4g] {
    padding: 0 10px;
    height: 34px;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-left: none;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    font-size: 14px;
    cursor: pointer;
    color: #374151;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
    box-sizing: border-box;
}
.btn-lookup:hover[b-kqcd356a4g] { background: #dbeafe; color: #1d4ed8; }

/* ── Alert ────────────────────────────────────────────────── */
.alert-error[b-kqcd356a4g] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 7px;
    font-size: 13px;
    color: #991b1b;
    margin-bottom: 12px;
}

.form-actions[b-kqcd356a4g] {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ── Table ────────────────────────────────────────────────── */
.table-wrap[b-kqcd356a4g] {
    padding: 16px 24px 24px;
    overflow-x: auto;
}

.loading-msg[b-kqcd356a4g], .empty-msg[b-kqcd356a4g] {
    padding: 32px 0;
    text-align: center;
    font-size: 14px;
    color: #6b7280;
}

.data-table[b-kqcd356a4g] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.data-table th[b-kqcd356a4g] {
    text-align: left;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid #e5e7eb;
    white-space: nowrap;
}

.data-table td[b-kqcd356a4g] {
    padding: 11px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}

.data-table tr:last-child td[b-kqcd356a4g] { border-bottom: none; }
.data-table tr:hover td[b-kqcd356a4g]      { background: #f9fafb; }
.data-table tr.row-deleting td[b-kqcd356a4g] { background: #fef2f2; }

.col-str[b-kqcd356a4g]     { text-align: left; }
.col-num-hdr[b-kqcd356a4g] { text-align: left; }
.col-num[b-kqcd356a4g]     { text-align: right; }
.col-actions[b-kqcd356a4g] { text-align: right; white-space: nowrap; width: 1%; }

/* ── Row action buttons ───────────────────────────────────── */
.btn-edit[b-kqcd356a4g], .btn-delete[b-kqcd356a4g], .btn-confirm-del[b-kqcd356a4g], .btn-cancel-del[b-kqcd356a4g] {
    padding: 0 12px;
    height: 28px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-edit[b-kqcd356a4g]           { background: #eff6ff; color: #1d4ed8; margin-right: 6px; }
.btn-edit:hover:enabled[b-kqcd356a4g]   { background: #dbeafe; }

.btn-delete[b-kqcd356a4g]         { background: #fef2f2; color: #dc2626; }
.btn-delete:hover:enabled[b-kqcd356a4g] { background: #fee2e2; }

.confirm-msg[b-kqcd356a4g] {
    font-size: 12px;
    color: #dc2626;
    margin-right: 8px;
    font-weight: 600;
}

.btn-confirm-del[b-kqcd356a4g]              { background: #dc2626; color: #fff; margin-right: 4px; }
.btn-confirm-del:hover:enabled[b-kqcd356a4g] { background: #b91c1c; }

.btn-cancel-del[b-kqcd356a4g]              { background: #f3f4f6; color: #374151; }
.btn-cancel-del:hover:enabled[b-kqcd356a4g] { background: #e5e7eb; }

/* ── Spinner ──────────────────────────────────────────────── */
.spinner[b-kqcd356a4g] {
    width: 13px; height: 13px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-kqcd356a4g 0.75s linear infinite;
}

@keyframes spin-b-kqcd356a4g { to { transform: rotate(360deg); } }
/* /Pages/ShiftAllowanceSetup.razor.rz.scp.css */
/* Shared setup-page styles — copied verbatim into each *.razor.css */
.setup-page[b-t7ip2nkr92] { padding: 24px; }
.setup-panel[b-t7ip2nkr92] { background:#fff; border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.08); overflow:hidden; }
.panel-header[b-t7ip2nkr92] { padding:20px 24px 16px; border-bottom:1px solid #e5e7eb; }
.panel-title-row[b-t7ip2nkr92] { display:flex; align-items:center; justify-content:space-between; }
.panel-title[b-t7ip2nkr92] { margin:0; font-size:18px; font-weight:700; color:#1f2937; }
.header-right[b-t7ip2nkr92] { display:flex; align-items:center; gap:12px; }
.filter-label[b-t7ip2nkr92] { font-size:13px; font-weight:600; color:#374151; }
.filter-select[b-t7ip2nkr92] { padding:6px 10px; border:1px solid #d1d5db; border-radius:7px; font-size:13px; color:#111827; background:#fff; cursor:pointer; }
.btn-add[b-t7ip2nkr92] { padding:8px 16px; background:#1d4ed8; color:#fff; font-size:13px; font-weight:600; border:none; border-radius:8px; cursor:pointer; transition:background .15s; }
.btn-add:hover[b-t7ip2nkr92] { background:#1e40af; }
.btn-report[b-t7ip2nkr92] { padding:8px 16px; background:#fff; color:#374151; font-size:13px; font-weight:600; border:1px solid #d1d5db; border-radius:8px; cursor:pointer; transition:background .15s, border-color .15s; }
.btn-report:hover[b-t7ip2nkr92] { background:#f3f4f6; border-color:#9ca3af; }
.form-panel[b-t7ip2nkr92] { padding:20px 24px; background:#f8fafc; border-bottom:1px solid #e5e7eb; }
.form-title[b-t7ip2nkr92] { margin:0 0 16px; font-size:14px; font-weight:600; color:#374151; }
.form-grid[b-t7ip2nkr92] { display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
.field-row[b-t7ip2nkr92] { display:grid; grid-template-columns:120px 1fr; align-items:center; gap:0 12px; }
.field-label[b-t7ip2nkr92] { font-size:12px; font-weight:600; color:#374151; }
.required[b-t7ip2nkr92] { color:#dc2626; }
.field-input[b-t7ip2nkr92] { padding:8px 10px; border:1px solid #d1d5db; border-radius:7px; font-size:13px; color:#111827; background:#fff; width:100%; box-sizing:border-box; transition:border-color .15s,box-shadow .15s; }
.field-input:focus[b-t7ip2nkr92] { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15); }
.field-input.input-error[b-t7ip2nkr92] { border-color:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,.1); }
.field-input.field-readonly[b-t7ip2nkr92] { background:#f3f4f6; color:#6b7280; cursor:not-allowed; }
.field-error[b-t7ip2nkr92] { grid-column:2; font-size:11px; color:#dc2626; }
.check-grid[b-t7ip2nkr92] { display:flex; flex-wrap:wrap; gap:10px 32px; margin-bottom:16px; }
.check-row[b-t7ip2nkr92] { display:flex; align-items:center; gap:7px; font-size:13px; color:#374151; cursor:pointer; user-select:none; }
.check-row input[type="checkbox"][b-t7ip2nkr92] { width:15px; height:15px; accent-color:#1d4ed8; cursor:pointer; flex-shrink:0; }
.input-group[b-t7ip2nkr92] { display:flex; gap:0; }
.input-group .field-input[b-t7ip2nkr92] { border-top-right-radius:0; border-bottom-right-radius:0; flex:1; }
.btn-lookup[b-t7ip2nkr92] { padding:0 10px; background:#f3f4f6; border:1px solid #d1d5db; border-left:none; border-top-right-radius:7px; border-bottom-right-radius:7px; font-size:14px; cursor:pointer; color:#374151; transition:background .15s,color .15s; flex-shrink:0; }
.btn-lookup:hover[b-t7ip2nkr92] { background:#dbeafe; color:#1d4ed8; }
.alert-error[b-t7ip2nkr92] { display:flex; align-items:center; gap:8px; padding:9px 12px; background:#fef2f2; border:1px solid #fca5a5; border-radius:7px; font-size:13px; color:#991b1b; margin-bottom:12px; }
.form-actions[b-t7ip2nkr92] { display:flex; gap:10px; }
.btn-save[b-t7ip2nkr92] { display:inline-flex; align-items:center; gap:6px; padding:8px 20px; background:#1d4ed8; color:#fff; font-size:13px; font-weight:600; border:none; border-radius:7px; cursor:pointer; transition:background .15s; }
.btn-save:hover:enabled[b-t7ip2nkr92] { background:#1e40af; }
.btn-save:disabled[b-t7ip2nkr92] { background:#93c5fd; cursor:not-allowed; }
.btn-cancel[b-t7ip2nkr92] { padding:8px 16px; background:transparent; color:#6b7280; font-size:13px; border:1px solid #d1d5db; border-radius:7px; cursor:pointer; }
.btn-cancel:hover:enabled[b-t7ip2nkr92] { border-color:#9ca3af; color:#374151; }
.table-wrap[b-t7ip2nkr92] { padding:16px 24px 24px; overflow-x:auto; }
.loading-msg[b-t7ip2nkr92],.empty-msg[b-t7ip2nkr92] { padding:32px 0; text-align:center; font-size:14px; color:#6b7280; }
.data-table[b-t7ip2nkr92] { width:100%; border-collapse:collapse; font-size:13px; }
.data-table th[b-t7ip2nkr92] { text-align:left; padding:10px 12px; font-size:11px; font-weight:600; color:#6b7280; text-transform:uppercase; letter-spacing:.04em; border-bottom:2px solid #e5e7eb; white-space:nowrap; line-height:1.4; }
.data-table td[b-t7ip2nkr92] { padding:10px 12px; border-bottom:1px solid #f3f4f6; color:#1f2937; vertical-align:middle; }
.data-table tr:last-child td[b-t7ip2nkr92] { border-bottom:none; }
.data-table tr:hover td[b-t7ip2nkr92] { background:#f9fafb; }
.data-table tr.row-deleting td[b-t7ip2nkr92] { background:#fef2f2; }
.col-str[b-t7ip2nkr92] { text-align:left; }
.col-num[b-t7ip2nkr92] { text-align:right; }
.col-num-hdr[b-t7ip2nkr92] { text-align:left; }
.col-center[b-t7ip2nkr92] { text-align:center; }
.col-col[b-t7ip2nkr92] { text-align:center; width:100px; }
.col-code[b-t7ip2nkr92] { font-weight:600; font-family:monospace; }
.col-actions[b-t7ip2nkr92] { text-align:right; white-space:nowrap; width:1%; }
.data-table input[type="checkbox"][b-t7ip2nkr92] { width:15px; height:15px; accent-color:#1d4ed8; pointer-events:none; }
.badge-code[b-t7ip2nkr92] { display:inline-block; padding:2px 8px; background:#eff6ff; color:#1d4ed8; border-radius:5px; font-size:12px; font-weight:600; }
.badge-type[b-t7ip2nkr92] { display:inline-block; padding:2px 8px; border-radius:5px; font-size:11px; font-weight:700; letter-spacing:.03em; }
.badge-monthly[b-t7ip2nkr92] { background:#ecfdf5; color:#065f46; }
.badge-hourly[b-t7ip2nkr92]  { background:#fff7ed; color:#9a3412; }
.badge-yes[b-t7ip2nkr92] { display:inline-block; padding:1px 8px; background:#ecfdf5; color:#065f46; border-radius:5px; font-size:12px; font-weight:700; }
.badge-no[b-t7ip2nkr92]  { display:inline-block; padding:1px 8px; background:#f3f4f6; color:#6b7280; border-radius:5px; font-size:12px; font-weight:600; }
.badge-col[b-t7ip2nkr92] { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; background:#1d4ed8; color:#fff; border-radius:8px; font-size:14px; font-weight:700; font-family:monospace; }
.field-col[b-t7ip2nkr92] { max-width:80px; text-transform:uppercase; font-weight:700; text-align:center; }
.btn-edit[b-t7ip2nkr92],.btn-delete[b-t7ip2nkr92],.btn-confirm-del[b-t7ip2nkr92],.btn-cancel-del[b-t7ip2nkr92] { padding:5px 12px; font-size:12px; font-weight:600; border-radius:6px; border:none; cursor:pointer; transition:background .15s; }
.btn-edit[b-t7ip2nkr92] { background:#eff6ff; color:#1d4ed8; margin-right:6px; }
.btn-edit:hover:enabled[b-t7ip2nkr92] { background:#dbeafe; }
.btn-delete[b-t7ip2nkr92] { background:#fef2f2; color:#dc2626; }
.btn-delete:hover:enabled[b-t7ip2nkr92] { background:#fee2e2; }
.confirm-msg[b-t7ip2nkr92] { font-size:12px; color:#dc2626; margin-right:8px; font-weight:600; }
.btn-confirm-del[b-t7ip2nkr92] { background:#dc2626; color:#fff; margin-right:4px; }
.btn-confirm-del:hover:enabled[b-t7ip2nkr92] { background:#b91c1c; }
.btn-cancel-del[b-t7ip2nkr92] { background:#f3f4f6; color:#374151; }
.btn-cancel-del:hover:enabled[b-t7ip2nkr92] { background:#e5e7eb; }
.spinner[b-t7ip2nkr92] { width:13px; height:13px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; display:inline-block; animation:spin-b-t7ip2nkr92 .75s linear infinite; }
@keyframes spin-b-t7ip2nkr92 { to { transform:rotate(360deg); } }
.filter-bar[b-t7ip2nkr92] { display:flex; align-items:flex-end; gap:12px; margin-top:12px; flex-wrap:wrap; }
.filter-field[b-t7ip2nkr92] { display:flex; flex-direction:column; gap:4px; }
.filter-field .filter-label[b-t7ip2nkr92] { font-size:11px; font-weight:600; color:#6b7280; text-transform:uppercase; letter-spacing:.04em; }
.filter-input[b-t7ip2nkr92] { padding:6px 10px; border:1px solid #d1d5db; border-radius:7px; font-size:13px; color:#111827; background:#fff; width:160px; transition:border-color .15s,box-shadow .15s; }
.filter-input:focus[b-t7ip2nkr92] { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.15); }
.btn-clear-filter[b-t7ip2nkr92] { padding:6px 12px; background:#fef2f2; color:#dc2626; font-size:12px; font-weight:600; border:1px solid #fca5a5; border-radius:7px; cursor:pointer; align-self:flex-end; transition:background .15s; }
.btn-clear-filter:hover[b-t7ip2nkr92] { background:#fee2e2; }
.page-size-group[b-t7ip2nkr92] { display:flex; align-items:center; gap:6px; }
.page-size-label[b-t7ip2nkr92] { font-size:13px; font-weight:600; color:#374151; }
.page-size-select[b-t7ip2nkr92] { padding:6px 10px; border:1px solid #d1d5db; border-radius:7px; font-size:13px; color:#111827; background:#fff; cursor:pointer; }
.pagination-bar[b-t7ip2nkr92] { display:flex; align-items:center; justify-content:space-between; padding:12px 0 0; gap:12px; }
.page-info[b-t7ip2nkr92] { font-size:13px; color:#6b7280; }
.page-btns[b-t7ip2nkr92] { display:flex; gap:4px; }
.btn-page[b-t7ip2nkr92] { padding:5px 10px; background:#f3f4f6; border:1px solid #e5e7eb; border-radius:6px; font-size:13px; cursor:pointer; min-width:32px; }
.btn-page:hover:not(:disabled)[b-t7ip2nkr92] { background:#dbeafe; border-color:#93c5fd; color:#1d4ed8; }
.btn-page--active[b-t7ip2nkr92] { background:#1d4ed8; color:#fff; border-color:#1d4ed8; font-weight:600; }
.btn-page:disabled[b-t7ip2nkr92] { opacity:.45; cursor:not-allowed; }
/* /Pages/ShiftCodeSetup.razor.rz.scp.css */
/* ── Page wrapper ─────────────────────────────────────────── */
.setup-page[b-j98uv9sxd9] { padding: 24px; }

/* ── Panel ────────────────────────────────────────────────── */
.setup-panel[b-j98uv9sxd9] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* ── Panel header ─────────────────────────────────────────── */
.panel-header[b-j98uv9sxd9] {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.panel-title-row[b-j98uv9sxd9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.panel-title[b-j98uv9sxd9] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

/* ── Add button ───────────────────────────────────────────── */
.btn-add[b-j98uv9sxd9] {
    padding: 8px 16px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-add:hover[b-j98uv9sxd9] { background: #1e40af; }

/* ── Inline form ──────────────────────────────────────────── */
.form-panel[b-j98uv9sxd9] {
    padding: 20px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
}

.form-title[b-j98uv9sxd9] {
    margin: 0 0 16px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.form-grid[b-j98uv9sxd9] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px 20px;
    margin-bottom: 14px;
}

.field-row[b-j98uv9sxd9] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.field-label[b-j98uv9sxd9] {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
}

.required[b-j98uv9sxd9] { color: #dc2626; }

.field-input[b-j98uv9sxd9] {
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.field-input:focus[b-j98uv9sxd9] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

.field-input.input-error[b-j98uv9sxd9] {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220,38,38,0.1);
}

.field-input.field-readonly[b-j98uv9sxd9] {
    background: #f3f4f6;
    color: #6b7280;
    cursor: not-allowed;
}

.field-error[b-j98uv9sxd9] {
    font-size: 11px;
    color: #dc2626;
}

/* ── Checkbox group ───────────────────────────────────────── */
.check-grid[b-j98uv9sxd9] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 32px;
    margin-bottom: 16px;
}

.check-row[b-j98uv9sxd9] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: #374151;
    cursor: pointer;
    user-select: none;
}

.check-row input[type="checkbox"][b-j98uv9sxd9] {
    width: 15px;
    height: 15px;
    accent-color: #1d4ed8;
    cursor: pointer;
    flex-shrink: 0;
}

/* ── Alert ────────────────────────────────────────────────── */
.alert-error[b-j98uv9sxd9] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 7px;
    font-size: 13px;
    color: #991b1b;
    margin-bottom: 12px;
}

/* ── Form action buttons ──────────────────────────────────── */
.form-actions[b-j98uv9sxd9] { display: flex; gap: 10px; }

.btn-save[b-j98uv9sxd9] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-save:hover:enabled[b-j98uv9sxd9] { background: #1e40af; }
.btn-save:disabled[b-j98uv9sxd9]      { background: #93c5fd; cursor: not-allowed; }

.btn-cancel[b-j98uv9sxd9] {
    padding: 8px 16px;
    background: transparent;
    color: #6b7280;
    font-size: 13px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.btn-cancel:hover:enabled[b-j98uv9sxd9] { border-color: #9ca3af; color: #374151; }

/* ── Search toolbar ───────────────────────────────────────── */
.search-toolbar[b-j98uv9sxd9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 24px;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
}

.search-group[b-j98uv9sxd9] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.search-input[b-j98uv9sxd9] {
    height: 34px;
    padding: 0 10px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    width: 240px;
    color: #111827;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.search-input:focus[b-j98uv9sxd9] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.12);
}

.btn-search[b-j98uv9sxd9] {
    height: 34px;
    padding: 0 16px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-search:hover:enabled[b-j98uv9sxd9] { background: #1e40af; }
.btn-search:disabled[b-j98uv9sxd9] { background: #93c5fd; cursor: not-allowed; }

.btn-clear[b-j98uv9sxd9] {
    height: 34px;
    padding: 0 10px;
    background: transparent;
    color: #6b7280;
    font-size: 13px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
}
.btn-clear:hover[b-j98uv9sxd9] { color: #dc2626; border-color: #fca5a5; }

.page-size-group[b-j98uv9sxd9] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.page-size-label[b-j98uv9sxd9] {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
}

.page-size-select[b-j98uv9sxd9] {
    padding: 6px 8px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    cursor: pointer;
}

/* ── Pagination bar ───────────────────────────────────────── */
.pagination-bar[b-j98uv9sxd9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0 4px;
    flex-wrap: wrap;
    gap: 8px;
}

.page-info[b-j98uv9sxd9] {
    font-size: 12px;
    color: #6b7280;
}

.page-btns[b-j98uv9sxd9] {
    display: flex;
    gap: 3px;
}

.btn-page[b-j98uv9sxd9] {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 13px;
    color: #374151;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.btn-page:hover:enabled[b-j98uv9sxd9] { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.btn-page:disabled[b-j98uv9sxd9]      { opacity: 0.4; cursor: default; }
.btn-page--active[b-j98uv9sxd9]       { background: #1d4ed8; color: #fff; border-color: #1d4ed8; font-weight: 700; }
.btn-page--active:hover:enabled[b-j98uv9sxd9] { background: #1e40af; border-color: #1e40af; color: #fff; }

/* ── Table ────────────────────────────────────────────────── */
.table-wrap[b-j98uv9sxd9] {
    padding: 16px 24px 24px;
    overflow-x: auto;
}

.loading-msg[b-j98uv9sxd9], .empty-msg[b-j98uv9sxd9] {
    padding: 32px 0;
    text-align: center;
    font-size: 14px;
    color: #6b7280;
}

.data-table[b-j98uv9sxd9] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.data-table th[b-j98uv9sxd9] {
    text-align: left;
    padding: 10px 12px;
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid #e5e7eb;
    white-space: nowrap;
    line-height: 1.4;
}

.data-table td[b-j98uv9sxd9] {
    padding: 10px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}

.data-table tr:last-child td[b-j98uv9sxd9] { border-bottom: none; }
.data-table tr:hover td[b-j98uv9sxd9]      { background: #f9fafb; }
.data-table tr.row-deleting td[b-j98uv9sxd9] { background: #fef2f2; }

.col-str[b-j98uv9sxd9]     { text-align: left; min-width: 80px; }
.col-center[b-j98uv9sxd9]  { text-align: center; }
.col-code[b-j98uv9sxd9]    { font-weight: 600; font-family: monospace; }
.col-actions[b-j98uv9sxd9] {
    text-align: right;
    white-space: nowrap;
    width: 1%;
}

/* disabled checkbox in table — read-only display */
.data-table input[type="checkbox"][b-j98uv9sxd9] {
    width: 15px;
    height: 15px;
    accent-color: #1d4ed8;
    pointer-events: none;
}

/* ── Row action buttons ───────────────────────────────────── */
.btn-edit[b-j98uv9sxd9], .btn-delete[b-j98uv9sxd9], .btn-confirm-del[b-j98uv9sxd9], .btn-cancel-del[b-j98uv9sxd9] {
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-edit[b-j98uv9sxd9] { background: #eff6ff; color: #1d4ed8; margin-right: 6px; }
.btn-edit:hover:enabled[b-j98uv9sxd9] { background: #dbeafe; }

.btn-delete[b-j98uv9sxd9] { background: #fef2f2; color: #dc2626; }
.btn-delete:hover:enabled[b-j98uv9sxd9] { background: #fee2e2; }

.confirm-msg[b-j98uv9sxd9] {
    font-size: 12px;
    color: #dc2626;
    margin-right: 8px;
    font-weight: 600;
}

.btn-confirm-del[b-j98uv9sxd9] { background: #dc2626; color: #fff; margin-right: 4px; }
.btn-confirm-del:hover:enabled[b-j98uv9sxd9] { background: #b91c1c; }

.btn-cancel-del[b-j98uv9sxd9] { background: #f3f4f6; color: #374151; }
.btn-cancel-del:hover:enabled[b-j98uv9sxd9] { background: #e5e7eb; }

/* ── Spinner ──────────────────────────────────────────────── */
.spinner[b-j98uv9sxd9] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-j98uv9sxd9 0.75s linear infinite;
}

@keyframes spin-b-j98uv9sxd9 { to { transform: rotate(360deg); } }
/* /Pages/ShiftWorkSetupPage.razor.rz.scp.css */
/* ── Page wrapper ─────────────────────────────────────────── */
.setup-page[b-yp7aopn5vf] {
    padding: 24px;
}

/* ── Panel ────────────────────────────────────────────────── */
.setup-panel[b-yp7aopn5vf] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* ── Panel header ─────────────────────────────────────────── */
.panel-header[b-yp7aopn5vf] {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.panel-title-row[b-yp7aopn5vf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.panel-title[b-yp7aopn5vf] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1f2937;
}

.header-right[b-yp7aopn5vf] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.btn-report[b-yp7aopn5vf] {
    padding: 8px 16px;
    background: #fff;
    color: #374151;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.btn-report:hover[b-yp7aopn5vf] { background: #f3f4f6; border-color: #9ca3af; }

/* ── Filter toolbar ───────────────────────────────────────── */
.filter-toolbar[b-yp7aopn5vf] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
}

.filter-group[b-yp7aopn5vf] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-label[b-yp7aopn5vf] {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
}

.filter-select[b-yp7aopn5vf] {
    padding: 6px 10px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.filter-select:focus[b-yp7aopn5vf] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

.filter-input[b-yp7aopn5vf] {
    padding: 6px 10px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    width: 140px;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.filter-input:focus[b-yp7aopn5vf] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

/* ── Add button ───────────────────────────────────────────── */
.btn-add[b-yp7aopn5vf] {
    padding: 8px 16px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-add:hover[b-yp7aopn5vf] { background: #1e40af; }

/* ── Inline form ──────────────────────────────────────────── */
.form-panel[b-yp7aopn5vf] {
    padding: 12px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
}

.form-title[b-yp7aopn5vf] {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.form-grid[b-yp7aopn5vf] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}

.field-row[b-yp7aopn5vf] {
    display: grid;
    grid-template-columns: 120px 1fr;
    align-items: center;
    gap: 0 12px;
}

.field-label[b-yp7aopn5vf] {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
}

.required[b-yp7aopn5vf] { color: #dc2626; }

.field-input[b-yp7aopn5vf] {
    padding: 5px 8px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #111827;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.field-input:focus[b-yp7aopn5vf] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

.field-input.input-error[b-yp7aopn5vf] {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220,38,38,0.1);
}

.field-error[b-yp7aopn5vf] {
    grid-column: 2;
    font-size: 10px;
    color: #dc2626;
    margin-top: 0;
}

/* ── Input with lookup button ─────────────────────────────── */
.input-group[b-yp7aopn5vf] {
    display: flex;
    gap: 0;
}

.input-group .field-input[b-yp7aopn5vf] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    flex: 1;
}

.btn-lookup[b-yp7aopn5vf] {
    padding: 0 10px;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-left: none;
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
    font-size: 14px;
    cursor: pointer;
    color: #374151;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
}
.btn-lookup:hover[b-yp7aopn5vf] { background: #dbeafe; color: #1d4ed8; }

/* ── Alert ────────────────────────────────────────────────── */
.alert-error[b-yp7aopn5vf] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 7px;
    font-size: 13px;
    color: #991b1b;
    margin-bottom: 12px;
}

/* ── Form action buttons ──────────────────────────────────── */
.form-actions[b-yp7aopn5vf] {
    display: flex;
    gap: 10px;
}

.btn-save[b-yp7aopn5vf] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    background: #1d4ed8;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-save:hover:enabled[b-yp7aopn5vf] { background: #1e40af; }
.btn-save:disabled[b-yp7aopn5vf] { background: #93c5fd; cursor: not-allowed; }

.btn-cancel[b-yp7aopn5vf] {
    padding: 8px 16px;
    background: transparent;
    color: #6b7280;
    font-size: 13px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}

.btn-cancel:hover:enabled[b-yp7aopn5vf] { border-color: #9ca3af; color: #374151; }

/* ── Table ────────────────────────────────────────────────── */
.table-wrap[b-yp7aopn5vf] {
    padding: 16px 24px 24px;
    overflow-x: auto;
}

.loading-msg[b-yp7aopn5vf], .empty-msg[b-yp7aopn5vf] {
    padding: 32px 0;
    text-align: center;
    font-size: 14px;
    color: #6b7280;
}

.data-table[b-yp7aopn5vf] {
    width: 100%;
    border-collapse: collapse;
    font-size: 10px;
}

.data-table th[b-yp7aopn5vf] {
    text-align: left;
    padding: 5px 5px;
    font-size: 9px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-bottom: 2px solid #e5e7eb;
    white-space: nowrap;
}

.data-table td[b-yp7aopn5vf] {
    padding: 4px 5px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}

.data-table tr:last-child td[b-yp7aopn5vf] { border-bottom: none; }

.data-table tr:hover td[b-yp7aopn5vf] { background: #f9fafb; }

.data-table tr.row-deleting td[b-yp7aopn5vf] { background: #fef2f2; }

.col-str[b-yp7aopn5vf]    { text-align: left; }

/* header for numeric columns — left-aligned per requirement */
.col-num-hdr[b-yp7aopn5vf] { text-align: left; }

/* data cells for numeric columns — right-aligned */
.col-num[b-yp7aopn5vf]    { text-align: right; }

.col-actions[b-yp7aopn5vf] {
    text-align: right;
    white-space: nowrap;
    width: 1%;
}

/* ── Row action buttons ───────────────────────────────────── */
.btn-edit[b-yp7aopn5vf], .btn-delete[b-yp7aopn5vf], .btn-confirm-del[b-yp7aopn5vf], .btn-cancel-del[b-yp7aopn5vf] {
    padding: 3px 7px;
    font-size: 10px;
    font-weight: 600;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background 0.15s;
}

.btn-edit[b-yp7aopn5vf] {
    background: #eff6ff;
    color: #1d4ed8;
    margin-right: 6px;
}
.btn-edit:hover:enabled[b-yp7aopn5vf] { background: #dbeafe; }

.btn-delete[b-yp7aopn5vf] { background: #fef2f2; color: #dc2626; }
.btn-delete:hover:enabled[b-yp7aopn5vf] { background: #fee2e2; }

.confirm-msg[b-yp7aopn5vf] {
    font-size: 10px;
    color: #dc2626;
    margin-right: 4px;
    font-weight: 600;
}

.btn-confirm-del[b-yp7aopn5vf] {
    background: #dc2626;
    color: #fff;
    margin-right: 4px;
}
.btn-confirm-del:hover:enabled[b-yp7aopn5vf] { background: #b91c1c; }

.btn-cancel-del[b-yp7aopn5vf] { background: #f3f4f6; color: #374151; }
.btn-cancel-del:hover:enabled[b-yp7aopn5vf] { background: #e5e7eb; }

/* ── Spinner ──────────────────────────────────────────────── */
.spinner[b-yp7aopn5vf] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    display: inline-block;
    animation: spin-b-yp7aopn5vf 0.75s linear infinite;
}

@keyframes spin-b-yp7aopn5vf { to { transform: rotate(360deg); } }
/* /Shared/AllowanceLookup.razor.rz.scp.css */
/* ── Backdrop ─────────────────────────────────────────────── */
.lookup-backdrop[b-0f4xkuosor] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

/* ── Dialog ───────────────────────────────────────────────── */
.lookup-dialog[b-0f4xkuosor] {
    width: 560px;
    max-width: calc(100vw - 32px);
    max-height: 80vh;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: lookup-in-b-0f4xkuosor 0.16s ease-out;
}

@keyframes lookup-in-b-0f4xkuosor {
    from { opacity: 0; transform: translateY(-10px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)     scale(1);    }
}

/* ── Header ───────────────────────────────────────────────── */
.lookup-header[b-0f4xkuosor] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 12px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.lookup-title[b-0f4xkuosor] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}

.lookup-close[b-0f4xkuosor] {
    background: transparent;
    border: none;
    font-size: 16px;
    color: #9ca3af;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
    transition: color 0.15s, background 0.15s;
}
.lookup-close:hover[b-0f4xkuosor] { color: #374151; background: #f3f4f6; }

/* ── Header title row ─────────────────────────────────────── */
.lookup-title-row[b-0f4xkuosor] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lookup-year-badge[b-0f4xkuosor] {
    font-size: 11px;
    font-weight: 600;
    color: #1d4ed8;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 2px 8px;
}

/* ── Toolbar (search + sort) ──────────────────────────────── */
.lookup-toolbar[b-0f4xkuosor] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
    flex-shrink: 0;
}

.lookup-search-input[b-0f4xkuosor] {
    flex: 1;
    padding: 7px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    color: #111827;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.lookup-search-input:focus[b-0f4xkuosor] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

/* ── Sort toggle buttons ──────────────────────────────────── */
.sort-toggle[b-0f4xkuosor] {
    display: flex;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    overflow: hidden;
    flex-shrink: 0;
}

.sort-btn[b-0f4xkuosor] {
    padding: 6px 12px;
    background: #ffffff;
    border: none;
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.sort-btn:not(:last-child)[b-0f4xkuosor] { border-right: 1px solid #d1d5db; }
.sort-btn:hover[b-0f4xkuosor]             { background: #f3f4f6; color: #374151; }
.sort-btn--active[b-0f4xkuosor]           { background: #1d4ed8; color: #ffffff; }

/* ── Scrollable body ──────────────────────────────────────── */
.lookup-body[b-0f4xkuosor] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.lookup-status[b-0f4xkuosor] {
    padding: 32px 0;
    text-align: center;
    font-size: 13px;
    color: #6b7280;
}

/* ── Table ────────────────────────────────────────────────── */
.lookup-table[b-0f4xkuosor] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.lookup-table th[b-0f4xkuosor] {
    position: sticky;
    top: 0;
    background: #f9fafb;
    text-align: left;
    padding: 9px 16px;
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.sort-header[b-0f4xkuosor] { cursor: pointer; user-select: none; }
.sort-header:hover[b-0f4xkuosor] { color: #374151; background: #f3f4f6; }
.sort-active[b-0f4xkuosor]  { color: #1d4ed8; }
.sort-arrow[b-0f4xkuosor]   { font-size: 9px; }

.lookup-row[b-0f4xkuosor] {
    cursor: pointer;
    transition: background 0.1s;
}
.lookup-row:hover td[b-0f4xkuosor] { background: #eff6ff; }
.lookup-row:hover .col-code[b-0f4xkuosor] { color: #1d4ed8; font-weight: 700; }

.lookup-table td[b-0f4xkuosor] {
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}
.lookup-table tr:last-child td[b-0f4xkuosor] { border-bottom: none; }

.col-code[b-0f4xkuosor] { width: 130px; font-family: monospace; font-weight: 600; }
.col-desc[b-0f4xkuosor] { color: #4b5563; }
.col-year[b-0f4xkuosor] { width: 60px; text-align: center; color: #9ca3af; }

/* ── Footer ───────────────────────────────────────────────── */
.lookup-footer[b-0f4xkuosor] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-top: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.lookup-count[b-0f4xkuosor] {
    font-size: 12px;
    color: #9ca3af;
}

.lookup-btn-cancel[b-0f4xkuosor] {
    padding: 7px 16px;
    background: transparent;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #6b7280;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.lookup-btn-cancel:hover[b-0f4xkuosor] { border-color: #9ca3af; color: #374151; }
/* /Shared/EmployeeFilterPanel.razor.rz.scp.css */
/* ── Section wrapper ──────────────────────────────────────── */
.efp-section[b-sdfi40ffay] {
    margin-bottom: 20px;
}

/* ── Header row ───────────────────────────────────────────── */
.efp-header[b-sdfi40ffay] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.efp-label[b-sdfi40ffay] {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.efp-badge-optional[b-sdfi40ffay] {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 1px 7px;
}

.efp-badge-count[b-sdfi40ffay] {
    font-size: 11px;
    font-weight: 600;
    color: #1d4ed8;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    padding: 1px 7px;
}

/* ── Listbox + actions row ────────────────────────────────── */
.efp-wrap[b-sdfi40ffay] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

/* ── Scrollable listbox ───────────────────────────────────── */
.efp-listbox[b-sdfi40ffay] {
    flex: 1;
    min-height: 80px;
    max-height: 180px;
    overflow-y: auto;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    padding: 4px 0;
}

.efp-empty[b-sdfi40ffay] {
    padding: 20px 14px;
    font-size: 13px;
    color: #9ca3af;
    text-align: center;
}

/* ── Listbox row ──────────────────────────────────────────── */
.efp-item[b-sdfi40ffay] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 10px 5px 14px;
    transition: background 0.1s;
}
.efp-item:hover[b-sdfi40ffay] { background: #f9fafb; }

.efp-empno[b-sdfi40ffay] {
    font-family: monospace;
    font-size: 13px;
    font-weight: 600;
    color: #1f2937;
    flex-shrink: 0;
    min-width: 90px;
}

.efp-empname[b-sdfi40ffay] {
    font-size: 13px;
    color: #6b7280;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.efp-remove[b-sdfi40ffay] {
    background: transparent;
    border: none;
    color: #9ca3af;
    font-size: 14px;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
    border-radius: 4px;
    transition: color 0.15s, background 0.15s;
    flex-shrink: 0;
}
.efp-remove:hover:enabled[b-sdfi40ffay]  { color: #dc2626; background: #fee2e2; }
.efp-remove:disabled[b-sdfi40ffay]        { opacity: 0.4; cursor: not-allowed; }

/* ── Action buttons ───────────────────────────────────────── */
.efp-actions[b-sdfi40ffay] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex-shrink: 0;
}

.efp-btn-browse[b-sdfi40ffay] {
    padding: 8px 14px;
    background: #ffffff;
    color: #2563eb;
    border: 1px solid #2563eb;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}
.efp-btn-browse:hover:enabled[b-sdfi40ffay] { background: #eff6ff; }
.efp-btn-browse:disabled[b-sdfi40ffay]       { opacity: 0.5; cursor: not-allowed; }

.efp-btn-clear[b-sdfi40ffay] {
    padding: 8px 14px;
    background: transparent;
    color: #6b7280;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color 0.15s, color 0.15s;
}
.efp-btn-clear:hover:enabled[b-sdfi40ffay] { border-color: #9ca3af; color: #374151; }
.efp-btn-clear:disabled[b-sdfi40ffay]       { opacity: 0.5; cursor: not-allowed; }
/* /Shared/EmployeeLookup.razor.rz.scp.css */
/* ── Backdrop ─────────────────────────────────────────────── */
.lookup-backdrop[b-y1yewh7vx0] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

/* ── Dialog ───────────────────────────────────────────────── */
.lookup-dialog[b-y1yewh7vx0] {
    width: 760px;
    max-width: calc(100vw - 32px);
    max-height: 80vh;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: lookup-in-b-y1yewh7vx0 0.16s ease-out;
}

@keyframes lookup-in-b-y1yewh7vx0 {
    from { opacity: 0; transform: translateY(-10px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)     scale(1);    }
}

/* ── Header ───────────────────────────────────────────────── */
.lookup-header[b-y1yewh7vx0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 12px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.lookup-title[b-y1yewh7vx0] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}

.lookup-close[b-y1yewh7vx0] {
    background: transparent;
    border: none;
    font-size: 16px;
    color: #9ca3af;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
    transition: color 0.15s, background 0.15s;
}
.lookup-close:hover[b-y1yewh7vx0] { color: #374151; background: #f3f4f6; }

/* ── Toolbar ──────────────────────────────────────────────── */
.lookup-toolbar[b-y1yewh7vx0] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
    flex-shrink: 0;
}

.lookup-search-input[b-y1yewh7vx0] {
    flex: 1;
    padding: 7px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    color: #111827;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.lookup-search-input:focus[b-y1yewh7vx0] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

/* ── Sort toggle ──────────────────────────────────────────── */
.sort-toggle[b-y1yewh7vx0] {
    display: flex;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    overflow: hidden;
    flex-shrink: 0;
}

.sort-btn[b-y1yewh7vx0] {
    padding: 6px 12px;
    background: #ffffff;
    border: none;
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.sort-btn:not(:last-child)[b-y1yewh7vx0] { border-right: 1px solid #d1d5db; }
.sort-btn:hover[b-y1yewh7vx0]             { background: #f3f4f6; color: #374151; }
.sort-btn--active[b-y1yewh7vx0]           { background: #1d4ed8; color: #ffffff; }

/* ── Scrollable body ──────────────────────────────────────── */
.lookup-body[b-y1yewh7vx0] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.lookup-status[b-y1yewh7vx0] {
    padding: 32px 0;
    text-align: center;
    font-size: 13px;
    color: #6b7280;
}

/* ── Table ────────────────────────────────────────────────── */
.lookup-table[b-y1yewh7vx0] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.lookup-table th[b-y1yewh7vx0] {
    position: sticky;
    top: 0;
    background: #f9fafb;
    text-align: left;
    padding: 9px 14px;
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.sort-header[b-y1yewh7vx0] { cursor: pointer; user-select: none; }
.sort-header:hover[b-y1yewh7vx0] { color: #374151; background: #f3f4f6; }
.sort-active[b-y1yewh7vx0]  { color: #1d4ed8; }
.sort-arrow[b-y1yewh7vx0]   { font-size: 9px; }

.lookup-row[b-y1yewh7vx0] {
    cursor: pointer;
    transition: background 0.1s;
}
.lookup-row:hover td[b-y1yewh7vx0]          { background: #eff6ff; }
.lookup-row:hover .col-empno[b-y1yewh7vx0]  { color: #1d4ed8; font-weight: 700; }

.lookup-table td[b-y1yewh7vx0] {
    padding: 10px 14px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}
.lookup-table tr:last-child td[b-y1yewh7vx0] { border-bottom: none; }

/* ── Column sizing ────────────────────────────────────────── */
.col-empno[b-y1yewh7vx0] { width: 120px; font-family: monospace; font-weight: 600; }
.col-name[b-y1yewh7vx0]  { color: #1f2937; }
.col-date[b-y1yewh7vx0]  {
    width: 120px;
    text-align: center;
    font-size: 12px;
    color: #6b7280;
    font-family: monospace;
}

.col-term.terminated[b-y1yewh7vx0] { color: #dc2626; }

/* ── Page size selector ───────────────────────────────────── */
.lookup-pagesize-wrap[b-y1yewh7vx0] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.lookup-pagesize-label[b-y1yewh7vx0] {
    font-size: 12px;
    color: #6b7280;
    white-space: nowrap;
}

.lookup-pagesize-select[b-y1yewh7vx0] {
    padding: 5px 8px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 12px;
    color: #374151;
    background: #fff;
    cursor: pointer;
}
.lookup-pagesize-select:focus[b-y1yewh7vx0] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37,99,235,0.15);
}

/* ── Footer ───────────────────────────────────────────────── */
.lookup-footer[b-y1yewh7vx0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 20px;
    border-top: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.lookup-count[b-y1yewh7vx0] {
    font-size: 12px;
    color: #9ca3af;
    white-space: nowrap;
    min-width: 80px;
}

/* ── Pagination controls ──────────────────────────────────── */
.lookup-pagination[b-y1yewh7vx0] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pg-btn[b-y1yewh7vx0] {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    padding: 0;
    line-height: 1;
}
.pg-btn:hover:not(:disabled)[b-y1yewh7vx0] { background: #f3f4f6; border-color: #9ca3af; }
.pg-btn:disabled[b-y1yewh7vx0]              { opacity: 0.4; cursor: not-allowed; }

.pg-info[b-y1yewh7vx0] {
    font-size: 12px;
    color: #374151;
    white-space: nowrap;
    padding: 0 6px;
}

.lookup-btn-cancel[b-y1yewh7vx0] {
    padding: 7px 16px;
    background: transparent;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #6b7280;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
    white-space: nowrap;
}
.lookup-btn-cancel:hover[b-y1yewh7vx0] { border-color: #9ca3af; color: #374151; }

/* ── Inline mode (used in right sidebar) ─────────────────── */
.lookup-backdrop--inline[b-y1yewh7vx0] {
    position: static;
    background: transparent;
    backdrop-filter: none;
    display: block;
    z-index: auto;
}

.lookup-dialog--inline[b-y1yewh7vx0] {
    width: 100%;
    max-width: none;
    max-height: none;
    border-radius: 0;
    box-shadow: none;
    animation: none;
    height: 100%;
}

.lookup-dialog--inline .lookup-toolbar[b-y1yewh7vx0] {
    flex-wrap: wrap;
    gap: 6px;
}

.lookup-dialog--inline .lookup-search-input[b-y1yewh7vx0] {
    min-width: 0;
}

.lookup-dialog--inline .lookup-body[b-y1yewh7vx0] {
    overflow-y: auto;
}

.lookup-dialog--inline .col-empno[b-y1yewh7vx0] {
    width: 90px;
}

.lookup-dialog--inline .col-date[b-y1yewh7vx0] {
    width: 95px;
}

.lookup-dialog--inline .lookup-footer[b-y1yewh7vx0] {
    flex-wrap: wrap;
    gap: 8px;
}
/* /Shared/EmployeePromptFilterDialog.razor.rz.scp.css */
.epfd-backdrop[b-e2bx5z2ibv] {
    position: fixed;
    inset: 0;
    z-index: 2100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
}

.epfd-dialog[b-e2bx5z2ibv] {
    width: 920px;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}

.epfd-header[b-e2bx5z2ibv] {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px 14px;
    border-bottom: 1px solid #e5e7eb;
}

.epfd-title[b-e2bx5z2ibv] {
    margin: 0;
    color: #1f2937;
    font-size: 17px;
    font-weight: 700;
}

.epfd-subtitle[b-e2bx5z2ibv] {
    margin: 4px 0 0;
    color: #6b7280;
    font-size: 13px;
}

.epfd-close[b-e2bx5z2ibv] {
    align-self: flex-start;
    background: transparent;
    border: 0;
    border-radius: 6px;
    color: #9ca3af;
    cursor: pointer;
    font-size: 16px;
    padding: 3px 7px;
}
.epfd-close:hover[b-e2bx5z2ibv] { color: #374151; background: #f3f4f6; }

.epfd-body[b-e2bx5z2ibv] {
    overflow-y: auto;
    padding: 18px 22px;
}

.epfd-section[b-e2bx5z2ibv] { margin-bottom: 20px; }
.epfd-section:last-child[b-e2bx5z2ibv] { margin-bottom: 0; }

.epfd-section-header[b-e2bx5z2ibv] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.epfd-label[b-e2bx5z2ibv] {
    color: #374151;
    font-size: 14px;
    font-weight: 700;
}

.epfd-badge-optional[b-e2bx5z2ibv],
.epfd-badge-count[b-e2bx5z2ibv] {
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    padding: 1px 8px;
}

.epfd-badge-optional[b-e2bx5z2ibv] {
    color: #6b7280;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
}

.epfd-badge-count[b-e2bx5z2ibv] {
    color: #1d4ed8;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}

.epfd-filter-row[b-e2bx5z2ibv] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.epfd-listbox[b-e2bx5z2ibv] {
    flex: 1;
    min-height: 96px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.epfd-listbox--compact[b-e2bx5z2ibv] { min-height: 68px; }

.epfd-empty[b-e2bx5z2ibv] {
    padding: 22px 14px;
    color: #9ca3af;
    font-size: 13px;
    text-align: center;
}

.epfd-item[b-e2bx5z2ibv] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
}

.epfd-code[b-e2bx5z2ibv] {
    min-width: 92px;
    color: #1f2937;
    font-family: monospace;
    font-size: 13px;
    font-weight: 700;
}

.epfd-name[b-e2bx5z2ibv] {
    flex: 1;
    overflow: hidden;
    color: #6b7280;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.epfd-remove[b-e2bx5z2ibv] {
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #9ca3af;
    cursor: pointer;
    padding: 1px 5px;
}
.epfd-remove:hover[b-e2bx5z2ibv] { color: #dc2626; background: #fee2e2; }

.epfd-actions[b-e2bx5z2ibv] {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 120px;
}

.epfd-btn-browse[b-e2bx5z2ibv],
.epfd-btn-clear[b-e2bx5z2ibv],
.epfd-btn-cancel[b-e2bx5z2ibv],
.epfd-btn-apply[b-e2bx5z2ibv],
.epfd-page-btn[b-e2bx5z2ibv] {
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    white-space: nowrap;
}

.epfd-btn-browse[b-e2bx5z2ibv] {
    padding: 9px 15px;
    border: 1px solid #2563eb;
    background: #ffffff;
    color: #2563eb;
    font-weight: 700;
}
.epfd-btn-browse:hover[b-e2bx5z2ibv] { background: #eff6ff; }

.epfd-btn-clear[b-e2bx5z2ibv],
.epfd-btn-cancel[b-e2bx5z2ibv] {
    padding: 8px 14px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    color: #6b7280;
}
.epfd-btn-clear:hover[b-e2bx5z2ibv],
.epfd-btn-cancel:hover[b-e2bx5z2ibv] { border-color: #9ca3af; color: #374151; }

.epfd-btn-apply[b-e2bx5z2ibv] {
    padding: 9px 18px;
    border: 1px solid #2563eb;
    background: #2563eb;
    color: #ffffff;
    font-weight: 700;
}
.epfd-btn-apply:hover[b-e2bx5z2ibv] { background: #1d4ed8; }

.epfd-inline-lookup[b-e2bx5z2ibv] {
    margin-top: 10px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #f9fafb;
    overflow: hidden;
}

.epfd-lookup-toolbar[b-e2bx5z2ibv] {
    padding: 10px 12px;
    border-bottom: 1px solid #e5e7eb;
    background: #ffffff;
}

.epfd-search[b-e2bx5z2ibv] {
    width: 100%;
    padding: 8px 11px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
}

.epfd-dept-grid[b-e2bx5z2ibv] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 8px;
    max-height: 190px;
    overflow-y: auto;
    padding: 12px;
}

.epfd-dept-row[b-e2bx5z2ibv] {
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #ffffff;
    cursor: pointer;
    text-align: left;
}
.epfd-dept-row:hover[b-e2bx5z2ibv],
.epfd-dept-row--active[b-e2bx5z2ibv] { background: #eff6ff; border-color: #2563eb; }

.epfd-emp-grid[b-e2bx5z2ibv] {
    max-height: 285px;
    overflow: auto;
    background: #ffffff;
}

.epfd-table[b-e2bx5z2ibv] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.epfd-table th[b-e2bx5z2ibv] {
    position: sticky;
    top: 0;
    padding: 8px 12px;
    background: #f3f4f6;
    border-bottom: 1px solid #e5e7eb;
    color: #6b7280;
    font-size: 11px;
    text-align: left;
    text-transform: uppercase;
}

.epfd-table td[b-e2bx5z2ibv] {
    padding: 9px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #374151;
}

.epfd-table-row[b-e2bx5z2ibv] { cursor: pointer; }
.epfd-table-row:hover td[b-e2bx5z2ibv] { background: #eff6ff; }

.epfd-status[b-e2bx5z2ibv] {
    padding: 22px;
    color: #6b7280;
    font-size: 13px;
    text-align: center;
}

.epfd-pagination[b-e2bx5z2ibv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 9px 12px;
    border-top: 1px solid #e5e7eb;
    color: #6b7280;
    font-size: 12px;
}

.epfd-page-btn[b-e2bx5z2ibv] {
    width: 28px;
    height: 28px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    color: #374151;
}
.epfd-page-btn:disabled[b-e2bx5z2ibv] { opacity: 0.45; cursor: not-allowed; }

.epfd-footer[b-e2bx5z2ibv] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    border-top: 1px solid #e5e7eb;
    background: #ffffff;
}

.epfd-footer-spacer[b-e2bx5z2ibv] { flex: 1; }

@media (max-width: 768px) {
    .epfd-filter-row[b-e2bx5z2ibv] { flex-direction: column; }
    .epfd-actions[b-e2bx5z2ibv] { flex-direction: row; width: 100%; }
    .epfd-btn-browse[b-e2bx5z2ibv],
    .epfd-btn-clear[b-e2bx5z2ibv] { flex: 1; }
}

/* ── Inline mode (embedded in right sidebar) ─────────────── */
.epfd-backdrop--inline[b-e2bx5z2ibv] {
    position: static;
    background: transparent;
    backdrop-filter: none;
    padding: 0;
    z-index: auto;
}

.epfd-dialog--inline[b-e2bx5z2ibv] {
    width: 100%;
    max-width: none;
    max-height: none;
    border-radius: 0;
    box-shadow: none;
    height: 100%;
}

.epfd-dialog--inline .epfd-body[b-e2bx5z2ibv] {
    flex: 1;
    overflow-y: auto;
}

.epfd-dialog--inline .epfd-filter-row[b-e2bx5z2ibv] {
    flex-wrap: wrap;
}

.epfd-dialog--inline .epfd-listbox[b-e2bx5z2ibv] {
    min-height: 60px;
}

.epfd-dialog--inline .epfd-listbox--compact[b-e2bx5z2ibv] {
    min-height: 48px;
}

.epfd-dialog--inline .epfd-actions[b-e2bx5z2ibv] {
    flex-direction: row;
    min-width: auto;
}

.epfd-dialog--inline .epfd-dept-grid[b-e2bx5z2ibv] {
    max-height: 150px;
}

.epfd-dialog--inline .epfd-emp-grid[b-e2bx5z2ibv] {
    max-height: 220px;
}

/* ── Add icon button ─────────────────────────────────────── */
.epfd-add-btn[b-e2bx5z2ibv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 1px solid #22c55e;
    border-radius: 6px;
    background: #f0fdf4;
    color: #22c55e;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    flex-shrink: 0;
}

.epfd-add-btn:hover:not(:disabled)[b-e2bx5z2ibv] {
    background: #22c55e;
    color: #ffffff;
}

.epfd-add-btn:disabled[b-e2bx5z2ibv] {
    opacity: 0.3;
    cursor: not-allowed;
    border-color: #d1d5db;
    background: #f3f4f6;
    color: #9ca3af;
}

.epfd-add-btn--row[b-e2bx5z2ibv] {
    width: 24px;
    height: 24px;
    font-size: 14px;
}

/* ── Column for add button in employee table ─────────────── */
.epfd-col-add[b-e2bx5z2ibv] {
    width: 40px;
    text-align: center;
    padding: 4px 8px !important;
}

/* ── Added row highlight ─────────────────────────────────── */
.epfd-table-row--added td[b-e2bx5z2ibv] {
    background: #f0fdf4;
}

.epfd-table-row--added:hover td[b-e2bx5z2ibv] {
    background: #dcfce7;
}

/* ── Department row with add button ──────────────────────── */
.epfd-dept-row[b-e2bx5z2ibv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #ffffff;
    cursor: default;
    text-align: left;
}

.epfd-dept-row:hover:not(.epfd-dept-row--active)[b-e2bx5z2ibv],
.epfd-dept-row--active[b-e2bx5z2ibv] {
    background: #eff6ff;
    border-color: #2563eb;
}

.epfd-dept-row .epfd-code[b-e2bx5z2ibv] {
    flex: 1;
    min-width: auto;
}
/* /Shared/LookupDialog.razor.rz.scp.css */
/* ── Backdrop ─────────────────────────────────────────────── */
.ld-backdrop[b-q6p5vk1srr] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

/* ── Dialog shell ─────────────────────────────────────────── */
.ld-dialog[b-q6p5vk1srr] {
    width: min(860px, calc(100vw - 32px));
    max-height: 82vh;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: ld-in-b-q6p5vk1srr 0.16s ease-out;
}

@keyframes ld-in-b-q6p5vk1srr {
    from { opacity: 0; transform: translateY(-10px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)     scale(1);    }
}

/* ── Header ───────────────────────────────────────────────── */
.ld-header[b-q6p5vk1srr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 12px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.ld-title[b-q6p5vk1srr] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}

.ld-close[b-q6p5vk1srr] {
    background: transparent;
    border: none;
    font-size: 16px;
    color: #9ca3af;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
    transition: color 0.15s, background 0.15s;
}
.ld-close:hover[b-q6p5vk1srr] { color: #374151; background: #f3f4f6; }

/* ── Toolbar ──────────────────────────────────────────────── */
.ld-toolbar[b-q6p5vk1srr] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
    flex-shrink: 0;
}

.ld-search[b-q6p5vk1srr] {
    flex: 1;
    min-width: 160px;
    padding: 7px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    color: #111827;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.ld-search:focus[b-q6p5vk1srr] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

/* ── Per-field filter inputs ──────────────────────────────── */
.ld-filter-group[b-q6p5vk1srr] {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
}

.ld-filter-label[b-q6p5vk1srr] {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ld-filter-input[b-q6p5vk1srr] {
    width: 120px;
    padding: 6px 10px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 12px;
    color: #111827;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.ld-filter-input:focus[b-q6p5vk1srr] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37,99,235,0.12);
}

/* ── Page-size selector ───────────────────────────────────── */
.ld-pagesize-group[b-q6p5vk1srr] {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    margin-left: auto;
}

.ld-pagesize-label[b-q6p5vk1srr] {
    font-size: 12px;
    color: #6b7280;
    white-space: nowrap;
}

.ld-pagesize-select[b-q6p5vk1srr] {
    padding: 5px 8px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 12px;
    color: #374151;
    background: #fff;
    cursor: pointer;
}
.ld-pagesize-select:focus[b-q6p5vk1srr] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37,99,235,0.12);
}

/* ── Scrollable body ──────────────────────────────────────── */
.ld-body[b-q6p5vk1srr] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

/* ── Footer ───────────────────────────────────────────────── */
.ld-footer[b-q6p5vk1srr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 20px;
    border-top: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.ld-count[b-q6p5vk1srr] {
    font-size: 12px;
    color: #9ca3af;
    white-space: nowrap;
    min-width: 80px;
}

/* ── Pagination ───────────────────────────────────────────── */
.ld-pagination[b-q6p5vk1srr] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ld-pg-btn[b-q6p5vk1srr] {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    padding: 0;
    line-height: 1;
}
.ld-pg-btn:hover:not(:disabled)[b-q6p5vk1srr] { background: #f3f4f6; border-color: #9ca3af; }
.ld-pg-btn:disabled[b-q6p5vk1srr]              { opacity: 0.4; cursor: not-allowed; }

.ld-pg-info[b-q6p5vk1srr] {
    font-size: 12px;
    color: #374151;
    white-space: nowrap;
    padding: 0 6px;
}

.ld-cancel[b-q6p5vk1srr] {
    padding: 7px 16px;
    background: transparent;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #6b7280;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
    white-space: nowrap;
}
.ld-cancel:hover[b-q6p5vk1srr] { border-color: #9ca3af; color: #374151; }

/* ── Export button ────────────────────────────────────────── */
.ld-export[b-q6p5vk1srr] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    background: #16a34a;
    border: none;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, opacity 0.15s;
}
.ld-export:hover:not(:disabled)[b-q6p5vk1srr] { background: #15803d; }
.ld-export:disabled[b-q6p5vk1srr]              { opacity: 0.5; cursor: not-allowed; }

.ld-export-spinner[b-q6p5vk1srr] {
    display: inline-block;
    width: 11px;
    height: 11px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ld-spin-b-q6p5vk1srr 0.7s linear infinite;
}

@keyframes ld-spin-b-q6p5vk1srr { to { transform: rotate(360deg); } }

/* ── LookupGrid child styles (::deep pierces scoping) ────── */
[b-q6p5vk1srr] .lg-table { width: 100%; }
/* /Shared/LookupGrid.razor.rz.scp.css */
/* ── Status placeholder ───────────────────────────────────── */
.lg-status[b-fui1rf03vw] {
    padding: 32px 0;
    text-align: center;
    font-size: 13px;
    color: #6b7280;
}

/* ── Table ────────────────────────────────────────────────── */
.lg-table[b-fui1rf03vw] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.lg-table th[b-fui1rf03vw] {
    position: sticky;
    top: 0;
    background: #f9fafb;
    text-align: left;
    padding: 9px 14px;
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
    user-select: none;
}

/* ── Sortable column header ───────────────────────────────── */
.lg-th--sort[b-fui1rf03vw]  { cursor: pointer; }
.lg-th--sort:hover[b-fui1rf03vw] { color: #374151; background: #f3f4f6; }
.lg-th--active[b-fui1rf03vw]     { color: #1d4ed8; }

.lg-sort-arrow[b-fui1rf03vw] {
    font-size: 9px;
    margin-left: 4px;
}

/* ── Data rows ────────────────────────────────────────────── */
.lg-row[b-fui1rf03vw] {
    cursor: pointer;
    transition: background 0.1s;
}
.lg-row:hover td[b-fui1rf03vw] { background: #eff6ff; }

.lg-table td[b-fui1rf03vw] {
    padding: 9px 14px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
}
.lg-table tr:last-child td[b-fui1rf03vw] { border-bottom: none; }
/* /Shared/MainLayout.razor.rz.scp.css */
.page[b-z8ent3dq0x] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-z8ent3dq0x] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow: hidden;
}

.main-with-panel[b-z8ent3dq0x] {
    flex: 1;
    display: flex;
    overflow: hidden;
}

article.content[b-z8ent3dq0x] {
    flex: 1;
    overflow-y: auto;
}

.sidebar[b-z8ent3dq0x] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
    width: 250px;
    transition: width 0.25s ease;
    flex-shrink: 0;
}

.sidebar.collapsed[b-z8ent3dq0x] {
    width: 60px;
}

.top-row[b-z8ent3dq0x] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-z8ent3dq0x]  a, .top-row .btn-link[b-z8ent3dq0x] {
        white-space: nowrap;
        margin-left: 1.5rem;
    }

    .top-row a:first-child[b-z8ent3dq0x] {
        overflow: hidden;
        text-overflow: ellipsis;
    }

.top-row-spacer[b-z8ent3dq0x] {
    flex: 1;
}

/* ── Sidebar toggle button (hamburger) ──────────────────── */
.sidebar-toggle-btn[b-z8ent3dq0x] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: transparent;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    color: #374151;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    flex-shrink: 0;
}

.sidebar-toggle-btn:hover[b-z8ent3dq0x] {
    background: #f3f4f6;
    border-color: #9ca3af;
}

.sidebar-toggle-icon[b-z8ent3dq0x] {
    width: 18px;
    height: 18px;
}

.status-bar[b-z8ent3dq0x] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 1.5rem;
    height: 2rem;
    background: #1e3a8a;
    color: rgba(255, 255, 255, 0.85);
    font-size: 12px;
    flex-shrink: 0;
}

.status-item[b-z8ent3dq0x] {
    display: flex;
    align-items: center;
    gap: 5px;
}

.status-label[b-z8ent3dq0x] {
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 11px;
}

.status-value[b-z8ent3dq0x] {
    font-weight: 600;
    color: #ffffff;
}

.status-divider[b-z8ent3dq0x] {
    color: rgba(255, 255, 255, 0.25);
}

.logout-btn[b-z8ent3dq0x] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    padding: 5px 10px;
    background: transparent;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    color: #374151;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.logout-btn:hover[b-z8ent3dq0x] {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #dc2626;
}

.logout-icon[b-z8ent3dq0x] {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

@media (max-width: 640.98px) {
    .top-row:not(.auth)[b-z8ent3dq0x] {
        display: none;
    }

    .top-row.auth[b-z8ent3dq0x] {
        justify-content: space-between;
    }

    .top-row a[b-z8ent3dq0x], .top-row .btn-link[b-z8ent3dq0x] {
        margin-left: 0;
    }

}


/* ── Error boundary panel ─────────────────────────────────── */
.error-panel[b-z8ent3dq0x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 60px auto;
    max-width: 520px;
    padding: 40px 36px;
    background: #fff;
    border: 1px solid #fca5a5;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
    text-align: center;
}

.error-panel--auth[b-z8ent3dq0x] {
    border-color: #93c5fd;
}

.error-panel__icon[b-z8ent3dq0x] {
    font-size: 2.4rem;
    line-height: 1;
}

.error-panel__title[b-z8ent3dq0x] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #111827;
}

.error-panel__type[b-z8ent3dq0x] {
    margin: 0;
    font-size: 0.78rem;
    font-family: monospace;
    color: #6b7280;
    background: #f3f4f6;
    padding: 2px 8px;
    border-radius: 4px;
}

.error-panel__detail[b-z8ent3dq0x] {
    margin: 0;
    font-size: 0.88rem;
    color: #374151;
    line-height: 1.5;
    word-break: break-word;
}

.error-panel__actions[b-z8ent3dq0x] {
    display: flex;
    gap: 10px;
    margin-top: 8px;
    flex-wrap: wrap;
    justify-content: center;
}

.error-btn[b-z8ent3dq0x] {
    padding: 7px 20px;
    border-radius: 7px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    border: none;
    transition: background 0.15s;
}

.error-btn--primary[b-z8ent3dq0x] {
    background: #1e3a8a;
    color: #fff;
}

.error-btn--primary:hover[b-z8ent3dq0x] {
    background: #1e40af;
    color: #fff;
}

.error-btn--secondary[b-z8ent3dq0x] {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
}

.error-btn--secondary:hover[b-z8ent3dq0x] {
    background: #e5e7eb;
}

/* ── Loading ─────────────────────────────────────────────── */
.loading-msg[b-z8ent3dq0x] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    font-size: 14px;
    color: #6b7280;
}

@media (min-width: 641px) {
    .page[b-z8ent3dq0x] {
        flex-direction: row;
    }

    .sidebar[b-z8ent3dq0x] {
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-z8ent3dq0x] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row[b-z8ent3dq0x], article[b-z8ent3dq0x] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-cz279bejb7] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-cz279bejb7] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-cz279bejb7] {
    font-size: 1.1rem;
}

.oi[b-cz279bejb7] {
    width: 2rem;
    font-size: 1.1rem;
    vertical-align: text-top;
    top: -2px;
}

.nav-item[b-cz279bejb7] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-cz279bejb7] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-cz279bejb7] {
        padding-bottom: 1rem;
    }

    .nav-item[b-cz279bejb7]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-cz279bejb7]  a.active {
    background-color: rgba(255,255,255,0.25);
    color: white;
}

.nav-item[b-cz279bejb7]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

/* ── Nav group (collapsible section) ─────────────────────── */
.nav-group[b-cz279bejb7] {
    padding: 0 0 0.25rem;
}

.nav-group-toggle[b-cz279bejb7] {
    display: flex;
    align-items: center;
    gap: 0;
    width: 100%;
    padding: 0.5rem 1rem 0.5rem 1.2rem;
    background: transparent;
    border: none;
    color: #d7d7d7;
    font-size: 0.9rem;
    cursor: pointer;
    text-align: left;
}

.nav-group-toggle:hover[b-cz279bejb7] { background: rgba(255,255,255,0.1); }

.nav-group-toggle .oi[b-cz279bejb7] {
    width: 2rem;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.nav-group-label[b-cz279bejb7] { flex: 1; }

.nav-group-chevron[b-cz279bejb7] {
    font-size: 0.65rem;
    transition: transform 0.2s;
    display: inline-block;
}

.nav-group-chevron.chevron-open[b-cz279bejb7] { transform: rotate(90deg); }

.nav-child[b-cz279bejb7] { padding-left: 1.5rem !important; }

/* ── Collapse toggle button at bottom of sidebar ────────── */
.sidebar-collapse-toggle[b-cz279bejb7] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 2.5rem;
    margin-top: auto;
    background: transparent;
    border: none;
    border-top: 1px solid rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.6);
    cursor: pointer;
    font-size: 1rem;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
}

.sidebar-collapse-toggle:hover[b-cz279bejb7] {
    background: rgba(255,255,255,0.1);
    color: #ffffff;
}

.sidebar-collapse-toggle .oi[b-cz279bejb7] {
    width: auto;
    font-size: 0.85rem;
}

/* ── Compact / Collapsed mode ────────────────────────────── */
.sidebar.collapsed .nav-scrollable[b-cz279bejb7] {
    width: 60px;
    overflow-x: hidden;
}

.sidebar.collapsed .navbar-brand[b-cz279bejb7] {
    font-size: 0;
}

.sidebar.collapsed .nav-label[b-cz279bejb7],
.sidebar.collapsed .nav-group-label[b-cz279bejb7],
.sidebar.collapsed .nav-group-chevron[b-cz279bejb7] {
    display: none;
}

.sidebar.collapsed .nav-group-items[b-cz279bejb7] {
    display: none !important;
}

.sidebar.collapsed .nav-group-toggle[b-cz279bejb7] {
    justify-content: center;
    padding: 0.5rem 0;
}

.sidebar.collapsed .nav-group-toggle .oi[b-cz279bejb7] {
    width: auto;
}

.sidebar.collapsed .nav-item[b-cz279bejb7] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.sidebar.collapsed .nav-item[b-cz279bejb7]  a {
    justify-content: center;
    padding: 0;
}

.sidebar.collapsed .nav-item[b-cz279bejb7]  a .oi {
    width: auto;
}

.sidebar.collapsed .nav-child[b-cz279bejb7] {
    padding-left: 0 !important;
}

@media (min-width: 641px) {
    .navbar-toggler[b-cz279bejb7] {
        display: none;
    }

    .collapse[b-cz279bejb7] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }
    
    .nav-scrollable[b-cz279bejb7] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        transition: width 0.25s ease;
    }
}
/* /Shared/OccupationCodeLookup.razor.rz.scp.css */
/* ── Backdrop ─────────────────────────────────────────────── */
.lookup-backdrop[b-greep4dg6w] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

/* ── Dialog ───────────────────────────────────────────────── */
.lookup-dialog[b-greep4dg6w] {
    width: 520px;
    max-width: calc(100vw - 32px);
    max-height: 80vh;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: lookup-in-b-greep4dg6w 0.16s ease-out;
}

@keyframes lookup-in-b-greep4dg6w {
    from { opacity: 0; transform: translateY(-10px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)     scale(1);    }
}

/* ── Header ───────────────────────────────────────────────── */
.lookup-header[b-greep4dg6w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 12px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.lookup-title[b-greep4dg6w] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}

.lookup-close[b-greep4dg6w] {
    background: transparent;
    border: none;
    font-size: 16px;
    color: #9ca3af;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
    transition: color 0.15s, background 0.15s;
}
.lookup-close:hover[b-greep4dg6w] { color: #374151; background: #f3f4f6; }

/* ── Toolbar ──────────────────────────────────────────────── */
.lookup-toolbar[b-greep4dg6w] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
    flex-shrink: 0;
}

.lookup-search-input[b-greep4dg6w] {
    flex: 1;
    padding: 7px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    color: #111827;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.lookup-search-input:focus[b-greep4dg6w] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

/* ── Sort toggle ──────────────────────────────────────────── */
.sort-toggle[b-greep4dg6w] {
    display: flex;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    overflow: hidden;
    flex-shrink: 0;
}

.sort-btn[b-greep4dg6w] {
    padding: 6px 12px;
    background: #ffffff;
    border: none;
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.sort-btn:not(:last-child)[b-greep4dg6w] { border-right: 1px solid #d1d5db; }
.sort-btn:hover[b-greep4dg6w]             { background: #f3f4f6; color: #374151; }
.sort-btn--active[b-greep4dg6w]           { background: #1d4ed8; color: #ffffff; }

/* ── Body ─────────────────────────────────────────────────── */
.lookup-body[b-greep4dg6w] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.lookup-status[b-greep4dg6w] {
    padding: 32px 0;
    text-align: center;
    font-size: 13px;
    color: #6b7280;
}

/* ── Table ────────────────────────────────────────────────── */
.lookup-table[b-greep4dg6w] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.lookup-table th[b-greep4dg6w] {
    position: sticky;
    top: 0;
    background: #f9fafb;
    text-align: left;
    padding: 9px 16px;
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.sort-header[b-greep4dg6w] { cursor: pointer; user-select: none; }
.sort-header:hover[b-greep4dg6w] { color: #374151; background: #f3f4f6; }
.sort-active[b-greep4dg6w]  { color: #1d4ed8; }
.sort-arrow[b-greep4dg6w]   { font-size: 9px; }

.lookup-row[b-greep4dg6w] { cursor: pointer; transition: background 0.1s; }
.lookup-row:hover td[b-greep4dg6w]         { background: #eff6ff; }
.lookup-row:hover .col-code[b-greep4dg6w]  { color: #1d4ed8; font-weight: 700; }

.lookup-table td[b-greep4dg6w] {
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}
.lookup-table tr:last-child td[b-greep4dg6w] { border-bottom: none; }

.col-code[b-greep4dg6w] { width: 130px; font-family: monospace; font-weight: 600; }
.col-desc[b-greep4dg6w] { color: #4b5563; }

/* ── Footer ───────────────────────────────────────────────── */
.lookup-footer[b-greep4dg6w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-top: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.lookup-count[b-greep4dg6w] {
    font-size: 12px;
    color: #9ca3af;
}

.lookup-btn-cancel[b-greep4dg6w] {
    padding: 7px 16px;
    background: transparent;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #6b7280;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.lookup-btn-cancel:hover[b-greep4dg6w] { border-color: #9ca3af; color: #374151; }
/* /Shared/PayGroupLookup.razor.rz.scp.css */
/* ── Backdrop ─────────────────────────────────────────────── */
.lookup-backdrop[b-vnen3szj8j] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

/* ── Dialog ───────────────────────────────────────────────── */
.lookup-dialog[b-vnen3szj8j] {
    width: 560px;
    max-width: calc(100vw - 32px);
    max-height: 80vh;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: lookup-in-b-vnen3szj8j 0.16s ease-out;
}

@keyframes lookup-in-b-vnen3szj8j {
    from { opacity: 0; transform: translateY(-10px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)     scale(1);    }
}

/* ── Header ───────────────────────────────────────────────── */
.lookup-header[b-vnen3szj8j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 12px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.lookup-title-row[b-vnen3szj8j] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lookup-title[b-vnen3szj8j] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}

.lookup-close[b-vnen3szj8j] {
    background: transparent;
    border: none;
    font-size: 16px;
    color: #9ca3af;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
    transition: color 0.15s, background 0.15s;
}
.lookup-close:hover[b-vnen3szj8j] { color: #374151; background: #f3f4f6; }

.lookup-year-badge[b-vnen3szj8j] {
    font-size: 11px;
    font-weight: 600;
    color: #1d4ed8;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 2px 8px;
}

/* ── Toolbar ──────────────────────────────────────────────── */
.lookup-toolbar[b-vnen3szj8j] {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
    flex-shrink: 0;
}

.lookup-search-input[b-vnen3szj8j] {
    flex: 1;
    padding: 7px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    color: #111827;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.lookup-search-input:focus[b-vnen3szj8j] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

/* ── Scrollable body ──────────────────────────────────────── */
.lookup-body[b-vnen3szj8j] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.lookup-status[b-vnen3szj8j] {
    padding: 32px 0;
    text-align: center;
    font-size: 13px;
    color: #6b7280;
}

/* ── Table ────────────────────────────────────────────────── */
.lookup-table[b-vnen3szj8j] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.lookup-table th[b-vnen3szj8j] {
    position: sticky;
    top: 0;
    background: #f9fafb;
    text-align: left;
    padding: 9px 16px;
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.lookup-row[b-vnen3szj8j] {
    cursor: pointer;
    transition: background 0.1s;
}
.lookup-row:hover td[b-vnen3szj8j] { background: #eff6ff; }
.lookup-row:hover .col-code[b-vnen3szj8j] { color: #1d4ed8; font-weight: 700; }

.lookup-table td[b-vnen3szj8j] {
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}
.lookup-table tr:last-child td[b-vnen3szj8j] { border-bottom: none; }

.col-code[b-vnen3szj8j] { width: 130px; font-family: monospace; font-weight: 600; }
.col-desc[b-vnen3szj8j] { color: #4b5563; }

/* ── Footer ───────────────────────────────────────────────── */
.lookup-footer[b-vnen3szj8j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-top: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.lookup-count[b-vnen3szj8j] {
    font-size: 12px;
    color: #9ca3af;
}

.lookup-btn-cancel[b-vnen3szj8j] {
    padding: 7px 16px;
    background: transparent;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-size: 13px;
    color: #6b7280;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.lookup-btn-cancel:hover[b-vnen3szj8j] { border-color: #9ca3af; color: #374151; }
/* /Shared/QuerySelectorDialog.razor.rz.scp.css */
.qs-backdrop[b-0wtp5sulgb] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2100;
}

.qs-dialog[b-0wtp5sulgb] {
    width: min(760px, calc(100vw - 32px));
    max-height: 82vh;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.qs-header[b-0wtp5sulgb],
.qs-footer[b-0wtp5sulgb] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid #e5e7eb;
}

.qs-footer[b-0wtp5sulgb] {
    border-top: 1px solid #e5e7eb;
    border-bottom: none;
}

.qs-title[b-0wtp5sulgb] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #111827;
}

.qs-close[b-0wtp5sulgb] {
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #6b7280;
    cursor: pointer;
}

.qs-close:hover[b-0wtp5sulgb] {
    background: #f3f4f6;
    color: #111827;
}

.qs-toolbar[b-0wtp5sulgb] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border-bottom: 1px solid #f3f4f6;
}

.qs-search[b-0wtp5sulgb] {
    flex: 1;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    color: #111827;
    font-size: 13px;
}

.qs-search:focus[b-0wtp5sulgb] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,.14);
}

.qs-refresh[b-0wtp5sulgb],
.qs-cancel[b-0wtp5sulgb] {
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.qs-refresh[b-0wtp5sulgb] {
    border: none;
    background: #1d4ed8;
    color: #ffffff;
}

.qs-refresh:hover:enabled[b-0wtp5sulgb] {
    background: #1e40af;
}

.qs-cancel[b-0wtp5sulgb] {
    border: 1px solid #d1d5db;
    background: transparent;
    color: #374151;
}

.qs-cancel:hover:enabled[b-0wtp5sulgb] {
    border-color: #9ca3af;
}

.qs-alert[b-0wtp5sulgb] {
    margin: 12px 18px 0;
    padding: 9px 12px;
    border: 1px solid #fca5a5;
    border-radius: 7px;
    background: #fef2f2;
    color: #991b1b;
    font-size: 13px;
}

.qs-body[b-0wtp5sulgb] {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.qs-state[b-0wtp5sulgb] {
    padding: 36px 18px;
    color: #6b7280;
    text-align: center;
    font-size: 14px;
}

.qs-table[b-0wtp5sulgb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.qs-table th[b-0wtp5sulgb] {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 10px 12px;
    border-bottom: 2px solid #e5e7eb;
    background: #ffffff;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
    text-align: left;
    text-transform: uppercase;
}

.qs-table td[b-0wtp5sulgb] {
    padding: 10px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
    vertical-align: middle;
}

.qs-row[b-0wtp5sulgb] {
    cursor: pointer;
}

.qs-row:hover td[b-0wtp5sulgb] {
    background: #eff6ff;
}

.qs-id[b-0wtp5sulgb] {
    width: 82px;
    text-align: right;
    color: #6b7280;
}

.qs-name[b-0wtp5sulgb] {
    width: 220px;
    color: #1d4ed8;
    font-family: Consolas, "Courier New", monospace;
    font-weight: 700;
}

.qs-count[b-0wtp5sulgb] {
    color: #6b7280;
    font-size: 12px;
}

button:disabled[b-0wtp5sulgb] {
    opacity: .55;
    cursor: not-allowed;
}
/* /Shared/QueryWriterDialog.razor.rz.scp.css */
.qw-backdrop[b-9vwifb4ccp] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2100;
}

.qw-dialog[b-9vwifb4ccp] {
    width: min(1180px, calc(100vw - 32px));
    max-height: 90vh;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.qw-header[b-9vwifb4ccp],
.qw-footer[b-9vwifb4ccp] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid #e5e7eb;
}

.qw-footer[b-9vwifb4ccp] {
    justify-content: flex-end;
    border-top: 1px solid #e5e7eb;
    border-bottom: none;
}

.qw-title[b-9vwifb4ccp] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #111827;
}

.qw-subtitle[b-9vwifb4ccp] {
    margin-top: 2px;
    font-size: 12px;
    color: #6b7280;
}

.qw-close[b-9vwifb4ccp] {
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #6b7280;
    cursor: pointer;
}

.qw-close:hover[b-9vwifb4ccp] {
    background: #f3f4f6;
    color: #111827;
}

.qw-loading[b-9vwifb4ccp] {
    padding: 48px;
    text-align: center;
    color: #6b7280;
}

.qw-body[b-9vwifb4ccp] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 18px;
}

.qw-form-grid[b-9vwifb4ccp] {
    display: grid;
    grid-template-columns: minmax(180px, 0.7fr) minmax(260px, 1fr) auto;
    gap: 12px 16px;
    align-items: end;
}

.qw-field[b-9vwifb4ccp] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.qw-field-wide[b-9vwifb4ccp] {
    min-width: 260px;
}

.qw-field-full[b-9vwifb4ccp] {
    grid-column: 1 / -1;
}

.qw-label[b-9vwifb4ccp] {
    font-size: 12px;
    font-weight: 700;
    color: #374151;
}

.qw-required[b-9vwifb4ccp] {
    color: #dc2626;
}

.qw-input[b-9vwifb4ccp],
.qw-cell-input[b-9vwifb4ccp] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    background: #ffffff;
    color: #111827;
    font-size: 13px;
}

.qw-input[b-9vwifb4ccp] {
    padding: 8px 10px;
}

textarea.qw-input[b-9vwifb4ccp] {
    min-height: 160px;
    resize: vertical;
    font-family: Consolas, "Courier New", monospace;
    line-height: 1.45;
}

.qw-cell-input[b-9vwifb4ccp] {
    height: 32px;
    padding: 6px 8px;
}

.qw-input:focus[b-9vwifb4ccp],
.qw-cell-input:focus[b-9vwifb4ccp] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,.14);
}

.qw-input-error[b-9vwifb4ccp] {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220,38,38,.10);
}

.qw-error-text[b-9vwifb4ccp],
.qw-inline-error[b-9vwifb4ccp] {
    font-size: 11px;
    color: #dc2626;
}

.qw-check[b-9vwifb4ccp] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    color: #374151;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.qw-check input[b-9vwifb4ccp],
.qw-flag input[b-9vwifb4ccp] {
    width: 15px;
    height: 15px;
    accent-color: #1d4ed8;
}

.qw-details-header[b-9vwifb4ccp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 20px 0 8px;
}

.qw-section-title[b-9vwifb4ccp] {
    margin: 0;
    font-size: 13px;
    font-weight: 800;
    color: #374151;
    text-transform: uppercase;
}

.qw-add-detail[b-9vwifb4ccp] {
    padding: 7px 12px;
    border: none;
    border-radius: 7px;
    background: #1d4ed8;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.qw-add-detail:hover[b-9vwifb4ccp] {
    background: #1e40af;
}

.qw-detail-wrap[b-9vwifb4ccp] {
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.qw-detail-table[b-9vwifb4ccp] {
    width: 100%;
    min-width: 1040px;
    border-collapse: collapse;
    font-size: 13px;
}

.qw-detail-table th[b-9vwifb4ccp] {
    padding: 8px 10px;
    background: #f9fafb;
    color: #6b7280;
    font-size: 11px;
    font-weight: 800;
    text-align: left;
    text-transform: uppercase;
    border-bottom: 1px solid #e5e7eb;
}

.qw-detail-table td[b-9vwifb4ccp] {
    padding: 8px 10px;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

.qw-detail-table tr:last-child td[b-9vwifb4ccp] {
    border-bottom: none;
}

.qw-seq[b-9vwifb4ccp] {
    width: 72px;
}

.qw-cell-num[b-9vwifb4ccp] {
    text-align: right;
}

.qw-flag[b-9vwifb4ccp] {
    width: 52px;
    text-align: center;
}

.qw-actions[b-9vwifb4ccp] {
    width: 90px;
    text-align: right;
}

.qw-remove[b-9vwifb4ccp] {
    padding: 5px 9px;
    border: none;
    border-radius: 6px;
    background: #fef2f2;
    color: #dc2626;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.qw-remove:hover[b-9vwifb4ccp] {
    background: #fee2e2;
}

.qw-empty-detail[b-9vwifb4ccp] {
    padding: 28px 12px;
    text-align: center;
    color: #6b7280;
}

.qw-alert[b-9vwifb4ccp] {
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #fca5a5;
    border-radius: 7px;
    background: #fef2f2;
    color: #991b1b;
    font-size: 13px;
}

.qw-inline-error[b-9vwifb4ccp] {
    margin-top: 8px;
}

.qw-save[b-9vwifb4ccp],
.qw-cancel[b-9vwifb4ccp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 86px;
    min-height: 36px;
    padding: 8px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.qw-save[b-9vwifb4ccp] {
    border: none;
    background: #1d4ed8;
    color: #ffffff;
}

.qw-save:hover:enabled[b-9vwifb4ccp] {
    background: #1e40af;
}

.qw-save:disabled[b-9vwifb4ccp] {
    background: #93c5fd;
    cursor: not-allowed;
}

.qw-cancel[b-9vwifb4ccp] {
    border: 1px solid #d1d5db;
    background: transparent;
    color: #374151;
}

.qw-cancel:hover:enabled[b-9vwifb4ccp] {
    border-color: #9ca3af;
}

.qw-spinner[b-9vwifb4ccp] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255,255,255,.45);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: qw-spin-b-9vwifb4ccp .75s linear infinite;
}

@keyframes qw-spin-b-9vwifb4ccp {
    to { transform: rotate(360deg); }
}

@media (max-width: 760px) {
    .qw-form-grid[b-9vwifb4ccp] {
        grid-template-columns: 1fr;
    }
}
/* /Shared/ReportDialog.razor.rz.scp.css */
/* ── Backdrop ─────────────────────────────────────────────── */
.rd-backdrop[b-cb8epxphd8] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

/* ── Dialog shell ─────────────────────────────────────────── */
.rd-dialog[b-cb8epxphd8] {
    width: min(1100px, calc(100vw - 32px));
    height: min(90vh, 1200px);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: rd-in-b-cb8epxphd8 0.16s ease-out;
}

@keyframes rd-in-b-cb8epxphd8 {
    from { opacity: 0; transform: translateY(-10px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)     scale(1);    }
}

/* ── Header ───────────────────────────────────────────────── */
.rd-header[b-cb8epxphd8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 12px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.rd-title[b-cb8epxphd8] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}

.rd-close[b-cb8epxphd8] {
    background: transparent;
    border: none;
    font-size: 16px;
    color: #9ca3af;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
    transition: color 0.15s, background 0.15s;
}
.rd-close:hover[b-cb8epxphd8] { color: #374151; background: #f3f4f6; }

/* ── FastReport WebReportContainer body ───────────────────── */
.rd-body[b-cb8epxphd8] {
    flex: 1;
    min-height: 0;
    overflow: auto;
}
