/*
 * Mini App "clean" design: one layout language, light and dark themes.
 * Opt-in: core/uiDesign.js puts html.ui-clean and ui-clean--light|dark on
 * <html>. Every rule is scoped under html.ui-clean, so removing the class
 * (or this file) restores the current design untouched.
 *
 * Stage 1 (this file): tokens mapped onto the app's semantic variables, plus
 * the shell (background, bottom nav, cards, sheets, buttons). Screens are
 * reworked on top of it one at a time.
 */

/* ── tokens: the app already reads --bg --sec --text --hint --line --green ... ── */
html.ui-clean--light {
  --bg:#f4f5f7; --bg-soft:#f4f5f7; --sec:#ffffff; --sec-2:#eceef2;
  --text:#101828; --hint:#667085; --line:#e6e8ec; --shadow:none;
  --btn:#0e9f6e; --btntxt:#ffffff;
  --green:#0b8f63; --red:#d63a3f; --gold:#b45309; --blue:#2563eb; --orange:#c2570c;
  --num-neutral:#667085; --r:16px;
  --clean-accent-soft:#e3f5ee; --clean-raised:#ffffff; --clean-well:#eef0f3;
  --k-sec:#ffffff; --k-sec2:#eceef2; --k-text:#101828; --k-hint:#667085; --k-line:#e6e8ec;
  --k-green:#0b8f63; --k-red:#d63a3f; --k-gold:#b45309; --k-blue:#2563eb; --k-orange:#c2570c;
}
html.ui-clean--dark {
  --bg:#0a0c0f; --bg-soft:#0a0c0f; --sec:#12151a; --sec-2:#191d24;
  --text:#f2f4f7; --hint:#8a93a3; --line:#232832; --shadow:none;
  --btn:#3ddc97; --btntxt:#03200f;
  --green:#3ddc97; --red:#ff6b6b; --gold:#f5b83d; --blue:#6aa8ff; --orange:#ffa94d;
  --num-neutral:#8a93a3; --r:16px;
  --clean-accent-soft:rgba(61,220,151,.14); --clean-raised:#191d24; --clean-well:#191d24;
  --k-sec:#12151a; --k-sec2:#191d24; --k-text:#f2f4f7; --k-hint:#8a93a3; --k-line:#232832;
  --k-green:#3ddc97; --k-red:#ff6b6b; --k-gold:#f5b83d; --k-blue:#6aa8ff; --k-orange:#ffa94d;
}

/* design-system.css (body.ui-design-v2) owns its own --ds-* tokens on body: re-declare them per theme */
html.ui-clean--light body.ui-design-v2 {
  --blue:var(--k-blue) !important; --green:var(--k-green) !important; --red:var(--k-red) !important; --gold:var(--k-gold) !important; --orange:var(--k-orange); --sec-2:var(--k-sec2);
  --bg:#f4f5f7; --sec:#ffffff; --text:#101828; --hint:#667085; --line:#e6e8ec;
  --ds-bg:#f4f5f7; --ds-surface:#ffffff; --ds-surface-raised:#ffffff; --ds-surface-soft:#eef0f3;
  --ds-line:#e6e8ec; --ds-line-strong:#d0d5dd; --ds-text:#101828; --ds-muted:#667085;
  --ds-blue:#2563eb; --ds-green:#0b8f63; --ds-red:#d63a3f; --ds-gold:#b45309; --ds-shadow:none;
}
html.ui-clean--dark body.ui-design-v2 {
  --blue:var(--k-blue) !important; --green:var(--k-green) !important; --red:var(--k-red) !important; --gold:var(--k-gold) !important; --orange:var(--k-orange); --sec-2:var(--k-sec2);
  --bg:#0a0c0f; --sec:#12151a; --text:#f2f4f7; --hint:#8a93a3; --line:#232832;
  --ds-bg:#0a0c0f; --ds-surface:#12151a; --ds-surface-raised:#191d24; --ds-surface-soft:#191d24;
  --ds-line:#232832; --ds-line-strong:#323946; --ds-text:#f2f4f7; --ds-muted:#8a93a3;
  --ds-blue:#6aa8ff; --ds-green:#3ddc97; --ds-red:#ff6b6b; --ds-gold:#f5b83d; --ds-shadow:none;
}

/* ── background: flat, no starfield ── */
html.ui-clean, html.ui-clean body { background: var(--bg); color: var(--text); }
html.ui-clean body { background-image: none; }
html.ui-clean #app-backdrop { display: none; }
html.ui-clean #loader { background: var(--bg); }

/* ── pages ── */
html.ui-clean .page { animation: none; }

/* ── bottom navigation ── */
html.ui-clean .bnav {
  background: var(--sec);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border-top: 1px solid var(--line);
  box-shadow: none;
}
html.ui-clean .ni { font-size: 10.5px; font-weight: 600; gap: 3px; color: var(--hint); }
html.ui-clean .ni.active { color: var(--green); transform: none; }

/* ── cards ── */
html.ui-clean .card,
html.ui-clean .opcard {
  background: var(--sec);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: none;
}
html.ui-clean .opcard:hover { border-color: var(--green); box-shadow: none; }
html.ui-clean .ct,
html.ui-clean .section-label {
  color: var(--hint);
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}

/* ── sheets, buttons, toast ── */
html.ui-clean .sheet {
  background: var(--sec);
  border-top: 1px solid var(--line);
  box-shadow: none;
  color: var(--text);
}
html.ui-clean .sheetbtn {
  background: var(--btn);
  color: var(--btntxt);
  box-shadow: none;
  border-radius: 14px;
}
html.ui-clean .sheetbtn.cancel {
  background: var(--sec-2);
  color: var(--text);
  border: 1px solid var(--line);
}
html.ui-clean .nav-back-fab {
  background: var(--sec);
  color: var(--text);
  border: 1px solid var(--line);
  box-shadow: none;
}
html.ui-clean .toast {
  background: var(--text);
  color: var(--bg);
  box-shadow: none;
}

/* ── scopes that redefine the palette with navy values: point them back at the theme ── */
html.ui-clean .goal-cards-scope, html.ui-clean .goal-card-v3,
html.ui-clean .salary-page, html.ui-clean .owner-team-mock {
  --sec:var(--k-sec) !important; --sec2:var(--k-sec2) !important; --panel:var(--k-sec) !important; --text:var(--k-text) !important; --hint:var(--k-hint) !important;
  --blue:var(--k-blue) !important; --green:var(--k-green) !important; --gold:var(--k-gold) !important; --orange:var(--k-orange) !important; --red:var(--k-red) !important;
  --purple:var(--k-blue) !important;
}

/* ── type: big quiet numbers, small uppercase labels ── */
html.ui-clean body { font-feature-settings:"tnum" 1,"cv11" 1; -webkit-font-smoothing:antialiased; }
html.ui-clean .card { padding:16px; margin-bottom:10px; }
html.ui-clean .muted, html.ui-clean .small { color:var(--hint); }

/* ── surfaces that were navy gradients ── */
html.ui-clean .scard,
html.ui-clean .goal-card-v3,
html.ui-clean .team-card,
html.ui-clean .team-goal-history-card,
html.ui-clean .expenses-mock-chart,
html.ui-clean .expenses-chart-card,
html.ui-clean .expenses-pie-card,
html.ui-clean .owner-team-mock .card,
html.ui-clean .owner-team-mock .td2-chart,
html.ui-clean .owner-team-mock .td2-member,
html.ui-clean .journal-header {
  background:var(--sec); border:1px solid var(--line); box-shadow:none; backdrop-filter:none;
}
html.ui-clean .goal-card-v3.agency-goal.agency-goal--hero { background:var(--sec); border:1px solid var(--line); box-shadow:none; }
html.ui-clean .goal-card-v3 .ring span,
html.ui-clean .team-card .ring span,
html.ui-clean .owner-team-mock .ring span { background:var(--sec); }
html.ui-clean .expenses-pie:after { background:var(--sec); }
html.ui-clean .payroll-bulk-footer-sticky { background:linear-gradient(180deg,transparent,var(--bg) 30%); }
html.ui-clean .jf-popover { background:var(--sec); border:1px solid var(--line); box-shadow:0 8px 28px rgba(16,24,40,.18); }
html.ui-clean .scard, html.ui-clean .goal-card-v3, html.ui-clean .team-card { border-radius:var(--r); }

/* ── tabs / chips: flat segmented controls ── */
html.ui-clean .tabs { background:var(--sec-2); border:1px solid var(--line); border-radius:12px; padding:3px; box-shadow:none; }
html.ui-clean .tab { border-radius:9px; font-weight:600; color:var(--hint); }
html.ui-clean .tab.active { background:var(--sec); color:var(--text); box-shadow:0 1px 2px rgba(16,24,40,.12); }
html.ui-clean--dark .tab.active { background:var(--clean-raised); box-shadow:none; }
html.ui-clean .chip { background:transparent; border:1px solid var(--line); color:var(--hint); font-weight:600; }
html.ui-clean .chip.active { background:var(--clean-accent-soft); border-color:transparent; color:var(--green); box-shadow:none; }

/* ── forms ── */
html.ui-clean .field label { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
html.ui-clean .field input, html.ui-clean .field select, html.ui-clean .field textarea,
html.ui-clean input[type=text], html.ui-clean input[type=number], html.ui-clean input[type=search], html.ui-clean textarea, html.ui-clean select {
  background:var(--sec); border:1px solid var(--line); border-radius:12px; color:var(--text);
}
html.ui-clean .field input:focus, html.ui-clean .field select:focus, html.ui-clean textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px var(--clean-accent-soft); }

/* ── small buttons ── */
html.ui-clean .pbtn { background:var(--sec-2); border:1px solid var(--line); color:var(--text); font-weight:600; border-radius:10px; }
html.ui-clean .pbtn.red { color:var(--red); background:transparent; border-color:var(--red); }
html.ui-clean .pbtn.blue { color:var(--blue); background:transparent; border-color:var(--blue); }
html.ui-clean .pbtn.green { color:var(--green); background:var(--clean-accent-soft); border-color:transparent; }

/* ── metric tiles ── */
html.ui-clean .team-card-metrics-grid .team-card-metric { background:var(--sec-2); border-radius:12px; }
html.ui-clean .team-card-metrics-grid span { font-weight:700; letter-spacing:.06em; }
html.ui-clean .team-card-metrics-grid b { font-weight:800; }

/* ── progress ── */
html.ui-clean .btrack, html.ui-clean .mbar, html.ui-clean .goal-v3-progress { background:var(--sec-2); }
html.ui-clean .empty { color:var(--hint); }

/* text colors that were pastel-on-navy: darker equivalents on the light theme (defaults live at the use sites) */
html.ui-clean--light {
  --c-f8fafc:#101828; --c-f1f5f9:#101828; --c-e2e8f0:#344054; --c-cbd5e1:#475467; --c-aebde0:#667085; --c-9fb4d8:#667085;
  --c-dbe6ff:#344054; --c-d6e4ff:#344054;
  --c-bfdbfe:#1d4ed8; --c-93c5fd:#2563eb; --c-dbeafe:#1d4ed8; --c-b9d7ff:#1d4ed8;
  --c-fca5a5:#c0262b; --c-fda4af:#c0262b; --c-fecaca:#c0262b;
  --c-86efac:#0b7a54; --c-22c55e:#0b8f63;
  --c-fbbf24:#b45309; --c-fde68a:#92400e; --c-fef08a:#854d0e; --c-ffd28a:#92400e;
  --c-fb923c:#c2410c; --c-fdba74:#c2410c; --c-fff7ed:#9a3412;
  --c-38bdf8:#0284c7; --c-c4b5fd:#6d28d9;
  --c-60a5fa:#2563eb; --c-f59e0b:#b45309; --c-7dd3fc:#0369a1; --c-f87171:#c0262b; --c-4ade80:#0b7a54; --c-ff8080:#c0262b;
}

/* no glows: cards are flat surfaces */
html.ui-clean .card, html.ui-clean .opcard, html.ui-clean .scard, html.ui-clean .goal-card-v3, html.ui-clean .team-card {
  background-image:none;
}
html.ui-clean .card::before, html.ui-clean .card::after,
html.ui-clean .goal-card-v3::before, html.ui-clean .goal-card-v3::after,
html.ui-clean .team-card::before, html.ui-clean .team-card::after { display:none; }
html.ui-clean .tab.active { background-image:none; }
html.ui-clean .chip.active { background-image:none; }

/* period switch: same flat segmented control as .tabs */
html.ui-clean .agency-goal-period-switch { background:var(--sec-2); border:1px solid var(--line); border-radius:12px; padding:3px; opacity:1; }
html.ui-clean .agency-goal-period-btn { color:var(--hint); border-radius:9px; font-size:12px; font-weight:600; }
html.ui-clean .agency-goal-period-btn:before, html.ui-clean .agency-goal-period-btn i { display:none; }
html.ui-clean .agency-goal-period-btn.is-active { background:var(--sec); color:var(--text); box-shadow:0 1px 2px rgba(16,24,40,.14); }
html.ui-clean--dark .agency-goal-period-btn.is-active { background:var(--clean-raised); box-shadow:none; }

