/* Админка и «Монетизация»: рабочая оболочка без публичной шапки/подвала
   и единый экран тарифов и рекламных поверхностей. */
.page--admin .header,
.page--admin .footer,
.page--admin .cookie,
.page--admin .promo-strip,
.page--admin .demo-ad,
.page--admin .demo-banner-slot { display: none !important; }

.page--admin { background: #f2f3ee; }
.page--admin .app-shell { min-height: 100vh; background: var(--paper); }
@media (min-width: 1024px) { .page--admin .app-shell { grid-template-columns: 236px minmax(0, 1fr); } }
.page--admin .app-side { padding: 22px 12px 18px; }
.page--admin .app-side > .brand { --brand-size: 27px; margin: 0 8px 20px; }
.page--admin .app-side__link { border-radius: 9px; padding: 9px 10px; font-size: 14px; }
.page--admin .app-side__link--active { border-radius: 9px; }
.page--admin .app-side__group { margin: 12px 8px 7px; }
.page--admin .app-main { background: #f3f4ef; min-height: 100vh; padding: 26px 34px 52px; }
.page--admin .app-top { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.97); backdrop-filter: blur(10px); }
.page--admin .app-top__search { flex: 0 0 620px; max-width: 620px; }
.page--admin .app-top__bell { margin-left: auto; }
.page--admin .app-user__name { font-size: 13px; }
.page--admin .ai-dock { display: none; }

.monetization-page { max-width: 1180px; margin: 0 auto; }
.monetization-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 0 0 18px; }
.monetization-head h1 { margin: 0; font-family: var(--font-display); font-size: clamp(2.2rem, 3.5vw, 3.2rem); line-height: .98; letter-spacing: -.025em; color: var(--graphite-900); }
.monetization-head .eyebrow { margin: 0 0 8px; color: var(--graphite-500); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.monetization-title-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.monetization-subtitle { margin: 9px 0 0; color: var(--graphite-600); font-size: 15px; }
.monetization-head__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; padding-bottom: 3px; }

.monetization-tabs { display: flex; gap: 0; margin: 6px 0 18px; border-bottom: 1px solid var(--line-200); overflow-x: auto; }
.monetization-tabs__item { padding: 10px 14px; color: var(--graphite-500); text-decoration: none; font-size: 13px; font-weight: 600; white-space: nowrap; border-bottom: 2px solid transparent; background: transparent; }
.monetization-tabs__item:hover { color: var(--graphite-900); }
.monetization-tabs__item.is-active { color: var(--graphite-900); border-bottom-color: var(--lime-500); background: #f8fbe9; }

.monetization-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 18px; align-items: start; }
.monetization-layout > .stack { gap: 16px; }
.monetization-card { padding: 20px 22px; border-radius: 12px; border-color: var(--line-200); box-shadow: 0 1px 1px rgba(24,32,16,.025); }
.monetization-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 13px; }
.monetization-card__head h2 { margin: 0; font-family: var(--font-display); font-size: 24px; line-height: 1.08; letter-spacing: -.015em; }
.monetization-card__lead { margin: -2px 0 13px; font-size: 12px; line-height: 1.4; }
.monetization-card .badge { font-size: 11px; }

.monetization-toggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--line-100); cursor: pointer; }
.monetization-toggle:first-of-type { border-top: 0; padding-top: 2px; }
.monetization-toggle__copy { display: grid; gap: 3px; }
.monetization-toggle__copy b { font-size: 14px; font-weight: 650; color: var(--graphite-900); }
.monetization-toggle__copy small { font-size: 12px; color: var(--graphite-500); line-height: 1.35; }
.monetization-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.monetization-switch { position: relative; width: 44px; height: 25px; flex: 0 0 44px; border-radius: 999px; background: #d8dcd2; border: 1px solid #ced4c6; transition: background .15s ease; }
.monetization-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); transition: transform .15s ease; }
.monetization-toggle input:checked + .monetization-switch { background: #28351c; border-color: #28351c; }
.monetization-toggle input:checked + .monetization-switch::after { transform: translateX(19px); }
.monetization-toggle input:focus-visible + .monetization-switch { outline: 0; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--graphite-900); }
.monetization-rule { border-top: 1px solid var(--line-100); }
.monetization-rule:first-of-type { border-top: 0; }
.monetization-rule .monetization-toggle { border-top: 0; padding: 10px 0; }

