.kc-home-hero {
    padding: clamp(3.5rem, 9vw, 7rem) 0 2.5rem;
}

.kc-home-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}

.kc-eyebrow {
    margin-bottom: .9rem;
    color: var(--kc-gold-strong);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.kc-home-hero h1 {
    max-width: 760px;
    margin-bottom: 1.1rem;
}

.kc-home-hero h1 span {
    color: var(--kc-gold-strong);
}

.kc-home-hero__lead {
    max-width: 680px;
    margin-bottom: 1.6rem;
    color: var(--kc-muted);
    font-size: clamp(1rem, 2.4vw, 1.18rem);
}

.kc-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}

.kc-home-orbit {
    position: relative;
    min-height: 330px;
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-lg);
    background:
        radial-gradient(circle at 50% 50%, rgba(220, 174, 79, .13), transparent 40%),
        linear-gradient(145deg, rgba(115, 169, 255, .04), transparent 42%),
        var(--kc-surface);
    overflow: hidden;
    box-shadow: var(--kc-shadow-lg);
}

.kc-home-orbit::before,
.kc-home-orbit::after {
    content: "";
    position: absolute;
    inset: 50% auto auto 50%;
    border: 1px solid rgba(220, 174, 79, .2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.kc-home-orbit::before {
    width: 220px;
    height: 220px;
}

.kc-home-orbit::after {
    width: 300px;
    height: 300px;
    border-color: rgba(115, 169, 255, .12);
}

.kc-home-orbit__coin {
    position: absolute;
    z-index: 2;
    inset: 50% auto auto 50%;
    display: grid;
    place-items: center;
    width: 116px;
    height: 116px;
    transform: translate(-50%, -50%);
    border: 2px solid var(--kc-gold);
    border-radius: 50%;
    background: rgba(220, 174, 79, .08);
    color: var(--kc-gold-strong);
    font-size: 1.4rem;
    font-weight: 1000;
    box-shadow:
        inset 0 0 0 8px rgba(220, 174, 79, .05),
        0 0 45px rgba(220, 174, 79, .14);
}

.kc-home-orbit__tick {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 50%;
    width: 80px;
    height: 3px;
    transform: rotate(-38deg);
    transform-origin: 0 50%;
    border-radius: 99px;
    background: var(--kc-chrono);
    box-shadow: 0 0 18px rgba(115, 169, 255, .34);
}

.kc-home-orbit__label {
    position: absolute;
    z-index: 3;
    padding: .45rem .7rem;
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-pill);
    background: rgba(23, 27, 32, .94);
    color: var(--kc-text-soft);
    font-size: .78rem;
    font-weight: 800;
}

.kc-home-orbit__label--buy {
    top: 18%;
    left: 10%;
}

.kc-home-orbit__label--sell {
    right: 10%;
    top: 36%;
}

.kc-home-orbit__label--exchange {
    left: 18%;
    bottom: 14%;
}

.kc-home-orbit__label--packs {
    right: 12%;
    bottom: 16%;
}

.kc-section {
    padding: 2.25rem 0;
}

.kc-section__heading {
    max-width: 700px;
    margin-bottom: 1.5rem;
}

.kc-section__heading p {
    margin-bottom: 0;
    color: var(--kc-muted);
}

.kc-flow-grid,
.kc-feature-grid {
    display: grid;
    gap: var(--kc-space-4);
}

.kc-flow-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.kc-flow-card,
.kc-feature-card {
    padding: var(--kc-space-6);
}

.kc-flow-card {
    display: flex;
    min-height: 190px;
    flex-direction: column;
    text-decoration: none;
}

.kc-flow-card:hover {
    text-decoration: none;
}

.kc-flow-card--store {
    border-color: rgba(220, 174, 79, .44);
    background:
        linear-gradient(180deg, rgba(220, 174, 79, .055), transparent 62%),
        var(--kc-surface);
}

.kc-flow-card__tag {
    width: max-content;
    margin-bottom: 1.2rem;
}

.kc-flow-card p,
.kc-feature-card p {
    margin-bottom: 0;
    color: var(--kc-muted);
}

.kc-flow-card__arrow {
    margin-top: auto;
    padding-top: 1.2rem;
    color: var(--kc-gold-strong);
    font-weight: 900;
}

.kc-auth-main {
    display: grid;
    place-items: center;
    padding: clamp(2rem, 6vw, 4.5rem) 0;
}

.kc-auth-card {
    width: min(calc(100% - 1.25rem), var(--kc-narrow));
    padding: clamp(1.25rem, 5vw, 2rem);
}

.kc-auth-card__back {
    display: inline-block;
    margin-bottom: 1.2rem;
    color: var(--kc-muted);
    font-size: .88rem;
}

.kc-auth-card h1 {
    margin-bottom: .7rem;
    font-size: clamp(1.9rem, 7vw, 2.7rem);
}

.kc-auth-card__intro {
    margin-bottom: 1.45rem;
    color: var(--kc-muted);
}

.kc-auth-links {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1rem;
    margin-top: 1.1rem;
    font-size: .9rem;
}

.kc-auth-links a {
    color: var(--kc-text-soft);
}

@media (max-width: 1100px) {
    .kc-flow-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .kc-home-hero__inner {
        grid-template-columns: 1fr;
    }

    .kc-home-orbit {
        min-height: 290px;
    }

    .kc-feature-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .kc-home-hero {
        padding-top: 2.6rem;
    }

    .kc-flow-grid {
        grid-template-columns: 1fr;
    }

    .kc-home-orbit {
        min-height: 250px;
    }

    .kc-home-orbit::before {
        width: 175px;
        height: 175px;
    }

    .kc-home-orbit::after {
        width: 235px;
        height: 235px;
    }

    .kc-home-orbit__coin {
        width: 96px;
        height: 96px;
    }

    .kc-home-orbit__tick {
        width: 66px;
    }

    .kc-action-row {
        display: grid;
    }
}


.kc-account-main {
    padding: clamp(2rem, 5vw, 4rem) 0;
}

.kc-account-orders__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--kc-space-6);
    margin-bottom: var(--kc-space-6);
}