/* dashboard surfaces */
html.ui-clean .snap-card, html.ui-clean .radar-card, html.ui-clean .money-total, html.ui-clean .radar-expand {
  background:var(--sec); border:1px solid var(--line); box-shadow:none;
}
html.ui-clean .health-panel, html.ui-clean .health-panel--risk, html.ui-clean .forecast-block {
  background:var(--sec); border:1px solid var(--line); box-shadow:none;
}
html.ui-clean .health-panel::before, html.ui-clean .health-panel::after { display:none; }

/* white-alpha tokens flip to dark ink on the light theme, so every fill, border and tint adapts */
html.ui-clean--light {
  --wa-15:rgba(16,24,40,.015);
  --wa-20:rgba(16,24,40,.02);
  --wa-25:rgba(16,24,40,.025);
  --wa-30:rgba(16,24,40,.03);
  --wa-35:rgba(16,24,40,.035);
  --wa-40:rgba(16,24,40,.04);
  --wa-45:rgba(16,24,40,.045);
  --wa-50:rgba(16,24,40,.05);
  --wa-55:rgba(16,24,40,.055);
  --wa-60:rgba(16,24,40,.06);
  --wa-70:rgba(16,24,40,.07);
  --wa-75:rgba(16,24,40,.075);
  --wa-80:rgba(16,24,40,.08);
  --wa-90:rgba(16,24,40,.09);
  --wa-100:rgba(16,24,40,.1);
  --wa-120:rgba(16,24,40,.12);
  --wa-130:rgba(16,24,40,.13);
  --wa-140:rgba(16,24,40,.14);
  --wa-150:rgba(16,24,40,.15);
  --wa-160:rgba(16,24,40,.16);
  --wa-170:rgba(16,24,40,.17);
  --wa-180:rgba(16,24,40,.18);
  --wa-200:rgba(16,24,40,.2);
  --wa-220:rgba(16,24,40,.22);
  --wa-240:rgba(16,24,40,.24);
  --wa-250:rgba(16,24,40,.25);
  --wa-280:rgba(16,24,40,.28);
  --wa-300:rgba(16,24,40,.3);
  --wa-450:rgba(16,24,40,.45);
  --wa-550:rgba(16,24,40,.55);
  --wa-580:rgba(16,24,40,.58);
  --wa-650:rgba(16,24,40,.65);
  --wa-720:rgba(16,24,40,.72);
  --wa-820:rgba(16,24,40,.82);
  --wa-850:rgba(16,24,40,.85);
  --wa-880:rgba(16,24,40,.88);
  --wa-920:rgba(16,24,40,.92);
}

/* ══ Team card (Агентство): number first, thin progress bar, quiet metrics row ══ */
html.ui-clean .team-card { padding:16px; margin-bottom:10px; border-radius:var(--r); }
html.ui-clean .team-card-head { display:grid; grid-template-columns:40px 1fr auto; column-gap:12px; row-gap:2px; align-items:center; margin-bottom:14px; }
html.ui-clean .team-card-head-avatar { grid-row:1 / span 2; }
html.ui-clean .team-card-head-title { grid-column:2; min-width:0; }
html.ui-clean .team-card-head-sub { grid-column:2; grid-row:2; font-size:12px; color:var(--hint); }
html.ui-clean .team-card-head-meta { grid-column:3; grid-row:1 / span 2; }
html.ui-clean .team-card .team-name { font-size:15px; font-weight:700; letter-spacing:-.01em; color:var(--text) !important; }
html.ui-clean .team-card-online { display:flex; flex-direction:column; align-items:flex-end; gap:1px; }
html.ui-clean .team-card-online-label { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint); }
html.ui-clean .team-card-online-val { font-size:15px; font-weight:800; }
html.ui-clean .team-card-online-total { color:var(--hint); font-weight:600; }

html.ui-clean .team-card-goal-row { display:block; }
html.ui-clean .team-card-goal-stats { display:block; }
html.ui-clean .team-card-goal-amounts { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; }
html.ui-clean .team-card-goal-divider { display:none; }
html.ui-clean .team-card-goal-ring { display:none; }
html.ui-clean .team-card .goal-v3-label { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint); margin-bottom:2px; }
html.ui-clean .team-card-goal-earned-amount { font-size:30px; line-height:1.05; font-weight:800; letter-spacing:-.025em; }
html.ui-clean .team-card-goal-amounts > div:last-child { text-align:right; }
html.ui-clean .team-card-goal-target { font-size:16px; font-weight:700; }
html.ui-clean .team-card-goal-target span { color:var(--hint) !important; }
html.ui-clean .team-card-goal-row::after {
  content:""; display:block; height:6px; border-radius:999px; margin-top:12px;
  background:linear-gradient(90deg,var(--green) calc(var(--pct,0)*1%),var(--sec-2) 0);
}
html.ui-clean .team-card-goal-remaining-text { display:flex; justify-content:space-between; gap:8px; margin-top:8px; font-size:12px; color:var(--hint); }
html.ui-clean .team-card-goal-remaining-text .team-goal-days-left { color:var(--hint) !important; }
html.ui-clean .team-card-goal-remaining-text .team-goal-remaining-amount { color:var(--text) !important; font-weight:600; }

html.ui-clean .team-card-metrics-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:auto; gap:0; margin:14px 0 0; padding-top:12px; border-top:1px solid var(--line); }
html.ui-clean .team-card-metrics-grid .team-card-metric { background:transparent; border-radius:0; min-height:0; padding:0 10px; border:0; border-left:1px solid var(--line); }
html.ui-clean .team-card-metrics-grid .team-card-metric:first-child { padding-left:0; border-left:0; }
html.ui-clean .team-card-metrics-grid span { font-size:10px; letter-spacing:.08em; }
html.ui-clean .team-card-metrics-grid b { font-size:14px; font-weight:700; margin-top:2px; }

html.ui-clean .team-card-bottom { margin-top:12px; padding-top:10px; border-top:1px solid var(--line); }
html.ui-clean .team-card-bottom-btn { width:100%; display:flex; justify-content:space-between; align-items:center; background:transparent !important; border:0 !important; box-shadow:none !important; padding:2px 0 !important; color:var(--text) !important; font-size:13px; font-weight:600; }
html.ui-clean .team-card-bottom-btn::after { content:"›"; color:var(--hint); font-size:18px; line-height:1; margin-left:8px; }
html.ui-clean .team-operators-sheet-trigger-meta { margin-left:auto; color:var(--hint) !important; font-weight:600; }

/* ══ Agency hero card ══ */
html.ui-clean .agency-goal--hero { padding:16px; }
html.ui-clean .agency-goal-hero-head { margin-bottom:16px; }
html.ui-clean .agency-goal--hero .team-name { font-size:16px; font-weight:700; color:var(--text) !important; }
html.ui-clean .agency-goal--hero .agency-goal-hero-head .small:last-child { display:none; }
html.ui-clean .agency-goal-stats { display:flex; align-items:flex-end; }
html.ui-clean .agency-goal-stats > .ring { display:none; }
html.ui-clean .agency-goal-stats, html.ui-clean .agency-goal-amounts { width:100% !important; display:flex !important; justify-content:space-between !important; align-items:flex-end; gap:12px; }
html.ui-clean .agency-goal-divider { display:none; }
html.ui-clean .agency-goal--hero .goal-v3-label { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint); margin-bottom:2px; }
html.ui-clean .agency-goal-earned { font-size:40px !important; line-height:1 !important; font-weight:800; letter-spacing:-.03em; }
html.ui-clean .agency-goal-amounts > div:last-child { text-align:right; }
html.ui-clean .agency-goal-amounts > div { flex:0 0 auto; min-width:0; }
html.ui-clean .agency-goal-target { font-size:18px !important; font-weight:700; width:auto; max-width:none; overflow:visible; }
html.ui-clean .agency-goal-target span { color:var(--hint) !important; }
html.ui-clean .agency-goal--hero .goal-v3-progress-wrap { margin-top:14px; }
html.ui-clean .agency-goal--hero .goal-v3-progress { height:8px; background:var(--sec-2); }
html.ui-clean .agency-goal--hero .goal-v3-progress > div { background:var(--green) !important; background-image:none !important; box-shadow:none !important; }
html.ui-clean .agency-goal--hero .goal-v3-progress-labels { flex-direction:row-reverse; margin-top:8px; font-size:12px; color:var(--hint); }
html.ui-clean .agency-goal--hero .goal-v3-earned { display:none; }
html.ui-clean .agency-goal--hero .goal-v3-left { width:100%; display:flex; justify-content:space-between; color:var(--hint) !important; }
html.ui-clean .agency-goal--hero .goal-days-left-inline { color:var(--hint) !important; }
html.ui-clean .agency-goal--hero .goal-v3-meta { display:flex; justify-content:space-between; align-items:center; margin-top:8px; font-size:12px; color:var(--hint); }
html.ui-clean .agency-goal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
html.ui-clean .agency-goal-grid > div { background:transparent !important; border:0 !important; border-radius:0; padding:0 10px; border-left:1px solid var(--line) !important; }
html.ui-clean .agency-goal-grid > div:first-child { padding-left:0; border-left:0 !important; }
html.ui-clean .agency-goal-grid span { display:block; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint); }
html.ui-clean .agency-goal-grid b { display:block; font-size:15px; font-weight:700; margin-top:2px; }

/* ══ Dashboard ══ */
html.ui-clean #page-dashboard .od-dashboard-periods { display:flex; gap:2px; padding:3px; margin:0 0 14px; background:var(--sec-2); border:1px solid var(--line); border-radius:12px; overflow-x:auto; }
html.ui-clean #page-dashboard .od-dashboard-periods button { flex:1 0 auto; border:0 !important; background:transparent !important; box-shadow:none !important; color:var(--hint) !important; font-size:12px !important; font-weight:600; padding:8px 10px; border-radius:9px; }
html.ui-clean #page-dashboard .od-dashboard-periods button.active { background:var(--sec) !important; color:var(--text) !important; box-shadow:0 1px 2px rgba(16,24,40,.14) !important; }
html.ui-clean--dark #page-dashboard .od-dashboard-periods button.active { background:var(--clean-raised) !important; box-shadow:none !important; }

html.ui-clean #page-dashboard .snapshot-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:10px; }
html.ui-clean #page-dashboard .snapshot-grid .snap-card { padding:14px; border-radius:var(--r); text-align:left; display:flex; flex-direction:column; gap:2px; min-width:0; }
html.ui-clean #page-dashboard .snap-icon { display:none !important; }
html.ui-clean #page-dashboard .snap-label { font-size:10px !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-dashboard .snap-value { font-size:26px !important; line-height:1.1; font-weight:800; letter-spacing:-.02em; }
html.ui-clean #page-dashboard .snapshot-grid .snap-card:first-child { grid-column:1 / -1; padding:18px 16px; }
html.ui-clean #page-dashboard .snapshot-grid .snap-card:first-child .snap-value { font-size:42px !important; letter-spacing:-.03em; }
html.ui-clean #page-dashboard .snap-sub { font-size:12px !important; color:var(--hint); display:flex; align-items:center; gap:6px; }

html.ui-clean #page-dashboard .health-panel { padding:16px; border-radius:var(--r); }
html.ui-clean #page-dashboard .health-toggle { display:flex; align-items:center; gap:14px; }
html.ui-clean #page-dashboard .health-score { width:auto !important; height:auto !important; background:none !important; display:flex; align-items:baseline; gap:2px; padding:0; border-radius:0; }
html.ui-clean #page-dashboard .health-score::before, html.ui-clean #page-dashboard .health-score::after { display:none !important; }
html.ui-clean #page-dashboard .health-score b { font-size:40px !important; line-height:1; font-weight:800; letter-spacing:-.03em; color:var(--text); }
html.ui-clean #page-dashboard .health-score small { font-size:13px !important; color:var(--hint); }
html.ui-clean #page-dashboard .health-toggle-copy strong { font-size:15px !important; font-weight:700; color:var(--text) !important; display:block; margin-bottom:4px; }
html.ui-clean #page-dashboard .health-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:16px; padding-top:12px; border-top:1px solid var(--line); }
html.ui-clean #page-dashboard .health-metric { background:transparent !important; border:0 !important; border-left:1px solid var(--line) !important; border-radius:0 !important; padding:0 10px !important; box-shadow:none !important; text-align:left; }
html.ui-clean #page-dashboard .health-metric:first-child { padding-left:0 !important; border-left:0 !important; }
html.ui-clean #page-dashboard .health-metric em { font-style:normal; font-size:10px !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint) !important; display:block; }
html.ui-clean #page-dashboard .health-metric b { font-size:18px !important; font-weight:800; display:block; margin:2px 0 6px; color:var(--text) !important; }
html.ui-clean #page-dashboard .health-bar { height:4px; border-radius:999px; background:var(--sec-2); overflow:hidden; }
html.ui-clean #page-dashboard .health-flag { margin-top:14px; border-radius:10px; font-size:12px !important; font-weight:600; }