.monetization-packages { border-top: 1px solid var(--line-100); }
.monetization-packages__head, .monetization-package { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.6fr) auto; gap: 12px; align-items: center; }
.monetization-packages__head { padding: 9px 0; color: var(--graphite-500); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.monetization-package { padding: 12px 0; border-top: 1px solid var(--line-100); font-size: 13px; }
.monetization-package__name { display: flex; align-items: center; gap: 8px; font-weight: 650; color: var(--graphite-900); }
.monetization-package__icon { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 7px; background: #eef5df; color: #567138; }
.monetization-package__name small { display: none; }
.monetization-package__features { color: var(--graphite-500); font-size: 12px; line-height: 1.35; }
.monetization-package .link-action { font-size: 12px; white-space: nowrap; }

.monetization-surfaces { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.monetization-surface { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 12px; border: 1px solid var(--line-200); border-radius: 8px; color: var(--graphite-800); text-decoration: none; background: var(--paper); }
.monetization-surface:hover { border-color: var(--lime-500); background: #fbfdf3; }
.monetization-surface__icon { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; border-radius: 7px; background: #f4f1df; color: #7b6226; }
.monetization-surface b { display: block; font-size: 12px; line-height: 1.2; }
.monetization-surface small { display: block; margin-top: 3px; color: var(--graphite-500); font-size: 10px; line-height: 1.2; }

.monetization-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.monetization-table { min-width: 600px; }
.monetization-table th, .monetization-table td { font-size: 12px; padding: 10px 10px; }
.monetization-table th:first-child, .monetization-table td:first-child { padding-left: 0; }
.monetization-table th:last-child, .monetization-table td:last-child { padding-right: 0; }
.monetization-table .muted { font-size: 11px; }

.monetization-side-card { padding: 18px; }
.monetization-side-card .monetization-card__head h2 { font-size: 21px; }
.monetization-role, .monetization-connection { display: flex; align-items: center; gap: 9px; padding: 9px 0; border-top: 1px solid var(--line-100); color: var(--graphite-800); text-decoration: none; font-size: 12px; }
.monetization-role:first-of-type, .monetization-connection:first-of-type { border-top: 0; }
.monetization-role:hover, .monetization-connection:hover { color: var(--graphite-900); }
.monetization-role__icon, .monetization-connection__icon { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 6px; background: #f1f5e8; color: #567138; }
.monetization-role b, .monetization-connection b { display: block; font-weight: 600; }
.monetization-role small, .monetization-connection small { display: block; margin-top: 2px; color: var(--graphite-500); font-size: 10px; }
.monetization-role > span[aria-hidden], .monetization-role .link-action { margin-left: auto; color: var(--graphite-400); }
.monetization-role .grow, .monetization-connection .grow { min-width: 0; }
.monetization-role > span[aria-hidden] { flex: 0 0 auto; }
.monetization-connections .link-action, .monetization-roles .link-action { display: inline-block; margin-top: 10px; font-size: 12px; }
.monetization-connection .badge { font-size: 9px; padding: 2px 6px; }
.monetization-foot { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 22px; padding-top: 12px; border-top: 1px solid var(--line-200); color: var(--graphite-500); font-size: 11px; }

@media (max-width: 1200px) {
  .page--admin .app-main { padding: 24px 24px 44px; }
  .monetization-layout { grid-template-columns: minmax(0, 1fr) 320px; }
  .monetization-head h1 { font-size: 2.5rem; }
}
@media (max-width: 1050px) {
  .monetization-layout { grid-template-columns: minmax(0, 1fr); }
  .page--admin .app-top__search { flex: 1 1 auto; max-width: none; }
  .monetization-head { align-items: flex-start; flex-direction: column; gap: 14px; }
  .monetization-head__actions { justify-content: flex-start; padding-bottom: 0; }
}
@media (max-width: 700px) {
  .page--admin .app-main { padding: 20px 14px 34px; }
  .page--admin .app-side__group { display: none; }
  .page--admin .app-top { gap: 8px; padding-inline: 12px; }
  .page--admin .app-top > .btn { display: none; }
  .page--admin .app-top__search { flex: 1 1 auto; min-width: 0; }
  .page--admin .app-top__search .search__input { min-width: 0; width: 100%; }
  .page--admin .app-user__name, .page--admin .app-user__role { display: none; }
  .page--admin .app-user { gap: 0; }
  .monetization-head h1 { font-size: 2.15rem; }
  .monetization-card { padding: 16px 14px; }
  .monetization-card__head h2 { font-size: 21px; }
  .monetization-kpis { grid-template-columns: minmax(0, 1fr); }
  .monetization-surfaces { grid-template-columns: minmax(0, 1fr); }
  .monetization-packages__head { display: none; }
  .monetization-package { grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
  .monetization-package__features { grid-column: 1 / -1; padding-left: 35px; }
  .monetization-package .link-action { grid-column: 2; grid-row: 1; }
  .monetization-title-row .badge { white-space: normal; }
  .monetization-foot { font-size: 10px; }
}
