html[data-area="admin"] {
    --admin-canvas: oklch(96.5% .009 255);
    --admin-surface: oklch(99.1% .004 255);
    --admin-surface-muted: oklch(94.7% .012 255);
    --admin-ink: oklch(25% .045 258);
    --admin-muted: oklch(51% .035 258);
    --admin-line: oklch(87% .018 255);
    --admin-line-strong: oklch(79% .026 255);
    --admin-focus: oklch(61% .19 257);
}

html[data-area="admin"] body {
    background-color: var(--admin-canvas);
    background-image:
        linear-gradient(to right, color-mix(in oklch, var(--admin-line) 38%, transparent) 1px, transparent 1px),
        linear-gradient(to bottom, color-mix(in oklch, var(--admin-line) 24%, transparent) 1px, transparent 1px);
    background-size: 4rem 4rem;
    color: var(--admin-ink);
}

html[data-area="admin"] .site-noise,
html[data-area="admin"] .wa-float,
html[data-area="admin"] .site-footer { display: none; }

html[data-area="admin"] .site-header {
    height: 4.25rem;
    border-bottom-color: var(--admin-line);
    background: var(--admin-surface);
    backdrop-filter: none;
}

html[data-area="admin"] .brand__mark {
    width: 2rem;
    height: 2rem;
    filter: none;
}

html[data-area="admin"] .brand__sub { display: none; }
html[data-area="admin"] .site-nav__link { font-size: .84rem; }
html[data-area="admin"] .nav-account { min-height: 2.5rem; padding: .5rem .8rem; background: var(--admin-surface-muted); }

html[data-area="admin"] .admin-page,
html[data-area="admin"] .editor-page {
    min-height: calc(100dvh - 4.25rem);
    padding-block: 1.5rem 5rem;
}

html[data-area="admin"] .admin-hero {
    min-height: 10.5rem;
    align-items: flex-end;
    padding: 1rem 0 1.65rem;
    border-bottom: 1px solid var(--admin-line-strong);
}

html[data-area="admin"] .admin-hero > div { max-width: 47rem; }
html[data-area="admin"] .admin-hero .display-title,
html[data-area="admin"] .editor-header .display-title {
    margin-top: .45rem;
    color: var(--admin-ink);
    font-size: 2.75rem;
    line-height: 1;
    letter-spacing: -.052em;
}

html[data-area="admin"] .admin-hero > div > p:last-child,
html[data-area="admin"] .editor-header > div > p:last-child {
    max-width: 62ch;
    margin-top: .75rem;
    color: var(--admin-muted);
    font-size: .94rem;
}

.admin-commandbar {
    position: sticky;
    top: 4.25rem;
    z-index: 35;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: stretch;
    margin: .75rem 0 1.75rem;
    border: 1px solid var(--admin-line);
    border-radius: .9rem;
    background: var(--admin-surface);
    box-shadow: 0 .35rem 1.25rem color-mix(in oklch, var(--navy-950) 7%, transparent);
}

.admin-commandbar__identity {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 12.5rem;
    padding: .65rem .85rem;
    border-right: 1px solid var(--admin-line);
}

.admin-commandbar__monogram {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: .55rem;
    background: var(--navy);
    color: var(--paper);
    font-size: .66rem;
    font-weight: 600;
}

.admin-commandbar__identity > span:last-child { display: grid; line-height: 1.15; }
.admin-commandbar__identity strong { font-size: .78rem; }
.admin-commandbar__identity small { color: var(--admin-muted); font: 500 .56rem var(--font-mono); letter-spacing: .025em; }

.admin-commandbar .admin-tabs {
    display: flex;
    align-items: center;
    gap: .25rem;
    min-width: 0;
    margin: 0;
    padding: .45rem;
    overflow-x: auto;
    border: 0;
    scrollbar-width: thin;
}

.admin-commandbar .admin-tabs a {
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: .45rem;
    min-height: 2.4rem;
    padding: .55rem .72rem;
    border-radius: .55rem;
    color: var(--admin-muted);
    font-size: .78rem;
    font-weight: 600;
    transition: color .18s var(--ease), background-color .18s var(--ease), transform .18s var(--ease);
}

.admin-commandbar .admin-tabs a::after { display: none; }
.admin-commandbar .admin-tabs a .mono { color: var(--slate-400); font-size: .55rem; }
.admin-commandbar .admin-tabs a:hover { color: var(--admin-ink); background: var(--admin-surface-muted); }
.admin-commandbar .admin-tabs a:active { transform: translateY(1px); }
.admin-commandbar .admin-tabs a.is-active { color: var(--paper); background: var(--navy); }
.admin-commandbar .admin-tabs a.is-active .mono { color: var(--blue-400); }

html[data-area="admin"] .btn {
    min-height: 2.75rem;
    border-radius: .65rem;
    font-size: .86rem;
    box-shadow: none;
}

html[data-area="admin"] .btn:hover { transform: translateY(-1px); }
html[data-area="admin"] .btn:disabled { cursor: not-allowed; opacity: .48; transform: none; }
html[data-area="admin"] .btn--primary { box-shadow: 0 .45rem 1.1rem color-mix(in oklch, var(--blue) 20%, transparent); }
html[data-area="admin"] .btn--compact { min-height: 2.35rem; padding: .45rem .75rem; font-size: .78rem; }

