/* Compatibility layer for modules that still use Bootstrap markup. */
body.legacy-admin-page {
    --primary: var(--dash-wine);
    --bs-primary: #7b2948;
    --bs-body-color: #2b2025;
    --bs-secondary-color: #75636b;
    --bs-border-color: #eee2e5;
    font-size: 14px;
    line-height: 1.6;
}
.legacy-admin-page a { text-decoration: none; }
.legacy-admin-page :focus-visible { outline: 3px solid #b34b70; outline-offset: 3px; }
.legacy-admin-page .main-content { max-width: 1800px; }
.legacy-admin-page .top-bar {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    min-height: 70px; margin-bottom: 24px; padding: 14px 18px;
    border: 1px solid var(--dash-line); border-radius: 18px;
    background: rgba(255, 255, 255, .88); box-shadow: 0 8px 24px #5b1f3808;
}
.legacy-admin-page .top-bar > .d-flex { min-width: 0; }
.legacy-admin-page .top-bar h4 { font-size: 15px; font-weight: 800; line-height: 1.4; }
.legacy-admin-page .top-bar small { color: #75636b; font-size: 11px; }
.legacy-admin-page .top-bar .dropdown { flex-shrink: 0; }
.legacy-admin-page .top-bar .dropdown strong {
    max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px;
}
.legacy-admin-page .dropdown-menu {
    padding: 8px; border: 1px solid var(--dash-line); border-radius: 14px;
    box-shadow: 0 18px 40px #5b1f3818;
}
.legacy-admin-page .dropdown-item { padding: 10px 12px; border-radius: 9px; font-size: 13px; }
.legacy-admin-page .dropdown-item:hover { color: var(--dash-wine); background: #fbeef2; }
.panel-intro {
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    margin-bottom: 24px; padding: clamp(22px, 3vw, 34px); overflow: hidden;
    border-radius: 22px; color: #fff;
    background: radial-gradient(ellipse at 100% 0, #ffffff26, transparent 65%), linear-gradient(115deg, #7b2948, #a44867);
    box-shadow: 0 14px 28px #7b294814;
}
.panel-intro .panel-eyebrow { display: block; margin-bottom: 8px; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.panel-intro h1 { margin: 0 0 8px; font-size: clamp(24px, 2.4vw, 34px); font-weight: 800; letter-spacing: -.045em; }
.panel-intro p { max-width: 700px; margin: 0; font-size: 13px; line-height: 1.7; }
.panel-intro > i { padding: 16px; border: 1px solid #ffffff45; border-radius: 20px; font-size: 34px; }
.legacy-admin-page .content-card {
    min-width: 0; margin-bottom: 24px; padding: clamp(18px, 2vw, 28px);
    border: 1px solid var(--dash-line); border-radius: 22px; background: #fff;
    box-shadow: 0 8px 24px #5b1f3805;
}
.legacy-admin-page .content-card h5 { font-size: 16px; font-weight: 800; letter-spacing: -.02em; }
.legacy-admin-page .content-card h5 i { margin-right: 7px; color: var(--dash-wine); }
.legacy-admin-page .card-title { margin-bottom: 22px; }
.legacy-admin-page .form-label { margin-bottom: 8px; color: var(--dash-ink); font-size: 12px; font-weight: 700; }
.legacy-admin-page .form-control, .legacy-admin-page .form-select {
    min-height: 46px; padding: 11px 13px; border: 1px solid #dfcfd5; border-radius: 12px;
    color: var(--dash-ink); background-color: #fff; font: inherit; font-size: 13px;
}
.legacy-admin-page .form-control::placeholder { color: #75636b; }
.legacy-admin-page .form-control:focus, .legacy-admin-page .form-select:focus {
    border-color: #b34b70; box-shadow: 0 0 0 3px #b34b701a;
}
.legacy-admin-page .form-control:read-only:not([type="file"]) { background-color: #fbf7f8; }
.legacy-admin-page input[type="file"]::file-selector-button { color: var(--dash-wine); background: #f8e5eb; }
.legacy-admin-page .form-check-input:checked { border-color: var(--dash-wine); background-color: var(--dash-wine); }
.legacy-admin-page .form-check-label { font-size: 13px; }
.legacy-admin-page .text-muted, .legacy-admin-page .form-text { color: #75636b !important; }
.legacy-admin-page .form-text, .legacy-admin-page .config-section > small { display: block; margin-top: 8px; font-size: 11px; }
.legacy-admin-page .btn {
    --bs-btn-border-radius: 11px; min-height: 43px; padding: 10px 16px;
    font-size: 12px; font-weight: 800; line-height: 1.5;
}
.legacy-admin-page .btn-sm { min-height: 36px; padding: 7px 11px; font-size: 11px; }
.legacy-admin-page .btn-primary {
    --bs-btn-bg: #7b2948; --bs-btn-border-color: #7b2948;
    --bs-btn-hover-bg: #5b1f38; --bs-btn-hover-border-color: #5b1f38;
    --bs-btn-active-bg: #5b1f38; --bs-btn-active-border-color: #5b1f38;
    box-shadow: 0 7px 16px #7b294814;
}
.legacy-admin-page .btn-outline-primary, .legacy-admin-page .btn-outline-info {
    --bs-btn-color: #7b2948; --bs-btn-border-color: #dbc0ca;
    --bs-btn-hover-bg: #7b2948; --bs-btn-hover-border-color: #7b2948;
    --bs-btn-hover-color: #fff; --bs-btn-active-bg: #5b1f38;
}
.legacy-admin-page .btn-secondary { --bs-btn-bg: #75636b; --bs-btn-border-color: #75636b; }
.legacy-admin-page .btn-outline-secondary { --bs-btn-color: #67565f; --bs-btn-border-color: #dfcfd5; }
.legacy-admin-page .alert { border-radius: 14px; font-size: 13px; }
.legacy-admin-page .stat-card-fidelidade, .legacy-admin-page .resumo-card {
    position: relative; height: calc(100% - 22px); min-height: 155px; margin-bottom: 22px;
    padding: 23px; border: 1px solid var(--dash-line); border-radius: 20px;
    color: var(--dash-ink); background: #fff; box-shadow: 0 8px 24px #5b1f3805;
}
.legacy-admin-page .stat-card-fidelidade h6, .legacy-admin-page .resumo-card h6 {
    display: flex; align-items: center; gap: 9px; margin-bottom: 15px; font-size: 12px; font-weight: 700;
}
.legacy-admin-page .stat-card-fidelidade h6 i, .legacy-admin-page .resumo-card h6 i {
    display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center;
    border-radius: 11px; color: #7b2948; background: #f8e1e7; font-size: 16px;
}
.legacy-admin-page .metric-mint h6 i { color: #167762; background: #ddf3ed; }
.legacy-admin-page .metric-blue h6 i { color: #315d9e; background: #e5edfb; }
.legacy-admin-page .metric-peach h6 i { color: #96501f; background: #fff0e4; }
.legacy-admin-page .stat-card-fidelidade small { color: #75636b; font-size: 11px; }
.legacy-admin-page .config-section {
    height: calc(100% - 18px); margin-bottom: 18px; padding: 19px;
    border: 1px solid #eee2e5; border-radius: 16px; background: #fcf8f9;
}
.legacy-admin-page .table-responsive { border-radius: 12px; }
.legacy-admin-page .table { --bs-table-color: #2b2025; --bs-table-bg: transparent; --bs-table-hover-bg: #fcf4f6; margin-bottom: 0; font-size: 12px; }
.legacy-admin-page .table > :not(caption) > * > * { padding: 15px 13px; border-bottom-color: #eee2e5; vertical-align: middle; }
.legacy-admin-page .table thead th { color: #75636b; background: #fcf8f9; font-size: 10px; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.legacy-admin-page .table td:last-child { white-space: nowrap; }
.legacy-admin-page .rank-1, .legacy-admin-page .rank-2, .legacy-admin-page .rank-3 { background: transparent; }
.legacy-admin-page .rank-1 .bi-trophy-fill { color: #9a6417; }
.legacy-admin-page .rank-2 .bi-trophy-fill { color: #63707e; }
.legacy-admin-page .rank-3 .bi-trophy-fill { color: #9b573b; }
.legacy-admin-page .badge { padding: 7px 10px; border-radius: 8px; font-size: 10px; font-weight: 700; }
.legacy-admin-page .badge.bg-success { color: #16654f; background: #ddf3e9 !important; }
.legacy-admin-page .badge.bg-danger { color: #a22c49; background: #fce5eb !important; }
.legacy-admin-page .badge.bg-warning { color: #87501c !important; background: #fff0d8 !important; }
.legacy-admin-page .badge.bg-secondary { color: #67565f; background: #f0e9ec !important; }
.legacy-admin-page .tipo-ganho { color: #167762; }
.legacy-admin-page .tipo-resgate { color: #a22c49; }
.legacy-admin-page .tipo-ajuste { color: #87501c; }
.legacy-admin-page .modal-content { border: 1px solid var(--dash-line); border-radius: 20px; color: var(--dash-ink); background: #fff; box-shadow: 0 20px 60px #5b1f3826; }
.legacy-admin-page .modal-header, .legacy-admin-page .modal-footer { border-color: var(--dash-line); padding: 20px; }
.legacy-admin-page .modal-title { font-size: 17px; font-weight: 800; }
.legacy-admin-page .modal-body { padding: 20px; }
.legacy-admin-page .card { border-radius: 16px; color: var(--dash-ink); background: #fcf8f9; }
.legacy-admin-page .card-body { padding: 18px; }
.legacy-admin-page .domain-hero { background: #fff6f8; }
.legacy-admin-page .domain-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 99px; color: var(--dash-wine); background: #f8e1e7; font-size: 11px; font-weight: 800; }
.legacy-admin-page .status-pill { display: inline-block; padding: 7px 10px; border-radius: 8px; font-size: 11px; font-weight: 700; }
.legacy-admin-page .status-active { color: #16654f; background: #ddf3e9; }
.legacy-admin-page .status-inactive { color: #87501c; background: #fff0d8; }
@media (max-width: 720px) {
    .legacy-admin-page .top-bar { gap: 8px; margin-bottom: 16px; padding: 10px; }
    .legacy-admin-page .top-bar .mobile-toggle { flex: 0 0 39px; margin-right: 10px !important; }
    .legacy-admin-page .top-bar h4 { font-size: 13px; }
    .legacy-admin-page .top-bar .dropdown strong { display: none; }
    .legacy-admin-page .top-bar .dropdown img { margin-right: 0 !important; }
    .legacy-admin-page .content-card { padding: 18px 14px; border-radius: 18px; }
    .panel-intro { margin-bottom: 18px; padding: 23px 20px; }
    .panel-intro > i { display: none; }
    .legacy-admin-page .config-section { padding: 15px; }
    .legacy-admin-page .stat-card-fidelidade, .legacy-admin-page .resumo-card { padding: 18px; }
}
@media print {
    body.legacy-admin-page { background: #fff; }
    .legacy-admin-page .sidebar, .legacy-admin-page .sidebar-overlay, .legacy-admin-page .top-bar, .legacy-admin-page .panel-intro, .legacy-admin-page .btn { display: none; }
    body.legacy-admin-page .main-content { margin: 0; padding: 0; }
    .legacy-admin-page .content-card, .legacy-admin-page .resumo-card { box-shadow: none; break-inside: avoid; }
    .legacy-admin-page .table-responsive { overflow: visible; }
}
