.store-support-page { --support-surface:#111; --support-border:#41464b; --support-soft:#1e2022; --support-text:#f4f6f8; --support-muted:#9cc6ef; --support-blue:#0866d9; max-width:1680px; margin-inline:auto; }
.support-page-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.support-page-head h1 { margin:4px 0 8px; font-size:29px; line-height:1.2; }
.support-page-head p { margin:0; overflow-wrap:anywhere; font-size:13px; }
.support-page-head p.support-contact-alternative { margin-top:8px; line-height:1.5; }
.support-page-head .portal-walkthrough-replay { margin-top:16px; }
.store-support-page:not(.support-admin) .support-page-head { margin-bottom:24px; }
.support-page-head>label { min-width:240px; }
.store-support-page label { display:grid; gap:7px; font-size:12px; font-weight:600; }
.store-support-page input,.store-support-page select,.store-support-page textarea { box-sizing:border-box; width:100%; min-width:0; padding:11px 12px; border:1px solid var(--support-border); border-radius:9px; background:var(--support-surface); color:var(--support-text); font:inherit; }
.store-support-page select,.store-support-page input { min-height:42px; }
.store-support-page textarea { resize:vertical; }
.store-support-page input:focus-visible,.store-support-page select:focus-visible,.store-support-page textarea:focus-visible,.store-support-page button:focus-visible { outline:2px solid #55aaff; outline-offset:3px; }
.support-page-head select { background:#fff; color:#102b40; }
.retail-shell .support-page-head select { background:#111; color:#fff; }
.support-tabs { display:flex; gap:4px; padding:4px; border:1px solid #41464b; background:#1e2022; border-radius:10px; width:fit-content; }
.store-support-page .support-tabs button { padding:10px 16px; border:0; border-radius:7px; color:#9cc6ef; background:transparent; font-size:13px; }
.store-support-page .support-tabs [aria-current] { color:#fff; background:#27374a; }
.support-scope { margin:12px 0; font-size:12px; }
.support-workspace { display:grid; grid-template-columns:280px minmax(0,1fr); height:clamp(560px,calc(100dvh - 280px),900px); border:1px solid var(--support-border); border-radius:20px; overflow:hidden; background:var(--support-surface); color:var(--support-text); }
.support-directory { padding:20px 18px; border-right:1px solid var(--support-border); background:#1e2022; min-width:0; display:flex; flex-direction:column; overflow:auto; }
.support-directory h2 { font-size:19px; margin:0 0 20px; color:#fff; }
.support-directory>select { margin:8px 0 12px; }
.store-support-page .support-directory>.primary { margin:2px 0 14px; min-height:38px; border:1px solid #41464b; border-radius:8px; background:#111; color:#9cc6ef; font-size:12px; box-shadow:none; }
.support-list { display:grid; gap:7px; overflow:auto; min-height:0; }
.store-support-page .support-list-item { display:grid; text-align:left; gap:7px; padding:16px 12px; border:1px solid transparent; border-radius:12px; background:transparent; color:#fff; overflow-wrap:anywhere; transition:background .15s,border-color .15s; box-shadow:none; }
.store-support-page .support-list-item.selected { background:#222831; border-color:#465363; }
.store-support-page .support-list-item:hover { background:#252a30; }
.support-list-item strong { font-size:14px; line-height:1.45; }
.support-list-item small,.support-list-item span { font-size:12px; color:var(--support-muted); }
.support-detail { min-width:0; min-height:0; overflow:auto; background:#111; }
.is-chat .support-detail:has(.support-timeline) { display:flex; flex-direction:column; overflow:hidden; }
.support-detail h2 { font-size:18px; line-height:1.4; overflow-wrap:anywhere; color:#fff; }
.support-placeholder { display:grid; place-content:center; height:100%; padding:40px; text-align:center; color:var(--support-muted); }
.support-placeholder h2 { font-size:24px; }
.support-envelope { display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px; font-size:13px; color:var(--support-muted); }
.support-envelope dd { margin:0; overflow-wrap:anywhere; color:#fff; }
.is-email .support-detail { padding:24px; }
.support-email-body { white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; font-size:14px; line-height:1.7; padding:20px; background:#1e2022; color:#fff; border-radius:10px; }
.support-conversation-head { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; border-bottom:1px solid var(--support-border); background:#111; }
.support-chat-heading { display:flex; align-items:center; gap:12px; min-width:0; }
.support-avatar { display:grid; place-items:center; flex-shrink:0; width:43px; height:43px; border-radius:50%; background:linear-gradient(135deg,#0877ff,#55b7fb); color:#fff; font-weight:700; font-size:14px; }
.support-chat-heading>div { min-width:0; }
.support-chat-heading strong { color:#fff; font-size:14px; }
.support-chat-heading h2 { margin:4px 0; font-size:13px; font-weight:400; color:var(--support-muted); }
.store-support-page .support-chat-heading [data-support-back] { display:none; }
.support-chat-heading .badge { padding:0; border:0; background:transparent; color:var(--support-muted); font-size:11px; }
.support-conversation-head label { max-width:155px; color:var(--support-muted); }
.support-timeline { flex:1; min-height:0; overflow:auto; padding:26px clamp(16px,3vw,42px); display:flex; flex-direction:column; gap:22px; overscroll-behavior:contain; }
.support-message { max-width:min(80%,680px); align-self:flex-start; min-width:100px; background:transparent; border:0; padding:0; }
.support-message.mine { align-self:flex-end; }
.support-message header { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px; margin:0 7px 6px; }
.support-message header strong,.support-message header small { color:var(--support-muted); font-size:11px; font-weight:400; }
.support-message.mine header { justify-content:flex-end; }
.support-bubble { border-radius:18px 18px 18px 5px; background:#24272a; padding:12px 16px; color:#fff; }
.support-message.mine .support-bubble { border-radius:18px 18px 5px 18px; background:var(--support-blue); }
.support-message p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.6; color:inherit; }
.support-message time { display:block; margin:6px 7px 0; font-size:11px; color:var(--support-muted); }
.support-message.mine time { text-align:right; }
.retail-shell .main .store-support-page .support-bubble p { color:#fff; }
.store-support-page .support-workspace :is(h2,strong) { color:#fff; }
.retail-shell .main .store-support-page #support-compose .primary { background:#124a98; border-color:#3265a8; }
.retail-shell .main .store-support-page #support-compose .primary:hover:not(:disabled) { background:#0866d9; }
.store-support-page #support-compose { flex-shrink:0; display:grid; gap:12px; margin:0; padding:14px 22px 17px; border-top:1px solid var(--support-border); background:#111; }
#support-compose label { color:var(--support-muted); }
#support-compose textarea { min-height:68px; max-height:180px; border-radius:14px; background:#1e2022; line-height:1.5; }
.store-support-page #support-compose .primary { justify-self:end; min-width:90px; min-height:38px; padding:8px 14px; background:#124a98; border:1px solid #3265a8; border-radius:6px; color:#fff; font-size:12px; box-shadow:none; }
.store-support-page #support-compose .primary:hover { background:#0866d9; }
.support-privacy-note { font-size:11px; color:var(--support-muted); }
.support-detail:has(#support-subject) { padding:24px; color:var(--support-muted); }
.support-detail:has(#support-subject) #support-compose { border:0; padding:0; }
.support-error { padding:14px; border:1px solid #d66; border-radius:10px; margin-bottom:16px; }
.support-readonly { flex-shrink:0; margin:0; padding:18px 22px; border-top:1px solid var(--support-border); background:#1e2022; color:var(--support-muted); font-size:13px; }
@media(max-width:900px) {
  .support-workspace { grid-template-columns:230px minmax(0,1fr); }
  .support-conversation-head { padding:14px; }
  .support-message { max-width:94%; }
  .support-conversation-head label { max-width:120px; }
}
@media(max-width:760px) {
  .support-page-head { flex-direction:column; align-items:stretch; gap:12px; }
  .support-workspace { grid-template-columns:minmax(0,1fr); height:clamp(530px,calc(100dvh - 220px),800px); border-radius:14px; }
  .support-workspace.has-detail .support-directory { display:none; }
  .support-workspace:not(.has-detail) .support-detail { display:none; }
  .support-directory { border-right:0; padding:16px; }
  .support-tabs { width:100%; }
  .store-support-page .support-tabs button { flex:1; padding:10px 8px; }
  .support-avatar { width:36px; height:36px; }
  .support-chat-heading { gap:9px; }
  .store-support-page .support-chat-heading [data-support-back] { display:block; padding:4px 0; border:0; font-size:11px; background:transparent; color:var(--support-muted); }
  .support-conversation-head { gap:10px; }
  .support-timeline { padding:18px 12px; gap:18px; }
  .store-support-page #support-compose { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { .store-support-page * { transition:none!important; } }

/* Customer Support inherits Verizon typography and red actions, not admin blue. */
.retail-shell .store-support-page { --support-surface:#fff; --support-soft:#f4f5f7; --support-border:var(--retail-line); --support-text:var(--retail-ink); --support-muted:var(--retail-muted); --support-itd:#155cbb; font-family:inherit; }
.retail-shell .store-support-page :is(.support-detail,.support-conversation-head,#support-compose) { background:var(--support-surface); }
.retail-shell .store-support-page :is(.support-directory,.support-tabs,.support-email-body,.support-readonly,#support-compose textarea) { background:var(--support-soft); }
.retail-shell .main .store-support-page :is(h2,strong,.support-envelope dd,.support-email-body,.support-list-item) { color:var(--support-text); }
.retail-shell .store-support-page .support-tabs { border-color:var(--support-border); }
.retail-shell .store-support-page .support-tabs button { color:var(--support-muted); }
.retail-shell .store-support-page .support-tabs [aria-current] { background:var(--support-surface); color:var(--retail-red); }
.retail-shell .store-support-page .support-list-item.selected { background:var(--support-surface); border-color:var(--support-border); }
.retail-shell .store-support-page .support-list-item:hover { background:var(--support-surface); }
.retail-shell .store-support-page .support-directory>.primary { background:var(--support-surface); border-color:var(--support-border); color:var(--retail-red); }
.retail-shell .store-support-page .support-avatar { background:var(--retail-red); }
.retail-shell .store-support-page .support-bubble { background:var(--support-soft); color:var(--support-text); }
.retail-shell .main .store-support-page .support-bubble p { color:inherit; }
.retail-shell .store-support-page .support-message.mine .support-bubble { background:var(--retail-red); color:#fff; }
.retail-shell .main .store-support-page .support-message.from-itd .support-bubble { background:var(--support-soft); color:var(--support-itd); border:1px solid var(--support-border); }
.retail-shell .main .store-support-page .support-message.from-itd header :is(strong,small) { color:var(--support-itd); }
.retail-shell .main .store-support-page #support-compose .primary { background:var(--retail-red); border-color:var(--retail-red); }
.retail-shell .main .store-support-page #support-compose .primary:hover:not(:disabled) { background:#bd0010; border-color:#bd0010; }
@media(prefers-color-scheme:dark) {
  .retail-shell .store-support-page { --support-surface:#111; --support-soft:#242628; --support-border:#41464b; --support-text:#fff; --support-muted:#a9b5c6; --support-itd:#8cc4ff; }
}
/* Admin workspace only: customer storefront rules above remain independent. */
.store-support-page.support-admin { --support-surface:#fff; --support-soft:#f7f9fc; --support-border:#dce5ed; --support-text:#182f43; --support-muted:#536b80; --support-blue:#0866d9; color:var(--support-text); }
.support-admin .support-page-head,.support-admin>.support-scope { color:var(--ink,#182534); }
.support-admin .support-workspace { margin-top:18px; height:clamp(580px,calc(100dvh - 265px),920px); box-shadow:0 10px 36px #19365708; }
.support-admin :is(.support-detail,.support-conversation-head,#support-compose) { background:var(--support-surface); }
.support-admin :is(.support-directory,.support-tabs,.support-email-body,.support-readonly) { background:var(--support-soft); }
.support-admin .support-directory { padding:18px; overflow:hidden; }
.support-admin .support-directory-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:18px; }
.support-admin .support-directory-heading h2 { margin:0; font-size:20px; }
.support-admin .support-directory-heading button { padding:6px 9px; font-size:11px; white-space:nowrap; }
.support-admin :is(.support-workspace h2,.support-workspace strong,.support-envelope dd,.support-email-body,.support-list-item) { color:var(--support-text); }
.support-admin .support-page-head select { background:var(--support-surface); color:var(--support-text); }
.support-admin .support-tabs { border-color:var(--support-border); }
.support-admin .support-tabs button { color:var(--support-muted); }
.support-admin .support-tabs [aria-current] { background:var(--support-surface); color:var(--support-blue); box-shadow:0 1px 4px #132f4712; }
.support-admin .support-filters { display:flex; gap:3px; margin:12px 0; padding:3px; border-radius:10px; background:var(--support-surface); }
.support-admin .support-filters button { flex:1; border:0; border-radius:8px; padding:8px 4px; background:transparent; color:var(--support-muted); font:inherit; font-size:11px; white-space:nowrap; box-shadow:none; }
.support-admin .support-filters button[aria-pressed=true] { background:#e3edff; color:#075cbd; }
.support-admin .support-list { display:flex; flex-direction:column; gap:7px; flex:1; }
.support-admin .support-list-item { flex-shrink:0; }
.support-admin .support-list-item.selected { background:#eaf1ff; border-color:#c8dcff; }
.support-admin .support-list-item:hover { background:#edf3fa; }
.support-admin .support-list-item time { color:var(--support-muted); font-size:11px; }
.support-admin .support-list-empty { color:var(--support-muted); font-size:13px; padding:12px 3px; }
.support-admin .support-chat-heading { flex:1; }
.support-admin .support-chat-heading h2 { color:var(--support-muted); font-size:13px; font-weight:400; line-height:1.5; }
.store-support-page.support-admin .support-status-action { flex-shrink:0; font-size:12px; padding:8px 12px; border:1px solid var(--support-border); color:var(--support-text); background:var(--support-soft); border-radius:9px; }
.store-support-page.support-admin .support-status-action:hover { background:var(--support-surface); color:var(--support-text); }
.support-admin .support-bubble { background:#f0f3f8; color:var(--support-text); }
.support-admin .support-message.mine .support-bubble { background:var(--support-blue); color:#fff; }
.support-admin #support-compose { gap:9px; }
.support-admin #support-compose textarea { background:var(--support-soft); }
.support-admin .support-composer-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.support-admin #support-compose .primary { border-radius:9px; background:var(--support-blue); border-color:var(--support-blue); }
.support-admin .support-empty-messages { color:var(--support-muted); font-size:13px; text-align:center; margin:auto; }
.support-admin .support-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(prefers-color-scheme:dark) {
  .store-support-page.support-admin { --support-surface:#17212b; --support-soft:#1d2934; --support-border:#364653; --support-text:#e8f0f7; --support-muted:#acbed0; --support-blue:#0866d9; }
  .support-admin .support-filters button[aria-pressed=true] { background:#294360; color:#c4e1ff; }
  .support-admin .support-list-item.selected { background:#253c53; border-color:#426487; }
  .support-admin .support-list-item:hover { background:#263746; }
  .support-admin .support-bubble { background:#2c3b48; }
  .support-admin .support-tabs [aria-current] { color:#a8d0ff; }
}
@media(max-width:900px) { .support-admin .support-workspace { grid-template-columns:230px minmax(0,1fr); } }
@media(max-width:760px) {
  .support-admin .support-workspace { grid-template-columns:minmax(0,1fr); height:clamp(530px,calc(100dvh - 240px),800px); }
  .support-admin .support-conversation-head { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .support-admin .support-chat-heading { grid-column:1/-1; }
  .support-admin .support-conversation-head label { max-width:none; }
  .support-admin .support-composer-tools { align-items:flex-end; }
  .support-admin .support-privacy-note { max-width:180px; }
}
/* Enhanced tools remain inside the admin-only capability branch. */
.support-admin .support-list-item { position:relative; }
.support-admin .support-unread { justify-self:start; border-radius:20px; padding:2px 7px; background:var(--support-blue); color:#fff; font-size:10px; font-weight:600; }
.support-admin .support-title-action { display:block; margin:4px 0; border:0; background:transparent; color:var(--support-blue); padding:0; font-size:11px; box-shadow:none; }
.support-admin #support-title-form { display:grid; gap:8px; margin-top:8px; max-width:420px; }
.support-admin #support-title-form>div { display:flex; gap:6px; flex-wrap:wrap; }
.support-admin #support-title-form button { padding:5px 9px; font-size:11px; }
.support-admin .support-system-event { align-self:center; max-width:min(90%,600px); padding:12px 18px; text-align:center; border:1px solid var(--support-border); border-radius:12px; background:var(--support-soft); color:var(--support-muted); }
.support-admin .support-system-event p { margin:5px 0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
.support-admin .support-system-event :is(strong,small,time) { display:block; font-size:11px; }
.support-admin .support-system-event time { margin-top:4px; }
.support-admin .support-image-link { display:grid; gap:6px; margin-top:10px; color:inherit; font-size:11px; overflow-wrap:anywhere; }
.support-admin .support-image-link img { display:block; max-width:100%; max-height:280px; width:auto; height:auto; object-fit:contain; border-radius:10px; }
.support-admin .support-attachment-tools { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.support-admin .support-attachment-tools small { font-size:10px; color:var(--support-muted); }
.support-admin .support-attach { position:relative; display:inline-block; cursor:pointer; padding:6px 10px; border:1px solid var(--support-border); border-radius:8px; color:var(--support-text); font-size:11px; }
.support-admin .support-attach input { position:absolute; width:1px; height:1px; min-height:0; opacity:0; padding:0; overflow:hidden; }
.support-admin .support-attach:focus-within { outline:2px solid var(--support-blue); outline-offset:3px; }
.support-admin .support-pending-images { display:grid; gap:5px; padding:0; margin:0; list-style:none; }
.support-admin .support-pending-images li { display:flex; gap:10px; align-items:center; justify-content:space-between; color:var(--support-muted); font-size:11px; }
.support-admin .support-pending-images span { overflow-wrap:anywhere; min-width:0; }
.support-admin .support-pending-images button { padding:4px 8px; font-size:10px; }
@media(prefers-color-scheme:dark) { .support-admin .support-title-action { color:#a8d0ff; } }
/* Received support images only; customer bubble colors and controls stay inherited. */
.retail-shell .store-support-page .support-image-link { display:grid; gap:6px; margin-top:10px; color:inherit; font-size:11px; overflow-wrap:anywhere; }
.retail-shell .store-support-page .support-image-link img { display:block; max-width:100%; max-height:280px; width:auto; height:auto; object-fit:contain; border-radius:10px; }
.store-support-page .support-order-picker { display:grid; gap:8px; max-width:420px; padding:12px; margin:8px 0; border:1px solid var(--support-border,#d8e1e9); border-radius:10px; }
.store-support-page .support-order-picker small { line-height:1.4; }
.store-support-page .support-order-picker select { width:100%; min-width:0; }
.store-support-page #support-order-start { padding:5px 8px; font-size:12px; }
.store-support-page :is(#support-order-start,#support-order-cancel) { border:0; background:transparent; box-shadow:none; color:var(--support-muted); font-size:12px; text-align:left; width:fit-content; }
.retail-shell .store-support-page #support-order-start { color:var(--retail-red,#e60012); }
.store-support-page .support-conversation-head:has(.support-order-picker) { max-height:60%; overflow:auto; }

/* A long subject and the reply form must not squeeze phone messages to a sliver. */
.retail-shell .main .store-support-page:not(.support-admin) .support-chat-heading h2 {
  font-size:14px;
  line-height:1.4;
  letter-spacing:normal;
  font-weight:600;
}
@media(max-width:760px) {
  .store-support-page:not(.support-admin) .support-workspace.is-chat.has-detail { height:auto; }
  .store-support-page:not(.support-admin) .is-chat .support-timeline {
    flex:0 0 auto;
    height:clamp(260px,45vh,420px);
    height:clamp(260px,45svh,420px);
    padding:16px 12px;
    gap:16px;
  }
  .store-support-page:not(.support-admin) .support-conversation-head { padding:10px 12px; }
  .store-support-page:not(.support-admin) .support-chat-heading { width:100%; }
  .store-support-page:not(.support-admin) .support-chat-heading>.support-avatar { display:none; }
  .store-support-page:not(.support-admin) .support-chat-heading>div {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:4px 8px;
    width:100%;
  }
  .store-support-page:not(.support-admin) .support-chat-heading strong { font-size:12px; }
  .retail-shell .main .store-support-page .support-chat-heading h2 {
    grid-column:1/-1;
    margin:0;
  }
  .retail-shell .main .store-support-page .support-chat-heading [data-support-back] {
    grid-column:2;
    grid-row:1;
    min-height:44px;
    margin:0;
    padding:8px;
    font-size:12px;
    line-height:1.2;
    background:transparent;
    color:var(--support-muted);
  }
  .store-support-page:not(.support-admin) .support-chat-heading :is(.badge,.support-order-picker,#support-order-start) { grid-column:1/-1; }
  .store-support-page:not(.support-admin) .support-conversation-head:has(.support-order-picker) { max-height:50vh; max-height:50svh; }
  .store-support-page:not(.support-admin) .is-chat .support-detail:has(.support-timeline) #support-compose {
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:8px;
    padding:12px;
  }
  .store-support-page:not(.support-admin) .is-chat .support-detail:has(.support-timeline) #support-compose :is(label,.support-privacy-note) { grid-column:1/-1; }
  .store-support-page:not(.support-admin) .is-chat .support-detail:has(.support-timeline) #support-compose textarea {
    height:64px;
    min-height:64px;
    max-height:140px;
    padding:10px;
    font-size:16px;
    line-height:1.4;
  }
  .retail-shell .main .store-support-page .is-chat .support-detail:has(.support-timeline) #support-compose .primary {
    min-width:0;
    min-height:44px;
    padding:10px;
    font-size:12px;
    line-height:1.25;
  }
  .store-support-page:not(.support-admin) .is-chat .support-detail:has(.support-timeline) #support-compose .support-privacy-note { line-height:1.4; }
}
