.planning-requests .modal-dialog { width: calc(100% - 32px); max-width: 1160px; margin: 16px auto; height: calc(100% - 32px); }
.planning-requests .modal-content { max-height: 100%; border-radius: 8px; overflow: hidden; color: #252b35; }
.planning-requests .modal-header { display: flex; flex-wrap: nowrap; align-items: flex-start; gap: 24px; padding: 20px 24px; }
.planning-requests .pr-heading { flex: 1 1 auto; min-width: 0; }
.planning-requests .modal-title { font-size: 20px; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; letter-spacing: 0; }
.planning-requests .pr-scope { margin-top: 6px; font-size: 14px; line-height: 1.45; color: #626c7a; overflow-wrap: anywhere; }
:is(.planning-requests, .planning-info-header) .pr-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 14px; }
:is(.planning-requests, .planning-info-header) .pr-pdf { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; min-width: 88px; padding: 8px 14px; border: 1px solid #f47a15; border-radius: 6px; color: #a94700; background: #fff; font-size: 14px; line-height: 1; white-space: nowrap; }
:is(.planning-requests, .planning-info-header) .pr-pdf:hover:not(:disabled) { background: #fff3e7; border-color: #bd5000; color: #873600; }
:is(.planning-requests, .planning-info-header) .pr-pdf img { width: 20px; height: 20px; flex: 0 0 20px; }
:is(.planning-requests, .planning-info-header) .pr-actions .btn-close { flex: 0 0 40px; box-sizing: border-box; width: 40px; height: 40px; margin: 0; padding: 10px; background-size: 14px; border-radius: 6px; }
:is(.planning-requests, .planning-info-header) .pr-actions .btn-close:hover { background-color: #f1f3f5; }
.planning-requests .pr-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 24px; border-bottom: 1px solid #e2e6eb; background: #fafbfc; }
.planning-requests .pr-toolbar .form-control { flex: 1 1 240px; width: auto; max-width: 420px; min-width: 0; height: 40px; font-size: 14px; }
.planning-requests .pr-sort { flex: 0 0 auto; }
.planning-requests .pr-sort .btn { display: flex; align-items: center; min-height: 40px; font-size: 14px; }
.planning-requests .pr-meta { flex: 1 1 180px; font-size: 13px; color: #626c7a; text-align: right; }
.planning-requests .modal-body { padding: 0 24px 20px; overflow: auto; }
.planning-requests .pr-day { border-bottom: 1px solid #e2e6eb; }
.planning-requests .pr-day-heading { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; padding: 12px 10px; background: #f2f4f7; font-size: 14px; margin: 0; }
.planning-requests .pr-day-heading small { font-size: 12px; color: #667080; font-weight: 400; }
.planning-requests .pr-section-heading { display: flex; justify-content: space-between; gap: 16px; font-size: 16px; font-weight: 700; padding: 16px 10px 12px; margin: 0; }
.planning-requests .pr-planned { margin-top: 20px; border-top: 2px solid #e8a23a; }
.planning-requests .pr-planned > .pr-section-heading { background: #fff8eb; color: #70420b; }
.planning-requests .pr-empty { color: #717b88; padding: 12px 10px; font-size: 13px; }
.planning-requests .pr-table { table-layout: fixed; width: 100%; margin: 0; font-size: 14px; }
.planning-requests .pr-table th { font-size: 12px; color: #677180; font-weight: 600; }
.planning-requests .pr-table th, .planning-requests .pr-table td { padding: 9px 10px; vertical-align: top; border-bottom: 1px solid #edf0f3; overflow-wrap: anywhere; }
.planning-requests .pr-table .pr-person { font-weight: 600; }
.planning-requests .pr-table .pr-time { white-space: nowrap; }
.planning-requests .pr-table .pr-note { color: #626c7a; white-space: pre-wrap; }
.planning-requests .pr-conflict td { background: #fff1f2; }
.planning-requests .pr-conflict .pr-planning { color: #a4223c; }
.planning-requests .pr-mobility { display: inline-block; padding: 2px 6px; background: #edf1f4; color: #4b5966; font-size: 12px; border-radius: 4px; white-space: nowrap; }
.planning-requests .pr-error, .planning-requests .pr-export-error { margin: 16px 0; padding: 12px; border: 1px solid #f4bec5; border-radius: 6px; background: #fff3f4; color: #982239; }
.planning-requests .pr-export-error { margin: 0 24px 16px; font-size: 13px; }
.planning-requests .pr-retry { margin-left: 12px; }
@media (max-width: 767.98px) {
  .planning-requests .modal-dialog { width: calc(100% - 16px); margin: 8px auto; height: calc(100% - 16px); }
  .planning-requests .modal-header { padding: 16px; gap: 12px; }
  .planning-requests .modal-title { font-size: 18px; }
  :is(.planning-requests, .planning-info-header) .pr-actions { gap: 6px; }
  :is(.planning-requests, .planning-info-header) .pr-pdf { min-width: 70px; padding: 8px; }
  .planning-requests .pr-toolbar { padding: 12px 16px; }
  .planning-requests .pr-toolbar .form-control { flex-basis: 100%; max-width: none; }
  .planning-requests .pr-meta { text-align: left; flex-basis: 100%; }
  .planning-requests .modal-body { padding: 0 16px 16px; }
  .planning-requests .pr-table { min-width: 700px; }
}

.planning-info-header { gap: 16px; align-items: flex-start; }
.planning-info-header > :first-child { flex: 1 1 auto; min-width: 0; }
.planning-info-header .modal-title { overflow-wrap: anywhere; }
