:root {
  --admin-bg: #f3f2ed;
  --admin-surface: #ffffff;
  --admin-surface-soft: #f8f7f3;
  --admin-ink: #171816;
  --admin-muted: #74766f;
  --admin-line: #deddd6;
  --admin-acid: #c7ff38;
  --admin-acid-soft: #efffc3;
  --admin-blue: #767cff;
  --admin-blue-soft: #e9eaff;
  --admin-warning: #ffdc7c;
  --admin-danger: #ffded8;
  --admin-success: #dff6e5;
  --admin-sidebar: #111210;
  --admin-radius-xl: 26px;
  --admin-radius-lg: 20px;
  --admin-radius-md: 14px;
  --admin-shadow: 0 18px 50px rgba(29, 31, 27, .07);
}

html { scroll-behavior: smooth; }
body { background: var(--admin-bg); }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, a { transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease; }

/* Авторизация */
.auth-brand {
  position: relative;
  overflow: hidden;
  background: var(--admin-sidebar);
  color: #fff;
}
.auth-brand::before,
.auth-brand::after {
  position: absolute;
  content: "";
  border-radius: 999px;
  pointer-events: none;
}
.auth-brand::before { width: 430px; height: 430px; right: -160px; top: -120px; border: 80px solid var(--admin-acid); opacity: .92; }
.auth-brand::after { width: 190px; height: 190px; left: 11%; bottom: -90px; background: var(--admin-blue); }
.auth-brand > * { position: relative; z-index: 1; }
.auth-brand .brand > span { background: var(--admin-acid); color: var(--admin-ink); }
.auth-brand h1 { letter-spacing: -.08em; }
.auth-brand h1 em { color: var(--admin-acid); -webkit-text-stroke: 0; }
.auth-panel { background: var(--admin-bg); }
.auth-card { border: 1px solid var(--admin-line); border-radius: var(--admin-radius-xl); box-shadow: var(--admin-shadow); }
.auth-card input { border-radius: 12px; }
.auth-card button { border: 0; border-radius: 12px; }

/* Каркас и боковая навигация */
.dashboard {
  min-height: 100vh;
  grid-template-columns: 286px minmax(0, 1fr);
  background: var(--admin-bg);
}