.support-ticket-list { display: grid; gap: 1rem; }
.support-ticket { overflow: hidden; border: 1px solid var(--admin-line); border-left: .25rem solid var(--admin-line-strong); border-radius: .9rem; background: var(--admin-surface); box-shadow: var(--shadow-sm); }
.support-ticket--p1 { border-left-color: #c63c3c; }
.support-ticket--p2 { border-left-color: #d67a22; }
.support-ticket--p3 { border-left-color: #3f77bc; }
.support-ticket--p4 { border-left-color: #738178; }
.support-ticket > header, .support-ticket > footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .8rem 1rem; background: var(--admin-surface-muted); }
.support-ticket > header time { color: var(--admin-muted); font-size: .67rem; }
.support-ticket > header > div, .support-ticket > footer { display: flex; gap: .55rem; }
.support-ticket__severity { display: inline-grid; place-items: center; min-width: 2.2rem; min-height: 1.65rem; border-radius: .4rem; color: var(--paper); background: var(--navy); font-size: .65rem; }
.support-ticket__heading { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.2rem .7rem; }
.support-ticket__heading h2 { margin-top: .35rem; font-size: 1.2rem; }
.support-ticket__heading > span { display: grid; flex: none; text-align: right; }
.support-ticket__heading small { margin-top: .2rem; color: var(--admin-muted); }
.support-ticket__message { max-width: 80ch; margin: 0; padding: 0 1.2rem 1rem; white-space: pre-wrap; }
.support-ticket__context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 1.2rem 1.2rem; border-top: 1px solid var(--admin-line); }
.support-ticket__context div { min-width: 0; padding: .75rem 0; border-bottom: 1px solid var(--admin-line); }
.support-ticket__context div:nth-child(odd) { padding-right: 1rem; }
.support-ticket__context dt { color: var(--admin-muted); font-size: .65rem; text-transform: uppercase; letter-spacing: .07em; }
.support-ticket__context dd { margin: .25rem 0 0; overflow-wrap: anywhere; font-size: .8rem; }
.support-ticket > footer { justify-content: flex-end; }
.support-csat-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.support-csat-summary > div { display: grid; gap: .25rem; padding: 1rem; border: 1px solid var(--admin-line); border-radius: .8rem; background: var(--admin-surface); }
.support-csat-summary span, .support-csat-summary p { color: var(--admin-muted); font-size: .68rem; }
.support-csat-summary strong { font-size: 1.3rem; }
.support-csat-summary p { grid-column: 1 / -1; margin: 0; }
.support-ticket__rating { display: grid; gap: .45rem; margin: 0 1.2rem 1.2rem; padding: .9rem 1rem; border: 1px solid color-mix(in oklch, var(--admin-focus) 25%, var(--admin-line)); border-radius: .75rem; background: color-mix(in oklch, var(--admin-focus) 6%, var(--admin-surface)); }
.support-ticket__rating > div { display: flex; align-items: center; gap: .7rem; }
.support-ticket__stars { color: #b76b00; letter-spacing: .08em; }
.support-ticket__rating blockquote { margin: 0; font-size: .82rem; }
.support-ticket__rating small { color: var(--admin-muted); }
.support-conversation { display: grid; gap: .65rem; margin: 0 1.2rem 1.2rem; padding-top: 1rem; border-top: 1px solid var(--admin-line); }
.support-conversation > h3 { margin: 0 0 .15rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.support-conversation__item { width: min(82%, 46rem); padding: .8rem .9rem; border: 1px solid var(--admin-line); border-radius: .75rem; background: var(--admin-surface-muted); }
.support-conversation__item--support { justify-self: end; border-color: color-mix(in oklch, var(--admin-focus) 28%, var(--admin-line)); background: color-mix(in oklch, var(--admin-focus) 7%, var(--admin-surface)); }
.support-conversation__item header { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.support-conversation__item header strong { font-size: .75rem; }
.support-conversation__item header span, .support-conversation__item time { color: var(--admin-muted); font-size: .61rem; }
.support-conversation__item p { margin: .45rem 0; white-space: pre-wrap; font-size: .78rem; line-height: 1.55; }
.support-conversation__item time { display: block; text-align: right; }
.support-reply { display: grid; gap: .6rem; padding: 1rem 1.2rem 1.2rem; border-top: 1px solid var(--admin-line); }
.support-reply label { font-size: .72rem; font-weight: 700; }
.support-reply textarea { min-height: 6rem; padding: .75rem; resize: vertical; border: 1px solid var(--admin-line-strong); border-radius: .65rem; color: var(--admin-ink); background: var(--admin-surface); font: inherit; }
.support-reply textarea:focus { outline: 2px solid var(--admin-focus); outline-offset: 1px; }
.support-reply > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.support-reply small { color: var(--admin-muted); }

@media (max-width: 640px) {
    .support-ticket > header, .support-ticket__heading { align-items: flex-start; flex-direction: column; }
    .support-ticket__heading > span { text-align: left; }
    .support-ticket__context { grid-template-columns: 1fr; }
    .support-ticket__context div:nth-child(odd) { padding-right: 0; }
    .support-ticket > footer { align-items: stretch; flex-direction: column; }
    .support-ticket > footer form, .support-ticket > footer button { width: 100%; }
    .support-conversation__item { width: 100%; }
    .support-csat-summary { grid-template-columns: 1fr; }
    .support-csat-summary p { grid-column: auto; }
    .support-ticket__rating > div { align-items: flex-start; flex-direction: column; }
    .support-reply > div { align-items: stretch; flex-direction: column; }
    .support-reply button { width: 100%; }
}

html[data-area="admin"] .admin-summary {
    margin-top: 1.5rem;
    border: 1px solid var(--admin-line);
    border-radius: .9rem;
    background: var(--admin-surface);
    box-shadow: var(--shadow-sm);
}

html[data-area="admin"] .admin-summary div { padding: 1rem 1.2rem; }
html[data-area="admin"] .admin-summary div + div { border-left-color: var(--admin-line); }
html[data-area="admin"] .admin-summary span { color: var(--navy); font-size: 1.5rem; font-variant-numeric: tabular-nums; }
html[data-area="admin"] .admin-summary--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
html[data-area="admin"] .admin-summary .has-attention span,
html[data-area="admin"] .admin-summary .has-attention small { color: var(--danger); }

html[data-area="admin"] .alert {
    display: flex;
    align-items: center;
    min-height: 3.25rem;
    margin-bottom: 1rem;
    border-radius: .7rem;
    font-size: .82rem;
}

html[data-area="admin"] .admin-list { gap: .5rem; }

.control-plane {
    margin-top: 1.25rem;
    overflow: hidden;
    border: 1px solid var(--admin-line);
    border-radius: .9rem;
    background: var(--admin-surface);
    box-shadow: var(--shadow-sm);
}

.control-plane__heading {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    align-items: flex-end;
    padding: 1.25rem 1.35rem;
    border-bottom: 1px solid var(--admin-line);
}

.control-plane__heading h2 { margin-top: .25rem; font-size: 1.35rem; letter-spacing: -.035em; }
.control-plane__heading > p { max-width: 35ch; color: var(--admin-muted); font-size: .76rem; text-align: right; }
.control-plane__labels,
.control-row {
    display: grid;
    grid-template-columns: minmax(11rem, 1.2fr) minmax(11rem, 1.25fr) minmax(9rem, 1fr) minmax(9rem, .9fr) minmax(8rem, .75fr) minmax(9rem, auto);
    gap: 1rem;
    align-items: center;
}

.control-plane__labels {
    padding: .65rem 1.35rem;
    color: var(--admin-muted);
    background: var(--admin-surface-muted);
    font-size: .58rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.control-row { min-height: 7rem; padding: 1rem 1.35rem; }
.control-row + .control-row { border-top: 1px solid var(--admin-line); }
.control-row.has-attention { box-shadow: inset .2rem 0 0 var(--danger); }
.control-row__product { display: flex; gap: .75rem; align-items: center; min-width: 0; }
.control-row__product > div,
.control-cell { display: grid; gap: .28rem; min-width: 0; }
.control-row__product strong,
.control-cell strong { overflow-wrap: anywhere; font-size: .78rem; line-height: 1.35; }
.control-row__product small,
.control-cell small { overflow: hidden; color: var(--admin-muted); font-size: .64rem; line-height: 1.45; text-overflow: ellipsis; }
.control-cell__label { display: none; text-transform: uppercase; letter-spacing: .06em; }
.control-state--ready { color: var(--success); }
.control-state--failed { color: var(--danger); }
.control-state--pending,
.control-state--validating,
.control-state--deploying { color: var(--blue-700); }
.control-row__action { display: grid; justify-items: stretch; gap: .35rem; min-width: 9rem; text-align: center; }
.control-row__action form { margin: 0; }
.control-row__delete { padding: .25rem; border: 0; color: var(--danger); background: transparent; font: 600 .7rem var(--font-body); cursor: pointer; }
.control-row__delete:hover { text-decoration: underline; text-underline-offset: .2rem; }
html[data-area="admin"] .admin-item {
    grid-template-columns: minmax(16rem, 1.4fr) minmax(10rem, .55fr) minmax(7rem, .4fr) auto;
    gap: 1.2rem;
    padding: 1rem 1.1rem;
    border-radius: .8rem;
    background: var(--admin-surface);
}

html[data-area="admin"] .admin-item:hover {
    transform: none;
    border-color: var(--admin-line-strong);
    box-shadow: 0 .45rem 1.3rem color-mix(in oklch, var(--navy-950) 7%, transparent);
}

html[data-area="admin"] .specialty-admin-grid { gap: .75rem; }
html[data-area="admin"] .specialty-admin-card {
    min-height: 16rem;
    border-radius: .8rem;
    background: var(--admin-surface);
}

html[data-area="admin"] .message-list { gap: .55rem; }
html[data-area="admin"] .message-card {
    gap: 1rem;
    padding: 1.2rem;
    border: 1px solid var(--admin-line);
    border-radius: .8rem;
    background: var(--admin-surface);
    box-shadow: inset .2rem 0 0 color-mix(in oklch, var(--blue) 22%, transparent);
}

html[data-area="admin"] .message-card.is-handled {
    border-color: var(--admin-line);
    box-shadow: none;
}

html[data-area="admin"] .form-section,
html[data-area="admin"] .form-card {
    border-radius: .9rem;
    background: var(--admin-surface);
    box-shadow: var(--shadow-sm);
}

html[data-area="admin"] .editor-header { margin-bottom: 2rem; }
html[data-area="admin"] .form-actions--sticky { background: var(--admin-surface); backdrop-filter: none; }

.credential-reveal {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1.25rem;
    border: 1px solid color-mix(in oklch, var(--blue) 34%, var(--admin-line));
    border-radius: .9rem;
    background: color-mix(in oklch, var(--blue) 5%, var(--admin-surface));
    box-shadow: var(--shadow-sm);
}
.credential-reveal h2 { margin-top: .25rem; font-size: 1.15rem; }
.credential-reveal p:last-child { max-width: 70ch; margin-top: .35rem; color: var(--admin-muted); font-size: .75rem; }
.credential-reveal__value { display: flex; gap: .65rem; min-width: 0; }
.credential-reveal__value input { flex: 1; min-width: 0; }
.integration-key-status {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .9rem 1rem;
    border: 1px solid color-mix(in oklch, var(--success) 26%, var(--admin-line));
    border-radius: .7rem;
    background: color-mix(in oklch, var(--success) 5%, var(--admin-surface));
}
.integration-key-status__icon { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--success); color: white; font-weight: 800; }
.integration-key-status > span:last-child { display: grid; gap: .2rem; }
.integration-key-status small { color: var(--admin-muted); font-size: .64rem; }
.integration-key-status--empty { border-color: var(--admin-line); background: color-mix(in oklch, var(--admin-muted) 4%, var(--admin-surface)); }
.integration-key-status--empty .integration-key-status__icon { background: var(--admin-muted); }

@media (max-width: 620px) {
    .credential-reveal { padding: 1rem; }
    .credential-reveal__value { align-items: stretch; flex-direction: column; }
    .credential-reveal__value .btn { width: 100%; }
}

.provisioning-overview {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1.5rem;
    margin: -.75rem 0 1.5rem;
    color: var(--admin-muted);
    font-size: .65rem;
}

.provisioning-overview span { display: inline-flex; align-items: baseline; gap: .4rem; }
.provisioning-overview strong { color: var(--admin-ink); font-size: .82rem; }
.provisioning-overview .has-attention,
.provisioning-overview .has-attention strong { color: var(--danger); }

.integration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    margin: 1.25rem 0;
    border: 1px solid var(--admin-line);
    border-radius: .9rem;
    background: var(--admin-surface);
    box-shadow: var(--shadow-sm);
}

.integration-panel { display: grid; grid-template-rows: auto 1fr auto; min-width: 0; }
.integration-panel + .integration-panel { border-left: 1px solid var(--admin-line); }
.integration-panel > header,
.integration-panel > footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: 1.15rem 1.25rem;
}

.integration-panel > header { border-bottom: 1px solid var(--admin-line); }
.integration-panel > header h2 { margin-top: .2rem; font-size: 1.2rem; letter-spacing: -.035em; }
.integration-panel > footer { align-items: flex-end; min-height: 5.3rem; border-top: 1px solid var(--admin-line); }
.integration-panel > footer p { max-width: 36ch; color: var(--admin-muted); font-size: .75rem; }
.integration-panel > footer form { flex: none; margin: 0; }

.integration-facts { margin: 0; }
.integration-facts div {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr);
    gap: 1rem;
    padding: .75rem 1.25rem;
}

.integration-facts div + div { border-top: 1px solid var(--admin-line); }
.integration-facts dt { color: var(--admin-muted); font-size: .72rem; }
.integration-facts dd { overflow-wrap: anywhere; font-size: .76rem; text-align: right; }

.provisioning-workspace,
.provisioning-history {
    margin-top: 1.25rem;
    overflow: hidden;
    border: 1px solid var(--admin-line);
    border-radius: .9rem;
    background: var(--admin-surface);
    box-shadow: var(--shadow-sm);
}

.provisioning-history { margin-top: 2rem; }
.provisioning-section-heading {
    display: grid;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    gap: .9rem;
    padding: 1.25rem 1.35rem;
    border-bottom: 1px solid var(--admin-line);
}

.provisioning-section-heading > .mono { padding-top: .2rem; color: var(--blue); font-size: .65rem; }
.provisioning-section-heading h2 { margin-top: .2rem; font-size: 1.35rem; letter-spacing: -.035em; }
.provisioning-section-heading div > p:last-child { max-width: 68ch; margin-top: .3rem; color: var(--admin-muted); font-size: .82rem; }
.provisioning-form { padding: 1.35rem; }
.provisioning-form .form-grid { margin-top: 1rem; }
.provisioning-form__action {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: center;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--admin-line);
}

.provisioning-form__action p { max-width: 58ch; color: var(--admin-muted); font-size: .65rem; }
.provisioning-form__action p[data-state="loading"]::before {
    content: "";
    display: inline-block;
    width: .65rem;
    height: .65rem;
    margin-right: .45rem;
    border: 1px solid var(--admin-line-strong);
    border-top-color: var(--blue);
    border-radius: 50%;
    animation: admin-spin .75s linear infinite;
}
.provisioning-form__action p[data-state="success"] { color: var(--success); }
.provisioning-form__action p[data-state="error"] { color: var(--danger); }
.provisioning-form__action .btn { flex: none; }
.provisioning-list { display: grid; }
.provisioning-item { padding: 1.25rem 1.35rem; }
.provisioning-item + .provisioning-item { border-top: 1px solid var(--admin-line); }
.provisioning-item > header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.provisioning-item h3 { font-size: 1rem; letter-spacing: -.02em; }
.provisioning-item header p { margin-top: .2rem; color: var(--admin-muted); font-size: .63rem; }
.provisioning-item__state { display: flex; align-items: center; gap: .65rem; }
.provisioning-item__state time { color: var(--admin-muted); font-size: .6rem; }

.provisioning-metadata {
    display: grid;
    grid-template-columns: .7fr 1.4fr .55fr .7fr .7fr;
    gap: 1rem;
    margin: 1rem 0 0;
    padding: .8rem 1rem;
    border-radius: .65rem;
    background: var(--admin-surface-muted);
}

.provisioning-metadata div { min-width: 0; }
.provisioning-metadata dt { color: var(--admin-muted); font-size: .62rem; }
.provisioning-metadata dd { margin-top: .15rem; overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }

.provisioning-steps {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.provisioning-steps li {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .35rem .5rem;
    align-items: center;
    min-width: 0;
    color: var(--admin-muted);
    font-size: .65rem;
}

.provisioning-steps li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: .45rem;
    right: 0;
    left: 1.1rem;
    height: 1px;
    background: var(--admin-line-strong);
}

.provisioning-step__mark {
    position: relative;
    z-index: 1;
    width: .85rem;
    height: .85rem;
    border: 2px solid var(--admin-line-strong);
    border-radius: 50%;
    background: var(--admin-surface);
}

.provisioning-steps li > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.provisioning-steps small { grid-column: 2; color: var(--slate-400); font-size: .52rem; }
.provisioning-steps .step--success .provisioning-step__mark { border-color: var(--success); background: var(--success); box-shadow: inset 0 0 0 2px var(--admin-surface); }
.provisioning-steps .step--running .provisioning-step__mark { border-color: var(--blue); background: var(--blue-100); }
.provisioning-steps .step--failed .provisioning-step__mark { border-color: var(--danger); background: var(--danger); box-shadow: inset 0 0 0 2px var(--admin-surface); }
.provisioning-steps .step--skipped { opacity: .58; }

.provisioning-error {
    margin-top: 1rem;
    padding: .75rem .85rem;
    border: 1px solid color-mix(in oklch, var(--danger) 28%, var(--admin-line));
    border-radius: .6rem;
    color: var(--danger);
    background: var(--danger-soft);
    font-size: .75rem;
}

.provisioning-item__actions { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }
.provisioning-item__actions form { margin: 0; }
.status--ready { color: var(--success); background: var(--success-soft); }
.status--failed { color: var(--danger); background: var(--danger-soft); }
.status--validating,
.status--deploying,
.status--pending { color: var(--blue-700); background: var(--blue-100); }

@keyframes admin-spin { to { transform: rotate(1turn); } }

@media (max-width: 68rem) {
    .admin-commandbar { grid-template-columns: 1fr; }
    .admin-commandbar__identity { display: none; }
    html[data-area="admin"] .admin-item { grid-template-columns: minmax(15rem, 1fr) auto auto; }
    html[data-area="admin"] .admin-item__links { display: none; }
    .integration-panel > footer { align-items: flex-start; flex-direction: column; }
    .provisioning-steps { grid-template-columns: repeat(3, 1fr); gap: 1rem .5rem; }
    .control-plane__labels { display: none; }
    .control-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .control-cell__label { display: block; }
    .control-row__action { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; }
}

@media (max-width: 54rem) {
    html[data-area="admin"] .admin-hero { min-height: auto; align-items: flex-start; flex-direction: column; }
    html[data-area="admin"] .admin-hero .display-title,
    html[data-area="admin"] .editor-header .display-title { font-size: 2.25rem; }
    .integration-grid { grid-template-columns: 1fr; }
    .integration-panel + .integration-panel { border-top: 1px solid var(--admin-line); border-left: 0; }
    html[data-area="admin"] .admin-item { grid-template-columns: 1fr auto; }
    html[data-area="admin"] .admin-item__meta { justify-content: flex-end; }
    html[data-area="admin"] .admin-item__actions { grid-column: 1 / -1; justify-content: flex-start; padding-top: .75rem; border-top: 1px solid var(--admin-line); }
    .provisioning-metadata { grid-template-columns: 1fr 1fr; }
    .provisioning-metadata div:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 40rem) {
    html[data-area="admin"] .shell { width: min(calc(100% - 1.25rem), var(--shell)); }
    html[data-area="admin"] .admin-page,
    html[data-area="admin"] .editor-page { padding-top: .75rem; }
    html[data-area="admin"] .admin-hero { padding-bottom: 1.2rem; }
    html[data-area="admin"] .admin-hero .display-title,
    html[data-area="admin"] .editor-header .display-title { font-size: 2rem; }
    .admin-commandbar { top: 4.25rem; margin-top: .5rem; border-radius: .7rem; }
    .admin-commandbar .admin-tabs { padding: .35rem; }
    .admin-commandbar .admin-tabs a { min-height: 2.25rem; padding: .45rem .62rem; }
    .admin-commandbar .admin-tabs a .mono { display: none; }
    html[data-area="admin"] .admin-summary { grid-template-columns: 1fr; }
    html[data-area="admin"] .admin-summary div + div { border-top: 1px solid var(--admin-line); border-left: 0; }
    html[data-area="admin"] .admin-item { grid-template-columns: 1fr; }
    html[data-area="admin"] .admin-item__meta { justify-content: flex-start; }
    html[data-area="admin"] .message-card__content,
    html[data-area="admin"] .message-card > footer { padding-left: 0; }
    html[data-area="admin"] .message-card__header { grid-template-columns: auto 1fr; }
    html[data-area="admin"] .message-card__header time { grid-column: 2; }
    .integration-panel > header,
    .integration-panel > footer,
    .integration-facts div,
    .provisioning-section-heading,
    .provisioning-form,
    .provisioning-item { padding-right: 1rem; padding-left: 1rem; }
    .integration-facts div { grid-template-columns: 1fr; gap: .15rem; }
    .integration-facts dd { text-align: left; }
    .provisioning-form__action,
    .provisioning-item > header,
    .provisioning-item__state { align-items: flex-start; flex-direction: column; }
    .provisioning-form__action .btn { width: 100%; }
    .provisioning-metadata { grid-template-columns: 1fr; }
    .provisioning-metadata div:nth-child(2) { grid-column: auto; grid-row: auto; }
    .provisioning-steps { grid-template-columns: repeat(2, 1fr); }
    .provisioning-steps li::after { display: none; }
    .provisioning-item__actions { justify-content: stretch; flex-direction: column; }
    .provisioning-item__actions .btn,
    .provisioning-item__actions form { width: 100%; }
    .control-plane__heading { align-items: flex-start; flex-direction: column; gap: .75rem; }
    .control-plane__heading > p { text-align: left; }
    .control-row { grid-template-columns: minmax(0, 1fr); }
    .control-row__action { grid-column: auto; grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .admin-commandbar .admin-tabs a,
    html[data-area="admin"] .btn,
    html[data-area="admin"] .admin-item { transition: none; }
    .provisioning-form__action p[data-state="loading"]::before { animation: none; }
}

/* Admin application shell */
html[data-area="admin"] {
    --admin-sidebar-width: 17rem;
    --admin-topbar-height: 4.5rem;
    --admin-sidebar: oklch(20% .045 257);
    --admin-sidebar-raised: oklch(25% .052 257);
    --admin-sidebar-text: oklch(94% .012 255);
    --admin-sidebar-muted: oklch(70% .025 255);
}

html[data-area="admin"] body.admin-body {
    min-width: 20rem;
    background: var(--admin-canvas);
    overflow-x: hidden;
}

.admin-app { min-height: 100dvh; }

.admin-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 80;
    display: flex;
    flex-direction: column;
    width: var(--admin-sidebar-width);
    color: var(--admin-sidebar-text);
    background: var(--admin-sidebar);
}

.admin-sidebar__brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: var(--admin-topbar-height);
    padding: .75rem 1rem .75rem 1.15rem;
    border-bottom: 1px solid oklch(100% 0 0 / 9%);
}

