:root {
    --admin-bg: #f5f6f7;
    --admin-surface: #ffffff;
    --admin-surface-muted: #f8f9fa;
    --admin-text: #171b22;
    --admin-muted: #727984;
    --admin-border: #e4e7ea;
    --admin-border-strong: #d9dde1;
    --admin-ink: #202936;
    --admin-green: #16866f;
    --admin-green-soft: #e8f5f1;
    --admin-red: #c34f54;
    --admin-red-soft: #fbecee;
    --admin-amber: #a66b13;
    --admin-amber-soft: #fff5dc;
    --admin-blue: #426b9f;
    --admin-radius: 14px;
    --admin-shadow: 0 1px 2px rgba(20, 27, 35, .04), 0 8px 24px rgba(20, 27, 35, .035);
}

* { box-sizing: border-box; }

.admin-body {
    --bs-body-font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --bs-body-bg: var(--admin-bg);
    --bs-body-color: var(--admin-text);
    --bs-primary: #202936;
    --bs-primary-rgb: 32, 41, 54;
    --bs-border-color: var(--admin-border);
    margin: 0;
    background: var(--admin-bg);
    color: var(--admin-text);
    font-size: 14px;
    letter-spacing: -.01em;
}

.admin-layout { min-height: 100vh; }

.admin-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 256px;
    padding: 12px 0 12px 12px;
    z-index: 1030;
}

.admin-sidebar__inner {
    width: 100%;
    min-height: calc(100vh - 24px);
    display: flex;
    flex-direction: column;
    background: #fafafa;
    border: 1px solid var(--admin-border);
    border-radius: 15px 0 15px 15px;
}

.admin-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding: 13px 18px;
    color: var(--admin-text);
    text-decoration: none;
}

