/* Mobile-only /dialogs/:id styling.
   Values intentionally mirror the current desktop analysis pane, except for
   the compact app bar/back affordance required by the mobile route. */

@media (max-width: 899px) {
  body[data-karma-view="dialog-detail"] {
    overflow: hidden !important;
    background: var(--cabinet-canvas, #08111d) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-mobile-nav] {
    display: flex !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-page] {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100dvh !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: var(--cabinet-canvas, #08111d) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-original-header] {
    display: none !important;
  }

  /* Exact dimensions used by the ordinary mobile cabinet app bar. */
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-appbar] {
    position: relative !important;
    z-index: 30 !important;
    display: flex !important;
    min-height: 64px !important;
    height: 64px !important;
    flex: 0 0 64px !important;
    padding: max(8px, env(safe-area-inset-top, 0px)) 16px 8px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    border: 0 !important;
    background: var(--md-sys-color-surface-container-low) !important;
    color: var(--md-sys-color-on-surface) !important;
    box-shadow: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-appbar] [data-karma-mobile-menu-button] {
    order: 0 !important;
    display: inline-grid !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--md-sys-color-surface-container-high) !important;
    color: var(--md-sys-color-on-surface) !important;
    box-shadow: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-appbar] [data-karma-mobile-brand] {
    order: 1 !important;
    display: flex !important;
    min-width: 0 !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-right: auto !important;
    color: var(--md-sys-color-on-surface) !important;
    pointer-events: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-appbar] [data-karma-mobile-brand] > svg {
    display: block !important;
    width: auto !important;
    max-width: 132px !important;
    height: 32px !important;
    color: currentColor !important;
  }

  /* Separate M3 Expressive medium square button, directly under the app bar. */
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-row] {
    display: flex !important;
    min-height: 80px !important;
    height: 80px !important;
    flex: 0 0 80px !important;
    align-items: center !important;
    padding: 12px 16px !important;
    background: var(--md-sys-color-surface) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button] {
    display: inline-flex !important;
    min-width: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: var(--md-sys-color-surface-container-highest) !important;
    color: var(--md-sys-color-on-surface) !important;
    font-size: 15px !important;
    line-height: 20px !important;
    font-weight: 650 !important;
    box-shadow: none !important;
    transition: background-color 180ms cubic-bezier(.2,0,0,1), border-radius 180ms cubic-bezier(.2,0,0,1), transform 180ms cubic-bezier(.2,0,0,1) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button] > svg {
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button]:hover {
    background: var(--md-sys-color-secondary-container) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button]:active {
    border-radius: 12px !important;
    transform: scale(.98) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button]:focus-visible {
    outline: 2px solid var(--md-sys-color-focus-ring) !important;
    outline-offset: 2px !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-content] {
    min-width: 0 !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: var(--cabinet-canvas, #08111d) !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(116,151,180,.30) transparent !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-content]::-webkit-scrollbar {
    width: 4px !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-content]::-webkit-scrollbar-track {
    background: transparent !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-content]::-webkit-scrollbar-thumb {
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(116,151,180,.28) !important;
  }

  /* The mobile route uses the exact desktop analysis colors and type roles. */
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-surface] {
    --ka-canvas: #0f1c2d;
    --ka-surface: #1d2b3a;
    --ka-raised: #263747;
    --ka-hover: #2c4050;
    --ka-line: #324453;
    --ka-ink: #edf4f8;
    --ka-muted: #b3c4d0;
    --ka-accent: #94b9c4;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 100% !important;
    height: auto !important;
    flex-direction: column !important;
    overflow: visible !important;
    background: #0f1c2d !important;
    color: var(--ka-ink) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-receipt]:empty {
    display: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-receipt]:not(:empty) {
    width: 100% !important;
    padding: 18px 20px 0 !important;
    background: #0f1c2d !important;
  }

  /* Force the existing desktop 60/40 fullscreen route into one compact pane. */
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-media-transcript-row],
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-surface] > [class~="flex"][class~="flex-1"] {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex: none !important;
    flex-direction: column !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-media-transcript-row] > *,
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-surface] > [class~="flex"][class~="flex-1"] > * {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    max-height: none !important;
    flex: none !important;
  }

  /* Desktop player values copied 1:1: 50/18 rows, 14px gap, 48px play. */
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-player] {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    overflow: visible !important;
    border: 0 !important;
    background: #0f1c2d !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-player] > div {
    padding: 28px 20px 16px !important;
    background: transparent !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-player] > div > div[class~="items-center"] {
    display: grid !important;
    grid-template-columns: 50px minmax(0,1fr) !important;
    grid-template-rows: 50px 18px !important;
    align-items: center !important;
    column-gap: 14px !important;
    row-gap: 2px !important;
    min-height: 70px !important;
    padding: 2px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-player] > div > div[class~="items-center"] > button {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--md-sys-color-primary) !important;
    color: var(--md-sys-color-on-primary) !important;
    box-shadow: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-player] > div > div[class~="items-center"] > div[class~="relative"] {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: var(--md-sys-color-surface-container-highest) !important;
    box-shadow: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-player] .font-mono {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: center !important;
    width: 50px !important;
    margin: 0 !important;
    color: var(--ka-muted) !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: 10px !important;
    line-height: 16px !important;
    font-variant-numeric: tabular-nums !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-player] [role="application"] {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    background: transparent !important;
  }

  /* Transcript section: same desktop title, 20px container and 12px rows. */
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript] {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    min-height: 0 !important;
    flex: none !important;
    flex-direction: column !important;
    padding: 18px 20px 0 !important;
    overflow: visible !important;
    background: #0f1c2d !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript] > div[class~="flex-1"] {
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript-title],
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-metrics] > h3 {
    margin: 0 0 10px !important;
    color: var(--ka-ink) !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-hint] {
    display: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript-list] {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding: 8px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: var(--md-sys-color-surface-container-high) !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript-segment],
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript-list] > [data-active],
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript] [data-active] {
    position: relative !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 12px !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript-segment]:hover,
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript] [data-active]:hover {
    background: var(--md-sys-color-surface-container-highest) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript-segment][data-active="true"],
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript] [data-active="true"] {
    background: color-mix(in srgb, var(--md-sys-color-secondary-container) 46%, transparent) !important;
    box-shadow: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript] [data-active] [class~="text-xs"],
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript-segment] [class~="text-xs"] {
    color: var(--ka-muted) !important;
    font-size: 12px !important;
    font-variant-numeric: tabular-nums !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript] [data-active] p,
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript-segment] p {
    margin: 0 !important;
    color: var(--ka-ink) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-transcript] .animate-pulse {
    display: none !important;
  }

  /* Metrics use the exact desktop 10px grid, 14px padding and 16px shape. */
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-metrics] {
    width: 100% !important;
    max-height: none !important;
    flex: none !important;
    margin-top: 22px !important;
    padding: 0 20px 22px !important;
    overflow: visible !important;
    background: #0f1c2d !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-metrics] .grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-metrics] .grid > div[class~="rounded-lg"] {
    min-width: 0 !important;
    padding: 14px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: var(--md-sys-color-surface-container-high) !important;
    box-shadow: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-metrics] .grid > div[class~="rounded-lg"]:hover {
    background: var(--md-sys-color-surface-container-highest) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-metrics] .font-medium {
    color: var(--ka-ink) !important;
    font-weight: 650 !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-metrics] [class~="text-xs"] {
    color: var(--ka-muted) !important;
    font-size: 12px !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-metrics] [class*="bg-green-"] {
    background: var(--md-sys-color-success-container) !important;
    color: var(--md-sys-color-on-success-container) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-metrics] [class*="bg-red-"] {
    background: var(--md-sys-color-error-container) !important;
    color: var(--md-sys-color-on-error-container) !important;
  }
}