.kc-account-orders__heading h1 {
    margin-bottom: .6rem;
    font-size: clamp(2rem, 6vw, 3.6rem);
}

.kc-account-orders__heading p:last-child {
    max-width: 650px;
    margin-bottom: 0;
    color: var(--kc-muted);
}

.kc-account-orders__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr);
    gap: var(--kc-space-5);
    align-items: start;
}

.kc-account-panel,
.kc-account-detail {
    padding: var(--kc-space-6);
}

.kc-order-list {
    display: grid;
    gap: var(--kc-space-3);
}

.kc-order-card {
    padding: var(--kc-space-5);
}

.kc-order-card__top,
.kc-account-detail__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--kc-space-4);
}

.kc-order-card__top > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
}

.kc-order-card__facts {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    margin-top: 1rem;
}

.kc-order-card__fact {
    color: var(--kc-muted);
    font-size: .88rem;
}

.kc-account-detail {
    margin-top: var(--kc-space-5);
}

.kc-account-detail__facts {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: .55rem 1rem;
    margin: 1.5rem 0;
}

.kc-account-detail__facts dt {
    color: var(--kc-muted);
}

.kc-account-detail__facts dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.kc-timeline {
    display: grid;
    gap: .7rem;
    margin: 0;
    padding-left: 1.25rem;
    color: var(--kc-text-soft);
}

.kc-account-chip__link {
    color: var(--kc-text);
    text-decoration: none;
}

@media (max-width: 820px) {
    .kc-account-orders__heading {
        align-items: stretch;
        flex-direction: column;
    }

    .kc-account-orders__layout {
        grid-template-columns: 1fr;
    }
}


.kc-dashboard {
    display: grid;
    gap: var(--kc-space-6);
}

.kc-dashboard__heading,
.kc-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--kc-space-5);
}

.kc-dashboard__heading h1 {
    margin-bottom: .55rem;
    font-size: clamp(2rem, 6vw, 3.7rem);
}

.kc-dashboard__heading p:last-child {
    max-width: 660px;
    margin-bottom: 0;
    color: var(--kc-muted);
}

.kc-dashboard__hero {
    padding-bottom: var(--kc-space-5);
    border-bottom: 1px solid var(--kc-border);
}

.kc-dashboard-body {
    display: grid;
    gap: var(--kc-space-7);
}

.kc-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--kc-space-4);
}

.kc-stat-card {
    position: relative;
    display: grid;
    gap: .45rem;
    overflow: hidden;
    padding: var(--kc-space-5);
}

.kc-stat-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--kc-border-strong);
    content: "";
}

.kc-stat-card--active::before {
    background: var(--kc-chrono);
}

.kc-stat-card--tier::before,
.kc-stat-card--xp::before {
    background: var(--kc-gold);
}

.kc-stat-card--active strong {
    color: var(--kc-chrono-soft);
}

.kc-stat-card span {
    color: var(--kc-muted);
    font-size: .9rem;
}

.kc-stat-card strong {
    color: var(--kc-gold-strong);
    font-size: clamp(1.45rem, 4vw, 2.2rem);
}

.kc-dashboard-section {
    display: grid;
    gap: var(--kc-space-4);
}

.kc-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--kc-space-5);
    align-items: start;
}

.kc-next-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--kc-space-4);
}

.kc-next-action-card {
    display: grid;
    gap: .65rem;
    padding: var(--kc-space-5);
}

.kc-next-action-card > strong {
    font-size: 1.08rem;
}

.kc-dashboard-section--priority {
    padding: var(--kc-space-5);
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-md);
    background: var(--kc-surface-2);
}

.kc-dashboard-section--priority .kc-next-action-card {
    border-color: rgba(115, 169, 255, .28);
    background: var(--kc-surface);
}

.kc-account-panel--loyalty {
    border-color: rgba(220, 174, 79, .4);
    background:
        linear-gradient(
            180deg,
            rgba(220, 174, 79, .05),
            transparent 58%
        ),
        var(--kc-surface);
}

.kc-account-panel--profile .kc-account-detail__facts {
    margin-bottom: 0;
}

.kc-section-heading--filters {
    align-items: start;
}

.kc-order-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(130px, 1fr));
    gap: .75rem;
    width: min(100%, 620px);
}

.kc-order-filters label {
    display: grid;
    gap: .35rem;
    color: var(--kc-muted);
    font-size: .82rem;
    font-weight: 700;
}