.admin-brand:hover { color: var(--admin-text); }
.admin-brand__mark {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    color: #fff;
    background: var(--admin-ink);
    font-size: 17px;
    box-shadow: 0 5px 12px rgba(32, 41, 54, .18);
}
.admin-brand strong, .admin-brand small { display: block; line-height: 1.25; }
.admin-brand strong { font-size: 14px; font-weight: 700; }
.admin-brand small { color: #9298a1; font-size: 10px; margin-top: 2px; text-transform: uppercase; letter-spacing: .08em; }

.admin-nav { display: flex; flex-direction: column; padding: 0 10px; }
.admin-nav__section {
    padding: 20px 10px 7px;
    color: #9aa0a8;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.admin-nav__section--spacer { margin-top: 4px; }
.admin-nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 39px;
    margin: 1px 0;
    padding: 9px 11px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #666d77;
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
    transition: .16s ease;
}
.admin-nav-link > i { width: 17px; color: #7e858e; font-size: 15px; text-align: center; }
.admin-nav-link:hover { color: var(--admin-text); background: #f0f1f2; }
.admin-nav-link.active { color: #fff; background: var(--admin-ink); box-shadow: 0 4px 12px rgba(32, 41, 54, .12); }
.admin-nav-link.active > i { color: #fff; }
.admin-nav-link__dot { width: 6px; height: 6px; margin-left: auto; border-radius: 50%; background: #f17676; }

.admin-sidebar__footer { margin-top: auto; padding: 12px; }
.admin-profile { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--admin-border); border-radius: 10px; background: #fff; }
.admin-avatar { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: #e7ecef; color: #3f4853; font-size: 11px; font-weight: 700; }
.admin-profile__copy { min-width: 0; flex: 1; }
.admin-profile__copy strong, .admin-profile__copy small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.admin-profile__copy strong { font-size: 10px; font-weight: 700; }
.admin-profile__copy small { color: var(--admin-muted); font-size: 8px; margin-top: 2px; }
.admin-profile > i { color: #9aa0a8; }

.admin-main { min-width: 0; min-height: 100vh; margin-left: 256px; padding-top: 66px; }
.admin-topbar {
    position: fixed;
    top: 12px;
    left: 256px;
    right: 12px;
    z-index: 1020;
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 0 16px;
    border: 1px solid var(--admin-border);
    border-left: 0;
    border-radius: 0 15px 15px 0;
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(14px);
}
.admin-breadcrumb { display: flex; align-items: center; gap: 9px; color: #9399a1; font-size: 11px; }
.admin-breadcrumb i { font-size: 8px; }
.admin-breadcrumb strong { color: var(--admin-text); font-weight: 600; }
.admin-topbar__actions { display: flex; align-items: center; gap: 7px; margin-left: auto; }
.admin-health { align-items: center; gap: 7px; margin-right: 5px; color: #737b84; font-size: 10px; }
.admin-health i, .admin-live-badge i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #2ba889; box-shadow: 0 0 0 3px #e7f5f1; }
.admin-icon-button {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid var(--admin-border);
    border-radius: 9px;
    color: #68707a;
    background: #fff;
    text-decoration: none;
    transition: .15s ease;
}
.admin-icon-button:hover { color: var(--admin-text); border-color: var(--admin-border-strong); background: #f8f9fa; }

.admin-content { width: 100%; max-width: 1600px; margin: 0 auto; padding: 28px 30px 48px; }
.admin-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.admin-page-head h1 { margin: 3px 0 5px; font-size: clamp(24px, 3vw, 32px); font-weight: 600; letter-spacing: -.04em; }
.admin-page-head p { margin: 0; color: var(--admin-muted); font-size: 14px; }
.admin-eyebrow { color: #9aa0a8; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }

.admin-body .card { border: 1px solid var(--admin-border) !important; border-radius: var(--admin-radius); background: var(--admin-surface); color: var(--admin-text); box-shadow: var(--admin-shadow) !important; }
.admin-body .card-body { padding: 20px; }
.admin-body .card-body > h1:first-child, .admin-body .card-body > div:first-child h1 { font-weight: 600; letter-spacing: -.025em; }

.admin-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.admin-kpi-card { min-width: 0; padding: 16px; border: 1px solid var(--admin-border); border-radius: var(--admin-radius); background: #fff; box-shadow: var(--admin-shadow); }
.admin-kpi-card--warning { border-color: #efd9db; }
.admin-kpi-card__top { display: flex; justify-content: space-between; gap: 8px; color: var(--admin-muted); font-size: 12px; font-weight: 500; }
.admin-kpi-card__top i { color: #90969e; font-size: 14px; }
.admin-kpi-card > strong { display: block; margin: 12px 0 11px; font-size: 26px; line-height: 1; letter-spacing: -.04em; font-weight: 600; }
.admin-kpi-card__bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; min-height: 17px; font-size: 12px; }
.status-positive { color: var(--admin-green) !important; }
.status-negative { color: var(--admin-red) !important; }
.spark { display: block; width: 49px; height: 16px; opacity: .8; clip-path: polygon(0 78%, 15% 30%, 30% 61%, 47% 8%, 62% 68%, 78% 37%, 100% 72%, 100% 86%, 78% 50%, 62% 81%, 47% 22%, 30% 74%, 15% 45%, 0 95%); }
.spark--green { background: var(--admin-green); }
.spark--blue { background: var(--admin-blue); }
.spark--red { background: var(--admin-red); }

.admin-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(290px, .85fr); gap: 12px; margin-bottom: 12px; }
.admin-dashboard-grid--bottom { grid-template-columns: minmax(0, 1.25fr) minmax(290px, .8fr); }
.admin-panel { overflow: hidden; }
.admin-panel__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 18px; border-bottom: 1px solid var(--admin-border); }
.admin-panel__header h2 { margin: 2px 0 0; font-size: 16px; font-weight: 600; }
.admin-panel__eyebrow { display: block; color: #9aa0a8; font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.admin-live-badge { display: inline-flex; align-items: center; gap: 7px; color: #69717a; font-size: 12px; }
.admin-panel__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px; border-top: 1px solid var(--admin-border); color: #9298a1; font-size: 12px; }
.admin-panel__footer a { color: var(--admin-text); font-weight: 600; text-decoration: none; }

.admin-service-list { padding: 2px 18px; }
.admin-service-row { display: flex; align-items: center; gap: 12px; min-height: 60px; border-bottom: 1px solid #eef0f2; }
.admin-service-row:last-child { border-bottom: 0; }
.admin-service-row--link { color: inherit; text-decoration: none; transition: color .15s ease, background .15s ease; }
.admin-service-row--link:hover { color: var(--admin-text); background: #fafbfb; }
.admin-service-row--link > .bi-chevron-right { color: #9aa0a8; font-size: 11px; }
.admin-service-icon { display: grid; place-items: center; flex: 0 0 31px; width: 31px; height: 31px; border-radius: 9px; background: #f0f2f3; color: #5e6873; }
.admin-service-copy { min-width: 0; flex: 1; }
.admin-service-copy strong, .admin-service-copy small { display: block; }
.admin-service-copy strong { font-size: 13px; font-weight: 600; }
.admin-service-copy small { margin-top: 3px; color: #9aa0a8; font-size: 12px; }
.admin-service-value { font-size: 15px; }
.status-pill { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.status-pill--ok { color: var(--admin-green); background: var(--admin-green-soft); }
.status-pill--warn { color: var(--admin-amber); background: var(--admin-amber-soft); }
.status-pill--muted { color: #737b84; background: #f0f1f2; }

.admin-metric-list { padding: 4px 18px; }
.admin-metric-list > div { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 47px; border-bottom: 1px solid #eef0f2; }
.admin-metric-list > div:last-child { border-bottom: 0; }
.admin-metric-list span { color: var(--admin-muted); font-size: 12px; }
.admin-metric-list strong { font-size: 14px; font-weight: 600; }
.admin-metric-list--compact > div { min-height: 45px; }
.admin-rate { margin: 10px 18px 16px; padding: 12px; border-radius: 10px; background: #f7f8f9; }
.admin-rate > div:first-child { display: flex; justify-content: space-between; color: var(--admin-muted); font-size: 12px; }
.admin-rate strong { color: var(--admin-text); }
.admin-rate .progress { height: 4px; margin-top: 9px; border-radius: 99px; background: #e5e8eb; }
.admin-rate .progress span { display: block; min-width: 3px; height: 100%; border-radius: inherit; background: var(--admin-red); }
.admin-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 160px; color: #9aa0a8; font-size: 12px; }
.admin-empty i { font-size: 24px; }
.source-name { display: inline-flex; align-items: center; gap: 8px; }

.admin-body .btn { --bs-btn-font-size: 12px; --bs-btn-font-weight: 600; --bs-btn-padding-y: .58rem; --bs-btn-padding-x: .85rem; border-radius: 9px; }
.admin-body .btn-primary, .admin-body .btn-dark { --bs-btn-bg: var(--admin-ink); --bs-btn-border-color: var(--admin-ink); --bs-btn-hover-bg: #303c4c; --bs-btn-hover-border-color: #303c4c; }
.admin-body .btn-outline-primary { --bs-btn-color: var(--admin-ink); --bs-btn-border-color: #cfd4d9; --bs-btn-hover-bg: var(--admin-ink); --bs-btn-hover-border-color: var(--admin-ink); }
.admin-body .btn-outline-secondary { --bs-btn-color: #68707a; --bs-btn-border-color: #d9dde1; --bs-btn-hover-bg: #f0f2f3; --bs-btn-hover-border-color: #cfd4d9; --bs-btn-hover-color: var(--admin-text); }
.admin-body .btn-outline-success { --bs-btn-color: var(--admin-green); --bs-btn-border-color: #b9ded4; --bs-btn-hover-bg: var(--admin-green); }
.admin-body .btn-outline-danger { --bs-btn-color: var(--admin-red); --bs-btn-border-color: #ecc8cb; --bs-btn-hover-bg: var(--admin-red); }

.admin-body .form-label { margin-bottom: 6px; color: #757d86; font-size: 12px !important; font-weight: 500; }
.admin-body .form-control, .admin-body .form-select { min-height: 40px; border-color: var(--admin-border-strong); border-radius: 9px; background-color: #fff; color: var(--admin-text); font-size: 13px; box-shadow: 0 1px 2px rgba(20, 27, 35, .02); }
.admin-body .form-control::placeholder { color: #a5abb2; opacity: 1; }
.admin-body .form-control:focus, .admin-body .form-select:focus { border-color: #7a8490; box-shadow: 0 0 0 3px rgba(32, 41, 54, .08); }
.admin-body .form-check-input { border-color: #cfd4d9; }
.admin-body .form-check-input:checked { background-color: var(--admin-ink); border-color: var(--admin-ink); }
.admin-body .form-check-label { color: #6e7680; font-size: 12px; }

.admin-body .table { --bs-table-bg: transparent; --bs-table-color: #414851; --bs-table-border-color: #eceef0; --bs-table-hover-bg: #fafbfb; margin: 0; font-size: 12px !important; }
.admin-body .table thead th { padding: 11px 12px; border-bottom-color: var(--admin-border); color: #8b929a; background: #fafbfb; font-size: 11px; font-weight: 600; letter-spacing: .025em; text-transform: uppercase; white-space: nowrap; }
.admin-body .table tbody td { padding: 11px 12px; }
.admin-body .table tbody tr:last-child td { border-bottom: 0; }
.admin-body .table-responsive { border: 1px solid var(--admin-border); border-radius: 10px; }
.admin-panel .table-responsive { border: 0; border-radius: 0; }
.admin-body code { padding: 2px 5px; border-radius: 5px; color: #55616f; background: #f0f2f3; font-size: .92em; }
.admin-body .text-secondary { color: var(--admin-muted) !important; }
.admin-body .border { border-color: var(--admin-border) !important; }

.admin-body .badge { padding: .45em .65em; border-radius: 999px; font-size: 11px; font-weight: 600; }
.admin-body .text-bg-success { color: var(--admin-green) !important; background: var(--admin-green-soft) !important; }
.admin-body .text-bg-danger { color: var(--admin-red) !important; background: var(--admin-red-soft) !important; }
.admin-body .text-bg-warning { color: var(--admin-amber) !important; background: var(--admin-amber-soft) !important; }
.admin-body .text-bg-primary, .admin-body .text-bg-dark { color: #fff !important; background: var(--admin-ink) !important; }
.admin-body .text-bg-secondary { color: #68707a !important; background: #eef0f2 !important; }
.admin-body .pagination { --bs-pagination-bg: #fff; --bs-pagination-border-color: var(--admin-border); --bs-pagination-color: #68707a; --bs-pagination-hover-bg: #f3f4f5; --bs-pagination-hover-color: var(--admin-text); --bs-pagination-active-bg: var(--admin-ink); --bs-pagination-active-border-color: var(--admin-ink); --bs-pagination-disabled-bg: #f8f9fa; }
.failed-jobs-table th { white-space: nowrap; }
.failed-jobs-table td:last-child { min-width: 360px; max-width: 760px; }
.failed-jobs-table summary { color: var(--admin-muted); cursor: pointer; font-size: 13px; }
.failed-job-error { margin: 10px 0 0; padding: 12px; border-radius: 8px; background: #f5f6f7; color: #374151; font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-body .alert { border-radius: 10px; font-size: 13px; }

.admin-auth-shell { display: grid; place-items: center; min-height: 100vh; padding: 24px; background: radial-gradient(circle at 50% 15%, #fff 0, transparent 32%), var(--admin-bg); }
.admin-auth-shell .row { max-width: 1100px; }
.admin-auth-shell .card { box-shadow: 0 18px 50px rgba(24, 31, 40, .08) !important; }
.admin-auth-shell .card-body::before { content: "BetTrend"; display: block; margin-bottom: 24px; font-size: 18px; font-weight: 700; letter-spacing: -.04em; text-align: center; }

.admin-mobile-sidebar { background: #fafafa; }
.admin-mobile-sidebar .offcanvas-header { min-height: 68px; padding: 4px 14px; border-bottom: 1px solid var(--admin-border); }
.admin-mobile-sidebar .offcanvas-body { padding: 4px 10px 18px; }
.admin-mobile-sidebar__footer { padding: 14px; border-top: 1px solid var(--admin-border); }

.miniapp-chart { display: grid; gap: 12px; }
.miniapp-chart-row { display: grid; grid-template-columns: 58px 1fr; gap: 10px; align-items: start; }
.miniapp-chart-day { padding-top: 3px; color: var(--admin-muted); font-size: 12px; }
.miniapp-chart-bars { display: grid; gap: 8px; }
.miniapp-bar-wrap { display: grid; grid-template-columns: 90px minmax(0, 1fr) 42px; align-items: center; gap: 8px; }
.miniapp-bar-label, .miniapp-bar-value { color: var(--admin-muted); font-size: 12px; }
.miniapp-bar-value { text-align: right; }
.miniapp-bar { display: block; min-width: 2px; height: 7px; border-radius: 99px; }
.miniapp-bar-users { background: #527baa; }
.miniapp-bar-sessions { background: #3b9b80; }
.miniapp-bar-errors { background: #d18a55; }
.miniapp-filter-chips, .miniapp-legend { display: flex; flex-wrap: wrap; gap: 7px; }
.miniapp-chip { display: inline-flex; align-items: center; padding: 5px 9px; border: 1px solid var(--admin-border); border-radius: 99px; color: #747c85; background: #f7f8f9; font-size: 12px; }
.miniapp-chip--period { color: var(--admin-ink); border-color: #cfd4d9; background: #eef0f2; }
.miniapp-kpi-card .card-body { display: flex; flex-direction: column; gap: 6px; }
.miniapp-kpi-hint { margin-top: auto; color: var(--admin-muted); font-size: 12px; line-height: 1.45; }
.miniapp-kpi-progress { height: 5px; overflow: hidden; border-radius: 99px; background: #e8ebed; }
.miniapp-kpi-progress span { display: block; height: 100%; background: var(--admin-green); }
.miniapp-kpi-progress--warn span { background: var(--admin-amber); }
.miniapp-legend { color: var(--admin-muted); font-size: 12px; }
.miniapp-legend span { display: inline-flex; align-items: center; gap: 6px; }
.miniapp-legend-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }
.miniapp-legend-dot--users { background: #527baa; }
.miniapp-legend-dot--sessions { background: #3b9b80; }
.miniapp-legend-dot--errors { background: #d18a55; }
.miniapp-row-error { background: #fff8f8; }
.miniapp-score { display: inline-flex; padding: 3px 7px; border-radius: 99px; color: #426b9f; background: #edf2f8; font-size: 12px; }


.admin-i18n-page .competitor-page-heading p { max-width: 720px; }
.admin-i18n-page .i18n-advanced-filter-grid { grid-template-columns: minmax(220px, 360px); }
.i18n-table-wrap { overflow: visible; border: 1px solid var(--admin-border); border-radius: 10px; }
.admin-body .i18n-table { table-layout: fixed; min-width: 940px; }
.i18n-table th:nth-child(1) { width: 29%; }
.i18n-table th:nth-child(2) { width: 31%; }
.i18n-table th:nth-child(3) { width: 14%; }
.i18n-table th:nth-child(4) { width: 11%; }
.i18n-table th:nth-child(5) { width: 15%; }
.admin-body .i18n-table tbody td { padding: 12px; }
.i18n-original { display: grid; gap: 6px; min-width: 0; }
.i18n-kind { justify-self: start; padding: 3px 7px; border-radius: 99px; color: #68717b; background: #eef0f2; font-size: 9px; font-weight: 650; }
.i18n-original code { overflow: hidden; color: #8a929b; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.i18n-table .form-control { min-width: 0; font-size: 11px; }
.i18n-translation-input { font-weight: 600; }
.i18n-source { display: grid; justify-items: start; gap: 5px; }
.i18n-source small, .i18n-updated small { display: block; color: var(--admin-muted); font-size: 9px; }
.i18n-updated { color: #5f6873; font-size: 11px; white-space: nowrap; }
.i18n-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; white-space: nowrap; }
.i18n-row-actions form { margin: 0; }
.i18n-row-actions .btn { display: inline-flex; align-items: center; gap: 5px; }
.i18n-row-actions .btn-outline-danger { width: 32px; justify-content: center; padding-inline: 0; }
.i18n-create-fields { grid-template-columns: minmax(180px, .8fr) minmax(220px, 1fr) minmax(220px, 1fr); align-items: end; }
.i18n-ai-preview-table td strong, .i18n-ai-preview-table td small, .i18n-ai-preview-table td code { display: block; }
.i18n-ai-preview-table td code, .i18n-ai-preview-table td small { margin-top: 4px; color: var(--admin-muted); font-size: 9px; white-space: normal; }

.competitor-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.competitor-page-heading h1 { margin: 0 0 5px; font-size: 26px; font-weight: 600; letter-spacing: -.035em; }
.competitor-page-heading p { max-width: 800px; margin: 0; color: var(--admin-muted); font-size: 13px; }
.competitor-ai-tools { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.competitor-ai-tools form { margin: 0; }
.competitor-tool-button { position: relative; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--admin-border); border-radius: 9px; color: #5f6974; background: #fff; text-decoration: none; }
.competitor-tool-button:hover, .competitor-tool-button:focus-visible { color: var(--admin-text); border-color: #bcc5cc; background: #f7f8f9; }
.competitor-tool-button::after { content: attr(data-tooltip); position: absolute; z-index: 30; top: calc(100% + 7px); right: 0; width: max-content; max-width: 190px; padding: 5px 8px; border-radius: 6px; color: #fff; background: #252d36; box-shadow: 0 5px 14px rgba(20,27,35,.15); font-size: 9px; line-height: 1.3; pointer-events: none; opacity: 0; transform: translateY(-2px); transition: opacity .12s ease, transform .12s ease; }
.competitor-tool-button:hover::after, .competitor-tool-button:focus-visible::after { opacity: 1; transform: translateY(0); }
.competitor-filter { margin-bottom: 10px; }
.competitor-filter__main { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(190px, 260px) minmax(120px, 170px); gap: 8px; }
.competitor-filter__search { position: relative; }
.competitor-filter__search i { position: absolute; z-index: 1; top: 50%; left: 12px; color: #9aa1a9; transform: translateY(-50%); }
.competitor-filter__search .form-control { padding-left: 34px; }
.competitor-advanced-filters { margin-top: 8px; }
.competitor-advanced-filters summary { display: inline-flex; align-items: center; gap: 7px; padding: 4px 1px; color: #68717b; cursor: pointer; font-size: 11px; list-style: none; }
.competitor-advanced-filters summary::-webkit-details-marker { display: none; }
.competitor-advanced-filters summary::after { content: "\F282"; font-family: bootstrap-icons; font-size: 9px; transition: transform .15s ease; }
.competitor-advanced-filters[open] summary::after { transform: rotate(180deg); }
.competitor-advanced-filters summary span { padding: 2px 6px; border-radius: 99px; color: var(--admin-green); background: var(--admin-green-soft); font-size: 9px; }
.competitor-advanced-filters > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: 100%; margin-top: 7px; padding: 11px; border: 1px solid var(--admin-border); border-radius: 10px; background: #fafbfb; }
.competitor-advanced-filters label > span { display: block; margin-bottom: 5px; color: var(--admin-muted); font-size: 10px; }
.competitor-active-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 2px 0 12px; }
.competitor-active-filters__label { color: var(--admin-muted); font-size: 11px; }
.competitor-filter-chip { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid #dce1e4; border-radius: 99px; color: #59636e; background: #f7f8f9; font-size: 11px; text-decoration: none; }
.competitor-filter-chip:hover { color: var(--admin-text); border-color: #c9d0d5; }
.competitor-filter-chip i { font-size: 13px; }
.competitor-filters-clear { margin-left: 2px; color: #7b838c; font-size: 11px; }
.competitor-table-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 14px 2px 8px; color: var(--admin-muted); font-size: 11px; }
.competitor-table-settings { display: flex; align-items: center; gap: 16px; }
.competitor-sort-menu { position: relative; }
.competitor-sort-menu summary { display: inline-flex; align-items: center; gap: 6px; color: #626c77; cursor: pointer; list-style: none; }
.competitor-sort-menu summary::-webkit-details-marker { display: none; }
.competitor-sort-menu summary i:last-child { font-size: 8px; }
.competitor-sort-menu > div { position: absolute; z-index: 20; top: calc(100% + 7px); right: 0; display: grid; width: 245px; padding: 6px; border: 1px solid var(--admin-border); border-radius: 10px; background: #fff; box-shadow: 0 12px 30px rgba(20,27,35,.12); }
.competitor-sort-menu a { display: flex; align-items: center; justify-content: space-between; padding: 8px 9px; border-radius: 7px; color: #626b75; font-size: 11px; text-decoration: none; }
.competitor-sort-menu a:hover { background: #f4f5f6; }
.competitor-sort-menu a.active { color: var(--admin-text); font-weight: 650; }
.competitor-page-size { display: flex; align-items: center; gap: 4px; }
.competitor-page-size > span { margin-right: 3px; }
.competitor-page-size a { min-width: 27px; padding: 4px 5px; border-radius: 6px; color: #6c7580; text-align: center; text-decoration: none; }
.competitor-page-size a:hover { background: #f1f3f4; }
.competitor-page-size a.active { color: #fff; background: var(--admin-ink); }
.competitor-table-wrap { overflow: visible; }
.admin-body .competitor-table { table-layout: fixed; min-width: 1080px; }
.competitor-table th:nth-child(1) { width: 18%; }
.competitor-table th:nth-child(2) { width: 17%; }
.competitor-table th:nth-child(3) { width: 38%; }
.competitor-table th:nth-child(4) { width: 15%; }
.competitor-table th:nth-child(5) { width: 12%; }
.admin-body .competitor-table tbody td { padding: 11px 12px; vertical-align: middle; }
.competitor-table-name { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
.competitor-table-name > small { flex: 0 0 auto; padding-top: 2px; color: #929aa3; font-size: 9px; }
.competitor-table-name > div, .competitor-table-context, .competitor-table-candidate__copy, .competitor-table-confirmed > div { min-width: 0; }
.competitor-table-name strong, .competitor-table-name span, .competitor-table-context strong, .competitor-table-context span, .competitor-table-candidate__copy small, .competitor-table-candidate__copy strong, .competitor-table-candidate__copy span, .competitor-table-confirmed small, .competitor-table-confirmed strong, .competitor-table-confirmed span { display: block; overflow-wrap: anywhere; }
.competitor-table-name strong, .competitor-table-context strong, .competitor-table-candidate__copy strong, .competitor-table-confirmed strong { color: #343c46; font-size: 12px; font-weight: 650; }
.competitor-table-name span, .competitor-table-context span, .competitor-table-candidate__copy span, .competitor-table-confirmed span { margin-top: 3px; color: var(--admin-muted); font-size: 9px; line-height: 1.35; }
.competitor-candidate-list { display: grid; gap: 6px; }
.competitor-candidate-count { color: #8e969f; font-size: 8px; font-weight: 650; letter-spacing: .035em; text-transform: uppercase; }
.competitor-candidate-choice { display: grid; gap: 6px; }
.competitor-table-candidate { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; padding: 7px; border: 1px solid #edf0f2; border-radius: 7px; cursor: pointer; }
.competitor-table-candidate:hover { border-color: #cbd2d8; background: #fafbfb; }
.competitor-table-candidate:has(input:checked) { border-color: #8bbd9e; background: #f4faf6; box-shadow: 0 0 0 1px rgba(75,145,99,.08); }
.competitor-table-candidate > input { flex: 0 0 auto; margin: 0; accent-color: var(--admin-green); }
.competitor-table-candidate__copy { flex: 1 1 auto; }
.competitor-table-candidate:last-child { padding-bottom: 0; border-bottom: 0; }
.competitor-table-candidate__copy small, .competitor-table-confirmed small { margin-bottom: 2px; color: #949ba3; font-size: 8px; font-weight: 700; letter-spacing: .04em; }
.competitor-table-candidate__copy em { display: inline-flex; margin-top: 5px; padding: 2px 6px; border-radius: 99px; color: #65707b; background: #edf0f2; font-size: 8px; font-style: normal; }
.competitor-candidate-actions { display: grid; flex: 0 0 auto; gap: 2px; justify-items: stretch; }
.competitor-candidate-actions form { margin: 0; }
.competitor-candidate-actions .btn-link { padding: 2px 5px; color: #7c858e; font-size: 9px; text-decoration: none; }
.competitor-candidate-actions .btn-link:hover { color: var(--admin-red); }
.competitor-search-more { margin: 0; }
.competitor-search-more .btn-link { padding: 2px 0; color: #69737d; font-size: 9px; text-decoration: none; }
.competitor-provider-link { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; margin-left: 7px; color: #67727d; font-size: 9px; text-decoration: none; }
.competitor-provider-link:hover { color: var(--admin-text); }
.competitor-table-confirmed { display: flex; align-items: center; gap: 9px; min-width: 0; }
.competitor-table-logo { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; overflow: hidden; border: 1px solid var(--admin-border); border-radius: 8px; color: var(--admin-green); background: #fff; line-height: 0; }
.competitor-table-logo img { display: block; width: 30px; height: 30px; margin: auto; object-fit: contain; object-position: center; }
.competitor-table-empty { display: inline-flex; align-items: center; gap: 6px; color: #8b929a; font-size: 10px; }
.competitor-status-cell { display: grid; justify-items: start; gap: 5px; }
.competitor-status-cell small { max-width: 150px; color: var(--admin-muted); font-size: 9px; overflow-wrap: anywhere; }
.competitor-row-actions { display: flex; align-items: center; flex-wrap: nowrap; gap: 5px; white-space: nowrap; }
.competitor-row-actions form { flex: 0 0 auto; margin: 0; }
.competitor-action-button { position: relative; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid var(--admin-border); border-radius: 8px; color: #65707a; background: #fff; }
.competitor-action-button:hover, .competitor-action-button:focus-visible { color: var(--admin-text); border-color: #bdc5cc; background: #f5f7f8; }
.competitor-action-button--warning { color: var(--admin-amber); border-color: #efcf91; }
.competitor-action-button::after { content: attr(data-tooltip); position: absolute; z-index: 40; right: 0; bottom: calc(100% + 7px); width: max-content; max-width: 180px; padding: 5px 8px; border-radius: 6px; color: #fff; background: #252d36; box-shadow: 0 5px 14px rgba(20,27,35,.15); font-size: 9px; line-height: 1.3; pointer-events: none; opacity: 0; transform: translateY(2px); transition: opacity .12s ease, transform .12s ease; }
.competitor-action-button:hover::after, .competitor-action-button:focus-visible::after { opacity: 1; transform: translateY(0); }
.competitor-edit-modal .modal-content { border: 1px solid var(--admin-border); border-radius: 14px; box-shadow: 0 20px 60px rgba(20,27,35,.15); }
.competitor-edit-modal .modal-header { align-items: flex-start; border-bottom-color: var(--admin-border); }
.competitor-edit-modal .modal-header small { color: #949ba3; font-size: 9px; }
.competitor-edit-modal .modal-title { margin-top: 3px; font-size: 17px; font-weight: 650; }
.competitor-edit-modal .modal-header p { margin: 3px 0 0; color: var(--admin-muted); font-size: 11px; }
.competitor-edit-modal .modal-body { display: grid; gap: 13px; }
.competitor-edit-modal .form-label { display: grid; gap: 6px; }
.competitor-edit-modal .modal-footer { border-top-color: var(--admin-border); }
.competitor-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--admin-muted); font-size: 11px; }
.competitor-pagination > div { display: flex; gap: 7px; }
.ai-import-head { align-items: center; margin-bottom: 16px; }
.admin-page-head.ai-import-head h1 { margin-bottom: 5px; font-size: 25px; line-height: 1.15; letter-spacing: -.03em; }
.ai-import-head p { max-width: 920px; font-size: 12px; line-height: 1.45; }
.ai-import-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.ai-import-summary > div { padding: 12px; border: 1px solid var(--admin-border); border-radius: 10px; background: #fafbfb; }
.ai-import-summary strong, .ai-import-summary span { display: block; }
.ai-import-summary strong { font-size: 20px; font-weight: 650; }
.ai-import-summary span { margin-top: 3px; color: var(--admin-muted); font-size: 10px; }
.ai-import-summary .is-ok strong { color: var(--admin-green); }
.ai-import-summary .is-warn strong { color: var(--admin-amber); }
.ai-import-summary .is-error strong { color: var(--admin-red); }
.ai-import-apply { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; padding: 13px; border: 1px solid var(--admin-border); border-radius: 10px; background: #f7f8f9; }
.ai-import-apply > label:first-of-type { width: 190px; }
.ai-import-apply > label:first-of-type > span { display: block; margin-bottom: 5px; color: var(--admin-muted); font-size: 10px; }
.ai-import-apply .form-check { margin: 0 4px 11px 0; }
.ai-import-apply .btn { margin-left: auto; }
.ai-import-warning { display: flex; align-items: center; gap: 7px; margin: 10px 2px 14px; color: var(--admin-muted); font-size: 11px; }
.ai-import-table td { vertical-align: top; }
.ai-import-table td:nth-child(1) { min-width: 160px; }
.ai-import-table td:nth-child(5) { min-width: 260px; white-space: normal; }
.ai-import-table td:last-child small { display: block; max-width: 190px; margin-top: 5px; color: var(--admin-muted); font-size: 9px; }
.provider-data-head { align-items: center; }
.provider-data-head__title { display: flex; align-items: center; gap: 12px; }
.provider-data-head__badge { display: grid; place-items: center; flex: 0 0 54px; width: 54px; height: 54px; overflow: hidden; border: 1px solid var(--admin-border); border-radius: 11px; background: #fff; }
.provider-data-head__badge img { width: 44px; height: 44px; object-fit: contain; }
.provider-data-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 18px; }
.provider-data-summary > div { min-width: 0; padding: 11px 12px; border: 1px solid var(--admin-border); border-radius: 9px; background: #fafbfb; }
.provider-data-summary small, .provider-data-summary strong { display: block; overflow-wrap: anywhere; }
.provider-data-summary small { margin-bottom: 4px; color: #949ca4; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.provider-data-summary strong { font-size: 11px; font-weight: 600; }
.provider-data-section { margin-top: 18px; }
.provider-data-section h2 { margin: 0 0 9px; font-size: 15px; font-weight: 650; }
.provider-data-links { display: flex; flex-wrap: wrap; gap: 7px; }
.provider-data-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.provider-data-gallery a { display: grid; place-items: center; min-height: 130px; padding: 9px; border: 1px solid var(--admin-border); border-radius: 9px; background: #fafbfb; }
.provider-data-gallery img { max-width: 100%; max-height: 145px; object-fit: contain; }
.provider-description { padding: 12px; border: 1px solid var(--admin-border); border-radius: 9px; }
.provider-description + .provider-description { margin-top: 8px; }
.provider-description strong { display: block; margin-bottom: 6px; font-size: 10px; }
.provider-description p { margin: 0; color: #59636e; font-size: 11px; line-height: 1.55; white-space: pre-line; }
.provider-raw-details summary { cursor: pointer; color: #5f6973; font-size: 11px; }
.provider-raw-table { margin-top: 9px; }
.provider-raw-table th { width: 220px; }
.provider-raw-table td { white-space: normal; word-break: break-word; }

@media (max-width: 1199.98px) {
    .admin-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-i18n-add-form, .admin-i18n-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .competitor-table-wrap { overflow-x: auto; }
    .i18n-table-wrap { overflow-x: auto; }
}

@media (max-width: 991.98px) {
    .admin-main { margin-left: 0; padding-top: 62px; }
    .admin-topbar { top: 8px; left: 8px; right: 8px; min-height: 54px; border-left: 1px solid var(--admin-border); border-radius: 13px; }
    .admin-breadcrumb { margin-left: 10px; }
    .admin-content { padding: 22px 18px 40px; }
    .admin-dashboard-grid, .admin-dashboard-grid--bottom { grid-template-columns: 1fr; }
    .miniapp-bar-wrap { grid-template-columns: 78px minmax(0, 1fr) 36px; gap: 6px; }
    .ai-import-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .provider-data-summary, .provider-data-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .admin-body { font-size: 13px; }
    .admin-content { padding: 18px 12px 32px; }
    .admin-page-head { align-items: stretch; flex-direction: column; margin-bottom: 18px; }
    .admin-page-head .btn { width: 100%; }
    .admin-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .admin-kpi-card { padding: 13px; }
    .admin-kpi-card > strong { font-size: 23px; }
    .admin-kpi-card__top { font-size: 12px; }
    .spark { width: 38px; }
    .admin-breadcrumb span, .admin-breadcrumb i { display: none; }
    .admin-body .card-body { padding: 15px; }
    .admin-body .table-responsive { border-radius: 9px; }
    .admin-body .table { min-width: 680px; }
    .admin-panel .table { min-width: 0; }
    .competitor-page-heading h1 { font-size: 23px; }
    .competitor-filter__main { grid-template-columns: 1fr; }
    .competitor-advanced-filters > div { grid-template-columns: 1fr; width: 100%; }
    .competitor-table-toolbar { align-items: flex-start; flex-direction: column; }
    .competitor-table-settings { justify-content: space-between; width: 100%; }
    .competitor-sort-menu > div { right: auto; left: 0; }
    .competitor-table-wrap { overflow: visible; border: 0 !important; }
    .admin-body .competitor-table { min-width: 0; table-layout: auto; }
    .competitor-table thead { display: none; }
    .competitor-table tbody, .competitor-table tr, .competitor-table td { display: block; width: 100%; }
    .competitor-table tbody { display: grid; gap: 10px; }
    .competitor-table tbody tr { overflow: hidden; border: 1px solid var(--admin-border); border-radius: 10px; background: #fff; }
    .admin-body .competitor-table tbody td { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; padding: 10px 12px; border-bottom: 1px solid #edf0f2; }
    .admin-body .competitor-table tbody td:last-child { border-bottom: 0; }
    .competitor-table td::before { content: attr(data-label); color: #9299a1; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
    .competitor-table-candidate { align-items: stretch; flex-direction: column; }
    .competitor-candidate-actions, .competitor-candidate-actions form, .competitor-candidate-actions .btn { width: 100%; }
    .competitor-row-actions { justify-content: flex-start; }
    .i18n-table-wrap { overflow: visible; border: 0; }
    .admin-body .i18n-table { min-width: 0; table-layout: auto; }
    .i18n-table thead { display: none; }
    .i18n-table tbody { display: grid; gap: 10px; }
    .i18n-table tbody, .i18n-table tr, .i18n-table td { width: 100%; }
    .i18n-table tbody tr { display: block; overflow: hidden; border: 1px solid var(--admin-border); border-radius: 10px; background: #fff; }
    .admin-body .i18n-table tbody td { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; padding: 10px 12px; border-bottom: 1px solid #edf0f2; }
    .admin-body .i18n-table tbody td:last-child { border-bottom: 0; }
    .i18n-table td::before { content: attr(data-label); padding-top: 5px; color: #9299a1; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
    .i18n-row-actions { justify-content: flex-start; }
    .i18n-create-fields { grid-template-columns: 1fr; }
    .ai-import-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ai-import-apply { align-items: stretch; flex-direction: column; }
    .ai-import-apply > label:first-of-type, .ai-import-apply .btn { width: 100%; margin-left: 0; }
    .ai-import-apply .form-check { margin-bottom: 0; }
    .provider-data-summary, .provider-data-gallery { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
    .admin-health { display: none !important; }
    .admin-kpi-card__bottom .spark { display: none; }
    .admin-kpi-card__bottom { min-height: 13px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
