.admin-host {
    min-height: 100dvh;
    padding-top: var(--header-height);
    color: var(--ink);
    background:
        radial-gradient(circle at 82% 0%, rgba(52, 91, 111, 0.15), transparent 34rem),
        #050a0f;
}

.admin-host h1,
.admin-host h2,
.admin-host h3,
.admin-host p {
    margin-top: 0;
}

.admin-shell {
    min-height: calc(100dvh - var(--header-height));
}

.admin-stage {
    min-width: 0;
}

.admin-rail {
    display: none;
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 35;
    display: grid;
    min-height: 62px;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 13px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--line);
    background: rgba(6, 13, 20, 0.94);
    backdrop-filter: blur(18px);
}

.admin-topbar-location {
    display: grid;
    min-width: 0;
    line-height: 1.15;
}

.admin-topbar-location small {
    overflow: hidden;
    color: var(--ink-muted);
    font-size: 7px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-topbar-location strong {
    overflow: hidden;
    color: var(--ink);
    font-family: var(--serif);
    font-size: 16px;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-topbar-session {
    display: none;
    align-items: center;
    gap: 7px;
    color: var(--ink-muted);
    font-size: 8px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.admin-topbar-session span,
.admin-dashboard-status > span {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #79a792;
    box-shadow: 0 0 12px rgba(121, 167, 146, 0.72);
}

.admin-topbar-session.is-disconnected span,
.admin-dashboard-status.is-disconnected > span {
    background: #c99d59;
    box-shadow: 0 0 12px rgba(201, 157, 89, 0.62);
}

.admin-topbar-account {
    display: block;
    width: 36px;
    height: 36px;
    overflow: hidden;
    border: 1px solid rgba(226, 197, 135, 0.52);
    text-decoration: none;
}

.admin-session-artwork {
    width: 100%;
    height: 100%;
}

.admin-mobile-navigation {
    position: relative;
}

.admin-mobile-navigation > summary {
    display: flex;
    width: 38px;
    height: 38px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--line);
    cursor: pointer;
    list-style: none;
}

.admin-mobile-navigation > summary::-webkit-details-marker {
    display: none;
}

.admin-mobile-navigation > summary span {
    width: 17px;
    height: 1px;
    background: var(--ink-soft);
}

.admin-mobile-navigation > summary span:nth-child(2) {
    width: 12px;
}

.admin-mobile-navigation nav {
    position: absolute;
    top: 46px;
    left: 0;
    display: grid;
    width: min(290px, calc(100vw - 32px));
    padding: 9px;
    border: 1px solid var(--line-strong);
    background: #08121b;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.62);
}

.admin-mobile-navigation nav a {
    padding: 11px 12px;
    border-bottom: 1px solid var(--line);
    color: var(--ink-soft);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;
}

.admin-mobile-navigation nav a.is-active {
    color: var(--gold-bright);
    background: rgba(199, 164, 104, 0.08);
}

.admin-mobile-navigation nav a:nth-last-child(-n + 2) {
    color: var(--ink-muted);
}

.admin-main {
    width: 100%;
    padding: 30px 16px 72px;
}

.admin-module-header {
    display: grid;
    gap: 22px;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--line);
}

.admin-module-header > div:first-child {
    max-width: 760px;
}

.admin-eyebrow {
    margin-bottom: 7px;
    color: var(--gold-bright);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.admin-module-header h1 {
    margin-bottom: 10px;
    font-size: clamp(35px, 10vw, 48px);
    line-height: 1;
}

.admin-module-description {
    max-width: 720px;
    margin: 0;
    color: var(--ink-muted);
    font-size: 13px;
    line-height: 1.7;
}

.admin-module-actions,
.admin-inline-actions,
.admin-form-actions,
.admin-access-actions,
.admin-dialog-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-module-actions .admin-button {
    flex: 1 1 150px;
}

.admin-button {
    display: inline-flex;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
    border: 1px solid transparent;
    border-radius: 0;
    font: 600 9px var(--sans);
    letter-spacing: 0.09em;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
}

.admin-button-primary {
    border-color: #d3b474;
    color: #11100c;
    background: linear-gradient(135deg, #e0c17e, #b88d4d);
}

.admin-button-primary:hover {
    background: linear-gradient(135deg, #ebd397, #c99d59);
}

.admin-button-secondary {
    border-color: rgba(226, 197, 135, 0.32);
    color: var(--ink);
    background: rgba(5, 10, 15, 0.4);
}

.admin-button-secondary:hover {
    border-color: var(--gold-bright);
    background: rgba(20, 34, 44, 0.76);
}

.admin-button-danger {
    border-color: rgba(207, 105, 96, 0.48);
    color: #e8a29b;
    background: rgba(111, 42, 38, 0.08);
}

.admin-button-danger:hover {
    border-color: rgba(232, 162, 155, 0.78);
    background: rgba(111, 42, 38, 0.2);
}

.admin-button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.admin-feedback,
.admin-domain-notice,
.admin-policy-warning {
    display: grid;
    gap: 3px;
    margin-bottom: 18px;
    padding: 13px 15px;
    border-left: 2px solid var(--ice);
    color: var(--ink-soft);
    background: rgba(39, 79, 104, 0.12);
    font-size: 11px;
    line-height: 1.55;
}

.admin-feedback strong,
.admin-domain-notice strong,
.admin-policy-warning strong {
    color: var(--ink);
    font-size: 9px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.admin-feedback-error {
    border-color: #c66d64;
    background: rgba(111, 42, 38, 0.14);
}

.admin-feedback-error strong,
.admin-feedback-error span {
    color: #e8a29b;
}

.admin-feedback-success {
    border-color: #79a792;
    background: rgba(68, 112, 91, 0.12);
}

.admin-feedback-success strong {
    color: #a8c9b7;
}

.admin-domain-notice {
    margin-top: -8px;
    border: 1px solid var(--line);
    border-left: 2px solid var(--gold-deep);
    background: rgba(199, 164, 104, 0.045);
}

.admin-policy-warning {
    border-color: var(--gold);
    color: var(--gold-bright);
    background: rgba(199, 164, 104, 0.08);
}

.admin-loading-state {
    display: flex;
    min-height: 220px;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 30px;
    border: 1px solid var(--line);
    color: var(--ink-muted);
    background: rgba(9, 19, 29, 0.54);
}

.admin-loading-state > div {
    display: grid;
    gap: 2px;
}

.admin-loading-state strong {
    color: var(--ink);
    font-family: var(--serif);
    font-size: 17px;
    font-weight: 400;
}

.admin-loading-state p {
    margin: 0;
    font-size: 11px;
}

.admin-spinner {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    animation: admin-spin 800ms linear infinite;
    border: 2px solid rgba(226, 197, 135, 0.15);
    border-top-color: var(--gold-bright);
    border-radius: 50%;
}

.admin-master-detail,
.admin-catalogue-layout,
.admin-prompt-layout {
    display: grid;
    gap: 16px;
}

.admin-master-panel,
.admin-detail-panel,
.admin-catalogue-list,
.admin-catalogue-detail,
.admin-prompt-families,
.admin-prompt-workspace {
    min-width: 0;
    border: 1px solid var(--line);
    background: rgba(8, 18, 27, 0.66);
}

.admin-master-panel {
    align-self: start;
}

.admin-list-toolbar {
    display: grid;
    gap: 9px;
    padding: 13px;
    border-bottom: 1px solid var(--line);
}

.admin-list-toolbar > span,
.admin-catalogue-list > header > span {
    color: var(--ink-muted);
    font-size: 8px;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.admin-search-field {
    display: block;
}

.admin-search-field input {
    width: 100%;
    min-height: 41px;
    padding: 9px 11px;
    border: 1px solid rgba(211, 222, 222, 0.16);
    border-radius: 0;
    color: var(--ink);
    background: rgba(3, 9, 14, 0.68);
    font: 12px var(--sans);
}

.admin-search-field input::placeholder {
    color: var(--ink-muted);
}

.admin-filter-row {
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    border: 1px solid var(--line);
}

.admin-filter-row button {
    min-height: 34px;
    padding: 7px 8px;
    border: 0;
    border-right: 1px solid var(--line);
    color: var(--ink-muted);
    background: transparent;
    font: 600 8px var(--sans);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.admin-filter-row button:last-child {
    border-right: 0;
}

.admin-filter-row button.is-active {
    color: var(--gold-bright);
    background: rgba(199, 164, 104, 0.1);
}

.admin-record-list {
    display: grid;
    max-height: 480px;
    overflow: auto;
    scrollbar-color: rgba(199, 164, 104, 0.42) transparent;
    scrollbar-width: thin;
}

.admin-record {
    display: grid;
    width: 100%;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 13px;
    border: 0;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.admin-record:last-child {
    border-bottom: 0;
}

.admin-record:hover,
.admin-record.is-selected {
    background: rgba(65, 96, 112, 0.1);
}

.admin-record.is-selected {
    box-shadow: inset 2px 0 var(--gold);
}

.admin-account-record {
    min-height: 78px;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    overflow: hidden;
    padding: 0 13px 0 0;
}

.admin-account-record .admin-record-artwork {
    width: 68px;
    min-height: 78px;
}

.admin-account-record .admin-record-artwork::after,
.admin-user-artwork::after {
    position: absolute;
    inset: 0 0 0 auto;
    width: 14px;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(7, 16, 24, 0.7));
}

.admin-account-record .admin-record-copy {
    align-content: center;
    padding: 11px 0 11px 10px;
}

.admin-record-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.admin-record-copy > strong {
    overflow: hidden;
    font-family: var(--serif);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-record-copy > small {
    overflow: hidden;
    color: var(--ink-muted);
    font-size: 9px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-record-meta,
.admin-record-topline {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 10px;
    margin-top: 4px;
}

.admin-record-meta em,
.admin-record-topline small {
    color: var(--ink-muted);
    font-size: 7px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-record-meta .is-gold,
.admin-record-meta .is-warning {
    color: var(--gold-bright);
}

.admin-record-meta .is-active {
    color: #9fc5b0;
}

.admin-record-topline {
    justify-content: space-between;
    margin: 0 0 2px;
}

.admin-status-dot {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: var(--ink-muted);
}

.admin-status-dot.is-active {
    background: #79a792;
    box-shadow: 0 0 8px rgba(121, 167, 146, 0.55);
}

.admin-record-topline .admin-status-dot + small {
    margin-right: auto;
}

.admin-platform-mark {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(136, 175, 195, 0.35);
    color: var(--ice);
    background: rgba(39, 79, 104, 0.13);
    font: 600 11px var(--sans);
}

.admin-platform-mark.is-store {
    color: var(--gold-bright);
    border-color: rgba(199, 164, 104, 0.38);
    background: rgba(199, 164, 104, 0.08);
}

.admin-empty-list {
    display: grid;
    gap: 3px;
    padding: 30px 18px;
    color: var(--ink-muted);
    text-align: center;
}

.admin-empty-list strong {
    color: var(--ink);
    font-family: var(--serif);
    font-size: 17px;
    font-weight: 400;
}

.admin-empty-list span {
    font-size: 10px;
}

.admin-detail-panel,
.admin-catalogue-detail,
.admin-prompt-workspace {
    min-height: 340px;
}

.admin-detail-heading {
    display: grid;
    gap: 16px;
    padding: 20px 17px;
    border-bottom: 1px solid var(--line);
}

.admin-detail-heading h2,
.admin-catalogue-list > header h2,
.admin-prompt-families > header h2 {
    margin: 0 0 4px;
    font-size: 25px;
    line-height: 1.05;
    overflow-wrap: anywhere;
}

.admin-detail-heading p:not(.admin-eyebrow) {
    margin: 0;
    color: var(--ink-muted);
    font-size: 10px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.admin-detail-heading code,
.admin-table code {
    color: var(--ice);
    font: 10px Consolas, monospace;
    overflow-wrap: anywhere;
}

.admin-detail-tabs,
.admin-section-tabs {
    display: flex;
    overflow-x: auto;
    border-bottom: 1px solid var(--line);
    scrollbar-width: none;
}

.admin-detail-tabs::-webkit-scrollbar,
.admin-section-tabs::-webkit-scrollbar {
    display: none;
}

.admin-detail-tabs button,
.admin-section-tabs button {
    min-width: max-content;
    min-height: 44px;
    padding: 10px 14px;
    border: 0;
    border-right: 1px solid var(--line);
    color: var(--ink-muted);
    background: rgba(3, 9, 14, 0.22);
    font: 600 8px var(--sans);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.admin-detail-tabs button.is-active,
.admin-section-tabs button.is-active {
    color: var(--gold-bright);
    background: rgba(199, 164, 104, 0.09);
    box-shadow: inset 0 -2px var(--gold);
}

.admin-section-tabs {
    margin-bottom: 16px;
    border: 1px solid var(--line);
}

.admin-section-tabs button {
    display: flex;
    flex: 1 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.admin-section-tabs button small {
    display: grid;
    min-width: 23px;
    height: 23px;
    place-items: center;
    border: 1px solid var(--line);
    color: var(--ink-muted);
    font-size: 8px;
}

.admin-form {
    display: grid;
    gap: 20px;
    padding: 20px 17px;
}

.admin-form-grid,
.admin-rate-grid,
.admin-switch-grid,
.admin-fact-grid,
.admin-metric-grid,
.admin-prompt-audit {
    display: grid;
    gap: 13px;
}

.admin-field {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 6px;
}

.admin-field > span,
.admin-placeholder-list > span,
.admin-readonly-note > span,
.admin-fact-grid span,
.admin-metric-grid span,
.admin-prompt-audit span,
.admin-balance-callout > span {
    color: var(--gold-bright);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.admin-field > small,
.admin-metric-grid small {
    color: var(--ink-muted);
    font-size: 9px;
    line-height: 1.45;
}

.admin-field input,
.admin-field select,
.admin-field textarea {
    width: 100%;
    min-width: 0;
    min-height: 43px;
    padding: 9px 11px;
    border: 1px solid rgba(211, 222, 222, 0.17);
    border-radius: 0;
    color: var(--ink);
    background: rgba(3, 9, 14, 0.64);
    font: 12px var(--sans);
    line-height: 1.55;
}

.admin-field textarea {
    resize: vertical;
}

.admin-field select {
    color-scheme: dark;
}

.admin-field input:focus,
.admin-field select:focus,
.admin-field textarea:focus,
.admin-search-field input:focus {
    border-color: rgba(226, 197, 135, 0.66);
    outline: 1px solid rgba(226, 197, 135, 0.16);
    outline-offset: 0;
}

.admin-field input:read-only,
.admin-field textarea:read-only {
    color: var(--ink-soft);
    background: rgba(3, 9, 14, 0.34);
}

.admin-form-section {
    display: grid;
    gap: 16px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line);
}

.admin-form-section:last-of-type {
    padding-bottom: 0;
    border-bottom: 0;
}

.admin-form-section-heading h3,
.admin-form-intro h3 {
    margin: 0 0 3px;
    font-size: 20px;
}

.admin-form-section-heading .admin-eyebrow {
    margin-bottom: 4px;
}

.admin-form-intro p {
    margin: 0;
    color: var(--ink-muted);
    font-size: 10px;
}

.admin-switch-grid {
    gap: 8px;
}

.admin-switch-field {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 14px;
    border: 1px solid var(--line);
    background: rgba(3, 9, 14, 0.34);
}

.admin-switch-field span,
.admin-switch-field strong,
.admin-switch-field small {
    display: block;
}

.admin-switch-field strong {
    color: var(--ink);
    font-family: var(--serif);
    font-size: 14px;
    font-weight: 400;
}

.admin-switch-field small {
    margin-top: 2px;
    color: var(--ink-muted);
    font-size: 9px;
    line-height: 1.45;
}

.admin-switch-field input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    accent-color: var(--gold);
}

.admin-form-actions {
    justify-content: flex-end;
    padding-top: 4px;
}

.admin-form-actions .admin-button {
    flex: 1 1 140px;
}

.admin-form-note {
    margin: 0;
    padding-left: 12px;
    border-left: 1px solid var(--gold-deep);
    color: var(--ink-muted);
    font-size: 9px;
    line-height: 1.55;
}

.admin-fact-grid,
.admin-metric-grid,
.admin-prompt-audit {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid var(--line);
    background: var(--line);
}

.admin-fact-grid > div,
.admin-metric-grid > div,
.admin-prompt-audit > div {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 3px;
    padding: 12px;
    background: #09131d;
}

.admin-fact-grid strong,
.admin-metric-grid strong,
.admin-prompt-audit strong {
    color: var(--ink);
    font-family: var(--serif);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.admin-metric-grid strong {
    color: var(--gold-bright);
    font-size: 22px;
}

.admin-balance-callout {
    display: grid;
    justify-items: start;
    padding: 18px;
    border: 1px solid var(--line-strong);
    background: linear-gradient(135deg, rgba(199, 164, 104, 0.09), rgba(39, 79, 104, 0.06));
}

.admin-balance-callout strong {
    color: var(--gold-bright);
    font-family: var(--serif);
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
}

.admin-balance-callout small {
    color: var(--ink-muted);
    font-size: 9px;
}

.admin-empty-detail {
    display: grid;
    min-height: 360px;
    place-items: start;
    align-content: center;
    justify-content: center;
    padding: 38px 24px;
    text-align: center;
}

.admin-empty-detail h2 {
    margin-bottom: 9px;
    font-size: 28px;
}

.admin-empty-detail > p:not(.admin-eyebrow) {
    max-width: 430px;
    margin-bottom: 20px;
    color: var(--ink-muted);
    font-size: 11px;
    line-height: 1.65;
}

.admin-empty-detail-compact {
    min-height: 300px;
}

.admin-status-pill {
    display: inline-flex;
    min-height: 23px;
    align-items: center;
    width: fit-content;
    padding: 4px 7px;
    border: 1px solid var(--line);
    color: var(--ink-muted);
    background: rgba(3, 9, 14, 0.35);
    font: 600 7px var(--sans);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-status-pill.is-active {
    color: #a8c9b7;
    border-color: rgba(121, 167, 146, 0.38);
    background: rgba(68, 112, 91, 0.1);
}

.admin-status-pill.is-scheduled {
    color: var(--gold-bright);
    border-color: rgba(199, 164, 104, 0.38);
    background: rgba(199, 164, 104, 0.08);
}

.admin-table-wrap {
    width: 100%;
    overflow-x: auto;
    scrollbar-color: rgba(199, 164, 104, 0.42) transparent;
    scrollbar-width: thin;
}

.admin-table {
    width: 100%;
    min-width: 660px;
    border-collapse: collapse;
    font-size: 10px;
}

.admin-table th {
    padding: 10px 12px;
    border-bottom: 1px solid var(--line-strong);
    color: var(--gold-bright);
    background: rgba(3, 9, 14, 0.55);
    font-size: 7px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-table td {
    padding: 12px;
    border-bottom: 1px solid var(--line);
    color: var(--ink-soft);
    vertical-align: top;
}

.admin-table tr:last-child td {
    border-bottom: 0;
}

.admin-table td small,
.admin-table-primary {
    display: block;
}

.admin-table-primary {
    color: var(--ink);
    font-family: var(--serif);
    font-size: 13px;
    line-height: 1.3;
}

.admin-table td small {
    max-width: 360px;
    margin-top: 2px;
    color: var(--ink-muted);
    font-size: 8px;
    line-height: 1.45;
}

.admin-table .is-numeric {
    text-align: right;
}

.admin-table .is-negative {
    color: #e8a29b;
}

.admin-table .is-positive {
    color: #a8c9b7;
}

.admin-table-empty {
    padding: 35px !important;
    color: var(--ink-muted) !important;
    text-align: center !important;
}

.admin-table-selectable tbody tr {
    cursor: pointer;
}

.admin-table-selectable tbody tr:hover,
.admin-table-selectable tbody tr.is-selected {
    background: rgba(65, 96, 112, 0.09);
}

.admin-table-selectable tbody tr.is-selected {
    box-shadow: inset 2px 0 var(--gold);
}

.admin-content-preview {
    display: grid;
    gap: 8px;
}

.admin-content-preview > div {
    padding: 20px;
    border: 1px solid var(--line-strong);
    background: linear-gradient(135deg, rgba(199, 164, 104, 0.06), rgba(39, 79, 104, 0.05));
}

.admin-content-preview > div > span {
    color: var(--gold-bright);
    font-size: 8px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.admin-content-preview h3 {
    margin: 7px 0 10px;
    font-size: 24px;
}

.admin-content-preview > div > p {
    margin: 0;
    color: var(--ink-soft);
    font-size: 12px;
    line-height: 1.75;
    white-space: pre-wrap;
}

.admin-catalogue-list > header,
.admin-prompt-families > header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    padding: 17px;
    border-bottom: 1px solid var(--line);
}

.admin-catalogue-list > header h2,
.admin-prompt-families > header h2 {
    font-size: 22px;
}

.admin-readonly-detail {
    display: grid;
    gap: 16px;
    padding: 18px 17px;
}

.admin-readonly-note {
    padding: 14px;
    border-left: 1px solid var(--gold-deep);
    background: rgba(199, 164, 104, 0.04);
}

.admin-readonly-note p {
    margin: 6px 0 0;
    color: var(--ink-soft);
    font-size: 11px;
    white-space: pre-wrap;
}

.admin-dashboard-intro {
    display: grid;
    gap: 20px;
    margin-bottom: 18px;
    padding: 24px 20px;
    border: 1px solid var(--line-strong);
    background:
        linear-gradient(110deg, rgba(199, 164, 104, 0.08), transparent 45%),
        rgba(9, 19, 29, 0.68);
}

.admin-dashboard-intro h2 {
    margin-bottom: 6px;
    font-size: 30px;
}

.admin-dashboard-intro p:not(.admin-eyebrow) {
    margin: 0;
    color: var(--ink-muted);
    font-size: 11px;
}

.admin-dashboard-status {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}

.admin-dashboard-status div {
    display: grid;
}

.admin-dashboard-status strong {
    color: var(--ink);
    font-family: var(--serif);
    font-size: 14px;
    font-weight: 400;
}

.admin-dashboard-status small {
    color: var(--ink-muted);
    font-size: 8px;
}

.admin-dashboard-grid {
    display: grid;
    gap: 10px;
}

.admin-dashboard-card {
    position: relative;
    display: grid;
    min-height: 210px;
    align-content: space-between;
    gap: 24px;
    overflow: hidden;
    padding: 21px;
    border: 1px solid var(--line);
    color: var(--ink);
    background: rgba(9, 19, 29, 0.58);
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.admin-dashboard-card:hover {
    transform: translateY(-2px);
    border-color: var(--line-strong);
    background: rgba(13, 27, 39, 0.76);
}

.admin-dashboard-card::after {
    position: absolute;
    right: -55px;
    bottom: -65px;
    width: 150px;
    height: 150px;
    content: "";
    border: 1px solid rgba(199, 164, 104, 0.08);
    transform: rotate(45deg);
}

.admin-dashboard-card-index {
    position: absolute;
    top: 18px;
    right: 18px;
    color: rgba(199, 164, 104, 0.35);
    font: 600 9px var(--sans);
    letter-spacing: 0.12em;
}

.admin-dashboard-card h2 {
    margin: 0 0 9px;
    font-size: 25px;
}

.admin-dashboard-card p:not(.admin-eyebrow) {
    margin: 0;
    color: var(--ink-muted);
    font-size: 10px;
    line-height: 1.65;
}

.admin-dashboard-card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    color: var(--ink-soft);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.admin-dashboard-card-action b {
    color: var(--gold-bright);
    font-family: var(--serif);
    font-size: 20px;
    font-weight: 400;
}

.admin-operations-note {
    display: grid;
    gap: 24px;
    margin-top: 28px;
    padding: 26px 20px;
    border-block: 1px solid var(--line);
}

.admin-operations-note h2 {
    margin: 0;
    font-size: 27px;
}

.admin-operations-points {
    display: grid;
    gap: 15px;
}

.admin-operations-points p {
    display: grid;
    gap: 3px;
    margin: 0;
}

.admin-operations-points strong {
    color: var(--ink);
    font-family: var(--serif);
    font-size: 14px;
    font-weight: 400;
}

.admin-operations-points span {
    color: var(--ink-muted);
    font-size: 9px;
    line-height: 1.55;
}

.admin-prompt-families {
    align-self: start;
}

.admin-prompt-families > header {
    display: block;
}

.admin-prompt-families > .admin-search-field {
    margin: 12px;
}

.admin-prompt-family-list {
    display: grid;
    max-height: 520px;
    overflow: auto;
    border-top: 1px solid var(--line);
    scrollbar-color: rgba(199, 164, 104, 0.42) transparent;
    scrollbar-width: thin;
}

.admin-prompt-family-list button {
    display: grid;
    gap: 3px;
    padding: 13px;
    border: 0;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.admin-prompt-family-list button:hover,
.admin-prompt-family-list button.is-selected {
    background: rgba(65, 96, 112, 0.1);
}

.admin-prompt-family-list button.is-selected {
    box-shadow: inset 2px 0 var(--gold);
}

.admin-prompt-family-list strong {
    font-family: var(--serif);
    font-size: 14px;
    font-weight: 400;
}

.admin-prompt-family-list small {
    overflow: hidden;
    color: var(--ice);
    font: 8px Consolas, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-prompt-family-list button > span {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 4px;
}

.admin-prompt-family-list em {
    color: var(--ink-muted);
    font-size: 7px;
    font-style: normal;
    text-transform: uppercase;
}

.admin-version-strip {
    display: flex;
    overflow-x: auto;
    border-bottom: 1px solid var(--line);
    scrollbar-color: rgba(199, 164, 104, 0.42) transparent;
    scrollbar-width: thin;
}

.admin-version-strip button {
    display: grid;
    min-width: 110px;
    gap: 1px;
    padding: 12px;
    border: 0;
    border-right: 1px solid var(--line);
    color: var(--ink);
    background: rgba(3, 9, 14, 0.25);
    text-align: left;
    cursor: pointer;
}

.admin-version-strip button.is-selected {
    background: rgba(199, 164, 104, 0.08);
    box-shadow: inset 0 -2px var(--gold);
}

.admin-version-strip button > span {
    color: var(--gold-bright);
    font-family: var(--serif);
    font-size: 17px;
}

.admin-version-strip strong,
.admin-version-strip small {
    color: var(--ink-muted);
    font-size: 7px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.admin-prompt-editor > header {
    display: grid;
    gap: 15px;
    padding: 18px 17px 0;
}

.admin-prompt-editor h3 {
    margin: 8px 0 4px;
    font-size: 22px;
    overflow-wrap: anywhere;
}

.admin-prompt-editor header p {
    margin: 0;
    color: var(--ink-muted);
    font-size: 10px;
}

.admin-prompt-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.admin-placeholder-list {
    display: grid;
    gap: 7px;
}

.admin-placeholder-list > div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.admin-placeholder-list code {
    padding: 4px 6px;
    border: 1px solid rgba(136, 175, 195, 0.25);
    color: var(--ice);
    background: rgba(39, 79, 104, 0.09);
    font-size: 8px;
}

.admin-placeholder-list em {
    color: var(--ink-muted);
    font-size: 9px;
}

.admin-prompt-content-field textarea {
    min-height: 440px;
    font: 11px/1.55 Consolas, "Courier New", monospace;
    tab-size: 4;
}

.admin-prompt-audit code {
    overflow: hidden;
    color: var(--ice);
    font: 9px Consolas, monospace;
    text-overflow: ellipsis;
}

.admin-dialog-backdrop {
    position: fixed;
    z-index: 180;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 16px;
    background: rgba(1, 5, 8, 0.82);
    backdrop-filter: blur(9px);
}

.admin-dialog {
    display: grid;
    width: min(520px, 100%);
    gap: 13px;
    padding: 23px;
    border: 1px solid var(--line-strong);
    color: var(--ink);
    background: #09131d;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.65);
}

.admin-dialog h2 {
    margin: 0;
    font-size: 27px;
}

.admin-dialog > p:not(.admin-eyebrow) {
    margin: 0;
    color: var(--ink-soft);
    font-size: 11px;
    line-height: 1.65;
}

.admin-dialog-detail {
    padding: 11px 0 0;
    border-top: 1px solid var(--line);
    color: var(--ink-muted) !important;
}

.admin-dialog-actions {
    justify-content: flex-end;
    margin-top: 5px;
}

.admin-dialog-actions .admin-button {
    flex: 1 1 150px;
}

.admin-access-state {
    display: grid;
    min-height: calc(100dvh - var(--header-height));
    place-items: center;
    padding: 28px 18px;
}

.admin-access-state > .admin-loading-state {
    width: min(560px, 100%);
}

.admin-access-card {
    width: min(630px, 100%);
    padding: clamp(28px, 7vw, 52px);
    border: 1px solid var(--line-strong);
    background: rgba(9, 19, 29, 0.78);
    text-align: center;
}

.admin-access-card h1 {
    margin-bottom: 15px;
    font-size: clamp(34px, 9vw, 49px);
    line-height: 1.05;
}

.admin-access-card > p:not(.admin-eyebrow) {
    margin-bottom: 23px;
    color: var(--ink-muted);
    font-size: 12px;
    line-height: 1.7;
}

.admin-access-actions {
    justify-content: center;
}

.admin-access-actions .admin-button {
    flex: 1 1 190px;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

@media (min-width: 620px) {
    .admin-main {
        padding: 38px 26px 80px;
    }

    .admin-topbar {
        padding-inline: 26px;
    }

    .admin-topbar-session {
        display: flex;
    }

    .admin-module-actions .admin-button,
    .admin-form-actions .admin-button,
    .admin-dialog-actions .admin-button {
        flex: 0 0 auto;
    }

    .admin-list-toolbar:not(.admin-list-toolbar-stacked) {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .admin-form-grid,
    .admin-switch-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-field-wide {
        grid-column: 1 / -1;
    }

    .admin-form-grid-three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-rate-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-dashboard-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-dashboard-intro {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .admin-dashboard-status {
        padding: 0 0 0 22px;
        border-top: 0;
        border-left: 1px solid var(--line);
    }

    .admin-detail-heading-actions,
    .admin-prompt-editor > header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
    }

    .admin-detail-heading-actions .admin-inline-actions,
    .admin-prompt-editor > header .admin-inline-actions {
        justify-content: flex-end;
    }

    .admin-fact-grid-four {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .admin-metric-grid-five {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .admin-prompt-audit {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-operations-note {
        grid-template-columns: minmax(200px, 0.7fr) minmax(0, 1.3fr);
        gap: 55px;
    }
}

@media (min-width: 860px) {
    .admin-module-header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
    }

    .admin-module-header h1 {
        font-size: 49px;
    }

    .admin-module-actions {
        justify-content: flex-end;
    }

    .admin-master-detail {
        grid-template-columns: minmax(260px, 0.36fr) minmax(0, 0.64fr);
    }

    .admin-master-detail-wide-list {
        grid-template-columns: minmax(290px, 0.4fr) minmax(0, 0.6fr);
    }

    .admin-record-list {
        max-height: calc(100dvh - 272px);
    }

    .admin-master-panel {
        position: sticky;
        top: 82px;
    }

    .admin-catalogue-layout {
        gap: 18px;
    }

    .admin-catalogue-list,
    .admin-catalogue-detail {
        min-height: 0;
    }

    .admin-prompt-layout {
        grid-template-columns: minmax(230px, 0.27fr) minmax(0, 0.73fr);
    }

    .admin-prompt-families {
        position: sticky;
        top: 82px;
    }

    .admin-rate-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .admin-form-actions-sticky {
        position: sticky;
        z-index: 10;
        bottom: 0;
        margin: 0 -17px -20px;
        padding: 13px 17px;
        border-top: 1px solid var(--line-strong);
        background: rgba(7, 16, 24, 0.96);
        backdrop-filter: blur(14px);
    }
}

@media (min-width: 1050px) {
    .admin-shell {
        display: grid;
        grid-template-columns: 235px minmax(0, 1fr);
    }

    .admin-rail {
        position: sticky;
        top: 0;
        display: grid;
        height: 100dvh;
        grid-template-rows: auto minmax(0, 1fr) auto;
        overflow: clip;
        border-right: 1px solid var(--line);
        background:
            linear-gradient(180deg, rgba(199, 164, 104, 0.035), transparent 26%),
            #071018;
    }

    .admin-rail-brand {
        display: grid;
        gap: 0;
        padding: 21px 20px 19px;
        border-bottom: 1px solid var(--line);
        color: var(--ink);
        text-decoration: none;
    }

    .admin-rail-brand span {
        color: var(--gold-bright);
        font: 600 8px var(--sans);
        letter-spacing: 0.14em;
        text-transform: uppercase;
    }

    .admin-rail-brand strong {
        font-family: var(--serif);
        font-size: 20px;
        font-weight: 400;
    }

    .admin-rail-navigation {
        overflow-y: auto;
        padding: 15px 11px;
        scrollbar-width: none;
    }

    .admin-rail-navigation::-webkit-scrollbar {
        display: none;
    }

    .admin-rail-navigation section + section {
        margin-top: 18px;
        padding-top: 14px;
        border-top: 1px solid var(--line);
    }

    .admin-rail-navigation section > p {
        margin: 0 9px 6px;
        color: var(--ink-muted);
        font-size: 7px;
        font-weight: 600;
        letter-spacing: 0.14em;
        text-transform: uppercase;
    }

    .admin-rail-navigation a {
        position: relative;
        display: flex;
        min-height: 37px;
        align-items: center;
        padding: 8px 10px 8px 15px;
        color: var(--ink-muted);
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-decoration: none;
    }

    .admin-rail-navigation a::before {
        position: absolute;
        top: 11px;
        bottom: 11px;
        left: 0;
        width: 1px;
        content: "";
        background: transparent;
    }

    .admin-rail-navigation a:hover {
        color: var(--ink);
        background: rgba(255, 255, 255, 0.025);
    }

    .admin-rail-navigation a.is-active {
        color: var(--gold-bright);
        background: linear-gradient(90deg, rgba(199, 164, 104, 0.09), transparent);
    }

    .admin-rail-navigation a.is-active::before {
        background: var(--gold);
    }

    .admin-rail-footer {
        position: sticky;
        z-index: 1;
        bottom: 0;
        display: grid;
        padding: 12px;
        border-top: 1px solid var(--line);
        background: #071018;
    }

    .admin-rail-account {
        display: grid;
        min-height: 50px;
        grid-template-columns: 50px minmax(0, 1fr);
        align-items: stretch;
        gap: 0;
        overflow: hidden;
        border: 1px solid var(--line);
        color: var(--ink);
        text-decoration: none;
    }

    .admin-user-artwork {
        width: 50px;
        min-height: 48px;
    }

    .admin-rail-account-copy {
        display: grid;
        min-width: 0;
        align-content: center;
        padding: 7px 9px;
    }

    .admin-rail-footer small {
        color: var(--ink-muted);
        font-size: 7px;
        text-transform: uppercase;
    }

    .admin-rail-footer strong {
        overflow: hidden;
        font-family: var(--serif);
        font-size: 12px;
        font-weight: 400;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-return-link {
        padding: 9px 7px 3px;
        border-top: 1px solid var(--line);
        color: var(--ink-muted);
        font-size: 7px;
        font-weight: 600;
        letter-spacing: 0.1em;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
    }

    .admin-topbar {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

    .admin-mobile-navigation {
        display: none;
    }

    .admin-main {
        width: min(1440px, 100%);
        margin-inline: auto;
        padding: 45px 38px 90px;
    }

    .admin-dashboard-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-topbar-location small {
        font-size: 8px;
    }

    .admin-topbar-location strong {
        font-size: 17px;
    }
}

@media (min-width: 1320px) {
    .admin-shell {
        grid-template-columns: 255px minmax(0, 1fr);
    }

    .admin-main {
        padding-inline: 48px;
    }

    .admin-master-detail {
        grid-template-columns: minmax(300px, 0.31fr) minmax(0, 0.69fr);
    }

    .admin-master-detail-wide-list {
        grid-template-columns: minmax(330px, 0.34fr) minmax(0, 0.66fr);
    }

    .admin-form,
    .admin-detail-heading,
    .admin-readonly-detail,
    .admin-prompt-editor > header {
        padding-right: 23px;
        padding-left: 23px;
    }

    .admin-form-actions-sticky {
        margin-right: -23px;
        margin-left: -23px;
        padding-right: 23px;
        padding-left: 23px;
    }

    .admin-catalogue-layout {
        grid-template-columns: minmax(0, 1.12fr) minmax(400px, 0.88fr);
        align-items: start;
    }

    .admin-catalogue-detail {
        position: sticky;
        top: 82px;
    }

    .admin-prompt-layout {
        grid-template-columns: minmax(260px, 0.24fr) minmax(0, 0.76fr);
    }
}

@media (max-width: 859px) {
    .admin-master-detail > .admin-detail-panel:has(.admin-detail-heading),
    .admin-catalogue-layout > .admin-catalogue-detail:has(.admin-detail-heading) {
        order: -1;
    }
}

@media (max-width: 619px) {
    .admin-main {
        overflow: hidden;
    }

    .admin-master-panel,
    .admin-detail-panel,
    .admin-catalogue-list,
    .admin-catalogue-detail,
    .admin-prompt-families,
    .admin-prompt-workspace,
    .admin-section-tabs {
        margin-right: -16px;
        margin-left: -16px;
        border-right: 0;
        border-left: 0;
    }

    .admin-module-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .admin-inline-actions {
        width: 100%;
    }

    .admin-inline-actions .admin-button {
        flex: 1 1 130px;
    }

    .admin-record-list {
        max-height: 390px;
    }

    .admin-form-grid-three {
        grid-template-columns: 1fr;
    }

    .admin-fact-grid-four,
    .admin-metric-grid-five {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-table {
        min-width: 620px;
    }

    .admin-dialog-backdrop {
        padding: 0;
    }

    .admin-dialog {
        width: 100%;
        align-self: end;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-dashboard-card,
    .admin-button {
        transition: none;
    }
}

@keyframes admin-spin {
    to { transform: rotate(360deg); }
}
