html[data-theme="dark"] body.crm-public-page,
html[data-theme="dark"] body.crm-auth-page,
html[data-theme="dark"] body.crm-doc-page{
  background:
    radial-gradient(1100px 620px at 0% 0%, rgba(47,108,246,.16), transparent 58%),
    radial-gradient(900px 520px at 100% 0%, rgba(14,165,233,.10), transparent 55%),
    linear-gradient(180deg, #0d1525 0%, #0f172a 100%) !important;
}
body.crm-public-page,
body.crm-auth-page,
body.crm-doc-page{
  min-height:100vh;
  color:var(--crm-text) !important;
}
.public-page-shell{ position:relative; min-height:100vh; }
.public-container{ width:min(1360px, calc(100% - 48px)); margin:0 auto; }
.public-topbar{ position:sticky; top:0; z-index:50; padding:18px 0 0; }
.public-topbar__inner{
  display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:18px; align-items:center;
  min-height:72px; padding:14px 18px; border-radius:24px;
  background:color-mix(in srgb, var(--crm-surface) 94%, var(--crm-bg) 6%);
  border:1px solid var(--crm-border); box-shadow:var(--crm-shadow-md);
}
.public-brand{ display:flex; align-items:center; gap:14px; min-width:0; color:inherit; text-decoration:none; }
.public-brand__logo{ width:46px; height:46px; flex:0 0 46px; border-radius:15px; overflow:hidden; display:grid; place-items:center; background:linear-gradient(135deg, rgba(47,108,246,.16), rgba(14,165,233,.12)); border:1px solid color-mix(in srgb, var(--crm-accent) 35%, var(--crm-border) 65%); box-shadow:0 14px 28px rgba(15,23,42,.18); }
.public-brand__logo img{ width:100%; height:100%; object-fit:cover; display:block; }
.public-brand__text{ display:grid; gap:3px; min-width:0; }
.public-brand__text strong{ font-size:18px; line-height:1.1; letter-spacing:-.02em; }
.public-brand__text span{ font-size:13px; color:var(--crm-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.public-nav{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.public-nav a{ color:var(--crm-muted); text-decoration:none; font-size:14px; font-weight:600; padding:10px 14px; border-radius:999px; transition:.18s ease; }
.public-nav a:hover{ color:var(--crm-text); background:color-mix(in srgb, var(--crm-accent) 8%, var(--crm-surface) 92%); }
.public-actions{ display:flex; align-items:center; justify-content:flex-end; gap:10px; min-width:0; }
.public-actions__desktop{ display:flex; gap:10px; }
.public-status{ display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:0 14px; border:1px solid var(--crm-border); border-radius:999px; background:var(--crm-surface-2); color:var(--crm-muted); font-size:13px; font-weight:700; white-space:nowrap; }
.public-status__dot{ width:9px; height:9px; border-radius:50%; background:#94a3b8; box-shadow:0 0 0 5px rgba(148,163,184,.14); }
.public-status__dot.is-ok{ background:#22c55e; box-shadow:0 0 0 5px rgba(34,197,94,.16); }
.public-burger{ display:none; width:44px; height:44px; border:none; border-radius:14px; background:var(--crm-surface-2); border:1px solid var(--crm-border); position:relative; cursor:pointer; }
.public-burger span, .public-burger::before, .public-burger::after{ content:""; position:absolute; left:12px; right:12px; height:2px; border-radius:999px; background:var(--crm-text); transition:.18s ease; }
.public-burger span{ top:21px; }
.public-burger::before{ top:14px; }
.public-burger::after{ top:28px; }
body.menu-open .public-burger span{ opacity:0; }
body.menu-open .public-burger::before{ transform:translateY(7px) rotate(45deg); }
body.menu-open .public-burger::after{ transform:translateY(-7px) rotate(-45deg); }
.public-main{ padding:28px 0 48px; }
.public-hero, .public-section, .public-surface{ border:1px solid var(--crm-border); background:color-mix(in srgb, var(--crm-surface) 95%, var(--crm-bg) 5%); box-shadow:var(--crm-shadow-sm); }
.public-hero{ border-radius:34px; padding:34px; }
.public-hero__grid{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:24px; align-items:start; }
.public-chip{ display:inline-flex; align-items:center; min-height:34px; padding:0 14px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; border:1px solid color-mix(in srgb, var(--crm-accent) 28%, var(--crm-border) 72%); background:color-mix(in srgb, var(--crm-accent) 10%, var(--crm-surface) 90%); color:var(--crm-accent); }
.public-chip--muted{ color:var(--crm-muted); background:var(--crm-surface-2); border-color:var(--crm-border); }
body.crm-public-page h1, body.crm-auth-page h1{ max-width:12ch; margin:18px 0 14px; }
.public-hero__lead, .auth-lead{ max-width:64ch; font-size:16px; color:var(--crm-muted); }
.public-hero__actions, .auth-hero__actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
.public-kpis{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; margin-top:28px; }
.public-kpi{ padding:18px; border-radius:22px; border:1px solid var(--crm-border); background:var(--crm-surface-2); display:grid; gap:6px; }
.public-kpi span{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--crm-muted); font-weight:800; }
.public-kpi strong{ font-size:22px; letter-spacing:-.03em; }
.public-kpi small{ color:var(--crm-muted); font-size:13px; }
.public-surface{ border-radius:28px; padding:26px; }
.public-surface--accent{ background:linear-gradient(180deg, color-mix(in srgb, var(--crm-surface) 84%, var(--crm-accent) 16%), color-mix(in srgb, var(--crm-surface) 92%, var(--crm-bg) 8%)); }
.public-feature-list{ display:grid; gap:12px; margin-top:18px; }
.public-feature{ padding:16px 18px; border-radius:18px; border:1px solid var(--crm-border); background:rgba(255,255,255,.02); display:grid; gap:4px; }
.public-feature b{ font-size:16px; }
.public-feature span{ color:var(--crm-muted); font-size:14px; }
.public-section{ margin-top:24px; border-radius:30px; padding:28px; }
.public-section__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-bottom:20px; }
.public-section__head p{ max-width:52ch; color:var(--crm-muted); }
.public-steps{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.public-step{ min-height:172px; padding:22px; border-radius:22px; border:1px solid var(--crm-border); background:var(--crm-surface-2); }
.public-step strong{ display:block; margin-bottom:10px; font-size:18px; letter-spacing:-.02em; }
.public-step p{ color:var(--crm-muted); margin:0; }
.public-section--split{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); gap:20px; background:transparent; border:none; box-shadow:none; padding:0; }
.public-links-list{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:10px; }
.public-links-list a{ display:flex; align-items:center; min-height:52px; padding:0 16px; border-radius:16px; border:1px solid var(--crm-border); background:var(--crm-surface-2); color:var(--crm-text); text-decoration:none; font-weight:700; }
.public-links-list a:hover{ border-color:color-mix(in srgb, var(--crm-accent) 36%, var(--crm-border) 64%); }
.public-footer{ padding:0 0 28px; }
.public-footer__inner{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; color:var(--crm-muted); }
.public-footer__links{ display:flex; flex-wrap:wrap; gap:14px; }
.public-footer__links a{ color:inherit; text-decoration:none; }
.public-footer__links a:hover{ color:var(--crm-text); }
.drawer-backdrop{ position:fixed; inset:0; background:rgba(15,23,42,.42); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); opacity:0; pointer-events:none; z-index:88; transition:opacity .18s ease; }
.drawer{ position:fixed; top:16px; right:16px; bottom:16px; width:min(420px, calc(100vw - 32px)); border-radius:26px; border:1px solid var(--crm-border); background:color-mix(in srgb, var(--crm-surface) 96%, var(--crm-bg) 4%); box-shadow:var(--crm-shadow-lg); transform:translateX(calc(100% + 24px)); transition:transform .24s ease; z-index:89; display:flex; flex-direction:column; }
.drawer-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:18px 18px 14px; border-bottom:1px solid var(--crm-border); }
.drawer-title{ font-size:18px; font-weight:800; }
.drawer-close{ min-height:40px; padding:0 14px; border-radius:12px; border:1px solid var(--crm-border); background:var(--crm-surface-2); color:var(--crm-text); cursor:pointer; }
.drawer-body{ padding:18px; display:grid; gap:18px; overflow:auto; }
.drawer-links{ display:grid; gap:10px; }
.drawer-links a{ display:grid; gap:4px; padding:16px; border-radius:18px; border:1px solid var(--crm-border); background:var(--crm-surface-2); color:var(--crm-text); text-decoration:none; }
.drawer-links a span{ color:var(--crm-muted); font-size:13px; }
.drawer-actions{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
body.menu-open .drawer-backdrop{ opacity:1; pointer-events:auto; }
body.menu-open .drawer{ transform:translateX(0); }

/* Auth */
.auth-main{ padding:28px 0 42px; }
.auth-layout{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr); gap:22px; align-items:stretch; }
.auth-hero, .auth-card{ border:1px solid var(--crm-border); background:color-mix(in srgb, var(--crm-surface) 95%, var(--crm-bg) 5%); box-shadow:var(--crm-shadow-sm); border-radius:30px; }
.auth-hero{ padding:32px; }
.auth-hero__grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; margin-top:24px; }
.auth-info-card{ min-height:108px; padding:18px; border-radius:20px; border:1px solid var(--crm-border); background:var(--crm-surface-2); display:grid; gap:8px; }
.auth-info-card strong{ font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--crm-muted); }
.auth-info-card span{ font-size:15px; }
.auth-info-card--links span{ line-height:1.55; }
.auth-info-card a{ color:inherit; }
.auth-card{ display:flex; flex-direction:column; overflow:hidden; }
.auth-card__head{ padding:28px 28px 18px; border-bottom:1px solid var(--crm-border); }
.auth-card__head h2{ margin:14px 0 8px; font-size:32px; letter-spacing:-.03em; }
.auth-card__head p{ margin:0; color:var(--crm-muted); }
.auth-form{ padding:26px 28px 28px; display:grid; gap:18px; }
.auth-field{ display:grid; gap:8px; }
.auth-field span{ font-size:12px; text-transform:uppercase; letter-spacing:.05em; font-weight:800; color:var(--crm-muted); }
.auth-field input{ width:100%; min-height:54px; padding:0 16px; font-size:15px; font-weight:700; }
.auth-password-wrap{ position:relative; }
.auth-password-wrap input{ padding-right:134px !important; }
.auth-password-toggle{ position:absolute; top:50%; right:8px; transform:translateY(-50%); min-height:40px; padding:0 16px; border-radius:12px; border:1px solid var(--crm-border); background:var(--crm-surface-2); color:var(--crm-text); font-weight:700; cursor:pointer; }
.auth-error{ padding:14px 16px; border-radius:16px; border:1px solid rgba(220,38,38,.28); background:rgba(220,38,38,.10); color:#fecaca; font-weight:700; }
html[data-theme="light"] .auth-error{ color:#991b1b; }
.auth-submit-block{ display:grid; gap:10px; }
.auth-submit{ min-height:54px !important; font-size:16px !important; }
.auth-note{ color:var(--crm-muted); font-size:13px; line-height:1.5; }

/* Docs */
body.crm-doc-page .container{ width:min(1320px, calc(100% - 48px)) !important; }
body.crm-doc-page .topbar,
body.crm-doc-page .hero,
body.crm-doc-page .card{ border-radius:26px !important; }
body.crm-doc-page .hero,
body.crm-doc-page .card,
body.crm-doc-page .topbar{ background:color-mix(in srgb, var(--crm-surface) 95%, var(--crm-bg) 5%) !important; }

@media (max-width: 1180px){
  .public-topbar__inner{ grid-template-columns:minmax(0,1fr) auto; }
  .public-nav{ display:none; }
  .public-burger{ display:inline-flex; }
  .public-actions__desktop{ display:none; }
  .auth-layout, .public-hero__grid, .public-section--split{ grid-template-columns:1fr; }
  .public-kpis, .public-steps, .auth-hero__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px){
  .public-container{ width:min(100%, calc(100% - 24px)); }
  .public-topbar{ padding-top:12px; }
  .public-topbar__inner{ gap:12px; padding:12px 14px; border-radius:20px; }
  .public-brand__logo{ width:42px; height:42px; flex-basis:42px; }
  body.crm-public-page h1, body.crm-auth-page h1{ max-width:none; }
  .public-hero, .public-section, .public-surface, .auth-hero, .auth-card{ border-radius:24px; }
  .public-hero, .public-section, .auth-hero{ padding:22px; }
  .public-kpis, .public-steps, .auth-hero__grid{ grid-template-columns:1fr; }
  .public-feature-list, .drawer-links{ gap:8px; }
  .drawer-actions{ grid-template-columns:1fr; }
  .auth-card__head, .auth-form{ padding-inline:20px; }
  .auth-card__head{ padding-top:22px; }
  .auth-form{ padding-bottom:22px; }
}
