.emergency-page{display:flex;flex-direction:column;gap:1rem}.emergency-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.emergency-heading .card-title{margin:0}.emergency-heading p{margin:.35rem 0 0;color:#5a6780;font-size:.85rem;font-weight:600}.emergency-tabs{display:flex;align-items:center;gap:.55rem;margin:0}.emergency-tabs button{border:1px solid #ffe4e6;background:#fff6f7;color:#5a6780;border-radius:.7rem;padding:.58rem 1rem;font:inherit;font-size:.85rem;font-weight:800;transition:.15s}.emergency-tabs button:hover,.emergency-tabs button.active{border-color:#ef9aa1;background:#ffe4e6;color:#83121b}.emergency-modal{width:min(92vw,48rem)}.entity-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.entity-form-grid .form-label{margin:0}.emergency-modal .entity-form-grid>div>.form-label{display:block;margin-bottom:.45rem}.emergency-modal .entity-form-grid>label.form-label{display:flex;flex-direction:column;gap:.45rem}.entity-form-grid textarea.form-input{min-height:5.5rem;resize:vertical}.full-field{grid-column:1/-1}.emergency-modal footer{display:flex;justify-content:flex-start;gap:.6rem;margin-top:1rem}.form-hint{margin:1rem 0 0;color:#5a6780;font-size:.8rem;font-weight:600}.empty-cell{text-align:center;color:#5a6780;padding:1.5rem!important}.emergency-filter-card{overflow:visible}.emergency-filter-card .card-title{margin-bottom:1rem}.emergency-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:end}.emergency-filter-grid .btn{justify-content:center}.emergency-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.emergency-stats .stat-card{background:linear-gradient(135deg,#83121b,#a51620)}@media(max-width:700px){.emergency-heading{align-items:stretch;flex-direction:column}.emergency-tabs{flex-wrap:wrap}.entity-form-grid,.emergency-filter-grid,.emergency-stats{grid-template-columns:1fr}.full-field{grid-column:auto}}
.modern-time-picker{position:relative}.modern-time-picker.is-open{z-index:240}.modern-time-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;text-align:right}.modern-time-value{font-weight:600;color:#102a42}.modern-time-icon{color:#9f1d27;font-size:1rem}.modern-time-backdrop{position:fixed;inset:0;z-index:230;border:0;background:transparent}.modern-time-menu{position:absolute;inset-inline-end:0;top:calc(100% + .45rem);z-index:420;width:min(92vw,20rem);border:1px solid #ffe4e6;border-radius:1rem;background:#fff;padding:.75rem;box-shadow:0 18px 46px rgba(15,23,42,.16)}.modern-time-menu-head{padding:0 .25rem .6rem;margin-bottom:.55rem;border-bottom:1px solid #ffe4e6;color:#102a42;font-size:.85rem;font-weight:800}.modern-time-columns{display:grid;grid-template-columns:1fr 1fr .72fr;gap:.45rem}.modern-time-column>span{display:block;margin-bottom:.35rem;text-align:center;color:#5a6780;font-size:.72rem;font-weight:800}.modern-time-column>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;max-height:12rem;overflow-y:auto;padding:.15rem}.modern-time-period>div{grid-template-columns:1fr;overflow:visible}.modern-time-column button{border:1px solid transparent;border-radius:.55rem;background:#fff6f7;color:#2b3b52;padding:.38rem .22rem;font:inherit;font-size:.78rem;font-weight:700;transition:.15s}.modern-time-column button:hover{border-color:#ffccd2;background:#ffe4e6}.modern-time-column button.active{border-color:#83121b;background:linear-gradient(135deg,#660b13,#9f1d27);color:#fff;box-shadow:0 6px 16px rgba(131,18,27,.2)}
.emergency-pages-picker{margin-top:1rem;padding-top:1rem;border-top:1px solid #ffe4e6}.emergency-pages-picker .form-label{margin-bottom:.55rem}.emergency-pages-picker .perm-pages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.emergency-pages-picker .perm-page-item{position:relative;display:flex;align-items:center;gap:.65rem;min-height:3.15rem;border:1px solid #f5d3d6;border-radius:.8rem;background:#fff8f8;padding:.6rem .7rem;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.emergency-pages-picker .perm-page-item:hover{border-color:#eaa4aa;background:#fff3f4}.emergency-pages-picker .perm-page-item.is-selected{border-color:#d96b74;background:#fff0f1;box-shadow:0 5px 14px rgba(131,18,27,.08)}.emergency-pages-picker .perm-page-item input{position:absolute;opacity:0;pointer-events:none}.emergency-pages-picker .perm-page-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:.6rem;background:#fee1e4;color:#9f1d27}.emergency-pages-picker .perm-page-label{flex:1;color:#26364e;font-size:.83rem;font-weight:800}.emergency-pages-picker .perm-page-check{display:inline-flex;align-items:center;justify-content:center;flex:0 0 1.25rem;width:1.25rem;height:1.25rem;border:1px solid #e6b4b9;border-radius:50%;color:transparent;font-size:.7rem}.emergency-pages-picker .perm-page-item.is-selected .perm-page-check{border-color:#83121b;background:#83121b;color:#fff}
.emergency-page .report-table{table-layout:fixed}.emergency-page .report-table thead th,.emergency-page .report-table tbody td{width:auto!important;text-align:center!important;vertical-align:middle!important;overflow-wrap:anywhere;word-break:normal}.emergency-page .report-table tbody td>*{margin-inline:auto}.emergency-page .report-table .status-pill{justify-content:center;margin-inline:auto}
.emergency-attachment-upload{border:1px dashed #ef9aa1;border-radius:.9rem;background:#fff8f8;padding:.8rem .9rem}.emergency-attachment-upload .form-label{display:flex!important;flex-direction:column;gap:.45rem}.emergency-attachment-upload .form-input{padding:.45rem}.emergency-attachment-upload p{margin:.55rem 0 0;color:#5a6780;font-size:.8rem;font-weight:600;line-height:1.5}.emergency-attachment-upload p i{margin-inline-end:.3rem;color:#9f1d27}.emergency-attachment-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.65rem;border-radius:.65rem;background:#fff;padding:.5rem .65rem;color:#4b2430;font-size:.8rem;font-weight:700}.emergency-attachment-error{margin-top:.6rem;border-radius:.65rem;background:#fff0f1;padding:.5rem .65rem;color:#9f1d27;font-size:.8rem;font-weight:700}
.emergency-heading-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.emergency-record-actions,.emergency-document-actions{display:flex;align-items:center;justify-content:center;gap:.35rem}.emergency-icon-action{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid #efc9cd;border-radius:.6rem;background:#fff;color:#7a1822;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.emergency-icon-action:hover:not(:disabled){background:#fff2f3;border-color:#c73340;color:#941420;transform:translateY(-1px)}.emergency-icon-action:disabled{opacity:.4;cursor:not-allowed}.emergency-icon-action.is-archive{color:#8d5a16;border-color:#f1d3a0;background:#fffaf1}.emergency-icon-action.is-restore{color:#1d6a4a;border-color:#a5d7bd;background:#f2fbf6}.emergency-existing-document{display:flex;align-items:center;gap:.55rem;border:1px solid #dbe4f3;border-radius:.75rem;background:#f6f9ff;padding:.7rem .8rem;color:#314b71;font-size:.84rem;font-weight:600}.emergency-existing-document i{color:#a61d2a;font-size:1.1rem}
.emergency-mobile-records{display:none}
.emergency-record-filter-grid{grid-template-columns:minmax(15rem,2fr) minmax(10rem,1fr) minmax(10rem,1fr) auto}.emergency-search-field{min-width:0}.emergency-clear-filter{align-self:end;justify-content:center;white-space:nowrap;min-height:2.75rem}.emergency-filter-result{margin-top:.75rem;border-radius:.7rem;background:#fff6f7;padding:.5rem .75rem;text-align:center;color:#5a6780;font-size:.8rem;font-weight:700}
.emergency-report-stats{margin:0}.emergency-stats .stat-card.emergency-report-stat-card{position:relative;display:flex;align-items:center;gap:.85rem;min-height:6.1rem;overflow:hidden;border:1px solid rgba(255,205,210,.9);border-radius:1rem;background:linear-gradient(135deg,#fff 0%,#fff1f2 100%);padding:1rem 1.1rem;box-shadow:0 10px 28px rgba(131,18,27,.1)}.emergency-stats .stat-card.emergency-report-stat-card::after{content:"";position:absolute;inset-block:0;inset-inline-end:0;width:.3rem;background:linear-gradient(180deg,#660b13,#cc3f4a)}.emergency-report-stat-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 2.7rem;width:2.7rem;height:2.7rem;border-radius:.85rem;background:linear-gradient(135deg,#660b13,#9f1d27);color:#fff;box-shadow:0 8px 18px rgba(131,18,27,.22)}.emergency-report-stat-card>div{min-width:0;display:flex;flex:1;align-items:center;justify-content:space-between;gap:.75rem}.emergency-stats .stat-card.emergency-report-stat-card span:not(.emergency-report-stat-icon){color:#3f1020;font-size:.9rem;font-weight:900}.emergency-stats .stat-card.emergency-report-stat-card strong{color:#83121b;font-size:1.75rem;line-height:1;font-weight:900}

/* Emergency system: narrow screens retain the established clinic palette while
   prioritising readable fields, touch targets and intentional table overflow. */
@media (max-width: 768px) {
  .emergency-page { gap: .75rem; }
  .emergency-page .card-padded { padding: .9rem; }
  .emergency-heading { gap: .85rem; }
  .emergency-heading .card-title { font-size: .95rem; }
  .emergency-heading p { font-size: .82rem; line-height: 1.6; }
  .emergency-heading .btn,
  .emergency-filter-grid .btn,
  .emergency-modal footer .btn { min-height: 44px; }

  .emergency-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .emergency-tabs button { min-height: 44px; padding: .62rem .7rem; line-height: 1.35; }

  .entity-form-grid,
  .emergency-filter-grid,
  .emergency-stats { gap: .75rem; }
  .entity-form-grid .form-input,
  .emergency-filter-grid .form-input,
  .emergency-page .modern-select-trigger,
  .emergency-page .modern-date-trigger,
  .emergency-page .modern-time-trigger { min-height: 44px; }

  .emergency-modal { width: calc(100vw - 1.25rem); max-height: calc(100dvh - 1.25rem); border-radius: 1rem; }
  .emergency-modal .perm-modal-head { gap: .65rem; }
  .emergency-modal .perm-modal-close { min-height: 40px; white-space: nowrap; }
  .emergency-modal footer { position: sticky; bottom: -.9rem; margin-inline: -.9rem; padding: .75rem .9rem; background: #fff; border-top: 1px solid #ffe4e6; }
  .emergency-attachment-upload { padding: .75rem; }
  .emergency-heading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.emergency-heading-actions .btn{justify-content:center;padding-inline:.6rem}.emergency-record-actions,.emergency-document-actions{justify-content:flex-start}

  .emergency-page .report-table-wrap { -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; }
  .emergency-page .report-table { min-width: 680px; }
  .emergency-page .report-table thead th { padding: .65rem .55rem; font-size: .74rem; }
  .emergency-page .report-table tbody td { padding: .65rem .55rem; font-size: .76rem; line-height: 1.35; }
  .emergency-page .status-pill { min-height: 32px; }
  .emergency-report-stat-card { min-height: 5.25rem; }

  .modern-time-menu,
  .modern-date-menu { position: fixed; inset-inline: .625rem; top: auto; bottom: .625rem; width: auto; max-height: min(31rem, calc(100dvh - 1.25rem)); overflow-y: auto; }
  .modern-time-columns { gap: .55rem; }
  .modern-time-column button { min-height: 36px; }
  .emergency-record-filter-grid { grid-template-columns: 1fr; }
  .emergency-clear-filter { width:100%; }
  .emergency-page .card:has(> .report-table-wrap){display:none}
  .emergency-mobile-records{display:grid;gap:.75rem}
  .emergency-mobile-empty{border:1px dashed #f0c9cd;border-radius:1rem;background:#fff;padding:1.5rem 1rem;color:#5a6780;text-align:center;font-size:.83rem;font-weight:700;line-height:1.7}.emergency-mobile-empty i{display:block;margin-bottom:.45rem;color:#a61d2a;font-size:1.25rem}
  .emergency-record-card{overflow:hidden;border:1px solid #f1d5d8;border-radius:1rem;background:#fff;box-shadow:0 8px 22px rgba(131,18,27,.07)}
  .emergency-record-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem .9rem .7rem;border-bottom:1px solid #fff0f1}.emergency-record-card h3{margin:0;color:#172033;font-size:.94rem;font-weight:900;line-height:1.45}.emergency-record-card time{flex:0 0 auto;border-radius:.65rem;background:#fff4f5;padding:.35rem .45rem;color:#83121b;text-align:center;font-size:.7rem;font-weight:800;line-height:1.4}.emergency-record-card time small{display:block;color:#5a6780;font-size:.68rem}
  .emergency-record-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.emergency-record-badges span{border-radius:999px;background:#f7f8fb;padding:.2rem .45rem;color:#5a6780;font-size:.67rem;font-weight:800}
  .emergency-record-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.7rem .9rem}.emergency-record-primary span{display:flex;align-items:center;gap:.35rem;min-width:0;color:#31415b;font-size:.77rem;font-weight:700;overflow-wrap:anywhere}.emergency-record-primary i,.emergency-record-route i{color:#a61d2a}
  .emergency-record-route{display:flex;align-items:center;gap:.4rem;margin:0 .9rem .7rem;border-radius:.7rem;background:#fff8f8;padding:.55rem .6rem;color:#42516a;font-size:.73rem;font-weight:700}.emergency-record-route span{min-width:0;flex:1;overflow-wrap:anywhere}.emergency-record-route b{color:#a61d2a}
  .emergency-record-card details{margin:0 .9rem .7rem;border-top:1px solid #fff0f1}.emergency-record-card summary{padding-top:.65rem;color:#6a2430;cursor:pointer;font-size:.76rem;font-weight:800}.emergency-record-details{display:grid;gap:.35rem;padding:.55rem 0 .1rem;color:#536178;font-size:.74rem;line-height:1.55}.emergency-record-details strong{color:#26364e}
  .emergency-record-card>footer{display:flex;align-items:center;justify-content:space-between;gap:.45rem;border-top:1px solid #fff0f1;padding:.65rem .75rem;background:#fffafb}.emergency-mobile-document-actions,.emergency-mobile-record-actions{display:flex;align-items:center;gap:.35rem}.emergency-mobile-document-actions a,.emergency-mobile-record-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:2.2rem;border:1px solid #ebc7cb;border-radius:.6rem;background:#fff;color:#7c1823;padding:.35rem .5rem;font:inherit;font-size:.7rem;font-weight:800;text-decoration:none}.emergency-mobile-record-actions button:disabled{opacity:.42}.emergency-mobile-record-actions .is-archive{border-color:#f0d4a6;background:#fffaf1;color:#896018}.emergency-mobile-record-actions .is-restore{border-color:#b3dcc6;background:#f1fbf5;color:#20704e}
}

@media (max-width: 480px) {
  .emergency-heading .btn { width: 100%; }
  .emergency-tabs { grid-template-columns: 1fr; }
  .emergency-tabs button { width: 100%; }
  .emergency-modal footer { flex-direction: row; }
  .emergency-modal footer .btn { flex: 1 1 0; width: auto; justify-content: center; }
  .emergency-pages-picker .perm-pages-grid { gap: .6rem; }
  .emergency-pages-picker .perm-page-item { min-height: 44px; }
}

@media (max-width: 768px) {
  /* Calendar is a focused mobile dialog, never an inline dropdown. */
  .emergency-page .modern-date-picker.is-open .modern-date-menu {
    position: fixed !important;
    inset: 50% auto auto 50% !important;
    transform: translate(-50%, -50%);
    width: min(calc(100vw - 2rem), 21rem) !important;
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    z-index: 520 !important;
  }
  .emergency-page .modern-date-picker.is-open .modern-date-backdrop { z-index: 510; }
}

@media (prefers-reduced-motion: reduce) {
  .emergency-page *, .emergency-page *::before, .emergency-page *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Print the operational report only; never print a screenshot of the UI. */
.emergency-print-report{display:none}
.emergency-modal .perm-modal-close{display:none!important}
.perm-modal:has(.modern-date-picker.is-open),.perm-modal:has(.modern-time-picker.is-open){z-index:1000!important}
.perm-modal:has(.modern-date-picker.is-open) .modern-date-picker.is-open,.perm-modal:has(.modern-time-picker.is-open) .modern-time-picker.is-open{z-index:2000!important}
.perm-modal:has(.modern-date-picker.is-open) .modern-date-menu,.perm-modal:has(.modern-time-picker.is-open) .modern-time-menu{z-index:2200!important}
.perm-modal:has(.modern-date-picker.is-open) .modern-date-backdrop,.perm-modal:has(.modern-time-picker.is-open) .modern-time-backdrop{z-index:2100!important}

/* All mobile calendars are fixed overlays, never part of a modal's layout flow. */
.modern-date-jump{display:grid;grid-template-columns:4.35rem 1fr;gap:.35rem;align-items:center;min-width:9.75rem}
.modern-date-jump input{width:100%;min-height:2rem;border:1px solid #ffccd2;border-radius:.5rem;background:#fff6f7;color:#102a42;padding:.25rem .4rem;text-align:center;font:inherit;font-size:.78rem;font-weight:700;outline:none}
.modern-date-jump input:focus{border-color:#9f1d27;box-shadow:0 0 0 3px rgba(159,29,39,.12)}
@media(max-width:768px){
  .modern-date-picker.center-on-mobile.is-open{z-index:5000!important}
  .modern-date-picker.center-on-mobile.is-open .modern-date-backdrop{position:fixed!important;inset:0!important;z-index:4990!important;background:rgba(37,49,70,.28)!important}
  .modern-date-picker.center-on-mobile.is-open .modern-date-menu{position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;width:min(calc(100vw - 2rem),20rem)!important;max-height:calc(100dvh - 2rem)!important;overflow-y:auto!important;z-index:5000!important}
  .modern-time-picker.center-on-mobile.is-open{z-index:5000!important}
  .modern-time-picker.center-on-mobile.is-open .modern-time-backdrop{position:fixed!important;inset:0!important;z-index:4990!important;background:rgba(37,49,70,.28)!important}
  .modern-time-picker.center-on-mobile.is-open .modern-time-menu{position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;width:min(calc(100vw - 2rem),20rem)!important;max-height:calc(100dvh - 2rem)!important;overflow-y:auto!important;z-index:5000!important}
}
@media print{
  @page{size:A4 landscape;margin:10mm}
  .emergency-page{display:block!important;padding:0!important;gap:0!important;background:#fff!important}
  .emergency-page>:not(.emergency-print-report){display:none!important}
  .emergency-print-report{display:block!important;direction:rtl;color:#172033;font-family:inherit}
  .emergency-print-head{margin:0 0 .75rem;padding:0 0 .65rem;border-bottom:2px solid #83121b;text-align:right}
  .emergency-print-head h1{margin:0;color:#83121b;font-size:16pt;font-weight:900}
  .emergency-print-head p{margin:.3rem 0 0;color:#46536b;font-size:9.5pt;font-weight:700}
  .emergency-print-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8.5pt}
  .emergency-print-table th,.emergency-print-table td{border:1px solid #ecc9cd;padding:.38rem .3rem;text-align:center;vertical-align:middle;line-height:1.35;overflow-wrap:anywhere}
  .emergency-print-table th{background:#fff6f7!important;color:#000!important;font-weight:400}
  .emergency-print-table tbody tr:nth-child(even){background:#fff5f6!important}
  .emergency-print-table thead{display:table-header-group}
  .emergency-print-table tr{break-inside:avoid;page-break-inside:avoid}
  .emergency-print-empty{padding:1.5rem!important;color:#5a6780!important}
  .emergency-print-footer{margin-top:.7rem;color:#5a6780;font-size:8pt;text-align:left}
}