.kc-order-filters select,
.kc-order-filters input {
    width: 100%;
}

.kc-check-row {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    color: var(--kc-text-soft);
    line-height: 1.45;
}

.kc-check-row input {
    flex: 0 0 auto;
    margin-top: .2rem;
}

.kc-divider {
    margin: var(--kc-space-5) 0;
    border: 0;
    border-top: 1px solid var(--kc-border);
}

.kc-button--danger {
    border-color: rgba(222, 104, 104, .36);
    background: rgba(222, 104, 104, .08);
}

.kc-button--danger:hover {
    border-color: rgba(222, 104, 104, .65);
}

@media (max-width: 980px) {
    .kc-dashboard-stats,
    .kc-next-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kc-section-heading--filters {
        flex-direction: column;
        align-items: stretch;
    }

    .kc-order-filters {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .kc-dashboard__heading,
    .kc-section-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .kc-dashboard__hero .kc-action-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kc-dashboard-stats,
    .kc-dashboard-grid,
    .kc-next-actions {
        grid-template-columns: 1fr;
    }

    .kc-order-filters {
        grid-template-columns: 1fr;
    }

    .kc-order-card__top,
    .kc-account-detail__heading {
        align-items: stretch;
        flex-direction: column;
    }
}


.kc-loyalty-progress {
    display: grid;
    gap: .55rem;
    margin-top: 1rem;
}

.kc-loyalty-progress__row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: var(--kc-muted);
    font-size: .9rem;
}

.kc-loyalty-progress progress {
    width: 100%;
    height: .65rem;
}

.kc-loyalty-history {
    display: grid;
    gap: .7rem;
    margin-top: 1.25rem;
}

.kc-loyalty-history h3 {
    margin: 0;
    font-size: 1rem;
}

.kc-loyalty-history__list {
    display: grid;
    gap: .55rem;
}

.kc-loyalty-history__item {
    display: grid;
    gap: .15rem;
    padding: .65rem .75rem;
    border: 1px solid var(--kc-border);
    border-radius: .75rem;
}

.kc-loyalty-history__item span {
    color: var(--kc-muted);
    font-size: .82rem;
}


/* Phase 8 P8.19A — shared-shell static public pages */
.kc-faq-main,
.kc-error-main {
    padding: clamp(2rem, 5vw, 4.5rem) 0;
}

.kc-faq-layout {
    width: min(calc(100% - 1.25rem), 920px);
}

.kc-faq-heading {
    margin-bottom: var(--kc-space-6);
}

.kc-faq-heading h1,
.kc-error-card h1 {
    margin-bottom: .75rem;
    font-size: clamp(2rem, 6vw, 3.5rem);
}

.kc-faq-list {
    display: grid;
    gap: var(--kc-space-3);
}

.kc-faq-item {
    padding: 0;
    overflow: clip;
}

.kc-faq-item summary {
    padding: 1rem 1.15rem;
    cursor: pointer;
    color: var(--kc-text);
    font-weight: 850;
}

.kc-faq-item summary:hover,
.kc-faq-item summary:focus-visible {
    background: var(--kc-surface-2);
}

.kc-faq-item p {
    margin: 0;
    padding: 0 1.15rem 1.15rem;
    color: var(--kc-muted);
}

.kc-faq-actions {
    margin-top: var(--kc-space-6);
}

.kc-error-main {
    display: grid;
    align-items: center;
    min-height: min(72vh, 760px);
}

.kc-error-card {
    width: min(100%, 760px);
    margin-inline: auto;
    padding: clamp(1.5rem, 5vw, 2.5rem);
}

.kc-error-code {
    margin: 0 0 .5rem;
    color: var(--kc-gold-strong);
    font-size: clamp(3.5rem, 14vw, 7rem);
    font-weight: 1000;
    letter-spacing: -.05em;
    line-height: .9;
    opacity: .22;
}

.kc-error-note {
    max-width: 620px;
    color: var(--kc-muted);
}

.kc-error-actions {
    margin-top: var(--kc-space-6);
}


/* Phase 8 P8.19B — Rates + Boutique shared-shell catalogs */
.kc-catalog-main {
    padding: clamp(2rem, 5vw, 4.5rem) 0;
}

.kc-rates-heading {
    max-width: 760px;
}

.kc-rates-calculator {
    display: grid;
    gap: var(--kc-space-5);
    margin-bottom: var(--kc-space-5);
    padding: clamp(1.2rem, 3vw, 1.7rem);
}

.kc-rates-calculator .kc-section-heading h2 {
    margin-bottom: .5rem;
}

.kc-rates-calculator .kc-section-heading p:last-child {
    max-width: 680px;
    margin-bottom: 0;
}

.kc-rates-page .kc-rates-calculator-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
}

.kc-rates-page .kc-rates-target-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.kc-rates-filter-panel {
    padding: var(--kc-space-5);
}

.kc-rates-status {
    min-height: 1.5rem;
}

