/* Platform Admin portal: users, subscriptions, verification, support desk, audit, staff.
   Tokens only (docs/css-design-system.md). Prefixed pa- so nothing leaks into the tenant app. */

.pa-page { padding: var(--mk-s5); max-width: 1320px; }
.pa-page-head { display: flex; align-items: center; justify-content: space-between; gap: var(--mk-s3); flex-wrap: wrap; margin-bottom: var(--mk-s4); }
.pa-page-title { margin: 0; font-size: var(--mk-t-section); font-weight: var(--mk-fw-bold); color: var(--mk-text-strong); }
.pa-sub { color: var(--mk-text-muted); font-size: var(--mk-t-secondary); }
.pa-back { color: var(--mk-primary-ink); font-size: var(--mk-t-secondary); text-decoration: none; }

.pa-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--mk-s4); align-items: start; }
@media (max-width: 1024.98px) { .pa-grid { grid-template-columns: 1fr; } }

.pa-card { background: var(--mk-bg-surface); border: 1px solid var(--mk-border); border-radius: var(--mk-r-lg); padding: var(--mk-s4) var(--mk-s5); margin-bottom: var(--mk-s4); }
.pa-card-title { margin: 0 0 var(--mk-s3); font-size: var(--mk-t-card-sm); font-weight: var(--mk-fw-semibold); color: var(--mk-text-strong); display: flex; align-items: center; justify-content: space-between; gap: var(--mk-s2); }

.pa-kv { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; gap: var(--mk-s2) var(--mk-s3); font-size: var(--mk-t-secondary); }
.pa-kv dt { color: var(--mk-text-2); font-weight: var(--mk-fw-medium); }
.pa-kv dd { margin: 0; color: var(--mk-text-strong); overflow-wrap: anywhere; }

.pa-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: var(--mk-s3); margin-bottom: var(--mk-s4); }
.pa-stat { background: var(--mk-bg-surface); border: 1px solid var(--mk-border); border-radius: var(--mk-r-lg); padding: var(--mk-s3) var(--mk-s4); text-align: left; cursor: pointer; font: inherit; }
.pa-stat:hover { border-color: var(--mk-border-strong); }
.pa-stat.is-on { border-color: var(--mk-primary); background: var(--mk-primary-soft); }
.pa-stat-v { font-size: var(--mk-t-section); font-weight: var(--mk-fw-bold); color: var(--mk-text-strong); font-variant-numeric: tabular-nums; }
.pa-stat-k { font-size: var(--mk-t-micro); color: var(--mk-text-2); }

.pa-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px var(--mk-s2); border-radius: var(--mk-r-pill); font-size: var(--mk-t-micro); font-weight: var(--mk-fw-semibold); white-space: nowrap; }
.pa-b-ok { background: var(--mk-fin-positive-lt); color: var(--mk-fin-positive-fg); }
.pa-b-bad { background: var(--mk-fin-negative-lt); color: var(--mk-fin-negative-fg); }
.pa-b-warn { background: var(--mk-warning-lt); color: var(--mk-warning-fg); }
.pa-b-muted { background: var(--mk-bg-subtle); color: var(--mk-text-2); }
.pa-b-info { background: var(--mk-primary-soft); color: var(--mk-primary-ink); }
/* "Verified by an administrator" — visibly different from a code the user entered. */
.pa-b-override { background: var(--mk-warning-lt); color: var(--mk-warning-fg); border: 1px dashed var(--mk-warning); }

.pa-actions { display: flex; flex-wrap: wrap; gap: var(--mk-s2); }
.pa-btn { min-height: 36px; padding: 0 var(--mk-s3); border: 1px solid var(--mk-border-strong); border-radius: var(--mk-r-md); background: var(--mk-bg-surface); color: var(--mk-text-strong); font: inherit; font-size: var(--mk-t-secondary); font-weight: var(--mk-fw-medium); cursor: pointer; }
.pa-btn:hover:not(:disabled) { background: var(--mk-bg-hover); }
.pa-btn:disabled { opacity: .55; cursor: not-allowed; }
.pa-btn-primary { background: var(--mk-primary); border-color: var(--mk-primary); color: var(--mk-text-onprimary); }
.pa-btn-primary:hover:not(:disabled) { background: var(--mk-primary-hover); }
.pa-btn-danger { color: var(--mk-fin-negative-fg); border-color: var(--mk-fin-negative); }

