[hidden] {
    display: none !important;
}

/* Estado exclusivo da área do cliente: impede que login e painel sejam
   exibidos simultaneamente mesmo diante de regras antigas de layout/cache. */
#cliente-portal.is-authenticated [data-auth] {
    display: none !important;
}

#cliente-portal:not(.is-authenticated) [data-dashboard] {
    display: none !important;
}

.cp-auth-card form .cp-auth-link {
    display: block;
    width: 100%;
    margin-top: 10px;
    padding: 6px;
    border: 0;
    background: transparent;
    color: var(--cp-red);
    font-size: 13px;
    font-weight: 800;
    text-decoration: underline;
    box-shadow: none;
}

/* O portal não possui imagens ou SVGs soltos diretamente no body. Esta regra
   impede placeholders externos/quebrados de ocuparem o canto da página. */
body > img,
body > svg {
    display: none !important;
}

[data-cep-feedback] {
    color: var(--cp-muted);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
}

[data-cep-feedback].is-error {
    color: var(--cp-red);
}

.cp-order-group-title {
    margin: 18px 2px 9px;
    font-size: 15px;
}

.cp-order-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.cp-order-link:hover .cp-order {
    border-color: #b8c2cf;
    box-shadow: 0 10px 24px rgba(21, 32, 51, .08);
    transform: translateY(-1px);
}

.cp-order {
    transition: .18s ease;
}

.cp-order.is-active {
    border-left: 5px solid var(--cp-red);
}

.cp-order.is-active .cp-status {
    background: #fff0ef;
    color: var(--cp-red);
}

.cp-auth-link {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 5px;
    border: 0;
    background: transparent;
    color: var(--cp-red);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-decoration: underline;
    cursor: pointer;
}

.cp-recovery-copy {
    display: grid;
    gap: 4px;
    margin: 2px 0 14px;
}

.cp-recovery-copy strong { font-size: 18px; }
.cp-recovery-copy span { color: var(--cp-muted); font-size: 13px; line-height: 1.45; }
[data-recovery-fields] { display: grid; gap: 14px; margin-top: 14px; }

.cp-profile-title { margin-top:22px; }
.cp-profile-title p,
.cp-profile-security p { margin-top:5px; }
.cp-profile-form {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 18px;
    max-width:960px;
    padding:26px;
}
.cp-profile-form label { margin-bottom:14px; }
.cp-profile-card-head {
    display:flex;
    align-items:center;
    gap:13px;
    padding-bottom:18px;
    margin-bottom:14px;
    border-bottom:1px solid var(--cp-line);
}
.cp-profile-card-head>span,
.cp-profile-confirm-icon {
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#fff1ef;
    font-size:20px;
}
.cp-profile-card-head strong,
.cp-profile-confirm strong { display:block; font-size:16px; }
.cp-profile-card-head small,
.cp-profile-confirm small { display:block; margin-top:3px; color:var(--cp-muted); line-height:1.45; }
.cp-profile-confirm {
    display:grid;
    grid-template-columns:44px minmax(0,1fr) minmax(220px,300px);
    align-items:center;
    gap:13px;
    padding:16px;
    margin-top:4px;
    border:1px solid #e7d9c6;
    border-radius:14px;
    background:#fffaf2;
}
.cp-profile-confirm-icon { background:#fff0d7; }
.cp-profile-confirm label { margin:0; }
.cp-profile-actions { display:flex; justify-content:flex-end; padding-top:14px; }
.cp-profile-actions .cp-primary { width:auto; min-width:230px; }
.cp-profile-security { margin-top:38px; }
.cp-pin-form--improved {
    max-width:960px;
    padding:24px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.cp-pin-form--improved label { margin:0; }
.cp-pin-actions {
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-top:5px;
}
.cp-pin-actions small { color:var(--cp-muted); }
.cp-pin-actions .cp-primary { width:auto; min-width:210px; }
@media (max-width:640px) {
    .cp-profile-form { grid-template-columns:1fr; padding:18px; gap:2px; }
    .cp-profile-form .cp-span-2 { grid-column:auto; }
    .cp-profile-card-head { align-items:flex-start; }
    .cp-profile-confirm { grid-template-columns:40px 1fr; }
    .cp-profile-confirm-icon { width:40px; height:40px; flex-basis:40px; }
    .cp-profile-confirm label { grid-column:1/-1; margin-top:5px; }
    .cp-profile-actions .cp-primary { width:100%; min-width:0; }
    .cp-pin-form--improved { grid-template-columns:1fr; padding:18px; gap:14px; }
    .cp-pin-actions { align-items:stretch; flex-direction:column; }
    .cp-pin-actions .cp-primary { width:100%; min-width:0; }
}