.kc-rates-table-shell {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.kc-rates-table thead {
    background: var(--kc-surface-2);
}

.kc-rates-table th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.kc-rates-table tbody tr:hover {
    background: rgba(255, 255, 255, .018);
}

.kc-rates-note {
    margin-top: var(--kc-space-4);
}

.kc-rates-page .filters,
.kc-boutique-page .filters {
    display: grid;
    gap: var(--kc-space-3);
    margin: var(--kc-space-6) 0 var(--kc-space-4);
}

.kc-rates-page .filters {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kc-boutique-page .filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kc-rates-page .filters label,
.kc-boutique-page .filters label {
    display: grid;
    gap: .45rem;
    color: var(--kc-text-soft);
    font-size: .93rem;
    font-weight: 700;
}

.kc-rates-page .filters select,
.kc-boutique-page .filters select {
    width: 100%;
    min-height: 46px;
    padding: .72rem .8rem;
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-sm);
    background: var(--kc-bg-soft);
    color: var(--kc-text);
    font: inherit;
}

.kc-rates-page .status,
.kc-boutique-page .status {
    min-height: 1.5rem;
    margin: var(--kc-space-4) 0;
    color: var(--kc-text-soft);
}

.kc-rates-page .status.warning {
    color: var(--kc-warning);
}

.kc-rates-page .status.error,
.kc-boutique-page .status.error {
    color: var(--kc-danger);
}

.kc-rates-page .table-wrap {
    overflow-x: auto;
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-md);
    background: var(--kc-surface);
    box-shadow: var(--kc-shadow-sm);
}

.kc-rates-page table {
    width: 100%;
    min-width: 820px;
    border-collapse: collapse;
}

.kc-rates-page th,
.kc-rates-page td {
    padding: .8rem;
    border-bottom: 1px solid var(--kc-border);
    text-align: left;
    vertical-align: top;
}

.kc-rates-page th {
    color: var(--kc-muted);
    font-size: .85rem;
}

.kc-rates-page tbody tr:last-child td {
    border-bottom: 0;
}

.kc-rates-page .rate {
    white-space: nowrap;
    color: var(--kc-gold-strong);
    font-weight: 850;
}

.kc-rates-page .muted,
.kc-boutique-page .note,
.kc-boutique-page .meta {
    color: var(--kc-muted);
    font-size: .9rem;
}

.kc-boutique-page .top {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: var(--kc-space-5);
}

.kc-boutique-page .top .note {
    max-width: 380px;
    margin: .35rem 0 0;
}

.kc-boutique-page .kc-boutique-shelf {
    margin-top: var(--kc-space-6);
}

.kc-boutique-page .kc-boutique-shelf > h2 {
    margin-bottom: var(--kc-space-4);
}


@media (max-width: 1100px) {
    .kc-rates-page .kc-rates-calculator-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .kc-rates-page .filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 620px) {
    .kc-rates-page .filters,
    .kc-boutique-page .filters,
    .kc-rates-page .kc-rates-calculator-grid,
    .kc-rates-page .kc-rates-target-grid {
        grid-template-columns: 1fr;
    }

    .kc-boutique-page .top {
        display: block;
    }
}


/* Phase 8 P8.19C — TRACK + Support shared-shell service pages */
.kc-service-main {
    padding: clamp(2rem, 5vw, 4.5rem) 0;
}

.kc-service-layout {
    width: min(calc(100% - 1.25rem), 760px);
}

.kc-service-card {
    padding: clamp(1.25rem, 5vw, 2rem);
}

.kc-service-card h1,
.kc-service-card h2,
.kc-service-card h3 {
    margin-top: 0;
}

.kc-service-card form,
.kc-service-card .fields {
    display: grid;
    gap: var(--kc-space-4);
}

.kc-service-card label {
    display: grid;
    gap: .45rem;
    color: var(--kc-text-soft);
    font-size: .93rem;
    font-weight: 700;
}

.kc-service-card input,
.kc-service-card select,
.kc-service-card textarea,
.kc-service-card button {
    width: 100%;
    min-height: 46px;
    padding: .72rem .8rem;
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-sm);
    background: var(--kc-bg-soft);
    color: var(--kc-text);
    font: inherit;
}

.kc-service-card textarea {
    min-height: 150px;
    resize: vertical;
}

.kc-service-card button {
    background: linear-gradient(
        180deg,
        var(--kc-gold-strong),
        var(--kc-gold)
    );
    color: #18130a;
    font-weight: 900;
    cursor: pointer;
}

.kc-service-card button:disabled {
    opacity: .58;
    cursor: wait;
}

.kc-service-card dl {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: .55rem 1rem;
}

.kc-service-card dt {
    color: var(--kc-muted);
}

.kc-service-card dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.kc-service-card .error {
    color: var(--kc-danger);
}

.kc-service-card .ok {
    color: var(--kc-success);
}

.kc-service-card .muted {
    color: var(--kc-muted);
}

.kc-track-page .payment-panel {
    margin-top: var(--kc-space-6);
    padding-top: var(--kc-space-5);
    border-top: 1px solid var(--kc-border);
}

.kc-track-page .payment-note {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.kc-track-page #handoff-verification .payment-note {
    white-space: normal;
}

.kc-track-page #fallback,
.kc-support-page #support-form {
    margin-top: var(--kc-space-5);
}

.kc-track-page #retry,
.kc-track-page #confirm-receipt {
    margin-top: var(--kc-space-4);
}

.kc-track-page #support-link {
    color: inherit;
}

.kc-track-shell {
    display: grid;
    gap: var(--kc-space-5);
    padding: clamp(1.35rem, 4vw, 2rem);
}

