:root {
  --admin-canvas: #f2f4f6;
  --admin-canvas-deep: #e9edf0;
  --admin-paper: #fff;
  --admin-mist: #f7f9fa;
  --admin-ink: #0b1015;
  --admin-slate: #6b7785;
  --admin-muted: #929ba6;
  --admin-line: #d9dee4;
  --admin-line-soft: #e8ebee;
  --admin-lime: #d6ff3d;
  --admin-lime-hover: #bdeb27;
  --admin-lime-soft: rgba(214, 255, 61, .16);
  --admin-danger: #d94b4b;
  --admin-success: #6d9800;
  --admin-radius-nav: 28px;
  --admin-radius-card: 18px;
  --admin-radius-control: 12px;
  --admin-radius-pill: 999px;
  --admin-shadow-nav: 0 2px 4px rgba(11, 16, 21, .03), 0 18px 48px rgba(11, 16, 21, .10);
  --admin-shadow-card: 0 1px 2px rgba(11, 16, 21, .025), 0 12px 32px rgba(11, 16, 21, .045);
}

/* Login/network pages load this file without the cabinet layer. */
.partner-admin-login{--lp-admin-focus-ring:rgba(102,102,102,.72);--lp-admin-focus-glow:rgba(207,255,34,.28)}
.partner-admin-login :is(button,a[href],summary,input,select,textarea):focus-visible{
  outline:2px solid transparent!important;outline-offset:2px!important;
  box-shadow:0 0 0 2px var(--lp-admin-focus-ring),0 0 14px var(--lp-admin-focus-glow)!important;
  transition:box-shadow 180ms ease,border-color 180ms ease,background-color 180ms ease,color 180ms ease;
}
.partner-admin-login .admin-login-field:focus-within{box-shadow:0 0 0 2px var(--lp-admin-focus-ring),0 0 14px var(--lp-admin-focus-glow);transition:box-shadow 180ms ease;border-radius:10px}
.partner-admin-login .admin-login-field input:focus-visible{outline:0!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){.partner-admin-login :is(button,a[href],summary,input,select,textarea,.admin-login-field){transition:none!important}}
@media(forced-colors:active){.partner-admin-login :is(button,a[href],summary,input,select,textarea):focus-visible,.partner-admin-login .admin-login-field:focus-within{outline:2px solid CanvasText!important;outline-offset:2px!important;box-shadow:none!important}}

.partner-admin-mode {
  min-width: 320px;
  background: radial-gradient(circle at 50% -10%, rgba(255, 255, 255, .92), transparent 46%), var(--admin-canvas);
  color: var(--admin-ink);
  font-family: Inter, Arial, sans-serif;
  font-weight: 500;
}
.partner-admin-mode button, .partner-admin-mode input, .partner-admin-mode select { font: inherit; }
.partner-admin-mode button { color: inherit; }
.admin-shell { width: min(1320px, calc(100% - 32px)); margin-inline: auto; }
.admin-topbar { padding-top: 12px; }
.admin-nav { display: flex; align-items: center; min-height: 72px; padding: 0 30px 0 36px; border: 1px solid rgba(217, 222, 228, .8); border-radius: var(--admin-radius-nav); background: var(--admin-paper); box-shadow: var(--admin-shadow-nav); }
.admin-brand { display: flex; align-items: center; flex: 0 1 auto; min-width: 0; }
.admin-brand img { width: auto; height: 49px; max-width: min(300px, 52vw); object-fit: contain; }
.admin-badge { margin-left: 20px; border: 1px solid var(--admin-line); border-radius: 6px; padding: 4px 7px; background: var(--admin-mist); color: var(--admin-slate); font: 11px/1 "JetBrains Mono", ui-monospace, monospace; letter-spacing: .03em; }
.admin-nav-actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.partner-admin-main { padding: 29px 0 42px; }
.admin-page-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.admin-page-copy { min-width: 0; }
.admin-page-copy h1 { color: var(--admin-ink); font-family: "Space Grotesk", Inter, sans-serif; font-size: clamp(28px, 2.4vw, 38px); font-weight: 700; letter-spacing: -.045em; line-height: 1.03; }

.admin-period { position: relative; display: flex; align-items: center; gap: 16px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.admin-period-options { display: grid; grid-template-columns: repeat(4, minmax(72px, 1fr)); height: 48px; overflow: hidden; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-control); background: var(--admin-paper); }
.admin-period-options button, .admin-period-trigger { min-height: 46px; border: 0; background: transparent; color: var(--admin-slate); font-size: 13px; font-weight: 600; cursor: pointer; }
.admin-period-options button + button { border-left: 1px solid var(--admin-line-soft); }
.admin-period-options button:hover { background: var(--admin-mist); color: var(--admin-ink); }
.admin-period-options button.active { background: var(--admin-ink); color: #fff; }
.admin-period-trigger { display: inline-flex; align-items: center; gap: 10px; padding: 0 16px; border: 1px solid #c9d0d7; border-radius: var(--admin-radius-control); background: var(--admin-paper); color: var(--admin-ink); }
.admin-period-trigger svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.admin-period-trigger:hover { border-color: var(--admin-ink); }
.admin-period-custom { position: absolute; z-index: 5; top: calc(100% + 8px); right: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: min(390px, 100vw - 32px); padding: 14px; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-paper); box-shadow: var(--admin-shadow-nav); }
.admin-period-custom[hidden] { display: none; }
.admin-period-custom label { display: grid; gap: 5px; color: var(--admin-slate); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.admin-period-custom input { width: 100%; min-height: 38px; padding: 7px 8px; border: 1px solid var(--admin-line); border-radius: 9px; background: var(--admin-mist); color: var(--admin-ink); font-size: 13px; }
.admin-period-custom-actions { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 8px; margin-top: 2px; }
.admin-period-custom-actions button { min-height: 38px; padding: 0 13px; border: 1px solid var(--admin-line); border-radius: 9px; background: var(--admin-paper); color: var(--admin-slate); font-size: 12px; font-weight: 700; cursor: pointer; }
.admin-period-custom-actions [data-period-apply] { border-color: var(--admin-lime); background: var(--admin-lime); color: var(--admin-ink); }

.admin-tabs { display: flex; height: 48px; margin: 20px 0 18px; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 14px; background: rgba(255, 255, 255, .44); }
.admin-tabs button { position: relative; display: inline-flex; flex: 1 1 0; align-items: center; justify-content: center; gap: 10px; min-width: 0; padding: 0 16px; border: 0; border-right: 1px solid var(--admin-line-soft); background: transparent; color: var(--admin-slate); font-size: 14px; font-weight: 650; cursor: pointer; white-space: nowrap; }
.admin-tabs button:last-child { border-right: 0; }
.admin-tabs button:hover { color: var(--admin-ink); background: rgba(255,255,255,.58); }
.admin-tabs button.active { background: var(--admin-paper); color: var(--admin-ink); box-shadow: 0 1px 3px rgba(11,16,21,.06); }
.admin-tabs button.active::after { content: ''; position: absolute; right: 24px; bottom: 0; left: 24px; height: 3px; border-radius: 999px; background: var(--admin-lime); }
.admin-tab-count { display: inline-flex; align-items: center; justify-content: center; min-width: 21px; height: 21px; padding: 0 6px; border-radius: var(--admin-radius-pill); background: #eef1f4; color: var(--admin-slate); font: 11px/1 "JetBrains Mono", ui-monospace, monospace; }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.admin-inline-error { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; padding: 11px 14px; border: 1px solid rgba(217, 75, 75, .28); border-radius: 12px; background: #fff8f8; color: #9e3030; font-size: 13px; }
.admin-inline-error[hidden] { display: none; }
.admin-inline-error button { border: 0; background: transparent; color: inherit; font-weight: 750; text-decoration: underline; cursor: pointer; }

.admin-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.kpi-card { position: relative; min-height: 132px; padding: 17px 21px; overflow: hidden; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-card); background: var(--admin-paper); box-shadow: var(--admin-shadow-card); }
.kpi-top { display: flex; align-items: center; gap: 12px; color: var(--admin-slate); font-size: 11px; font-weight: 700; letter-spacing: .07em; }
.kpi-icon { display: grid; width: 38px; height: 38px; place-items: center; flex: 0 0 auto; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-paper); color: var(--admin-ink); }
.kpi-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.kpi-value { display: flex; align-items: center; gap: 11px; margin-top: 13px; color: var(--admin-ink); font: 700 clamp(28px, 2.2vw, 34px)/1 "JetBrains Mono", ui-monospace, monospace; letter-spacing: -.07em; white-space: nowrap; }
.kpi-sub { display: block; margin-top: 8px; color: var(--admin-slate); font-size: 12px; }
.kpi-live-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--admin-lime); box-shadow: 0 0 0 1px rgba(11,16,21,.06); }
.kpi-card--featured { border-color: var(--admin-ink); background: radial-gradient(circle at 90% 0%, rgba(214,255,61,.09), transparent 44%), var(--admin-ink); box-shadow: 0 1px 2px rgba(11,16,21,.08), 0 14px 32px rgba(11,16,21,.12), 0 12px 24px rgba(214,255,61,.16); }
.kpi-card--featured .kpi-top, .kpi-card--featured .kpi-sub { color: #b4bec9; }
.kpi-card--featured .kpi-icon { border-color: rgba(214,255,61,.58); background: transparent; color: var(--admin-lime); }
.kpi-card--featured .kpi-value { color: #fff; }
.kpi-card--featured::after { content: ''; position: absolute; bottom: 35px; left: 21px; width: 49px; height: 2px; border-radius: 999px; background: var(--admin-lime); }

.admin-analytics-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, 1fr); gap: 18px; margin-top: 18px; }
.admin-card { overflow: hidden; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-card); background: var(--admin-paper); box-shadow: var(--admin-shadow-card); }
.admin-card-head, .admin-table-head, .admin-list-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.admin-card-head { min-height: 62px; padding: 12px 20px 6px; }
.admin-card h2, .admin-list-head h2 { color: var(--admin-ink); font-family: "Space Grotesk", Inter, sans-serif; font-size: 17px; font-weight: 700; letter-spacing: -.03em; }
.chart-summary { display: flex; gap: 8px; }
.chart-summary-item { min-width: 112px; padding: 6px 10px; border: 1px solid var(--admin-line); border-radius: 9px; background: var(--admin-paper); }
.chart-summary-item span { display: block; color: var(--admin-slate); font-size: 10px; line-height: 1.15; }
.chart-summary-item b { display: block; margin-top: 2px; color: var(--admin-ink); font: 700 15px/1.1 "JetBrains Mono", ui-monospace, monospace; letter-spacing: -.05em; }
.admin-chart { position: relative; min-height: 202px; padding: 0 18px 14px; }
.admin-chart svg { display: block; width: 100%; height: 190px; overflow: visible; }
.chart-grid-line { stroke: var(--admin-line-soft); stroke-dasharray: 3 4; }
.chart-axis-label, .chart-x-label { fill: var(--admin-slate); font: 10px Inter, sans-serif; }
.chart-line-accrued { fill: none; stroke: var(--admin-ink); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.25; }
.chart-line-paid { fill: none; stroke: var(--admin-lime-hover); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.25; }
.chart-dot-accrued { fill: var(--admin-ink); }
.chart-dot-paid { fill: var(--admin-lime-hover); stroke: var(--admin-paper); stroke-width: 1.5; }
.chart-legend { display: flex; justify-content: center; gap: 16px; margin-top: -2px; color: var(--admin-slate); font-size: 10px; }
.chart-legend i { display: inline-block; width: 20px; height: 2px; margin-right: 6px; vertical-align: middle; background: var(--admin-ink); }
.chart-legend i.paid { background: var(--admin-lime-hover); }
.chart-tooltip { position: absolute; z-index: 2; display: none; min-width: 132px; padding: 8px 10px; border: 1px solid var(--admin-line); border-radius: 9px; background: rgba(255,255,255,.96); box-shadow: var(--admin-shadow-card); color: var(--admin-slate); font-size: 11px; pointer-events: none; }
.chart-tooltip b { display: block; color: var(--admin-ink); font-family: "JetBrains Mono", ui-monospace, monospace; }
.chart-empty { display: grid; min-height: 190px; place-items: center; color: var(--admin-slate); font-size: 13px; text-align: center; }

