/* Оболочка портала corp — тот же вид, что у ЦУП (epdo/deploy/ui-v2.css): палитра, экран входа,
 * боковое меню, верхняя строка, телефонная раскладка. Подключается после design-tokens.css. */

:root{
  --bg:#F2F4F7; --surface:#FFFFFF; --surface-2:#F7F8FA; --surface-3:#EEF1F5;
  --text:#15202B; --text-muted:#5E6D7B; --text-faint:#8C99A5;
  --border:#E0E5EB; --border-strong:#C9D1DA; --grid-line:#EDF0F3;
  --accent:#2F6FEB; --brand-red:#D3232A; --brand-soft:#FCE9E9;
  --blue:#1D5EA8; --blue-soft:#E7EFF9;
  --crit:#C0342B; --crit-soft:#FBE6E4; --ok:#2E8350; --ok-soft:#E3F3E8; --warn:#B26F12; --warn-soft:#FCF1DE;
  --shadow:0 1px 2px rgba(21,32,43,.05),0 4px 14px rgba(21,32,43,.05);
  --v2-side:248px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0E1318; --surface:#161D25; --surface-2:#1C252F; --surface-3:#232D38;
  --text:#E8EDF2; --text-muted:#93A3B1; --text-faint:#66768A;
  --border:#2A3542; --border-strong:#3A4757; --grid-line:#1F2832;
  --accent:#6FA8FF; --brand-red:#EF4B50; --brand-soft:#3B1B1D;
  --blue:#62A2EC; --blue-soft:#172A3F;
  --crit:#F2867C; --crit-soft:#3A1E1B; --ok:#5CC08A; --ok-soft:#16301F; --warn:#E6B45A; --warn-soft:#33291A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.25);
}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 "Golos Text","Segoe UI",system-ui,sans-serif}
body.has-shell{padding-left:var(--v2-side)}
.btn,.btn-ghost,input,select,button{font-family:inherit}
.card{border-radius:12px;box-shadow:var(--shadow)}

/* ---------- экран входа (как в ЦУП) ---------- */
.gate{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px;z-index:900;overflow-y:auto}
.gate form{display:flex;flex-direction:column;gap:14px;width:100%;max-width:400px;margin:auto;
  background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:38px 34px;box-shadow:var(--shadow)}
.gate .logo-link{align-self:center;display:block;line-height:0}
.gate .logo{height:56px;width:auto;display:block}
.gate .sub{margin:0 0 4px;font-size:15px;color:var(--text-muted);text-align:center}
.gate .fld label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}
.gate input{width:100%;font-size:15px;padding:10px 12px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text)}
.gate input:focus{outline:2px solid var(--accent);outline-offset:-1px}
.gate .btn,.gate .btn-bitrix{font-size:15px;padding:12px 16px;border-radius:9px}
.gate .err{margin:0;font-size:14px}
.gate-divider{display:flex;align-items:center;gap:12px;margin:4px 0;color:var(--text-muted);font-size:13px}
.gate-divider::before,.gate-divider::after{content:"";flex:1;height:1px;background:var(--border)}
.btn-bitrix{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font:inherit;font-weight:600;cursor:pointer;
  border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none}
.btn-bitrix:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.btn-bitrix svg{flex:0 0 auto;display:block;width:20px;height:20px}

/* ---------- боковая панель ---------- */
.v2-side{position:fixed;left:0;top:0;bottom:0;width:var(--v2-side);z-index:45;background:var(--surface);
  border-right:1px solid var(--border);display:flex;flex-direction:column;gap:2px;padding:18px 14px;overflow-y:auto}
.v2-brand{display:flex;align-items:center;gap:10px;padding:0 6px 18px;text-decoration:none;color:var(--text)}
.v2-brand b{display:block;font-size:15px;line-height:1.2}
.v2-brand small{display:block;font-size:10.5px;color:var(--text-muted);line-height:1.25}
.v2-label{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);padding:12px 10px 4px}
.v2-nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--text);
  font-weight:500;font-size:13.5px;text-decoration:none;cursor:pointer}
.v2-nav a svg{width:18px;height:18px;flex:0 0 auto;stroke:var(--text-muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v2-nav a:hover{background:var(--surface-2)}
.v2-nav a.on{background:var(--brand-soft);color:var(--brand-red);font-weight:600}
.v2-nav a.on svg{stroke:var(--brand-red)}
.v2-nav a .ext{margin-left:auto;width:14px;height:14px;opacity:.5}
.v2-grow{flex:1}
.v2-me{display:flex;align-items:center;gap:10px;padding:10px 8px;border-top:1px solid var(--border);margin-top:6px}
.v2-ava{width:32px;height:32px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:12px;font-weight:700;flex:0 0 auto}
.v2-me .nm{min-width:0;flex:1}
.v2-me b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-me small{display:block;color:var(--text-muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-ibtn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);
  background:var(--surface);color:var(--text-muted);cursor:pointer;flex:0 0 auto}
.v2-ibtn:hover{color:var(--text);border-color:var(--border-strong)}
.v2-ibtn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v2-me .v2-ibtn{border:0;background:none;width:30px;height:30px}

/* ---------- страница и верхняя строка ---------- */
.page{padding:0 24px 40px}
.v2-top{position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:12px;margin:0 -24px 16px;padding:12px 24px;
  background:var(--surface);border-bottom:1px solid var(--border)}
.v2-top .ttl{min-width:0;flex:1}
.v2-top h1{margin:0;font-size:20px;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2-top .v2-burger{display:none}
.v2-scrim{display:none}

/* ---------- телефон ---------- */
@media (max-width: 900px){
  body.has-shell{padding-left:0}
  .page{padding:0 12px 40px}
  .v2-side{transform:translateX(-100%);transition:transform .2s,box-shadow .2s;z-index:950;box-shadow:none}
  .v2-side.on{transform:none;box-shadow:0 12px 40px rgba(21,32,43,.25)}   /* тень только у открытого меню, иначе она «просвечивает» на левом краю */
  .v2-scrim.on{display:block;position:fixed;inset:0;z-index:940;background:rgba(10,16,22,.45)}
  .v2-top{margin:0 -12px 12px;padding:10px 12px;gap:8px}
  .v2-top .v2-burger{display:inline-grid}
  .v2-top h1{font-size:17px}
  .gate form{padding:30px 22px}
}

/* значки порталов: красная плашка с буквой, как в иконках порталов (К, У, И, З, Ц, С, Ф) */
.pi{display:inline-grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:6px;background:var(--brand-red);color:#fff;font-weight:700;font-size:12px;line-height:1}
.pi.lg{width:40px;height:40px;border-radius:11px;font-size:20px}
.v2-nav a .pi{margin:-2px 0}