.kc-track-heading h1,
.kc-track-result__heading h2 {
    margin: 0;
}

.kc-track-status {
    margin: 0;
}

.kc-track-lookup {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
}

.kc-track-lookup > .kc-button {
    grid-column: 1 / -1;
}

.kc-track-result {
    display: grid;
    gap: var(--kc-space-5);
    padding-top: var(--kc-space-5);
    border-top: 1px solid var(--kc-border);
}

.kc-track-result[hidden] {
    display: none;
}

.kc-track-summary {
    margin: 0;
    padding: var(--kc-space-5);
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-md);
    background: var(--kc-surface-2);
}

.kc-track-panel {
    display: grid;
    gap: var(--kc-space-3);
    padding: var(--kc-space-5);
    box-shadow: none;
}

.kc-track-panel h2,
.kc-track-panel h3,
.kc-track-panel p {
    margin-top: 0;
}

.kc-track-bank-form {
    margin-top: var(--kc-space-3);
}

.kc-track-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--kc-space-3);
}

.kc-track-actions .kc-button {
    width: auto;
    min-width: 180px;
}

@media (max-width: 620px) {
    .kc-track-lookup {
        grid-template-columns: 1fr;
    }

    .kc-track-lookup > .kc-button {
        grid-column: auto;
    }

    .kc-track-actions {
        display: grid;
    }

    .kc-track-actions .kc-button {
        width: 100%;
        min-width: 0;
    }
}

.kc-support-page #direct-support {
    margin-bottom: var(--kc-space-5);
    padding-bottom: var(--kc-space-5);
    border-bottom: 1px solid var(--kc-border);
}

.kc-support-page .direct-links {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: .75rem 0 0;
}

.kc-support-page .direct-links a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: .55rem .75rem;
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-sm);
    color: var(--kc-text);
    text-decoration: none;
}

.kc-support-page .direct-links .direct-link--primary {
    border-color: var(--kc-gold);
    font-weight: 700;
    box-shadow: 0 0 0 1px var(--kc-gold);
}

.kc-support-page .direct-link-primary-badge {
    margin-left: .45rem;
    font-size: .72rem;
    color: var(--kc-gold);
}

.kc-support-page .direct-links a:hover,
.kc-support-page .direct-links a:focus-visible {
    border-color: var(--kc-gold);
    background: var(--kc-surface-2);
}

.kc-support-shell {
    display: grid;
    gap: var(--kc-space-5);
    padding: clamp(1.35rem, 4vw, 2rem);
}

.kc-support-heading h1 {
    margin: 0;
}

.kc-support-status {
    margin: 0;
}

.kc-support-page #direct-support {
    margin: 0;
    padding: var(--kc-space-5);
    border: 1px solid rgba(220, 174, 79, .36);
    border-radius: var(--kc-radius-md);
    background:
        linear-gradient(
            180deg,
            rgba(220, 174, 79, .05),
            transparent 70%
        ),
        var(--kc-surface-2);
}

.kc-support-page .direct-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kc-support-page .direct-links a {
    justify-content: space-between;
    width: 100%;
}

.kc-support-context {
    padding: var(--kc-space-4);
    background: var(--kc-surface-2);
    box-shadow: none;
}

.kc-support-context p {
    margin: 0;
}

.kc-support-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: var(--kc-space-5);
    border-top: 1px solid var(--kc-border);
}

.kc-support-auth-grid {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kc-support-field--full,
.kc-support-submit {
    grid-column: 1 / -1;
}

.kc-support-result {
    display: grid;
    gap: var(--kc-space-3);
    margin-top: 0;
    padding: var(--kc-space-5);
    border-top: 0;
    background: var(--kc-surface-2);
    box-shadow: none;
}

.kc-support-result[hidden] {
    display: none;
}

.kc-support-result p {
    margin: 0;
}

@media (max-width: 620px) {
    .kc-support-page .direct-links,
    .kc-support-form,
    .kc-support-auth-grid {
        grid-template-columns: 1fr;
    }

    .kc-support-auth-grid,
    .kc-support-field--full,
    .kc-support-submit {
        grid-column: auto;
    }
}

.kc-support-page #result {
    margin-top: var(--kc-space-5);
    padding-top: var(--kc-space-5);
    border-top: 1px solid var(--kc-border);
}

@media (max-width: 560px) {
    .kc-service-card dl {
        grid-template-columns: 1fr;
        gap: .2rem;
    }

    .kc-service-card dd {
        margin-bottom: .55rem;
    }
}


/* R17.2 — premium BUY transaction shell */
.kc-buy-main {
    padding: clamp(2rem, 5vw, 4.5rem) 0;
}

.kc-buy-layout-shell {
    width: min(calc(100% - 1.25rem), 1100px);
}

.kc-buy-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--kc-space-5);
    margin-bottom: var(--kc-space-3);
}

.kc-buy-heading h1 {
    margin: 0;
}

.kc-buy-page .kc-transaction-status {
    min-height: 1.5rem;
    margin: 0 0 var(--kc-space-3);
    color: var(--kc-text-soft);
}

.kc-buy-workspace {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(310px, .8fr);
    gap: var(--kc-space-5);
    align-items: start;
}