.admin-payout-card { display: flex; min-height: 264px; flex-direction: column; }
.admin-payout-overview { display: flex; min-height: 146px; flex: 1; padding: 0 20px 12px; }
.payout-empty { display: grid; width: 100%; place-content: center; justify-items: center; color: var(--admin-slate); text-align: center; }
.payout-empty svg { width: 56px; height: 56px; margin-bottom: 11px; fill: none; stroke: #909ba7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.payout-empty b { color: var(--admin-ink); font-size: 14px; }
.payout-quick-list { width: 100%; list-style: none; }
.payout-quick-list li { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 9px 0; border-top: 1px solid var(--admin-line-soft); font-size: 12px; }
.payout-quick-list li:first-child { border-top: 0; }
.payout-quick-list small { display: block; color: var(--admin-slate); }
.payout-quick-list b { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 12px; }
.admin-payout-footer { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 20px; border-top: 1px solid var(--admin-line); color: var(--admin-slate); font-size: 12px; }
.admin-payout-footer b { color: var(--admin-ink); font: 700 13px "JetBrains Mono", ui-monospace, monospace; }

.admin-recent-partners { margin-top: 18px; }
.admin-table-head { min-height: 49px; padding: 10px 20px 8px; border-bottom: 1px solid var(--admin-line); }
.admin-table-tools, .admin-list-filters { display: flex; align-items: center; gap: 10px; }
.admin-table-heading { display: flex; align-items: baseline; flex: 0 0 auto; min-width: 0; gap: 9px; }
.admin-table-heading h2 { white-space: nowrap; }
.admin-overview-results { color: var(--admin-slate); font: 11px "JetBrains Mono", ui-monospace, monospace; white-space: nowrap; }
.admin-search { display: flex; align-items: center; width: 334px; min-height: 36px; gap: 8px; padding: 0 10px; border: 1px solid var(--admin-line); border-radius: 8px; background: var(--admin-paper); color: var(--admin-muted); }
.admin-search svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.admin-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--admin-ink); font-size: 12px; }
.admin-search input::placeholder { color: var(--admin-muted); }
.overview-list-options { display: flex; align-items: center; gap: 6px; }
.overview-list-control { display: flex; align-items: center; min-height: 36px; gap: 6px; padding: 0 7px 0 9px; border: 1px solid var(--admin-line); border-radius: 8px; background: var(--admin-paper); color: var(--admin-slate); font-size: 11px; white-space: nowrap; }
.overview-list-control select { min-width: 0; border: 0; outline: 0; background: transparent; color: var(--admin-ink); font: inherit; cursor: pointer; }
.overview-list-control:focus-within { border-color: #80a319; box-shadow: 0 0 0 3px rgba(140, 187, 38, .15); }
.admin-all-partners { border: 0; background: transparent; color: #1976d2; font-size: 12px; font-weight: 700; cursor: pointer; }
.admin-all-partners:hover { text-decoration: underline; }
.admin-table-scroll { width: 100%; }
.partners-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.partners-table th { padding: 8px 20px; color: var(--admin-slate); font-size: 10px; font-weight: 650; text-align: left; }
.partners-table th button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.partners-table th button:hover { color: var(--admin-ink); text-decoration: underline; }
.partners-table td { padding: 9px 20px; border-top: 1px solid var(--admin-line-soft); color: var(--admin-ink); font-size: 13px; vertical-align: middle; }
.partners-table tbody tr { transition: background .15s; }
.partners-table tbody tr:hover { background: var(--admin-mist); }
.partners-table .numeric { text-align: right; font-family: "JetBrains Mono", ui-monospace, monospace; }
.partner-name { font-weight: 650; }
.ref-code { border: 0; background: transparent; color: var(--admin-slate); font: 12px "JetBrains Mono", ui-monospace, monospace; cursor: copy; }
.ref-code:hover { color: var(--admin-ink); text-decoration: underline; }
.activity-pill, .payout-status { display: inline-flex; align-items: center; justify-content: center; min-height: 23px; padding: 3px 10px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-pill); background: var(--admin-mist); color: var(--admin-slate); font-size: 11px; font-weight: 650; white-space: nowrap; }
.activity-pill.active, .payout-status.status-requested { border-color: transparent; background: var(--admin-lime); color: var(--admin-ink); }
.activity-pill.blocked, .payout-status.status-rejected { border-color: rgba(217,75,75,.2); background: #fff4f4; color: var(--admin-danger); }
.payout-status.status-paid { border-color: rgba(109,152,0,.18); background: #f2f8db; color: #537400; }

.admin-list-card { padding: 0; }
.admin-list-head { min-height: 77px; padding: 16px 20px; border-bottom: 1px solid var(--admin-line); }
.admin-list-head p { margin-top: 3px; color: var(--admin-slate); font-size: 12px; }
.admin-list-filters { padding: 12px 20px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-list-filters select { min-height: 36px; padding: 0 30px 0 10px; border: 1px solid var(--admin-line); border-radius: 8px; background: var(--admin-paper); color: var(--admin-slate); font-size: 12px; }
.admin-results-count { color: var(--admin-slate); font: 12px "JetBrains Mono", ui-monospace, monospace; }
.admin-row-actions { display: flex; justify-content: flex-end; gap: 6px; }
.admin-action { min-height: 31px; padding: 0 10px; border: 1px solid var(--admin-line); border-radius: 8px; background: var(--admin-paper); color: var(--admin-ink); font-size: 11px; font-weight: 650; cursor: pointer; white-space: nowrap; }
.admin-action:hover { border-color: var(--admin-ink); }
.admin-action.danger { border-color: rgba(217,75,75,.22); color: var(--admin-danger); }
.admin-action.success { border-color: rgba(109,152,0,.24); color: #537400; }
.admin-empty-table { padding: 42px 20px; color: var(--admin-slate); font-size: 13px; text-align: center; }

.admin-freelance-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; }
.admin-freelance-layout [hidden], .partner-admin-period-host[hidden] { display: none !important; }
.admin-freelance-issuer { width: min(100%, 720px); overflow: hidden; }
.admin-freelance-issuer-body { display: grid; gap: 12px; padding: 16px 20px 20px; }
.admin-freelance-search { width: 100%; }
.admin-freelance-candidates { max-height: 304px; overflow: auto; border: 1px solid var(--admin-line); border-radius: 12px; scrollbar-width: thin; }
.admin-freelance-candidate { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; width: 100%; gap: 10px; padding: 10px; border: 0; border-top: 1px solid var(--admin-line-soft); background: var(--admin-paper); color: var(--admin-ink); text-align: left; cursor: pointer; }
.admin-freelance-candidate:first-child { border-top: 0; }
.admin-freelance-candidate:hover,.admin-freelance-candidate.is-selected { background: var(--admin-mist); }
.admin-freelance-candidate .partner-avatar { width: 36px; height: 36px; }
.admin-freelance-candidate > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
.admin-freelance-candidate b,.admin-freelance-candidate small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-freelance-candidate b { font-size: 12px; font-weight: 600; }
.admin-freelance-candidate small { color: var(--admin-slate); font-size: 10px; }
.admin-freelance-candidate em { font-style: normal; }
.admin-freelance-selection { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-mist); }
.admin-freelance-selection > span:first-child { display: grid; min-width: 0; gap: 2px; }
.admin-freelance-selection small,.admin-freelance-selection em { color: var(--admin-slate); font-size: 10px; font-style: normal; }
.admin-freelance-selection b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.admin-freelance-create { min-height: 44px; border: 0; border-radius: 10px; background: var(--admin-lime); color: var(--admin-ink); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.admin-freelance-create:hover:not(:disabled) { background: var(--admin-lime-hover); }
.admin-freelance-create:disabled { cursor: not-allowed; opacity: .48; }
.admin-freelance-code { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-paper); }
.admin-freelance-code span { display: grid; gap: 5px; }
.admin-freelance-code small { color: var(--admin-slate); font-size: 10px; }
.admin-freelance-code strong { overflow-wrap: anywhere; font: 600 14px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-freelance-code > div { display: flex; flex-wrap: wrap; gap: 7px; }
.admin-freelance-history { min-width: 0; overflow: hidden; }
.admin-freelance-history .admin-table-head { display: flex; align-items: center; justify-content: space-between; flex-direction: row; }
.admin-freelance-table { min-width: 1040px; table-layout: auto; }
.admin-freelance-table :is(th, td) { white-space: nowrap; }
.admin-freelance-table :is(th, td):first-child,
.admin-freelance-table :is(th, td):nth-child(3) { min-width: 170px; white-space: normal; }
.admin-freelance-table td small { display: block; margin-top: 2px; color: var(--admin-slate); font-size: 10px; }

.partner-detail { margin-top: 18px; padding: 22px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-card); background: var(--admin-paper); box-shadow: var(--admin-shadow-card); }
.partner-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.partner-detail-head h2 { margin-top: 7px; font-family: "Space Grotesk", Inter, sans-serif; font-size: 26px; letter-spacing: -.04em; }
.partner-detail-head p { margin-top: 4px; color: var(--admin-slate); font-size: 12px; }
.partner-detail-close { min-height: 36px; padding: 0 12px; border: 1px solid var(--admin-line); border-radius: 9px; background: var(--admin-paper); color: var(--admin-slate); cursor: pointer; }
.partner-detail-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 20px 0; }
.partner-detail-metrics > div { padding: 13px; border: 1px solid var(--admin-line-soft); border-radius: 11px; background: var(--admin-mist); }
.partner-detail-metrics small { display: block; color: var(--admin-slate); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.partner-detail-metrics b { display: block; margin-top: 6px; color: var(--admin-ink); font: 700 20px/1 "JetBrains Mono", ui-monospace, monospace; letter-spacing: -.05em; }
.partner-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.partner-detail-grid section { min-width: 0; }
.partner-detail-grid h3 { margin-bottom: 7px; color: var(--admin-ink); font-size: 14px; }
.partner-detail-line { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--admin-line-soft); color: var(--admin-ink); font-size: 12px; }
.partner-detail-line small { display: block; margin-top: 1px; color: var(--admin-slate); font-size: 11px; }
.partner-detail-line code { color: var(--admin-slate); font: 11px "JetBrains Mono", ui-monospace, monospace; }

.admin-skeleton { overflow: hidden; border-radius: var(--admin-radius-card); background: linear-gradient(110deg, #fff 22%, #f2f4f6 42%, #fff 62%); background-size: 200% 100%; }
.kpi-skeleton { min-height: 132px; border: 1px solid var(--admin-line); }
.chart-skeleton { height: 202px; }
.payout-skeleton { width: 100%; height: 138px; }
.table-skeleton { height: 154px; border-radius: 0; }
@media (prefers-reduced-motion: no-preference) { .admin-skeleton { animation: admin-skeleton 1.7s ease-in-out infinite; } }
@keyframes admin-skeleton { to { background-position: -200% 0; } }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.partner-admin-mode :focus-visible { outline: 3px solid rgba(93, 117, 0, .42); outline-offset: 2px; }

@media (max-width: 1100px) {
  .admin-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-analytics-grid { grid-template-columns: 1.35fr 1fr; }
}
@media (max-width: 1180px) {
  .admin-table-head { align-items: flex-start; flex-direction: column; }
  .admin-table-tools { width: 100%; flex-wrap: wrap; }
  .admin-table-tools .admin-search { flex: 1 1 260px; width: auto; }
}
@media (max-width: 900px) {
  .admin-freelance-layout { grid-template-columns: 1fr; }
  .admin-page-head { align-items: flex-start; flex-direction: column; }
  .admin-period { width: 100%; }
  .admin-analytics-grid { grid-template-columns: 1fr; }
  .admin-period-custom { right: auto; left: 0; }
}
@media (max-width: 700px) {
  .admin-freelance-issuer-body { padding: 14px; }
  .admin-freelance-history .admin-table-scroll { overflow: visible; }
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table,
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table tbody,
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table tr,
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table td { display: block; width: 100%; min-width: 0; }
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table thead { display: none; }
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table tr { padding: 13px 14px; border-top: 1px solid var(--admin-line-soft); }
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table td { display: grid; grid-template-columns: minmax(132px, .78fr) minmax(0, 1fr); align-items: start; gap: 12px; padding: 5px 0; border: 0; text-align: left; white-space: normal; }
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table td::before { display: block; content: attr(data-label); color: var(--admin-slate); font-size: 10px; font-weight: 400; text-align: left; }
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table td.numeric { text-align: left; }
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table td:first-child { padding-top: 0; }
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table td:last-child { padding-bottom: 0; }
  body.partner-admin-mode .admin-freelance-history .admin-freelance-table td[data-label="Действия"]:empty { display: none; }
  .admin-shell { width: min(100% - 20px, 560px); }
  .admin-topbar { padding-top: 8px; }
  .admin-nav { min-height: 64px; padding: 0 13px 0 16px; border-radius: 21px; }
  .admin-brand img { height: 38px; max-width: 178px; }
  .admin-badge { display: none; }
  .admin-nav-actions { gap: 3px; }
  .partner-admin-main { padding-top: 24px; }
  .admin-page-copy h1 { max-width: 490px; }
  .admin-period { align-items: stretch; flex-wrap: wrap; gap: 8px; }
  .admin-period-options { flex: 1 1 100%; grid-template-columns: repeat(4, minmax(65px, 1fr)); }
  .admin-period-options button { font-size: 11px; }
  .admin-period-trigger { flex: 0 0 auto; min-height: 44px; }
  .admin-tabs { margin-top: 16px; overflow-x: auto; }
  .admin-tabs button { flex: 0 0 auto; min-width: max-content; min-height: 46px; font-size: 12px; }
  .admin-kpi-grid { gap: 10px; }
  .kpi-card { min-height: 126px; padding: 15px; }
  .kpi-top { gap: 8px; font-size: 9px; letter-spacing: .05em; }
  .kpi-icon { width: 32px; height: 32px; border-radius: 9px; }
  .kpi-icon svg { width: 19px; height: 19px; }
  .kpi-value { margin-top: 12px; font-size: 25px; }
  .kpi-sub { font-size: 10px; }
  .kpi-card--featured::after { bottom: 29px; left: 15px; width: 36px; }
  .chart-summary { gap: 5px; }
  .chart-summary-item { min-width: 86px; padding: 5px 6px; }
  .chart-summary-item b { font-size: 12px; }
  .admin-card-head { padding-inline: 14px; }
  .admin-chart { padding-inline: 8px; }
  .admin-table-head, .admin-list-head { align-items: flex-start; flex-direction: column; padding: 14px; }
  .admin-table-tools, .admin-list-filters { width: 100%; flex-wrap: wrap; }
  .admin-search { flex: 1 1 100%; width: 100%; }
  .overview-list-options { flex: 1 1 auto; }
  .overview-list-control { flex: 1 1 140px; justify-content: space-between; }
  .admin-list-filters { padding: 10px 14px; }
  .admin-list-filters select { flex: 1 1 140px; }
  .partners-table, .partners-table tbody, .partners-table tr, .partners-table td { display: block; width: 100%; }
  .partners-table thead { display: none; }
  .partners-table tr { padding: 9px 14px; border-top: 1px solid var(--admin-line-soft); }
  .partners-table td { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 5px 0; border: 0; text-align: right; }
  .partners-table td::before { content: attr(data-label); color: var(--admin-slate); font-size: 11px; font-weight: 600; text-align: left; }
  .partners-table td:first-child { padding-top: 0; }
  .partners-table td:last-child { padding-bottom: 0; }
  .partners-table .numeric { font-family: "JetBrains Mono", ui-monospace, monospace; }
  .admin-row-actions { width: 100%; justify-content: flex-end; }
  .partner-detail { padding: 16px; }
  .partner-detail-head { flex-direction: column; }
  .partner-detail-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 390px) {
  .admin-shell { width: min(100% - 16px, 560px); }
  .admin-brand img { max-width: 143px; }
  .admin-page-copy h1 { font-size: 27px; }
  .admin-kpi-grid { grid-template-columns: 1fr; }
}

.admin-security-card { max-width: 720px; }
.admin-security-content { padding: 2px 24px 26px; }
.admin-security-state { display: flex; align-items: center; gap: 12px; }
.admin-security-state b { display: block; color: var(--admin-ink); font-size: 14px; }
.admin-security-state p { margin: 3px 0 0; color: var(--admin-slate); font-size: 12px; }
.admin-security-lock { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: #eff8df; color: #597513; }
.admin-security-lock svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.admin-security-note { margin: 17px 0; color: var(--admin-slate); font-size: 12px; line-height: 1.55; }
.admin-security-secret { display: flex; align-items: center; gap: 8px; margin-bottom: 15px; padding: 10px 11px; border: 1px solid var(--admin-line); border-radius: 10px; background: #fbfcfa; }
.admin-security-secret code { min-width: 0; flex: 1; overflow: hidden; color: #34442d; font: 13px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .06em; text-overflow: ellipsis; white-space: nowrap; }
.admin-security-form { display: flex; align-items: end; gap: 9px; max-width: 360px; }
.admin-security-form label { display: grid; flex: 1; gap: 6px; color: var(--admin-slate); font-size: 12px; }
.admin-security-form input { height: 38px; padding: 0 10px; border: 1px solid var(--admin-line); border-radius: 8px; color: var(--admin-ink); font: inherit; outline: 0; }
.admin-security-form input:focus { border-color: #80a319; box-shadow: 0 0 0 3px rgba(140, 187, 38, .15); }
.admin-security-warning { margin: 14px 0 0; color: #8b681c; font-size: 11px; }
@media (max-width: 700px) { .admin-security-content { padding-inline: 14px; } .admin-security-form { align-items: stretch; flex-direction: column; } }

/* Calm, readable hierarchy for an operational interface. */
.partner-admin-mode { font-weight: 400; }
.admin-period-options button, .admin-period-trigger, .admin-tabs button, .admin-action, .activity-pill, .payout-status { font-weight: 500; }
.kpi-top, .partner-detail-metrics small { font-weight: 600; }
.admin-page-copy h1 { font-family: Inter, Arial, sans-serif; font-weight: 600; letter-spacing: -.035em; }
.admin-card h2, .admin-list-head h2, .partner-detail-head h2 { font-family: Inter, Arial, sans-serif; font-weight: 600; letter-spacing: -.025em; }
.kpi-value, .chart-summary-item b, .admin-payout-footer b, .partner-detail-metrics b { font-weight: 600; }
.partner-name, .partners-table th, .admin-all-partners { font-weight: 500; }
.admin-inline-error button, .admin-period-custom label, .admin-period-custom-actions button { font-weight: 600; }

/* Partner admin sign-in stays deliberately separate from the public partner account. */
.partner-admin-login {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background: var(--admin-canvas);
  color: var(--admin-ink);
  font: 400 15px/1.5 Inter, Arial, sans-serif;
}

.partner-admin-login *, .partner-admin-login *::before, .partner-admin-login *::after { box-sizing: border-box; }
.admin-login-layout { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.admin-login-card { width: min(100%, 436px); padding: 30px; border: 1px solid var(--admin-line); border-radius: 16px; background: var(--admin-paper); }
.admin-login-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--admin-slate); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-decoration: none; }
.admin-login-brand img { width: auto; height: 43px; max-width: 254px; object-fit: contain; }
.admin-login-copy { margin: 34px 0 27px; }
.admin-login-copy p { margin: 0 0 7px; color: #657f25; font-size: 12px; font-weight: 500; }
.admin-login-copy h1 { margin: 0; color: var(--admin-ink); font-size: 30px; font-weight: 600; letter-spacing: -.035em; line-height: 1.1; }
.admin-login-copy > span { display: block; margin-top: 9px; color: var(--admin-slate); font-size: 14px; }
.admin-login-card form { display: grid; gap: 15px; }
.admin-login-field { display: grid; gap: 6px; color: var(--admin-slate); font-size: 12px; font-weight: 500; }
.admin-login-network-field small { color: var(--admin-muted); font-size: 10px; font-weight: 400; line-height: 1.45; }
.admin-login-field input { width: 100%; min-height: 48px; padding: 0 13px; border: 1px solid var(--admin-line); border-radius: 10px; outline: 0; background: #fff; color: var(--admin-ink); font: inherit; }
.admin-login-field input::placeholder { color: #9aa3ac; }
.admin-login-field input:focus { border-color: #8caf2e; box-shadow: 0 0 0 3px rgba(214,255,61,.3); }
.admin-login-message { margin: -2px 0 0; color: var(--admin-slate); font-size: 13px; }
.admin-login-message[data-tone="error"] { color: #a53b3b; }
.admin-login-message[data-tone="success"] { color: #5a7619; }
.admin-login-submit { min-height: 50px; margin-top: 4px; border: 0; border-radius: 11px; background: var(--admin-lime); color: #1e2b05; font: 600 14px Inter, Arial, sans-serif; cursor: pointer; transition: background-color .18s var(--admin-ease, ease), transform .18s var(--admin-ease, ease); }
.admin-login-submit:hover:not(:disabled) { background: var(--admin-lime-hover); }
.admin-login-submit:active:not(:disabled) { transform: translateY(1px); }
.admin-login-submit:disabled { cursor: wait; opacity: .72; }
.admin-login-note { margin: 21px 0 0; color: var(--admin-muted); font-size: 11px; line-height: 1.45; }
.admin-network-card { width: min(100%, 436px); }
.admin-network-code input { min-height: 54px; text-align: center; font-size: 20px; font-variant-numeric: tabular-nums; font-weight: 600; letter-spacing: .18em; }
.admin-login-manager-link { display: block; min-height: 44px; margin: 8px auto 0; padding: 8px; border: 0; background: transparent; color: var(--admin-slate); font: inherit; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.admin-login-manager-link:hover { color: var(--admin-ink); }
.admin-login-card[hidden] { display: none; }
.manager-setup-card { margin-top: 0; }
.manager-setup-card[hidden] { display: none; }
.manager-setup-card [hidden] { display: none!important; }
.manager-setup-codes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 2px; }
.manager-setup-codes article { display: grid; gap: 7px; justify-items: center; padding: 11px; border: 1px solid var(--admin-line); border-radius: 10px; background: #fafafa; }
.manager-setup-codes b { color: var(--admin-slate); font-size: 11px; font-weight: 600; }
.manager-setup-codes img { width: 132px; max-width: 100%; height: auto; aspect-ratio: 1; image-rendering: auto; }
.manager-setup-codes code { max-width: 100%; overflow-wrap: anywhere; color: var(--admin-muted); font: 10px/1.3 ui-monospace, monospace; text-align: center; }
.manager-network-code[hidden], .manager-setup-only[hidden] { display: none; }
@media (max-width: 560px) { .manager-setup-codes { grid-template-columns: 1fr; } .manager-setup-codes img { width: 148px; } }
.admin-security-qr { display: grid; grid-template-columns: 156px minmax(0, 1fr); align-items: center; gap: 18px; margin: 0 0 16px; padding: 14px; border: 1px solid var(--admin-line); border-radius: 16px; background: var(--admin-mist); }
.admin-security-qr img { display: block; width: 156px; height: 156px; border-radius: 12px; background: #fff; }
.admin-security-qr b, .admin-security-qr span { display: block; }
.admin-security-qr b { margin-bottom: 5px; color: var(--admin-ink); font-size: 14px; }
.admin-security-qr span { color: var(--admin-slate); font-size: 12px; line-height: 1.5; }
.admin-trusted-list { display: grid; gap: 8px; margin-top: 15px; }
.admin-trusted-ip { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-mist); }
.admin-trusted-ip b, .admin-trusted-ip small { display: block; }
.admin-trusted-ip b { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; }
.admin-trusted-ip small { margin-top: 3px; color: var(--admin-slate); font-size: 11px; }
.partner-admin-login :focus-visible { outline: 3px solid rgba(93,117,0,.42); outline-offset: 2px; }

@media (max-width: 480px) {
  .admin-login-layout { align-items: start; padding: 16px; }
  .admin-login-card { margin-top: max(16px, env(safe-area-inset-top)); padding: 24px 20px; }
  .admin-login-brand img { height: 37px; }
  .admin-login-copy { margin: 28px 0 24px; }
  .admin-login-copy h1 { font-size: 27px; }
  .admin-security-qr { grid-template-columns: 1fr; justify-items: center; text-align: center; }
}

/* Compact Vitrio-inspired navigation for the partner control panel. */
.partner-admin-app { min-height: 100dvh; }
.partner-admin-sidebar {
  position: fixed;
  z-index: 20;
  inset: 0 auto 0 0;
  display: flex;
  flex-direction: column;
  width: 240px;
  height: 100dvh;
  padding: 18px 14px 16px;
  background: #111411;
  color: #fff;
}
.partner-admin-sidebar-top { min-width: 0; }
.partner-admin-brand { display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 8px; color: inherit; text-decoration: none; }
.partner-admin-brand img { display: block; width: 108px; height: 32px; object-fit: contain; object-position: left; }
.partner-admin-brand span { padding-left: 10px; border-left: 1px solid rgba(255, 255, 255, .2); color: rgba(255, 255, 255, .62); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.partner-admin-side-label { margin: 27px 10px 10px; color: rgba(255, 255, 255, .48); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.partner-admin-tabs { display: grid; height: auto; margin: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; gap: 6px; }
.partner-admin-tabs button {
  position: static;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  box-shadow: none;
  color: rgba(255, 255, 255, .78);
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
  transition: background-color 160ms ease, color 160ms ease;
}
.partner-admin-tabs button::after { display: none; }
.partner-admin-tabs button:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.partner-admin-tabs button.active { background: var(--admin-lime); color: #111411; box-shadow: none; font-weight: 600; }
.partner-admin-nav-icon, .partner-admin-profile-arrow, .partner-admin-logout-icon { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.partner-admin-tabs .admin-tab-count { margin-left: auto; background: rgba(255, 255, 255, .11); color: rgba(255, 255, 255, .86); font-weight: 600; }
.partner-admin-tabs button.active .admin-tab-count { background: rgba(17, 20, 17, .16); color: #111411; }
.partner-admin-sidebar-bottom { display: grid; gap: 12px; margin-top: auto; }
.partner-admin-system { display: flex; align-items: flex-start; gap: 11px; padding: 12px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 11px; background: rgba(255, 255, 255, .025); }
.partner-admin-system i { width: 8px; height: 8px; flex: 0 0 auto; margin-top: 5px; border-radius: 50%; background: var(--admin-lime); box-shadow: 0 0 0 3px rgba(214, 255, 61, .11); }
.partner-admin-system b, .partner-admin-system small, .partner-admin-profile b, .partner-admin-profile small { display: block; }
.partner-admin-system b { font-size: 12px; font-weight: 600; }
.partner-admin-system small { margin-top: 2px; color: rgba(255, 255, 255, .52); font-size: 11px; line-height: 1.35; }
.partner-admin-profile { display: grid; grid-template-columns: 38px minmax(0, 1fr) 28px; align-items: center; gap: 10px; min-height: 58px; padding: 0 5px; border: 0; background: transparent; color: #fff; text-align: left; }
.partner-admin-profile:hover b { color: var(--admin-lime); }
.partner-admin-profile-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #303530; color: #fff; font-size: 13px; font-weight: 600; }
.partner-admin-profile b { overflow: hidden; font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.partner-admin-profile small { margin-top: 2px; color: rgba(255, 255, 255, .55); font-size: 11px; }
.partner-admin-profile-arrow { justify-self: end; width: 16px; color: rgba(255, 255, 255, .7); }
.partner-admin-logout { display: inline-flex; align-items: center; gap: 8px; width: fit-content; min-height: 30px; padding: 0 5px; border: 0; background: transparent; color: rgba(255, 255, 255, .68); font-size: 12px; font-weight: 500; text-decoration: none; }
.partner-admin-logout:hover { color: #fff; }
.partner-admin-logout-icon { width: 16px; height: 16px; }
.partner-admin-main { width: auto; max-width: none; min-height: 100dvh; margin: 0 0 0 240px; padding: 27px 30px 42px; }

@media (max-width: 820px) {
  .partner-admin-sidebar { position: static; width: 100%; height: auto; min-height: 0; padding: 12px 14px; }
  .partner-admin-sidebar-top { display: grid; grid-template-columns: minmax(0, 1fr); }
  .partner-admin-brand { height: 36px; padding: 0 4px; }
  .partner-admin-brand img { width: 100px; height: 30px; }
  .partner-admin-side-label { display: none; }
  .partner-admin-tabs { display: flex; width: 100%; margin-top: 12px; overflow-x: auto; gap: 5px; scrollbar-width: none; }
  .partner-admin-tabs::-webkit-scrollbar { display: none; }
  .partner-admin-tabs button { flex: 0 0 auto; width: auto; min-height: 40px; padding: 0 11px; font-size: 12px; }
  .partner-admin-sidebar-bottom { display: flex; align-items: center; gap: 13px; margin-top: 12px; }
  .partner-admin-system, .partner-admin-profile { display: none; }
  .partner-admin-logout { min-height: 28px; padding: 0; font-size: 11px; }
  .partner-admin-main { margin-left: 0; padding: 22px 16px 34px; }
}

@media (max-width: 480px) {
  .partner-admin-sidebar { padding-inline: 10px; }
  .partner-admin-tabs { width: 100%; }
  .partner-admin-brand span { font-size: 10px; }
  .partner-admin-main { padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-admin-tabs button { transition-duration: 1ms; }
}

/* Telegram bot control inherits the partner list/detail workspace and exposes real operational state. */
.partner-bots-workspace { overflow: hidden; border: 1px solid var(--admin-line); border-radius: 16px; background: var(--admin-paper); font-family: Manrope, Arial, sans-serif; }
.partner-admin-main.is-bots .admin-period-options,
.partner-admin-main.is-bots .admin-period-trigger { display: none; }
.partner-admin-main.is-bots .admin-page-copy { display: none; }
.partner-admin-main.is-bots .admin-page-head { justify-content: flex-end; padding-bottom: 12px; }
.partner-bots-list-view[hidden], .partner-bot-detail[hidden] { display: none; }
.partner-bots-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 24px 18px; border-bottom: 1px solid var(--admin-line-soft); }
.partner-bots-heading h2 { margin: 0; color: var(--admin-ink); font-size: 20px; font-weight: 500; letter-spacing: -.02em; line-height: 1.2; }
.partner-bots-heading p { max-width: 64ch; margin: 6px 0 0; color: var(--admin-slate); font-size: 12px; font-weight: 400; line-height: 1.5; }
.partner-bots-summary { flex: 0 0 auto; color: var(--admin-slate); font: 500 11px/1.3 "IBM Plex Mono", ui-monospace, monospace; }
.partner-bots-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--admin-line-soft); }
.partner-bots-search { width: min(430px, 100%); margin: 0; }
.partner-bots-filter { display: flex; align-items: center; gap: 8px; color: var(--admin-slate); font-size: 11px; font-weight: 400; }
.partner-bots-filter select { height: 38px; padding: 0 30px 0 11px; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-paper); color: var(--admin-ink); font-size: 12px; font-weight: 400; outline: 0; }
.partner-bots-filter select:focus-visible { border-color: #728d22; box-shadow: 0 0 0 3px rgba(145, 183, 47, .16); }
.partner-bots-table-wrap { overflow-x: auto; }
.partner-bots-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }
.partner-bots-table th { height: 43px; padding: 0 10px; border-bottom: 1px solid var(--admin-line-soft); color: var(--admin-slate); font-size: 10px; font-weight: 400; text-align: left; white-space: nowrap; }
.partner-bots-table td { height: 72px; padding: 11px 10px; border-bottom: 1px solid var(--admin-line-soft); color: var(--admin-ink); font-size: 12px; vertical-align: middle; }
.partner-bots-table :is(th,td):first-child { width: 21%; padding-left: 14px; }
.partner-bots-table :is(th,td):nth-child(2) { width: 18%; }
.partner-bots-table :is(th,td):nth-child(3) { width: 11%; }
.partner-bots-table :is(th,td):nth-child(4) { width: 12%; }
.partner-bots-table :is(th,td):nth-child(5) { width: 17%; }
.partner-bots-table :is(th,td):nth-child(6) { width: 10%; }
.partner-bots-table :is(th,td):last-child { width: 11%; padding-right: 14px; }
.partner-bots-table tbody tr:last-child td { border-bottom: 0; }
.partner-bots-table tbody tr:hover { background: var(--admin-mist); }
.partner-bot-identity { display: flex; align-items: center; min-width: 0; gap: 10px; }
.partner-bot-avatar { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; background: transparent; }
.partner-bot-avatar img { display: block; width: 34px; height: 34px; object-fit: contain; }
.partner-bot-identity > span:last-child, .partner-bot-owner, .partner-bot-stars, .partner-bot-income { display: grid; min-width: 0; gap: 3px; }
.partner-bot-identity b, .partner-bot-owner b, .partner-bot-stars b, .partner-bot-income b { overflow: hidden; color: var(--admin-ink); font-size: 12px; font-weight: 500; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.partner-bot-identity small, .partner-bot-owner small, .partner-bot-stars small, .partner-bot-income small { overflow: hidden; color: var(--admin-slate); font-size: 10px; font-weight: 400; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.partner-bot-stars b, .partner-bot-income b, .partner-bot-funnel b { font-family: "IBM Plex Mono", ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.partner-bot-state { display: inline-flex; align-items: center; gap: 7px; color: var(--admin-slate); font-size: 11px; font-weight: 400; white-space: nowrap; }
.partner-bot-state i { width: 7px; height: 7px; border-radius: 50%; background: #9ca6af; }
.partner-bot-state.is-active { color: #3f7014; }
.partner-bot-state.is-active i { background: #79ad27; }
.partner-bot-state.is-paused { color: #8c6a10; }
.partner-bot-state.is-paused i { background: #d0a11c; }
.partner-bot-state.is-blocked { color: #ad4444; }
.partner-bot-state.is-blocked i { background: #d55a5a; }
.partner-bot-funnel { display: grid; grid-template-columns: repeat(3, minmax(36px, 1fr)); min-width: 130px; gap: 6px; }
.partner-bot-funnel > span { display: grid; gap: 3px; }
.partner-bot-funnel small { color: var(--admin-slate); font-size: 9px; font-weight: 400; }
.partner-bot-funnel b { color: var(--admin-ink); font-size: 12px; font-weight: 500; }
.partner-bot-open-cell { width: 80px; text-align: right; }
.partner-bots-loading, .partner-bot-detail-loading { display: grid; gap: 1px; padding: 0 16px; }
.partner-bots-loading i, .partner-bot-detail-loading i { display: block; height: 72px; background: linear-gradient(100deg, var(--admin-mist) 25%, var(--admin-line-soft) 45%, var(--admin-mist) 65%); background-size: 220% 100%; animation: admin-skeleton 1.7s ease-in-out infinite; }
.partner-bot-detail-loading { padding: 16px; }
.partner-bot-detail-loading i { height: 120px; border-radius: 12px; }
.partner-bots-empty { display: grid; min-height: 300px; place-content: center; justify-items: center; padding: 30px; text-align: center; }
.partner-bots-empty > span { display: grid; width: 58px; height: 58px; margin-bottom: 13px; place-items: center; }
.partner-bots-empty > span img { width: 54px; height: 54px; object-fit: contain; }
.partner-bots-empty h3 { margin: 0; color: var(--admin-ink); font-size: 15px; font-weight: 500; }
.partner-bots-empty p { max-width: 43ch; margin: 7px 0 16px; color: var(--admin-slate); font-size: 12px; font-weight: 400; line-height: 1.5; }
.partner-bot-detail { padding: 18px; background: var(--admin-canvas); }
.partner-bot-back { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; margin-bottom: 12px; padding: 0; border: 0; background: transparent; color: var(--admin-slate); font-size: 12px; font-weight: 400; cursor: pointer; }
.partner-bot-back:hover { color: var(--admin-ink); }
.partner-bot-back:focus-visible { outline: 2px solid #728d22; outline-offset: 3px; }
.partner-bot-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 21px 22px; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-paper); }
.partner-bot-identity.is-large { min-width: 0; gap: 13px; }
.partner-bot-identity.is-large .partner-bot-avatar { width: 50px; height: 50px; }
.partner-bot-identity.is-large .partner-bot-avatar img { width: 46px; height: 46px; }
.partner-bot-identity.is-large b { font-size: 20px; letter-spacing: -.02em; }
.partner-bot-identity.is-large small { margin-top: 2px; font-size: 11px; }
.partner-bot-hero > div:first-child > p { display: flex; flex-wrap: wrap; gap: 5px 14px; margin: 10px 0 0 63px; color: var(--admin-slate); font-size: 10px; font-weight: 400; }
.partner-bot-hero > div:first-child > p b { color: var(--admin-ink); font-weight: 500; }
.partner-bot-hero-controls { display: grid; justify-items: end; gap: 11px; }
.partner-bot-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.partner-bot-actions .admin-action { min-height: 38px; padding-inline: 12px; }
.partner-bot-actions .admin-action.is-quiet { border-color: transparent; background: transparent; }
.partner-bot-reconnect-note { max-width: 38ch; margin: 0; color: var(--admin-slate); font-size: 11px; line-height: 1.4; text-align: right; }
.partner-bot-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 12px 0; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-paper); }
.partner-bot-metrics > div { min-width: 0; min-height: 95px; padding: 15px 17px; }
.partner-bot-metrics > div:not(:nth-child(4n + 1)) { border-left: 1px solid var(--admin-line-soft); }
.partner-bot-metrics > div:nth-child(n + 5) { border-top: 1px solid var(--admin-line-soft); }
.partner-bot-metrics dt, .partner-bot-operations dt { color: var(--admin-slate); font-size: 10px; font-weight: 400; }
.partner-bot-metrics dd, .partner-bot-operations dd { margin: 8px 0 0; color: var(--admin-ink); font: 500 21px/1.05 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: -.035em; }
.partner-bot-metrics small, .partner-bot-operations dl small { display: block; margin-top: 6px; color: var(--admin-slate); font-size: 9px; font-weight: 400; }
.partner-bot-operations, .partner-bot-timeline, .partner-bot-broadcasts { overflow: hidden; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-paper); }
.partner-bot-operations > header, .partner-bot-timeline > header, .partner-bot-broadcasts > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 16px 18px; border-bottom: 1px solid var(--admin-line-soft); }
.partner-bot-operations h3, .partner-bot-timeline h3, .partner-bot-broadcasts h3 { margin: 0; color: var(--admin-ink); font-size: 14px; font-weight: 500; letter-spacing: -.01em; }
.partner-bot-operations header p, .partner-bot-timeline header p, .partner-bot-broadcasts header p { margin: 4px 0 0; color: var(--admin-slate); font-size: 10px; font-weight: 400; line-height: 1.4; }
.partner-bot-balance { display: grid; flex: 0 0 auto; justify-items: end; gap: 2px; }
.partner-bot-balance small, .partner-bot-balance em { color: var(--admin-slate); font-size: 9px; font-style: normal; font-weight: 400; }
.partner-bot-balance b { color: var(--admin-ink); font: 500 16px/1.2 "IBM Plex Mono", ui-monospace, monospace; }
.partner-bot-operations > dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.partner-bot-operations > dl > div { min-width: 0; padding: 14px 18px 16px; }
.partner-bot-operations > dl > div + div { border-left: 1px solid var(--admin-line-soft); }
.partner-bot-operations dd { font-size: 17px; }
.partner-bot-detail-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(260px, .75fr); gap: 12px; margin-top: 12px; }
.partner-bot-timeline > div { overflow-x: auto; }
.partner-bot-timeline table { width: 100%; min-width: 690px; border-collapse: collapse; }
.partner-bot-timeline th, .partner-bot-timeline td { height: 40px; padding: 0 11px; border-bottom: 1px solid var(--admin-line-soft); color: var(--admin-slate); font-size: 9px; font-weight: 400; text-align: right; white-space: nowrap; }
.partner-bot-timeline th:first-child, .partner-bot-timeline td:first-child { padding-left: 18px; text-align: left; }
.partner-bot-timeline td { color: var(--admin-ink); font-family: "IBM Plex Mono", ui-monospace, monospace; }
.partner-bot-timeline tbody tr:last-child td { border-bottom: 0; }
.partner-bot-broadcasts ol { margin: 0; padding: 0; list-style: none; }
.partner-bot-broadcasts li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; min-height: 56px; padding: 9px 16px; border-bottom: 1px solid var(--admin-line-soft); }
.partner-bot-broadcasts li:last-child { border-bottom: 0; }
.partner-bot-broadcasts li span { display: grid; gap: 3px; }
.partner-bot-broadcasts li b { color: var(--admin-ink); font-size: 10px; font-weight: 500; }
.partner-bot-broadcasts li span:not(:first-child) b { font-family: "IBM Plex Mono", ui-monospace, monospace; text-align: right; }
.partner-bot-broadcasts li small { color: var(--admin-slate); font-size: 9px; font-weight: 400; white-space: nowrap; }
.partner-bot-access { overflow: hidden; margin-top: 12px; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-paper); }
.partner-bot-access > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 16px 18px; border-bottom: 1px solid var(--admin-line-soft); }
.partner-bot-access h3 { margin: 0; color: var(--admin-ink); font-size: 14px; font-weight: 500; }
.partner-bot-access header p { margin: 5px 0 0; color: var(--admin-slate); font-size: 10px; line-height: 1.45; }
.partner-bot-access-toolbar { padding: 12px 16px 0; }
.partner-bot-access-toolbar .admin-search { max-width: 360px; }
.partner-bot-members { display: grid; gap: 0; margin-top: 10px; }
.partner-bot-member { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; border-top: 1px solid var(--admin-line-soft); }
.partner-bot-member > div { min-width: 0; display: grid; gap: 4px; }
.partner-bot-member b { overflow: hidden; color: var(--admin-ink); font-size: 11px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.partner-bot-member small { color: var(--admin-slate); font: 10px/1.3 "IBM Plex Mono", ui-monospace, monospace; }
.partner-bot-member .admin-action { flex: 0 0 auto; min-height: 34px; padding: 0 11px; font-size: 10px; }
.partner-bot-empty-section { display: grid; min-height: 210px; place-items: center; padding: 20px; color: var(--admin-slate); font-size: 11px; text-align: center; }
.partner-bot-state-dialog .partner-video-dialog-icon img { width: 22px; height: 22px; }
.partner-bot-state-dialog { position: fixed; inset: 50% auto auto 50%; margin: 0; transform: translate(-50%, -50%); }
.partner-bot-state-dialog [data-bot-dialog-confirm] { border-color: var(--admin-ink); background: var(--admin-ink); color: #fff; }
.partner-bot-state-dialog [data-bot-dialog-confirm]:hover { border-color: #202930; background: #202930; color: #fff; }
.partner-bot-state-dialog [data-bot-dialog-confirm].is-disconnect { background: #b83d3d; color: #fff; }
.partner-bot-state-dialog [data-bot-dialog-confirm].is-remove { border-color: #a22b2b; background: #a22b2b; color: #fff; }

@media (max-width: 1120px) {
  .partner-bot-detail-grid { grid-template-columns: 1fr; }
  .partner-bot-broadcasts ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-bot-broadcasts li:nth-child(odd) { border-right: 1px solid var(--admin-line-soft); }
}

@media (max-width: 700px) {
  .partner-bots-heading, .partner-bots-toolbar { align-items: stretch; flex-direction: column; }
  .partner-bots-heading { padding: 18px 14px 15px; }
  .partner-bots-summary { align-self: flex-start; }
  .partner-bots-toolbar { padding: 11px 12px; }
  .partner-bots-search { width: 100%; }
  .partner-bots-filter { justify-content: space-between; }
  .partner-bots-filter select { flex: 1; max-width: 210px; }
  .partner-bots-table { display: block; min-width: 0; }
  .partner-bots-table thead { display: none; }
  .partner-bots-table tbody { display: grid; }
  .partner-bots-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 11px 14px; padding: 14px; border-bottom: 1px solid var(--admin-line-soft); }
  .partner-bots-table tbody tr:last-child { border-bottom: 0; }
  .partner-bots-table td { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; height: auto; min-width: 0; padding: 0; border: 0; }
  .partner-bots-table td { width: auto !important; }
  .partner-bots-table td::before { color: var(--admin-slate); content: attr(data-label); font-size: 9px; font-weight: 400; }
  .partner-bots-table td:first-child { display: block; grid-column: 1 / -1; }
  .partner-bots-table td:first-child::before, .partner-bots-table .partner-bot-open-cell::before { content: none; }
  .partner-bots-table .partner-bot-open-cell { display: block; grid-column: 2; grid-row: 2; width: auto; align-self: center; }
  .partner-bots-table td:nth-child(2), .partner-bots-table td:nth-child(4), .partner-bots-table td:nth-child(5), .partner-bots-table td:nth-child(6) { grid-column: 1 / -1; }
  .partner-bots-table td:nth-child(3) { grid-column: 1; grid-row: 2; }
  .partner-bot-funnel { min-width: 0; }
  .partner-bot-detail { padding: 10px; }
  .partner-bot-hero { align-items: stretch; flex-direction: column; padding: 17px 14px; }
  .partner-bot-hero > div:first-child > p { margin-left: 0; }
  .partner-bot-hero-controls { justify-items: start; }
  .partner-bot-actions { justify-content: flex-start; }
  .partner-bot-actions .admin-action { flex: 1 1 150px; }
  .partner-bot-reconnect-note { text-align: left; }
  .partner-bot-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-bot-metrics > div { min-height: 89px; padding: 13px 14px; }
  .partner-bot-metrics > div:not(:nth-child(4n + 1)) { border-left: 0; }
  .partner-bot-metrics > div:nth-child(even) { border-left: 1px solid var(--admin-line-soft); }
  .partner-bot-metrics > div:nth-child(n + 3) { border-top: 1px solid var(--admin-line-soft); }
  .partner-bot-operations > header { align-items: stretch; flex-direction: column; }
  .partner-bot-balance { justify-items: start; }
  .partner-bot-operations > dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-bot-operations > dl > div + div { border-left: 0; }
  .partner-bot-operations > dl > div:nth-child(even) { border-left: 1px solid var(--admin-line-soft); }
  .partner-bot-operations > dl > div:nth-child(n + 3) { border-top: 1px solid var(--admin-line-soft); }
  .partner-bot-broadcasts ol { grid-template-columns: 1fr; }
  .partner-bot-broadcasts li:nth-child(odd) { border-right: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-bots-loading i, .partner-bot-detail-loading i { animation: none; }
}

/* Account settings use one operational surface rather than a stack of cards. */
.admin-settings-card { max-width: none; }
.admin-settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-settings-section { min-width: 0; padding: 21px 20px 24px; }
.admin-settings-section + .admin-settings-section { border-left: 1px solid var(--admin-line-soft); }
.admin-settings-title { display: flex; align-items: flex-start; gap: 10px; }
.admin-settings-title > svg { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 1px; fill: none; stroke: #607226; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.admin-settings-title h3 { margin: 0; color: var(--admin-ink); font-size: 14px; font-weight: 600; line-height: 1.25; }
.admin-settings-title p { margin: 3px 0 0; color: var(--admin-slate); font-size: 12px; line-height: 1.45; }
.admin-settings-field { display: grid; gap: 6px; margin-top: 15px; color: var(--admin-slate); font-size: 12px; line-height: 1.25; }
.admin-settings-field input { width: 100%; height: 40px; min-width: 0; padding: 0 10px; border: 1px solid var(--admin-line); border-radius: 9px; background: #fff; color: var(--admin-ink); font: inherit; outline: 0; }
.admin-settings-field input[readonly] { background: var(--admin-mist); color: var(--admin-slate); cursor: default; }
.admin-settings-field input:focus { border-color: #80a319; box-shadow: 0 0 0 3px rgba(140, 187, 38, .15); }
.admin-settings-section .admin-action { margin-top: 18px; }
.admin-settings-section--security .admin-security-content { padding: 18px 0 0; }
.admin-settings-section--security .admin-security-note { margin: 13px 0; }
.admin-settings-section--security .admin-security-state { align-items: flex-start; }
.partner-admin-main.is-settings .admin-period { display: none; }

/* Measured operational hierarchy: quieter type, deliberate top rhythm and clear partner queues. */
.partner-admin-main { padding: 42px 40px 64px; }
.admin-page-head { align-items: flex-end; gap: 32px; padding: 4px 0 24px; }
.admin-page-copy h1 { max-width: 760px; font-size: clamp(30px, 2.2vw, 34px); font-weight: 600; letter-spacing: -.03em; line-height: 1.12; }
.admin-card h2, .admin-list-head h2, .partner-detail-head h2 { font-weight: 600; letter-spacing: -.02em; }
.admin-list-head { min-height: 88px; padding: 20px 22px 18px; }
.admin-list-head p { margin-top: 6px; line-height: 1.5; }
.admin-list-filters { gap: 12px; padding: 14px 22px; background: #fbfcfd; }
.partners-table th { padding-block: 10px; font-weight: 600; }
.partners-table td { padding-block: 12px; font-weight: 400; }
.partner-name { font-weight: 500; }
.admin-action { min-height: 34px; border-radius: 8px; font-weight: 500; transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease; }
.admin-action.success { border-color: rgba(87, 120, 17, .28); background: #f6faea; color: #52710d; }
.admin-action.success:hover { border-color: #6f9416; background: #eef6d8; }
.admin-row-actions { flex-wrap: wrap; }
.activity-pill { font-weight: 500; }
.activity-pill.pending { border-color: rgba(168, 128, 25, .22); background: #fff8e8; color: #8b681c; }
.activity-pill.rejected { border-color: rgba(217, 75, 75, .18); background: #fff5f4; color: #a84242; }
.admin-partner-groups { display: grid; }
.admin-partner-group + .admin-partner-group { border-top: 1px solid var(--admin-line); }
.admin-partner-group-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 82px; padding: 16px 22px; background: #fcfdfd; }
.admin-partner-group--pending .admin-partner-group-head { background: #fcfdf4; }
.admin-partner-group-head h3 { margin: 0; color: var(--admin-ink); font-size: 15px; font-weight: 600; letter-spacing: -.012em; }
.admin-partner-group-head p { margin: 4px 0 0; color: var(--admin-slate); font-size: 12px; line-height: 1.45; }
.admin-group-count { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius-pill); background: var(--admin-paper); color: var(--admin-slate); font-size: 11px; font-weight: 500; white-space: nowrap; }
.admin-partner-groups .partners-table th:first-child,
.admin-partner-groups .partners-table td:first-child { width: 16%; }
.admin-partner-groups .partner-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-partner-groups .partners-table td:first-child small { display: block; margin-top: 3px; color: var(--admin-slate); font-size: 11px; white-space: nowrap; }

/* A compact two-state control keeps the operational list focused. */
.partner-view-switch { display: inline-grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 38px; padding: 3px; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-paper); }
.partner-view-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 118px; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; color: var(--admin-slate); font: 500 12px/1 Inter, Arial, sans-serif; cursor: pointer; transition: background-color 160ms ease, color 160ms ease; }
.partner-view-switch button:hover { color: var(--admin-ink); background: var(--admin-mist); }
.partner-view-switch button.active { background: var(--admin-ink); color: #fff; }
.partner-view-switch b { display: inline-grid; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border-radius: var(--admin-radius-pill); background: rgba(11,16,21,.08); color: inherit; font: 500 10px/1 "JetBrains Mono", ui-monospace, monospace; }
.partner-view-switch button.active b { background: rgba(255,255,255,.14); }

/* Keep the information hierarchy calm: medium weights are enough here. */
.partner-admin-mode .admin-page-copy h1,
.partner-admin-mode .admin-card h2,
.partner-admin-mode .admin-list-head h2,
.partner-admin-mode .partner-detail-head h2,
.partner-admin-mode .admin-partner-group-head h3,
.partner-admin-mode .admin-settings-title h3,
.partner-admin-mode .admin-login-copy h1 { font-weight: 500; letter-spacing: -.02em; }
.partner-admin-mode .kpi-top,
.partner-admin-mode .partners-table th,
.partner-admin-mode .partner-detail-metrics small,
.partner-admin-mode .admin-security-state b,
.partner-admin-mode .partner-admin-system b,
.partner-admin-mode .partner-admin-profile b { font-weight: 500; }
.partner-admin-mode .kpi-value,
.partner-admin-mode .chart-summary-item b,
.partner-admin-mode .admin-payout-footer b,
.partner-admin-mode .partner-detail-metrics b { font-weight: 500; }

@media (max-width: 820px) {
  .partner-admin-main { padding: 28px 18px 44px; }
  .admin-page-head { gap: 18px; padding-bottom: 18px; }
}

@media (max-width: 700px) {
  .admin-list-head { min-height: 0; padding: 18px 14px 14px; }
  .admin-list-filters { padding: 12px 14px; }
  .admin-partner-group-head { align-items: flex-start; flex-direction: column; min-height: 0; padding: 16px 14px; gap: 10px; }
  .admin-group-count { min-height: 26px; }
  .partner-view-switch { flex: 1 1 100%; width: 100%; }
  .partner-view-switch button { min-width: 0; }
}

@media (max-width: 1160px) {
  .admin-settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-settings-section--security { grid-column: 1 / -1; border-top: 1px solid var(--admin-line-soft); border-left: 0 !important; }
}

@media (max-width: 720px) {
  .admin-settings-grid { grid-template-columns: 1fr; }
  .admin-settings-section { padding: 19px 14px 22px; }
  .admin-settings-section + .admin-settings-section { border-top: 1px solid var(--admin-line-soft); border-left: 0; }
  .admin-settings-section--security { grid-column: auto; }
  .admin-settings-section .admin-action { width: 100%; min-height: 40px; }
}

/* Unified, quiet typography and the dedicated partner workspace. */
.partner-admin-mode,
.partner-admin-mode *,
.partner-admin-mode *::before,
.partner-admin-mode *::after { font-family: Inter, Arial, sans-serif; }
.partner-admin-mode { font-weight: 400; }
.partner-admin-mode :is(button, label, th, .kpi-top, .kpi-sub, .admin-tab-count, .activity-pill, .payout-status, .partner-identity-copy small, .partner-list-income small, .partner-profile-row-copy small, .partner-profile-section-head p, .partner-profile-finance dt, .partner-profile-metrics dt) { font-weight: 400 !important; }
.partner-admin-mode :is(h1, h2, h3, h4, b, strong, .kpi-value, .partner-name, .partner-income-value, .partner-profile-metrics dd, .partner-profile-finance dd, .partner-profile-row-value) { font-weight: 500 !important; }
.partner-admin-mode :is(.kpi-value, .chart-summary-item b, .admin-payout-footer b, .partners-table .numeric, .admin-overview-results, .admin-tab-count, code) { font-family: Inter, Arial, sans-serif !important; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.partner-admin-mode .admin-page-copy h1 { font-size: 32px; font-weight: 500 !important; letter-spacing: -.025em; }
.partner-admin-mode .admin-card h2,
.partner-admin-mode .admin-list-head h2 { font-size: 17px; font-weight: 500 !important; letter-spacing: -.015em; }
.partner-admin-mode .partner-admin-tabs button.active,
.partner-admin-mode .partner-admin-system b,
.partner-admin-mode .partner-admin-profile b,
.partner-admin-mode .partner-admin-profile-avatar { font-weight: 500 !important; }
.partner-admin-mode .partner-admin-tabs .admin-tab-count { font-weight: 400 !important; }

/* The list is intentionally short: identity, funnel, money, status, then a calm entry point. */
.partner-list-table { table-layout: auto; }
.partner-list-table th { padding: 11px 20px; color: #7a8590; font-size: 10px; letter-spacing: .025em; }
.partner-list-table th:first-child { width: 34%; }
.partner-list-table th:nth-child(2) { width: 29%; }
.partner-list-table th:nth-child(3) { width: 17%; }
.partner-list-table th:nth-child(4) { width: 14%; }
.partner-list-table td { padding: 14px 20px; }
.partner-list-table tbody tr { cursor: default; }
.partner-list-table tbody tr:hover { background: #f8faf8; }
.partner-identity { display: flex; min-width: 0; align-items: center; gap: 11px; }
.partner-avatar { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #eef3e2; color: #58730f; font-size: 12px; font-weight: 500; }
.partner-identity-copy { display: grid; min-width: 0; gap: 3px; }
.partner-identity-copy .partner-name { overflow: hidden; color: var(--admin-ink); font-size: 13px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.partner-identity-copy small { display: flex; min-width: 0; gap: 5px; overflow: hidden; color: var(--admin-slate); font-size: 11px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.partner-identity-copy small span + span::before { content: '·'; margin-right: 5px; color: #afb7c0; }
.partner-list-funnel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 250px; gap: 8px; }
.partner-list-funnel > span { display: grid; gap: 2px; min-width: 0; }
.partner-list-funnel small { color: var(--admin-slate); font-size: 10px; line-height: 1.2; }
.partner-list-funnel b { color: var(--admin-ink); font-size: 13px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.partner-list-income { white-space: nowrap; }
.partner-list-income .partner-income-value { display: block; color: var(--admin-ink); font-size: 13px; font-variant-numeric: tabular-nums; }
.partner-list-income small { display: block; margin-top: 3px; color: var(--admin-slate); font-size: 10px; }
.partner-list-status { white-space: nowrap; }
.partner-list-action { text-align: right; white-space: nowrap; }
.partner-open-button { display: inline-flex; align-items: center; min-height: 36px; gap: 8px; padding: 0 3px; border: 0; background: transparent; color: #516b0e; font-size: 12px; font-weight: 500 !important; cursor: pointer; }
.partner-open-button span { display: inline-block; font-size: 15px; transition: transform 160ms ease; }
.partner-open-button:hover { color: #304600; }
.partner-open-button:hover span { transform: translateX(3px); }
.partner-open-button:focus-visible { border-radius: 6px; outline: 3px solid rgba(111, 148, 22, .28); outline-offset: 2px; }

/* A partner profile is a separate task view, not a drawer appended below the table. */
.partner-admin-main.is-partner-detail { max-width: 1360px; padding-top: 34px; }
.partner-admin-main.is-partner-detail .admin-page-head,
.partner-admin-main.is-partner-detail #partner-admin-error { display: none; }
.partner-admin-profile-mode .partner-admin-tabs .admin-tab-count { display: none; }
.partner-profile-view { width: min(100%, 1180px); margin: 0 auto; }
.partner-profile-loading { display: grid; min-height: 220px; place-items: center; gap: 12px; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-paper); color: var(--admin-slate); font-size: 14px; text-align: center; }
.partner-profile-loading a { color: #58730f; text-decoration: none; }
.partner-profile-breadcrumb { display: flex; align-items: center; min-height: 38px; gap: 9px; margin-bottom: 12px; color: var(--admin-slate); font-size: 12px; }
.partner-profile-breadcrumb a { color: #536f0b; text-decoration: none; }
.partner-profile-breadcrumb a:hover { color: #304600; text-decoration: underline; }
.partner-profile-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 23px 25px; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-paper); }
.partner-identity--profile { gap: 15px; }
.partner-identity--profile .partner-avatar { width: 58px; height: 58px; background: #e9f1d8; color: #4c6711; font-size: 20px; }
.partner-identity--profile .partner-identity-copy { gap: 5px; }
.partner-identity--profile .partner-name { margin: 0; font-size: 27px; letter-spacing: -.025em; line-height: 1.08; }
.partner-identity--profile small { font-size: 12px; }
.partner-profile-meta { display: flex; flex-wrap: wrap; gap: 7px 15px; margin: 12px 0 0 73px; color: var(--admin-slate); font-size: 12px; }
.partner-profile-meta > span { display: inline-flex; align-items: center; gap: 6px; }
.partner-profile-status,
.partner-profile-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.partner-profile-status > .admin-action,
.partner-profile-actions .admin-action { min-height: 38px; padding-inline: 12px; }
.partner-profile-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 14px 0; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-paper); }
.partner-profile-metrics > div { min-width: 0; padding: 17px 19px; }
.partner-profile-metrics > div + div { border-left: 1px solid var(--admin-line-soft); }
.partner-profile-metrics dt { display: flex; align-items: center; gap: 8px; color: var(--admin-slate); font-size: 11px; }
.partner-profile-metrics dd { margin: 9px 0 0; color: var(--admin-ink); font-size: 24px; letter-spacing: -.025em; line-height: 1; font-variant-numeric: tabular-nums; }
.partner-profile-metric-icon { display: grid; width: 21px; height: 21px; place-items: center; color: #657e24; }
.partner-profile-metric-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.partner-profile-finance,
.partner-profile-section { overflow: hidden; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-paper); }
.partner-profile-finance { margin-bottom: 14px; }
.partner-profile-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 17px 19px 14px; }
.partner-profile-section-head h2 { margin: 0; color: var(--admin-ink); font-size: 15px; letter-spacing: -.01em; line-height: 1.25; }
.partner-profile-section-head p { margin: 4px 0 0; color: var(--admin-slate); font-size: 11px; line-height: 1.35; }
.partner-profile-finance > dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--admin-line-soft); }
.partner-profile-finance > dl > div { min-width: 0; padding: 14px 19px 17px; }
.partner-profile-finance > dl > div + div { border-left: 1px solid var(--admin-line-soft); }
.partner-profile-finance dt { color: var(--admin-slate); font-size: 10px; }
.partner-profile-finance dd { margin: 6px 0 0; color: var(--admin-ink); font-size: 16px; letter-spacing: -.012em; font-variant-numeric: tabular-nums; }
.partner-profile-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.partner-profile-section { min-width: 0; }
.partner-profile-section > .partner-profile-section-head { border-bottom: 1px solid var(--admin-line-soft); }
.partner-profile-list { display: grid; }
.partner-profile-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 62px; padding: 10px 17px; }
.partner-profile-row + .partner-profile-row { border-top: 1px solid var(--admin-line-soft); }
.partner-profile-row-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #f2f6e9; color: #637c21; }
.partner-profile-row-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.partner-profile-row-copy { display: grid; min-width: 0; gap: 3px; }
.partner-profile-row-copy b { overflow: hidden; color: var(--admin-ink); font-size: 12px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.partner-profile-row-copy small { overflow: hidden; color: var(--admin-slate); font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.partner-profile-row-value { color: var(--admin-ink); font-size: 12px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.partner-profile-empty { padding: 31px 18px; color: var(--admin-slate); font-size: 12px; text-align: center; }

@media (max-width: 900px) {
  .partner-admin-main.is-partner-detail { padding-top: 26px; }
  .partner-profile-sections { grid-template-columns: 1fr; }
  .partner-profile-hero { padding: 20px; }
}

@media (max-width: 700px) {
  .partner-list-table { display: block; table-layout: auto; }
  .partner-list-table thead { display: none; }
  .partner-list-table tbody { display: grid; }
  .partner-list-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'identity status' 'funnel funnel' 'income action'; gap: 12px 10px; padding: 15px 14px; border-top: 1px solid var(--admin-line-soft); }
  .partner-list-table td { display: block; min-width: 0; padding: 0; border: 0; }
  .partner-list-table td::before { display: none; }
  .partner-list-table .partner-list-identity { grid-area: identity; }
  .partner-list-table .partner-list-status { grid-area: status; align-self: center; }
  .partner-list-table .partner-list-funnel-cell { grid-area: funnel; }
  .partner-list-table .partner-list-income { grid-area: income; }
  .partner-list-table .partner-list-action { grid-area: action; align-self: end; }
  .partner-list-table .partner-list-funnel { max-width: none; padding: 10px 0; border-block: 1px solid var(--admin-line-soft); }
  .partner-list-table .partner-list-income small { margin-top: 2px; }
  .partner-admin-main.is-partner-detail { padding: 20px 12px 34px; }
  .partner-profile-view { width: 100%; }
  .partner-profile-breadcrumb { margin-bottom: 8px; }
  .partner-profile-hero { grid-template-columns: 1fr; gap: 17px; padding: 18px 15px; }
  .partner-identity--profile { gap: 12px; }
  .partner-identity--profile .partner-avatar { width: 48px; height: 48px; font-size: 17px; }
  .partner-identity--profile .partner-name { font-size: 22px; }
  .partner-profile-meta { margin: 11px 0 0 60px; gap: 5px 11px; font-size: 11px; }
  .partner-profile-status { justify-content: flex-start; }
  .partner-profile-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block: 10px; border-radius: 12px; }
  .partner-profile-metrics > div { padding: 14px; }
  .partner-profile-metrics > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--admin-line-soft); }
  .partner-profile-metrics > div:nth-child(4) { border-top: 1px solid var(--admin-line-soft); }
  .partner-profile-metrics dd { font-size: 21px; }
  .partner-profile-finance { margin-bottom: 10px; border-radius: 12px; }
  .partner-profile-section { border-radius: 12px; }
  .partner-profile-finance > dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-profile-finance > dl > div { padding: 13px 14px 15px; }
  .partner-profile-finance > dl > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--admin-line-soft); }
  .partner-profile-finance > dl > div:nth-child(4) { border-top: 1px solid var(--admin-line-soft); }
  .partner-profile-section-head { padding: 15px 14px 12px; }
  .partner-profile-row { padding: 10px 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-open-button span { transition-duration: 1ms; }
}

/* Video library: a compact editorial workspace for real Kinescope lessons. */
.partner-videos-workspace { overflow: hidden; border: 1px solid var(--admin-line); border-radius: 16px; background: var(--admin-paper); }
.partner-videos-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 24px 19px; border-bottom: 1px solid var(--admin-line-soft); }
.partner-videos-heading h2 { margin: 0; color: var(--admin-ink); font-size: 20px; font-weight: 500; letter-spacing: -.02em; }
.partner-videos-heading p { max-width: 58ch; margin: 6px 0 0; color: var(--admin-slate); font-size: 12px; line-height: 1.5; }
.partner-videos-heading-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.partner-videos-add { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; min-height: 38px; padding-inline: 13px; }
.partner-videos-add svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.partner-videos-categories-toggle { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding-inline: 12px; }
.partner-videos-categories-toggle svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.partner-video-categories-manager { display: grid; grid-template-columns: minmax(190px, .65fr) minmax(0, 1.35fr) minmax(260px, .8fr); align-items: start; gap: 18px; padding: 17px 24px; border-bottom: 1px solid var(--admin-line-soft); background: #fbfcfc; }
.partner-video-categories-manager[hidden] { display: none; }
.partner-video-categories-manager h3 { margin: 0; color: var(--admin-ink); font-size: 14px; font-weight: 500; letter-spacing: -.015em; }
.partner-video-categories-manager p { margin: 5px 0 0; color: var(--admin-slate); font-size: 11px; line-height: 1.45; }
.partner-video-categories-list { display: flex; flex-wrap: wrap; gap: 7px; min-height: 32px; }
.partner-video-category-row { display: inline-flex; align-items: center; min-height: 32px; gap: 7px; padding: 0 7px 0 10px; border: 1px solid var(--admin-line); border-radius: 9px; background: #fff; color: var(--admin-ink); font-size: 11px; }
.partner-video-category-row b { color: var(--admin-slate); font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 10px; font-weight: 500; }
.partner-video-category-row button { display: grid; width: 21px; height: 21px; place-items: center; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #9a6060; cursor: pointer; }
.partner-video-category-row button:hover:not(:disabled) { background: #fff0f0; color: #8d3636; }
.partner-video-category-row button:disabled { color: #bac1c7; cursor: not-allowed; }
.partner-video-category-row button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.partner-video-categories-empty { align-self: center; color: var(--admin-slate); font-size: 11px; }
.partner-video-category-form { display: flex; align-items: end; gap: 7px; }
.partner-video-category-form label { display: grid; flex: 1; gap: 5px; min-width: 0; color: #63707c; font-size: 10px; }
.partner-video-category-form input { width: 100%; height: 34px; padding: 0 9px; border: 1px solid var(--admin-line); border-radius: 8px; background: #fff; color: var(--admin-ink); font: inherit; font-size: 11px; outline: none; }
.partner-video-category-form input:focus { border-color: #9ab660; box-shadow: 0 0 0 3px rgba(154,182,96,.16); }
.partner-video-category-form .admin-action { min-height: 34px; padding-inline: 10px; font-size: 11px; }
.partner-videos-manager { display: grid; grid-template-columns: minmax(300px, .86fr) minmax(440px, 1.14fr); min-height: 620px; }
.partner-videos-library { min-width: 0; padding: 16px; border-right: 1px solid var(--admin-line-soft); background: #fbfcfc; }
.partner-videos-library-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; margin-bottom: 12px; color: var(--admin-slate); font-size: 11px; }
.partner-videos-filter select { height: 34px; max-width: 190px; border: 1px solid var(--admin-line); border-radius: 8px; background: #fff; color: var(--admin-ink); padding: 0 26px 0 9px; font: inherit; outline: none; }
.partner-videos-filter select:focus { border-color: #9ab660; box-shadow: 0 0 0 3px rgba(154,182,96,.16); }
.partner-videos-list { display: grid; align-content: start; gap: 8px; max-height: 550px; overflow: auto; padding-right: 2px; scrollbar-width: thin; }
.partner-videos-loading { display: grid; gap: 8px; }
.partner-videos-loading i { display: block; min-height: 74px; border-radius: 11px; background: linear-gradient(90deg,#f1f3f4,#fafbfb,#f1f3f4); background-size: 200% 100%; animation: partner-video-loading 1.4s ease-in-out infinite; }
@keyframes partner-video-loading { to { background-position: -200% 0; } }
.partner-video-list-item { display: grid; grid-template-columns: 74px minmax(0,1fr) 22px; align-items: center; gap: 10px; width: 100%; min-height: 84px; padding: 8px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: var(--admin-ink); text-align: left; cursor: pointer; transition: border-color .16s ease, background-color .16s ease; }
.partner-video-list-item:hover { border-color: var(--admin-line); background: #fff; }
.partner-video-list-item.is-active { border-color: #d8e7ae; background: #f7faee; }
.partner-video-list-thumb { position: relative; display: grid; min-height: 58px; place-items: center; overflow: hidden; border-radius: 8px; background: #182018; color: #d9ff52; }
.partner-video-list-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg,rgba(217,255,82,.13),transparent 55%); }
.partner-video-list-thumb svg { position: relative; z-index: 1; width: 22px; height: 22px; fill: currentColor; stroke: none; }
.partner-video-list-thumb img { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; object-fit: cover; }
.partner-video-list-copy { display: grid; min-width: 0; gap: 5px; }
.partner-video-list-copy b { overflow: hidden; color: var(--admin-ink); font-size: 12px; font-weight: 500; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.partner-video-list-copy small { overflow: hidden; color: var(--admin-slate); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.partner-video-list-tag { width: 7px; height: 7px; border-radius: 50%; }
.partner-videos-empty { display: grid; min-height: 330px; place-content: center; justify-items: center; padding: 26px; color: var(--admin-slate); text-align: center; }
.partner-videos-empty svg { width: 34px; height: 34px; margin-bottom: 12px; color: #6c8430; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.partner-videos-empty h3 { margin: 0; color: var(--admin-ink); font-size: 15px; font-weight: 500; }
.partner-videos-empty p { max-width: 31ch; margin: 7px 0 15px; font-size: 12px; line-height: 1.45; }
.partner-video-editor { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-content: start; gap: 14px; min-width: 0; padding: 23px 24px 24px; }
.partner-video-editor-head { display: flex; grid-column: 1 / -1; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 4px; }
.partner-video-editor-head span:first-child { color: #718832; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.partner-video-editor-head h3 { margin: 5px 0 0; color: var(--admin-ink); font-size: 17px; font-weight: 500; letter-spacing: -.015em; }
.partner-video-editor-status { display: inline-flex; align-items: center; min-height: 25px; padding: 0 8px; border-radius: 7px; background: #f1f3f4; color: #6b7782; font-size: 10px; white-space: nowrap; }
.partner-video-field { display: grid; gap: 6px; min-width: 0; color: #63707c; font-size: 11px; }
.partner-video-field--wide { grid-column: 1 / -1; }
.partner-video-field :is(input, select, textarea) { width: 100%; border: 1px solid var(--admin-line); border-radius: 9px; background: #fff; color: var(--admin-ink); padding: 0 11px; font: inherit; font-size: 12px; outline: none; transition: border-color .16s ease, box-shadow .16s ease; }
.partner-video-field :is(input, select) { height: 40px; }
.partner-video-field textarea { min-height: 82px; padding-block: 10px; resize: vertical; line-height: 1.45; }
.partner-video-field :is(input, select, textarea):focus { border-color: #9ab660; box-shadow: 0 0 0 3px rgba(154,182,96,.16); }
.partner-video-field small { color: #87919a; font-size: 10px; line-height: 1.4; }
.partner-video-cover-field { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 12px; padding: 12px; border: 1px solid var(--admin-line-soft); border-radius: 11px; background: #fbfcfc; }
.partner-video-cover-field > div:first-child { display: grid; gap: 4px; color: #63707c; font-size: 11px; }
.partner-video-cover-field > div:first-child small { color: #87919a; font-size: 10px; line-height: 1.4; }
.partner-video-cover-control { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 10px; min-width: 0; }
.partner-video-cover-preview { display: grid; width: 104px; aspect-ratio: 1.58; place-items: center; overflow: hidden; border: 1px dashed #cfd7dc; border-radius: 8px; background: #f2f5f4; color: #78848e; font-size: 9px; text-align: center; }
.partner-video-cover-preview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.partner-video-cover-actions { display: grid; align-content: center; justify-items: start; gap: 7px; }
.partner-video-cover-actions label { cursor: pointer; }
.partner-video-cover-actions .admin-action { display: inline-flex; align-items: center; min-height: 32px; padding-inline: 10px; font-size: 11px; }
.partner-video-cover-remove { padding: 0; border: 0; background: transparent; color: #a25252; font: inherit; font-size: 10px; cursor: pointer; }
.partner-video-cover-remove:hover { color: #843737; text-decoration: underline; }
.partner-video-embed-input { font-family: "JetBrains Mono", ui-monospace, monospace !important; font-size: 11px !important; }
.partner-video-preview { grid-column: 1 / -1; position: relative; display: grid; min-height: 190px; overflow: hidden; place-items: center; border: 1px dashed #d7dde1; border-radius: 11px; background: #f8faf9; color: #73808a; }
.partner-video-preview > div { display: grid; justify-items: center; gap: 8px; padding: 18px; font-size: 11px; text-align: center; }
.partner-video-preview svg { width: 28px; height: 28px; color: #738a37; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.partner-video-preview iframe { display: block; width: 100%; aspect-ratio: 1.78; border: 0; background: #111411; }
.partner-video-field--color { grid-column: 1 / -1; }
.partner-video-color-control { display: flex; align-items: center; gap: 9px; height: 40px; padding: 0 10px; border: 1px solid var(--admin-line); border-radius: 9px; background: #fff; }
.partner-video-color-control input { width: 24px; height: 24px; padding: 0; border: 0; border-radius: 6px; background: transparent; cursor: pointer; }
.partner-video-color-control output { color: var(--admin-ink); font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 11px; }
.partner-video-editor-actions { display: flex; grid-column: 1 / -1; align-items: center; gap: 8px; padding-top: 2px; }
.partner-video-editor-actions .admin-action { min-height: 38px; padding-inline: 13px; }
.partner-video-delete { min-height: 36px; margin-left: auto; border: 0; background: transparent; color: #b85a5a; font: inherit; font-size: 11px; cursor: pointer; }
.partner-video-delete:hover { color: #8f3333; text-decoration: underline; }
.partner-video-delete-dialog { width: min(390px,calc(100% - 28px)); padding: 0; border: 0; border-radius: 15px; color: var(--admin-ink); box-shadow: 0 18px 48px rgba(20,29,38,.2); }
.partner-video-delete-dialog::backdrop { background: rgba(20,29,38,.34); }
.partner-video-delete-dialog form { position: relative; padding: 24px; }
.partner-video-dialog-close { position: absolute; top: 10px; right: 11px; width: 30px; height: 30px; border: 0; border-radius: 8px; background: transparent; color: #77838d; font-size: 21px; line-height: 1; cursor: pointer; }
.partner-video-dialog-close:hover { background: #f0f3f4; color: var(--admin-ink); }
.partner-video-dialog-icon { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 14px; border-radius: 11px; background: #fff0f0; color: #bc5252; }
.partner-video-dialog-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.partner-video-delete-dialog h2 { margin: 0; font-size: 18px; font-weight: 500; letter-spacing: -.02em; }
.partner-video-delete-dialog p { margin: 8px 0 20px; color: var(--admin-slate); font-size: 12px; line-height: 1.45; }
.partner-video-delete-dialog form > div:last-child { display: flex; justify-content: flex-end; gap: 8px; }
.partner-video-dialog-delete { min-height: 34px; padding: 0 12px; border: 1px solid rgba(190,69,69,.22); border-radius: 8px; background: #fff4f4; color: #a84343; font: inherit; font-size: 11px; cursor: pointer; }
.partner-video-dialog-delete:hover { border-color: #b54b4b; background: #ffeded; }
@media (max-width: 1100px) { .partner-videos-manager { grid-template-columns: minmax(260px,.8fr) minmax(360px,1.2fr); } .partner-videos-heading { padding-inline: 20px; } .partner-video-editor { padding-inline: 20px; } .partner-video-categories-manager { grid-template-columns: minmax(170px,.6fr) minmax(0,1fr); } .partner-video-category-form { grid-column: 1 / -1; max-width: 420px; } }
@media (max-width: 820px) { .partner-videos-manager { grid-template-columns: 1fr; min-height: 0; } .partner-videos-library { border-right: 0; border-bottom: 1px solid var(--admin-line-soft); } .partner-videos-list { max-height: 265px; } .partner-video-categories-manager { grid-template-columns: 1fr; gap: 12px; padding-inline: 20px; } .partner-video-category-form { grid-column: auto; max-width: none; } }
@media (max-width: 600px) { .partner-videos-heading { align-items: stretch; flex-direction: column; padding: 18px 15px 15px; } .partner-videos-heading-actions { width: 100%; } .partner-videos-heading-actions .admin-action { flex: 1; justify-content: center; } .partner-videos-add { width: auto; justify-content: center; } .partner-video-categories-manager { padding: 15px; } .partner-video-category-form { align-items: stretch; flex-direction: column; } .partner-video-category-form .admin-action { width: 100%; } .partner-videos-library { padding: 13px; } .partner-video-editor { grid-template-columns: 1fr; padding: 18px 15px; gap: 12px; } .partner-video-field,.partner-video-field--wide,.partner-video-field--color { grid-column: auto; } .partner-video-cover-field { grid-column: auto; grid-template-columns: 1fr; } .partner-video-cover-control { grid-template-columns: 96px minmax(0,1fr); } .partner-video-cover-preview { width: 96px; } .partner-video-preview { min-height: 164px; } .partner-video-editor-actions { grid-column: auto; flex-wrap: wrap; } .partner-video-editor-actions .admin-action { flex: 1; } .partner-video-delete { width: 100%; margin-left: 0; padding: 7px 0; } }
@media (max-width: 600px) { .partner-video-editor-actions .partner-video-notify { flex-basis: 100%; } }
@media (prefers-reduced-motion: reduce) { .partner-videos-loading i { animation: none; } .partner-video-list-item,.partner-video-field :is(input,select,textarea) { transition: none; } }

/* LuxuryPartners Control is deliberately a sibling of the partner cabinet,
   not a separate visual product. These final aliases keep the operational UI
   on the dashboard token system without changing any admin data behaviour. */
.partner-admin-mode {
  --admin-canvas: #f0f2f4;
  --admin-canvas-deep: #e9edf1;
  --admin-paper: #fff;
  --admin-mist: #f7f8f9;
  --admin-ink: #090d12;
  --admin-slate: #5f6977;
  --admin-muted: #8d97a5;
  --admin-line: #dce1e7;
  --admin-line-soft: #e9edf1;
  --admin-lime: #cfff22;
  --admin-lime-hover: #bdf000;
  --admin-lime-soft: #efffc3;
  --admin-danger: #c53636;
  --admin-success: #258420;
  --admin-radius-card: 16px;
  --admin-radius-control: 10px;
  --admin-shadow-card: 0 1px 2px rgba(8, 15, 25, .03), 0 10px 30px rgba(8, 15, 25, .05);
  --admin-shadow-nav: none;
  background: var(--admin-canvas);
  color: var(--admin-ink);
  font-family: Inter, Arial, sans-serif;
  font-synthesis: none;
}

.partner-admin-app { min-height: 100dvh; background: var(--admin-canvas); }
.partner-admin-sidebar {
  width: 254px;
  padding: 22px 16px;
  border-right: 1px solid var(--admin-line-soft);
  background: var(--admin-paper);
  color: var(--admin-ink);
}
.partner-admin-brand { height: 38px; padding: 0 7px; color: var(--admin-ink); }
.partner-admin-brand img { width: 113px; height: 34px; }
.partner-admin-brand span { border-color: var(--admin-line); color: var(--admin-slate); font-size: 10px; letter-spacing: .065em; }
.partner-admin-side-label { margin: 28px 9px 10px; color: var(--admin-muted); font-size: 10px; letter-spacing: .07em; }
.partner-admin-tabs { gap: 7px; }
.partner-admin-tabs button {
  min-height: 48px;
  padding: 0 15px;
  border-radius: 12px;
  background: transparent;
  color: var(--admin-slate);
  font-size: 14px;
  font-weight: 500;
  transition: background-color 160ms cubic-bezier(.22,1,.36,1), color 160ms cubic-bezier(.22,1,.36,1), transform 160ms cubic-bezier(.22,1,.36,1);
}
.partner-admin-tabs button:hover { background: var(--admin-mist); color: var(--admin-ink); }
.partner-admin-tabs button:active { transform: translateY(1px); }
.partner-admin-tabs button.active { background: var(--admin-ink); color: var(--admin-lime); font-weight: 500; }
.partner-admin-nav-icon { width: 21px; height: 21px; stroke-width: 1.8; }
.partner-admin-tabs .admin-tab-count { min-width: 21px; height: 21px; background: var(--admin-mist); color: var(--admin-slate); }
.partner-admin-tabs button.active .admin-tab-count { background: rgba(207, 255, 34, .14); color: var(--admin-lime); }
.partner-admin-sidebar-bottom { gap: 13px; }
.partner-admin-system { padding: 13px; border-color: var(--admin-line); border-radius: 15px; background: var(--admin-paper); }
.partner-admin-system i { background: var(--admin-lime); box-shadow: 0 0 0 3px rgba(207, 255, 34, .18); }
.partner-admin-system b, .partner-admin-profile b { color: var(--admin-ink); }
.partner-admin-system small, .partner-admin-profile small { color: var(--admin-slate); }
.partner-admin-profile { padding: 0 5px; color: var(--admin-ink); }
.partner-admin-profile:hover { border-radius: 12px; background: var(--admin-mist); }
.partner-admin-profile:hover b { color: var(--admin-ink); }
.partner-admin-profile-avatar { background: var(--admin-ink); color: var(--admin-lime); }
.partner-admin-profile-arrow, .partner-admin-logout { color: var(--admin-slate); }
.partner-admin-logout:hover { color: var(--admin-ink); background: var(--admin-mist); }
.partner-admin-main { margin-left: 254px; padding: 34px 34px 48px; }
.admin-page-head { gap: 24px; padding: 0 0 18px; }
.admin-page-copy h1 { font: 500 clamp(29px, 2.15vw, 32px)/1.12 Inter, Arial, sans-serif; letter-spacing: -.025em; }

.admin-period { gap: 9px; }
.admin-period-options { height: 42px; border-color: var(--admin-line); border-radius: 12px; background: var(--admin-paper); }
.admin-period-options button, .admin-period-trigger { min-height: 40px; color: var(--admin-slate); font-size: 12px; font-weight: 500; }
.admin-period-options button:hover { background: var(--admin-mist); color: var(--admin-ink); }
.admin-period-options button.active { background: var(--admin-ink); color: #fff; }
.admin-period-trigger { padding: 0 12px; border-color: var(--admin-line); border-radius: 10px; background: var(--admin-paper); color: var(--admin-ink); }
.admin-period-trigger:hover { border-color: #b6c1cc; background: var(--admin-mist); }
.admin-period-custom { z-index: 40; border-color: var(--admin-line); border-radius: 14px; box-shadow: var(--admin-shadow-card); }
.admin-period-custom input { border-color: var(--admin-line); border-radius: 9px; background: var(--admin-mist); }
.admin-period-custom-actions [data-period-apply] { border-color: var(--admin-lime); background: var(--admin-lime); color: var(--admin-ink); }

.admin-kpi-grid { gap: 16px; }
.kpi-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: start;
  min-height: 112px;
  gap: 12px;
  padding: 18px;
  border-color: var(--admin-line-soft);
  border-radius: 16px;
  background: var(--admin-paper);
  box-shadow: var(--admin-shadow-card);
}
.kpi-top { display: contents; }
.kpi-icon {
  grid-row: 1 / span 3;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--admin-ink);
}
.kpi-icon svg { width: 31px; height: 31px; stroke-width: 1.7; }
.kpi-top > span:last-child { grid-column: 2; color: var(--admin-slate); font-size: 12px; font-weight: 500; letter-spacing: 0; }
.kpi-value { grid-column: 2; margin-top: 7px; color: var(--admin-ink); font: 500 clamp(24px, 2vw, 28px)/1 Inter, Arial, sans-serif; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.kpi-sub { grid-column: 2; margin-top: 5px; color: var(--admin-muted); font-size: 11px; }
.kpi-live-dot { width: 7px; height: 7px; margin-left: 6px; background: #6fd44e; box-shadow: none; }
.kpi-card--featured, .kpi-card--featured .kpi-icon { border-color: var(--admin-line-soft); background: var(--admin-paper); color: var(--admin-ink); box-shadow: var(--admin-shadow-card); }
.kpi-card--featured .kpi-top, .kpi-card--featured .kpi-sub, .kpi-card--featured .kpi-value { color: inherit; }
.kpi-card--featured::after { display: none; }

.admin-analytics-grid { gap: 16px; margin-top: 16px; }
.admin-card, .partner-videos-workspace, .partner-detail, .partner-profile-hero, .partner-profile-section, .partner-profile-finance {
  border-color: var(--admin-line-soft);
  border-radius: 16px;
  background: var(--admin-paper);
  box-shadow: var(--admin-shadow-card);
}
.admin-card-head, .admin-table-head, .admin-list-head { gap: 14px; }
.admin-card-head { min-height: 58px; padding: 14px 20px 8px; }
.admin-card h2, .admin-list-head h2, .partner-videos-heading h2 { font-family: Inter, Arial, sans-serif; font-size: 17px; font-weight: 500; letter-spacing: -.015em; }
.admin-chart-card { border-color: #202831; background: linear-gradient(145deg, #111820, #070b10); color: #fff; box-shadow: none; }
.admin-chart-card .admin-card-head h2 { color: #fff; }
.admin-chart { min-height: 210px; padding: 0 18px 14px; }
.chart-summary-item { border-color: #25303a; border-radius: 9px; background: transparent; }
.chart-summary-item span { color: #aeb7c2; }
.chart-summary-item b { color: #fff; font-family: Inter, Arial, sans-serif; font-weight: 500; letter-spacing: -.02em; }
.chart-grid-line { stroke: #27313b; }
.chart-axis-label, .chart-x-label { fill: #aeb7c2; }
.chart-line-accrued { stroke: #fff; }
.chart-line-paid, .chart-legend i.paid { stroke: var(--admin-lime); background: var(--admin-lime); }
.chart-dot-accrued { fill: #fff; }
.chart-dot-paid { fill: var(--admin-lime); stroke: #111820; }
.chart-legend { color: #aeb7c2; }
.chart-legend i { background: #fff; }
.chart-tooltip { border-color: #3c4a57; background: #18212a; color: #d3dbe4; box-shadow: 0 8px 20px rgba(0,0,0,.28); }
.chart-tooltip b { color: #fff; }

.admin-payout-footer, .admin-table-head, .admin-list-head, .admin-list-filters { border-color: var(--admin-line-soft); }
.admin-payout-footer { min-height: 46px; color: var(--admin-slate); }
.admin-payout-footer b { color: var(--admin-ink); font-family: Inter, Arial, sans-serif; font-weight: 500; }
.admin-list-head { min-height: 82px; padding: 18px 20px 16px; }
.admin-list-head p { color: var(--admin-slate); }
.admin-list-filters { padding: 12px 20px; background: transparent; }
.admin-search, .overview-list-control, .admin-list-filters select, .admin-settings-field input, .admin-security-form input, .partner-video-category-form input, .partner-videos-filter select, .partner-video-field :is(input, select, textarea), .partner-video-color-control {
  border-color: var(--admin-line);
  border-radius: 10px;
  background: var(--admin-paper);
  color: var(--admin-ink);
}
.admin-search { min-height: 40px; }
.admin-search:focus-within, .overview-list-control:focus-within, .admin-list-filters select:focus, .admin-settings-field input:focus, .admin-security-form input:focus, .partner-video-category-form input:focus, .partner-videos-filter select:focus, .partner-video-field :is(input, select, textarea):focus { border-color: #91b72f; box-shadow: 0 0 0 3px rgba(111,212,78,.18); }
.admin-action { min-height: 40px; padding: 0 13px; border-color: var(--admin-line); border-radius: 10px; background: var(--admin-paper); color: var(--admin-ink); font-size: 12px; font-weight: 500; transition: border-color 160ms cubic-bezier(.22,1,.36,1), background-color 160ms cubic-bezier(.22,1,.36,1), color 160ms cubic-bezier(.22,1,.36,1); }
.admin-action:hover { border-color: #b6c1cc; background: var(--admin-mist); }
.admin-action.success { border-color: var(--admin-lime); background: var(--admin-lime); color: var(--admin-ink); }
.admin-action.success:hover { border-color: var(--admin-lime-hover); background: var(--admin-lime-hover); }
.admin-action.danger { border-color: rgba(197,54,54,.24); background: #fff; color: var(--admin-danger); }
.admin-all-partners { color: var(--admin-ink); font-weight: 500; text-decoration: none; }
.admin-all-partners:hover { color: var(--admin-ink); text-decoration: none; }

.partners-table th, .partner-list-table th { padding: 11px 20px; background: transparent; color: var(--admin-slate); font-size: 10px; font-weight: 500; letter-spacing: .025em; }
.partners-table td, .partner-list-table td { padding: 12px 20px; border-color: var(--admin-line-soft); color: var(--admin-ink); font-size: 13px; }
.partners-table tbody tr:hover, .partner-list-table tbody tr:hover { background: var(--admin-mist); }
.partners-table .numeric, .partner-list-table .numeric { font-family: Inter, Arial, sans-serif; font-variant-numeric: tabular-nums; }
.partner-name { font-weight: 500; }
.activity-pill, .payout-status { border: 0; background: var(--admin-mist); color: var(--admin-slate); font-weight: 500; }
.activity-pill.active, .payout-status.status-requested { background: var(--admin-lime-soft); color: #49620c; }
.activity-pill.blocked, .payout-status.status-rejected { background: #ffe5e5; color: var(--admin-danger); }
.payout-status.status-paid { background: #e4f8dc; color: var(--admin-success); }
.admin-payout-method-mask { display: block; margin-top: 3px; color: var(--admin-slate); font-size: 10px; }
.admin-payout-dialog { position: fixed; inset: 50% auto auto 50%; width: min(620px, calc(100% - 28px)); max-height: min(720px, calc(100dvh - 28px)); margin: 0; padding: 0; transform: translate(-50%, -50%); border: 1px solid var(--admin-line); border-radius: 16px; background: var(--admin-paper); color: var(--admin-ink); box-shadow: var(--admin-shadow-nav); }
.admin-payout-dialog[open] { display: flex; flex-direction: column; }
.admin-payout-dialog::backdrop { background: rgba(11, 16, 21, .36); }
.admin-payout-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 22px 16px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-payout-dialog-head h2 { margin: 0; font-family: "Space Grotesk", Inter, sans-serif; font-size: 19px; letter-spacing: -.03em; }
.admin-payout-dialog-head p { margin: 5px 0 0; color: var(--admin-slate); font-size: 12px; }
.admin-payout-dialog-close { width: 32px; height: 32px; flex: 0 0 auto; border: 0; border-radius: 8px; background: transparent; color: var(--admin-slate); font-size: 23px; line-height: 1; cursor: pointer; }
.admin-payout-dialog-close:hover { background: var(--admin-mist); color: var(--admin-ink); }
.admin-payout-dialog-body { display: grid; min-height: 0; gap: 16px; padding: 18px 22px; overflow: auto; }
.admin-payout-dialog-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.admin-payout-dialog-summary span { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--admin-line-soft); border-radius: 10px; background: var(--admin-mist); }
.admin-payout-dialog-summary small, .admin-payout-fields dt { color: var(--admin-slate); font-size: 10px; }
.admin-payout-dialog-summary b { font: 600 16px/1.2 "JetBrains Mono", ui-monospace, monospace; }
.admin-payout-fields { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--admin-line-soft); }
.admin-payout-fields > div { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--admin-line-soft); }
.admin-payout-fields dt, .admin-payout-fields dd { margin: 0; }
.admin-payout-fields dd { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.admin-payout-fields dd > span { min-width: 0; overflow-wrap: anywhere; font-size: 12px; }
.admin-payout-fields .admin-action { min-height: 28px; flex: 0 0 auto; font-size: 10px; }
.admin-payout-dialog-actions { display: flex; flex: 0 0 auto; justify-content: flex-end; gap: 8px; padding: 14px 22px 20px; border-top: 1px solid var(--admin-line-soft); }
.admin-payout-dialog-actions .admin-action.success { border-color: var(--admin-lime); background: var(--admin-lime); color: var(--admin-ink); }
@media (max-width: 600px) {
  .admin-payout-dialog-summary { grid-template-columns: 1fr; }
  .admin-payout-dialog-head, .admin-payout-dialog-body, .admin-payout-dialog-actions { padding-inline: 16px; }
  .admin-payout-fields > div { grid-template-columns: 1fr; gap: 5px; }
}
.partner-view-switch { border-color: var(--admin-line); border-radius: 10px; background: var(--admin-paper); }
.partner-view-switch button { color: var(--admin-slate); font-weight: 500; }
.partner-view-switch button:hover { background: var(--admin-mist); color: var(--admin-ink); }
.partner-view-switch button.active { background: var(--admin-ink); color: #fff; }

.admin-settings-section + .admin-settings-section { border-color: var(--admin-line-soft); }
.admin-settings-title > svg, .partner-profile-metric-icon { color: var(--admin-ink); }
.admin-settings-title h3 { color: var(--admin-ink); font-weight: 500; }
.admin-settings-title p, .admin-settings-field { color: var(--admin-slate); }
.admin-settings-field input[readonly] { background: var(--admin-mist); color: var(--admin-slate); }
.partner-videos-heading { padding: 20px 22px 17px; border-color: var(--admin-line-soft); }
.partner-videos-heading p, .partner-video-field, .partner-video-categories-manager p { color: var(--admin-slate); }
.partner-video-categories-manager, .partner-videos-library, .partner-video-cover-field, .partner-video-preview { border-color: var(--admin-line-soft); background: var(--admin-mist); }
.partner-video-category-row, .partner-video-list-item:hover { border-color: var(--admin-line); background: var(--admin-paper); }
.partner-video-list-item.is-active { border-color: rgba(111, 148, 22, .28); background: var(--admin-lime-soft); }
.partner-video-list-thumb { background: var(--admin-ink); color: var(--admin-lime); }
.partner-video-editor-status { background: var(--admin-mist); color: var(--admin-slate); }
.partner-video-cover-preview { border-color: var(--admin-line); background: var(--admin-paper); }
.partner-video-preview { border-style: solid; }
.partner-video-delete-dialog { border: 1px solid var(--admin-line); border-radius: 16px; box-shadow: 0 18px 42px rgba(8,15,25,.2); }
.partner-video-dialog-close:hover { background: var(--admin-mist); }

.partner-admin-mode :focus-visible { outline: 3px solid rgba(111,212,78,.35); outline-offset: 3px; }
.partner-admin-mode :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea):is(:focus,:focus-visible),
.partner-admin-mode :is(.admin-search,.overview-list-control):focus-within,
.partner-admin-login .admin-login-field input:is(:focus,:focus-visible) { border-color: var(--admin-line); outline: 0; box-shadow: none; }
.tab-panel.active { animation: partner-admin-panel-in 220ms cubic-bezier(.22,1,.36,1) both; }
@keyframes partner-admin-panel-in { from { opacity: .45; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 820px) {
  .partner-admin-sidebar { width: 100%; height: auto; min-height: 0; padding: 12px 14px; border-right: 0; border-bottom: 1px solid var(--admin-line-soft); }
  .partner-admin-tabs button { min-height: 42px; border-radius: 10px; }
  .partner-admin-main { margin-left: 0; padding: 26px 16px 36px; }
  .admin-page-head { gap: 18px; padding-bottom: 16px; }
}
@media (max-width: 700px) {
  .admin-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .kpi-card { grid-template-columns: 34px minmax(0, 1fr); min-height: 90px; gap: 9px; padding: 13px; }
  .kpi-icon { width: 34px; height: 34px; }
  .kpi-icon svg { width: 25px; height: 25px; }
  .kpi-value { margin-top: 4px; font-size: 23px; }
  .kpi-sub { display: none; }
  .admin-card, .partner-videos-workspace { border-radius: 14px; }
}
@media (max-width: 480px) { .partner-admin-main { padding-inline: 10px; } }
@media (prefers-reduced-motion: reduce) { .partner-admin-tabs button, .admin-action, .tab-panel.active { animation: none; transition-duration: 1ms; transform: none; } }

/* Keep every desktop admin table on the same column axis as partner analytics. */
@media (min-width: 901px) {
  .partner-admin-mode .partners-table :is(th,td):first-child { text-align: left !important; }
  .partner-admin-mode .partners-table :is(th,td):not(:first-child) { text-align: center !important; }
  .partner-admin-mode .partners-table .admin-row-actions { justify-content: center; }
}

/* Partner detail: one complete workspace instead of a stack of mini-tables. */
.partner-admin-main.is-partner-detail { width: auto; max-width: none; min-height: calc(100dvh - 48px); }
.partner-admin-main.is-partner-detail .partner-profile-view { width: 100%; max-width: none; margin: 0; animation: partner-admin-panel-in 220ms cubic-bezier(.22, 1, .36, 1) both; }
.partner-profile-view { --profile-gap: 1rem; }
.partner-profile-loading { min-height: 18rem; border-color: var(--admin-line-soft); border-radius: 1rem; box-shadow: var(--admin-shadow-card); }
.partner-profile-breadcrumb { min-height: 2rem; gap: .5rem; margin-bottom: .75rem; font-size: .75rem; }
.partner-profile-theme-toggle { width: 2.25rem; height: 2.25rem; min-width: 2.25rem; min-height: 2.25rem; margin-left: auto; }
.partner-profile-hero { grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; padding: 1.35rem 1.5rem; border-color: var(--admin-line-soft); border-radius: 1rem; box-shadow: var(--admin-shadow-card); }
.partner-identity--profile { gap: .9rem; }
.partner-identity--profile .partner-avatar { width: 3.75rem; height: 3.75rem; border-radius: .9rem; background: var(--admin-lime-soft); color: #536f0b; font-size: 1.25rem; }
.partner-identity--profile .partner-name { font-family: Inter, Arial, sans-serif; font-size: 1.55rem; font-weight: 500; letter-spacing: -.03em; }
.partner-profile-meta { gap: .4rem .9rem; margin: .55rem 0 0 4.65rem; font-size: .75rem; }
.partner-profile-status { align-self: center; gap: .6rem; }
.partner-profile-status > .activity-pill { min-height: 2.5rem; padding-inline: .8rem; }
.partner-profile-status .partner-profile-actions { justify-content: flex-start; }
.partner-profile-status .admin-action { min-height: 2.5rem; padding-inline: .85rem; }
.partner-profile-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); margin: var(--profile-gap) 0; border-color: var(--admin-line-soft); border-radius: 1rem; box-shadow: var(--admin-shadow-card); }
.partner-profile-metrics > div { display: grid; grid-template-columns: 2rem minmax(0, 1fr); align-items: start; gap: .65rem; padding: 1rem; }
.partner-profile-metrics dt { grid-column: 2; font-size: .75rem; line-height: 1.35; }
.partner-profile-metrics dd { grid-column: 2; margin-top: -.05rem; font-family: Inter, Arial, sans-serif; font-size: 1.45rem; font-weight: 500; letter-spacing: -.04em; }
.partner-profile-metric-icon { grid-row: 1 / span 2; align-self: center; width: 2rem; height: 2rem; color: var(--admin-ink); }
.partner-profile-metric-icon svg { width: 1.7rem; height: 1.7rem; }
.partner-profile-summary { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(19rem, .78fr); gap: var(--profile-gap); }
.partner-profile-chart-panel, .partner-profile-finance, .partner-profile-activity { min-width: 0; overflow: hidden; border: 1px solid var(--admin-line-soft); border-radius: 1rem; background: var(--admin-paper); box-shadow: var(--admin-shadow-card); }
.partner-profile-chart-panel { display: flex; min-height: 21.25rem; flex-direction: column; border-color: #1e2a32; background: #10171d; color: #eff5ef; box-shadow: none; }
.partner-profile-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.25rem .8rem; }
.partner-profile-panel-head h2 { margin: 0; color: var(--admin-ink); font-family: Inter, Arial, sans-serif; font-size: 1rem; font-weight: 500; letter-spacing: -.02em; line-height: 1.25; }
.partner-profile-panel-head p { margin: .3rem 0 0; color: var(--admin-slate); font-size: .75rem; line-height: 1.4; }
.partner-profile-chart-panel .partner-profile-panel-head h2 { color: #fff; }
.partner-profile-chart-panel .partner-profile-panel-head p { color: #aeb9b1; }
.partner-profile-chart-legend { display: flex; align-items: center; gap: .8rem; color: #b5c0b8; font-size: .68rem; white-space: nowrap; }
.partner-profile-chart-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.partner-profile-chart-legend i { width: 1.25rem; height: .14rem; border-radius: 999px; background: #fff; }
.partner-profile-chart-legend i.is-paid { background: var(--admin-lime); }
.partner-profile-chart { min-height: 16rem; padding: 0 .75rem .7rem; }
.partner-profile-chart svg { display: block; width: 100%; height: 16rem; overflow: visible; }
.partner-profile-chart-grid line { stroke: #2b3841; stroke-dasharray: 3 4; }
.partner-profile-chart-grid text, .partner-profile-chart-labels text { fill: #9daaa3; font: 10px Inter, Arial, sans-serif; }
.partner-profile-chart-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.4; }
.profile-chart-line-accrued { stroke: #fff; }
.profile-chart-line-paid { stroke: var(--admin-lime); }
.profile-chart-dot-accrued { fill: #fff; stroke: #10171d; stroke-width: 1.8; }
.profile-chart-dot-paid { fill: var(--admin-lime); stroke: #10171d; stroke-width: 1.8; }
.partner-profile-chart-empty { display: grid; min-height: 15rem; place-items: center; padding: 1.5rem; color: #aeb9b1; font-size: .8rem; text-align: center; }
.partner-profile-finance { display: flex; flex-direction: column; }
.partner-profile-finance > dl { display: grid; grid-template-columns: 1fr; margin: 0; border-top: 1px solid var(--admin-line-soft); }
.partner-profile-finance > dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .93rem 1.25rem; }
.partner-profile-finance > dl > div + div { border-top: 1px solid var(--admin-line-soft); border-left: 0; }
.partner-profile-finance dt { font-size: .75rem; }
.partner-profile-finance dd { margin: 0; font-family: Inter, Arial, sans-serif; font-size: .95rem; font-weight: 500; letter-spacing: -.02em; }
.partner-profile-activity { margin-top: var(--profile-gap); }
.partner-profile-activity > .partner-profile-panel-head { align-items: center; border-bottom: 1px solid var(--admin-line-soft); }
.partner-profile-activity > .partner-profile-panel-head > span { color: var(--admin-slate); font-size: .72rem; white-space: nowrap; }
.partner-profile-activity-list { display: grid; }
.partner-profile-activity-row { display: grid; grid-template-columns: 2rem minmax(0, 1fr) 9.25rem minmax(5rem, auto); align-items: center; gap: .8rem; min-height: 4.2rem; padding: .65rem 1.25rem; }
.partner-profile-activity-row + .partner-profile-activity-row { border-top: 1px solid var(--admin-line-soft); }
.partner-profile-activity-icon { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .65rem; background: var(--admin-mist); color: var(--admin-ink); }
.partner-profile-activity-icon.is-commission { background: var(--admin-lime-soft); color: #536f0b; }
.partner-profile-activity-icon.is-payout { background: #eaf2f8; color: #3a6689; }
.partner-profile-activity-icon svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.partner-profile-activity-row > div { display: grid; min-width: 0; gap: .22rem; }
.partner-profile-activity-row b, .partner-profile-activity-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-profile-activity-row b { color: var(--admin-ink); font-size: .8rem; font-weight: 500; }
.partner-profile-activity-row small, .partner-profile-activity-row time { color: var(--admin-slate); font-size: .72rem; }
.partner-profile-activity-row time { white-space: nowrap; }
.partner-profile-activity-row strong { color: var(--admin-ink); font-family: Inter, Arial, sans-serif; font-size: .8rem; font-weight: 500; text-align: right; white-space: nowrap; }
.partner-profile-activity-row strong.is-commission { color: #5d7b12; }
.partner-profile-activity-row strong.is-payout { color: #52708a; }

@media (max-width: 1100px) {
  .partner-profile-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .partner-profile-metrics > div:nth-child(4) { border-left: 0; border-top: 1px solid var(--admin-line-soft); }
  .partner-profile-metrics > div:nth-child(5) { border-top: 1px solid var(--admin-line-soft); }
  .partner-profile-summary { grid-template-columns: 1fr; }
  .partner-profile-finance > dl { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .partner-profile-finance > dl > div { display: block; padding: 1rem; }
  .partner-profile-finance > dl > div + div { border-top: 0; border-left: 1px solid var(--admin-line-soft); }
  .partner-profile-finance dd { margin-top: .45rem; }
}

@media (max-width: 700px) {
  .partner-admin-main.is-partner-detail { padding-top: 1.25rem; }
  .partner-profile-hero { grid-template-columns: 1fr; gap: 1rem; padding: 1rem; }
  .partner-profile-status { align-items: flex-start; justify-content: space-between; }
  .partner-profile-status .partner-profile-actions { flex: 1 1 auto; justify-content: flex-end; }
  .partner-profile-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-profile-metrics > div { padding: .85rem; }
  .partner-profile-metrics > div:nth-child(3), .partner-profile-metrics > div:nth-child(5) { border-left: 0; }
  .partner-profile-metrics > div:nth-child(3), .partner-profile-metrics > div:nth-child(4), .partner-profile-metrics > div:nth-child(5) { border-top: 1px solid var(--admin-line-soft); }
  .partner-profile-metrics > div:nth-child(5) { grid-column: 1 / -1; }
  .partner-profile-chart-panel { min-height: 19rem; }
  .partner-profile-panel-head { padding: 1rem; }
  .partner-profile-chart-legend { align-self: flex-end; font-size: .62rem; }
  .partner-profile-chart { min-height: 13rem; padding-inline: .3rem; }
  .partner-profile-chart svg { height: 13rem; }
  .partner-profile-chart-grid text, .partner-profile-chart-labels text { font-size: 13px; }
  .partner-profile-finance > dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-profile-finance > dl > div { padding: .9rem 1rem; }
  .partner-profile-finance > dl > div:nth-child(3), .partner-profile-finance > dl > div:nth-child(5) { border-left: 0; }
  .partner-profile-finance > dl > div:nth-child(n + 3) { border-top: 1px solid var(--admin-line-soft); }
  .partner-profile-finance > dl > div:nth-child(5) { grid-column: 1 / -1; }
  .partner-profile-activity > .partner-profile-panel-head { align-items: flex-start; }
  .partner-profile-activity > .partner-profile-panel-head > span { display: none; }
  .partner-profile-activity-row { grid-template-columns: 2rem minmax(0, 1fr) auto; gap: .65rem; min-height: 4.55rem; padding: .7rem 1rem; }
  .partner-profile-activity-row time { display: none; }
}

/* Partner ranking: the top three earn their own visual weight; the remaining
   partners stay in one readable data list rather than a nested table card. */
.partner-ranking { display: grid; gap: 18px; }
.partner-ranking-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.partner-ranking-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.partner-ranking-filter { display: inline-flex; min-width: 148px; }
.partner-ranking-filter > .partner-admin-select { width: 100%; }
.partner-ranking-filter .partner-admin-select-trigger { min-height: 38px; padding: 8px 10px; border-radius: 9px; font-size: 11px; }
.partner-ranking-filter .partner-admin-select-trigger svg { width: 16px; height: 16px; }
.partner-ranking-title { display: flex; align-items: center; gap: 13px; min-width: 0; }
.partner-ranking-title-icon { display: grid; width: 46px; height: 46px; place-items: center; flex: 0 0 auto; border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-paper); color: var(--admin-ink); box-shadow: var(--admin-shadow-card); }
.partner-ranking-title-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.partner-ranking-title h2 { margin: 0; color: var(--admin-ink); font-family: Inter, Arial, sans-serif; font-size: 21px; font-weight: 500; letter-spacing: -.025em; line-height: 1.15; }
.partner-ranking-title p { margin: 4px 0 0; color: var(--admin-slate); font-size: 13px; line-height: 1.4; }
.partner-ranking-total { flex: 0 0 auto; color: var(--admin-slate); font-size: 12px; font-variant-numeric: tabular-nums; }
.partner-ranking-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 12px; }
.partner-ranking-podium-card { position: relative; display: grid; min-height: 188px; grid-template-columns: minmax(0, 1fr) auto; align-content: start; gap: 17px 10px; padding: 16px; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 14px; background: var(--admin-paper); color: var(--admin-ink); text-align: left; box-shadow: var(--admin-shadow-card); cursor: pointer; transition: border-color 180ms ease, background-color 180ms ease, transform 180ms cubic-bezier(.22, 1, .36, 1); }
.partner-ranking-podium-card:hover { transform: translateY(-2px); }
.partner-ranking-podium-card:focus-visible, .partner-ranking-row:focus-visible { outline: 3px solid rgba(111, 212, 78, .35); outline-offset: 3px; }
.partner-ranking-podium-card--gold { order: 2; border-color: #e6ca77; background: #fffaf0; }
.partner-ranking-podium-card--silver { order: 1; border-color: #cbd4da; background: #f7f9fa; }
.partner-ranking-podium-card--bronze { order: 3; border-color: #dfb49b; background: #fff7f2; }
.partner-ranking-podium-card--gold:hover { border-color: #b79226; background: #fff7e3; }
.partner-ranking-podium-card--silver:hover { border-color: #9cabb5; background: #f1f4f5; }
.partner-ranking-podium-card--bronze:hover { border-color: #bc8165; background: #fff0e8; }
.partner-ranking-place { display: grid; width: 32px; height: 32px; place-items: center; justify-self: end; border-radius: 50%; font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums; }
.partner-ranking-podium-card--gold .partner-ranking-place { background: #e8c35b; color: #3d2c04; }
.partner-ranking-podium-card--silver .partner-ranking-place { background: #cfd8dd; color: #253039; }
.partner-ranking-podium-card--bronze .partner-ranking-place { background: #dfa281; color: #442012; }
.partner-ranking-podium-identity { display: flex; grid-column: 1 / -1; align-items: center; gap: 10px; min-width: 0; }
.partner-ranking-avatar { display: grid; width: 36px; height: 36px; place-items: center; flex: 0 0 auto; border-radius: 10px; background: rgba(11, 16, 21, .08); color: var(--admin-ink); font-size: 13px; font-weight: 500; }
.partner-ranking-person { display: grid; min-width: 0; gap: 2px; }
.partner-ranking-person b, .partner-ranking-person small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-ranking-person b { color: var(--admin-ink); font-size: 14px; font-weight: 500; line-height: 1.25; }
.partner-ranking-person small { color: var(--admin-slate); font-size: 11px; line-height: 1.3; }
.partner-ranking-podium-income { display: grid; min-width: 0; gap: 4px; }
.partner-ranking-podium-income small, .partner-ranking-podium-stats small, .partner-ranking-row-stat small, .partner-ranking-row-income small { color: var(--admin-slate); font-size: 10px; line-height: 1.2; }
.partner-ranking-podium-income strong { color: var(--admin-ink); font-size: 22px; font-weight: 500; letter-spacing: -.035em; font-variant-numeric: tabular-nums; line-height: 1; white-space: nowrap; }
.partner-ranking-podium-stats { display: flex; align-items: end; justify-content: flex-end; gap: 15px; }
.partner-ranking-podium-stats span { display: grid; gap: 4px; text-align: right; }
.partner-ranking-podium-stats b { color: var(--admin-ink); font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; }
.partner-ranking-list-section { overflow: hidden; border-top: 1px solid var(--admin-line); }
.partner-ranking-list-section > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; }
.partner-ranking-list-section h3 { margin: 0; color: var(--admin-ink); font-size: 15px; font-weight: 500; letter-spacing: -.015em; }
.partner-ranking-list-section > header > span { color: var(--admin-slate); font-size: 12px; font-variant-numeric: tabular-nums; }
.partner-ranking-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--admin-line-soft); }
.partner-ranking-list > li { min-width: 0; }
.partner-ranking-row { display: grid; width: 100%; grid-template-columns: 34px minmax(13rem, 1.4fr) minmax(9rem, 1fr) minmax(8rem, .7fr) 18px; align-items: center; gap: 14px; min-height: 67px; padding: 10px 6px; border: 0; border-bottom: 1px solid var(--admin-line-soft); background: transparent; color: var(--admin-ink); text-align: left; cursor: pointer; transition: background-color 160ms ease; }
.partner-ranking-row:hover { background: var(--admin-mist); }
.partner-ranking-row-place { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: var(--admin-mist); color: var(--admin-slate); font-size: 12px; font-variant-numeric: tabular-nums; }
.partner-ranking-row-identity { display: flex; align-items: center; gap: 10px; min-width: 0; }
.partner-ranking-row-stat, .partner-ranking-row-income { display: grid; min-width: 0; gap: 4px; }
.partner-ranking-row-stat b, .partner-ranking-row-income b { color: var(--admin-ink); overflow: hidden; font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.partner-ranking-row-arrow { color: var(--admin-slate); font-size: 18px; line-height: 1; transition: transform 160ms ease, color 160ms ease; }
.partner-ranking-row:hover .partner-ranking-row-arrow { color: var(--admin-ink); transform: translateX(2px); }
.partner-ranking-empty, .partner-ranking-list-empty { display: grid; min-height: 128px; place-items: center; padding: 18px; border: 1px dashed var(--admin-line); border-radius: 14px; color: var(--admin-slate); font-size: 13px; text-align: center; }
.partner-ranking-list-empty { min-height: 67px; border-width: 0 0 1px; border-radius: 0; }
.ranking-podium-skeleton { min-height: 188px; border-radius: 14px; }

@media (max-width: 900px) {
  .partner-ranking-podium { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-ranking-podium-card--gold { order: 1; }
  .partner-ranking-podium-card--silver { order: 2; }
  .partner-ranking-podium-card--bronze { grid-column: 1 / -1; order: 3; }
  .partner-ranking-row { grid-template-columns: 34px minmax(12rem, 1.3fr) minmax(8rem, .8fr) 18px; }
  .partner-ranking-row-stat { display: none; }
}
@media (max-width: 600px) {
  .partner-ranking { gap: 14px; }
  .partner-ranking-head { align-items: flex-start; }
  .partner-ranking-head-actions { align-items: flex-end; flex-direction: column; gap: 6px; }
  .partner-ranking-filter { min-width: 132px; }
  .partner-ranking-filter .partner-admin-select-trigger { min-height: 36px; padding: 7px 9px; font-size: 10px; }
  .partner-ranking-title-icon { width: 42px; height: 42px; }
  .partner-ranking-title h2 { font-size: 19px; }
  .partner-ranking-title p { font-size: 12px; }
  .partner-ranking-total { padding-top: 3px; font-size: 11px; text-align: right; }
  .partner-ranking-podium { grid-template-columns: 1fr; gap: 10px; }
  .partner-ranking-podium-card, .partner-ranking-podium-card--bronze { grid-column: auto; min-height: 0; }
  .partner-ranking-podium-card--gold, .partner-ranking-podium-card--silver, .partner-ranking-podium-card--bronze { order: initial; }
  .partner-ranking-podium-card { grid-template-columns: minmax(0, 1fr) auto; gap: 13px 10px; padding: 14px; }
  .partner-ranking-podium-identity { grid-column: 1; }
  .partner-ranking-podium-income { grid-column: 1; }
  .partner-ranking-podium-stats { grid-column: 2; grid-row: 2 / span 2; align-self: end; }
  .partner-ranking-row { grid-template-columns: 30px minmax(0, 1fr) auto 16px; gap: 9px; min-height: 62px; padding-inline: 2px; }
  .partner-ranking-row-place { width: 26px; height: 26px; }
  .partner-ranking-row-income { text-align: right; }
  .partner-ranking-row-income small { display: none; }
  .partner-ranking-row-income b { font-size: 12px; }
  .partner-ranking-row .partner-ranking-avatar { display: none; }
}
@media (prefers-reduced-motion: reduce) { .partner-ranking-podium-card, .partner-ranking-row, .partner-ranking-row-arrow { transition: none; } }

/* Moderation is a dense operational list: author, message, state and irreversible actions stay on one reading line. */
.partner-comments-card { overflow: hidden; }
.partner-comments-filters { align-items: center; }
.partner-comments-filters .admin-search { flex: 1 1 280px; }
.partner-comments-filters select { flex: 0 1 210px; min-width: 155px; }
.partner-comments-list { display: grid; gap: 10px; padding: 14px 20px 20px; background: var(--admin-mist); }
.partner-comment-row { display: grid; gap: 12px; padding: 15px 16px; border: 1px solid var(--admin-line-soft); border-radius: 16px; background: var(--admin-paper); }
.partner-comment-row.is-pinned { border-color: rgba(111, 148, 22, .3); background: linear-gradient(135deg, #fbfdf7, var(--admin-paper) 64%); }
.partner-comment-row.is-deleted { opacity: .72; }
.partner-comment-row > header, .partner-comment-row > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.partner-comment-row-author { display: flex; align-items: center; gap: 10px; min-width: 0; }
.partner-comment-row-author > span { display: grid; width: 34px; height: 34px; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--admin-lime-soft); color: #4d6815; font-size: 12px; font-weight: 600; }
.partner-comment-row-author > div { display: grid; min-width: 0; gap: 2px; }
.partner-comment-row-author b, .partner-comment-row-author small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-comment-row-author b { color: var(--admin-ink); font-size: 12px; font-weight: 600; }
.partner-comment-row-author small { color: var(--admin-slate); font-size: 10px; }
.partner-comment-row-state { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.partner-comment-status, .partner-comment-pinned { display: inline-flex; align-items: center; min-height: 23px; padding: 0 8px; border-radius: 12px; font-size: 10px; font-weight: 600; white-space: nowrap; }
.partner-comment-status.is-published, .partner-comment-pinned { background: var(--admin-lime-soft); color: #557018; }
.partner-comment-status.is-hidden { background: #edf0f2; color: #61707b; }
.partner-comment-status.is-deleted { background: #fff1f1; color: #a34d4d; }
.partner-comment-row-body { display: grid; gap: 8px; padding-left: 44px; }
.partner-comment-row-body p { max-width: 94ch; margin: 0; color: var(--admin-ink); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.partner-comment-row-body > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 13px; color: var(--admin-slate); font-size: 10px; }
.partner-comment-row-body > div span:first-child { max-width: 42ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-comment-row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.partner-comment-row .admin-action { min-height: 34px; padding-inline: 10px; font-size: 11px; }
.partner-comments-empty { display: grid; min-height: 210px; place-content: center; justify-items: center; padding: 24px; border: 1px dashed var(--admin-line); border-radius: 16px; background: var(--admin-paper); color: var(--admin-slate); text-align: center; }
.partner-comments-empty h3 { margin: 0; color: var(--admin-ink); font-size: 15px; font-weight: 600; }
.partner-comments-empty p { max-width: 36ch; margin: 7px 0 0; font-size: 12px; line-height: 1.45; }
.partner-comments-loading { display: grid; gap: 9px; }
.partner-comments-loading i { display: block; height: 92px; border-radius: 16px; background: linear-gradient(90deg, #f1f3f4, #fafbfb, #f1f3f4); background-size: 200% 100%; }
@media (prefers-reduced-motion: no-preference) { .partner-comments-loading i { animation: partner-comments-loading 1.4s ease-in-out infinite; } }
@keyframes partner-comments-loading { to { background-position: -200% 0; } }
@media (max-width: 700px) { .partner-comments-list { padding: 10px; } .partner-comments-filters select { flex: 1 1 150px; } .partner-comment-row { gap: 11px; padding: 13px; border-radius: 14px; } .partner-comment-row > header { align-items: flex-start; flex-direction: column; } .partner-comment-row-state { justify-content: flex-start; } .partner-comment-row-body { padding-left: 0; } .partner-comment-row > footer { align-items: stretch; flex-direction: column; } .partner-comment-row-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .partner-comment-row-actions .admin-action, .partner-comment-row > footer > .admin-action { justify-content: center; width: 100%; } }
@media (prefers-reduced-motion: reduce) { .partner-comments-loading i { animation: none; } }

/* Partner Admin ledgers use the same restrained table shell as the cabinet. */
.admin-recent-partners,.admin-list-card,.partner-bots-workspace,.partner-bot-timeline{border-radius:23px}

/* Shared control-room ledger: one rounded shell contains toolbar, table and pagination. */
.partner-admin-mode,
.partner-admin-mode :is(button, input, select, textarea) { font-family: Manrope, Arial, sans-serif !important; }
.partner-admin-mode { font-weight: 300; }
.partner-admin-mode :is(button, label, input, select, textarea, p, small, th, td, dt, dd, span, b, strong) { font-weight: 300 !important; }
.partner-admin-mode :is(h1, h2, h3, h4, h5, h6) { font-weight: 500 !important; }
.partner-admin-mode :is(.kpi-value, .chart-summary-item b, .admin-payout-footer b, .partners-table .numeric, .admin-overview-results, .admin-tab-count, .admin-ledger-table .numeric, code, .partner-profile-metrics dd, .partner-profile-finance dd, .partner-profile-activity-row strong) { font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Consolas, monospace !important; font-variant-numeric: tabular-nums; }
.admin-ledger-workspace { overflow: hidden; border: 1px solid var(--admin-line-soft); border-radius: 23px; background: var(--admin-paper); box-shadow: var(--admin-shadow-card); }
.admin-ledger-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 74px; padding: 17px 20px 14px; border-bottom: 1px solid var(--admin-line-soft); }
.admin-ledger-head h2 { margin: 0; color: var(--admin-ink); font-size: 17px; font-weight: 500; letter-spacing: -.015em; }
.admin-ledger-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px 20px; border-bottom: 1px solid var(--admin-line-soft); background: var(--admin-mist); }
.admin-segmented-control { display: inline-grid; grid-auto-flow: column; gap: 2px; padding: 3px; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-paper); }
.admin-segmented-control button { min-height: 32px; padding: 0 11px; border: 0; border-radius: 7px; background: transparent; color: var(--admin-slate); font-size: 12px; cursor: pointer; transition: background-color 160ms cubic-bezier(.22,1,.36,1), color 160ms cubic-bezier(.22,1,.36,1), transform 160ms cubic-bezier(.22,1,.36,1); }
.admin-segmented-control button:hover { color: var(--admin-ink); background: var(--admin-mist); }
.admin-segmented-control button.active { background: var(--admin-ink); color: #fff; }
.admin-segmented-control button:active { transform:translateY(1px); }
.admin-charges-search { flex: 1 1 260px; min-width: 210px; }
.admin-toolbar-select { display: flex; align-items: center; gap: 7px; min-height: 40px; padding-left: 11px; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-paper); color: var(--admin-slate); font-size: 11px; }
.admin-toolbar-select select { min-height: 38px; max-width: 174px; padding: 0 25px 0 0; border: 0; background: transparent; color: var(--admin-ink); font: inherit; font-size: 12px; cursor: pointer; }
.admin-toolbar-select:focus-within { border-color: #91b72f; box-shadow: 0 0 0 3px rgba(111,212,78,.18); }
.admin-ledger-table-wrap { min-height: 290px; overflow: auto; }
.admin-ledger-table { min-width: 980px; }
.admin-ledger-table th { white-space: nowrap; }
.admin-ledger-date, .admin-ledger-person { display: grid; min-width: 0; gap: 3px; }
.admin-ledger-date b, .admin-ledger-person b { overflow: hidden; color: var(--admin-ink); font-size: 12px; font-weight: 500; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.admin-ledger-date small, .admin-ledger-person small { overflow: hidden; color: var(--admin-muted); font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.admin-ledger-plan { display: block; max-width: 20ch; overflow: hidden; color: var(--admin-slate); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.admin-ledger-empty { display: grid; min-height: 290px; place-content: center; justify-items: center; gap: 7px; padding: 28px; color: var(--admin-slate); text-align: center; }
.admin-ledger-empty h3 { margin: 0; color: var(--admin-ink); font-size: 16px; font-weight: 500; letter-spacing: -.015em; }
.admin-ledger-empty p { max-width: 50ch; margin: 0; font-size: 12px; line-height: 1.5; }
.admin-ledger-empty .admin-action { margin-top: 4px; }
.admin-ledger-footer { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-height: 58px; padding: 10px 20px; border-top: 1px solid var(--admin-line-soft); color: var(--admin-slate); font-size: 12px; }
.admin-ledger-footer[hidden] { display: none; }
.admin-ledger-footer .admin-action:disabled { cursor: not-allowed; opacity: .45; }
.partner-admin-main.is-charges .partner-admin-period-host { display: block; }

.partner-profile-workspace { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 16px; margin-top: var(--profile-gap, 16px); }
.partner-workspace-card, .partner-policy-card { overflow: hidden; border: 1px solid var(--admin-line-soft); border-radius: 23px; background: var(--admin-paper); box-shadow: var(--admin-shadow-card); }
.partner-workspace-card .partner-profile-panel-head { min-height: 66px; padding: 15px 20px 12px; border-bottom: 1px solid var(--admin-line-soft); }
.partner-workspace-card .partner-profile-panel-head p { margin: 3px 0 0; color: var(--admin-slate); font-size: 11px; }
.partner-workspace-list { display: grid; }
.partner-workspace-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(105px, .7fr) auto; align-items: center; gap: 12px; min-height: 58px; padding: 9px 20px; }
.partner-workspace-row + .partner-workspace-row { border-top: 1px solid var(--admin-line-soft); }
.partner-workspace-row > div { display: grid; min-width: 0; gap: 3px; }
.partner-workspace-row b, .partner-workspace-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-workspace-row b { color: var(--admin-ink); font-size: 12px; line-height: 1.35; }
.partner-workspace-row small { color: var(--admin-slate); font-size: 10px; line-height: 1.35; }
.partner-workspace-row strong { color: var(--admin-ink); font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Consolas, monospace !important; font-size: 12px; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.partner-workspace-row strong.is-expense { color: var(--admin-danger); }
.partner-policy-card { display: grid; grid-template-columns: minmax(220px, .82fr) minmax(0, 1.18fr); align-items: stretch; margin-top: var(--profile-gap, 16px); }
.partner-policy-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-right: 1px solid var(--admin-line-soft); }
.partner-policy-card h2 { margin: 0; color: var(--admin-ink); font-size: 17px; font-weight: 500; letter-spacing: -.015em; }
.partner-policy-card > dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.partner-policy-card > dl > div { display: grid; align-content: center; gap: 5px; padding: 15px 20px; }
.partner-policy-card > dl > div + div { border-left: 1px solid var(--admin-line-soft); }
.partner-policy-card dt { color: var(--admin-slate); font-size: 10px; }
.partner-policy-card dd { margin: 0; color: var(--admin-ink); font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Consolas, monospace !important; font-size: 12px; font-variant-numeric: tabular-nums; }

html[data-lp-theme="dark"] .admin-ledger-workspace,
html[data-lp-theme="dark"] .admin-segmented-control,
html[data-lp-theme="dark"] .admin-toolbar-select { border-color: rgba(226,240,227,.13); background: #111918; }
html[data-lp-theme="dark"] .admin-ledger-toolbar { border-color: rgba(226,240,227,.13); background: #0d1413; }
html[data-lp-theme="dark"] .admin-ledger-head,
html[data-lp-theme="dark"] .admin-ledger-footer { border-color: rgba(226,240,227,.13); }
html[data-lp-theme="dark"] .admin-segmented-control button:hover { background: #1a2422; color: #eef4ed; }
html[data-lp-theme="dark"] .admin-segmented-control button.active { background: #283724; color: #eef4ed; }

@media (max-width: 860px) {
  .admin-ledger-toolbar { align-items: stretch; }
  .admin-charges-search { flex-basis: 100%; }
  .admin-toolbar-select { flex: 1 1 180px; justify-content: space-between; }
  .partner-profile-workspace { grid-template-columns: 1fr; }
  .partner-policy-card { grid-template-columns: 1fr; }
  .partner-policy-card > header { border-right: 0; border-bottom: 1px solid var(--admin-line-soft); }
}
@media (max-width: 600px) {
  .admin-ledger-head { min-height: 62px; padding: 14px; }
  .admin-ledger-toolbar { gap: 8px; padding: 10px; }
  .admin-segmented-control { width: 100%; grid-template-columns: 1fr 1fr; }
  .admin-segmented-control button { width: 100%; min-height: 36px; }
  .admin-toolbar-select { flex: 1 1 100%; }
  .admin-toolbar-select select { max-width: 62%; }
  .admin-ledger-table-wrap { min-height: 248px; }
  .admin-ledger-empty { min-height: 248px; padding: 20px; }
  .admin-ledger-footer { justify-content: space-between; padding: 10px 14px; }
  .partner-workspace-card .partner-profile-panel-head { padding: 14px; }
  .partner-workspace-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 10px 14px; }
  .partner-workspace-row > div:nth-child(2) { display: none; }
  .partner-policy-card > header { padding: 14px; }
  .partner-policy-card > dl { grid-template-columns: 1fr; }
  .partner-policy-card > dl > div { padding: 12px 14px; }
  .partner-policy-card > dl > div + div { border-top: 1px solid var(--admin-line-soft); border-left: 0; }
}

/* Cabinet period selector and range picker are shared with the partner desk;
   admin only owns the surrounding header, not a second calendar implementation. */
.partner-admin-period-host { position: relative; min-width: 0; margin-left: auto; }
.partner-admin-mode :is(h1, h2, h3, h4, h5, h6, .partner-name) { font-family: Manrope, Arial, sans-serif !important; }
.partner-admin-main:is(.is-settings, .is-bots) .partner-admin-period-host { display: none; }
.partner-admin-period-host .cabinet-period-control { position: relative; display: flex; align-items: center; gap: 13px; }
.partner-admin-period-host .cabinet-period-buttons { display: flex; align-items: center; gap: 14px; }
.partner-admin-period-host :is(.cabinet-period-buttons button, .cabinet-period-calendar-button) { min-height: 32px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--admin-slate); font: 300 13px/1 Manrope, Arial, sans-serif; white-space: nowrap; }
.partner-admin-period-host :is(.cabinet-period-buttons button, .cabinet-period-calendar-button):is(:hover, .active) { color: var(--admin-ink); }
.partner-admin-period-host :is(.cabinet-period-buttons button, .cabinet-period-calendar-button):focus-visible { outline: 2px solid var(--admin-ink); outline-offset: 4px; }
.partner-admin-period-host .cabinet-period-control[aria-busy="true"] button { cursor: wait; opacity: .48; }
.partner-admin-period-host .cabinet-period-calendar-button { display: inline-flex; align-items: center; gap: 6px; max-width: 148px; }
.partner-admin-period-host :is(.cabinet-period-calendar-button svg, .lp-period-calendar-icon, .lp-period-calendar-icon :is(svg, morph-icon)) { display: block; width: 18px; height: 18px; flex: 0 0 18px; }
.partner-admin-period-host [data-cabinet-period-calendar-label] { overflow: hidden; font-size: 12px; text-overflow: ellipsis; }
.partner-admin-period-host .cabinet-period-popover { position: absolute; z-index: 80; top: calc(100% + 8px); right: 0; }
.partner-admin-period-host .cabinet-period-popover[hidden] { display: none !important; }
.partner-admin-period-host .cabinet-period-mobile { display: none; position: relative; min-width: 0; }
.partner-admin-period-host .lp-outline-range { --range-paper: #fff; --range-paper-soft: #f7f8f9; --range-ink: #090d12; --range-muted: #8d97a5; --range-line: #dce1e7; --range-line-soft: #e9edf1; --range-accent: #cfff22; --range-preview: #52681c; width: 326px; min-width: 326px; padding: 12px; border: 0; border-radius: 16px; background: var(--range-paper); color: var(--range-ink); box-shadow: 0 8px 14px rgba(8,15,25,.14); font: 300 14px/1 Manrope, Arial, sans-serif; }
.partner-admin-period-host .lp-range-nav { position: relative; z-index: 3; display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; align-items: center; gap: 3px; min-height: 34px; }
.partner-admin-period-host .lp-range-step { display: grid; width: 32px; height: 32px; place-items: center; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--range-ink); }
.partner-admin-period-host .lp-range-step:hover, .partner-admin-period-host .lp-range-select:hover, .partner-admin-period-host .lp-range-select[aria-expanded="true"], .partner-admin-period-host .lp-range-menu button:hover { background: var(--range-paper-soft); }
.partner-admin-period-host .lp-range-step:disabled, .partner-admin-period-host .lp-range-menu button:disabled { opacity: .24; }
.partner-admin-period-host .lp-range-step svg { width: 16px; height: 16px; }
.partner-admin-period-host .lp-range-selects { display: flex; min-width: 0; justify-content: center; gap: 2px; }
.partner-admin-period-host .lp-range-select { display: inline-flex; min-width: 0; height: 32px; align-items: center; justify-content: center; gap: 2px; padding: 0 4px 0 8px; border: 0; border-radius: 10px; background: transparent; color: var(--range-ink); font: 400 14px/1 Manrope, Arial, sans-serif; }
.partner-admin-period-host .lp-range-select span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-admin-period-host .lp-range-select svg { width: 13px; height: 13px; color: var(--range-muted); transition: transform 150ms cubic-bezier(.22,1,.36,1); }
.partner-admin-period-host .lp-range-select[aria-expanded="true"] svg { transform: rotate(180deg); }
.partner-admin-period-host .lp-range-menu { position: absolute; z-index: 5; top: 38px; right: 32px; left: 32px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; padding: 7px; border-radius: 12px; background: var(--range-paper); box-shadow: 0 6px 8px rgba(9,13,18,.14); }
.partner-admin-period-host .lp-range-menu button { min-height: 32px; padding: 0 4px; border: 0; border-radius: 10px; background: transparent; color: var(--range-ink); font: 300 10px/1 Manrope, Arial, sans-serif; }
.partner-admin-period-host .lp-range-menu button[aria-selected="true"] { background: var(--range-accent); color: #090d12; }
.partner-admin-period-host .lp-range-calendar { margin-top: 3px; }
.partner-admin-period-host .lp-range-weekdays, .partner-admin-period-host .lp-range-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.partner-admin-period-host .lp-range-weekdays { color: var(--range-muted); font-size: 9px; text-align: center; }
.partner-admin-period-host .lp-range-weekdays span { padding: 5px 0 4px; }
.partner-admin-period-host .lp-range-day { position: relative; display: grid; min-width: 0; height: 36px; place-items: center; padding: 0; border: 0; background: transparent; color: var(--range-ink); }
.partner-admin-period-host .lp-range-day > span { position: relative; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid transparent; border-radius: 50%; font-size: 15px; font-variant-numeric: tabular-nums; transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, transform 140ms cubic-bezier(.22,1,.36,1); }
.partner-admin-period-host .lp-range-day.is-outside { color: var(--range-muted); opacity: .38; }
.partner-admin-period-host .lp-range-day:disabled { opacity: .16; }
.partner-admin-period-host .lp-range-day.is-range > span { border-color: var(--range-ink); }
.partner-admin-period-host .lp-range-day:is(.is-anchor,.is-hover-end) > span { border-color: var(--range-ink); background: var(--range-ink); color: var(--range-paper); }
.partner-admin-period-host .lp-outline-range.is-previewing .lp-range-day.is-hover-end > span { border-color: var(--range-accent); background: var(--range-accent); color: #111918; }
.partner-admin-period-host .lp-outline-range :is(button):focus-visible { outline: 2px solid #52681c; outline-offset: 2px; }

.partner-policy-card { grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); }
.partner-policy-card > header { display: grid; align-content: center; }
.partner-policy-card > header p { margin: 5px 0 0; color: var(--admin-slate); font-size: 11px; line-height: 1.4; }
.partner-policy-form { display: grid; grid-template-columns: minmax(160px, .8fr) minmax(180px, 1fr) auto; align-items: end; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--admin-line-soft); grid-column: 1 / -1; }
.partner-policy-form label { display: grid; gap: 5px; color: var(--admin-slate); font-size: 10px; }
.partner-policy-form input { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-paper); color: var(--admin-ink); font: 300 12px Manrope, Arial, sans-serif; }
.partner-policy-form input:focus-visible { outline: 2px solid var(--admin-ink); outline-offset: 1px; }
.partner-slot-access-card { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); align-items: center; margin-top: var(--profile-gap, 16px); overflow: hidden; border: 1px solid var(--admin-line-soft); border-radius: 23px; background: var(--admin-paper); box-shadow: var(--admin-shadow-card); }
.partner-slot-access-card > header { padding: 18px 20px; border-right: 1px solid var(--admin-line-soft); }
.partner-slot-access-card h2 { margin: 0; color: var(--admin-ink); font-size: 17px; font-weight: 500; letter-spacing: -.015em; }
.partner-slot-access-card p { margin: 5px 0 0; color: var(--admin-slate); font-size: 11px; line-height: 1.4; }
.partner-slot-access-card form { display: grid; grid-template-columns: minmax(140px, .55fr) minmax(180px, 1fr) auto; align-items: end; gap: 10px; padding: 14px 20px; }
.partner-slot-limit-options { display: flex; align-items: center; gap: 6px; }
.partner-slot-limit-options .admin-action { min-width: 38px; min-height: 38px; padding-inline: 8px; }
.partner-slot-access-card label { display: grid; gap: 5px; color: var(--admin-slate); font-size: 10px; }
.partner-slot-access-card input { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-paper); color: var(--admin-ink); font: 300 12px Manrope, Arial, sans-serif; }
.partner-slot-access-card input:focus-visible { outline: 2px solid var(--admin-ink); outline-offset: 1px; }
.admin-workspace-slot-toolbar { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin: 0 0 12px; padding: 12px 14px; border:1px solid var(--admin-line-soft); border-radius:12px; background:var(--admin-paper); color:var(--admin-ink); }
.admin-workspace-slot-toolbar span { font-size:12px; }
.admin-workspace-slot-toolbar small { color:var(--admin-slate); font-size:10px; }
.admin-workspace-slot-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
.admin-workspace-slots article.is-locked { background: color-mix(in srgb, var(--admin-paper) 92%, var(--admin-line)); }
@media(max-width:700px){.admin-workspace-slot-toolbar{align-items:flex-start;flex-direction:column}.admin-workspace-slot-actions{justify-content:flex-start}.admin-workspace-slot-actions .admin-action{width:auto}}
.partner-policy-form > div { display: flex; align-items: center; gap: 8px; }
.partner-policy-audit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 14px; padding: 13px 20px; border-top: 1px solid var(--admin-line-soft); color: var(--admin-slate); font-size: 10px; grid-column: 1 / -1; }
.partner-policy-audit > b { color: var(--admin-ink); font-size: 11px; font-weight: 400 !important; }
.partner-policy-audit ol { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.partner-policy-audit li { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-workspace-row strong small { display: block; margin-top: 3px; color: var(--admin-slate); font: 300 10px Manrope, Arial, sans-serif !important; }

/* Hold policy is a separate operational control: it changes only future
   commission records and must not visually merge with the rate editor. */
.partner-hold-policy-card { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); align-items: stretch; margin-top: var(--profile-gap, 16px); overflow: hidden; border: 1px solid var(--admin-line-soft); border-radius: 23px; background: var(--admin-paper); box-shadow: var(--admin-shadow-card); }
.partner-hold-policy-card > header { display: grid; align-content: center; gap: 8px; padding: 18px 20px; border-right: 1px solid var(--admin-line-soft); }
.partner-hold-policy-card h2 { margin: 0; color: var(--admin-ink); font-size: 17px; font-weight: 500; letter-spacing: -.015em; }
.partner-hold-policy-card p { max-width: 42ch; margin: 0; color: var(--admin-slate); font-size: 11px; line-height: 1.45; }
.partner-hold-policy-card > header > .activity-pill { justify-self: start; }
.partner-hold-policy-card > dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.partner-hold-policy-card > dl > div { display: grid; align-content: center; gap: 5px; padding: 15px 20px; }
.partner-hold-policy-card > dl > div + div { border-left: 1px solid var(--admin-line-soft); }
.partner-hold-policy-card dt { color: var(--admin-slate); font-size: 10px; }
.partner-hold-policy-card dd { margin: 0; color: var(--admin-ink); font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Consolas, monospace !important; font-size: 12px; font-variant-numeric: tabular-nums; }
.partner-hold-policy-form { display: grid; grid-template-columns: minmax(180px, .7fr) auto; align-items: end; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--admin-line-soft); grid-column: 1 / -1; }
.partner-hold-policy-form label { display: grid; gap: 5px; color: var(--admin-slate); font-size: 10px; }
.partner-hold-policy-form select { width: 100%; min-height: 40px; padding: 0 32px 0 11px; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-paper); color: var(--admin-ink); font: 300 12px Manrope, Arial, sans-serif; }
.partner-hold-policy-form select:focus-visible { outline: 2px solid var(--admin-ink); outline-offset: 1px; }
.partner-hold-policy-form > div { display: flex; align-items: center; gap: 8px; }

html[data-lp-theme="dark"] .partner-admin-period-host :is(.cabinet-period-buttons button, .cabinet-period-calendar-button) { color: #aeb9b1; }
html[data-lp-theme="dark"] .partner-admin-period-host :is(.cabinet-period-buttons button, .cabinet-period-calendar-button):is(:hover, .active) { color: #eef4ed; }
html[data-lp-theme="dark"] .partner-admin-period-host .lp-outline-range { --range-paper: #111918; --range-paper-soft: #18211f; --range-ink: #eef4ed; --range-muted: #7e8982; --range-line: rgba(226,240,227,.15); --range-line-soft: rgba(226,240,227,.09); --range-preview: rgba(207,255,34,.6); box-shadow: 0 16px 34px rgba(0,0,0,.32); }

@media (max-width: 760px) {
  .admin-page-head { align-items: stretch; }
  .partner-admin-period-host { width: 100%; margin-left: 0; }
  .partner-admin-period-host .cabinet-period-control { display: block; width: 100%; }
  .partner-admin-period-host :is(.cabinet-period-buttons, .cabinet-period-calendar-button) { display: none !important; }
  .partner-admin-period-host .cabinet-period-mobile { display: block; width: 100%; }
  .partner-admin-period-host .cabinet-period-mobile-trigger { display: grid; width: 100%; min-height: 48px; grid-template-columns: 22px minmax(0, 1fr) 18px; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid var(--admin-line); border-radius: 16px; background: var(--admin-paper); color: var(--admin-ink); font: 300 14px Manrope, Arial, sans-serif; text-align: left; box-shadow: 0 4px 14px rgba(8,15,25,.045); }
  .partner-admin-period-host .cabinet-period-mobile-trigger > svg:first-child { width: 21px; height: 21px; color: var(--admin-slate); }
  .partner-admin-period-host .cabinet-period-mobile-trigger > svg:last-child { width: 17px; height: 17px; color: var(--admin-muted); transition: transform 180ms cubic-bezier(.22,1,.36,1); }
  .partner-admin-period-host .cabinet-period-mobile-trigger[aria-expanded="true"] > svg:last-child { transform: rotate(180deg); }
  .partner-admin-period-host .cabinet-period-mobile-options { position: absolute; z-index: 75; top: calc(100% + 7px); right: 0; left: 0; display: grid; gap: 2px; padding: 6px; border: 1px solid var(--admin-line); border-radius: 16px; background: var(--admin-paper); box-shadow: 0 14px 34px rgba(9,13,18,.16); }
  .partner-admin-period-host .cabinet-period-mobile-options[hidden] { display: none !important; }
  .partner-admin-period-host .cabinet-period-mobile-options button { display: grid; width: 100%; min-height: 44px; grid-template-columns: minmax(0, 1fr) 20px; align-items: center; gap: 12px; padding: 0 10px 0 12px; border: 0; border-radius: 10px; background: transparent; color: var(--admin-slate); font: 300 13px Manrope, Arial, sans-serif; text-align: left; }
  .partner-admin-period-host .cabinet-period-mobile-options button:is(:hover,[aria-selected="true"]) { background: var(--admin-mist); color: var(--admin-ink); }
  .partner-admin-period-host .cabinet-period-mobile-options button svg { width: 18px; height: 18px; color: var(--admin-ink); opacity: 0; }
  .partner-admin-period-host .cabinet-period-mobile-options button[aria-selected="true"] svg { opacity: 1; }
  .partner-admin-period-host .cabinet-period-popover { position: fixed !important; z-index: 90; top: 50% !important; right: auto !important; left: 50% !important; width: min(326px, calc(100vw - 28px)) !important; min-width: 0; max-height: calc(100dvh - 28px); overflow-y: auto; overscroll-behavior: contain; transform: translate(-50%, -50%) !important; }
  .partner-admin-period-host .lp-range-day { height: 38px; }
  .partner-admin-period-host .lp-range-day > span { width: 32px; height: 32px; }
  .partner-policy-form { grid-template-columns: 1fr; padding: 14px; }
  .partner-policy-form > div { display: grid; grid-template-columns: 1fr; }
  .partner-policy-form .admin-action { justify-content: center; width: 100%; }
  .partner-policy-audit { grid-template-columns: 1fr; padding: 12px 14px; }
}

/* Owner manager inspection workspace. Keep the detail page on the same quiet,
   compact geometry as the admin tables while giving the KPI and trend blocks
   enough separation to scan quickly. */
.manager-owner-layout { display: grid; gap: 16px; }
.manager-owner-detail { overflow: hidden; }
.manager-owner-details { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; border-bottom: 1px solid var(--admin-line-soft,#ededed); }
.manager-owner-details > span { display: grid; gap: 5px; padding: 14px 16px; color: var(--admin-slate); font-size: 10px; }
.manager-owner-details > span + span { border-left: 1px solid var(--admin-line-soft,#ededed); }
.manager-owner-details > span b { color: var(--admin-ink); font-size: 14px; font-weight: 500; }
.manager-owner-section { padding: 18px 20px; border-top: 1px solid var(--admin-line-soft,#ededed); }
.manager-owner-section h3 { margin: 0 0 12px; color: var(--admin-ink); font-size: 14px; font-weight: 500; }
.manager-owner-analytics { border-top: 1px solid var(--admin-line-soft,#ededed); }
.manager-owner-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
.manager-owner-kpis > span { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--admin-line-soft,#ededed); border-radius: 10px; color: var(--admin-slate); font-size: 10px; }
.manager-owner-kpis b { color: var(--admin-ink); font-size: 16px; font-weight: 500; }
.manager-owner-chart { padding: 14px 0 2px; }
.manager-owner-chart-bars { height: 150px; display: flex; align-items: end; gap: 5px; overflow: hidden; border-bottom: 1px solid var(--admin-line); padding: 0 4px; }
.manager-owner-chart-day { height: 100%; flex: 1; min-width: 5px; display: flex; align-items: end; justify-content: center; gap: 2px; }
.manager-owner-chart-day i,
.manager-owner-chart-day b { display: block; width: calc(50% - 1px); min-height: 2px; border-radius: 3px 3px 0 0; background: var(--admin-ink); }
.manager-owner-chart-day b { background: var(--admin-slate); opacity: .55; }
.manager-owner-chart-legend { display: flex; gap: 16px; margin-top: 9px; color: var(--admin-slate); font-size: 10px; }
.manager-owner-chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.manager-owner-chart-legend i,
.manager-owner-chart-legend b { display: block; width: 8px; height: 8px; border-radius: 2px; background: var(--admin-ink); }
.manager-owner-chart-legend b { background: var(--admin-slate); opacity: .55; }
.manager-owner-setup { margin: 14px 20px 0; padding: 10px 12px; border: 1px solid var(--admin-line-soft,#ededed); border-radius: 10px; color: var(--admin-slate); font-size: 11px; }
.manager-owner-setup input { width: min(100%, 540px); min-height: 32px; margin-left: 6px; padding: 0 8px; border: 1px solid var(--admin-line); border-radius: 7px; background: var(--admin-paper); color: var(--admin-ink); font: 300 11px Manrope, Arial, sans-serif; }
.manager-link-rate-input { width: 72px; min-height: 30px; padding: 0 7px; border: 1px solid var(--admin-line); border-radius: 7px; background: var(--admin-paper); color: var(--admin-ink); font: 300 12px Manrope, Arial, sans-serif; }
.manager-link-rate-input:focus-visible,
.manager-owner-setup input:focus-visible { outline: 2px solid var(--admin-ink); outline-offset: 1px; }
.manager-owner-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 20px; }
.manager-owner-form label { display: grid; gap: 6px; color: var(--admin-slate); font-size: 10px; }
.manager-owner-form input { min-height: 40px; padding: 0 11px; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-paper); color: var(--admin-ink); font: 300 12px Manrope, Arial, sans-serif; }
.manager-owner-form input:focus-visible { outline: 2px solid var(--admin-ink); outline-offset: 1px; }
.manager-owner-form .manager-form-wide { grid-column: 1 / -1; }
.manager-owner-error { margin: 0; color: var(--admin-danger); font-size: 11px; }
html[data-lp-theme="dark"] .manager-owner-details,
html[data-lp-theme="dark"] .manager-owner-section,
html[data-lp-theme="dark"] .manager-owner-details > span + span,
html[data-lp-theme="dark"] .manager-owner-kpis > span,
html[data-lp-theme="dark"] .manager-owner-setup { border-color: rgba(226,240,227,.13); }
html[data-lp-theme="dark"] .manager-link-rate-input,
html[data-lp-theme="dark"] .manager-owner-form input,
html[data-lp-theme="dark"] .manager-owner-setup input { border-color: rgba(226,240,227,.13); background: #18211f; color: #eef4ed; }
@media(max-width:820px) {
  .manager-owner-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .manager-owner-details > span:nth-child(odd) + span { border-left: 0; }
  .manager-owner-details > span:nth-child(n+3) { border-top: 1px solid var(--admin-line-soft,#ededed); }
  .manager-owner-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .manager-owner-form { grid-template-columns: 1fr; }
  .manager-owner-form .manager-form-wide { grid-column: auto; }
}
@media(max-width:600px) {
  .manager-owner-section { padding: 14px; }
  .manager-owner-setup { margin: 12px 14px 0; }
  .manager-owner-setup input { display: block; width: 100%; margin: 8px 0 0; }
  .manager-owner-chart-bars { gap: 3px; }
}

html[data-lp-theme="dark"] .partner-admin-period-host .cabinet-period-mobile-trigger,
html[data-lp-theme="dark"] .partner-admin-period-host .cabinet-period-mobile-options { border-color: rgba(226,240,227,.13); background: #111918; color: #eef4ed; box-shadow: none; }
html[data-lp-theme="dark"] .partner-admin-period-host .cabinet-period-mobile-options button { color: #aeb9b1; }
html[data-lp-theme="dark"] .partner-admin-period-host .cabinet-period-mobile-options button:is(:hover,[aria-selected="true"]) { background: #1a2422; color: #eef4ed; }
html[data-lp-theme="dark"] .partner-admin-period-host .cabinet-period-mobile-options button[aria-selected="true"] svg { color: #cfff22; }
html[data-lp-theme="dark"] .partner-policy-form input { border-color: rgba(226,240,227,.13); background: #18211f; color: #eef4ed; }
html[data-lp-theme="dark"] .partner-hold-policy-form select { border-color: rgba(226,240,227,.13); background: #18211f; color: #eef4ed; }
html[data-lp-theme="dark"] .partner-slot-access-card input { border-color: rgba(226,240,227,.13); background: #18211f; color: #eef4ed; }
@media(max-width:700px){.partner-slot-access-card{grid-template-columns:1fr;border-radius:16px}.partner-slot-access-card>header{padding:14px;border-right:0;border-bottom:1px solid var(--admin-line-soft)}.partner-slot-access-card form{grid-template-columns:1fr;padding:14px}.partner-slot-access-card .admin-action{justify-content:center;width:100%}.partner-slot-limit-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.partner-slot-limit-options .admin-action{width:auto}}
@media (max-width: 860px) { .partner-hold-policy-card { grid-template-columns: 1fr; } .partner-hold-policy-card > header { border-right: 0; border-bottom: 1px solid var(--admin-line-soft); } }
@media (max-width: 600px) { .partner-hold-policy-card { border-radius: 16px; } .partner-hold-policy-card > header { padding: 14px; } .partner-hold-policy-card > dl { grid-template-columns: 1fr; } .partner-hold-policy-card > dl > div { padding: 12px 14px; } .partner-hold-policy-card > dl > div + div { border-top: 1px solid var(--admin-line-soft); border-left: 0; } .partner-hold-policy-form { grid-template-columns: 1fr; padding: 14px; } .partner-hold-policy-form > div { display: grid; } .partner-hold-policy-form .admin-action { justify-content: center; width: 100%; } }
@media (prefers-reduced-motion: reduce) { .partner-admin-period-host * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* The admin is a continuation of the partner desk: inspection surfaces use
   the documented larger cabinet geometry, while ledgers and controls stay compact. */
.partner-admin-mode :is(
  .admin-card,
  .partner-ranking,
  .partner-bots-workspace,
  .partner-videos-workspace,
  .partner-comments-card,
  .partner-profile-loading,
  .partner-profile-hero,
  .partner-profile-metrics,
  .partner-profile-chart-panel,
  .partner-profile-finance,
  .partner-profile-activity
) { border-radius: 43px; }

@media (max-width: 760px) {
  .partner-admin-mode :is(
    .admin-card,
    .partner-ranking,
    .partner-bots-workspace,
    .partner-videos-workspace,
    .partner-comments-card,
    .partner-profile-loading,
    .partner-profile-hero,
    .partner-profile-metrics,
    .partner-profile-chart-panel,
    .partner-profile-finance,
    .partner-profile-activity
  ) { border-radius: 24px; }

  .partner-policy-card { grid-template-columns: 1fr; }
  .partner-policy-card > header { border-right: 0; border-bottom: 1px solid var(--admin-line-soft); }
}
