.staff-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:6px; max-width:250px; }
.staff-header-button { color:#fff; background:transparent; border:1px solid rgb(255 255 255 / 55%); padding:6px 9px; border-radius:5px; font-size:11px; line-height:1.4; white-space:nowrap; }
.staff-header-button:hover { background:rgb(255 255 255 / 12%); }
.staff-header-name { max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.staff-dialog { width:min(850px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); border:1px solid #d7e1dc; border-radius:12px; padding:0; color:#21413b; background:#fff; box-shadow:0 20px 70px rgb(0 0 0 / 25%); }
.staff-dialog::backdrop { background:rgb(3 31 27 / 55%); }
.staff-dialog-header { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; position:sticky; top:0; z-index:1; padding:20px 24px; background:#043832; color:#fff; }
.staff-dialog-header h2 { font-size:19px; font-weight:700; margin:0; }
.staff-close { flex:0 0 auto; color:#fff; font-size:12px; border:1px solid rgb(255 255 255 / 50%); border-radius:4px; padding:5px 9px; }
.staff-dialog-content { padding:24px; display:flex; flex-direction:column; gap:18px; }
.staff-muted { color:#64716c; font-size:12px; line-height:1.6; }
.staff-error { color:#9a2828!important; background:#fff3f2; border:1px solid #efcccc; border-radius:5px; padding:10px; font-size:12px; }
.staff-form { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; max-width:540px; width:100%; }
.staff-user-create { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
.staff-field { display:flex; flex-direction:column; gap:6px; font-size:12px; min-width:0; }
.staff-field > span { color:#36554d; font-weight:600; }
.staff-field input,.staff-field select { width:100%; border:1px solid #cbd6d1; border-radius:5px; padding:9px 11px; background:#fff; color:#21413b; min-height:38px; font:inherit; }
.staff-field input:focus,.staff-field select:focus { outline:2px solid #327b68; outline-offset:1px; }
.staff-button { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; border:1px solid #c4d2cb; border-radius:5px; padding:8px 12px; color:#043832; background:#fff; font-size:12px; line-height:1.4; cursor:pointer; }
.staff-button:hover { background:#eef6f1; }
.staff-primary { background:#043832; color:#fff; border-color:#043832; }
.staff-primary:hover { background:#0c5348; }
.staff-button:disabled { opacity:.5; cursor:not-allowed; }
.staff-message { font-size:12px; line-height:1.6; grid-column:1 / -1; }
.staff-actions { display:flex; flex-wrap:wrap; gap:10px; }
.staff-account-name { font-size:18px; font-weight:700; }
.staff-users-list { overflow-x:auto; }
.staff-users-table { width:100%; border-collapse:collapse; font-size:12px; }
.staff-users-table th,.staff-users-table td { border-bottom:1px solid #e0e8e3; padding:12px 9px; text-align:left; vertical-align:top; }
.staff-users-table th { font-weight:700; background:#f2f7f4; }
.staff-user-actions { display:flex; flex-wrap:wrap; gap:6px; min-width:200px; }
.staff-user-actions small { flex-basis:100%; }
.staff-header { max-width:360px; }
.staff-header-users { background:#fff; color:#043832; border-color:#fff; font-weight:700; }
.staff-header-users:hover { background:#e8f3ed; }
.staff-dialog-wide { width:min(1120px,calc(100vw - 32px)); }
.staff-users-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.staff-users-counters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.staff-user-counter { display:flex; flex-direction:column; gap:5px; padding:16px 18px; border:1px solid #dce7e0; border-radius:8px; background:#f4f8f5; }
.staff-user-counter strong { font-size:26px; line-height:1.2; color:#043832; }
.staff-user-counter span { font-size:12px; color:#52685e; }
.staff-users-filters { display:grid; grid-template-columns:minmax(200px,1fr) 160px 160px auto; gap:12px; align-items:end; padding:16px; border:1px solid #dce7e0; border-radius:8px; background:#fafcfb; }
.staff-users-filters .staff-button { min-height:38px; align-self:end; }
.staff-users-table { min-width:760px; }
.staff-users-table caption { text-align:left; }
.staff-users-table td small { display:block; margin-top:5px; }
.staff-user-name { display:block; font-weight:700; }
.staff-username { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; }
.staff-account-status { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border:1px solid; border-radius:20px; font-size:11px; font-weight:600; }
.staff-account-status::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.staff-account-active { color:#18643e; background:#eef9f1; border-color:#b9ddc7; }
.staff-account-inactive { color:#6b6a62; background:#f5f4ef; border-color:#d9d8ce; }
.staff-users-empty { margin:10px 0; padding:24px; border:1px dashed #cbd8cf; border-radius:8px; text-align:center; color:#53685e; font-size:13px; }
.staff-audit-table { min-width:650px; }
.staff-reservation-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:14px; align-items:end; margin:18px 0; padding:18px; border:1px solid #dce7e0; border-radius:8px; background:#f7faf8; }
.staff-period-heading { display:flex; flex-direction:column; gap:5px; grid-column:1 / -1; color:#043832; }
.staff-period-heading strong { font-size:14px; font-weight:700; }
.staff-period-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:end; grid-column:1 / -1; justify-content:flex-end; }
.staff-period-error { grid-column:1 / -1; margin:0; }
.staff-reservation-filters [hidden] { display:none!important; }
.staff-reservation-filters .staff-button { align-self:flex-end; min-height:38px; }
.staff-cell { padding:12px; vertical-align:top; line-height:1.6; overflow-wrap:anywhere; }
.staff-cell strong { display:block; }
.staff-cell small { display:block; }
.staff-row-actions { min-width:180px; display:flex; flex-direction:column; align-items:stretch; gap:8px; }
.staff-row-actions .staff-button { align-self:stretch; }
.staff-status { display:inline-block; border:1px solid #d8dfdb; border-radius:5px; background:#f5f7f5; padding:4px 7px; color:#345248; font-size:11px; }
.staff-status-confirmed,.staff-status-completed { background:#edf8f0; border-color:#b9d9c3; }
.staff-status-rejected,.staff-status-cancelled { background:#fff2f0; border-color:#e6c6c1; }
.staff-status-pending_review { background:#fff8e8; border-color:#e3d4ab; }
.staff-reservation-summary { color:#53685e; font-size:12px; margin-top:15px; }
.staff-pager { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:15px; }
.staff-notice { position:fixed; bottom:20px; right:20px; z-index:100; max-width:min(420px,calc(100vw - 40px)); border:1px solid #b7d1c2; border-radius:7px; padding:14px 18px; background:#eef8f1; color:#174c38; font-size:12px; line-height:1.6; box-shadow:0 4px 16px rgb(0 0 0 / 12%); }
.staff-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.staff-dialog [hidden],.staff-notice[hidden],.staff-reservation-filters[hidden] { display:none!important; }
@media (max-width:639px) { .staff-dialog { width:calc(100vw - 18px); max-height:calc(100dvh - 18px); } .staff-dialog-header,.staff-dialog-content { padding:17px; } .staff-user-create { grid-template-columns:minmax(0,1fr); } .staff-header { max-width:190px; } .staff-header-name { display:none; } .staff-row-actions { min-width:150px; } }
@media (max-width:850px) { .staff-users-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .staff-users-filters > :first-child { grid-column:1 / -1; } }
@media (max-width:639px) { .staff-header { max-width:240px; } .staff-users-counters { gap:7px; } .staff-user-counter { padding:12px 9px; } .staff-user-counter strong { font-size:22px; } .staff-user-counter span { font-size:11px; line-height:1.5; } .staff-users-filters { padding:12px; gap:10px; } .staff-users-toolbar .staff-button { flex:1 1 auto; } }
@media (max-width:639px) { .staff-reservation-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:13px; gap:12px; } .staff-period-actions { grid-column:1 / -1; } .staff-period-actions .staff-button { flex:1 1 auto; } }
@media (max-width:359px) { .staff-reservation-filters { grid-template-columns:minmax(0,1fr); } }
@media print { .staff-header,.staff-dialog,.staff-notice,.staff-reservation-filters,.staff-pager { display:none!important; } }
.staff-room-report-preview { max-height:52vh; overflow:auto; border:1px solid #d7e2db; border-radius:7px; padding:16px; }
.staff-room-report { color:#183c32; background:#fff; }
.staff-room-report-heading { margin-bottom:16px; }
.staff-room-report-heading h2 { font-size:19px; font-weight:700; margin:0 0 5px; }
.staff-room-report-heading h3 { font-size:14px; font-weight:600; margin:0 0 10px; }
.staff-room-report-heading p { font-size:12px; margin:4px 0; }
.staff-room-report-demo { color:#875d13; font-weight:700; }
.staff-room-report-table { border-collapse:collapse; width:100%; min-width:850px; font-size:11px; line-height:1.45; }
.staff-room-report-table th,.staff-room-report-table td { border:1px solid #cbd5ce; padding:9px 7px; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.staff-room-report-table th { background:#edf4ef; font-weight:700; }
.staff-room-report-table strong,.staff-room-report-table small { display:block; }
.staff-room-report-table small { font-size:inherit; margin-top:4px; }
.staff-room-print-root { display:none; }
@page staffRoomReport { size:A4 landscape; margin:12mm; }
@media print {
  body.imprimiendo-control-sala { display:block!important; margin:0!important; min-height:0!important; }
  body.imprimiendo-control-sala > *:not(#staffRoomPrintArea) { display:none!important; }
  body.imprimiendo-control-sala #staffRoomPrintArea { display:block!important; visibility:visible!important; position:static!important; width:100%!important; padding:0!important; margin:0!important; page:staffRoomReport; }
  body.imprimiendo-control-sala #staffRoomPrintArea * { visibility:visible!important; }
  #staffRoomPrintArea .staff-room-report-table { min-width:0; table-layout:fixed; font-size:8pt; color:#111; }
  #staffRoomPrintArea .staff-room-report-table th,#staffRoomPrintArea .staff-room-report-table td { padding:6px 5px; }
  #staffRoomPrintArea .staff-room-report-table thead { display:table-header-group; }
  #staffRoomPrintArea .staff-room-report-table tr { break-inside:avoid; page-break-inside:avoid; }
  #staffRoomPrintArea .staff-room-report-table th:nth-child(1) { width:17%; }
  #staffRoomPrintArea .staff-room-report-table th:nth-child(2) { width:16%; }
  #staffRoomPrintArea .staff-room-report-table th:nth-child(3) { width:24%; }
  #staffRoomPrintArea .staff-room-report-table th:nth-child(4) { width:20%; }
  #staffRoomPrintArea .staff-room-report-table th:nth-child(5) { width:11%; }
  #staffRoomPrintArea .staff-room-report-table th:nth-child(6) { width:12%; }
}