.kc-buy-panel {
    min-width: 0;
    padding: clamp(1.2rem, 3vw, 1.7rem);
}

.kc-buy-panel > h2 {
    margin-top: 0;
    margin-bottom: var(--kc-space-4);
}

.kc-buy-quote-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kc-buy-quote-form > .kc-button {
    grid-column: 1 / -1;
}

.kc-buy-order-form {
    margin-top: var(--kc-space-6);
    padding-top: var(--kc-space-6);
    border-top: 1px solid var(--kc-border);
}

.kc-buy-disclosure {
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-md);
    background: rgba(25, 29, 34, .72);
}

.kc-buy-disclosure > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--kc-space-4);
    padding: 1rem 1.1rem;
    cursor: pointer;
    list-style: none;
}

.kc-buy-disclosure > summary::-webkit-details-marker {
    display: none;
}

.kc-buy-disclosure > summary::after {
    content: "+";
    color: var(--kc-gold-strong);
    font-size: 1.25rem;
    font-weight: 900;
}

.kc-buy-disclosure[open] > summary::after {
    content: "−";
}

.kc-buy-disclosure > summary span {
    display: grid;
    gap: .2rem;
}

.kc-buy-disclosure > summary small {
    color: var(--kc-muted);
    font-weight: 600;
}

.kc-buy-disclosure__body {
    padding: 0 1rem 1rem;
}

.kc-buy-disclosure--contract {
    background: transparent;
}

.kc-buy-benefit-row {
    display: grid;
    gap: .35rem;
}

.kc-buy-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kc-buy-fields > p {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--kc-muted);
    line-height: 1.5;
}

.kc-buy-page #distance-contract-review {
    display: grid;
    gap: var(--kc-space-4);
    padding: var(--kc-space-5);
    background: var(--kc-surface-2);
    box-shadow: none;
}

.kc-buy-page #distance-contract-review h3,
.kc-buy-page #distance-contract-review p {
    margin-top: 0;
}

.kc-buy-summary {
    position: sticky;
    top: calc(var(--kc-header-height) + var(--kc-space-4));
}

.kc-buy-summary .muted {
    color: var(--kc-muted);
    line-height: 1.5;
}

.kc-buy-recap,
.kc-buy-page #distance-contract-review dl,
.kc-buy-page #order-result dl {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem var(--kc-space-5);
}

.kc-buy-recap {
    margin: 0;
}

.kc-buy-page dt {
    color: var(--kc-muted);
}

.kc-buy-page dd {
    margin: 0;
    max-width: 18rem;
    overflow-wrap: anywhere;
    text-align: right;
}

.kc-buy-page #recap-amount,
.kc-buy-page #recap-payable {
    color: var(--kc-gold-strong);
    font-weight: 900;
}

.kc-buy-page #recap-benefit,
.kc-buy-page #recap-credit {
    color: var(--kc-success);
    font-weight: 800;
}

.kc-buy-page .error {
    color: var(--kc-danger);
}

.kc-buy-page .ok {
    color: var(--kc-success);
}

.kc-buy-page .muted {
    color: var(--kc-muted);
}

.kc-buy-page #redemption-option {
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: .7rem;
}

.kc-buy-page #redemption-option input {
    width: auto;
    min-height: auto;
    margin-top: .2rem;
}

.kc-buy-page #order-result,
.kc-buy-page #payment-recovery {
    margin-top: var(--kc-space-5);
    padding-top: var(--kc-space-5);
    border-top: 1px solid var(--kc-border);
}

.kc-buy-page #payment-recovery {
    display: grid;
    gap: var(--kc-space-3);
}

.kc-buy-page #payment-redirect {
    width: 100%;
}

.kc-buy-page #tracking-link,
.kc-buy-page #support-link {
    color: var(--kc-chrono-soft);
}

@media (max-width: 760px) {
    .kc-buy-workspace {
        grid-template-columns: 1fr;
    }

    .kc-buy-quote-form,
    .kc-buy-fields {
        grid-template-columns: 1fr;
    }

    .kc-buy-summary {
        position: static;
    }
}

@media (max-width: 480px) {
    .kc-buy-recap,
    .kc-buy-page #distance-contract-review dl,
    .kc-buy-page #order-result dl {
        grid-template-columns: 1fr;
        gap: .2rem;
    }

    .kc-buy-page dd {
        max-width: none;
        margin-bottom: .45rem;
        text-align: left;
    }
}


/* R17.5 — premium SELL transaction shell */
.kc-sell-main {
    padding: clamp(2rem, 5vw, 4.5rem) 0;
}

.kc-sell-layout-shell {
    width: min(calc(100% - 1.25rem), 1100px);
}

.kc-sell-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--kc-space-5);
    margin-bottom: var(--kc-space-3);
}

.kc-sell-heading h1 {
    margin: 0;
}

.kc-sell-page .kc-transaction-status {
    min-height: 1.5rem;
    margin: 0 0 var(--kc-space-3);
    color: var(--kc-text-soft);
}

.kc-sell-workspace {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(310px, .8fr);
    gap: var(--kc-space-5);
    align-items: start;
}

.kc-sell-panel {
    min-width: 0;
    padding: clamp(1.2rem, 3vw, 1.7rem);
}

.kc-sell-panel > h2 {
    margin-top: 0;
    margin-bottom: var(--kc-space-4);
}

