[hidden] { display: none !important; }
.admin-page { min-height: 100dvh; background: var(--color-bg); color: var(--color-text-main); }
.admin-page ::selection { color: var(--color-primary-contrast); background: var(--color-primary); }
.admin-page a { text-underline-offset: .22em; }
.admin-page :focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }
.admin-shell { width: min(1320px, 100%); margin: 0 auto; padding: 0 max(var(--space-lg), var(--safe-area-right)) max(var(--space-2xl), var(--safe-area-bottom)) max(var(--space-lg), var(--safe-area-left)); }
.admin-header { min-height: 88px; display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); border-bottom: 1px solid var(--color-border); padding-block: max(var(--space-md), var(--safe-area-top)) var(--space-md); }
.admin-brand { display: inline-flex; gap: .75rem; align-items: center; text-decoration: none; color: var(--color-text-main); font-weight: 750; font-size: 1.05rem; }
.admin-brand img { flex: none; }
.admin-brand-copy { display: grid; gap: .125rem; }
.admin-brand-copy > span { color: var(--color-text-muted); font-size: .8rem; font-weight: 500; }
.admin-header-actions { display: flex; align-items: center; gap: var(--space-sm); }
.admin-back { text-decoration: none; }
.admin-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding-block: 2.25rem 1.5rem; }
.admin-heading h1 { font-size: clamp(1.7rem, 4vw, 2.35rem); letter-spacing: -.03em; line-height: 1.1; }
.admin-heading p, .admin-config p, .admin-detail p { color: var(--color-text-muted); line-height: 1.55; }
.admin-heading p { margin-top: .45rem; }
.admin-identity { color: var(--color-text-muted); font-size: .85rem; overflow-wrap: anywhere; }
.admin-config { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1.5fr); align-items: start; gap: var(--space-lg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); padding: var(--space-lg); }
.admin-config h2 { font-size: 1rem; }
.admin-config p { margin-top: .25rem; font-size: .875rem; }
.admin-inline-form { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: start; gap: var(--space-md); }
.admin-config-field { min-width: 0; display: grid; gap: var(--space-sm); }
.admin-config-field label { font-size: .85rem; font-weight: 600; }
.admin-inline-form button { grid-column: 2; justify-self: end; }
.admin-page input, .admin-page select, .admin-page textarea { min-height: 44px; border: 1px solid var(--color-border); border-radius: var(--radius-md); color: var(--color-text-main); background: var(--color-surface); padding: .55rem .7rem; font: inherit; }
.admin-page textarea { min-height: 88px; resize: vertical; }
.admin-page input, .admin-page select, .admin-page textarea { min-width: 0; max-width: 100%; }
.admin-inline-form input, .admin-inline-form textarea { width: 100%; }
.admin-grant-field { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; border: 0; padding: .4rem 0 0; }
.admin-grant-field legend { font-weight: 700; font-size: .9rem; margin-bottom: .3rem; }
.admin-grant-field label { display: grid; gap: .35rem; font-size: .84rem; font-weight: 600; }
.admin-empty { padding: 1rem 0; color: var(--color-text-muted); }
.admin-tabs { display: inline-flex; gap: var(--space-xs); padding: var(--space-xs); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); margin-top: var(--space-md); }
.admin-tab { min-height: 44px; padding-inline: var(--space-lg); background: transparent; border: 0; border-radius: var(--radius-sm); color: var(--color-text-muted); font: inherit; font-size: .9rem; font-weight: 650; cursor: pointer; }
.admin-tab:hover { background: var(--color-surface-hover); }
.admin-tab.is-active { color: var(--color-primary-contrast); background: var(--color-primary); }
.admin-workspace { display: grid; grid-template-columns: minmax(0, .95fr) minmax(340px, 1.05fr); gap: 1.5rem; padding-top: 1.25rem; align-items: start; }
.admin-list-panel { min-width: 0; padding: var(--space-lg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.admin-search { display: grid; grid-template-columns: minmax(0, 1fr) 175px auto; gap: .5rem; }
.admin-search button { padding-inline: .8rem; }
.admin-list-status { min-height: 1.6rem; padding-top: .45rem; color: var(--color-text-muted); font-size: .85rem; }
.admin-list { border-top: 1px solid var(--color-border); }
.admin-row { width: 100%; display: flex; justify-content: space-between; align-items: center; text-align: left; gap: .8rem; min-height: 72px; padding: .75rem .7rem; border: 0; border-bottom: 1px solid var(--color-border); background: transparent; color: var(--color-text-main); cursor: pointer; font: inherit; }
.admin-row:hover, .admin-row[aria-current="true"] { background: var(--color-surface-hover); }
.admin-row[aria-current="true"] { box-shadow: inset 3px 0 var(--color-primary); }
.admin-row-main { min-width: 0; display: grid; gap: .2rem; }
.admin-row-title { overflow-wrap: anywhere; font-weight: 650; }
.admin-row-sub { color: var(--color-text-muted); font-size: .82rem; overflow-wrap: anywhere; }
.admin-state { flex: none; padding: .25rem .6rem; border-radius: var(--radius-full); background: var(--color-surface-muted); color: var(--color-text-muted); font-size: .78rem; font-weight: 650; }
.admin-state[data-state="active"] { background: var(--color-success-bg); color: color-mix(in srgb, var(--color-success) 35%, var(--color-text-main)); }
.admin-state[data-state="expired"], .admin-state[data-state="suspended"] { background: var(--color-danger-bg); color: color-mix(in srgb, var(--color-danger) 35%, var(--color-text-main)); }
.admin-state[data-state="trial"] { background: var(--color-warning-bg); color: color-mix(in srgb, var(--color-warning) 30%, var(--color-text-main)); }
.admin-more { width: 100%; margin-top: .85rem; }
.admin-detail { min-width: 0; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); padding: clamp(1rem, 3vw, 1.5rem); min-height: 250px; }
.admin-detail-empty { padding-block: 2rem; }
.admin-detail h2 { font-size: 1.2rem; overflow-wrap: anywhere; }
.admin-detail h3 { font-size: 1rem; margin-top: 1.35rem; }
.admin-detail .admin-detail-meta { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; padding-block: 1rem; border-bottom: 1px solid var(--color-border); }
.admin-detail-meta dt { color: var(--color-text-muted); font-size: .78rem; }
.admin-detail-meta dd { margin-top: .25rem; font-weight: 600; overflow-wrap: anywhere; }
.admin-detail-form { display: grid; gap: .8rem; margin-top: 1rem; }
.admin-detail-form label { display: grid; gap: .35rem; font-size: .85rem; font-weight: 600; }
.admin-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.admin-preview { padding: .7rem; border-radius: var(--radius-md); background: var(--color-info-bg); color: var(--color-text-main); font-size: .88rem; }
.admin-form-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.admin-feedback { min-height: 1.4rem; font-size: .88rem; }
.admin-feedback[data-kind="error"] { color: var(--color-danger); }
.admin-feedback[data-kind="success"] { color: var(--color-success); }
.admin-history { margin-top: 1.3rem; border-top: 1px solid var(--color-border); padding-top: .8rem; }
.admin-history ol { padding-left: 1.15rem; margin-top: .6rem; }
.admin-history li { padding-block: .35rem; color: var(--color-text-muted); font-size: .84rem; overflow-wrap: anywhere; }
.admin-message { width: min(560px, calc(100% - 2rem)); margin: 10vh auto; padding: 1.5rem; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); }
.admin-message h1 { font-size: 1.35rem; }
.admin-message p { margin-block: .7rem 1.1rem; color: var(--color-text-muted); }
.admin-skip, .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.admin-skip:focus { width: auto; height: auto; clip: auto; margin: 1rem; padding: .6rem; background: var(--color-surface); z-index: 2; }
@media (max-width: 1024px) {
  .admin-config, .admin-workspace { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .admin-shell { padding-inline: max(var(--space-md), var(--safe-area-left)) max(var(--space-md), var(--safe-area-right)); }
  .admin-header { align-items: start; flex-direction: column; }
  .admin-header-actions { width: 100%; flex-wrap: wrap; }
  .admin-header-actions select, .admin-header-actions a { flex: 1; }
  .admin-heading { align-items: start; flex-direction: column; }
  .admin-config, .admin-inline-form { grid-template-columns: minmax(0, 1fr); }
  .admin-inline-form button { grid-column: auto; justify-self: stretch; }
  .admin-workspace { grid-template-columns: minmax(0, 1fr); }
  .admin-search { grid-template-columns: minmax(0, 1fr) minmax(130px, .8fr); }
  .admin-search input { grid-column: 1 / -1; }
  .admin-form-grid, .admin-grant-field, .admin-detail .admin-detail-meta { grid-template-columns: minmax(0, 1fr); }
}

/* Global access console follows the same restrained finance workspace identity. */
html[data-theme] .admin-page { background: var(--color-bg); color: var(--color-text-main); }
html[data-theme] .admin-header { border-color: var(--color-border); }
html[data-theme] .admin-config, html[data-theme] .admin-list-panel, html[data-theme] .admin-detail { background: var(--color-surface); border-color: var(--color-border); border-radius: 12px; box-shadow: none; }
html[data-theme] .admin-tabs { background: var(--color-surface); border-color: var(--color-border); border-radius: 9999px; }
html[data-theme] .admin-tab { border-radius: 9999px; color: var(--color-text-muted); }
html[data-theme] .admin-tab.is-active { color: var(--color-primary-contrast); background: var(--color-primary); }
html[data-theme] .admin-row { border-color: var(--color-border); }
html[data-theme] .admin-row:hover, html[data-theme] .admin-row[aria-current="true"] { background: var(--color-primary-subtle); }
html[data-theme] .admin-row[aria-current="true"] { box-shadow: inset 2px 0 var(--color-info); }
html[data-theme] .admin-page :is(input,select,textarea) { color: var(--color-text-main); background: var(--color-bg); border-color: var(--color-border-hover); border-radius: 8px; }
html[data-theme] .admin-page :is(.btn-primary,button[type="submit"]) { color: var(--color-primary-contrast); background: var(--color-primary); border-color: var(--color-primary); border-radius: 9999px; }
html[data-theme] .admin-page :is(.btn-secondary,.admin-back) { color: var(--color-text-main); background: transparent; border-color: var(--color-border-hover); border-radius: 9999px; }
html[data-theme] .admin-page a:not(.btn) { color: var(--color-info); }
html[data-theme] .admin-page .admin-brand { color: var(--color-text-main); }
@media (max-width: 760px) { html[data-theme] .admin-shell { padding-inline: 1rem; } html[data-theme] .admin-search button { grid-column: 1 / -1; } }

.admin-test-seeds { margin-top: 1.25rem; padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); }
.admin-test-seeds-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.admin-test-seeds-heading h2 { font-size: 1.2rem; }
.admin-test-seeds-heading p { max-width: 72ch; margin-top: .35rem; color: var(--color-text-muted); line-height: 1.55; }
.admin-test-seed-create { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .55rem .8rem; margin-top: 1.2rem; }
.admin-test-seed-create label { grid-column: 1 / -1; font-size: .85rem; font-weight: 600; }
.admin-test-seed-create textarea { min-height: 3.2rem; }
.admin-test-seed-create button { min-height: 44px; }
.admin-test-seed-list { border-top: 1px solid var(--color-border); }
.admin-test-seed-row { padding-block: 1rem; border-bottom: 1px solid var(--color-border); }
.admin-test-seed-row-heading { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.admin-test-seed-row-heading h3 { margin: 0; font-size: 1rem; }
.admin-test-seed-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1rem; padding-block: .8rem; }
.admin-test-seed-meta dt { color: var(--color-text-muted); font-size: .78rem; }
.admin-test-seed-meta dd { margin-top: .2rem; font-size: .88rem; overflow-wrap: anywhere; }
.admin-test-seed-note { margin-block: .45rem; color: var(--color-warning); font-size: .88rem; }

