* {
    box-sizing: border-box;
}

:root {
    --pilar-red: #C1272D;
    --pilar-orange: #F47016;
    --text: #252b34;
    --muted: #707985;
    --border: #e2e5e9;
}

body {
    margin: 0;
    color: var(--text);
    background: #f4f5f7;
    font-family: Poppins, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

.client-auth-page {
    min-height: 100vh;
    background:
        radial-gradient(
            circle at top right,
            rgba(244,112,22,.13),
            transparent 34%
        ),
        radial-gradient(
            circle at bottom left,
            rgba(193,39,45,.09),
            transparent 35%
        ),
        #f5f6f8;
}

.client-auth-shell {
    width: min(470px, calc(100% - 28px));
    margin: 0 auto;
    padding: 35px 0 55px;
}

.client-auth-shell.wide {
    width: min(610px, calc(100% - 28px));
}

.client-pilar-brand {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
}

.client-pilar-brand img {
    width: 170px;
    max-height: 58px;
    object-fit: contain;
}

.client-auth-card {
    padding: 27px;
    border: 1px solid var(--border);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(17,24,39,.08);
}

.client-kicker {
    display: block;
    color: var(--pilar-red);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .13em;
    text-align: center;
}

.client-auth-card h1 {
    margin: 5px 0;
    font-size: 23px;
    line-height: 1.2;
    text-align: center;
}

.client-intro {
    max-width: 470px;
    margin: 0 auto 18px;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.6;
    text-align: center;
}

.client-alert {
    margin-bottom: 13px;
    padding: 9px 11px;
    border: 1px solid;
    border-radius: 8px;
    font-size: 8px;
    line-height: 1.5;
}

.client-alert.error {
    border-color: #efc7ca;
    color: #9a282e;
    background: #fff2f3;
}

.client-pdv-note,
.client-global-note {
    margin-bottom: 14px;
    padding: 10px 11px;
    border: 1px solid #e0e6ec;
    border-radius: 9px;
    background: #f7f9fc;
}

.client-pdv-note strong,
.client-global-note strong {
    display: block;
    color: #414953;
    font-size: 8px;
}

.client-pdv-note p,
.client-global-note p {
    margin: 3px 0 0;
    color: #69727d;
    font-size: 7px;
    line-height: 1.55;
}

.client-field {
    margin-bottom: 11px;
}

.client-field label {
    display: block;
    margin-bottom: 5px;
    color: #505966;
    font-size: 8px;
    font-weight: 600;
}

.client-field input {
    width: 100%;
    height: 43px;
    border: 1px solid #dce1e6;
    border-radius: 8px;
    outline: 0;
    padding: 0 10px;
    color: var(--text);
    background: #fff;
    font-size: 9px;
}

.client-field input:focus {
    border-color: rgba(193,39,45,.42);
    box-shadow: 0 0 0 3px rgba(193,39,45,.06);
}

.client-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.client-password {
    display: grid;
    grid-template-columns: 1fr auto;
    overflow: hidden;
    border: 1px solid #dce1e6;
    border-radius: 8px;
}

.client-password:focus-within {
    border-color: rgba(193,39,45,.42);
    box-shadow: 0 0 0 3px rgba(193,39,45,.06);
}

.client-password input {
    border: 0;
    border-radius: 0;
    box-shadow: none !important;
}

.client-password button {
    border: 0;
    padding: 0 10px;
    color: #68717c;
    background: #f5f6f8;
    font-size: 7px;
    font-weight: 600;
    cursor: pointer;
}

.client-primary-button,
.client-secondary-button {
    width: 100%;
    min-height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 9px;
    font-weight: 700;
}

.client-primary-button {
    border: 0;
    color: #fff;
    background: var(--pilar-red);
    cursor: pointer;
}

.client-secondary-button {
    border: 1px solid #e0e3e7;
    color: #5b6470;
    background: #fff;
}

.client-auth-divider {
    position: relative;
    margin: 16px 0;
    color: #9097a0;
    font-size: 7px;
    text-align: center;
}

.client-auth-divider::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    height: 1px;
    background: #eceef0;
}

.client-auth-divider span {
    position: relative;
    padding: 0 8px;
    background: #fff;
}

.client-global-note {
    margin: 14px 0 0;
}

.client-check {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 3px 0 13px;
    color: #626b76;
    font-size: 7px;
    line-height: 1.5;
}

.client-check input {
    margin-top: 2px;
    accent-color: var(--pilar-red);
}

.client-login-link {
    display: block;
    margin-top: 13px;
    color: var(--pilar-red);
    font-size: 8px;
    font-weight: 600;
    text-align: center;
}


/* =========================================================
   PILAR ONLINE - ÁREA DO CLIENTE
   Mesmo padrão visual da página principal.
========================================================= */

.client-account-page {
    min-height: 100vh;
    color: #252832;
    background: #F6F7F9;
}

.client-platform-container,
.client-account-container {
    width: min(1180px, calc(100% - 34px));
    margin-inline: auto;
}

/* HEADER PRINCIPAL */
.client-platform-header {
    color: #fff;
    background:
        linear-gradient(
            105deg,
            #991B22 0%,
            #C1272D 48%,
            #D52C32 100%
        );
    box-shadow: 0 3px 13px rgba(80, 15, 18, .16);
}

.client-platform-header-inner {
    min-height: 95px;
    display: grid;
    grid-template-columns:
        260px
        minmax(390px, 1fr)
        auto;
    align-items: center;
    gap: 28px;
}

.client-platform-brand {
    width: fit-content;
    display: inline-flex;
    align-items: center;
}

.client-platform-brand img {
    width: 215px;
    max-height: 58px;
    object-fit: contain;
    object-position: left center;
    filter: brightness(0) invert(1);
}

.client-platform-search {
    min-width: 0;
    height: 54px;
    display: flex;
    align-items: stretch;
}

.client-platform-search-wrap {
    min-width: 0;
    flex: 1;
    display: grid;
    grid-template-columns:
        44px
        minmax(150px, 1fr)
        auto;
    align-items: center;
    overflow: hidden;
    border-radius: 11px 0 0 11px;
    background: #fff;
}

.client-platform-search-icon {
    display: grid;
    place-items: center;
    color: #7F8795;
}

.client-platform-search-icon svg {
    width: 21px;
    height: 21px;
}

.client-platform-search input {
    width: 100%;
    min-width: 0;
    height: 100%;
    border: 0;
    outline: 0;
    padding: 0 12px 0 0;
    color: #252832;
    background: transparent;
    font-size: 12px;
}

.client-platform-search input::placeholder {
    color: #999FAB;
}

.client-platform-search select {
    min-width: 180px;
    max-width: 220px;
    height: 35px;
    border: 0;
    border-left: 1px solid #E3E5E8;
    outline: 0;
    padding: 0 32px 0 15px;
    color: #343944;
    background: #fff;
    font-size: 10.5px;
    cursor: pointer;
}

.client-platform-search > button {
    min-width: 105px;
    border: 0;
    border-radius: 0 11px 11px 0;
    color: #fff;
    background: #F47016;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.client-platform-actions {
    display: flex;
    align-items: center;
    gap: 23px;
}

.client-platform-action {
    min-width: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    color: #fff;
    text-align: center;
}

.client-platform-action strong {
    font-size: 8.5px;
    font-weight: 500;
    white-space: nowrap;
}

.client-platform-action-icon {
    position: relative;
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
}

.client-platform-action-icon svg {
    width: 27px;
    height: 27px;
}

.client-platform-action-icon small {
    position: absolute;
    top: -7px;
    right: -9px;
    min-width: 19px;
    height: 19px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    border: 2px solid #C1272D;
    border-radius: 999px;
    color: #fff;
    background: #F47016;
    font-size: 7px;
    font-weight: 700;
}

.client-platform-action:hover {
    opacity: .88;
}

/* NAV BRANCA */
.client-platform-nav {
    border-bottom: 1px solid #E1E4E8;
    background: #fff;
}

