/* Shared by the desktop app, native staff pages and technician phone layout. */
.service-request-alert-shell { max-width:1100px; margin:auto; padding:0 1rem; box-sizing:border-box; }
.service-request-alert { margin:1rem 0; padding:1rem; border:1px solid #e4b85a; border-radius:.5rem; background:#fff3cd; color:#44330d; overflow-wrap:anywhere; }
.service-request-alert[hidden] { display:none !important; }
.service-request-alert a { color:#44330d; text-decoration:underline; font-weight:600; display:inline-block; margin:.25rem 0 .25rem .5rem; }
.technician-mobile .service-request-alert-shell { max-width:760px; }
.service-request-alert a:focus-visible { outline:3px solid #44330d; outline-offset:3px; }

.request-delivery-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem; margin-bottom:1rem; }
.request-delivery-heading h2 { margin:0; }
.request-delivery-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.request-delivery-actions form { margin:0; }
.request-delivery-table td { overflow-wrap:anywhere; min-width:8rem; }
.request-delivery-empty { padding:1rem; background:#f7f8fb; border:1px solid #e0e4eb; border-radius:12px; color:#50596b; }
.request-delivery-dialog { width:min(850px,calc(100vw - 2rem)); max-width:none; max-height:90vh; max-height:90dvh; margin:auto; padding:0; border:1px solid #dfe4ed; border-radius:18px; background:#fff; color:#202738; box-shadow:0 24px 80px #11182755; overflow:hidden; }
.request-delivery-dialog[open] { display:flex; flex-direction:column; }
.request-delivery-dialog::backdrop { background:#111827b3; }
.request-delivery-detail { width:min(720px,calc(100vw - 2rem)); }
.request-dialog-header { flex:none; display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.25rem 1.5rem; background:#272d3d; color:#fff; border-bottom:3px solid #e52b35; }
.request-dialog-header h2 { font-size:1.35rem; font-weight:700; margin:0; overflow-wrap:anywhere; }
.request-dialog-eyebrow { font-size:.75rem; font-weight:650; color:#dce1ed; margin:0 0 .4rem; }
.request-dialog-header .btn { flex:none; background:#fff; color:#202738; border-color:#fff; }
.request-dialog-content { overflow:auto; overscroll-behavior:contain; padding:1.5rem; }
.request-dialog-content section { margin:1.5rem 0; }
.request-dialog-content h3 { font-size:1.1rem; font-weight:700; margin-bottom:.9rem; }
.request-help-fields,.request-help-statuses { display:grid; grid-template-columns:minmax(110px,1fr) minmax(0,3fr); gap:.65rem 1.25rem; margin:0 0 1rem; }
.request-help-fields dt,.request-help-statuses dt { font-weight:700; }
.request-help-fields dd,.request-help-statuses dd { margin:0; overflow-wrap:anywhere; }
.request-help-statuses dt { color:#91202a; }
.request-dialog-callout { background:#fff8e7; border:1px solid #ebd397; border-left:4px solid #a96d00; padding:1rem; border-radius:10px; }
.request-dialog-callout ol { padding-left:1.25rem; margin-bottom:0; }
.request-dialog-callout li+li { margin-top:.65rem; }
.request-help-technical { border:1px solid #dfe4ed; border-radius:10px; padding:0 1rem; }
.request-help-technical summary { cursor:pointer; min-height:44px; padding:.75rem 0; font-weight:650; }
.request-dialog-footnote { margin:1rem 0 0; padding-top:1rem; border-top:1px solid #e0e4eb; color:#50596b; font-size:.85rem; }
.request-delivery-error { white-space:pre-wrap; }
.request-delivery-dialog button:focus-visible,.request-help-technical summary:focus-visible { outline:3px solid #f3bb59; outline-offset:3px; }
@media(max-width:575px) {
    .request-dialog-header { padding:1rem; gap:.75rem; }
    .request-dialog-header h2 { font-size:1.15rem; }
    .request-dialog-content { padding:1rem; }
    .request-help-fields,.request-help-statuses { grid-template-columns:minmax(0,1fr); gap:.2rem; }
    .request-help-fields dd,.request-help-statuses dd { margin-bottom:.85rem; }
}
