#ed-app > .ea-header { gap: 24px; transition: none; transform: none !important; }
#ed-app > .ea-header > .ea-header-left { min-width: 0; flex: 0 1 auto; }
#ed-app > .ea-header > .ea-header-right { min-width: 0 !important; flex: 0 0 auto; }
#ed-app > .ea-header .ea-header-left > div { min-width: 0; }
#ed-app > .ea-header .ea-header-left img { flex: 0 0 auto; transition: none; transform: none !important; }
#ed-app > .ea-header h1 { font-family: "Segoe UI", system-ui, sans-serif; font-size: 22px; font-weight: 600 !important; letter-spacing: -.3px; }
#ed-app > .ea-header .ea-user-name { font-weight: 600 !important; }
#ed-app .ea-header-tools { flex: 1 1 auto; display: flex; justify-content: center; }
#ed-app .ea-header-tool-tabs { gap: 8px; margin: 0; flex-wrap: nowrap; }
#ed-app .ea-header-tool-tabs .nav-link { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 116px; height: 40px; padding: 8px 16px; border: 1px solid var(--header-tool-border); border-radius: 10px; background: var(--header-tool-bg); color: #fff; font-size: 14px; font-weight: 500; transition: none; transform: none; box-shadow: none; }
#ed-app .ea-header-tool-tabs #tab-elia { --header-tool-bg: #7c3aed; --header-tool-hover: #6d28d9; --header-tool-border: #c4b5fd; }
#ed-app .ea-header-tool-tabs #tab-unielite { --header-tool-bg: #087f5b; --header-tool-hover: #047857; --header-tool-border: #6ee7b7; }
#ed-app .ea-header-tool-tabs .nav-link i { font-size: 16px; color: inherit; }
#ed-app .ea-header-tool-tabs .nav-link:hover { background: var(--header-tool-hover); }
#ed-app .ea-header-tool-tabs .nav-link.active { background: var(--header-tool-bg); color: #fff; border-color: #fff; outline: 1px solid #fff; outline-offset: 1px; }
#ed-app .ea-header-tool-tabs .nav-link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 991px) {
  #ed-app > .ea-header { gap: 12px; flex-wrap: wrap; }
  #ed-app .ea-header-tools { order: 3; flex: 1 1 100%; justify-content: flex-start; }
  #ed-app .ea-header-tool-tabs .nav-link { height: 36px; min-width: 110px; font-size: 13px; }
}
/* Navigation and team availability: reuse native controls and permission rules. */
#ed-app > .ed-tabs { display: grid !important; grid-template-columns: repeat(var(--ed-tabs-count, 11), minmax(0, 1fr)); gap: 6px; border: 0 !important; padding: 8px 0 !important; background: transparent; }
#ed-app > .ed-tabs.d-none { display: none !important; }
#ed-app > .ed-tabs > .nav-item { min-width: 0; margin: 0 !important; }
#ed-app > .ed-tabs .nav-link { display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; height: 42px; padding: 7px 8px !important; border: 1px solid transparent !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 500; white-space: normal !important; line-height: 1.25; background: transparent; color: #44566f; transition: none; transform: none !important; box-shadow: none !important; }
#ed-app > .ed-tabs .nav-link::before, #ed-app > .ed-tabs .nav-link::after { display: none !important; }
#ed-app > .ed-tabs .nav-link i { font-size: 17px !important; flex-shrink: 0; transition: none; transform: none !important; }
#ed-app > .ed-tabs .nav-link:hover { background: #f0f5fc; color: #19477f; }
#ed-app > .ed-tabs .nav-link.active { background: #e7f0ff !important; border-color: #c4d6f2 !important; color: #19477f !important; font-weight: 600; }
#ed-app > .ed-tabs .nav-link:focus-visible { outline: 2px solid #2456ad; outline-offset: 2px; }
#ea-avail-btn { min-height: 42px; border: 1px solid #c6d8f3; border-radius: 9px; padding: 9px 14px !important; background: #edf4ff !important; color: #19477f !important; box-shadow: none !important; transition: none !important; transform: none !important; text-decoration: none !important; gap: 8px; }
#ea-avail-btn::before { display: none !important; }
#ea-avail-btn i, #ea-avail-btn .small { color: inherit !important; opacity: 1 !important; transform: none !important; text-shadow: none; animation: none !important; filter: none !important; }
#ea-avail-btn .small { font-size: 13px; font-weight: 600; text-decoration: none; }
#ea-avail-btn.ea-avail-btn-on { background: #e6f7ed !important; color: #176340 !important; border-color: #a8d9bd; }
#ea-avail-btn.ea-avail-btn-help { background: #fff3dd !important; color: #835011 !important; border-color: #eed1a2; }
#ea-avail-btn:hover { filter: brightness(.98); }
#ea-avail-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
#ea-avail-badge { position: static !important; order: 3; transform: none !important; font-size: 10px; padding: 3px 5px; min-width: 18px; background: #176340; border: 0; animation: none !important; box-shadow: none; }
#modal-availability .modal-dialog { max-width: 920px; }
#modal-availability .modal-content { border: 1px solid #d6e0ee; border-radius: 14px; overflow: hidden; }
#modal-availability .modal-header { padding: 18px 22px 14px; background: #fff; border-bottom: 0; align-items: flex-start; }
#modal-availability .modal-title { color: #193d72; font-size: 20px; font-weight: 700; }
#modal-availability .availability-subtitle { margin: 6px 0 0; color: #61718a; font-size: 13px; }
#modal-availability .modal-body { padding: 0 22px 18px; }
#modal-availability .availability-tabs { display: grid; grid-template-columns: 1.45fr 1fr 1fr 1.05fr; gap: 4px; padding: 4px; background: #f1f5fb; border: 1px solid #dce5f1; border-radius: 9px; margin-bottom: 18px; }
#modal-availability .availability-tabs .nav-link { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 6px; font-size: 12px; font-weight: 650; border: 0; border-radius: 6px; color: #4b5e78; line-height: 1.25; }
#modal-availability .availability-tabs .nav-link.active { background: #2456ad; color: #fff; }
#modal-availability .availability-intro { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
#modal-availability .availability-intro-icon { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border-radius: 10px; background: #edf4ff; color: #2456ad; font-size: 24px; }
#modal-availability h6 { margin: 0; color: #243f65; font-size: 15px; font-weight: 700; }
#modal-availability .availability-intro p, #modal-availability .availability-section-heading p { margin: 4px 0 0; color: #61718a; font-size: 13px; }
#modal-availability .availability-toggle-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid #d6e0ee; border-radius: 9px; background: #f8fafd; padding: 14px 16px; margin-bottom: 16px; }
#modal-availability .availability-toggle-card strong { display: block; font-size: 14px; color: #243f65; }
#modal-availability #avail-toggle-label { display: block; color: #61718a; font-size: 12px; margin-top: 4px; }
#modal-availability .form-switch { margin: 0; }
#modal-availability .form-switch .form-check-input { width: 42px; height: 24px; cursor: pointer; }
#modal-availability .availability-form-grid { display: grid; grid-template-columns: 1fr 220px; gap: 14px; }
#modal-availability .form-label { color: #3e526f; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
#modal-availability .form-label span { color: #61718a; font-weight: 400; }
#modal-availability .form-control, #modal-availability .form-select { min-height: 40px; padding: 8px 12px; font-size: 13px; border-color: #cbd8ea; border-radius: 7px; }
#modal-availability .availability-hint { color: #61718a; font-size: 12px; margin: 14px 0 0; }
#modal-availability .availability-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
#modal-availability .availability-request-actions { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 14px; }
#modal-availability .availability-request-actions > div { flex: 0 1 240px; }
#modal-availability .modal-footer { background: #f8fafd; padding: 12px 22px; gap: 8px; border-top: 1px solid #dce5f1; }
#modal-availability .btn { display: inline-flex; gap: 6px; align-items: center; justify-content: center; padding: 8px 12px; min-height: 36px; font-size: 12px; }
#modal-availability .btn, #modal-availability .btn i, #modal-availability .nav-link { transition: none !important; transform: none !important; box-shadow: none !important; }
#modal-availability .btn::before { display: none !important; }
#modal-availability:has(#availability-self:not(.active)) #avail-save, #modal-availability:has(#availability-self:not(.active)) #avail-stop { display: none !important; }
#modal-availability #avail-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#modal-availability .list-group-item { border: 1px solid #dce5f1; border-radius: 9px; padding: 12px; margin: 0; }
#modal-availability .avail-person-name { color: #243f65; font-size: 14px; }
#modal-availability .avail-person-info, #modal-availability .avail-person-note { font-size: 12px; overflow-wrap: anywhere; }
#modal-availability .avail-person-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
#modal-availability .avail-person-actions .btn { padding: 4px 6px; min-height: 30px; font-size: 11px; }
#modal-availability #support-list { gap: 10px; }
#modal-availability .support-request-note { font-size: 13px; margin: 6px 0; }
#modal-availability .support-request-meta { font-size: 11px; }
#modal-availability .support-request-actions { gap: 6px; margin-top: 8px; }
#modal-availability .availability-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 12px; font-size: 12px; color: #61718a; }
#modal-availability .availability-pagination .btn { min-height: 30px; padding: 4px 8px; }
#modal-availability [hidden] { display: none !important; }
#modal-availability .text-center.py-4 { grid-column: 1 / -1; padding: 20px 12px !important; font-size: 13px; }
@media (max-width: 1400px) {
  #ed-app > .ed-tabs .nav-link { font-size: 12px !important; gap: 5px; padding: 6px !important; }
  #ed-app > .ed-tabs .nav-link i { font-size: 15px !important; }
}
@media (max-width: 991px) {
  #ed-app > .ed-tabs { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 134px; overflow-x: auto; justify-content: start; }
}
@media (max-width: 600px) {
  #modal-availability .modal-dialog { margin: 12px; width: calc(100% - 24px); min-height: calc(100dvh - 24px); }
  #modal-availability .modal-content { min-height: 0; }
  #modal-availability .modal-header { padding: 14px; }
  #modal-availability .modal-title { font-size: 18px; }
  #modal-availability .modal-body { padding: 0 14px 14px; }
  #modal-availability .availability-tabs { grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 14px; }
  #modal-availability .availability-tabs .nav-link { min-height: 38px; font-size: 11px; padding: 7px 4px; }
  #modal-availability .availability-form-grid { grid-template-columns: 1fr; gap: 10px; }
  #modal-availability .availability-intro { margin-bottom: 12px; align-items: flex-start; }
  #modal-availability .availability-toggle-card { padding: 10px 12px; margin-bottom: 12px; }
  #modal-availability .modal-footer { display: flex; flex-wrap: wrap; padding: 10px 14px; }
  #modal-availability .modal-footer .btn { width: auto; flex: 0 0 auto; font-size: 11px; padding: 7px 9px; }
  #modal-availability #avail-list { grid-template-columns: 1fr; }
  #modal-availability .availability-request-actions { flex-wrap: wrap; gap: 10px; }
  #modal-availability .availability-section-heading { gap: 8px; }
}