.client-platform-nav-inner {
    min-height: 58px;
    display: grid;
    grid-template-columns:
        255px
        minmax(0, 1fr)
        auto;
    align-items: stretch;
    gap: 18px;
}

.client-platform-categories {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #252832;
}

.client-platform-categories > span {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
}

.client-platform-categories svg {
    width: 20px;
    height: 20px;
}

.client-platform-categories strong {
    font-size: 10.5px;
    font-weight: 700;
}

.client-platform-nav-links {
    min-width: 0;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 2px;
}

.client-platform-nav-links a,
.client-platform-account-nav > a {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 15px;
    color: #424752;
    font-size: 9.5px;
    font-weight: 500;
}

.client-platform-nav-links a:hover,
.client-platform-account-nav > a:hover {
    color: #C1272D;
}

.client-platform-account-nav {
    display: flex;
    align-items: stretch;
}

.client-platform-account-nav > a.active {
    color: #252832;
    font-weight: 600;
}

.client-platform-account-nav > a.active::after {
    content: '';
    position: absolute;
    right: 15px;
    bottom: 0;
    left: 15px;
    height: 3px;
    border-radius: 99px 99px 0 0;
    background: #F47016;
}

.client-platform-account-nav form {
    display: flex;
    align-items: center;
}

.client-platform-account-nav button {
    border: 0;
    padding: 0 0 0 10px;
    color: #C1272D;
    background: transparent;
    font-size: 8px;
    font-weight: 600;
    cursor: pointer;
}

/* CONTEÚDO */
.client-account-main,
.client-order-detail-main {
    padding-top: 27px;
    padding-bottom: 55px;
}

.client-account-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.client-account-heading > div > span,
.client-profile-copy > span,
.client-history-head > div > span,
.client-detail-card-head > div > span,
.client-order-hero > div:first-child > span {
    display: block;
    color: #C1272D;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .13em;
}

.client-account-heading h1 {
    margin: 4px 0 2px;
    font-size: 25px;
    line-height: 1.2;
}

.client-account-heading p {
    margin: 0;
    color: #747C87;
    font-size: 8.5px;
}

.client-profile-card,
.client-history-card,
.client-detail-card,
.client-order-hero {
    border: 1px solid #E1E4E8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(17, 24, 39, .035);
}

.client-profile-card {
    min-height: 90px;
    display: grid;
    grid-template-columns:
        58px
        minmax(0, 1fr)
        auto;
    align-items: center;
    gap: 13px;
    padding: 15px 17px;
}

.client-avatar {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #fff;
    background:
        linear-gradient(
            135deg,
            #C1272D,
            #F47016
        );
    font-size: 18px;
    font-weight: 700;
}

.client-profile-copy {
    min-width: 0;
}

.client-profile-copy h2 {
    margin: 3px 0 1px;
    overflow: hidden;
    font-size: 15px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.client-profile-copy p {
    margin: 0;
    overflow: hidden;
    color: #767F89;
    font-size: 7.5px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.client-profile-marketplace {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border: 1px solid #E0E3E7;
    border-radius: 8px;
    color: #C1272D;
    background: #fff;
    font-size: 7px;
    font-weight: 600;
}

.client-account-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin: 12px 0;
}

.client-account-metrics article {
    min-height: 100px;
    padding: 14px;
    border: 1px solid #E1E4E8;
    border-radius: 12px;
    background: #fff;
}

.client-account-metrics span,
.client-account-metrics strong,
.client-account-metrics small {
    display: block;
}

.client-account-metrics span {
    color: #8B929B;
    font-size: 6.5px;
    font-weight: 700;
    letter-spacing: .08em;
}

.client-account-metrics strong {
    margin-top: 5px;
    color: #252832;
    font-size: 24px;
    line-height: 1;
}

.client-account-metrics small {
    margin-top: 7px;
    color: #818992;
    font-size: 6.3px;
    line-height: 1.45;
}

/* LISTAS */
.client-history-card {
    overflow: hidden;
    margin-top: 12px;
}

.client-history-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 17px;
    border-bottom: 1px solid #ECEEF1;
}

.client-history-head h2 {
    margin: 3px 0 2px;
    font-size: 14px;
}

.client-history-head p {
    margin: 0;
    color: #818892;
    font-size: 6.7px;
}

.client-orders-list {
    display: grid;
}

.client-order-row {
    min-height: 93px;
    display: grid;
    grid-template-columns:
        minmax(150px, 1.2fr)
        minmax(145px, 1fr)
        minmax(150px, .9fr)
        100px
        108px;
    align-items: center;
    gap: 13px;
    padding: 13px 17px;
    border-bottom: 1px solid #EFF1F3;
}

.client-order-row:last-child {
    border-bottom: 0;
}

.client-order-store > span,
.client-order-date > span,
.client-order-total > span {
    display: block;
    color: #999FA7;
    font-size: 5.8px;
    font-weight: 700;
    letter-spacing: .08em;
}

.client-order-store strong,
.client-order-date strong,
.client-order-total strong {
    display: block;
    margin-top: 3px;
    color: #303640;
    font-size: 8px;
}

.client-order-store small,
.client-order-date small {
    display: block;
    margin-top: 2px;
    color: #7C848E;
    font-size: 6.2px;
}

.client-order-statuses {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
}

.client-status-badge {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 6.5px;
    font-weight: 700;
    white-space: nowrap;
}

.client-status-badge.large {
    min-height: 29px;
    padding-inline: 10px;
    font-size: 7px;
}

.client-status-badge.success {
    color: #167349;
    background: #ECF8F1;
}

.client-status-badge.danger {
    color: #A33036;
    background: #FFF0F1;
}

.client-status-badge.warning {
    color: #89601B;
    background: #FFF5DF;
}

.client-status-badge.info {
    color: #3F5F91;
    background: #EEF4FD;
}

.client-status-badge.neutral {
    color: #626A74;
    background: #F0F2F4;
}

.client-payment-label {
    font-size: 6px;
    font-weight: 500;
}

.client-payment-label.success {
    color: #167349;
}

.client-payment-label.warning {
    color: #89601B;
}

.client-payment-label.danger {
    color: #A33036;
}

.client-order-total strong {
    font-size: 10px;
}

.client-order-actions {
    display: grid;
    gap: 5px;
}

.client-order-actions a {
    min-height: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: #C1272D;
    font-size: 6.5px;
    font-weight: 700;
}

.client-order-actions a.secondary {
    border: 1px solid #E0E3E7;
    color: #68717B;
    background: #fff;
}

.client-pdv-list > article {
    min-height: 62px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 105px;
    align-items: center;
    gap: 12px;
    padding: 10px 17px;
    border-bottom: 1px solid #EFF1F3;
}

.client-pdv-list > article:last-child {
    border-bottom: 0;
}

.client-pdv-list strong,
.client-pdv-list small {
    display: block;
}

.client-pdv-list strong {
    font-size: 7.5px;
}

.client-pdv-list small {
    margin-top: 2px;
    color: #7C848E;
    font-size: 6.2px;
}

.client-pdv-list > article > b {
    font-size: 8px;
    text-align: right;
}

.client-empty {
    padding: 33px 20px;
    color: #777F89;
    text-align: center;
}

.client-empty strong {
    display: block;
    color: #424A54;
    font-size: 9px;
}

.client-empty p {
    margin: 4px 0 0;
    font-size: 7px;
}

.client-empty.compact {
    padding: 20px;
    font-size: 7px;
}

/* =========================================================
   DETALHE DO PEDIDO
========================================================= */
.client-breadcrumb {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    color: #858D96;
    font-size: 7px;
}

.client-breadcrumb a {
    color: #C1272D;
    font-weight: 600;
}

.client-order-hero {
    min-height: 112px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 20px;
}

.client-order-hero h1 {
    margin: 4px 0 3px;
    font-size: 22px;
}

.client-order-hero p {
    margin: 0;
    color: #747C87;
    font-size: 7.5px;
}

