/* Page-wide readability and responsive controls, using the existing palette. */
:root { --muted: #a3b2ca; }
html { scrollbar-color: #52617d #101a2c; scrollbar-gutter: stable; }
body { text-rendering: optimizeLegibility; }
.page-content { padding: clamp(22px, 2.5vw, 36px); }
.page-heading { align-items: flex-start; flex-wrap: wrap; gap: 18px; }
.page-heading > div, .card-heading > div, .profile-identity > div { min-width: 0; }
h1 { font-size: clamp(25px, 2.3vw, 32px); letter-spacing: -.7px; overflow-wrap: anywhere; }
.page-heading p, .card > p, .empty-state p { font-size: 13px; }
.card { padding: clamp(20px, 2vw, 28px); }
.card-heading { flex-wrap: wrap; gap: 12px; }
.section-kicker, .eyebrow, .nav-label { letter-spacing: 1.25px; }
.main-nav a { min-height: 44px; font-size: 13px; }
.topbar { gap: 18px; }
.global-search { height: 42px; }
.global-search input { font-size: 13px; }
.owner-chip strong, .owner-chip small, .logout-form .quiet { font-size: 12px; }
.metric-card p, .action-card small, .text-link { font-size: 12px; }
.action-card strong { font-size: 13px; }
.metric-value { font-variant-numeric: tabular-nums; }
button:not(.search-submit), .button { min-height: 40px; font-size: 13px; }
button.small, .button.small { min-height: 34px; font-size: 12px; }
button:disabled, .button[aria-disabled=true] { opacity: .55; cursor: not-allowed; }
label { font-size: 13px; }
input, select, textarea { font: inherit; font-size: 14px; }
textarea { width: 100%; min-height: 110px; padding: 12px; color: var(--text); background: #0d1628; border: 1px solid #35425d; border-radius: 8px; resize: vertical; }
input::placeholder, textarea::placeholder { color: #8d9fbd; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.form-hint, .count-pill { font-size: 12px; }
.table-scroll { border: 1px solid var(--border); border-radius: 10px; overscroll-behavior-x: contain; }
.data-table th { font-size: 11px; letter-spacing: .6px; padding: 14px; color: #acbbd2; }
.data-table td { font-size: 13px; padding: 17px 14px; }
.data-table small { font-size: 11px; color: #a3b2ca; }
.data-table tbody tr:nth-child(even) { background: #ffffff02; }
.data-table tbody tr:hover { background: #a997f509; }
.data-table tbody tr:focus-within { background: #a997f512; }
.status, .badge { font-size: 11px; }
.account, .table-plan { font-size: 13px; }
.empty-state { min-height: 220px; }
.empty-state h2, .empty-state h3 { margin-bottom: 8px; }
.admin-modal { padding: clamp(22px, 4vw, 30px); }
.admin-modal::backdrop { background: #050a17c9; }
.workspace, .page-content, .card { min-width: 0; }
.support-table { table-layout: fixed; min-width: 740px; }
.support-table th:first-child { width: auto; }
.support-table th:nth-child(2) { width: 18%; }
.support-table th:nth-child(3) { width: 160px; }
.support-table th:nth-child(4) { width: 190px; }
.support-table th:last-child { width: 120px; }
.support-table td { vertical-align: top; overflow-wrap: anywhere; }
.support-table td:nth-child(4) { white-space: nowrap; font-variant-numeric: tabular-nums; font-size: 12px; }
.support-table .support-reply-action { display: none; }
.support-subject { display: inline-block; line-height: 1.55; }
.support-inbox .table-scroll { margin-bottom: 20px; }
.support-filter { flex-wrap: wrap; }
.support-filter select { min-height: 44px; }
.support-conversation { max-width: 100%; }
.support-ticket-controls { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.support-ticket-controls h2 { margin-bottom: 8px; }
.support-ticket-controls p, .support-ticket-controls .support-filter { margin-bottom: 0; }
.support-message p { color: var(--text); font-size: 14px; }
.support-message header strong { font-size: 13px; }
#support-reply { margin: 0 0 12px; }
#support-reply + .form-hint { margin: 0 0 18px; }
.modal-actions { flex-wrap: wrap; }
.auth-main { padding-block: clamp(24px, 5vh, 64px); }
.auth-card input { min-height: 46px; }
.auth-card button { min-height: 44px; }
:target { scroll-margin-top: 100px; }
@media (max-width: 1100px) {
  .topbar { flex-wrap: wrap; padding: 16px 22px; gap: 12px; }
  .global-search { flex: 1; max-width: none; }
  .overview-grid, .users-grid, .columns { grid-template-columns: minmax(0, 1fr); }
  .profile-heading { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .support-table { min-width: 640px; }
  .support-table th:last-child, .support-desktop-action { display: none; }
  .support-table .support-reply-action { display: inline-flex; margin-top: 12px; }
  .sidebar .main-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; gap: 6px; }
  .sidebar .main-nav a { padding: 10px; gap: 8px; white-space: normal; }
  .sidebar .main-nav span { white-space: normal; }
  .page-content { padding: 22px 16px 32px; }
  .page-heading { margin-bottom: 22px; }
  .card { border-radius: 12px; padding: 20px 16px; }
  .topbar { padding: 14px 16px; }
  .global-search { min-width: 0; flex: 0 0 100%; width: 100%; order: 3; }
  .owner-chip { margin-left: 0; margin-right: auto; }
  input, select, textarea { font-size: 16px; }
  .metrics { gap: 12px; }
  .metric-card { padding: 18px; }
  .metric-value { font-size: 34px; }
  .profile-identity { gap: 12px; }
  .heading-actions { gap: 10px; }
  .modal-actions > button { flex: 1; }
  .data-table th, .data-table td { padding: 14px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
/* Support inbox and conversations */
.support-filter{display:flex;gap:16px;align-items:end;margin-bottom:24px}.support-filter label{min-width:220px;margin:0}.support-subject{font-weight:650;overflow-wrap:anywhere}.support-id{display:block;color:var(--muted,#8797b0);margin-top:5px}.support-back{display:inline-block;margin-bottom:18px}.support-history{display:flex;justify-content:space-between;gap:16px}.support-message{padding:20px;background:rgba(127,145,180,.07);border:1px solid rgba(127,145,180,.16);border-radius:12px;margin-top:16px;overflow-wrap:anywhere}.support-message.from-support{background:rgba(150,126,255,.09);border-color:rgba(150,126,255,.25)}.support-message header{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.support-message time{font-size:12px;color:var(--muted,#8797b0)}.support-message p{white-space:pre-wrap;margin:12px 0 0;line-height:1.65}.support-conversation+section{margin-top:20px}#support-reply{width:100%;box-sizing:border-box;resize:vertical}@media(max-width:600px){.support-filter{align-items:stretch;flex-direction:column}.support-filter label{min-width:0}}