html.ui-clean #page-dashboard .radar-card { padding:14px; border-radius:var(--r); }
html.ui-clean #page-dashboard .money-total { padding:14px 16px; border-radius:var(--r); }

html.ui-clean #page-dashboard .snap-value, html.ui-clean #page-dashboard .health-score b, html.ui-clean #page-dashboard .health-metric b, html.ui-clean #page-dashboard .radar-card b { font-family:inherit !important; font-variant-numeric:tabular-nums; }
html.ui-clean #page-dashboard .snap-card, html.ui-clean #page-dashboard .health-panel, html.ui-clean #page-dashboard .radar-card, html.ui-clean #page-dashboard .money-total { background:var(--sec) !important; background-image:none !important; border:1px solid var(--line) !important; box-shadow:none !important; }
html.ui-clean #page-dashboard .snap-card::before, html.ui-clean #page-dashboard .snap-card::after, html.ui-clean #page-dashboard .health-panel::before, html.ui-clean #page-dashboard .health-panel::after, html.ui-clean #page-dashboard .radar-card::before, html.ui-clean #page-dashboard .radar-card::after { display:none !important; }

/* ══ Finance / payroll ══ */
html.ui-clean #page-salary .salary-page-header { padding:16px !important; border-radius:var(--r); background:var(--sec) !important; background-image:none !important; border:1px solid var(--line) !important; box-shadow:none !important; margin-bottom:12px; }
html.ui-clean #page-salary .salary-page-title { font-size:13px !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint) !important; margin-bottom:10px; }
html.ui-clean #page-salary .salary-header-metrics { display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px 0 !important; }
html.ui-clean #page-salary .salary-header-metric-pill { background:transparent !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; padding:0 !important; display:flex; flex-direction:column; gap:2px; text-align:left; }
html.ui-clean #page-salary .salary-header-metric-pill span { font-size:10px !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-salary .salary-header-metric-pill b { font-size:22px !important; font-weight:800; letter-spacing:-.02em; }
html.ui-clean #page-salary .finance-summary-total { order:-1; grid-column:1 / -1; padding-bottom:12px !important; border-bottom:1px solid var(--line) !important; }
html.ui-clean #page-salary .finance-summary-total b { font-size:40px !important; letter-spacing:-.03em; color:var(--text) !important; }
html.ui-clean #page-salary .finance-summary-payroll { padding-left:14px !important; border-left:1px solid var(--line) !important; }

html.ui-clean #page-salary .salary-period-summary { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; margin-bottom:12px; }
html.ui-clean #page-salary .salary-period-summary-card { background:var(--sec) !important; background-image:none !important; border:1px solid var(--line) !important; box-shadow:none !important; border-radius:var(--r) !important; padding:12px 14px !important; display:flex; flex-direction:column; gap:2px; text-align:left; }
html.ui-clean #page-salary .salary-period-summary-card b { font-size:10px !important; letter-spacing:.08em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-salary .salary-period-summary-card em { font-style:normal; font-size:20px !important; font-weight:800; letter-spacing:-.02em; color:var(--green) !important; }
html.ui-clean #page-salary .salary-period-summary-card strong { font-size:12px !important; font-weight:600; color:var(--red) !important; }
html.ui-clean #page-salary .salary-period-summary-payroll { background:var(--sec) !important; background-image:none !important; border:1px solid var(--line) !important; box-shadow:none !important; border-radius:var(--r) !important; color:var(--text) !important; font-weight:700; padding:0 16px; }

html.ui-clean #page-salary .salary-list { background:var(--sec); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
html.ui-clean #page-salary .salary-row-card { background:transparent !important; background-image:none !important; border:0 !important; border-bottom:1px solid var(--line) !important; border-radius:0 !important; box-shadow:none !important; margin:0 !important; padding:10px 14px !important; }
html.ui-clean #page-salary .salary-row-card:last-child { border-bottom:0 !important; }
html.ui-clean #page-salary .salary-row-main { display:grid !important; grid-template-columns:34px 1fr auto auto 14px !important; gap:12px !important; align-items:center; }
html.ui-clean #page-salary .salary-row-main .ava { width:34px; height:34px; border-radius:50% !important; display:grid; place-items:center; font-size:14px; font-weight:700; }
html.ui-clean #page-salary .salary-row-person b { font-size:14px; font-weight:700; }
html.ui-clean #page-salary .salary-row-person span { font-size:11px; color:var(--hint) !important; }
html.ui-clean #page-salary .salary-row-income small, html.ui-clean #page-salary .salary-row-payout small { display:block; font-size:9px !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-salary .salary-row-income strong, html.ui-clean #page-salary .salary-row-payout strong { font-size:15px !important; font-weight:800; }
html.ui-clean #page-salary .salary-row-income strong { color:var(--green) !important; }
html.ui-clean #page-salary .salary-row-payout strong { color:var(--red) !important; }
html.ui-clean #page-salary .salary-row-chevron { color:var(--hint) !important; }
html.ui-clean #page-salary .salary-row-breakdown span { background:transparent !important; border:0 !important; }

/* ══ Analytics ══ */
html.ui-clean #page-analytics .analytics-global-periods { display:flex; align-items:center; gap:6px; margin-bottom:12px; }
html.ui-clean #page-analytics .analytics-global-periods .tab { flex:1; background:var(--sec-2) !important; border:1px solid var(--line) !important; border-radius:10px !important; box-shadow:none !important; color:var(--hint) !important; font-weight:600; padding:9px 4px; }
html.ui-clean #page-analytics .analytics-global-periods .tab.active { background:var(--sec) !important; color:var(--text) !important; box-shadow:0 1px 2px rgba(16,24,40,.14) !important; }
html.ui-clean #page-analytics .analytics-period-arrow, html.ui-clean #page-analytics .analytics-square-action { width:36px; height:36px; flex:0 0 36px; background:transparent !important; border:1px solid var(--line) !important; border-radius:10px !important; box-shadow:none !important; color:var(--text) !important; }
html.ui-clean #page-analytics .analytics-revenue-summary { background:var(--sec) !important; background-image:none !important; border:1px solid var(--line) !important; border-radius:var(--r) !important; box-shadow:none !important; padding:18px 16px !important; margin-bottom:12px; }
html.ui-clean #page-analytics .analytics-revenue-summary-head { display:block !important; }
html.ui-clean #page-analytics .analytics-summary-label { font-size:10px !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint) !important; margin-bottom:4px; }
html.ui-clean #page-analytics .analytics-summary-total { font-size:44px !important; line-height:1; font-weight:800; letter-spacing:-.03em; color:var(--text) !important; font-family:inherit !important; }
html.ui-clean #page-analytics .analytics-summary-forecast { margin-top:8px; font-size:12px !important; color:var(--hint) !important; text-align:left !important; }
html.ui-clean #page-analytics .analytics-summary-forecast b { color:var(--text) !important; }
html.ui-clean #page-analytics .analytics-summary-forecast span { display:inline !important; color:var(--hint) !important; }
html.ui-clean #page-analytics .analytics-day-metrics { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:0 !important; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
html.ui-clean #page-analytics .analytics-day-metric { background:transparent !important; border:0 !important; border-left:1px solid var(--line) !important; border-radius:0 !important; box-shadow:none !important; padding:0 10px !important; display:flex; flex-direction:column; gap:2px; }
html.ui-clean #page-analytics .analytics-day-metric:first-child { padding-left:0 !important; border-left:0 !important; }
html.ui-clean #page-analytics .analytics-day-metric span { font-size:10px !important; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-analytics .analytics-day-metric b { font-size:20px !important; font-weight:800; letter-spacing:-.02em; font-family:inherit !important; }
html.ui-clean #page-analytics .analytics-day-metric small { font-size:11px; color:var(--hint) !important; }
html.ui-clean #page-analytics .analytics-day-metric button { align-self:flex-start; background:transparent !important; border:0 !important; box-shadow:none !important; padding:2px 0 !important; color:var(--green) !important; font-size:12px; font-weight:600; }
html.ui-clean #page-analytics .expenses-chart-card { padding:14px !important; border-radius:var(--r) !important; }
html.ui-clean #page-analytics .expenses-chart-head span { font-size:10px !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint) !important; }

html.ui-clean--light .model-payroll-breakdown b { color:var(--hint) !important; }
html.ui-clean .ava { text-shadow:0 1px 1px rgba(0,0,0,.22); }

/* primary and back buttons follow the theme */
html.ui-clean .ds-primary-button, html.ui-clean .btn.primary, html.ui-clean .btn-primary { background:var(--btn) !important; background-image:none !important; color:var(--btntxt) !important; border:0 !important; box-shadow:none !important; }
html.ui-clean .backbtn { color:var(--text) !important; background:transparent; }
html.ui-clean--dark .ds-primary-button *, html.ui-clean--dark .btn.primary * { color:inherit; }

/* ══ Management (Управление): lists instead of tinted tiles ══ */
html.ui-clean #page-project > div[style*="grid-template-columns:1fr 1fr;gap:7px"] .tab { background:var(--sec-2) !important; border:1px solid var(--line) !important; color:var(--hint) !important; box-shadow:none !important; border-radius:10px !important; font-weight:600; }
html.ui-clean #page-project > div[style*="grid-template-columns:1fr 1fr;gap:7px"] .tab.active { background:var(--sec) !important; color:var(--text) !important; box-shadow:0 1px 2px rgba(16,24,40,.14) !important; }

html.ui-clean #page-project > div[style*="repeat(2,minmax(0,1fr))"] { display:block !important; background:var(--sec); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
html.ui-clean #page-project > div[style*="repeat(2,minmax(0,1fr))"] > div { background:transparent !important; border-radius:0 !important; border-bottom:1px solid var(--line); margin:0 !important; padding:12px 14px !important; display:grid; grid-template-columns:1fr auto; column-gap:10px; align-items:center; }
html.ui-clean #page-project > div[style*="repeat(2,minmax(0,1fr))"] > div:last-child { border-bottom:0; }
html.ui-clean #page-project > div[style*="repeat(2,minmax(0,1fr))"] > div > div:first-child { margin-bottom:0 !important; min-height:0 !important; }
html.ui-clean #page-project > div[style*="repeat(2,minmax(0,1fr))"] > div > div:nth-child(2) { grid-column:1 / -1; grid-row:2; display:flex !important; gap:20px !important; margin:8px 0 0 !important; }
html.ui-clean #page-project > div[style*="repeat(2,minmax(0,1fr))"] > div > div:nth-child(2) > div { background:transparent !important; padding:0 !important; min-height:0 !important; border-radius:0 !important; }
html.ui-clean #page-project > div[style*="repeat(2,minmax(0,1fr))"] > button { display:none; }
html.ui-clean #page-project > div[style*="repeat(2,minmax(0,1fr))"] > div > button { grid-column:2; grid-row:1; width:auto !important; height:auto !important; background:transparent !important; border:0 !important; color:var(--green) !important; font-size:12px !important; font-weight:600 !important; padding:4px 0 4px 8px !important; }
html.ui-clean #page-project > div[style*="repeat(2,minmax(0,1fr))"] > div > button::after { content:"›"; margin-left:4px; color:var(--hint); font-size:16px; }
html.ui-clean #page-project > div[style*="repeat(2,minmax(0,1fr))"] > div > div:first-child .pbtn { background:transparent; }

html.ui-clean #page-project button[style*="rgba(245,158,11,.16)"], html.ui-clean #page-project button[style*="rgba(74,222,128,.12)"] { background:var(--sec) !important; border:1px solid var(--line) !important; color:var(--text) !important; font-weight:600 !important; }
html.ui-clean #page-project button[style*="rgba(37,99,235,.12)"][style*="width:100%"] { background:var(--sec) !important; border:1px solid var(--line) !important; color:var(--text) !important; font-weight:600 !important; }

html.ui-clean #page-project div[style*="rgba(245,158,11,.13)"] { background:var(--sec) !important; background-image:none !important; border:1px solid var(--line) !important; border-left:3px solid var(--orange) !important; border-radius:12px !important; }
html.ui-clean #page-project span[style*="rgba(37,99,235,.14)"], html.ui-clean #page-project span[style*="rgba(37,99,235,.12)"] { background:var(--sec-2) !important; border:0 !important; color:var(--text) !important; }