.client-order-hero-status {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 10px;
}

.client-order-hero-status > strong {
    color: #C1272D;
    font-size: 20px;
}

.client-order-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 11px;
    padding: 11px 13px;
    border: 1px solid;
    border-radius: 10px;
}

.client-order-alert > span {
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}

.client-order-alert strong,
.client-order-alert p {
    display: block;
}

.client-order-alert strong {
    font-size: 8px;
}

.client-order-alert p {
    margin: 2px 0 0;
    font-size: 6.5px;
}

.client-order-alert.success {
    border-color: #CDE8DA;
    color: #2E6B4C;
    background: #F1FAF5;
}

.client-order-alert.success > span {
    background: #188D57;
}

.client-order-alert.danger {
    border-color: #F0CACD;
    color: #913139;
    background: #FFF3F4;
}

.client-order-alert.danger > span {
    background: #B13B43;
}

.client-order-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    align-items: start;
    gap: 12px;
    margin-top: 12px;
}

.client-order-detail-content {
    display: grid;
    gap: 12px;
}

.client-order-detail-aside {
    display: grid;
    gap: 12px;
}

.client-detail-card {
    padding: 17px;
}

.client-order-summary-card {
    position: sticky;
    top: 12px;
}

.client-detail-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 13px;
}

.client-detail-card-head h2 {
    margin: 3px 0 0;
    font-size: 13px;
}

/* TIMELINE */
.client-order-timeline {
    position: relative;
    display: grid;
    gap: 0;
}

.client-timeline-step {
    position: relative;
    min-height: 55px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 9px;
}

.client-timeline-step:not(:last-child)::before {
    content: '';
    position: absolute;
    top: 24px;
    bottom: 0;
    left: 11px;
    width: 2px;
    background: #E6E9EC;
}

.client-timeline-step.done:not(:last-child)::before {
    background: #A9D9C2;
}

.client-timeline-step.cancelled:not(:last-child)::before {
    background: #EAC0C3;
}

.client-timeline-dot {
    position: relative;
    z-index: 1;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border: 2px solid #D9DDE2;
    border-radius: 50%;
    color: #fff;
    background: #fff;
    font-size: 7px;
    font-weight: 700;
}

.client-timeline-step.done .client-timeline-dot {
    border-color: #1B925C;
    background: #1B925C;
}

.client-timeline-step.cancelled .client-timeline-dot {
    border-color: #B43B43;
    background: #B43B43;
}

.client-timeline-step strong,
.client-timeline-step small {
    display: block;
}

.client-timeline-step strong {
    padding-top: 2px;
    color: #3C444E;
    font-size: 7.5px;
}

.client-timeline-step small {
    margin-top: 2px;
    color: #88909A;
    font-size: 6px;
}

.client-timeline-step.pending strong {
    color: #A1A7AE;
}

.client-status-history {
    margin-top: 8px;
    border-top: 1px solid #ECEEF1;
    padding-top: 10px;
}

.client-status-history summary {
    color: #C1272D;
    font-size: 6.5px;
    font-weight: 600;
    cursor: pointer;
}

.client-status-history > div {
    display: grid;
    gap: 6px;
    margin-top: 9px;
}

.client-status-history article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 8px;
    border-radius: 7px;
    background: #F7F8F9;
}

.client-status-history article span {
    font-size: 6.5px;
    font-weight: 600;
}

.client-status-history article small {
    color: #8A919A;
    font-size: 5.8px;
}

/* ITENS */
.client-order-items {
    display: grid;
}

.client-order-items article {
    min-height: 67px;
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    border-bottom: 1px solid #EFF1F3;
}

.client-order-items article:last-child {
    border-bottom: 0;
}

.client-item-icon {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #C1272D;
    background: #F7ECEE;
    font-size: 11px;
    font-weight: 700;
}

.client-item-copy {
    min-width: 0;
}

.client-item-copy strong,
.client-item-copy small {
    display: block;
}

.client-item-copy strong {
    overflow: hidden;
    font-size: 7.5px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.client-item-copy small {
    margin-top: 2px;
    color: #808892;
    font-size: 6px;
}

.client-item-total {
    font-size: 7.5px;
    white-space: nowrap;
}

/* ENTREGA */
.client-delivery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.client-delivery-grid > div,
.client-delivery-address,
.client-tracking-box {
    padding: 10px;
    border: 1px solid #E8EAED;
    border-radius: 9px;
    background: #FAFBFC;
}

.client-delivery-grid span,
.client-delivery-address > span,
.client-tracking-box span {
    display: block;
    color: #969DA6;
    font-size: 5.8px;
    font-weight: 700;
    letter-spacing: .07em;
}

.client-delivery-grid strong,
.client-delivery-address strong,
.client-tracking-box strong {
    display: block;
    margin-top: 3px;
    color: #3D454F;
    font-size: 7.2px;
}

.client-delivery-address {
    margin-top: 8px;
}

.client-delivery-address p {
    margin: 3px 0 0;
    color: #737C86;
    font-size: 6.2px;
}

.client-tracking-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
}

.client-tracking-box a {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 9px;
    border-radius: 7px;
    color: #fff;
    background: #C1272D;
    font-size: 6px;
    font-weight: 700;
}

/* RESUMO */
.client-summary-lines {
    display: grid;
}