/* Верхняя панель */
.workspace { min-width: 0; padding: 0 34px 64px; }
.view { padding-top: 25px; }
.view.active { animation: admin-view-in .28s ease both; }
@keyframes admin-view-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.hero-status { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid #393c36; border-radius: 99px; color: #c3c6bd; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.hero-status i { width: 7px; height: 7px; border-radius: 50%; background: #4ee07a; box-shadow: 0 0 0 4px rgba(78,224,122,.12); }
.pulse-orbit { position: relative; display: grid; width: 120px; height: 120px; z-index: 1; place-items: center; border-radius: 42px 42px 10px 42px; background: var(--admin-acid); color: var(--admin-ink); transform: rotate(-8deg); box-shadow: 0 0 0 12px rgba(199,255,56,.08); }
.pulse-orbit span { font: 700 27px var(--display); }
.metrics { gap: 12px; }
.metric { min-height: 190px; padding: 22px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-lg); background: var(--admin-surface); box-shadow: 0 8px 25px rgba(27,29,25,.025); }
.metric.acid { border-color: #afd833; background: var(--admin-acid); }
.metric-top { display: flex; align-items: center; justify-content: space-between; }
.metric-top > span { font-size: 14px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.metric-top i { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid var(--admin-line); border-radius: 8px; color: var(--admin-muted); font-size: 14px; font-style: normal; }
.metric.acid .metric-top i { border-color: rgba(17,18,16,.18); color: #4a571f; }
.metric-value { display: flex; align-items: baseline; gap: 9px; margin-top: auto; }
.metric .metric-value strong { margin: 0; font-size: clamp(30px, 3.5vw, 46px); letter-spacing: -.07em; }
.metric .metric-value small { color: var(--admin-muted); font-size: 14px; font-weight: 800; text-transform: uppercase; }
.metric > p { margin: 9px 0 0; color: var(--admin-muted); font-size: 14px; }
.metric.acid > p, .metric.acid .metric-value small { color: #556326; }
.panel { min-height: 330px; padding: 28px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-xl); background: var(--admin-surface); }
.panel h2 { margin: 7px 0 4px; font-size: 21px; letter-spacing: -.05em; }
.panel-head > div > p { margin: 0; color: var(--admin-muted); font-size: 14px; }
.outline-button { min-height: 42px; border: 1px solid var(--admin-ink); border-radius: 10px; font-size: 14px; }
.outline-button:hover { background: var(--admin-ink); color: #fff; }
.sync-visual { grid-template-columns: 150px minmax(0, 1fr); gap: 27px; margin-top: 34px; }
.ring { width: 136px; height: 136px; border: 13px solid var(--admin-acid); box-shadow: inset 0 0 0 1px #d9d8d1; }
.ring span { font-size: 24px; }
.sync-copy { display: grid; align-content: center; gap: 7px; }
.sync-label { color: var(--admin-muted); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sync-copy > strong { font-size: 14px; text-transform: none; }
.sync-copy p { max-width: 440px; margin: 1px 0 3px; line-height: 1.55; }
.text-action { width: max-content; padding: 4px 0; border: 0; border-bottom: 1px solid var(--admin-line); background: transparent; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.text-action:hover { border-color: var(--admin-ink); }
.system-panel { display: flex; flex-direction: column; background: var(--admin-sidebar); color: #fff; }
.system-panel .eyebrow { color: #6e7269; }
.health-badge { display: grid; min-width: 54px; height: 29px; place-items: center; border-radius: 99px; background: var(--admin-acid); color: var(--admin-ink); font-size: 14px; font-weight: 800; }
.system-checks { display: grid; gap: 14px; margin: 28px 0; }
.system-checks > div, .status-help > div { display: flex; align-items: center; gap: 11px; }
.system-checks i, .status-help > div i { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: #4ee07a; box-shadow: 0 0 0 5px rgba(78,224,122,.1); }
.system-checks span, .status-help > div span { display: grid; gap: 2px; }
.system-checks strong, .status-help > div strong { font-size: 14px; }
.system-checks small, .status-help > div small { color: #73776e; font-size: 14px; }
.system-backup-button { margin-left: auto; padding: 7px 10px; border: 1px solid #3a3d36; border-radius: 8px; background: transparent; color: #d9f77e; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.system-backup-button:hover { border-color: #d9f77e; background: rgba(217,247,126,.08); }
.system-backup-button:disabled { cursor: wait; opacity: .55; }
.system-panel > a { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 18px; border-top: 1px solid #30332d; color: #fff; font-size: 14px; font-weight: 800; text-decoration: none; }
.system-panel > a span { color: var(--admin-acid); font-size: 16px; }

/* Заголовки разделов и общие контролы */
.section-lead { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 17px; padding: 21px 23px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-lg); background: var(--admin-surface); }
.section-lead > div { display: flex; align-items: center; gap: 15px; min-width: 0; }
.section-icon { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 14px; background: var(--admin-ink); color: var(--admin-acid); font: 700 15px var(--display); }
.section-lead h2 { margin: 4px 0 2px; font: 700 19px var(--display); letter-spacing: -.04em; }
.section-lead p { margin: 0; color: var(--admin-muted); font-size: 14px; }
.section-lead .eyebrow { color: var(--admin-muted); font-size: 14px; }
.section-hint { padding: 8px 11px; border-radius: 99px; background: var(--admin-success); color: #2d683e; font-size: 14px; font-weight: 800; white-space: nowrap; text-transform: uppercase; }
.section-hint.warning { background: #fff1bd; color: #735a14; }
.toolbar { gap: 9px; margin-bottom: 13px; }
.toolbar > select, .toolbar > input, .search { min-height: 46px; border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-surface); }
.toolbar > select, .toolbar > input { padding: 0 13px; }
.search { height: 46px; }
.search:focus-within, .toolbar > select:focus, .toolbar > input:focus { border-color: #999d93; box-shadow: 0 0 0 4px rgba(118,124,255,.08); }
.search > span { color: var(--admin-muted); }
.clients-toolbar { grid-template-columns: minmax(240px,1fr) 150px 180px auto; align-items: center; }
.client-filter-summary { justify-self: end; padding: 7px 10px; border-radius: 99px; background: var(--admin-acid-soft); color: #526420; font-size: 14px; font-weight: 800; white-space: nowrap; }
.topup-toolbar { grid-template-columns: minmax(250px, 340px) auto; }
.order-toolbar { grid-template-columns: minmax(280px, 1fr) minmax(230px, 320px) auto; }
.topup-toolbar .outline-button, .order-toolbar .outline-button { justify-self: start; background: var(--admin-surface); }

/* Каталог */
.admin-catalog-hero { margin-bottom: 14px; padding: 22px 23px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-lg); background: var(--admin-surface); }
.admin-catalog-hero h2 { letter-spacing: -.04em; }
.catalog-mode-switch { margin: 0; border: 1px solid var(--admin-line); border-radius: 13px; background: var(--admin-surface-soft); }
.catalog-mode-switch button { border-radius: 9px; }
.catalog-mode-switch button.active { background: var(--admin-ink); }
.admin-catalog-summary { overflow: hidden; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-md); }
.admin-catalog-summary > div { border-color: var(--admin-line); }
.admin-status-filters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin: 11px 0 13px; }
.admin-status-filters[hidden] { display: none; }
.admin-status-filters button { display: flex; min-width: 0; min-height: 52px; align-items: center; justify-content: space-between; gap: 9px; padding: 9px 12px; border: 1px solid var(--admin-line); border-radius: 13px; background: var(--admin-surface); color: var(--admin-ink); }
.admin-status-filters button:hover { border-color: #aeb1a8; transform: translateY(-1px); }
.admin-status-filters button.active { border-color: var(--admin-ink); background: var(--admin-ink); color: #fff; }
.admin-status-filters button span { display: flex; min-width: 0; align-items: center; gap: 7px; overflow: hidden; font-size: 14px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.admin-status-filters button strong { font: 700 14px var(--display); letter-spacing: -.04em; }
.status-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #a8aaa4; box-shadow: 0 0 0 4px rgba(168,170,164,.12); }
.status-dot.visible { background: #54bd72; box-shadow: 0 0 0 4px rgba(84,189,114,.13); }
.status-dot.hidden { background: #9b9d97; }
.status-dot.featured { background: var(--admin-acid); box-shadow: 0 0 0 4px rgba(101,239,193,.13); }
.status-dot.warning { background: #edb34c; box-shadow: 0 0 0 4px rgba(237,179,76,.14); }
.admin-status-filters button.active .status-dot { box-shadow: 0 0 0 4px rgba(255,255,255,.12); }
.admin-platform-nav { margin-bottom: 13px; padding-bottom: 7px; }
.admin-platform-button { min-width: 168px; border-color: var(--admin-line); border-radius: 14px; box-shadow: 0 4px 16px rgba(20,22,19,.025); }
.admin-platform-button.active { background: var(--admin-ink); }
.admin-platform-button.active .admin-platform-icon { background: var(--admin-acid); }
.admin-classifier-filters { margin-bottom: 10px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-md); background: #ebeae4; }
.admin-classifier-filters label select, #view-catalog .toolbar select { border-color: var(--admin-line); border-radius: 10px; background: var(--admin-surface); }
.admin-classifier-reset { border-radius: 10px; }
#view-catalog .toolbar { grid-template-columns: minmax(230px, 1fr) minmax(210px, 310px) minmax(170px, 220px) auto; }
#view-catalog .toolbar .outline-button { background: var(--admin-surface); }
.admin-bulk-bar { display: grid; grid-template-columns: minmax(190px, .55fr) minmax(460px, 1.45fr); gap: 12px; align-items: stretch; margin: 0 0 13px; padding: 10px; border: 1px solid var(--admin-line); border-radius: 16px; background: var(--admin-surface); box-shadow: 0 8px 24px rgba(26,28,24,.025); transition: border-color .18s ease, box-shadow .18s ease; }
.admin-bulk-bar[hidden] { display: none; }
.admin-bulk-bar.has-selection { border-color: #b9d46f; box-shadow: 0 0 0 3px rgba(101,239,193,.12), 0 10px 28px rgba(26,28,24,.04); }
.admin-select-page { display: flex; min-width: 0; align-items: center; gap: 11px; padding: 8px 11px; border-radius: 11px; background: var(--admin-surface-soft); cursor: pointer; }
.admin-select-page input, .admin-service-select { width: 18px; height: 18px; margin: 0; flex: 0 0 18px; accent-color: var(--admin-ink); cursor: pointer; }
.admin-select-page input:disabled { cursor: default; opacity: .4; }
.admin-select-page span { display: grid; min-width: 0; gap: 2px; }
.admin-select-page strong { font-size: 14px; }
.admin-select-page small { overflow: hidden; color: var(--admin-muted); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.admin-bulk-bar.has-selection .admin-select-page { background: var(--admin-acid-soft); }
.admin-bulk-controls { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(130px, .55fr) auto; gap: 8px; align-items: end; }
.admin-bulk-controls label { display: grid; gap: 5px; }
.admin-bulk-controls label[hidden] { display: none; }
.admin-bulk-controls label > span { padding-left: 2px; color: var(--admin-muted); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-bulk-controls select, .admin-bulk-controls input { width: 100%; min-height: 42px; border: 1px solid var(--admin-line); border-radius: 10px; outline: 0; background: var(--admin-surface-soft); padding: 0 11px; color: var(--admin-ink); }
.admin-bulk-controls select:focus, .admin-bulk-controls input:focus { border-color: #999d93; box-shadow: 0 0 0 4px rgba(118,124,255,.08); }
.admin-bulk-controls button { min-width: 142px; min-height: 42px; border: 0; border-radius: 10px; background: var(--admin-ink); padding: 0 14px; color: #fff; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.admin-bulk-controls button span { margin-left: 8px; font-size: 14px; }
.admin-bulk-controls button:not(:disabled):hover { background: #2f332d; }
.admin-bulk-controls button:disabled { background: #dcddd7; color: #9a9c95; cursor: default; }
.bulk-select-column, .bulk-select-cell { width: 48px; padding-right: 4px !important; text-align: center; }
.bulk-select-cell { font-family: var(--admin-body) !important; font-size: inherit !important; }
.admin-service-select { display: block; margin-inline: auto; }
#service-rows tr:has(.admin-service-select:checked) { background: #f7fbe9; }
#service-rows tr:has(.admin-service-select:checked):hover { background: #f2f8dc; }
.table-wrap { overflow: auto; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-lg); background: var(--admin-surface); box-shadow: 0 10px 30px rgba(26,28,24,.025); }
.table-wrap table { min-width: 1100px; }
.table-wrap thead { position: sticky; top: 0; z-index: 2; background: #f7f6f2; }
.table-wrap th { padding-top: 14px; padding-bottom: 14px; color: #83867e; font-size: 14px; letter-spacing: .12em; }
.table-wrap td { padding-top: 17px; padding-bottom: 17px; border-color: #ecebe6; }
.table-wrap tbody tr { transition: background .16s ease; }
.table-wrap tbody tr:hover { background: #fafaf7; }
.catalog-service-name strong { font-size: 14px; line-height: 1.4; }
.catalog-service-name small { color: var(--admin-muted); }
.catalog-platform-pill, .catalog-price-tier, .catalog-status { border-radius: 99px; }
.edit-service-card { border-color: var(--admin-line); border-radius: 9px; background: var(--admin-surface); }
.edit-service-card:hover { border-color: var(--admin-ink); background: var(--admin-ink); }
.pagination button { border-color: var(--admin-line); border-radius: 11px; background: var(--admin-surface); }
.pagination button:not(:disabled):hover { border-color: var(--admin-ink); background: var(--admin-ink); color: #fff; }
.pagination button:disabled { opacity: .35; cursor: default; }
.admin-showcase-card { border-color: var(--admin-line); border-radius: var(--admin-radius-lg); box-shadow: 0 8px 25px rgba(27,29,25,.025); }
.admin-showcase-card:hover { border-color: #b8bab3; transform: translateY(-2px); box-shadow: var(--admin-shadow); }
.admin-category-chip { border-color: var(--admin-line); }

/* Рабочие списки */
.client-list, .topup-admin-list, .internal-order-list, .audit-list { gap: 9px; }
.client-row, .admin-topup-row, .internal-order-row { overflow: hidden; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-md); background: var(--admin-surface); box-shadow: 0 5px 18px rgba(28,30,26,.02); }
.client-row { grid-template-columns: minmax(210px, 1fr) 250px minmax(350px, 1.3fr); padding: 18px 20px; }
.client-row > div:first-child strong { font-size: 14px; }
.client-row small { color: var(--admin-muted); }
.client-balances { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.client-balances > span { display: grid; align-content: center; gap: 4px; min-height: 58px; padding: 10px; border-radius: 11px; background: var(--admin-surface-soft); }
.client-balances b { font-size: 14px; }
.client-bonus-balance { color: #646ac7; }
.client-identity { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.client-identity > span { display: grid; gap: 3px; min-width: 0; }
.client-tier-chip { padding: 6px 8px; border-radius: 99px; background: #eceee5; color: #585c52; font-size: 14px; white-space: nowrap; }
.client-tier-chip[data-tier="pro"] { background: #e7e8ff; color: #565cb1; }
.client-tier-chip[data-tier="business"] { background: var(--admin-ink); color: var(--admin-acid); }
.client-ledger-forms { display: grid; gap: 7px; }
.client-ledger-forms .wallet-form { display: grid; grid-template-columns: 105px minmax(140px, 1fr) 72px; gap: 7px; }
.client-ledger-forms .bonus-form button { background: #dfe2ff; color: #454b9e; }
.client-ledger-forms .bonus-form button:hover { background: #cfd3ff; }
.client-balance { font-size: 17px; }
.wallet-form input, .topup-comment, .order-comment { min-height: 42px; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-surface-soft); }
.wallet-form button, .topup-actions button, .internal-order-actions button { min-height: 40px; border: 0; border-radius: 9px; background: var(--admin-acid); color: var(--admin-ink); }
.wallet-form button:hover, .topup-actions button:first-child:hover, .internal-order-actions button:first-child:hover { background: #b8ed32; }
.topup-actions button:last-child, .internal-order-actions button:last-child { border: 1px solid var(--admin-line); background: var(--admin-surface); }
.topup-actions button:last-child:hover, .internal-order-actions button:last-child:hover { border-color: #d76d5d; background: var(--admin-danger); color: #873d31; }
.admin-topup-row { grid-template-columns: minmax(210px,1fr) 130px 120px minmax(180px,1fr) auto; padding: 18px 20px; }
.admin-topup-status, .internal-order-status { border-radius: 99px; }
.admin-topup-status.pending, .internal-order-status.pending_review { background: #fff1bd; color: #715812; }
.admin-topup-status.approved, .internal-order-status.accepted_manual { background: var(--admin-success); color: #2c6d3e; }
.admin-topup-status.rejected, .internal-order-status.cancelled_refunded { background: var(--admin-danger); color: #8b4035; }
.internal-order-row { grid-template-columns: 60px minmax(230px,1fr) 110px 132px minmax(170px, .85fr) auto; padding: 18px 20px; }
.order-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(210px, 1.35fr); gap: 8px; margin-bottom: 11px; }
.order-summary button, .order-active-funds { display: flex; min-width: 0; min-height: 66px; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-surface); color: var(--admin-ink); text-align: left; }
.order-summary button:hover { border-color: #aeb1a8; transform: translateY(-1px); }
.order-summary button.active { border-color: var(--admin-ink); background: var(--admin-ink); color: #fff; }
.order-summary small, .order-active-funds small { overflow: hidden; color: var(--admin-muted); font-size: 14px; font-weight: 800; letter-spacing: .04em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.order-summary button.active small { color: #9da097; }
.order-summary strong, .order-active-funds strong { font: 700 17px var(--display); letter-spacing: -.05em; white-space: nowrap; }
.order-active-funds { border-color: #c9d3ff; background: #eef0ff; }
.order-active-funds strong { color: #535be1; font-size: 15px; }
.internal-order-row > strong { align-self: start; padding-top: 3px; color: var(--admin-muted); }
.internal-order-link { color: var(--admin-ink); font-weight: 700; }
.order-comment { width: 100%; margin-top: 8px; padding: 0 10px; }
.order-admin-note { margin-top: 4px; color: var(--admin-muted); line-height: 1.45; }
.provider-pipeline { display: grid; grid-template-columns: 9px minmax(0,1fr); gap: 9px; align-items: start; max-width: 420px; margin-top: 9px; padding: 10px 11px; border: 1px solid #dfe1d9; border-radius: 11px; background: #f7f8f3; }
.provider-pipeline-dot { width: 8px; height: 8px; margin-top: 3px; border-radius: 50%; background: #a6aaa0; box-shadow: 0 0 0 4px rgba(166,170,160,.1); }
.provider-pipeline > span:last-child { display: grid; min-width: 0; gap: 3px; }
.provider-pipeline strong { font-size: 14px; }
.provider-pipeline small, .provider-pipeline time { color: var(--admin-muted); font-size: 14px; line-height: 1.45; }
.provider-pipeline[data-state="ready"] { border-color: #ead38a; background: #fff9e7; }
.provider-pipeline[data-state="ready"] .provider-pipeline-dot,
.provider-pipeline[data-state="submitting"] .provider-pipeline-dot { background: #edb34c; box-shadow: 0 0 0 4px rgba(237,179,76,.12); }
.provider-pipeline[data-state="submitting"] .provider-pipeline-dot { animation: admin-live-pulse 1s infinite alternate; }
.provider-pipeline[data-state="submitted"] { border-color: #becaf5; background: #f2f5ff; }
.provider-pipeline[data-state="submitted"] .provider-pipeline-dot { background: #7270ee; box-shadow: 0 0 0 4px rgba(114,112,238,.11); }
.provider-pipeline[data-state="completed"] { border-color: #b8ddc1; background: #f0faf2; }
.provider-pipeline[data-state="completed"] .provider-pipeline-dot { background: #4ee07a; box-shadow: 0 0 0 4px rgba(78,224,122,.11); }
.provider-pipeline[data-state="failed"],
.provider-pipeline[data-state="unknown"],
.provider-pipeline[data-state="attention"] { border-color: #e3a095; background: #fff3f1; }
.provider-pipeline[data-state="failed"] .provider-pipeline-dot,
.provider-pipeline[data-state="unknown"] .provider-pipeline-dot,
.provider-pipeline[data-state="attention"] .provider-pipeline-dot { background: #e47666; box-shadow: 0 0 0 4px rgba(228,118,102,.12); }
.provider-order-actions { display: grid; min-width: 160px; gap: 7px; }
.provider-order-actions button { min-height: 40px; padding: 8px 12px; border: 0; border-radius: 9px; background: var(--admin-ink); color: #fff; font-size: 14px; font-weight: 900; }
.provider-order-actions button[data-provider-submit] { background: var(--admin-acid); color: var(--admin-ink); }
.provider-order-actions button:hover { filter: brightness(.94); transform: translateY(-1px); }
.provider-order-actions button:disabled { cursor: wait; opacity: .58; transform: none; }
.provider-order-actions button.is-armed { background: #e47666; color: #fff; animation: provider-confirm-pulse .7s ease-in-out infinite alternate; }
.provider-order-actions small { max-width: 190px; color: var(--admin-muted); font-size: 14px; line-height: 1.45; }
.provider-reconciliation { display: grid; width: min(250px, 100%); gap: 7px; padding: 11px; border: 1px solid #e3a095; border-radius: 10px; background: #fff3f1; }
.provider-reconciliation strong { color: #9b4d41; font-size: 14px; }
.provider-reconciliation small, .order-admin-comment { color: var(--admin-muted); font-size: 14px; line-height: 1.45; }
.provider-reconciliation label { display: grid; gap: 4px; }
.provider-reconciliation label span { color: #7c514b; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.provider-reconciliation input { width: 100%; min-height: 38px; border: 1px solid #d9b2ac; border-radius: 8px; background: #fff; padding: 0 10px; font: 700 14px var(--display); }
.provider-reconciliation button { min-height: 38px; border: 0; border-radius: 8px; background: var(--admin-ink); color: #fff; font-size: 14px; font-weight: 900; }
.provider-reconciliation button.is-danger-outline { border: 1px solid #d88d82; background: transparent; color: #9b4d41; }
.provider-reconciliation button.is-danger-outline.is-armed { border-color: #c45142; background: #c45142; color: #fff; animation: provider-confirm-pulse .7s ease-in-out infinite alternate; }
.provider-reconciliation button:disabled, .provider-reconciliation input:disabled { cursor: wait; opacity: .58; }
.provider-reconciliation .provider-reconciliation-warning { color: #9b4d41; }
@keyframes provider-confirm-pulse { to { box-shadow: 0 0 0 4px rgba(228,118,102,.13); } }
.rich-empty { display: grid; min-height: 300px; place-items: center; align-content: center; gap: 7px; margin-top: 8px; border: 1px dashed #c8c8c0; border-radius: var(--admin-radius-lg); background: rgba(255,255,255,.45); }
.rich-empty[hidden] { display: none; }
.rich-empty > span { display: grid; width: 50px; height: 50px; margin-bottom: 5px; place-items: center; border-radius: 16px; background: var(--admin-acid-soft); color: #526420; font: 700 16px var(--display); }
.rich-empty strong { color: var(--admin-ink); font-size: 14px; }
.rich-empty p { max-width: 360px; margin: 0; font-size: 14px; }

/* Настройки */
.business-stats { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.business-stat { min-height: 115px; padding: 17px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-md); background: var(--admin-surface); }
.business-stat span { min-height: 27px; color: var(--admin-muted); font-size: 14px; line-height: 1.35; }
.business-stat strong { font-size: clamp(15px, 1.7vw, 21px); letter-spacing: -.05em; }
.loyalty-admin-overview { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr); gap: 10px; margin-bottom: 12px; }
.loyalty-admin-overview > article { padding: 20px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-lg); background: var(--admin-surface); }
.loyalty-admin-overview > article > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.loyalty-admin-overview > article > header span { color: var(--admin-muted); font-size: 14px; font-weight: 900; letter-spacing: .11em; }
.loyalty-admin-overview > article > header h3 { margin: 4px 0 0; font: 700 15px var(--display); letter-spacing: -.04em; }
.loyalty-admin-overview > article > header > strong { color: var(--admin-blue); font: 700 14px var(--display); }
.loyalty-admin-overview > article > header > small { color: var(--admin-muted); font-size: 14px; }
#loyalty-admin-distribution { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
#loyalty-admin-distribution article { display: grid; gap: 7px; padding: 12px; border-radius: 12px; background: var(--admin-surface-soft); }
#loyalty-admin-distribution article > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#loyalty-admin-distribution article > header span { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 800; }
#loyalty-admin-distribution article > header i { width: 7px; height: 7px; border-radius: 50%; background: #94998f; }
#loyalty-admin-distribution article[data-tier="pro"] > header i { background: var(--admin-blue); }
#loyalty-admin-distribution article[data-tier="business"] > header i { background: var(--admin-ink); box-shadow: 0 0 0 3px var(--admin-acid-soft); }
#loyalty-admin-distribution article > header strong { font: 700 14px var(--display); }
#loyalty-admin-distribution article > div { height: 6px; overflow: hidden; border-radius: 99px; background: #e1e3da; }
#loyalty-admin-distribution article > div i { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: #8d9288; }
#loyalty-admin-distribution article[data-tier="pro"] > div i { background: var(--admin-blue); }
#loyalty-admin-distribution article[data-tier="business"] > div i { background: var(--admin-ink); }
#loyalty-admin-distribution article > small { color: var(--admin-muted); font-size: 14px; }
.loyalty-admin-economics { background: linear-gradient(135deg,#171916,#242720) !important; color: #fff; }
.loyalty-admin-economics > header h3 { color: #fff; }
.loyalty-admin-economics > header > small { color: #8f9488 !important; }
.loyalty-admin-economics > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.loyalty-admin-economics > div > span { display: grid; gap: 5px; min-height: 72px; align-content: center; padding: 12px; border: 1px solid #363a32; border-radius: 11px; background: rgba(255,255,255,.035); }
.loyalty-admin-economics > div small { color: #888d82; font-size: 14px; font-weight: 900; letter-spacing: .08em; }
.loyalty-admin-economics > div strong { color: var(--admin-acid); font: 700 14px var(--display); }
.loyalty-admin-activity { grid-column: 1 / -1; }
#loyalty-admin-rewards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
#loyalty-admin-rewards article { display: grid; grid-template-columns: 50px minmax(0,1fr) auto; gap: 10px; align-items: center; min-width: 0; padding: 10px; border: 1px solid var(--admin-line); border-radius: 11px; background: var(--admin-surface-soft); }
.loyalty-admin-reward-tier { display: grid; min-height: 29px; place-items: center; border-radius: 8px; background: #e7e8e2; color: #666b62; font-size: 14px; font-weight: 900; letter-spacing: .06em; }
.loyalty-admin-reward-tier[data-tier="pro"] { background: #e8e9ff; color: #575eb6; }
.loyalty-admin-reward-tier[data-tier="business"] { background: var(--admin-ink); color: var(--admin-acid); }
#loyalty-admin-rewards article > div { display: grid; gap: 3px; min-width: 0; }
#loyalty-admin-rewards article strong, #loyalty-admin-rewards article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#loyalty-admin-rewards article strong { font-size: 14px; }
#loyalty-admin-rewards article small { color: var(--admin-muted); font-size: 14px; }
#loyalty-admin-rewards article > b { color: #516723; font: 700 14px var(--display); }
.loyalty-admin-empty { min-height: 65px; place-items: center; border: 1px dashed var(--admin-line); border-radius: 11px; color: var(--admin-muted); font-size: 14px; }
.loyalty-admin-empty:not([hidden]) { display: grid; }
.settings-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 12px; align-items: start; }
.settings-card { max-width: none; padding: 28px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-xl); background: var(--admin-surface); }
.settings-card-heading { max-width: 680px; }
.settings-card h2 { margin: 6px 0 7px; font-size: 22px; }
.settings-card-heading > p { margin: 0; color: var(--admin-muted); font-size: 14px; line-height: 1.55; }
.settings-card form { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.settings-card label { padding: 14px; border: 1px solid var(--admin-line); border-radius: 13px; background: var(--admin-surface-soft); text-transform: none; }
.settings-card label > span { display: block; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.settings-card label > small { display: block; min-height: 32px; margin-top: 4px; color: var(--admin-muted); font-size: 14px; font-weight: 600; line-height: 1.4; }
.settings-card input { height: 44px; border-radius: 9px; background: #fff; font-size: 14px; }
.settings-card button { min-height: 48px; border: 0; border-radius: 11px; }
.settings-card button span { margin-left: 15px; font-size: 15px; }
.settings-note { padding: 25px; border-radius: var(--admin-radius-xl); background: var(--admin-sidebar); color: #fff; }
.settings-note > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--admin-acid); color: var(--admin-ink); font: 700 15px var(--display); }
.settings-note h3 { margin: 20px 0 12px; font: 700 17px var(--display); }
.settings-note ol { margin: 0; padding-left: 20px; color: #8e9288; font-size: 14px; line-height: 1.65; }
.settings-note li + li { margin-top: 8px; }
.settings-note button { margin-top: 22px; padding: 8px 0; border: 0; border-bottom: 1px solid #383b35; background: transparent; color: var(--admin-acid); font-size: 14px; font-weight: 800; text-transform: uppercase; }

/* Проверка статуса */
.status-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(260px, 340px); gap: 12px; align-items: stretch; }
.status-panel { max-width: none; padding: 34px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-xl); background: var(--admin-surface); }
.status-panel h2 { margin: 9px 0 9px; font-size: 25px; letter-spacing: -.05em; }
.status-panel > p { max-width: 600px; font-size: 14px; line-height: 1.6; }
.status-panel form { display: grid; grid-template-columns: 1fr 170px; gap: 9px; margin-top: 26px; }
.status-panel form label { display: grid; gap: 7px; color: var(--admin-muted); font-size: 14px; font-weight: 800; text-transform: uppercase; }
.status-panel form input { width: 100%; height: 52px; border-radius: 11px; background: var(--admin-surface-soft); }
.status-panel form button { height: 52px; align-self: end; margin: 0; border: 0; border-radius: 11px; }
.status-result { grid-template-columns: repeat(4, 1fr); margin-top: 18px; border-radius: 14px; background: var(--admin-sidebar); }
.status-help { padding: 29px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-xl); background: #e8e9ff; }
.status-help .section-icon { background: var(--admin-blue); color: #fff; }
.status-help h3 { margin: 23px 0 9px; font: 700 18px var(--display); }
.status-help > p { margin: 0 0 25px; color: #62656c; font-size: 14px; line-height: 1.6; }
.status-help > div + div { margin-top: 15px; }
.status-help > div i { background: var(--admin-blue); box-shadow: 0 0 0 5px rgba(118,124,255,.12); }
.status-help > div small { color: #6b6e76; }

/* Модальные окна и уведомления */
.service-editor-modal { background: rgba(13,15,12,.72); backdrop-filter: blur(12px); }
.service-editor-dialog { border: 1px solid rgba(255,255,255,.65); border-radius: 24px; box-shadow: 0 30px 100px rgba(0,0,0,.28); }
.service-editor-close { border-radius: 11px; }
.service-editor-actions { position: sticky; bottom: -28px; z-index: 2; margin: 24px -32px -32px; padding: 16px 32px 23px; border-top: 1px solid var(--admin-line); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.toast { max-width: 380px; border-radius: 12px; box-shadow: 0 16px 45px rgba(0,0,0,.2); }

@media (max-width: 1280px) {
  .business-stats { grid-template-columns: repeat(3, 1fr); }
  .pulse-orbit { width: 96px; height: 96px; }
  .internal-order-row { grid-template-columns: 55px minmax(210px,1fr) 105px 125px minmax(160px,.8fr); }
  .order-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .order-active-funds { grid-column: 1 / -1; }
  .internal-order-row > :last-child { grid-column: 2 / -1; justify-self: end; }
}

@media (max-width: 1080px) {
  .loyalty-admin-overview { grid-template-columns: 1fr; }
  .loyalty-admin-activity { grid-column: auto; }
  .system-panel { min-height: 300px; }
  .settings-layout, .status-layout { grid-template-columns: 1fr; }
  .settings-note { min-height: 280px; }
  #view-catalog .toolbar { grid-template-columns: 1fr 1fr; }
  .admin-bulk-bar { grid-template-columns: 1fr; }
  .admin-bulk-controls { grid-template-columns: minmax(210px, 1fr) minmax(130px, .6fr) auto; }
  .admin-topup-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .metrics { grid-template-columns: 1fr; }
  .metric { min-height: 160px; }
  .metric .metric-value strong { font-size: 37px; }
  .panel { padding: 22px; border-radius: 21px; }
  .sync-visual { grid-template-columns: 1fr; }
  .ring { width: 120px; height: 120px; }
  .section-lead { align-items: flex-start; padding: 18px; }
  .section-lead > div { align-items: flex-start; }
  .section-hint { display: none; }
  .section-lead h2 { font-size: 16px; }
  .section-lead p { font-size: 14px; line-height: 1.45; }
  .section-icon { width: 40px; height: 40px; flex-basis: 40px; }
  .topup-toolbar, .order-toolbar, .clients-toolbar { grid-template-columns: 1fr !important; }
  .order-summary { display: flex; margin-inline: -15px; padding: 2px 15px 7px; overflow-x: auto; scrollbar-width: none; }
  .order-summary::-webkit-scrollbar { display: none; }
  .order-summary button, .order-active-funds { min-width: 155px; flex: 0 0 155px; }
  .order-active-funds { min-width: 225px; }
  .topup-toolbar .outline-button, .order-toolbar .outline-button { width: 100%; }
  .client-row, .admin-topup-row, .internal-order-row { grid-template-columns: 1fr !important; gap: 13px; padding: 17px; }
  .internal-order-row > :last-child { grid-column: auto; justify-self: stretch; }
  .wallet-form { grid-template-columns: 1fr; }
  .topup-actions, .internal-order-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .provider-order-actions { width: 100%; }
  .provider-order-actions small, .provider-reconciliation { max-width: none; }
  .admin-showcase-grid { grid-template-columns: 1fr; }
  #view-catalog .toolbar, .admin-classifier-filters { grid-template-columns: 1fr; }
  .admin-status-filters { display: flex; margin-inline: -15px; padding: 2px 15px 7px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .admin-status-filters::-webkit-scrollbar { display: none; }
  .admin-status-filters button { min-width: 155px; flex: 0 0 155px; scroll-snap-align: start; }
  .admin-bulk-bar { padding: 9px; }
  .admin-bulk-controls { grid-template-columns: 1fr; }
  .admin-bulk-controls button { width: 100%; }
  #catalog-table-wrap { overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  #catalog-table-wrap table { min-width: 0; }
  #catalog-table-wrap thead { display: none; }
  #service-rows { display: grid; gap: 10px; }
  #service-rows tr { display: grid; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 16px; background: var(--admin-surface); }
  #service-rows td { display: grid; grid-template-columns: minmax(92px, .38fr) minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 15px; border-bottom: 1px solid #ecebe6; white-space: normal; }
  #service-rows td::before { content: attr(data-label); color: var(--admin-muted); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  #service-rows .bulk-select-cell { display: flex; width: auto; align-items: center; justify-content: space-between; padding-block: 10px; background: var(--admin-surface-soft); text-align: left; }
  #service-rows .bulk-select-cell::before { content: '\0412\044B\0431\0440\0430\0442\044C'; }
  #service-rows .admin-service-select { margin: 0; }
  #service-rows td:last-child { display: block; border-bottom: 0; }
  #service-rows td:last-child::before { display: none; }
  #service-rows .catalog-service-name, #service-rows .catalog-service-name small { min-width: 0; white-space: normal; }
  #service-rows .edit-service-card { width: 100%; min-height: 42px; }
  .admin-catalog-hero { align-items: stretch; padding: 19px; }
  .admin-catalog-summary { grid-template-columns: 1fr 1fr; }
  .admin-catalog-summary > div:last-child { grid-column: 1 / -1; }
  .business-stats, .settings-card form { grid-template-columns: 1fr; }
  .settings-card, .settings-note, .status-panel, .status-help { padding: 22px; border-radius: 21px; }
  .settings-card label > small { min-height: 0; }
  .status-panel form { grid-template-columns: 1fr; }
  .status-result { grid-template-columns: 1fr 1fr; }
  .service-editor-actions { bottom: -28px; margin-inline: -20px; padding-inline: 20px; }
  .rich-empty { min-height: 240px; }
}

@media (max-width: 430px) {
  .admin-catalog-summary { grid-template-columns: 1fr; }
  .admin-catalog-summary > div, .admin-catalog-summary > div:last-child { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--admin-line); }
  .admin-catalog-summary > div:last-child { border-bottom: 0; }
  .status-result { grid-template-columns: 1fr; }
}
.hero-status[data-state="warning"] { border-color: rgba(237,179,76,.5); color: #ffd98c; }
.hero-status[data-state="warning"] i { background: #edb34c; box-shadow: 0 0 0 4px rgba(237,179,76,.12); }
.hero-status[data-state="critical"] { border-color: rgba(228,118,102,.52); color: #ffb4a9; }
.hero-status[data-state="critical"] i { background: #e47666; box-shadow: 0 0 0 4px rgba(228,118,102,.12); }
.system-checks > div[data-state="warning"] i { background: #edb34c; }
.system-checks > div[data-state="critical"] i { background: #e47666; }
.health-badge[data-state="warning"] { background: #fff1bd; color: #715812; }
.health-badge[data-state="critical"] { background: var(--admin-danger); color: #8b4035; }
.internal-order-sla { display: inline-flex; width: max-content; margin-top: 5px; padding: 4px 7px; border-radius: 99px; background: var(--admin-success); color: #2c6d3e; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.internal-order-sla.warning { background: #fff1bd; color: #715812; }
.internal-order-sla.urgent { background: var(--admin-danger); color: #8b4035; }
@keyframes admin-live-pulse { to { opacity: .35; } }
.settings-subheading { display: grid; grid-column: 1 / -1; gap: 3px; margin-top: 6px; padding: 13px 2px 2px; border-top: 1px solid var(--admin-line); }
.settings-subheading:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.settings-subheading span { color: var(--admin-muted); font-size: 14px; font-weight: 900; letter-spacing: .1em; }
.settings-subheading strong { font: 700 16px var(--display); }
.settings-sla-preview { display: flex; align-items: center; justify-content: center; gap: 11px; min-height: 48px; padding: 10px; border: 1px dashed var(--admin-line); border-radius: 11px; color: var(--admin-muted); font-size: 14px; font-weight: 700; }
.settings-sla-preview span { display: inline-flex; align-items: center; gap: 5px; }
.settings-sla-preview i { width: 7px; height: 7px; border-radius: 50%; background: #4ee07a; }
.settings-sla-preview span:nth-child(2) i { background: #edb34c; }
.settings-sla-preview span:nth-child(3) i { background: #e47666; }
.settings-loyalty-preview { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.settings-loyalty-preview > span { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-surface-soft); }
.settings-loyalty-preview > span:nth-child(2) { background: #f0f1ff; }
.settings-loyalty-preview > span:nth-child(3) { background: var(--admin-ink); color: #fff; }
.settings-loyalty-preview small { color: var(--admin-muted); font-size: 14px; font-weight: 900; letter-spacing: .1em; }
.settings-loyalty-preview strong { font: 700 14px var(--display); }
.settings-loyalty-preview > span:nth-child(3) strong { color: var(--admin-acid); }

@media (max-width: 1080px) {
}

@media (max-width: 760px) {
  #loyalty-admin-distribution, .loyalty-admin-economics > div, #loyalty-admin-rewards { grid-template-columns: 1fr; }
  .loyalty-admin-overview > article { padding: 17px; }
  #loyalty-admin-rewards article { grid-template-columns: 46px minmax(0,1fr); }
  #loyalty-admin-rewards article > b { grid-column: 2; }
  .client-ledger-forms .wallet-form { grid-template-columns: 1fr; }
  .client-balances { grid-template-columns: 1fr; }
  .settings-sla-preview { align-items: flex-start; flex-direction: column; }
  .settings-loyalty-preview { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
}