.admin-sidebar__brand > a {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: var(--admin-sidebar-text);
}

.admin-sidebar__brand img { width: 2rem; height: 2rem; padding: .18rem; border-radius: .55rem; background: var(--paper); }
.admin-sidebar__brand > a > span { display: grid; line-height: 1.12; }
.admin-sidebar__brand strong { font-size: .92rem; letter-spacing: -.02em; }
.admin-sidebar__brand small {
    color: var(--admin-sidebar-muted);
    font: 500 .58rem/1.3 var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-sidebar__brand button {
    display: none;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: .65rem;
    color: var(--admin-sidebar-muted);
    background: transparent;
}

.admin-sidebar__brand button:hover { color: var(--admin-sidebar-text); background: oklch(100% 0 0 / 7%); }
.admin-sidebar__brand svg,
.admin-topbar svg,
.admin-side-nav svg,
.admin-sidebar__account svg,
.admin-security-note svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.admin-side-nav {
    flex: 1;
    min-height: 0;
    padding: 1rem .7rem 1.5rem;
    overflow-y: auto;
    scrollbar-color: oklch(100% 0 0 / 16%) transparent;
    scrollbar-width: thin;
}

.admin-side-nav__group + .admin-side-nav__group { margin-top: 1.25rem; }
.admin-side-nav__group > p {
    margin: 0 0 .35rem;
    padding: 0 .75rem;
    color: var(--admin-sidebar-muted);
    font: 600 .6rem/1.4 var(--font-mono);
    letter-spacing: .09em;
    text-transform: uppercase;
}

.admin-side-nav__group > a {
    display: flex;
    align-items: center;
    gap: .72rem;
    min-height: 2.55rem;
    margin-top: .12rem;
    padding: .56rem .72rem;
    border: 1px solid transparent;
    border-radius: .65rem;
    color: var(--admin-sidebar-muted);
    font-size: .82rem;
    font-weight: 600;
    transition: color 180ms cubic-bezier(.22, 1, .36, 1), background-color 180ms cubic-bezier(.22, 1, .36, 1), border-color 180ms cubic-bezier(.22, 1, .36, 1);
}

.admin-side-nav__group > a svg { flex: none; width: 1.08rem; height: 1.08rem; }
.admin-side-nav__group > a:hover { color: var(--admin-sidebar-text); background: oklch(100% 0 0 / 6%); }
.admin-side-nav__group > a:focus-visible { outline: 2px solid var(--blue-400); outline-offset: 2px; }
.admin-side-nav__group > a.is-active {
    color: var(--admin-sidebar-text);
    border-color: oklch(72% .13 255 / 22%);
    background: oklch(57% .17 257 / 18%);
}

.admin-side-nav__group > a.is-active svg { color: var(--blue-400); }
.admin-side-nav__group > a.admin-side-nav__sub {
    min-height: 2rem;
    margin-left: 2.55rem;
    padding: .35rem .6rem;
    color: var(--admin-sidebar-muted);
    font-size: .68rem;
    font-weight: 500;
}
.admin-side-nav__group > a.admin-side-nav__sub.is-active { color: var(--admin-sidebar-text); }

.admin-sidebar__footer {
    padding: .7rem;
    border-top: 1px solid oklch(100% 0 0 / 9%);
}

.admin-sidebar__account {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .7rem;
    align-items: center;
    padding: .68rem;
    border: 1px solid transparent;
    border-radius: .75rem;
    color: var(--admin-sidebar-text);
}

.admin-sidebar__account:hover,
.admin-sidebar__account.is-active { border-color: oklch(100% 0 0 / 10%); background: var(--admin-sidebar-raised); }
.admin-sidebar__account > span:first-child,
.admin-topbar__profile > span:first-child {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: .62rem;
    color: var(--admin-sidebar-text);
    background: var(--admin-focus);
    font-size: .74rem;
    font-weight: 700;
}

.admin-sidebar__account > span:nth-child(2) { display: grid; min-width: 0; line-height: 1.25; }
.admin-sidebar__account strong { overflow: hidden; font-size: .75rem; text-overflow: ellipsis; }
.admin-sidebar__account small { color: var(--admin-sidebar-muted); font-size: .62rem; }
.admin-sidebar__account svg { width: .9rem; height: .9rem; color: var(--admin-sidebar-muted); }
.admin-sidebar__portal-link {
    display: flex;
    justify-content: space-between;
    padding: .65rem .75rem .2rem;
    color: var(--admin-sidebar-muted);
    font-size: .67rem;
}
.admin-sidebar__portal-link:hover { color: var(--admin-sidebar-text); }

.admin-workspace { min-height: 100dvh; margin-left: var(--admin-sidebar-width); }
.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: var(--admin-topbar-height);
    padding: .65rem 1.5rem;
    border-bottom: 1px solid var(--admin-line);
    background: color-mix(in oklch, var(--admin-surface) 96%, transparent);
    box-shadow: 0 1px 2px oklch(15% .03 257 / 4%);
}

