.customer-area-shell {
    display: block;
    padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.customer-area-shell .account-hero {
    margin-bottom: 1.25rem;
}

.customer-area-shell .account-hero h1 {
    font-size: clamp(2rem, 4vw, 3rem);
}

.customer-area-shell .account-layout {
    grid-template-columns: 15rem minmax(0, 1fr);
    gap: 1.25rem;
}

.customer-area-shell .account-panel {
    padding: 1.35rem 1.5rem;
    scroll-margin-top: 5.5rem;
}

.account-sidebar nav a[aria-current="page"] {
    background: #e5f3f5;
    color: var(--portal-brand-dark);
    box-shadow: inset 3px 0 0 var(--portal-brand);
}

.account-sidebar-logout {
    display: block!important;
    margin: .25rem 0 0!important;
    padding-top: .45rem;
    border-top: 1px solid var(--portal-line);
}

.customer-area-shell .account-sidebar-logout button {
    width: 100%;
    min-height: 2.6rem;
    justify-content: flex-start;
    padding: .65rem .8rem;
    background: transparent;
    color: #8e2419;
    box-shadow: none;
}

.customer-area-shell .account-sidebar-logout button:hover {
    background: #fff0ee;
}

.customer-area-shell .account-form {
    gap: .8rem 1rem;
    margin-top: 1rem;
}

.customer-area-shell .account-form label {
    gap: .3rem;
    font-size: .92rem;
}

.customer-area-shell .account-form input,
.customer-area-shell .account-form select {
    min-height: 2.7rem;
    padding: .55rem .75rem;
    border-radius: .65rem;
}

.customer-area-shell .account-form small {
    font-size: .78rem;
}

.customer-area-shell .panel-note {
    margin-bottom: .85rem;
}

.customer-area-shell .form-actions button {
    min-height: 2.7rem;
    padding-block: .55rem;
}

.account-order-detail h1,
.account-request-detail h1,
.request-account-panel .request-form-header h1 {
    margin: .2rem 0 .65rem;
    font-size: clamp(1.75rem, 4vw, 2.35rem);
}

.account-order-detail h2,
.account-request-detail h2 {
    margin-top: 1.4rem;
}

.account-request-list {
    margin-top: 1rem;
}

.account-request-list a {
    align-items: center;
    padding: .85rem 1rem;
}

.account-request-list a>span:first-child small {
    display: block;
    margin-top: .2rem;
    color: var(--portal-muted);
}

.account-request-list .status-pill {
    flex: 0 0 auto;
}

.request-account-panel .request-back,
.account-request-detail .request-back {
    margin-bottom: 1rem;
}

.request-account-panel .request-order-context {
    margin: 1.2rem 0 1rem;
    padding: .9rem 1rem;
}

.request-account-panel .request-form {
    gap: 1rem;
    margin-top: 1rem;
}

.request-account-panel .request-field select {
    min-height: 2.9rem;
}

.request-account-panel .request-field textarea {
    min-height: 8rem;
}

@media(max-width:56rem) {
    .customer-area-shell .account-layout { grid-template-columns: 1fr; }
    .customer-area-shell .account-sidebar { position: static; }
    .customer-area-shell .account-sidebar nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: visible; gap: .2rem; }
    .customer-area-shell .account-sidebar nav a { white-space: normal; }
    .customer-area-shell .account-sidebar-logout { margin: 0!important; padding: 0; border: 0; }
}

@media(max-width:38rem) {
    .customer-area-shell { padding: 1rem .75rem 2rem; }
    .customer-area-shell .account-hero { margin-bottom: 1rem; }
    .customer-area-shell .account-hero h1 { font-size: 2rem; }
    .customer-area-shell .account-hero p:last-child { font-size: .9rem; }
    .customer-area-shell .account-sidebar nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .customer-area-shell .account-sidebar nav a,
    .customer-area-shell .account-sidebar-logout button { min-height: 2.7rem; align-items: center; padding: .6rem .7rem; }
    .customer-area-shell .account-panel { padding: 1rem; }
    .customer-area-shell .panel-heading { gap: .65rem; }
    .customer-area-shell .panel-heading h2 { font-size: 1.25rem; }
    .account-request-list a { display: grid; gap: .55rem; }
    .account-request-list .status-pill { width: max-content; }
    .request-account-panel .request-order-context { grid-template-columns: 1fr; }
}

.invoice-downloads { margin: 1.25rem 0; padding: 1rem; border: 1px solid var(--portal-line); border-radius: .8rem; background: #f6fafb; }
.invoice-downloads h2 { margin-top: 0; }
.invoice-downloads p { margin-bottom: .75rem; }
.invoice-download-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
@media(max-width:38rem) { .invoice-download-actions { display: grid; } }