html.ui-clean #page-analytics .analytics-global-periods { gap:4px !important; }
html.ui-clean #page-analytics .analytics-global-periods .tab { min-width:0 !important; padding:9px 2px; font-size:12px; }
html.ui-clean #page-analytics .analytics-period-arrow, html.ui-clean #page-analytics .analytics-square-action { width:32px !important; min-width:32px !important; height:32px !important; flex:0 0 32px !important; padding:0 !important; }

/* ══════════════════════════════════════════════════════════════
   "Pulse" components: hero, team card, topbar, dock, motion
   (markup comes from core/cleanUi.js)
   ══════════════════════════════════════════════════════════════ */
html.ui-clean--light { --cx-hero:linear-gradient(140deg,#0a8a60 0%,#10b283 58%,#43d9b0 100%); --cx-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 28px -8px rgba(16,24,40,.10); --cx-dock:0 14px 36px -10px rgba(16,24,40,.28); --cx-hero-glow:0 22px 44px -18px rgba(10,138,96,.6); }
html.ui-clean--dark  { --cx-hero:linear-gradient(140deg,#0b3427 0%,#0e5f43 58%,#15a075 100%); --cx-shadow:none; --cx-dock:0 14px 36px -10px rgba(0,0,0,.7); --cx-hero-glow:0 22px 44px -20px rgba(21,160,117,.45); }

@keyframes cxUp { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes cxGrow { from { transform:scaleX(0); } to { transform:scaleX(var(--p,1)); } }
@keyframes cxRing { from { stroke-dashoffset:var(--c); } }
@keyframes cxFloat { 0%,100% { transform:translate3d(0,0,0); } 50% { transform:translate3d(10px,-12px,0); } }
@keyframes cxPop { from { opacity:0; transform:scale(.6); } to { opacity:1; transform:none; } }
html.ui-clean .cx-in { animation:cxUp .55s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(var(--i,0) * 55ms); }
@media (prefers-reduced-motion: reduce) { html.ui-clean .cx-in, html.ui-clean .cx-bar i, html.ui-clean .cx-ring-fg, html.ui-clean .cx-hero-art i { animation:none !important; } }

/* ring + bar primitives */
html.ui-clean .cx-ring { transform:rotate(-90deg); display:block; }
html.ui-clean .cx-ring circle { fill:none; stroke-width:4.4; }
html.ui-clean .cx-ring-bg { stroke:var(--sec-2); }
html.ui-clean .cx-ring-fg { stroke:var(--team-color,var(--green)); stroke-linecap:round; stroke-dasharray:var(--c); stroke-dashoffset:calc(var(--c) * (1 - var(--p,0))); animation:cxRing 1.1s cubic-bezier(.2,.8,.2,1) .15s both; }
html.ui-clean .cx-bar { height:7px; border-radius:999px; background:var(--sec-2); overflow:hidden; margin:12px 0 8px; }
html.ui-clean .cx-bar i { display:block; height:100%; width:100%; border-radius:inherit; transform-origin:left center; transform:scaleX(var(--p,0)); background:var(--team-color,var(--green)); animation:cxGrow 1s cubic-bezier(.2,.8,.2,1) .2s both; }

/* topbar */
html.ui-clean .cx-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:4px 2px 16px; }
html.ui-clean .cx-brand { display:flex; align-items:center; gap:12px; min-width:0; }
html.ui-clean .cx-brand-av { width:50px; height:50px; flex:0 0 50px; border-radius:17px; overflow:hidden; background:var(--sec); border:1px solid var(--line); display:grid; place-items:center; }
html.ui-clean .cx-brand-av .avatar, html.ui-clean .cx-brand-av img { width:100% !important; height:100% !important; border-radius:0 !important; object-fit:cover; }
html.ui-clean .cx-brand-txt { min-width:0; }
html.ui-clean .cx-brand-name { font-size:21px; font-weight:800; letter-spacing:-.02em; line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--text); }
html.ui-clean .cx-brand-date { margin-top:3px; font-size:12px; color:var(--hint); text-transform:capitalize; }
html.ui-clean .cx-top-right { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
html.ui-clean .cx-role { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:7px 12px; border-radius:999px; background:var(--sec); border:1px solid var(--line); color:var(--hint); }
html.ui-clean .cx-role--owner { background:var(--clean-accent-soft); border-color:transparent; color:var(--green); }
html.ui-clean .cx-icon-btn { width:36px; height:36px; border-radius:12px; border:1px solid var(--line); background:var(--sec); color:var(--hint); display:grid; place-items:center; padding:0; transition:transform .15s; }
html.ui-clean .cx-icon-btn svg { width:18px; height:18px; }
html.ui-clean .cx-icon-btn:active { transform:scale(.92); }

/* hero */
html.ui-clean .cx-hero { position:relative; overflow:hidden; border-radius:30px; padding:18px 18px 16px; margin-bottom:16px; background:var(--cx-hero) !important; background-image:var(--cx-hero) !important; color:#fff !important; border:0 !important; box-shadow:var(--cx-hero-glow) !important; }
html.ui-clean .cx-hero * { color:inherit; }
html.ui-clean .cx-hero span, html.ui-clean .cx-hero b, html.ui-clean .cx-hero small { color:inherit !important; }
html.ui-clean .cx-hero-art { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
html.ui-clean .cx-hero-art i { position:absolute; border-radius:50%; background:rgba(255,255,255,.09); animation:cxFloat 9s ease-in-out infinite; }
html.ui-clean .cx-hero-art i:nth-child(1) { width:230px; height:230px; right:-70px; top:-90px; }
html.ui-clean .cx-hero-art i:nth-child(2) { width:150px; height:150px; left:-50px; bottom:30px; animation-delay:-3s; background:rgba(255,255,255,.06); }
html.ui-clean .cx-hero-art i:nth-child(3) { width:70px; height:70px; right:38%; bottom:-24px; animation-delay:-6s; }
html.ui-clean .cx-hero > *:not(.cx-hero-art) { position:relative; }
html.ui-clean .cx-hero-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
html.ui-clean .cx-hero-id { display:flex; align-items:center; gap:11px; min-width:0; }
html.ui-clean .cx-hero-id .avatar { width:42px !important; height:42px !important; border-radius:14px !important; overflow:hidden; border:2px solid rgba(255,255,255,.35) !important; flex:0 0 42px; }
html.ui-clean .cx-hero-id b { display:block; font-size:16px; font-weight:800; letter-spacing:-.01em; }
html.ui-clean .cx-hero-id small { display:block; margin-top:2px; font-size:12px; opacity:.8; }
html.ui-clean .cx-hero-actions { display:flex; gap:6px; }
html.ui-clean .cx-hero-actions .ui-chip-btn { background:rgba(255,255,255,.18) !important; border:0 !important; color:#fff !important; box-shadow:none !important; border-radius:999px !important; font-weight:700; }
html.ui-clean .cx-seg { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:3px !important; padding:3px !important; margin:0 0 18px !important; border-radius:16px !important; background:rgba(0,0,0,.2) !important; border:0 !important; opacity:1 !important; }
html.ui-clean .cx-seg .agency-goal-period-btn { height:34px; border-radius:13px; color:rgba(255,255,255,.78) !important; background:transparent !important; box-shadow:none !important; font-size:13px; font-weight:700; transition:background .25s,color .25s,transform .2s; }
html.ui-clean .cx-seg .agency-goal-period-btn.is-active { background:#fff !important; color:#0a6b4c !important; box-shadow:0 4px 12px rgba(0,0,0,.18) !important; }
html.ui-clean .cx-seg .agency-goal-period-btn:active { transform:scale(.96); }
html.ui-clean .cx-seg .agency-goal-period-btn::before, html.ui-clean .cx-seg .agency-goal-period-btn i { display:none !important; }
html.ui-clean .cx-hero-main { display:flex; align-items:center; justify-content:space-between; gap:12px; }
html.ui-clean .cx-hero-figures small { display:block; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; opacity:.78; margin-bottom:4px; }
html.ui-clean .cx-big { font-size:48px; line-height:1; font-weight:800; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
html.ui-clean .cx-of { margin-top:8px; font-size:14px; opacity:.9; }
html.ui-clean .cx-of b { font-weight:700; }
html.ui-clean .cx-hero-ring { position:relative; width:116px; height:116px; flex:0 0 116px; }
html.ui-clean .cx-hero-ring .cx-ring-bg { stroke:rgba(255,255,255,.22); }
html.ui-clean .cx-hero-ring .cx-ring-fg { stroke:#fff; }
html.ui-clean .cx-hero-ring span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:800; letter-spacing:-.03em; }
html.ui-clean .cx-hero-ring em { font-style:normal; font-size:14px; opacity:.8; margin-left:1px; }
html.ui-clean .cx-hero .cx-bar { background:rgba(255,255,255,.22); margin:18px 0 8px; height:8px; }
html.ui-clean .cx-hero .cx-bar i { background:#fff; }
html.ui-clean .cx-hero-foot { display:flex; justify-content:space-between; gap:8px; font-size:12px; opacity:.92; }
html.ui-clean .cx-chips { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:16px; }
html.ui-clean .cx-chips > div { background:rgba(255,255,255,.15); border-radius:16px; padding:10px 12px; animation:cxPop .5s cubic-bezier(.2,.8,.2,1) both; }
html.ui-clean .cx-chips > div:nth-child(2) { animation-delay:.08s; }
html.ui-clean .cx-chips > div:nth-child(3) { animation-delay:.16s; }
html.ui-clean .cx-chips small { display:block; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; opacity:.78; }
html.ui-clean .cx-chips b { display:block; margin-top:3px; font-size:17px; font-weight:800; letter-spacing:-.02em; }
html.ui-clean .cx-hero-meta { display:flex; align-items:center; justify-content:space-between; margin-top:14px; font-size:12px; opacity:.92; }
html.ui-clean .cx-badge { padding:5px 10px; border-radius:999px; background:rgba(255,255,255,.2); font-weight:700; font-size:11px; }
html.ui-clean .cx-badge--ok { background:#fff; color:#0a6b4c !important; }
html.ui-clean .cx-hero-finish { width:100%; margin-top:14px; height:44px; border-radius:15px; border:0; background:#fff; color:#0a6b4c !important; font-weight:800; font-size:14px; }

/* team card */
html.ui-clean .cx-team { position:relative; overflow:hidden; border-radius:26px !important; padding:16px !important; margin-bottom:12px !important; box-shadow:var(--cx-shadow) !important; transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s; }
html.ui-clean .cx-team.team-card--clickable:active { transform:scale(.985); }
html.ui-clean .cx-team-glow { position:absolute; width:190px; height:190px; left:-60px; top:-70px; border-radius:50%; pointer-events:none; background:radial-gradient(circle,var(--team-color) 0%,transparent 68%); opacity:.17; }
html.ui-clean .cx-team > *:not(.cx-team-glow) { position:relative; }
html.ui-clean .cx-team-top { display:grid; grid-template-columns:46px 1fr 52px; gap:12px; align-items:center; }
html.ui-clean .cx-team-av .avatar { width:46px !important; height:46px !important; border-radius:16px !important; box-shadow:0 0 0 2px color-mix(in srgb,var(--team-color) 55%,transparent); }
html.ui-clean .cx-team-id { min-width:0; }
html.ui-clean .cx-team-id b { display:block; font-size:16px; font-weight:800; letter-spacing:-.01em; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.ui-clean .cx-team-id small { display:block; margin-top:2px; font-size:12px; color:var(--hint); }
html.ui-clean .cx-team-ring { position:relative; width:52px; height:52px; }
html.ui-clean .cx-team-ring span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; color:var(--text); }
html.ui-clean .cx-team-ring em { font-style:normal; font-size:8px; color:var(--hint); margin-left:1px; }
html.ui-clean .cx-team-nums { display:flex; align-items:flex-end; gap:18px; margin-top:16px; }
html.ui-clean .cx-team-nums small, html.ui-clean .cx-team-goal small { display:block; font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--hint); margin-bottom:3px; }
html.ui-clean .cx-team-nums > div:first-child b { font-size:30px; line-height:1; font-weight:800; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
html.ui-clean .cx-team-goal b { font-size:16px; font-weight:700; color:var(--hint); }
html.ui-clean .cx-team-nums .team-card-head-meta { margin-left:auto; }
html.ui-clean .cx-team-foot { display:flex; justify-content:space-between; gap:8px; font-size:12px; color:var(--hint); }
html.ui-clean .cx-team-foot span:last-child { color:var(--text); font-weight:600; }

/* dock navigation */
html.ui-clean .bnav { left:12px !important; right:12px !important; bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important; width:auto !important; max-width:560px; margin:0 auto; transform:none !important; border:1px solid var(--line) !important; border-radius:30px !important; background:var(--sec) !important; box-shadow:var(--cx-dock) !important; padding:6px !important; gap:2px; justify-content:space-between; overflow:visible !important; }
html.ui-clean .ni { flex:1 1 0; flex-direction:row !important; justify-content:center; align-items:center; gap:0 !important; height:48px; padding:0 !important; border-radius:24px; font-size:12px !important; font-weight:700 !important; color:var(--hint) !important; transition:flex-grow .35s cubic-bezier(.2,.8,.2,1), background .25s, color .25s !important; min-width:0; }
html.ui-clean .ni svg { width:22px !important; height:22px !important; flex:0 0 22px; stroke-width:2; }
html.ui-clean .ni > span:last-child { max-width:0; overflow:hidden; opacity:0; white-space:nowrap; margin-left:0; transition:max-width .35s cubic-bezier(.2,.8,.2,1), opacity .25s .05s, margin .35s; }
html.ui-clean .ni.active { flex-grow:2.4; background:var(--clean-accent-soft); color:var(--green) !important; transform:none !important; }
html.ui-clean .ni.active > span:last-child { max-width:92px; opacity:1; margin-left:7px; }
html.ui-clean .ni:active { transform:scale(.94) !important; }
html.ui-clean { --bnav-scroll-pad:calc(112px + env(safe-area-inset-bottom,0px)); --bnav-clearance:calc(90px + env(safe-area-inset-bottom,0px)); }

html.ui-clean .cx-static .cx-ring-fg, html.ui-clean .cx-static .cx-bar i, html.ui-clean .cx-static .cx-chips > div { animation:none !important; }

/* global polish */
html.ui-clean button { transition:transform .15s, background .2s, color .2s, border-color .2s; }
html.ui-clean .sheetbtn:active, html.ui-clean .pbtn:active, html.ui-clean .chip:active, html.ui-clean .tab:active { transform:scale(.96); }

/* ── Pulse, part 2: Agency leftovers (toolbar, card bottom, team page, sheets) ── */
@keyframes cxSheetUp { from { transform:translateY(40px); opacity:0; } to { transform:none; opacity:1; } }
@keyframes cxFade { from { opacity:0; } to { opacity:1; } }

/* toolbar */
html.ui-clean .cx-shell .teams-toolbar { margin:24px 2px 12px !important; gap:10px !important; align-items:center !important; }
html.ui-clean .teams-toolbar-title-row { display:flex; align-items:center; gap:10px; }
html.ui-clean .teams-toolbar-title { font-size:23px; font-weight:800; letter-spacing:-.025em; color:var(--text); position:relative; }
html.ui-clean .teams-toolbar-title::after { content:""; display:block; width:24px; height:4px; border-radius:4px; background:var(--green); margin-top:5px; }
html.ui-clean .teams-reorder-toggle { width:34px; height:34px; padding:0; border-radius:12px; border:0 !important; background:var(--sec-2) !important; color:var(--hint) !important; font-size:15px; }
html.ui-clean .teams-reorder-toggle:active { transform:scale(.9); }
html.ui-clean .cx-shell .teams-toolbar-actions { gap:8px !important; }
html.ui-clean .cx-shell .teams-toolbar-actions .ui-chip-btn { height:34px; padding:0 14px; border-radius:999px !important; border:0 !important; font-size:12px; font-weight:700; background:var(--sec-2) !important; color:var(--text) !important; box-shadow:none !important; }
html.ui-clean .cx-shell .teams-toolbar-actions .ui-chip-btn--rose { background:color-mix(in srgb,var(--red) 15%,transparent) !important; color:var(--red) !important; }
html.ui-clean .cx-shell .teams-toolbar-actions .ui-chip-btn--blue { background:linear-gradient(135deg,#12b886,#0a8a60) !important; color:#fff !important; box-shadow:0 8px 18px -8px rgba(10,138,96,.7) !important; }
html.ui-clean .cx-shell .teams-toolbar-actions .ui-chip-btn:active { transform:scale(.94); }

/* section label ("Команды агентства" + badge) */
html.ui-clean .cx-shell .between > .ct { font-size:11px !important; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean .cx-shell .between > .badge { border:0 !important; border-radius:999px; padding:5px 11px; font-size:11px; font-weight:700; background:var(--sec-2) !important; color:var(--hint) !important; }

/* team card: metrics + bottom actions */
html.ui-clean .cx-team .team-card-metrics-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px !important; margin-top:14px; padding:0 !important; border:0 !important; background:none !important; }
html.ui-clean .cx-team .team-card-metric { background:var(--sec-2) !important; border:0 !important; border-radius:16px !important; padding:10px 12px !important; min-width:0; transition:transform .18s, background .2s; }
html.ui-clean .cx-team .team-card-metric span { display:block; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint) !important; margin-bottom:4px; }
html.ui-clean .cx-team .team-card-metric b { font-size:16px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; white-space:nowrap; }
html.ui-clean .cx-team .team-card-metrics-grid { height:auto !important; min-height:0 !important; grid-auto-rows:auto !important; }
html.ui-clean .cx-team .team-card-metric { display:block !important; height:auto !important; min-height:0 !important; max-height:none !important; }
html.ui-clean .cx-team .team-card-metric b { display:block; height:auto !important; line-height:1.2 !important; }
html.ui-clean .cx-team .team-card-metric--clickable:active { transform:scale(.95); }
html.ui-clean .cx-team .team-card-bottom { margin-top:12px !important; padding:0 !important; border:0 !important; }
html.ui-clean .cx-team .team-card-bottom-actions { display:flex !important; align-items:center; gap:8px; }
html.ui-clean .cx-team .team-operators-sheet-trigger { flex:1; min-width:0; height:46px; display:flex; align-items:center; gap:8px; padding:0 14px !important; border:0 !important; border-radius:16px !important; background:var(--sec-2) !important; color:var(--text) !important; font-size:14px; font-weight:700; transition:transform .15s; }
html.ui-clean .cx-team .team-operators-sheet-trigger:active { transform:scale(.97); }
html.ui-clean .cx-team .team-operators-sheet-trigger-meta { margin-left:auto !important; min-width:26px; text-align:center; padding:3px 9px; border-radius:999px; background:var(--clean-accent-soft) !important; color:var(--green) !important; font-weight:800 !important; }
html.ui-clean .cx-team .team-card-bottom-actions .ui-chip-btn { height:46px; padding:0 16px; border-radius:16px !important; background:transparent !important; border:1px solid var(--line) !important; color:var(--text) !important; font-weight:700; }
html.ui-clean .cx-team .team-card-detail-bottom-actions { display:flex; flex-wrap:wrap; gap:8px; width:100%; }
html.ui-clean .cx-team .team-card-detail-bottom-actions .ui-chip-btn { height:36px; padding:0 15px; border-radius:999px !important; border:0 !important; background:var(--sec-2) !important; color:var(--text) !important; font-weight:700; }
html.ui-clean .cx-team .team-card-detail-bottom-actions .ui-chip-btn--rose { background:color-mix(in srgb,var(--red) 15%,transparent) !important; color:var(--red) !important; }
html.ui-clean .cx-team .team-card-detail-bottom-actions .ui-chip-btn.is-muted { opacity:.5; }
html.ui-clean .cx-team--clickable { cursor:pointer; }

/* team page */
html.ui-clean .cx-shell .td2-chart, html.ui-clean .cx-shell > .card { border-radius:24px !important; padding:16px !important; box-shadow:var(--cx-shadow) !important; }
html.ui-clean .cx-shell .td2-section-head { margin:20px 2px 10px !important; }
html.ui-clean .cx-shell .td2-section-title { font-size:12px; font-weight:800; letter-spacing:.14em; color:var(--hint) !important; }
html.ui-clean .cx-shell .amount-sort-toggle { height:32px; padding:0 13px; border-radius:999px !important; border:0 !important; background:var(--sec-2) !important; color:var(--text) !important; font-weight:700; }
html.ui-clean .cx-shell .td2-members { gap:10px !important; }
html.ui-clean .cx-shell .td2-member { border:0 !important; border-radius:22px !important; padding:14px 14px 13px !important; box-shadow:var(--cx-shadow) !important; transition:transform .18s cubic-bezier(.2,.8,.2,1); }
html.ui-clean .cx-shell .td2-member:active { transform:scale(.985); }
html.ui-clean .cx-shell .td2-member::before { width:4px !important; border-radius:0 4px 4px 0; opacity:.9; }
html.ui-clean .cx-shell .td2-member-name { font-size:14px !important; font-weight:700 !important; letter-spacing:-.005em; }
html.ui-clean .cx-shell .td2-member-sub, html.ui-clean .cx-shell .td2-member-pct { font-size:11px !important; color:var(--hint) !important; }
html.ui-clean .cx-shell .td2-member-money { font-size:19px !important; font-weight:800 !important; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
html.ui-clean .cx-shell .td2-member-breakdown { background:var(--sec-2) !important; border-radius:12px !important; padding:8px 10px !important; justify-content:space-between !important; gap:6px 10px !important; font-size:11px !important; }
html.ui-clean .cx-shell .td2-member-breakdown b { font-size:9px !important; color:var(--hint) !important; letter-spacing:.08em !important; }
html.ui-clean .cx-shell .td2-member-progress { height:6px !important; background:var(--sec-2) !important; }
html.ui-clean .cx-shell .td2-member-progress div { background:var(--team-color,var(--green)) !important; transform-origin:left center; animation:cxGrow .9s cubic-bezier(.2,.8,.2,1) .15s both; }

/* sheets */
html.ui-clean .overlay.open { animation:cxFade .2s ease both; }
html.ui-clean .overlay { backdrop-filter:blur(6px); }
html.ui-clean .overlay.open .sheet { animation:cxSheetUp .38s cubic-bezier(.2,.9,.25,1) both; }
html.ui-clean .sheet { border-radius:30px 30px 0 0 !important; padding:26px 18px 26px !important; border-top:0 !important; box-shadow:0 -24px 60px -20px rgba(0,0,0,.45) !important; position:relative; }
html.ui-clean .sheet:not(.fullscreen)::before { content:""; position:absolute; top:9px; left:50%; width:40px; height:4px; margin-left:-20px; border-radius:4px; background:var(--line); }
html.ui-clean .sheet h3 { font-size:20px; font-weight:800; letter-spacing:-.02em; margin-bottom:18px; }
html.ui-clean .field label { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint); }
html.ui-clean .field input, html.ui-clean .field select, html.ui-clean .field textarea { border-radius:16px !important; border:1.5px solid transparent !important; background:var(--sec-2) !important; padding:14px 15px !important; font-size:15px; transition:border-color .2s, box-shadow .2s; }
html.ui-clean .field input:focus, html.ui-clean .field select:focus, html.ui-clean .field textarea:focus { border-color:var(--green) !important; box-shadow:0 0 0 4px var(--clean-accent-soft); }
html.ui-clean .sheetbtn { height:52px; border-radius:18px !important; font-size:15px; font-weight:800; background:linear-gradient(135deg,#12b886,#0a8a60) !important; color:#fff !important; box-shadow:0 12px 24px -10px rgba(10,138,96,.75) !important; transition:transform .15s, box-shadow .2s; }
html.ui-clean .sheetbtn.cancel { background:var(--sec-2) !important; color:var(--text) !important; border:0 !important; box-shadow:none !important; }
html.ui-clean .sheetbtn:active { transform:scale(.97); }

/* ── Pulse, part 3: share strip, subpages (journal), sheet forms, back button ── */
@keyframes cxSeg { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes cxRow { from { opacity:0; transform:translateX(-10px); } to { opacity:1; transform:none; } }

/* share of teams */
html.ui-clean .cx-share { margin:0 0 18px; padding:16px 16px 14px; border-radius:26px; background:var(--sec); box-shadow:var(--cx-shadow); border:1px solid var(--line); }
html.ui-clean .cx-share-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:12px; }
html.ui-clean .cx-share-head b { font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--hint); }
html.ui-clean .cx-share-head span { font-size:15px; font-weight:800; letter-spacing:-.02em; color:var(--text); }
html.ui-clean .cx-share-bar { display:flex; gap:3px; height:14px; border-radius:999px; overflow:hidden; }
html.ui-clean .cx-share-bar i { flex:var(--w) 1 0; min-width:6px; background:var(--c); border-radius:6px; transform-origin:left center; animation:cxSeg .8s cubic-bezier(.2,.8,.2,1) var(--d,0ms) both; }
html.ui-clean .cx-share-bar i:first-child { border-radius:999px 6px 6px 999px; }
html.ui-clean .cx-share-bar i:last-child { border-radius:6px 999px 999px 6px; }
html.ui-clean .cx-share-legend { list-style:none; margin:12px 0 0; padding:0; display:grid; gap:8px; }
html.ui-clean .cx-share-legend li { display:flex; align-items:center; gap:9px; font-size:13px; color:var(--text); min-width:0; }
html.ui-clean .cx-share-legend s { width:10px; height:10px; border-radius:4px; flex:0 0 10px; }
html.ui-clean .cx-share-legend span { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:600; }
html.ui-clean .cx-share-legend b { font-weight:800; font-variant-numeric:tabular-nums; }
html.ui-clean .cx-static .cx-share-bar i { animation:none; }

/* back button */
html.ui-clean .nav-back-fab { width:50px !important; height:50px !important; border:1px solid var(--line) !important; background:var(--sec) !important; color:var(--green) !important; box-shadow:var(--cx-dock) !important; bottom:calc(92px + env(safe-area-inset-bottom,0px)) !important; transition:transform .18s cubic-bezier(.2,.8,.2,1) !important; }
html.ui-clean .nav-back-fab:active { transform:scale(.88) !important; }

/* journal subpages (online, free operators, archive, history, day) */
html.ui-clean .journal-shell { gap:12px; }
html.ui-clean .journal-header { background:var(--sec) !important; border:1px solid var(--line) !important; border-radius:26px !important; padding:18px 18px 16px !important; margin-bottom:0 !important; box-shadow:var(--cx-shadow); }
html.ui-clean .journal-header > div:first-child { font-size:21px !important; font-weight:800 !important; letter-spacing:-.025em; line-height:1.15; color:var(--text); }
html.ui-clean .journal-header > div:first-child > div { font-size:21px !important; font-weight:800 !important; letter-spacing:-.025em !important; }
html.ui-clean .journal-header div[style*="color:var(--hint)"] { font-size:12px !important; line-height:1.4; }
html.ui-clean .journal-header button[style*="cursor:pointer"] { height:38px; border-radius:999px !important; border:0 !important; background:var(--sec-2) !important; color:var(--text) !important; font-size:13px !important; font-weight:700 !important; padding:0 14px !important; transition:transform .15s, background .2s; }
html.ui-clean .journal-header button[style*="rgba(37,99,235,.18)"] { background:linear-gradient(135deg,#12b886,#0a8a60) !important; color:#fff !important; box-shadow:0 8px 18px -8px rgba(10,138,96,.7); }
html.ui-clean .journal-header button:active { transform:scale(.95); }
html.ui-clean .journal-header div[style*="border-radius:12px"] { border:0 !important; border-radius:20px !important; padding:16px !important; background:var(--clean-accent-soft) !important; }
html.ui-clean .journal-header div[style*="font-size:28px"] { font-size:34px !important; letter-spacing:-.03em; font-weight:800 !important; }
html.ui-clean .journal-list { display:flex; flex-direction:column; gap:8px; padding:2px 0 8px !important; }
html.ui-clean .journal-list > div[style*="padding:10px 0"] { padding:12px 14px !important; border:0 !important; border-radius:20px; background:var(--sec) !important; box-shadow:var(--cx-shadow); animation:cxRow .45s cubic-bezier(.2,.8,.2,1) both; }
html.ui-clean .journal-list > div[style*="padding:10px 0"] .ava, html.ui-clean .journal-list > div[style*="padding:10px 0"] img { width:38px !important; height:38px !important; }
html.ui-clean .journal-list > div[style*="padding:10px 0"] > div[style*="width:28px"] { width:38px !important; height:38px !important; }
html.ui-clean .journal-list > div[style*="border-radius:14px"], html.ui-clean .journal-list > div[style*="border-radius:12px"] { border:0 !important; border-radius:22px !important; padding:14px !important; background:var(--sec) !important; box-shadow:var(--cx-shadow); animation:cxRow .45s cubic-bezier(.2,.8,.2,1) both; }
html.ui-clean .journal-list > div[style*="border-left"] { border-radius:12px !important; border-left-width:4px !important; }
html.ui-clean .journal-list span[style*="border-radius:999px"] { border:0 !important; background:var(--sec-2) !important; }
html.ui-clean .online-dot { width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px var(--clean-accent-soft); animation:cxPulse 1.8s ease-in-out infinite; }
@keyframes cxPulse { 0%,100% { box-shadow:0 0 0 3px var(--clean-accent-soft); } 50% { box-shadow:0 0 0 7px transparent; } }
html.ui-clean .empty { border:0 !important; border-radius:24px; background:var(--sec) !important; color:var(--hint) !important; padding:34px 20px; text-align:center; }
html.ui-clean .empty-icon { font-size:38px; margin-bottom:10px; }

/* goal history */
html.ui-clean .team-goal-history-card { background:var(--sec) !important; border:0 !important; border-radius:22px !important; padding:14px !important; box-shadow:var(--cx-shadow); animation:cxRow .45s cubic-bezier(.2,.8,.2,1) both; }
html.ui-clean .team-goal-history-toggle b { font-size:15px; font-weight:800; letter-spacing:-.01em; }
html.ui-clean .team-goal-history-toggle small { color:var(--hint) !important; }
html.ui-clean .team-goal-history-toggle strong { font-size:15px; padding:4px 11px; border-radius:999px; background:var(--clean-accent-soft); color:var(--green); }
html.ui-clean .team-goal-history-toggle i { color:var(--hint); transition:transform .25s; }
html.ui-clean .team-goal-history-toggle[aria-expanded="true"] i { transform:rotate(180deg); }
html.ui-clean .team-goal-history-summary > div { background:var(--sec-2) !important; border-radius:14px; padding:10px 12px; }
html.ui-clean .team-goal-history-summary small { color:var(--hint) !important; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
html.ui-clean .team-goal-history-detail { border-top:1px solid var(--line) !important; }
html.ui-clean .team-goal-history-operator { border-bottom:1px solid var(--line) !important; }

/* filters inside journal */
html.ui-clean .jf-filter-btn { border:0 !important; border-radius:14px !important; background:var(--sec-2) !important; color:var(--text) !important; height:40px; font-weight:700; }
html.ui-clean .jf-filter-reset, html.ui-clean .jf-popover-foot-btn { border:0 !important; border-radius:14px !important; background:var(--sec-2) !important; color:var(--text) !important; }
html.ui-clean .jf-popover { background:var(--sec) !important; border:1px solid var(--line) !important; border-radius:22px !important; box-shadow:var(--cx-dock) !important; }
html.ui-clean .jf-popover-row { border-radius:12px !important; }
html.ui-clean .jf-popover-check { border-color:var(--hint) !important; border-radius:7px !important; }

/* operators sheet (card "Операторов") */
html.ui-clean .team-operators-sheet-row { background:var(--sec-2) !important; border:0 !important; border-radius:20px !important; padding:12px 14px !important; margin-bottom:8px; animation:cxRow .4s cubic-bezier(.2,.8,.2,1) both; }
html.ui-clean .team-operators-sheet-name { font-weight:700; }
html.ui-clean .team-operators-sheet-money { font-weight:800; font-size:17px; letter-spacing:-.02em; }
html.ui-clean .team-operators-sheet-pct, html.ui-clean .team-operators-sheet-sub { color:var(--hint) !important; }

/* forms inside sheets (team create/edit, goals, agency settings) */
html.ui-clean .sheet .owner-team-mock h3 { font-size:22px; font-weight:800; letter-spacing:-.025em; margin-bottom:18px; }
html.ui-clean .sheet .owner-team-mock .input { border-radius:16px !important; border:1.5px solid transparent !important; background:var(--sec-2) !important; color:var(--text) !important; padding:14px 15px !important; font-size:15px; font-weight:600; transition:border-color .2s, box-shadow .2s; }
html.ui-clean .sheet .owner-team-mock .input:focus { border-color:var(--green) !important; box-shadow:0 0 0 4px var(--clean-accent-soft); }
html.ui-clean .sheet .owner-team-mock .field label { font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--hint) !important; }
html.ui-clean .sheet .owner-team-mock .btn { height:52px; border-radius:18px !important; border:0 !important; font-size:15px; font-weight:800; background:var(--sec-2) !important; color:var(--text) !important; transition:transform .15s; }
html.ui-clean .sheet .owner-team-mock .btn.green { background:linear-gradient(135deg,#12b886,#0a8a60) !important; color:#fff !important; box-shadow:0 12px 24px -10px rgba(10,138,96,.75) !important; }
html.ui-clean .sheet .owner-team-mock .btn:active { transform:scale(.97); }
html.ui-clean .sheet .owner-team-mock .operator-row { background:var(--sec-2) !important; border:0 !important; border-radius:18px !important; padding:10px 12px !important; transition:background .2s, transform .15s; }
html.ui-clean .sheet .owner-team-mock .operator-row.selected { background:color-mix(in srgb,var(--draft-color,var(--green)) 14%,transparent) !important; }
html.ui-clean .sheet .owner-team-mock .operator-row:active { transform:scale(.985); }
html.ui-clean .sheet .owner-team-mock .check { border-radius:50% !important; border:2px solid var(--hint) !important; transition:background .2s, border-color .2s; }
html.ui-clean .sheet .owner-team-mock .selected .check { background:var(--green) !important; border-color:var(--green) !important; }
html.ui-clean .sheet .owner-team-mock .lead-permission { border:0 !important; border-radius:18px !important; background:var(--sec-2) !important; padding:12px 14px !important; transition:background .2s; }
html.ui-clean .sheet .owner-team-mock .lead-permission.on { background:var(--clean-accent-soft) !important; }
html.ui-clean .sheet .owner-team-mock .lead-permission-title { font-weight:700; }
html.ui-clean .sheet .owner-team-mock .lead-permission-note { color:var(--hint) !important; }
html.ui-clean .sheet .owner-team-mock .lead-permission-check { width:26px; height:26px; border-radius:50% !important; border:2px solid var(--hint) !important; background:transparent !important; box-shadow:none !important; transition:background .2s, border-color .2s; }
html.ui-clean .sheet .owner-team-mock .lead-permission.on .lead-permission-check { background:var(--green) !important; border-color:var(--green) !important; }
html.ui-clean .sheet .owner-team-mock .swatch { width:34px; height:34px; transition:transform .15s; }
html.ui-clean .sheet .owner-team-mock .swatch.active { border-color:var(--text) !important; transform:scale(1.12); }
html.ui-clean .sheet .owner-team-mock .iconpick { border:0 !important; border-radius:14px !important; background:var(--sec-2) !important; width:40px; height:40px; }
html.ui-clean .sheet .owner-team-mock .iconpick.active { background:var(--clean-accent-soft) !important; box-shadow:0 0 0 2px var(--green); }
html.ui-clean .sheet .owner-team-mock .td2-section-title { font-weight:800; letter-spacing:.14em; }
html.ui-clean .agency-settings-photo { border-radius:22px; overflow:hidden; }

/* part 3b: journal list container + badges */
html.ui-clean .journal-shell .journal-list { background:transparent !important; border:0 !important; box-shadow:none !important; padding:2px 0 8px !important; border-radius:0 !important; }
html.ui-clean .journal-shell { gap:12px !important; }
html.ui-clean .badge { border:0 !important; border-radius:999px !important; padding:5px 11px !important; font-size:11px; font-weight:700; background:var(--sec-2) !important; color:var(--hint) !important; }
html.ui-clean .badge.orange { background:color-mix(in srgb,var(--orange) 16%,transparent) !important; color:var(--orange) !important; }
html.ui-clean .badge.green { background:var(--clean-accent-soft) !important; color:var(--green) !important; }
html.ui-clean .badge.blue { background:color-mix(in srgb,var(--blue) 15%,transparent) !important; color:var(--blue) !important; }
html.ui-clean .badge.red { background:color-mix(in srgb,var(--red) 15%,transparent) !important; color:var(--red) !important; }

html.ui-clean .team-goal-history-toggle b { color:var(--text) !important; }
html.ui-clean .team-goal-history-summary > div { border:0 !important; }
html.ui-clean .team-goal-history-card { margin-bottom:10px; }
@media (max-width:520px) {
  html.ui-clean .cx-shell .teams-toolbar { flex-wrap:wrap !important; }
  html.ui-clean .cx-shell .teams-toolbar-actions { width:100%; flex-wrap:nowrap !important; justify-content:stretch !important; }
  html.ui-clean .cx-shell .teams-toolbar-actions .ui-chip-btn { flex:1 1 0; min-width:0; padding:0 8px; }
}
/* ── Pulse, part 4: Dashboard ── */
@property --hp { syntax:'<number>'; inherits:false; initial-value:0; }
@keyframes cxHp { from { --hp:0; } to { --hp:var(--health-p,0); } }
@keyframes cxMeter { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes cxOpen { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }

/* period switcher */
html.ui-clean #page-dashboard .od-dashboard-periods { display:flex; gap:4px; padding:4px; margin:0 0 6px; background:var(--sec) !important; border:1px solid var(--line) !important; border-radius:22px !important; overflow-x:auto; scrollbar-width:none; box-shadow:var(--cx-shadow); }
html.ui-clean #page-dashboard .od-dashboard-periods::-webkit-scrollbar { display:none; }
html.ui-clean #page-dashboard .od-dashboard-periods button { flex:1 0 auto; height:40px; padding:0 15px; border-radius:17px !important; border:0 !important; background:transparent !important; color:var(--hint) !important; font-size:13px; font-weight:700; box-shadow:none !important; transition:background .25s, color .25s, transform .15s, box-shadow .25s; }
html.ui-clean #page-dashboard .od-dashboard-periods button.active { background:linear-gradient(135deg,#12b886,#0a8a60) !important; color:#fff !important; box-shadow:0 10px 20px -10px rgba(10,138,96,.8) !important; }
html.ui-clean #page-dashboard .od-dashboard-periods button:active { transform:scale(.94); }

/* section headings */
html.ui-clean #page-dashboard .section-label { display:flex; align-items:center; gap:10px; margin:28px 2px 12px !important; font-size:12px !important; font-weight:800 !important; letter-spacing:.15em !important; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-dashboard .section-label::before { content:""; width:4px; height:16px; border-radius:4px; background:var(--green); }

/* snapshot: hero revenue + two tiles */
html.ui-clean #page-dashboard .snapshot-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:10px !important; }
html.ui-clean #page-dashboard .snapshot-grid .snap-card { position:relative; overflow:hidden; border:0 !important; border-radius:26px !important; padding:16px !important; background:var(--sec) !important; box-shadow:var(--cx-shadow) !important; text-align:left; display:flex !important; flex-direction:column; gap:3px; min-width:0; transition:transform .18s cubic-bezier(.2,.8,.2,1); }
html.ui-clean #page-dashboard .snapshot-grid .snap-card:active { transform:scale(.975); }
html.ui-clean #page-dashboard .snap-card::before, html.ui-clean #page-dashboard .snap-card::after { display:none !important; }
html.ui-clean #page-dashboard .snap-icon { display:grid !important; place-items:center; width:38px; height:38px; margin-bottom:8px; border-radius:13px; background:color-mix(in srgb,var(--snap-color,var(--green)) 15%,transparent); color:var(--snap-color,var(--green)); }
html.ui-clean #page-dashboard .snap-icon svg { width:20px; height:20px; }
html.ui-clean #page-dashboard .snap-label { font-size:11px !important; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-dashboard .snap-value { font-size:28px !important; line-height:1.1; font-weight:800; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
html.ui-clean #page-dashboard .snap-sub { font-size:12px !important; color:var(--hint) !important; display:flex; align-items:center; gap:6px; margin-top:4px; min-height:22px; }
html.ui-clean #page-dashboard .margin-chip { padding:3px 10px; border-radius:999px; background:var(--clean-accent-soft); color:var(--green); font-weight:800; font-size:12px; border:0 !important; }
html.ui-clean #page-dashboard .snap-expenses-chevron { margin-left:auto; font-style:normal; transition:transform .25s; }
html.ui-clean #page-dashboard .snap-card--expenses.open .snap-expenses-chevron { transform:rotate(180deg); }
html.ui-clean #page-dashboard .snapshot-grid .snap-card.cxd-hero { grid-column:1 / -1; padding:20px 20px 18px !important; background:var(--cx-hero) !important; background-image:var(--cx-hero) !important; color:#fff !important; box-shadow:var(--cx-hero-glow) !important; }
html.ui-clean #page-dashboard .cxd-hero * { color:inherit; }
html.ui-clean #page-dashboard .cxd-hero .snap-icon { background:rgba(255,255,255,.2); color:#fff; }
html.ui-clean #page-dashboard .cxd-hero .snap-label { color:rgba(255,255,255,.82) !important; }
html.ui-clean #page-dashboard .cxd-hero .snap-value { font-size:52px !important; letter-spacing:-.045em; color:#fff !important; }
html.ui-clean #page-dashboard .cxd-hero .snap-sub, html.ui-clean #page-dashboard .cxd-hero .snap-sub * { color:rgba(255,255,255,.9) !important; }
html.ui-clean #page-dashboard .cxd-hero .snap-sub > span, html.ui-clean #page-dashboard .cxd-hero .badge-up, html.ui-clean #page-dashboard .cxd-hero .badge-down { background:rgba(255,255,255,.2) !important; border:0 !important; border-radius:999px; padding:4px 10px; font-weight:700; }
html.ui-clean #page-dashboard .cxd-art { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
html.ui-clean #page-dashboard .cxd-art i { position:absolute; border-radius:50%; background:rgba(255,255,255,.09); animation:cxFloat 9s ease-in-out infinite; }
html.ui-clean #page-dashboard .cxd-art i:nth-child(1) { width:220px; height:220px; right:-70px; top:-80px; }
html.ui-clean #page-dashboard .cxd-art i:nth-child(2) { width:130px; height:130px; right:60px; bottom:-60px; animation-delay:-3s; background:rgba(255,255,255,.06); }
html.ui-clean #page-dashboard .cxd-art i:nth-child(3) { width:60px; height:60px; left:40%; top:14px; animation-delay:-6s; }
html.ui-clean #page-dashboard .cxd-hero > *:not(.cxd-art) { position:relative; }

/* expenses drill-down */
html.ui-clean #page-dashboard .snapshot-expenses-detail { margin-top:10px; }
html.ui-clean #page-dashboard .snapshot-expenses-detail.open { animation:cxOpen .3s ease both; }
html.ui-clean #page-dashboard .snapshot-expenses-panel { background:var(--sec) !important; border:0 !important; border-radius:24px !important; padding:14px !important; box-shadow:var(--cx-shadow); }
html.ui-clean #page-dashboard .snapshot-expenses-summary { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:10px; }
html.ui-clean #page-dashboard .snapshot-expenses-line { display:flex; flex-direction:column; gap:3px; padding:12px; border-radius:16px; background:var(--sec-2) !important; border:0 !important; }
html.ui-clean #page-dashboard .snapshot-expenses-line span { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-dashboard .snapshot-expenses-line b { font-size:18px; font-weight:800; letter-spacing:-.02em; }
html.ui-clean #page-dashboard .snapshot-expenses-group-toggle, html.ui-clean #page-dashboard .money-map-group-toggle { width:100%; display:flex; align-items:center; gap:10px; padding:13px 14px; border:0 !important; border-radius:16px !important; background:var(--sec-2) !important; color:var(--text) !important; font-weight:700; transition:transform .15s; }
html.ui-clean #page-dashboard .snapshot-expenses-group-toggle:active, html.ui-clean #page-dashboard .money-map-group-toggle:active { transform:scale(.98); }
html.ui-clean #page-dashboard .snapshot-expenses-group-toggle b, html.ui-clean #page-dashboard .money-map-group-toggle b { margin-left:auto; font-weight:800; }
html.ui-clean #page-dashboard .snapshot-expenses-group-toggle i, html.ui-clean #page-dashboard .money-map-group-toggle i { font-style:normal; color:var(--hint); transition:transform .25s; }
html.ui-clean #page-dashboard [aria-expanded="true"] > i { transform:rotate(180deg); }
html.ui-clean #page-dashboard .snapshot-expenses-groups { display:grid; gap:8px; }
html.ui-clean #page-dashboard .snapshot-expenses-item, html.ui-clean #page-dashboard .money-map-child { display:flex; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px solid var(--line) !important; font-size:13px; }
html.ui-clean #page-dashboard .snapshot-expenses-item-date { margin-left:auto; color:var(--hint) !important; font-size:11px; }

/* agency health */
html.ui-clean #page-dashboard .health-panel { position:relative; padding:18px !important; border:0 !important; border-radius:28px !important; background:var(--sec) !important; box-shadow:var(--cx-shadow) !important; }
html.ui-clean #page-dashboard .health-toggle { display:flex; align-items:center; gap:18px; }
html.ui-clean #page-dashboard .health-score { position:relative; width:104px !important; height:104px !important; flex:0 0 104px; border-radius:50% !important; display:grid !important; place-items:center; align-content:center; background:conic-gradient(var(--health-c,var(--green)) calc(var(--hp,0) * 1%), var(--sec-2) 0) !important; animation:cxHp 1.2s cubic-bezier(.2,.8,.2,1) .15s both; }
html.ui-clean #page-dashboard .health-score::before { content:"" !important; display:block !important; position:absolute; inset:10px; border-radius:50%; background:var(--sec); }
html.ui-clean #page-dashboard .health-score::after { display:none !important; }
html.ui-clean #page-dashboard .health-score b, html.ui-clean #page-dashboard .health-score small { position:relative; z-index:1; grid-area:1/1; }
html.ui-clean #page-dashboard .health-score b { font-size:34px !important; font-weight:800; letter-spacing:-.04em; color:var(--text) !important; transform:translateY(-6px); }
html.ui-clean #page-dashboard .health-score small { font-size:11px !important; color:var(--hint) !important; transform:translateY(16px); }
html.ui-clean #page-dashboard .health-toggle-copy strong { display:block; font-size:18px !important; font-weight:800; letter-spacing:-.02em; color:var(--text) !important; margin-bottom:8px; }
html.ui-clean #page-dashboard .health-status { display:inline-block; padding:5px 12px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; border:0 !important; }
html.ui-clean #page-dashboard .health-status--risk { background:color-mix(in srgb,var(--red) 16%,transparent) !important; color:var(--red) !important; }
html.ui-clean #page-dashboard .health-status--attention { background:color-mix(in srgb,var(--gold) 18%,transparent) !important; color:var(--gold) !important; }
html.ui-clean #page-dashboard .health-status--good { background:var(--clean-accent-soft) !important; color:var(--green) !important; }
html.ui-clean #page-dashboard .health-metrics { display:grid !important; grid-template-columns:1fr 1fr !important; gap:10px !important; margin-top:18px !important; padding:0 !important; border:0 !important; }
html.ui-clean #page-dashboard .health-metric { position:relative; text-align:left; padding:13px 14px !important; border:0 !important; border-radius:20px !important; background:var(--sec-2) !important; color:var(--text) !important; animation:cxUp .5s cubic-bezier(.2,.8,.2,1) calc(var(--i,0) * 70ms + 200ms) both; transition:transform .15s; }
html.ui-clean #page-dashboard button.health-metric:active { transform:scale(.97); }
html.ui-clean #page-dashboard .health-metric.active { box-shadow:inset 0 0 0 2px var(--green); }
html.ui-clean #page-dashboard .health-metric em { display:block; font-style:normal; font-size:11px !important; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-dashboard .health-metric b { display:block; font-size:24px !important; font-weight:800; letter-spacing:-.03em; margin:4px 0 9px !important; color:var(--text) !important; }
html.ui-clean #page-dashboard .health-metric > i { position:absolute; top:12px; right:14px; font-style:normal; color:var(--hint); }
html.ui-clean #page-dashboard .health-bar { height:6px !important; border-radius:999px; background:var(--sec) !important; overflow:hidden; }
html.ui-clean #page-dashboard .health-bar > span { display:block; height:100%; border-radius:inherit; transform-origin:left center; animation:cxMeter .9s cubic-bezier(.2,.8,.2,1) .35s both; }
html.ui-clean #page-dashboard .health-flag { margin-top:14px !important; padding:12px 14px !important; border:0 !important; border-radius:16px !important; font-size:13px !important; font-weight:700; }
html.ui-clean #page-dashboard .health-flag.warn { background:color-mix(in srgb,var(--gold) 15%,transparent) !important; color:var(--gold) !important; }
html.ui-clean #page-dashboard .health-flag.ok { background:var(--clean-accent-soft) !important; color:var(--green) !important; }
html.ui-clean #page-dashboard .health-block-title { font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--hint) !important; margin:16px 0 8px; }
html.ui-clean #page-dashboard .health-row { display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:16px; background:var(--sec-2) !important; border:0 !important; margin-bottom:6px; }
html.ui-clean #page-dashboard .health-row-main { flex:1; min-width:0; display:grid; gap:4px; }
html.ui-clean #page-dashboard .health-row-main span { font-weight:700; font-size:14px; }
html.ui-clean #page-dashboard .health-row-main small { color:var(--hint) !important; font-size:11px; }
html.ui-clean #page-dashboard .health-row-val { font-weight:800; }
html.ui-clean #page-dashboard .health-details.open, html.ui-clean #page-dashboard .health-detail-panel.open { animation:cxOpen .3s ease both; }

/* radar */
html.ui-clean #page-dashboard .radar-grid { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; }
html.ui-clean #page-dashboard .radar-card { position:relative; padding:16px !important; border:0 !important; border-radius:26px !important; background:var(--sec) !important; box-shadow:var(--cx-shadow) !important; transition:transform .18s; }
html.ui-clean #page-dashboard .radar-card:active { transform:scale(.985); }
html.ui-clean #page-dashboard .radar-card::before { content:""; position:absolute; left:0; top:18px; bottom:18px; width:4px; border-radius:0 4px 4px 0; background:var(--accent-color,var(--green)); }
html.ui-clean #page-dashboard .radar-card-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
html.ui-clean #page-dashboard .radar-card-label { font-size:12px !important; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-dashboard .radar-card-chevron { color:var(--hint); transition:transform .25s; }
html.ui-clean #page-dashboard .radar-card.open .radar-card-chevron, html.ui-clean #page-dashboard .radar-card.active .radar-card-chevron { transform:rotate(180deg); }
html.ui-clean #page-dashboard .radar-period-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
html.ui-clean #page-dashboard .radar-period-stat { padding:12px !important; border:0 !important; border-radius:18px; background:var(--sec-2) !important; min-width:0; }
html.ui-clean #page-dashboard .radar-period-stat span { display:block; font-size:12px; font-weight:700; color:var(--text) !important; }
html.ui-clean #page-dashboard .radar-period-stat small { display:block; font-size:11px; color:var(--hint) !important; margin:2px 0 6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.ui-clean #page-dashboard .radar-period-stat b { display:block; font-size:24px !important; font-weight:800; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
html.ui-clean #page-dashboard .radar-progress { height:8px; border-radius:999px; background:var(--sec-2) !important; overflow:hidden; margin-top:14px; }
html.ui-clean #page-dashboard .radar-progress > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#12b886,#43d9b0) !important; transform-origin:left center; animation:cxMeter 1s cubic-bezier(.2,.8,.2,1) .3s both; }
html.ui-clean #page-dashboard .radar-card-sub { margin-top:10px; font-size:12px; color:var(--hint) !important; }
html.ui-clean #page-dashboard .radar-expand-inner { padding:14px; margin-top:10px; border-radius:24px; background:var(--sec); box-shadow:var(--cx-shadow); animation:cxOpen .3s ease both; }
html.ui-clean #page-dashboard .period-comparison-columns { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
html.ui-clean #page-dashboard .period-compare-column { padding:12px; border-radius:18px; background:var(--sec-2) !important; border:0 !important; }
html.ui-clean #page-dashboard .period-compare-row, html.ui-clean #page-dashboard .chatter-row, html.ui-clean #page-dashboard .tb-row { display:flex; align-items:center; gap:10px; padding:10px 4px; border-bottom:1px solid var(--line) !important; }
html.ui-clean #page-dashboard .forecast-block { padding:4px 0 8px; }
html.ui-clean #page-dashboard .forecast-label, html.ui-clean #page-dashboard .forecast-need-title, html.ui-clean #page-dashboard .pace-operators-heading { font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--hint) !important; margin:6px 0 10px; }
html.ui-clean #page-dashboard .forecast-row, html.ui-clean #page-dashboard .forecast-need-row { display:flex; justify-content:space-between; align-items:center; padding:11px 14px; margin-bottom:6px; border-radius:15px; background:var(--sec-2) !important; border:0 !important; }
html.ui-clean #page-dashboard .forecast-val, html.ui-clean #page-dashboard .fval { font-weight:800; }
html.ui-clean #page-dashboard .forecast-need { padding:6px 0; }

/* money map */
html.ui-clean #page-dashboard .money-total { position:relative; overflow:hidden; padding:18px !important; border:0 !important; border-radius:26px !important; background:var(--sec) !important; box-shadow:var(--cx-shadow) !important; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
html.ui-clean #page-dashboard .money-total-label { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--hint) !important; }
html.ui-clean #page-dashboard .money-total-val { font-size:30px !important; font-weight:800; letter-spacing:-.035em; color:var(--green) !important; font-variant-numeric:tabular-nums; }
html.ui-clean #page-dashboard .money-map-panel { background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
html.ui-clean #page-dashboard .money-map-groups { display:grid; gap:10px; }
html.ui-clean #page-dashboard .money-map-group { padding:6px; border-radius:22px; background:var(--sec); box-shadow:var(--cx-shadow); }
html.ui-clean #page-dashboard .money-map-group-toggle { flex-wrap:wrap; }
html.ui-clean #page-dashboard .cxd-meter { order:5; flex:1 0 100%; height:6px; border-radius:999px; background:var(--sec) !important; overflow:hidden; }
html.ui-clean #page-dashboard .cxd-meter i { display:block; height:100%; width:calc(var(--w) * 1%); border-radius:inherit; background:linear-gradient(90deg,#12b886,#43d9b0); transform-origin:left center; animation:cxMeter 1s cubic-bezier(.2,.8,.2,1) .3s both; }
html.ui-clean #page-dashboard .money-map-group:nth-child(2) .cxd-meter i { background:linear-gradient(90deg,#f59e0b,#fbbf24); }
html.ui-clean #page-dashboard .money-map-group-details { padding:4px 8px 6px; }
html.ui-clean #page-dashboard .money-map-child { justify-content:space-between; }

/* top / bottom */
html.ui-clean #page-dashboard .topbot-wrap { margin-top:14px; }
html.ui-clean #page-dashboard .topbot-toggle { width:100%; height:54px; display:flex; align-items:center; justify-content:space-between; padding:0 18px; border:0 !important; border-radius:22px !important; background:var(--sec) !important; color:var(--text) !important; font-size:15px; font-weight:800; box-shadow:var(--cx-shadow); transition:transform .15s; }
html.ui-clean #page-dashboard .topbot-toggle:active { transform:scale(.98); }
html.ui-clean #page-dashboard .topbot-toggle i { font-style:normal; color:var(--hint); transition:transform .25s; }
html.ui-clean #page-dashboard .topbot-wrap.open .topbot-toggle i { transform:rotate(180deg); }
html.ui-clean #page-dashboard .topbot-tabs { display:flex; gap:4px; padding:4px; margin:12px 0 10px; border-radius:18px; background:var(--sec); box-shadow:var(--cx-shadow); }
html.ui-clean #page-dashboard .tb-tab { flex:1; height:38px; border:0 !important; border-radius:14px !important; background:transparent !important; color:var(--hint) !important; font-weight:700; transition:background .2s, color .2s; }
html.ui-clean #page-dashboard .tb-tab.active { background:var(--clean-accent-soft) !important; color:var(--green) !important; }
html.ui-clean #page-dashboard .tb-card { padding:8px 12px !important; border:0 !important; border-radius:24px !important; background:var(--sec) !important; box-shadow:var(--cx-shadow); animation:cxOpen .3s ease both; }
html.ui-clean #page-dashboard .tb-ranking-label { font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; margin:12px 4px 4px; }
html.ui-clean #page-dashboard .tb-ranking-label--top { color:var(--green) !important; }
html.ui-clean #page-dashboard .tb-ranking-label--bottom { color:var(--red) !important; }
html.ui-clean #page-dashboard .tb-rank { width:28px; height:28px; flex:0 0 28px; border-radius:50% !important; display:grid; place-items:center; font-size:13px; font-weight:800; border:0 !important; }
html.ui-clean #page-dashboard .gold-rank { background:linear-gradient(135deg,#fbbf24,#f59e0b) !important; color:#3b2600 !important; }
html.ui-clean #page-dashboard .silver-rank { background:var(--sec-2) !important; color:var(--hint) !important; }
html.ui-clean #page-dashboard .tb-name { flex:1; min-width:0; font-weight:700; }
html.ui-clean #page-dashboard .tb-val { font-weight:800; font-variant-numeric:tabular-nums; }

/* alerts / generic rows inside the dashboard */
html.ui-clean #page-dashboard .alert-card { border:0 !important; border-radius:24px !important; background:var(--sec) !important; box-shadow:var(--cx-shadow); overflow:hidden; }
html.ui-clean #page-dashboard .alert-item { padding:14px 16px; border-bottom:1px solid var(--line) !important; }
html.ui-clean #page-dashboard .chatter-val, html.ui-clean #page-dashboard .chatter-pct { font-weight:800; }
html.ui-clean #page-dashboard .badge-up { color:var(--green) !important; }
html.ui-clean #page-dashboard .badge-down { color:var(--red) !important; }

html.ui-clean #page-dashboard .snapshot-grid .snap-card .snap-icon { position:relative !important; inset:auto !important; right:auto !important; top:auto !important; margin:0 0 10px !important; }
html.ui-clean #page-dashboard .snapshot-grid .snap-card > * { position:relative; }
html.ui-clean #page-dashboard .health-metric { margin:0 !important; width:100% !important; box-sizing:border-box; }
html.ui-clean #page-dashboard .health-details { margin-top:6px; }
html.ui-clean #page-dashboard .health-block { background:transparent !important; border:0 !important; padding:0 !important; }
html.ui-clean #page-dashboard .forecast-block, html.ui-clean #page-dashboard .forecast-need { background:none !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
html.ui-clean #page-dashboard .forecast-main-grid { display:grid !important; grid-template-columns:1fr !important; gap:6px !important; }
html.ui-clean #page-dashboard .forecast-key { font-size:13px; color:var(--hint) !important; }
html.ui-clean #page-dashboard .forecast-val, html.ui-clean #page-dashboard .forecast-need-row .fval { padding:0 !important; background:none !important; border:0 !important; font-size:15px !important; color:var(--text) !important; }
html.ui-clean #page-dashboard .forecast-need-row .dim { color:var(--hint) !important; font-size:13px; }
html.ui-clean #page-dashboard .radar-expand-inner { border:0 !important; }
/* NAVY-BEGIN */
/* GENERATED by design/tools/gen-clean-navy.mjs — do not edit.
 * Rules that painted a dark navy background in the current design; on the clean design they use the theme surface. */
html.ui-clean .goal-card-v3 .ring span,
html.ui-clean .goal-card-v3.agency-goal.agency-goal--hero,
html.ui-clean .operator-req-overlay,
html.ui-clean .income-screen-overlay,
html.ui-clean .income-screen-modal-x,
html.ui-clean .expenses-mock-chart,
html.ui-clean .expenses-chart-card,
html.ui-clean .expenses-pie-card,
html.ui-clean .salary-row-card,
html.ui-clean .salary-row-card:hover,
html.ui-clean .salary-row-card.is-open,
html.ui-clean .payroll-bulk-footer-sticky,
html.ui-clean .notif,
html.ui-clean .sheet,
html.ui-clean select,
html.ui-clean .journal-header,
html.ui-clean .jf-popover,
html.ui-clean .owner-team-mock .card,
html.ui-clean .owner-team-mock .ring span,
html.ui-clean .owner-team-mock .td2-chart,
html.ui-clean .owner-team-mock .td2-member,
html.ui-clean .insight-section-journal-btn,
html.ui-clean .insight-section-journal-btn:active,
html.ui-clean .insight-banner-v2,
html.ui-clean .insight-banner--hall-of-fame.insight-banner-v2,
html.ui-clean .insight-banner,
html.ui-clean .insight-journal-card,
html.ui-clean .team-card .ring span,
html.ui-clean .ui-design-v2 .card,
html.ui-clean .ui-design-v2 .opcard,
html.ui-clean .ui-design-v2 .salary-row-card,
html.ui-clean .ui-design-v2 .expenses-chart-card,
html.ui-clean .ui-design-v2 .expenses-pie-card,
html.ui-clean .ui-design-v2 .expenses-journal-button,
html.ui-clean .ui-design-v2 .analytics-revenue-summary,
html.ui-clean .ui-design-v2 #page-dashboard .health-panel,
html.ui-clean .ui-design-v2 .owner-team-mock .topbar .pill,
html.ui-clean .ui-design-v2 .owner-team-mock .card,
html.ui-clean .ui-design-v2 .goal-card-v3,
html.ui-clean .ui-design-v2 .team-card,
html.ui-clean .ui-design-v2 .goal-cards-scope .goal-card-v3,
html.ui-clean .ui-design-v2 .goal-cards-scope .team-card,
html.ui-clean .ui-design-v2 .analytics-page,
html.ui-clean .ui-design-v2 .salary-page-header,
html.ui-clean .ui-design-v2 .journal-shell,
html.ui-clean .ui-design-v2 .sheet,
html.ui-clean .ui-design-v2 .scard,
html.ui-clean .ui-design-v2 .fcard,
html.ui-clean .ui-design-v2 .income-wizard-shell,
html.ui-clean .ui-design-v2 .bnav
{ background:var(--sec) !important; background-image:none !important; box-shadow:none !important; border-color:var(--line) !important; }
/* inline navy backgrounds (matched by the literal colour in the style attribute) */
html.ui-clean [style*="#09111f"],
html.ui-clean [style*="#1a2035"],
html.ui-clean [style*="rgba(3,12,28"],
html.ui-clean [style*="rgba(3,18,40"],
html.ui-clean [style*="rgba(7,13,28"]
{ background:var(--sec-2) !important; background-image:none !important; box-shadow:none !important; border-color:var(--line) !important; }
/* NAVY-END */