.admin-topbar__context,
.admin-topbar__actions,
.admin-topbar__profile { display: flex; align-items: center; }
.admin-topbar__context { gap: .75rem; min-width: 0; }
.admin-topbar__context > div { display: grid; min-width: 0; }
.admin-topbar__context span { color: var(--admin-muted); font-size: .56rem; letter-spacing: .06em; text-transform: uppercase; }
.admin-topbar__context strong { overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-topbar__menu {
    display: none;
    place-items: center;
    width: 2.55rem;
    height: 2.55rem;
    border: 1px solid var(--admin-line);
    border-radius: .68rem;
    color: var(--admin-ink);
    background: var(--admin-surface);
}
.admin-topbar__menu svg { width: 1.2rem; height: 1.2rem; }
.admin-topbar__actions { gap: .65rem; }
.admin-environment {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.15rem;
    padding: .4rem .65rem;
    border: 1px solid var(--admin-line);
    border-radius: .58rem;
    color: var(--admin-muted);
    background: var(--admin-surface-muted);
    font: 600 .6rem/1 var(--font-mono);
}
.admin-environment i { width: .45rem; height: .45rem; border-radius: 50%; background: var(--success); }
.admin-topbar__profile { gap: .55rem; padding: .28rem .5rem .28rem .3rem; border-radius: .72rem; color: var(--admin-ink); }
.admin-topbar__profile:hover { background: var(--admin-surface-muted); }
.admin-topbar__profile > span:first-child { width: 2rem; height: 2rem; }
.admin-topbar__profile > span:last-child { display: grid; line-height: 1.2; }
.admin-topbar__profile strong { font-size: .7rem; }
.admin-topbar__profile small { color: var(--admin-muted); font-size: .6rem; }
.admin-topbar__actions form { margin: 0; }
.admin-topbar__logout {
    display: grid;
    place-items: center;
    width: 2.55rem;
    height: 2.55rem;
    border: 1px solid var(--admin-line);
    border-radius: .68rem;
    color: var(--admin-muted);
    background: var(--admin-surface);
}
.admin-topbar__logout:hover { color: var(--danger); border-color: color-mix(in oklch, var(--danger) 30%, var(--admin-line)); }
.admin-topbar__logout svg { width: 1.12rem; height: 1.12rem; }

.admin-main { min-width: 0; }
html[data-area="admin"] .admin-main .shell { width: min(calc(100% - 3rem), 92rem); }
html[data-area="admin"] .admin-page,
html[data-area="admin"] .editor-page { min-height: calc(100dvh - var(--admin-topbar-height)); padding-block: 1.5rem 4rem; }
html[data-area="admin"] .admin-hero { min-height: 9rem; padding-top: .75rem; }
html[data-area="admin"] .admin-hero--compact { min-height: 7.5rem; }
.admin-sidebar-overlay { display: none; }

/* Account and credential management */
.admin-account-grid {
    display: grid;
    grid-template-columns: minmax(17rem, .72fr) minmax(24rem, 1.28fr);
    gap: 1.25rem;
    align-items: start;
    margin-top: 1.4rem;
}

.admin-profile-panel,
.admin-password-panel {
    overflow: hidden;
    border: 1px solid var(--admin-line);
    border-radius: 1rem;
    background: var(--admin-surface);
    box-shadow: 0 1px 2px oklch(15% .03 257 / 4%), 0 16px 38px oklch(15% .03 257 / 5%);
}

.admin-profile-panel > header,
.admin-password-panel > header { padding: 1.4rem 1.5rem; border-bottom: 1px solid var(--admin-line); }
.admin-profile-panel > header { display: flex; align-items: center; gap: .9rem; }
.admin-profile-panel__avatar {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: .82rem;
    color: var(--paper);
    background: var(--navy);
    font-size: 1rem;
    font-weight: 700;
}
.admin-profile-panel h2,
.admin-password-panel h2 { margin-top: .25rem; font-size: 1.3rem; letter-spacing: -.035em; }
.admin-password-panel > header > p:last-child { max-width: 60ch; margin-top: .4rem; color: var(--admin-muted); font-size: .8rem; }
.admin-profile-facts { margin: 0; }
.admin-profile-facts > div {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: 1rem;
    padding: .85rem 1.5rem;
    border-bottom: 1px solid var(--admin-line);
}
.admin-profile-facts dt { color: var(--admin-muted); font-size: .7rem; }
.admin-profile-facts dd { margin: 0; overflow-wrap: anywhere; font-size: .76rem; text-align: right; }
.admin-profile-facts a { color: var(--blue-700); }
.account-state { display: inline-flex; align-items: center; gap: .4rem; color: var(--success); font-weight: 700; }
.account-state::before { content: ""; width: .45rem; height: .45rem; border-radius: 50%; background: currentColor; }
.admin-security-note { display: grid; grid-template-columns: auto 1fr; gap: .7rem; margin: 1rem; padding: .85rem; border-radius: .72rem; background: var(--admin-surface-muted); }
.admin-security-note svg { width: 1.25rem; height: 1.25rem; color: var(--success); }
.admin-security-note p { display: grid; gap: .15rem; }
.admin-security-note strong { font-size: .72rem; }
.admin-security-note span { color: var(--admin-muted); font-size: .66rem; }
.admin-password-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1.35rem 1.5rem 1.5rem; }
.admin-password-form .alert { grid-column: 1 / -1; margin: 0; }
.admin-password-form .field:first-of-type { grid-column: 1 / -1; }
.password-requirements {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .9rem;
    margin: 0;
    padding: .85rem 1rem;
    border: 1px solid var(--admin-line);
    border-radius: .7rem;
    color: var(--admin-muted);
    background: var(--admin-surface-muted);
    list-style: none;
}
.password-requirements li { display: inline-flex; align-items: center; gap: .4rem; font-size: .66rem; }
.password-requirements li::before { content: "✓"; color: var(--success); font-weight: 800; }
.admin-password-form__submit { justify-self: start; }
.admin-password-form__notice { align-self: center; color: var(--admin-muted); font-size: .67rem; text-align: right; }

