/* Кабинет LexAtlas: только то, чего нет в общей оболочке сайта (/assets/site.css) — левая колонка, формы, таблицы, графики.
   Цвета, радиусы и шрифт — токены сайта (--bg, --text, --muted, --accent-*, --lx-*). Шапка и подвал приходят из site.css. */
.acc-main{ padding:0 6vw 24px; max-width:1200px; margin:0 auto; width:100%; }
.shell .acc-main{ padding:0; margin:0; max-width:none; }
.shell{ display:flex; align-items:flex-start; gap:28px; padding:0 6vw; max-width:1330px; margin:0 auto; width:100%; }
.content{ flex:1; min-width:0; }
.banner{ background:var(--lx-warn-bg); color:var(--lx-warn-ink); padding:10px 16px; font-weight:600; text-align:center; border:1px solid rgba(251,191,36,.28); border-radius:12px; margin:0 0 16px; }
body.lx.app .acc-main h1, .acc-main h1{ font-size:clamp(1.5rem, 2.4vw, 2rem); margin:0 0 16px; }
.acc-main h2{ font-size:1.05rem; margin:0 0 8px; }
.acc-main h3{ font-size:.95rem; margin:12px 0 4px; }

/* левая колонка — внутри страницы, под шапкой сайта */
.side{ width:230px; flex:none; position:sticky; top:20px; display:flex; flex-direction:column; gap:16px; padding:16px 12px;
  background:linear-gradient(160deg,var(--lx-card1),var(--lx-card2)); border:1px solid var(--lx-border); border-radius:16px; }
.side nav{ display:flex; flex-direction:column; gap:2px; }
.side nav a{ color:var(--muted); text-decoration:none; padding:8px 12px; border-radius:10px; font-weight:450; transition:color .18s,background .18s; }
.side nav a:hover{ color:#fff; background:rgba(255,255,255,.04); }
.side nav a.on{ color:#fff; font-weight:600; background:rgba(124,58,237,.16); box-shadow:inset 3px 0 0 var(--accent-2); }
.side-foot{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:12px 12px 0; border-top:1px solid var(--lx-border); }
.side-foot a.side-link{ color:var(--muted); text-decoration:none; padding:4px 0; }
.side-foot a.side-link:hover{ color:#fff; }
.who{ color:var(--muted); font-size:13.5px; word-break:break-all; }
form.inline{ display:inline; }

/* карточки кабинета = карточки сайта */
.card{ background:linear-gradient(160deg,var(--lx-card1),var(--lx-card2)); border:1px solid var(--lx-border); border-radius:16px; padding:22px; margin:0 0 16px; }
.card > :last-child{ margin-bottom:0; }
.narrow{ max-width:440px; margin:0 auto 16px; }
.grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.grid .card{ margin:0; }
.big{ font-size:2rem; font-weight:700; margin:0; letter-spacing:-.01em; }
.muted{ color:var(--muted); }
.err{ color:var(--lx-err); }
.ok{ color:var(--lx-ok); }
.key-once{ border-color:var(--lx-border-hi); }

/* формы и кнопки */
.acc-main label{ display:block; font-weight:600; font-size:14px; margin:14px 0 6px; }
.acc-main input{ width:100%; min-width:0; padding:12px 14px; border-radius:10px; font:inherit; font-size:14px; color:var(--text);
  background:rgba(255,255,255,.04); border:1px solid var(--lx-border); outline:none; transition:border-color .18s ease; }
.acc-main input:focus{ border-color:rgba(168,85,247,.6); }
.acc-main button, .side-foot button{ margin:12px 0 0; padding:12px 22px; border:0; border-radius:10px; font:inherit; font-size:14.5px; font-weight:600;
  color:#fff; cursor:pointer; white-space:nowrap; background:linear-gradient(135deg,var(--accent-1),var(--accent-2));
  box-shadow:0 4px 26px rgba(124,58,237,.42); transition:filter .18s ease; }
.acc-main button:hover{ filter:brightness(1.12); }
button.link{ background:none !important; box-shadow:none !important; color:var(--muted); padding:4px 0 !important; margin:0 !important; font-weight:400 !important; }
button.link:hover{ color:#fff; filter:none !important; }
button.danger{ background:none !important; box-shadow:none !important; color:var(--lx-err); border:1px solid var(--lx-err) !important; padding:4px 10px !important; margin:0 !important; font-weight:500 !important; }
form.quick{ display:flex; flex-wrap:wrap; gap:8px; }
form.quick button{ margin:0; }

/* таблицы, код, графики */
.scroll{ overflow-x:auto; }
table{ width:100%; border-collapse:collapse; font-size:14px; }
th, td{ text-align:left; padding:9px 10px; border-bottom:1px solid var(--lx-border); vertical-align:top; }
th{ color:var(--muted); font-weight:600; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; }
.num{ text-align:right; }
.acc-main code{ word-break:break-all; font-family:var(--mono); font-size:.92em; padding:4px 8px; border-radius:6px; background:rgba(255,255,255,.05); border:1px solid var(--lx-border); }
.acc-main ul{ padding-left:20px; margin:8px 0; }
.acc-main a{ color:var(--lx-p3); }
.chart{ width:100%; height:auto; }
.bar-all{ fill:#2c3a66; }
.bar-bill{ fill:var(--accent-2); }
.axis{ fill:var(--muted); font-size:11px; }

/* узкий экран: единственное меню-бургер — меню сайта (шапка); разделы кабинета — горизонтальная лента под шапкой */
@media (max-width:760px){
  .shell{ flex-direction:column; align-items:stretch; gap:16px; }
  .side{ width:auto; position:static; flex-direction:column; gap:8px; padding:10px; }
  .side nav{ flex-direction:row; flex-wrap:wrap; gap:6px; }   /* перенос вместо прокрутки: все разделы видны, полосы нет */
  .side nav a{ white-space:nowrap; padding:7px 14px; border:1px solid var(--lx-border); border-radius:999px; }
  .side nav a.on{ box-shadow:none; border-color:var(--lx-border-hi); }
  .side-foot{ flex-direction:row; flex-wrap:wrap; align-items:center; gap:6px 16px; padding:8px 4px 0; }
  .big{ font-size:1.6rem; }
}