@media (max-width: 420px) {
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-metrics] .grid {
    grid-template-columns: minmax(0,1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button] {
    transition-duration: .01ms !important;
  }
}

/* -------------------------------------------------------------------------- */
/* v10.22 — ONLY mobile detail app-bar sizing + transparent back affordance   */
/* -------------------------------------------------------------------------- */
@media (max-width: 899px) {
  /* Match the ordinary mobile cabinet app bar 1:1. */
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-appbar] {
    min-height: 72px !important;
    height: 72px !important;
    flex: 0 0 72px !important;
    padding: max(10px, env(safe-area-inset-top, 0px)) 16px 10px !important;
    gap: 10px !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-appbar] [data-karma-mobile-menu-button] {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    flex: 0 0 44px !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-appbar] [data-karma-mobile-brand] {
    height: 44px !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-appbar] [data-karma-mobile-brand] > svg {
    width: 126px !important;
    max-width: 42vw !important;
    height: 36px !important;
  }

  /* Reserve real layout space below the app bar, while the back affordance itself
     has no visible container/background at rest, hover or pressed. */
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-row] {
    min-height: 72px !important;
    height: 72px !important;
    flex: 0 0 72px !important;
    padding: 8px 16px !important;
    background: transparent !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button] {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 !important;
    gap: 0 !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: transparent !important;
    color: var(--md-sys-color-on-surface-variant) !important;
    box-shadow: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button] > span {
    display: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button]:hover,
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button]:active {
    background: transparent !important;
    color: var(--md-sys-color-on-surface) !important;
    transform: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-content] {
    padding-top: 8px !important;
    scroll-padding-top: 16px !important;
  }
}

/* -------------------------------------------------------------------------- */
/* v10.24 — restore the v10.21 back affordance, but without any background.   */
/* Keep v10.22 app-bar sizing unchanged.                                       */
/* -------------------------------------------------------------------------- */
@media (max-width: 899px) {
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-row] {
    display: flex !important;
    min-height: 80px !important;
    height: 80px !important;
    flex: 0 0 80px !important;
    align-items: center !important;
    padding: 12px 16px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button] {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 56px !important;
    min-height: 56px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: transparent !important;
    color: var(--md-sys-color-on-surface-variant) !important;
    font-size: 15px !important;
    line-height: 20px !important;
    font-weight: 650 !important;
    box-shadow: none !important;
    transition: color 180ms cubic-bezier(.2,0,0,1), transform 180ms cubic-bezier(.2,0,0,1) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button] > svg {
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button] > span {
    display: inline !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button]:hover,
  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button]:active {
    background: transparent !important;
    color: var(--md-sys-color-on-surface) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-back-button]:active {
    transform: scale(.98) !important;
  }

  body[data-karma-view="dialog-detail"] #root [data-karma-dialog-detail-content] {
    padding-top: 12px !important;
    scroll-padding-top: 92px !important;
    box-sizing: border-box !important;
  }
}