.client-summary-lines > div {
    min-height: 31px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.client-summary-lines span {
    color: #737C86;
    font-size: 6.7px;
}

.client-summary-lines strong {
    font-size: 7px;
}

.client-summary-lines .discount strong {
    color: #148651;
}

.client-summary-total {
    min-height: 56px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    margin-top: 4px;
    padding-top: 11px;
    border-top: 1px solid #E9EBEE;
}

.client-summary-total span {
    font-size: 8.5px;
    font-weight: 600;
}

.client-summary-total strong {
    color: #C1272D;
    font-size: 19px;
}

.client-payment-detail > strong {
    display: block;
    margin-top: 9px;
    font-size: 8px;
}

.client-payment-detail p {
    margin: 3px 0 0;
    color: #79818B;
    font-size: 6.2px;
}

.client-order-actions-card {
    display: grid;
    gap: 7px;
}

.client-order-actions-card a {
    min-height: 37px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 6.8px;
    font-weight: 700;
}

.client-order-actions-card a.primary {
    color: #fff;
    background: #C1272D;
}

.client-order-actions-card a.secondary {
    border: 1px solid #E0E3E7;
    color: #68717B;
    background: #fff;
}

/* RESPONSIVO */
@media (max-width: 1080px) {
    .client-platform-header-inner {
        grid-template-columns:
            190px
            minmax(320px, 1fr)
            auto;
        gap: 18px;
    }

    .client-platform-brand img {
        width: 170px;
    }

    .client-platform-actions {
        gap: 14px;
    }

    .client-platform-action:first-child {
        display: none;
    }

    .client-order-row {
        grid-template-columns:
            minmax(150px, 1.2fr)
            minmax(140px, 1fr)
            minmax(140px, 1fr)
            90px;
    }

    .client-order-actions {
        grid-column: 1 / -1;
        display: flex;
        justify-content: flex-end;
    }

    .client-order-actions a {
        min-width: 105px;
    }
}

@media (max-width: 860px) {
    .client-platform-header-inner {
        min-height: auto;
        grid-template-columns: 1fr auto;
        gap: 10px;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .client-platform-brand {
        grid-column: 1;
    }

    .client-platform-search {
        grid-column: 1 / 3;
        grid-row: 2;
        height: 47px;
    }

    .client-platform-actions {
        grid-column: 2;
        grid-row: 1;
    }

    .client-platform-action strong {
        display: none;
    }

    .client-platform-nav-inner {
        min-height: 52px;
        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto;
    }

    .client-platform-nav-links {
        overflow-x: auto;
        justify-content: flex-start;
        scrollbar-width: none;
    }

    .client-platform-nav-links::-webkit-scrollbar {
        display: none;
    }

    .client-account-metrics {
        grid-template-columns: repeat(2, 1fr);
    }

    .client-order-detail-grid {
        grid-template-columns: 1fr;
    }

    .client-order-summary-card {
        position: static;
    }
}

@media (max-width: 650px) {
    .client-platform-container,
    .client-account-container {
        width: min(100% - 22px, 1180px);
    }

    .client-platform-brand img {
        width: 138px;
    }

    .client-platform-action:first-child {
        display: none;
    }

    .client-platform-search-wrap {
        grid-template-columns:
            39px
            minmax(0, 1fr);
    }

    .client-platform-search select {
        display: none;
    }

    .client-platform-search > button {
        min-width: 78px;
        font-size: 9px;
    }

    .client-platform-nav-inner {
        grid-template-columns:
            minmax(0, 1fr)
            auto;
    }

    .client-platform-categories {
        display: none;
    }

    .client-platform-nav-links {
        grid-column: 1;
    }

    .client-platform-account-nav {
        grid-column: 2;
    }

    .client-platform-nav-links a {
        padding-inline: 10px;
    }

    .client-platform-account-nav > a {
        display: none;
    }

    .client-profile-card {
        grid-template-columns: 50px minmax(0, 1fr);
    }

    .client-avatar {
        width: 50px;
        height: 50px;
    }

    .client-profile-marketplace {
        grid-column: 1 / 3;
        justify-content: center;
    }

    .client-account-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .client-order-row {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .client-order-statuses,
    .client-order-total {
        align-self: start;
    }

    .client-order-actions {
        grid-column: 1 / 3;
        justify-content: stretch;
    }

    .client-order-actions a {
        flex: 1;
    }

    .client-pdv-list > article {
        grid-template-columns: 1fr auto;
    }

    .client-pdv-list > article > b {
        grid-column: 2;
    }

    .client-order-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .client-order-hero-status {
        width: 100%;
        align-items: flex-start;
    }

    .client-delivery-grid {
        grid-template-columns: 1fr;
    }

    .client-tracking-box {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* ============================================================
   PILAR ONLINE - MINHA CONTA / DASHBOARD DO CLIENTE V3
   Escopo exclusivo de cliente/minha_conta.php.
   Mantém intactos os estilos de login, cadastro e pedido.php.
============================================================ */

body.client-account-page {
    --client-accent:#C1272D;
    --client-orange:#F47016;
    --client-ink:#242A33;
    --client-muted:#66717E;
    --client-stroke:#E3E7EC;
    background:#F5F6F8;
    color:var(--client-ink);
    font-size:13px;
    line-height:1.55;
    text-rendering:optimizeLegibility;
}

body.client-account-page .client-account-container,
body.client-account-page .client-platform-container {
    width:min(1320px,calc(100% - 40px));
}

/* Legibilidade no cabeçalho compartilhado, apenas nesta tela */
body.client-account-page .client-platform-header-inner { min-height:89px; }
body.client-account-page .client-platform-action strong { font-size:11px; font-weight:600; }
body.client-account-page .client-platform-action-icon small { font-size:10px; }
body.client-account-page .client-platform-search input { font-size:13px; }
body.client-account-page .client-platform-search select { font-size:12px; }
body.client-account-page .client-platform-search > button { font-size:12px; }
body.client-account-page .client-platform-nav-links a,
body.client-account-page .client-platform-account-nav > a { font-size:12px; font-weight:500; }
body.client-account-page .client-platform-categories strong { font-size:12px; }
body.client-account-page .client-platform-account-nav button { font-size:11px; }

/* Corpo */
.client-dashboard-v2 {
    padding-top:21px;
    padding-bottom:75px;
}
.client-dashboard-v2 svg { width:20px; height:20px; flex:0 0 auto; }
.client-dashboard-v2 section[id],
.client-dashboard-v2 [id="dados-conta"] { scroll-margin-top:24px; }
.client-dashboard-v2 .client-dash-breadcrumb {
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;
    color:#7A8490;
    font-size:11px;
}
.client-dashboard-v2 .client-dash-breadcrumb a { color:#737D87; }
.client-dashboard-v2 .client-dash-breadcrumb a:hover { color:var(--client-accent); }
.client-dashboard-v2 .client-dash-breadcrumb strong { color:#414853; font-weight:600; }
.client-dashboard-v2 .client-dash-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}
.client-dashboard-v2 .client-dash-eyebrow {
    display:block;
    color:var(--client-accent);
    font-size:10px;
    font-weight:700;
    letter-spacing:.11em;
}
.client-dashboard-v2 .client-dash-heading h1 {
    margin:4px 0 5px;
    font-size:clamp(25px,2.8vw,33px);
    font-weight:600;
    letter-spacing:-.032em;
    line-height:1.17;
}
.client-dashboard-v2 .client-dash-heading p { margin:0; color:var(--client-muted); font-size:12.5px; }
.client-dashboard-v2 .client-dash-market-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:43px;
    border:1px solid #E7CCD0;
    border-radius:10px;
    padding:0 13px;
    color:var(--client-accent);
    background:#fff;
    font-size:11.5px;
    font-weight:700;
    white-space:nowrap;
    box-shadow:0 2px 8px rgba(17,24,39,.02);
}
.client-dashboard-v2 .client-dash-market-link:hover { border-color:var(--client-accent); background:#FFF8F8; }
.client-dashboard-v2 .client-dash-market-link svg { width:17px; height:17px; }
.client-dashboard-v2 .client-dash-shell {
    display:grid;
    grid-template-columns:253px minmax(0,1fr);
    align-items:start;
    gap:22px;
}
.client-dashboard-v2 .client-dash-content { min-width:0; display:grid; gap:19px; }

/* Menu da conta */
.client-dashboard-v2 .client-dash-sidebar {
    position:sticky;
    top:16px;
    overflow:hidden;
    border:1px solid var(--client-stroke);
    border-radius:15px;
    background:#fff;
    box-shadow:0 6px 25px rgba(30,37,50,.035);
}
.client-dashboard-v2 .client-dash-side-profile { padding:21px 18px 17px; border-bottom:1px solid #EDF0F2; }
.client-dashboard-v2 .client-dash-side-profile-top { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.client-dashboard-v2 .client-dash-avatar {
    width:59px;
    height:59px;
    display:grid;
    place-items:center;
    border-radius:17px;
    color:#fff;
    background:linear-gradient(140deg,#C1272D,#E96130);
    font-size:24px;
    font-weight:600;
    box-shadow:0 6px 13px rgba(193,39,45,.16);
}
.client-dashboard-v2 .client-dash-profile-identity { min-width:0; width:100%; }
.client-dashboard-v2 .client-dash-profile-identity small {
    display:block;
    margin-bottom:4px;
    color:var(--client-accent);
    font-size:9.5px;
    font-weight:700;
    letter-spacing:.08em;
}
.client-dashboard-v2 .client-dash-profile-identity strong {
    display:block;
    overflow-wrap:anywhere;
    color:#262D36;
    font-size:15px;
    font-weight:600;
    line-height:1.35;
}
.client-dashboard-v2 .client-dash-profile-identity > span {
    display:block;
    overflow:hidden;
    margin-top:4px;
    color:#6B7682;
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.client-dashboard-v2 .client-dash-account-detail {
    margin-top:17px;
    padding-top:12px;
    border-top:1px solid #EEF0F3;
}
.client-dashboard-v2 .client-dash-account-detail span { display:block; color:#88909A; font-size:10px; }
.client-dashboard-v2 .client-dash-account-detail strong { display:block; margin-top:3px; color:#474F59; font-size:11.5px; font-weight:600; }
.client-dashboard-v2 .client-dash-side-menu { display:grid; gap:3px; padding:17px 10px; }
.client-dashboard-v2 .client-dash-menu-label {
    padding:0 11px 8px;
    color:#98A0A8;
    font-size:9px;
    font-weight:700;
    letter-spacing:.12em;
}
.client-dashboard-v2 .client-dash-side-menu a {
    display:flex;
    align-items:center;
    gap:11px;
    min-height:44px;
    padding:0 12px;
    border-radius:9px;
    color:#525E6A;
    font-size:11.5px;
    font-weight:500;
    transition:background .18s,color .18s;
}
.client-dashboard-v2 .client-dash-side-menu a svg { width:19px; height:19px; color:#7E8995; }
.client-dashboard-v2 .client-dash-side-menu a span { flex:1; }
.client-dashboard-v2 .client-dash-side-menu a b {
    min-width:23px;
    display:grid;
    place-items:center;
    padding:3px 6px;
    border-radius:6px;
    color:#808A94;
    background:#F0F2F4;
    font-size:10px;
    font-weight:600;
}
.client-dashboard-v2 .client-dash-side-menu a:hover { color:var(--client-accent); background:#FFF7F7; }
.client-dashboard-v2 .client-dash-side-menu a.is-active { color:var(--client-accent); background:#FDF0F1; font-weight:700; }
.client-dashboard-v2 .client-dash-side-menu a.is-active svg { color:var(--client-accent); }
.client-dashboard-v2 .client-dash-side-bottom {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0 13px 14px;
    padding:12px;
    border:1px solid #E5E9ED;
    border-radius:10px;
    background:#FAFBFC;
}
.client-dashboard-v2 .client-dash-security-icon {
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:9px;
    color:#257455;
    background:#ECF8F1;
}
.client-dashboard-v2 .client-dash-security-icon svg { width:18px; height:18px; }
.client-dashboard-v2 .client-dash-side-bottom strong { display:block; color:#47515B; font-size:10.5px; font-weight:600; }
.client-dashboard-v2 .client-dash-side-bottom p { margin:3px 0 0; color:#7C858F; font-size:9.5px; line-height:1.5; }

/* Saudação/último pedido */
.client-dashboard-v2 .client-dash-welcome {
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1fr) 230px;
    align-items:center;
    gap:20px;
    padding:24px 27px;
    border:1px solid #E3E6EB;
    border-radius:15px;
    background:linear-gradient(110deg,#fff 0%,#fff 63%,#FFF7F2 100%);
    box-shadow:0 5px 18px rgba(17,24,39,.025);
}
.client-dashboard-v2 .client-dash-welcome:before {
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:linear-gradient(#C1272D,#F47016);
    content:"";
}
.client-dashboard-v2 .client-dash-welcome > div > span { color:var(--client-accent); font-size:9.5px; font-weight:700; letter-spacing:.09em; }
.client-dashboard-v2 .client-dash-welcome h2 { margin:6px 0 8px; font-size:clamp(20px,2.4vw,27px); line-height:1.22; font-weight:600; letter-spacing:-.02em; }
.client-dashboard-v2 .client-dash-welcome p { max-width:510px; margin:0; color:#697481; font-size:11.5px; line-height:1.65; }
.client-dashboard-v2 .client-dash-latest {
    display:grid;
    justify-items:start;
    gap:3px;
    padding:15px 16px;
    border:1px solid #EEDCE0;
    border-radius:11px;
    background:#fff;
    transition:transform .15s,border-color .15s;
}
.client-dashboard-v2 .client-dash-latest:hover { transform:translateY(-2px); border-color:#DFA8AD; }
.client-dashboard-v2 .client-dash-latest > span:first-child { color:#8D6870; font-size:9px; font-weight:700; letter-spacing:.07em; }
.client-dashboard-v2 .client-dash-latest > strong { font-size:20px; color:#30343D; font-weight:600; }
.client-dashboard-v2 .client-dash-latest > small { max-width:100%; overflow:hidden; color:#7C858F; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.client-dashboard-v2 .client-dash-latest-action { display:flex; align-items:center; gap:5px; margin-top:6px; color:var(--client-accent); font-size:10.5px; font-weight:700; }
.client-dashboard-v2 .client-dash-latest-action svg { width:15px; height:15px; }
.client-dashboard-v2 .client-dash-latest-empty > svg { width:23px; height:23px; color:var(--client-accent); }
.client-dashboard-v2 .client-dash-latest-empty > strong { font-size:12px; }

/* 4 indicadores */
.client-dashboard-v2 .client-dash-metrics {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:13px;
}
.client-dashboard-v2 .client-dash-metric {
    display:flex;
    align-items:center;
    gap:11px;
    min-height:104px;
    min-width:0;
    padding:16px 13px;
    border:1px solid #E2E6EA;
    border-radius:12px;
    background:#fff;
    box-shadow:0 5px 15px rgba(17,24,39,.027);
}
.client-dashboard-v2 .client-dash-metric-icon {
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:41px;
    height:41px;
    border-radius:11px;
}
.client-dashboard-v2 .client-dash-metric-icon svg { width:21px; height:21px; }
.client-dashboard-v2 .client-dash-metric-icon.red { color:#C1272D; background:#FDEEEF; }
.client-dashboard-v2 .client-dash-metric-icon.orange { color:#C66B13; background:#FFF2E7; }
.client-dashboard-v2 .client-dash-metric-icon.green { color:#21835B; background:#EBF8F1; }
.client-dashboard-v2 .client-dash-metric-icon.blue { color:#3769A7; background:#EDF3FD; }
.client-dashboard-v2 .client-dash-metric > div { min-width:0; }
.client-dashboard-v2 .client-dash-metric > div > span { display:block; color:#6C7782; font-size:10px; font-weight:500; line-height:1.35; }
.client-dashboard-v2 .client-dash-metric > div > strong { display:block; margin:4px 0; color:#222831; font-size:25px; font-weight:600; line-height:1; }
.client-dashboard-v2 .client-dash-metric > div > small { display:block; color:#89919B; font-size:9px; line-height:1.4; }

/* Painéis */
.client-dashboard-v2 .client-dash-panel {
    min-width:0;
    overflow:hidden;
    border:1px solid #E0E4E8;
    border-radius:14px;
    background:#fff;
    box-shadow:0 5px 20px rgba(17,24,39,.035);
}
.client-dashboard-v2 .client-dash-panel-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:20px 22px;
    border-bottom:1px solid #ECEFF2;
}
.client-dashboard-v2 .client-dash-panel-heading h2 { margin:4px 0 3px; color:#29313A; font-size:19px; line-height:1.3; font-weight:600; }
.client-dashboard-v2 .client-dash-panel-heading p { margin:0; color:#74808B; font-size:11px; line-height:1.5; }
.client-dashboard-v2 .client-dash-header-counter {
    flex:0 0 auto;
    padding:7px 10px;
    border:1px solid #E3E7EA;
    border-radius:8px;
    color:#66717D;
    background:#F8F9FA;
    font-size:10px;
    font-weight:600;
}
.client-dashboard-v2 .client-dash-filters {
    display:grid;
    grid-template-columns:minmax(0,1fr) 210px;
    align-items:end;
    gap:13px;
    padding:15px 22px;
    border-bottom:1px solid #ECEFF2;
}
.client-dashboard-v2 .client-dash-search { display:flex; align-items:center; gap:10px; height:43px; border:1px solid #D9DEE4; border-radius:9px; padding:0 13px; background:#fff; }
.client-dashboard-v2 .client-dash-search svg { width:17px; height:17px; color:#7B8792; }
.client-dashboard-v2 .client-dash-search:focus-within { border-color:#C1272D; box-shadow:0 0 0 3px rgba(193,39,45,.08); }
.client-dashboard-v2 .client-dash-search input { min-width:0; width:100%; height:100%; border:0; outline:0; color:#2B323B; background:transparent; font-size:11.5px; }
.client-dashboard-v2 .client-dash-search input::placeholder { color:#929BA4; }
.client-dashboard-v2 .client-dash-select-wrap > span { display:block; margin-bottom:6px; color:#6D7783; font-size:10px; font-weight:600; }
.client-dashboard-v2 .client-dash-select-wrap select { width:100%; height:43px; border:1px solid #D9DEE4; border-radius:9px; padding:0 10px; outline:0; color:#3E4752; background:#fff; font:500 11px Poppins,Arial,sans-serif; cursor:pointer; }
.client-dashboard-v2 .client-dash-select-wrap select:focus { border-color:#C1272D; box-shadow:0 0 0 3px rgba(193,39,45,.08); }
.client-dashboard-v2 .client-dash-order-list { display:grid; }
.client-dashboard-v2 .client-dash-order {
    display:grid;
    grid-template-columns:47px minmax(0,1fr) minmax(125px,.55fr) minmax(186px,.65fr);
    align-items:center;
    gap:13px;
    min-width:0;
    padding:19px 21px;
    border-bottom:1px solid #EEF0F2;
    transition:background .15s;
}
.client-dashboard-v2 .client-dash-order[hidden] { display:none!important; }
.client-dashboard-v2 .client-dash-order:last-child { border-bottom:0; }
.client-dashboard-v2 .client-dash-order:hover { background:#FCFCFD; }
.client-dashboard-v2 .client-dash-order-store-icon {
    width:47px;
    height:47px;
    display:grid;
    place-items:center;
    border:1px solid #F1DBDC;
    border-radius:12px;
    color:#B42D35;
    background:#FDF3F3;
    font-size:16px;
    font-weight:600;
}
.client-dashboard-v2 .client-dash-order-main { min-width:0; }
.client-dashboard-v2 .client-dash-order-meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px; color:#828B96; font-size:9.5px; line-height:1.4; }
.client-dashboard-v2 .client-dash-order-meta span:first-child { color:#BD4249; font-weight:700; }
.client-dashboard-v2 .client-dash-dot { width:4px; height:4px; border-radius:50%; background:#B3BAC2; }
.client-dashboard-v2 .client-dash-order-main h3 { margin:4px 0; overflow:hidden; color:#2C343E; font-size:12.5px; font-weight:600; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.client-dashboard-v2 .client-dash-order-items { display:block; color:#89919B; font-size:10px; }
.client-dashboard-v2 .client-dash-order-state { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.client-dashboard-v2 .client-dash-order .client-status-badge {
    min-height:28px;
    padding:5px 9px;
    border-radius:7px;
    font-size:10px;
    font-weight:600;
    line-height:1.35;
    white-space:normal;
}
.client-dashboard-v2 .client-dash-order .client-payment-label { font-size:9.5px; font-weight:600; line-height:1.4; }
.client-dashboard-v2 .client-dash-order-end { min-width:0; display:grid; justify-items:end; }
.client-dashboard-v2 .client-dash-order-end > span { color:#88919B; font-size:9.5px; }
.client-dashboard-v2 .client-dash-order-end > strong { display:block; color:#2A3038; font-size:15px; font-weight:700; line-height:1.45; }
.client-dashboard-v2 .client-dash-order-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:7px; margin-top:10px; }
.client-dashboard-v2 .client-dash-order-actions a {
    min-height:33px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    border-radius:7px;
    padding:0 9px;
    font-size:9.5px;
    font-weight:700;
    white-space:nowrap;
}
.client-dashboard-v2 .client-dash-order-actions a.primary { color:#fff; background:#C1272D; }
.client-dashboard-v2 .client-dash-order-actions a.primary:hover { background:#AA2027; }
.client-dashboard-v2 .client-dash-order-actions a.visit { border:1px solid #E0E4E9; color:#586572; background:#fff; }
.client-dashboard-v2 .client-dash-order-actions a.visit:hover { color:#C1272D; border-color:#E6B8BD; }
.client-dashboard-v2 .client-dash-order-actions a svg { width:13px; height:13px; }
.client-dashboard-v2 .client-dash-list-footer { margin:0; padding:13px 21px; border-top:1px solid #EEF0F2; color:#89929C; font-size:10px; }
.client-dashboard-v2 .client-dash-filter-empty { padding:28px 18px; color:#7D858F; font-size:12px; text-align:center; }
.client-dashboard-v2 .client-dash-filter-empty[hidden] { display:none; }

/* Compras presenciais */
.client-dashboard-v2 .client-dash-pdv-list { display:grid; }
.client-dashboard-v2 .client-dash-pdv-row {
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto 120px;
    align-items:center;
    gap:12px;
    min-height:77px;
    padding:13px 22px;
    border-bottom:1px solid #EEF0F2;
}
.client-dashboard-v2 .client-dash-pdv-row:last-child { border:0; }
.client-dashboard-v2 .client-dash-pdv-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:10px; color:#466FA8; background:#EEF3FA; }
.client-dashboard-v2 .client-dash-pdv-icon svg { width:19px; height:19px; }
.client-dashboard-v2 .client-dash-pdv-info { min-width:0; }
.client-dashboard-v2 .client-dash-pdv-info strong { display:block; color:#333B44; font-size:12px; font-weight:600; }
.client-dashboard-v2 .client-dash-pdv-info small { display:block; margin-top:3px; color:#818B95; font-size:10px; line-height:1.45; }
.client-dashboard-v2 .client-dash-pdv-row .client-status-badge { min-height:28px; padding:5px 9px; font-size:10px; }
.client-dashboard-v2 .client-dash-pdv-value { color:#303843; font-size:13px; text-align:right; font-weight:700; white-space:nowrap; }
.client-dashboard-v2 .client-dash-pdv-empty { padding:29px 20px; color:#77828C; font-size:11.5px; text-align:center; }

/* Estados vazios e dados */
.client-dashboard-v2 .client-dash-empty { display:grid; justify-items:center; text-align:center; padding:45px 18px; }
.client-dashboard-v2 .client-dash-empty-icon { width:63px; height:63px; display:grid; place-items:center; border-radius:18px; background:#FCEEF0; color:#C1272D; }
.client-dashboard-v2 .client-dash-empty-icon svg { width:30px; height:30px; }
.client-dashboard-v2 .client-dash-empty h3 { margin:15px 0 5px; color:#2D343E; font-size:16px; font-weight:600; }
.client-dashboard-v2 .client-dash-empty p { max-width:440px; margin:0; color:#7C8691; font-size:11.5px; line-height:1.6; }
.client-dashboard-v2 .client-dash-empty a { display:inline-flex; align-items:center; gap:7px; min-height:39px; margin-top:17px; padding:0 13px; border-radius:8px; color:#fff; background:#C1272D; font-size:11px; font-weight:700; }
.client-dashboard-v2 .client-dash-empty a svg { width:15px; height:15px; }
.client-dashboard-v2 .client-dash-account-note { display:flex; align-items:center; gap:13px; padding:15px 18px; border:1px solid #E0E5EA; border-radius:12px; background:#fff; }
.client-dashboard-v2 .client-dash-account-note > span { width:41px; height:41px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; background:#F4F5F7; color:#737F8C; }
.client-dashboard-v2 .client-dash-account-note > span svg { width:20px; height:20px; }
.client-dashboard-v2 .client-dash-account-note strong { display:block; color:#424B56; font-size:11.5px; font-weight:600; }
.client-dashboard-v2 .client-dash-account-note p { margin:3px 0 0; overflow-wrap:anywhere; color:#7E8893; font-size:10.5px; line-height:1.5; }

@media (max-width:1230px) {
    .client-dashboard-v2 .client-dash-shell { grid-template-columns:222px minmax(0,1fr); gap:16px; }
    .client-dashboard-v2 .client-dash-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .client-dashboard-v2 .client-dash-metric { min-height:92px; }
    .client-dashboard-v2 .client-dash-order { grid-template-columns:45px minmax(0,1fr) minmax(122px,.6fr); }
    .client-dashboard-v2 .client-dash-order-end { grid-column:2/-1; display:flex; align-items:center; justify-content:space-between; justify-items:unset; gap:10px; padding-top:3px; }
    .client-dashboard-v2 .client-dash-order-end > span { display:none; }
    .client-dashboard-v2 .client-dash-order-actions { margin-top:0; }
}
@media (max-width:920px) {
    .client-dashboard-v2 .client-dash-shell { grid-template-columns:1fr; }
    .client-dashboard-v2 .client-dash-sidebar { position:static; }
    .client-dashboard-v2 .client-dash-side-profile { padding:15px 18px; }
    .client-dashboard-v2 .client-dash-side-profile-top { flex-direction:row; align-items:center; }
    .client-dashboard-v2 .client-dash-avatar { width:48px; height:48px; font-size:19px; }
    .client-dashboard-v2 .client-dash-account-detail { display:none; }
    .client-dashboard-v2 .client-dash-side-menu { display:flex; gap:6px; overflow-x:auto; padding:8px 12px 13px; scrollbar-width:thin; }
    .client-dashboard-v2 .client-dash-side-menu a { flex:0 0 auto; min-height:40px; }
    .client-dashboard-v2 .client-dash-menu-label,.client-dashboard-v2 .client-dash-side-bottom { display:none; }
}
@media (max-width:680px) {
    body.client-account-page .client-account-container,
    body.client-account-page .client-platform-container { width:min(100% - 24px,1320px); }
    .client-dashboard-v2 { padding-top:16px; padding-bottom:42px; }
    .client-dashboard-v2 .client-dash-heading { align-items:flex-start; flex-direction:column; gap:12px; }
    .client-dashboard-v2 .client-dash-market-link { width:100%; }
    .client-dashboard-v2 .client-dash-welcome { grid-template-columns:1fr; gap:15px; padding:21px 18px; }
    .client-dashboard-v2 .client-dash-latest { max-width:100%; }
    .client-dashboard-v2 .client-dash-filters { grid-template-columns:1fr; padding:14px; }
    .client-dashboard-v2 .client-dash-panel-heading { padding:17px 15px; }
    .client-dashboard-v2 .client-dash-order { grid-template-columns:43px minmax(0,1fr); gap:10px; padding:17px 15px; }
    .client-dashboard-v2 .client-dash-order-store-icon { width:43px; height:43px; }
    .client-dashboard-v2 .client-dash-order-state { grid-column:2; flex-direction:row; align-items:center; flex-wrap:wrap; }
    .client-dashboard-v2 .client-dash-order-end { grid-column:1/-1; border-top:1px solid #EEF0F2; padding-top:12px; }
    .client-dashboard-v2 .client-dash-order-end > strong { font-size:16px; }
    .client-dashboard-v2 .client-dash-pdv-row { grid-template-columns:38px minmax(0,1fr) auto; padding:13px 14px; }
    .client-dashboard-v2 .client-dash-pdv-icon { width:38px; height:38px; }
    .client-dashboard-v2 .client-dash-pdv-row .client-status-badge { grid-column:2; justify-self:start; }
    .client-dashboard-v2 .client-dash-pdv-value { grid-column:3; grid-row:1/3; }
}
@media (max-width:430px) {
    .client-dashboard-v2 .client-dash-heading h1 { font-size:26px; }
    .client-dashboard-v2 .client-dash-metrics { gap:9px; }
    .client-dashboard-v2 .client-dash-metric { flex-direction:column; align-items:flex-start; gap:9px; padding:13px; }
    .client-dashboard-v2 .client-dash-metric-icon { width:36px; height:36px; }
    .client-dashboard-v2 .client-dash-metric-icon svg { width:19px; height:19px; }
    .client-dashboard-v2 .client-dash-metric > div > strong { font-size:23px; }
    .client-dashboard-v2 .client-dash-header-counter { padding:6px 8px; font-size:9px; }
    .client-dashboard-v2 .client-dash-order-end { flex-direction:column; align-items:stretch; gap:10px; }
    .client-dashboard-v2 .client-dash-order-actions { justify-content:stretch; }
    .client-dashboard-v2 .client-dash-order-actions a { flex:1; }
    .client-dashboard-v2 .client-dash-pdv-row { grid-template-columns:35px minmax(0,1fr); }
    .client-dashboard-v2 .client-dash-pdv-value { grid-column:2; grid-row:auto; justify-self:start; }
}
@media (prefers-reduced-motion:reduce) {
    .client-dashboard-v2 .client-dash-latest,
    .client-dashboard-v2 .client-dash-order,
    .client-dashboard-v2 .client-dash-side-menu a { transition:none!important; }
}

/* =========================================================
   PILAR ONLINE · LOGIN DO CLIENTE
   Layout alinhado ao dashboard. Escopo exclusivo do login.
========================================================= */
body.client-login-page {
    --login-red: #C1272D;
    --login-orange: #F47016;
    --login-text: #222934;
    --login-muted: #64707E;
    --login-border: #DDE3E9;
    min-height: 100vh;
    margin: 0;
    color: var(--login-text);
    background: #F5F6F8;
    font-family: Poppins, Arial, sans-serif;
    font-size: 14px;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
.client-login-page .client-login-shell {
    width: min(1190px, calc(100% - 48px));
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
}
.client-login-page .client-login-topbar {
    min-height: 99px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}
.client-login-page .client-login-brand {
    display: inline-flex;
    align-items: center;
}
.client-login-page .client-login-brand img {
    width: 196px;
    max-width: 100%;
    max-height: 68px;
    object-fit: contain;
    object-position: left center;
}
.client-login-page .client-login-back {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #515C69;
    font-size: 12px;
    font-weight: 600;
    transition: color .16s ease;
}
.client-login-page .client-login-back:hover { color: var(--login-red); }
.client-login-page .client-login-back svg { width: 16px; height: 16px; }
.client-login-page .client-login-layout {
    min-height: 610px;
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #E1E5E9;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(22, 30, 40, .075);
}
/* Editorial da marca */
.client-login-page .client-login-showcase {
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    isolation: isolate;
    padding: 40px 43px 28px;
    color: #fff;
    background: linear-gradient(139deg, #981B22 0%, #C1272D 57%, #E44B28 100%);
}
.client-login-page .client-login-showcase::before {
    content: '';
    position: absolute;
    z-index: -1;
    right: -170px;
    top: 16%;
    width: 390px;
    height: 390px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
    box-shadow: 0 0 0 62px rgba(255,255,255,.04), 0 0 0 138px rgba(255,255,255,.035);
}
.client-login-page .client-login-showcase::after {
    content: '';
    position: absolute;
    z-index: -1;
    left: -155px;
    bottom: -235px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: rgba(255, 164, 65, .11);
}
.client-login-page .client-login-showcase-content { position: relative; }
.client-login-page .client-login-showcase-label {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    color: rgba(255,255,255,.87);
}
.client-login-page .client-login-dot {
    width: 8px;
    height: 8px;
    flex: none;
    border-radius: 50%;
    background: #FFA56D;
    box-shadow: 0 0 0 4px rgba(255,255,255,.12);
}
.client-login-page .client-login-showcase-main { margin-top: 57px; }
.client-login-page .client-login-symbol {
    width: 73px;
    height: 73px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 17px;
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(5px);
}
.client-login-page .client-login-symbol svg { width: 46px; height: 46px; }
.client-login-page .client-login-showcase h1 {
    margin: 28px 0 16px;
    color: #fff;
    font-size: clamp(31px, 3.4vw, 44px);
    font-weight: 700;
    line-height: 1.19;
    letter-spacing: -.045em;
}
.client-login-page .client-login-showcase h1 em {
    color: #FFD6B5;
    font-style: normal;
}
.client-login-page .client-login-showcase-main > p {
    max-width: 370px;
    margin: 0;
    color: rgba(255,255,255,.87);
    font-size: 12.5px;
    line-height: 1.8;
}
.client-login-page .client-login-benefits {
    display: grid;
    gap: 17px;
    margin-top: 49px;
}
.client-login-page .client-login-benefits > div {
    display: flex;
    align-items: center;
    gap: 13px;
}
.client-login-page .client-login-benefit-icon {
    width: 43px;
    height: 43px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.19);
    border-radius: 12px;
    background: rgba(255,255,255,.11);
}
.client-login-page .client-login-benefit-icon svg { width: 21px; height: 21px; }
.client-login-page .client-login-benefits strong,
.client-login-page .client-login-benefits small { display: block; }
.client-login-page .client-login-benefits strong { font-size: 12.5px; font-weight: 600; }
.client-login-page .client-login-benefits small { margin-top: 3px; color: rgba(255,255,255,.78); font-size: 10px; line-height: 1.5; }
.client-login-page .client-login-showcase-foot {
    position: relative;
    margin-top: 45px;
    color: rgba(255,255,255,.59);
    font-size: 10px;
}
/* Painel de autenticação */
.client-login-page .client-login-panel {
    min-width: 0;
    display: grid;
    align-items: center;
    padding: 54px clamp(28px, 5.2vw, 73px);
}
.client-login-page .client-login-panel-inner { max-width: 490px; width: 100%; margin-inline: auto; }
.client-login-page .client-login-eyebrow {
    display: block;
    color: var(--login-red);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
}
.client-login-page .client-login-heading h2 {
    margin: 10px 0 10px;
    color: #202731;
    font-size: clamp(25px, 2.6vw, 32px);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.23;
}
.client-login-page .client-login-heading p {
    margin: 0;
    color: var(--login-muted);
    font-size: 13px;
    line-height: 1.7;
}
.client-login-page .client-login-form { display: grid; gap: 20px; margin-top: 29px; }
.client-login-page .client-login-field label {
    display: block;
    margin-bottom: 9px;
    color: #303A45;
    font-size: 12.5px;
    font-weight: 600;
}
.client-login-page .client-login-input-wrap {
    min-width: 0;
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    border: 1px solid #C9D1D9;
    border-radius: 10px;
    background: #fff;
    transition: border-color .18s, box-shadow .18s;
}
.client-login-page .client-login-input-wrap:focus-within {
    border-color: var(--login-red);
    box-shadow: 0 0 0 3px rgba(193,39,45,.08);
}
.client-login-page .client-login-input-wrap > svg {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    color: #798591;
}
.client-login-page .client-login-input-wrap input {
    width: 100%;
    min-width: 0;
    height: 52px;
    border: 0;
    outline: 0;
    padding: 0;
    color: #232A33;
    background: transparent;
    font-family: Poppins, Arial, sans-serif;
    font-size: 13px;
    font-weight: 500;
}
.client-login-page .client-login-input-wrap input::placeholder { color: #99A2AD; font-weight: 400; }
.client-login-page .client-login-input-wrap:has(input[aria-invalid="true"]) { border-color: #DB888F; }
.client-login-page .client-login-visibility {
    min-height: 39px;
    flex: 0 0 auto;
    border: 0;
    padding: 0 2px 0 10px;
    color: var(--login-red);
    background: transparent;
    font-family: Poppins, Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}
.client-login-page .client-login-visibility:hover { color: #8F171F; }
.client-login-page .client-login-visibility:focus-visible,
.client-login-page .client-login-submit:focus-visible,
.client-login-page .client-login-register a:focus-visible,
.client-login-page .client-login-back:focus-visible { outline: 3px solid #F5A668; outline-offset: 3px; }
.client-login-page .client-login-submit {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: var(--login-red);
    font: 700 13px Poppins, Arial, sans-serif;
    cursor: pointer;
    transition: background .17s ease, transform .17s ease;
}
.client-login-page .client-login-submit svg { width: 18px; height: 18px; }
.client-login-page .client-login-submit:hover { background: #A51C24; transform: translateY(-1px); }
.client-login-page .client-login-submit:active { transform: translateY(0); }
.client-login-page .client-login-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 22px;
    padding: 13px;
    border: 1px solid #EBC9CC;
    border-radius: 10px;
    color: #962C34;
    background: #FFF1F2;
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.65;
}
.client-login-page .client-login-alert svg { width: 19px; height: 19px; flex: none; margin-top: 1px; }
.client-login-page .client-login-register {
    display: grid;
    justify-items: center;
    gap: 11px;
    margin-top: 24px;
    padding-top: 23px;
    border-top: 1px solid #E9ECEF;
    text-align: center;
}
.client-login-page .client-login-register > span { color: #727C88; font-size: 11.5px; }
.client-login-page .client-login-register a {
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid #E4B9BC;
    border-radius: 9px;
    color: var(--login-red);
    background: #FFF9F9;
    font-size: 12px;
    font-weight: 700;
    transition: background .17s ease, border-color .17s ease;
}
.client-login-page .client-login-register a:hover { background: #FCEEEE; border-color: #CA7E83; }
.client-login-page .client-login-register a svg { width: 17px; height: 17px; }
.client-login-page .client-login-account-info {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 22px;
    padding: 13px;
    border: 1px solid #E1E7EC;
    border-radius: 10px;
    background: #F8FAFB;
}
.client-login-page .client-login-info-icon {
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #687782;
    background: #E8EEF2;
}
.client-login-page .client-login-info-icon svg { width: 17px; height: 17px; }
.client-login-page .client-login-account-info p { margin: 0; color: #64717E; font-size: 10.5px; line-height: 1.65; }
.client-login-page .client-login-account-info p strong { display: block; margin-bottom: 2px; color: #34404B; font-size: 11px; font-weight: 700; }
.client-login-page .client-login-panel-foot { margin: 22px 0 0; color: #9AA3AD; font-size: 9.5px; text-align: center; }
.client-login-page .client-login-footer {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    color: #828B95;
    font-size: 11px;
}
.client-login-page .client-login-footer a:hover { color: var(--login-red); }
@media (max-width: 980px) {
    .client-login-page .client-login-layout { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); }
    .client-login-page .client-login-showcase { padding-inline: 27px; }
    .client-login-page .client-login-panel { padding-inline: 29px; }
    .client-login-page .client-login-showcase h1 { font-size: 33px; }
}
@media (max-width: 740px) {
    .client-login-page .client-login-shell { width: min(100% - 28px, 570px); }
    .client-login-page .client-login-topbar { min-height: 78px; }
    .client-login-page .client-login-brand img { width: 163px; }
    .client-login-page .client-login-back { font-size: 0; }
    .client-login-page .client-login-back svg { width: 20px; height: 20px; }
    .client-login-page .client-login-layout { min-height: 0; grid-template-columns: 1fr; border-radius: 15px; }
    .client-login-page .client-login-showcase { padding: 20px 22px 21px; }
    .client-login-page .client-login-showcase-label { font-size: 9px; }
    .client-login-page .client-login-showcase-main { margin-top: 15px; }
    .client-login-page .client-login-symbol { display: none; }
    .client-login-page .client-login-showcase h1 { margin: 0 0 5px; font-size: 24px; letter-spacing: -.03em; }
    .client-login-page .client-login-showcase h1 br { display: none; }
    .client-login-page .client-login-showcase h1 em::before { content: ' '; }
    .client-login-page .client-login-showcase-main > p { font-size: 10.5px; line-height: 1.5; }
    .client-login-page .client-login-benefits, .client-login-page .client-login-showcase-foot { display: none; }
    .client-login-page .client-login-panel { display: block; padding: 30px 24px; }
    .client-login-page .client-login-heading h2 { font-size: 26px; }
    .client-login-page .client-login-footer { min-height: 69px; }
}
@media (max-width: 420px) {
    .client-login-page .client-login-shell { width: calc(100% - 20px); }
    .client-login-page .client-login-panel { padding: 25px 18px; }
    .client-login-page .client-login-heading h2 { font-size: 24px; }
    .client-login-page .client-login-input-wrap input { font-size: 13px; }
    .client-login-page .client-login-footer { align-items: flex-start; flex-direction: column; justify-content: center; gap: 3px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .client-login-page .client-login-submit,
    .client-login-page .client-login-register a,
    .client-login-page .client-login-back { transition: none; }
}