html[data-theme="dark"] :is(.admin-config,.admin-list-panel,.admin-detail,.admin-test-seeds) { background-color: var(--color-surface); background-image: radial-gradient(ellipse 92% 48% at 50% 0%, rgba(98,95,255,.085), transparent 74%), radial-gradient(ellipse 62% 32% at 100% 0%, rgba(255,125,218,.035), transparent 78%), linear-gradient(var(--color-surface),var(--color-surface)); }
html[data-theme] :is(.admin-heading h1,.admin-config h2,.admin-detail h2,.admin-test-seeds h2,.admin-test-seed-row-heading h3) { font-family: Figtree, var(--font-ui); font-weight: 600; line-height: 1.2; letter-spacing: -.018em; text-wrap: balance; }
.admin-test-seed-remove-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .7rem; }
.admin-test-seed-remove-form label { display: grid; gap: .35rem; font-size: .84rem; font-weight: 600; }
.admin-test-seed-remove-form textarea { min-height: 2.8rem; }
.admin-test-seed-remove-form button { min-height: 44px; }
html[data-theme] .admin-test-seeds { border-radius: 12px; box-shadow: none; }
@media (max-width: 760px) {
  .admin-test-seed-create, .admin-test-seed-remove-form { grid-template-columns: minmax(0, 1fr); }
  .admin-test-seed-create button, .admin-test-seed-remove-form button { width: 100%; }
  .admin-test-seed-meta { grid-template-columns: minmax(0, 1fr); }
}