.kc-sell-quote-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kc-sell-quote-form > .kc-button {
    grid-column: 1 / -1;
}

.kc-sell-order-form {
    margin-top: var(--kc-space-6);
    padding-top: var(--kc-space-6);
    border-top: 1px solid var(--kc-border);
}

.kc-sell-fields > p {
    margin: 0;
    color: var(--kc-muted);
    line-height: 1.5;
}

.kc-sell-summary {
    position: sticky;
    top: calc(var(--kc-header-height) + var(--kc-space-4));
}

.kc-sell-summary .muted {
    color: var(--kc-muted);
    line-height: 1.5;
}

.kc-sell-recap,
.kc-sell-page #order-result dl {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem var(--kc-space-5);
}

.kc-sell-recap {
    margin: 0;
}

.kc-sell-page dt {
    color: var(--kc-muted);
}

.kc-sell-page dd {
    margin: 0;
    max-width: 18rem;
    overflow-wrap: anywhere;
    text-align: right;
}

.kc-sell-page #recap-amount {
    color: var(--kc-gold-strong);
    font-weight: 900;
}

.kc-sell-page .error {
    color: var(--kc-danger);
}

.kc-sell-page .ok {
    color: var(--kc-success);
}

.kc-sell-page .muted {
    color: var(--kc-muted);
}

.kc-sell-page #order-result {
    margin-top: var(--kc-space-5);
    padding-top: var(--kc-space-5);
    border-top: 1px solid var(--kc-border);
}

.kc-sell-page #verification-status {
    color: var(--kc-text-soft);
}

.kc-sell-page #verification-retry {
    width: 100%;
    margin-top: .5rem;
}

.kc-sell-page #tracking-link,
.kc-sell-page #support-link {
    color: var(--kc-chrono-soft);
}

@media (max-width: 760px) {
    .kc-sell-workspace {
        grid-template-columns: 1fr;
    }

    .kc-sell-quote-form {
        grid-template-columns: 1fr;
    }

    .kc-sell-summary {
        position: static;
    }
}

@media (max-width: 480px) {
    .kc-sell-recap,
    .kc-sell-page #order-result dl {
        grid-template-columns: 1fr;
        gap: .2rem;
    }

    .kc-sell-page dd {
        max-width: none;
        margin-bottom: .45rem;
        text-align: left;
    }
}


/* R17.6 — premium EXCHANGE transaction shell */
.kc-exchange-main {
    padding: clamp(2rem, 5vw, 4.5rem) 0;
}

.kc-exchange-layout-shell {
    width: min(calc(100% - 1.25rem), 1100px);
}

.kc-exchange-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--kc-space-5);
    margin-bottom: var(--kc-space-3);
}

.kc-exchange-heading h1 {
    margin: 0;
}

.kc-exchange-page .kc-transaction-status {
    min-height: 1.5rem;
    margin: 0 0 var(--kc-space-3);
    color: var(--kc-text-soft);
}

.kc-exchange-workspace {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(310px, .8fr);
    gap: var(--kc-space-5);
    align-items: start;
}

.kc-exchange-panel {
    min-width: 0;
    padding: clamp(1.2rem, 3vw, 1.7rem);
}

.kc-exchange-panel > h2 {
    margin-top: 0;
    margin-bottom: var(--kc-space-4);
}

.kc-exchange-quote-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kc-exchange-quote-form > .kc-field:nth-child(3),
.kc-exchange-quote-form > .kc-button {
    grid-column: 1 / -1;
}

.kc-exchange-order-form {
    margin-top: var(--kc-space-6);
    padding-top: var(--kc-space-6);
    border-top: 1px solid var(--kc-border);
}

.kc-exchange-account-note,
.kc-exchange-legal-note {
    margin: 0;
    color: var(--kc-muted);
    line-height: 1.5;
}

.kc-exchange-disclosure {
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-md);
    background: rgba(25, 29, 34, .72);
}

.kc-exchange-disclosure > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--kc-space-4);
    padding: 1rem 1.1rem;
    cursor: pointer;
    list-style: none;
}

.kc-exchange-disclosure > summary::-webkit-details-marker {
    display: none;
}

.kc-exchange-disclosure > summary::after {
    content: "+";
    color: var(--kc-gold-strong);
    font-size: 1.2rem;
    font-weight: 900;
}

.kc-exchange-disclosure[open] > summary::after {
    content: "−";
}

.kc-exchange-disclosure > summary small {
    margin-left: auto;
    color: var(--kc-muted);
    font-weight: 600;
}

.kc-exchange-disclosure__body {
    padding: 0 1rem 1rem;
}

.kc-exchange-availability-help {
    margin: 0 0 var(--kc-space-4);
    background: transparent;
}

.kc-exchange-process-help {
    background: transparent;
}

.kc-exchange-process-help > .kc-exchange-disclosure__body {
    margin: 0;
}

.kc-exchange-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kc-exchange-summary {
    position: sticky;
    top: calc(var(--kc-header-height) + var(--kc-space-4));
}

.kc-exchange-summary .muted {
    color: var(--kc-muted);
    line-height: 1.5;
}

.kc-exchange-recap,
.kc-exchange-page #order-result dl {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem var(--kc-space-5);
}

.kc-exchange-recap {
    margin: 0;
}