/* Severity is conveyed by a top signal and text, not a side stripe. */
.support-ticket { border-left-width: 1px; }
.support-ticket--p1 { box-shadow: inset 0 3px 0 oklch(55% .18 25), var(--shadow-sm); }
.support-ticket--p2 { box-shadow: inset 0 3px 0 oklch(67% .16 65), var(--shadow-sm); }
.support-ticket--p3 { box-shadow: inset 0 3px 0 oklch(57% .13 255), var(--shadow-sm); }
.support-ticket--p4 { box-shadow: inset 0 3px 0 oklch(58% .03 160), var(--shadow-sm); }

@media (max-width: 72rem) {
    .admin-sidebar {
        width: min(19rem, calc(100vw - 3rem));
        box-shadow: 1.2rem 0 3rem oklch(10% .035 257 / 24%);
        transform: translateX(-102%);
        transition: transform 220ms cubic-bezier(.22, 1, .36, 1);
    }
    .admin-nav-open .admin-sidebar { transform: translateX(0); }
    .admin-sidebar__brand button,
    .admin-topbar__menu { display: grid; }
    .admin-workspace { margin-left: 0; }
    .admin-sidebar-overlay {
        position: fixed;
        inset: 0;
        z-index: 70;
        display: block;
        border: 0;
        background: oklch(12% .035 257 / 45%);
        opacity: 0;
        pointer-events: none;
        transition: opacity 180ms cubic-bezier(.22, 1, .36, 1);
    }
    .admin-nav-open .admin-sidebar-overlay { opacity: 1; pointer-events: auto; }
    .admin-nav-open { overflow: hidden; }
}