.pa-field { display: flex; flex-direction: column; gap: var(--mk-s1); margin-bottom: var(--mk-s3); }
.pa-field label { font-size: var(--mk-t-micro); font-weight: var(--mk-fw-semibold); color: var(--mk-text-2); }
.pa-input, .pa-select, .pa-textarea { width: 100%; min-height: var(--mk-input-h); padding: var(--mk-s2) var(--mk-s3); border: 1px solid var(--mk-border-strong); border-radius: var(--mk-r-md); background: var(--mk-bg-surface); color: var(--mk-text-strong); font: inherit; font-size: var(--mk-t-secondary); }
.pa-textarea { min-height: 90px; resize: vertical; }
.pa-input:focus, .pa-select:focus, .pa-textarea:focus { outline: none; border-color: var(--mk-primary); box-shadow: var(--mk-focus-ring); }
.pa-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--mk-s3); }
.pa-hint { font-size: var(--mk-t-micro); color: var(--mk-text-muted); }
.pa-error { padding: var(--mk-s2) var(--mk-s3); border-radius: var(--mk-r-md); background: var(--mk-fin-negative-lt); color: var(--mk-fin-negative-fg); font-size: var(--mk-t-secondary); margin-bottom: var(--mk-s3); }
.pa-ok { padding: var(--mk-s2) var(--mk-s3); border-radius: var(--mk-r-md); background: var(--mk-fin-positive-lt); color: var(--mk-fin-positive-fg); font-size: var(--mk-t-secondary); margin-bottom: var(--mk-s3); }
.pa-callout { padding: var(--mk-s3); border-radius: var(--mk-r-md); background: var(--mk-bg-subtle); font-size: var(--mk-t-secondary); margin-bottom: var(--mk-s3); }
.pa-callout-warn { background: var(--mk-warning-lt); color: var(--mk-warning-fg); }

/* Ticket conversation */
.pa-thread { display: flex; flex-direction: column; gap: var(--mk-s3); }
.pa-msg { border: 1px solid var(--mk-border); border-radius: var(--mk-r-md); padding: var(--mk-s3); background: var(--mk-bg-surface); }
.pa-msg-customer { background: var(--mk-bg-subtle); }
.pa-msg-internal { background: var(--mk-warning-lt); border-style: dashed; border-color: var(--mk-warning); }
.pa-msg-head { display: flex; justify-content: space-between; gap: var(--mk-s2); font-size: var(--mk-t-micro); color: var(--mk-text-2); margin-bottom: var(--mk-s1); }
.pa-msg-body { white-space: pre-wrap; font-size: var(--mk-t-secondary); color: var(--mk-text-strong); overflow-wrap: anywhere; }
.pa-link { background: none; border: none; padding: 0; color: var(--mk-primary-ink); font: inherit; font-size: var(--mk-t-micro); cursor: pointer; text-decoration: underline; }

.pa-history { list-style: none; margin: 0; padding: 0; font-size: var(--mk-t-micro); color: var(--mk-text-2); }
.pa-history li { padding: var(--mk-s1) 0; border-bottom: 1px solid var(--mk-border); }
.pa-history b { color: var(--mk-text-strong); font-weight: var(--mk-fw-semibold); }

.pa-perm-group { margin-bottom: var(--mk-s3); }
.pa-perm-group h4 { font-size: var(--mk-t-micro); text-transform: uppercase; letter-spacing: .05em; color: var(--mk-text-2); margin: 0 0 var(--mk-s1); }
.pa-check { display: flex; align-items: flex-start; gap: var(--mk-s2); font-size: var(--mk-t-secondary); padding: 2px 0; }

/* Row links in desk and audit grids */
.pa-a { color: var(--mk-primary-ink); font-weight: var(--mk-fw-medium); text-decoration: none; }
.pa-a:hover { text-decoration: underline; }