.kc-exchange-page dt {
    color: var(--kc-muted);
}

.kc-exchange-page dd {
    margin: 0;
    max-width: 20rem;
    overflow-wrap: anywhere;
    text-align: right;
}

.kc-exchange-page #recap-target {
    color: var(--kc-gold-strong);
    font-weight: 900;
}

.kc-exchange-page .error {
    color: var(--kc-danger);
}

.kc-exchange-page .ok {
    color: var(--kc-success);
}

.kc-exchange-page .muted {
    color: var(--kc-muted);
}

.kc-exchange-page #order-result {
    margin-top: var(--kc-space-5);
    padding-top: var(--kc-space-5);
    border-top: 1px solid var(--kc-border);
}

.kc-exchange-page #tracking-link,
.kc-exchange-page #support-link {
    color: var(--kc-chrono-soft);
}

@media (max-width: 760px) {
    .kc-exchange-workspace,
    .kc-exchange-quote-form,
    .kc-exchange-fields {
        grid-template-columns: 1fr;
    }

    .kc-exchange-quote-form > .kc-field:nth-child(3),
    .kc-exchange-quote-form > .kc-button {
        grid-column: auto;
    }

    .kc-exchange-summary {
        position: static;
    }
}

@media (max-width: 480px) {
    .kc-exchange-recap,
    .kc-exchange-page #order-result dl {
        grid-template-columns: 1fr;
        gap: .2rem;
    }

    .kc-exchange-page dd {
        max-width: none;
        margin-bottom: .45rem;
        text-align: left;
    }
}


/* Phase 8 P8.19G — SELL verification shared-shell page */
.kc-sell-verify-main {
    display: grid;
    align-items: center;
    min-height: min(72vh, 760px);
    padding: clamp(2rem, 5vw, 4.5rem) 0;
}

.kc-sell-verify-layout {
    width: min(calc(100% - 1.25rem), 620px);
}

.kc-sell-verify-card {
    padding: clamp(1.5rem, 5vw, 2.25rem);
}

.kc-sell-verify-card h1 {
    margin-top: 0;
    margin-bottom: .75rem;
}

.kc-sell-verify-card p {
    line-height: 1.55;
}

.kc-sell-verify-card button {
    min-height: 44px;
    padding: .65rem .9rem;
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-sm);
    background: linear-gradient(
        180deg,
        var(--kc-gold-strong),
        var(--kc-gold)
    );
    color: #18130a;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.kc-sell-verify-card button:focus-visible {
    outline: 3px solid var(--kc-chrono-soft);
    outline-offset: 2px;
}


/* Phase 8 P8.19H — availability visual language */
.kc-transaction-status {
    margin: 0 0 var(--kc-space-3);
    padding: .7rem .85rem;
    border-left: 3px solid var(--kc-border-strong);
    border-radius: 0 var(--kc-radius-sm) var(--kc-radius-sm) 0;
    background: rgba(255, 255, 255, .02);
}

.kc-transaction-status.ok {
    border-left-color: var(--kc-success);
}

.kc-transaction-status.error {
    border-left-color: var(--kc-danger);
}

.kc-availability-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: 0 0 var(--kc-space-5);
}

.kc-availability-badge {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 28px;
    padding: .25rem .55rem;
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-pill);
    color: var(--kc-text-soft);
    background: var(--kc-surface-2);
    font-size: .78rem;
    font-weight: 800;
}

.kc-availability-badge::before {
    content: "";
    width: .5rem;
    height: .5rem;
    flex: 0 0 .5rem;
    border-radius: 50%;
    background: var(--kc-muted);
}

.kc-availability-badge--available::before,
.kc-availability-badge--searched::before {
    background: var(--kc-success);
}

.kc-availability-badge--limited::before,
.kc-availability-badge--ondemand::before {
    background: var(--kc-warning);
}

.kc-availability-badge--full::before,
.kc-availability-badge--blocked::before {
    background: var(--kc-danger);
}

@media (forced-colors: active) {
    .kc-transaction-status,
    .kc-availability-badge {
        border-color: CanvasText;
    }

    .kc-availability-badge::before {
        border: 1px solid CanvasText;
        background: CanvasText;
    }
}


.kc-dashboard-tools {
    margin-top: var(--kc-space-5);
    border: 1px solid var(--kc-border);
    border-radius: var(--kc-radius-md);
    background: rgba(25, 29, 34, .72);
}

.kc-dashboard-tools > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--kc-space-4);
    padding: 1rem 1.1rem;
    cursor: pointer;
    list-style: none;
}

.kc-dashboard-tools > summary::-webkit-details-marker {
    display: none;
}

.kc-dashboard-tools > summary::after {
    content: "+";
    color: var(--kc-gold-strong);
    font-size: 1.25rem;
    font-weight: 900;
}

.kc-dashboard-tools[open] > summary::after {
    content: "−";
}

.kc-dashboard-tools > summary span {
    display: grid;
    gap: .2rem;
}

.kc-dashboard-tools > summary small {
    color: var(--kc-text-muted);
    font-weight: 600;
}

.kc-dashboard-tools__body {
    padding: 0 1rem 1rem;
}

@media (max-width: 680px) {
    .kc-dashboard-tools > summary {
        align-items: flex-start;
    }
}