@media (max-width: 52rem) {
    .admin-account-grid { grid-template-columns: 1fr; }
    html[data-area="admin"] .admin-main .shell { width: min(calc(100% - 2rem), 92rem); }
}

@media (max-width: 40rem) {
    .admin-topbar { padding-inline: .65rem; }
    .admin-environment,
    .admin-topbar__profile > span:last-child { display: none; }
    .admin-topbar__profile { padding: .2rem; }
    html[data-area="admin"] .admin-main .shell { width: min(calc(100% - 1.25rem), 92rem); }
    .admin-password-form { grid-template-columns: 1fr; padding: 1rem; }
    .admin-password-form .field,
    .admin-password-form .field:first-of-type,
    .admin-password-form .alert,
    .password-requirements { grid-column: auto; }
    .admin-password-form__submit { width: 100%; }
    .admin-password-form__notice { text-align: left; }
    .admin-profile-facts > div { grid-template-columns: 1fr; gap: .2rem; padding-inline: 1rem; }
    .admin-profile-facts dd { text-align: left; }
    .admin-profile-panel > header,
    .admin-password-panel > header { padding-inline: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    .admin-sidebar,
    .admin-sidebar-overlay,
    .admin-side-nav__group > a { transition: none; }
}
.billing-admin { overflow-wrap:anywhere; }
.billing-account-heading,.billing-delivery { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:24px 0; }
.billing-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:28px 0; }
.billing-metrics > div,.billing-panel { border:1px solid var(--line,#d8dfdb); border-radius:16px; padding:24px; margin-bottom:20px; }
.billing-metrics span,.billing-metrics small,.billing-table small { display:block; }
.billing-metrics strong { display:block; font-size:24px; margin:12px 0; }
.billing-form,.billing-filters { display:grid; gap:20px; }
.billing-filters { grid-template-columns:2fr 1fr auto; align-items:end; margin:28px 0; }
.billing-form label,.billing-filters label { display:block; margin-bottom:8px; }
.billing-form input,.billing-form textarea,.billing-filters input { width:100%; min-height:44px; padding:12px; border:1px solid #819188; border-radius:8px; font:inherit; color:inherit; background:transparent; }
.billing-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:20px 0; }
.billing-table { overflow-x:auto; margin:24px 0; }
.billing-table table { width:100%; min-width:640px; border-collapse:collapse; text-align:left; }
.billing-table th,.billing-table td { padding:16px; border-bottom:1px solid var(--line,#d8dfdb); }
.billing-history { padding:16px 0; border-bottom:1px solid var(--line,#d8dfdb); }
.billing-admin summary { cursor:pointer; padding:16px 0; }
@media(max-width:1100px) { .billing-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .billing-metrics,.billing-filters { grid-template-columns:1fr; } .billing-account-heading,.billing-delivery { align-items:stretch; flex-direction:column; } .billing-panel { padding:16px; } }
.billing-metrics > div,.billing-panel,.billing-table { background:var(--admin-surface,#fff); }
.billing-table th { background:var(--admin-surface-muted,#f0f3f8); }
.billing-panel > h2 { margin-bottom:12px; }
.billing-panel > p { margin-bottom:20px; max-width:85ch; }
.billing-filters { grid-template-columns:2fr 1fr 1fr auto; }
.billing-filters select { width:100%; min-height:44px; padding:12px; border:1px solid #819188; border-radius:8px; font:inherit; color:inherit; background:var(--admin-surface,#fff); }
@media(max-width:900px) { .billing-filters { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) { .billing-filters { grid-template-columns:1fr; } }

.asaas-page .admin-hero { align-items:center; gap:1rem; }
.asaas-page .admin-hero h1 { font-size:2.25rem; }
.asaas-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(16rem,1fr); border:1px solid var(--admin-line); border-radius:1.15rem; background:var(--admin-surface); overflow:hidden; margin:1.5rem 0 2rem; }
.asaas-editor { padding:2rem; }
.asaas-editor h2,.asaas-connection h2,.asaas-history h2 { font-size:1.25rem; margin:.3rem 0 .8rem; }
.asaas-description { color:var(--admin-muted); font-size:.85rem; line-height:1.65; max-width:70ch; }
.asaas-editor form { display:grid; gap:1rem; margin-top:1.5rem; }
.asaas-editor .field { display:grid; gap:.55rem; }
.asaas-editor .field label { font-size:.9rem; font-weight:650; }
.asaas-editor input[type=password] { min-width:0; width:100%; min-height:3rem; border:1px solid var(--admin-line-strong); border-radius:.75rem; padding:.8rem .9rem; background:var(--admin-surface); color:var(--admin-ink); font:inherit; }
.asaas-editor input[type=password]:focus-visible { outline:3px solid color-mix(in oklch,var(--admin-focus) 35%,transparent); outline-offset:2px; border-color:var(--admin-focus); }
.asaas-editor button { justify-self:start; }
.asaas-security-note { padding-top:1rem; border-top:1px solid var(--admin-line); margin-top:1rem; }
.asaas-connection { padding:2rem; border-left:1px solid var(--admin-line); background:var(--admin-surface-muted); }
.asaas-connection dl { margin:1.4rem 0; display:grid; gap:1rem; }
.asaas-connection dt { font-size:.75rem; color:var(--admin-muted); margin-bottom:.25rem; }
.asaas-connection dd { margin:0; overflow-wrap:anywhere; font-size:.9rem; }
.asaas-connection .btn { width:100%; }
.asaas-connection form { margin-bottom:1rem; }
.asaas-page button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.asaas-pending { min-height:1.4em; font-size:.8rem; color:var(--admin-muted); margin-top:.5rem; }
html[data-area="admin"] .asaas-feedback { display:block; }
.asaas-feedback strong { display:block; margin-bottom:.35rem; }
.asaas-feedback--success { border:1px solid oklch(75% .075 165); background:oklch(96% .025 165); color:oklch(34% .065 165); }
.asaas-feedback p { margin:0; }
.asaas-feedback small { display:block; margin-top:.4rem; }
.asaas-history header { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:1rem; }
.asaas-history header p { color:var(--admin-muted); font-size:.8rem; }
.asaas-history ol { list-style:none; padding:0; margin:0; }
.asaas-history li { display:flex; justify-content:space-between; gap:1rem; border-top:1px solid var(--admin-line); padding:1rem 0; font-size:.85rem; overflow-wrap:anywhere; }
.asaas-history li span:last-child { color:var(--admin-muted); font-size:.8rem; }
.asaas-scope-note { margin-top:2rem; }
@media(max-width:1050px) { .asaas-layout { grid-template-columns:1fr; } .asaas-connection { border-left:0; border-top:1px solid var(--admin-line); } }
@media(max-width:600px) { .asaas-editor,.asaas-connection { padding:1.25rem; } .asaas-page .admin-hero { align-items:stretch; } .asaas-page .admin-hero h1 { font-size:1.8rem; } .asaas-history header,.asaas-history li { flex-direction:column; gap:.4rem; } .asaas-editor button { width:100%; } }

/* Central product subscription connections. */
html[data-area="admin"] .billing-admin .validation-summary-valid { display: none; }
.billing-product-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1rem; border-bottom: 1px solid var(--line); }
.billing-product-row small { display: block; margin-top: .3rem; }
.billing-product-setup textarea { width: 100%; max-width: 100%; padding: 1rem; font-size: .85rem; white-space: pre; overflow-x: auto; }
.billing-product-setup label { display: block; margin-bottom: .5rem; }
.billing-product-setup button { margin-top: 1rem; }
.billing-form details { min-width: 0; }
@media (max-width: 640px) { .billing-product-row { align-items: stretch; flex-direction: column; } }
