.office-requests { margin-block: 18px; overflow: hidden; }
.dashboard-command-grid > .office-requests { display:flex; flex-direction:column; margin:0; width:100%; min-width:0; }
.dashboard-command-grid > .office-requests[hidden] { display:none; }
.dashboard-command-grid:has(> .office-requests[hidden]) { grid-template-columns:minmax(0,1fr); }
.dashboard-command-grid > .dashboard-chat-card { display:none; }
.dashboard-command-grid .office-request-tools { flex:0 0 auto; }
.dashboard-command-grid .office-requests [data-office-list] { grid-template-columns:minmax(0,1fr); align-content:start; }
.office-requests > .office-requests-header { display:flex; align-items:center; padding:20px 24px; background:#1e4163; color:#fff; }
.office-requests-header h2 { margin:4px 0; font-size:21px; color:#fff; }
.office-requests-header .eyebrow { color:#c5e4f4; font-size:11px; letter-spacing:.1em; }
.office-requests-header p { margin:6px 0 0; font-size:14px; color:#dae9f4; line-height:1.5; }
.office-request-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px; }
.office-request-tools p { flex: 1 1 240px; margin: 0; overflow-wrap: anywhere; }
.office-request-tools label, .office-request-dialog label { display: grid; gap: 6px; font-weight: 600; }
.office-requests select, .office-request-dialog select, .office-request-dialog textarea { box-sizing: border-box; width: 100%; min-height: 44px; font: inherit; color: #193750; background: white; border: 1px solid #9eb0c3; border-radius: 10px; padding: 10px 12px; }
.office-requests [data-office-list] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-height:640px; overflow:auto; padding:0 16px 16px; }
.office-requests .office-request-card { display:flex; flex-direction:column; gap:16px; min-width:0; padding:20px; border:1px solid #cbd9e5; border-radius:16px; background:#fff; box-shadow:0 2px 8px #173b5508; }
.office-request-card-heading { display:flex; align-items:flex-start; gap:12px; }
.office-request-card-heading > div { min-width:0; }
.office-request-card h3 { margin:0 0 6px; color:#193750; font-size:18px; line-height:1.3; overflow-wrap:anywhere; }
.office-request-card-heading p { margin:0; color:#435e74; font-size:14px; line-height:1.5; }
.office-request-icon { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:12px; color:#145e91; background:#eaf4fc; }
.office-request-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; }
.office-request-card[data-request-kind="cancel"] .office-request-icon { color:#9d2439; background:#fff0f2; }
.office-request-card[data-request-kind="reschedule"] .office-request-icon { color:#825414; background:#fff5df; }
.office-request-selection { margin:0; padding:10px 12px; color:#31536c; background:#f0f5fa; border-radius:10px; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.office-request-contact { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 16px; font-size:13px; color:#526478; }
.office-request-contact span { display:flex; flex-wrap:wrap; gap:6px; }
.office-request-contact strong { color:#193750; font-size:14px; }
.office-request-contact time { margin-left:auto; }
.office-request-card .office-request-contact time { margin-left:0; }
.office-request-customer { display:grid; gap:4px; min-width:0; overflow-wrap:anywhere; }
.office-request-customer > span { color:#526478; font-size:12px; }
.office-request-customer > strong { color:#193750; font-size:19px; line-height:1.4; }
.office-request-customer > small { color:#526478; font-size:13px; }
.office-request-jobs { min-width:0; }
.office-request-jobs > * { width:100%; min-width:0; }
.office-request-job-option { display:grid; gap:8px; min-width:0; overflow-wrap:anywhere; }
.office-request-job-option small { color:#526478; font-size:13px; line-height:1.5; }
.office-request-job-options { display:grid; gap:16px; padding-top:12px; }
.office-request-jobs summary { display:list-item; padding:12px 4px; min-height:44px; box-sizing:border-box; color:#225b86; font-weight:600; cursor:pointer; }
.office-request-jobs summary:focus-visible { outline:2px solid #246aca; outline-offset:2px; }
.office-request-jobs .office-request-job { display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; max-width:100%; width:100%; height:auto; padding:12px; white-space:normal; line-height:1.5; }
.office-request-job svg { flex:0 0 20px; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.office-request-job span { min-width:0; overflow-wrap:anywhere; }
.office-request-job b { display:block; }
.office-request-jobs [data-office-job-error] { margin:0; color:#a82035; font-size:14px; overflow-wrap:anywhere; }
.office-request-jobs [data-office-job-error]:empty { display:none; }
.office-request-message { padding:14px; border-left:3px solid #8bb7d6; border-radius:0 10px 10px 0; background:#f8fbfe; }
.office-request-message > span { font-size:12px; color:#486478; font-weight:600; }
.office-request-message blockquote { margin:8px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; color:#193750; font-size:15px; line-height:1.6; }
.office-request-message small { display:block; margin-top:8px; }
.office-request-no-message { margin:0; color:#526478; font-size:14px; line-height:1.5; }
.office-request-card footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:14px; border-top:1px solid #e1e9ef; }
.office-request-status { padding:5px 9px; border-radius:8px; color:#725016; background:#fff3d9; font-size:12px; font-weight:650; }
.office-request-status[data-status="in_progress"] { color:#155684; background:#eaf4ff; }
.office-request-status[data-status="resolved"] { color:#22654c; background:#e8f6ef; }
.office-requests small { color: #526478; }
.office-requests .button, .office-request-dialog .button { min-width: 44px; min-height: 44px; flex-shrink: 0; }
.office-request-empty { grid-column:1/-1; margin:0; color:#526478; padding:4px 0; }
.office-requests [data-office-error] { padding-inline:16px; }
.office-requests [data-office-error]:empty { display:none; }
.office-request-dialog { box-sizing: border-box; width: min(640px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 1px solid #c7d4e3; border-radius: 20px; background: #fff; color: #193750; }
.office-request-dialog::backdrop { background: #16354f99; }
.office-request-dialog[open] { display: flex; flex-direction: column; }
.office-request-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px; background: #1e4163; color: white; flex-shrink: 0; }
.office-request-dialog h2 { margin: 0; font-size: 21px; }
.office-request-dialog form { display: grid; gap: 16px; min-height: 0; overflow: auto; padding: 20px; }
.office-request-dialog p { margin: 10px 0; overflow-wrap: anywhere; line-height: 1.5; }
.office-request-purpose { color:#193750; font-weight:650; }
.office-request-transcript { white-space: pre-wrap; background: #edf4fb; border-radius: 12px; padding: 14px; }
.office-request-notice { color: #526478; }
.office-request-jobs, .office-request-dialog footer { display: flex; flex-wrap: wrap; gap: 10px; }
.office-request-dialog footer { justify-content: flex-end; }
.office-request-dialog [data-office-save-error], .office-requests [data-office-error] { color: #a82035; }
.dashboard-chats-dialog { padding:0; overflow:hidden; }
.dashboard-chats-dialog[open] { display:flex; flex-direction:column; }
.dashboard-chats-dialog > header { display:flex; flex-direction:row; align-items:center; justify-content:space-between; }
.dashboard-chats-dialog > :is(header,.surface-description,footer) { flex:0 0 auto; }
.dashboard-chats-dialog > .surface-description { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; font-size:14px; line-height:1.5; color:#526478; border-bottom:1px solid #d2dce8; }
.dashboard-chats-dialog .dashboard-chat-list { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; }
.dashboard-chats-dialog .dashboard-chat-thread { display:flex; align-items:stretch; flex:0 0 auto; min-height:110px; padding:0; border-right:0; }
@media (min-width:901px) {
  .dashboard-command-grid .office-requests [data-office-list] { flex:1 1 auto; min-height:0; max-height:none; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
}
@media (max-width: 900px) { .office-requests [data-office-list] { grid-template-columns:minmax(0,1fr); } }
@media (max-width: 900px) {
  #dashboardDesk > .dashboard-chat-popups { position:static;inset:auto;z-index:auto;width:100%;max-width:100%;padding:12px;flex-direction:row;align-items:stretch;gap:12px; }
  #dashboardDesk > .dashboard-chat-popups:empty { display:none; }
  #dashboardDesk .dashboard-chat-popup { width:100%;min-width:0;height:min(560px,70dvh);border-radius:16px;box-shadow:0 3px 12px #173e5518; }
  #dashboardDesk .dashboard-chat-popup-actions button { width:44px;height:44px; }
  #dashboardDesk .dashboard-chat-popup-form button { width:44px;min-height:44px; }
}
@media (max-width: 480px) { .office-request-dialog form { padding:16px; } .office-request-tools label { flex:1 1 160px; } .office-requests .office-request-card { padding:16px; } .office-request-contact time { width:100%; margin-left:0; } .office-requests > .office-requests-header { padding:18px 16px; } }
