/* IT-портал колледжа */
@font-face{font-family:Onest;font-weight:400;font-display:swap;src:url(fonts/onest-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-weight:500;font-display:swap;src:url(fonts/onest-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-weight:600;font-display:swap;src:url(fonts/onest-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-weight:700;font-display:swap;src:url(fonts/onest-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-weight:400;font-display:swap;src:url(fonts/onest-cyrillic-ext-400-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Onest;font-weight:500;font-display:swap;src:url(fonts/onest-cyrillic-ext-500-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Onest;font-weight:600;font-display:swap;src:url(fonts/onest-cyrillic-ext-600-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Onest;font-weight:700;font-display:swap;src:url(fonts/onest-cyrillic-ext-700-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Onest;font-weight:400;font-display:swap;src:url(fonts/onest-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;font-weight:500;font-display:swap;src:url(fonts/onest-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;font-weight:600;font-display:swap;src:url(fonts/onest-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;font-weight:700;font-display:swap;src:url(fonts/onest-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#EFEDE8; --surface:#FAF9F6; --surface-2:#F4F2EE; --line:#DEDAD2; --line-2:#CFCAC0;
  --ink:#16161A; --ink-2:#3A3A40; --muted:#6E6C67;
  --brand:#A3171E; --brand-ink:#7E0F15; --gold:#A8741A;
  --blue:#3E7BD6; --teal:#2E9C8A; --violet:#7458D4; --orange:#D2702A;
  --night:#17181B; --night-2:#222428; --night-line:#34363C; --night-ink:#ECEBE7; --night-muted:#9C9A94;
  --ok:#1E7A4C; --ok-bg:#E3F2E9; --warn:#9A5B05; --warn-bg:#FBF0DC; --err:#B3261E; --err-bg:#FBE7E5; --info-bg:#E6EEF9;
  --r:12px; --r-sm:8px;
  --focus:0 0 0 3px rgba(62,123,214,.35);
  --card:#fff; --on-ink:#fff; --ink-hover:#000; --hover-row:#f7f9fd; --hover-line:#c9d6ec;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Onest,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.5;color:var(--ink);background:var(--bg)}
a{color:var(--blue);text-underline-offset:2px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(26px,5vw,34px);font-weight:700}
h2{font-size:21px;font-weight:600}
h3{font-size:17px;font-weight:600}
p{margin:0 0 1em}
img,svg{display:block}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}
.muted{color:var(--muted)}
.small{font-size:14px}
.tiny{font-size:12.5px}
.nowrap{white-space:nowrap}
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- кнопки, поля ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 Onest,system-ui,sans-serif;padding:12px 18px;border-radius:var(--r-sm);border:1px solid var(--ink);background:var(--ink);color:var(--on-ink);cursor:pointer;text-decoration:none;min-height:44px}
.btn:hover{background:var(--ink-hover);border-color:var(--ink-hover)}
.btn.light{background:var(--surface);color:var(--ink);border-color:var(--line-2)}
.btn.light:hover{background:var(--card);border-color:var(--ink-2)}
.btn.red{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.red:hover{background:var(--brand-ink)}
.btn.danger{background:var(--err);border-color:var(--err);color:#fff}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}
.btn.ghost:hover{background:var(--surface-2)}
.btn.sm{padding:7px 12px;font-size:13.5px;min-height:34px}
.btn.wide{width:100%}
.btn svg{width:18px;height:18px}
label,.label{display:block;font-weight:600;font-size:14px;margin:16px 0 6px}
.hint{font-size:13px;color:var(--muted);margin-top:5px}
input,select,textarea{font:inherit;font-size:16px;width:100%;padding:11px 13px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--card);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:var(--focus)}
textarea{min-height:120px;resize:vertical}
input[type=checkbox],input[type=radio]{width:18px;height:18px;padding:0;accent-color:var(--ink)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:15px;margin:14px 0}
.check input{margin-top:2px;flex:none}
.field-err input,.field-err select,.field-err textarea{border-color:var(--err)}
.err-text{color:var(--err);font-size:13.5px;margin-top:5px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:620px){.grid2{grid-template-columns:1fr}}
.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.choice label{margin:0;display:flex;gap:9px;align-items:center;border:1px solid var(--line-2);background:var(--card);border-radius:var(--r-sm);padding:11px 12px;font-weight:500;cursor:pointer}
.choice input{width:16px;height:16px}
.choice label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}

.alert{padding:12px 14px;border-radius:var(--r-sm);margin:0 0 16px;font-size:15px;border:1px solid transparent}
.alert.ok{background:var(--ok-bg);color:var(--ok);border-color:#c8e6d4}
.alert.err{background:var(--err-bg);color:var(--err);border-color:#f3cbc7}
.alert.warn{background:var(--warn-bg);color:var(--warn);border-color:#f0dcb4}
.alert.info{background:var(--info-bg);color:#24508f;border-color:#cddcf2}

/* ---------- публичная часть ---------- */
.pub{min-height:100vh;display:flex;flex-direction:column}
.col{width:100%;max-width:580px;margin:0 auto;padding:0 16px}
.col.wide{max-width:760px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 0 0}
.topbar .home{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:15px}
.topbar .home svg{width:26px;height:30px}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);background:var(--surface);border-radius:99px;padding:6px 12px;font-size:13.5px;font-weight:600;color:var(--ink);text-decoration:none}
.pill:hover{border-color:var(--ink-2)}

.hero{text-align:center;padding:40px 0 30px;display:flex;flex-direction:column;align-items:center}
.shield{width:84px;height:100px;margin:0 auto 18px;filter:drop-shadow(0 10px 22px rgba(163,23,30,.28))}
.hero .org{font-weight:700;font-size:14px;letter-spacing:.24em;margin:0 0 8px;color:var(--ink)}
.hero .portal-tag{color:var(--gold);font-weight:700;font-size:12.5px;letter-spacing:.2em;margin:14px 0 24px;max-width:none;padding-left:.2em}
.hero h1{font-size:clamp(25px,5.4vw,32px);max-width:16em;margin:0 auto 10px}
.hero>p{color:var(--muted);margin:0;max-width:30em}

.news{margin:0 0 18px;display:grid;gap:10px}
.news .alert{margin:0}
.news b{display:block;margin-bottom:2px}

.svc-list{display:grid;gap:12px}
.svc{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;text-decoration:none;color:inherit;transition:border-color .15s, transform .15s}
.svc:hover{border-color:var(--line-2);transform:translateY(-1px)}
.svc .ico{flex:none;width:58px;height:58px;border-radius:10px;display:grid;place-items:center;color:#fff}
.svc .ico svg{width:26px;height:26px}
.svc .txt{flex:1;min-width:0}
.svc .txt b{display:block;font-size:17.5px;font-weight:700;margin-bottom:2px}
.svc .txt span{display:block;color:var(--muted);font-size:14px;line-height:1.4}
.svc .go{flex:none;width:36px;height:36px;border:1px solid var(--line-2);border-radius:8px;display:grid;place-items:center;color:var(--teal);background:var(--card)}
.svc .go svg{width:16px;height:16px}
.t-blue{background:linear-gradient(160deg,#5591e6,#3468bf)}
.t-teal{background:linear-gradient(160deg,#3db3a0,#24806f)}
.t-violet{background:linear-gradient(160deg,#8d73e6,#5f43bb)}
.t-orange{background:linear-gradient(160deg,#e98a42,#bf5e1b)}
.t-red{background:linear-gradient(160deg,#c23037,#8e1218)}

.cab{margin:26px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cab .t{flex:1 1 240px}
.cab .t b{display:block;color:var(--teal);font-size:13px;font-weight:700;letter-spacing:.06em;margin-bottom:4px}
.cab .t p{margin:0;color:var(--ink-2);font-size:15px}
.cab .btn{flex:0 0 auto;padding:15px 22px}

.live{margin:30px 0 0;background:var(--night);color:var(--night-ink);border-radius:var(--r);padding:28px 22px;text-align:center}
.live .lbl{display:inline-flex;align-items:center;gap:8px;color:var(--night-muted);font-size:12.5px;font-weight:700;letter-spacing:.12em}
.dot{width:8px;height:8px;border-radius:50%;background:#3fcf7a;box-shadow:0 0 0 0 rgba(63,207,122,.6);animation:pulse 2.4s infinite}
.dot.warn{background:#f0b429;animation:none}.dot.bad{background:#ef5350;animation:none}.dot.unk{background:#888;animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,207,122,.55)}70%{box-shadow:0 0 0 10px rgba(63,207,122,0)}100%{box-shadow:0 0 0 0 rgba(63,207,122,0)}}
.live .big{font-size:56px;font-weight:700;line-height:1;margin:14px 0 6px;font-variant-numeric:tabular-nums}
.live .sub{color:var(--night-muted);font-size:14px}
.live .online{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:#1d3a2b;color:#bfeccf;border-radius:99px;padding:7px 14px;font-weight:700;font-size:14px}
.live .sep{display:flex;align-items:center;gap:12px;color:#f2c14e;font-weight:600;font-size:14px;margin:22px 0 14px}
.live .sep::before,.live .sep::after{content:"";flex:1;height:1px;background:var(--night-line)}
.ipbox{display:inline-block;border:1px solid var(--night-line);background:var(--night-2);border-radius:10px;padding:10px 20px}
.ipbox small{display:block;color:var(--night-muted);font-size:11.5px;font-weight:700;letter-spacing:.1em}
.ipbox b{font-family:ui-monospace,Consolas,monospace;font-size:21px;letter-spacing:.04em}
.live .dev{margin-top:16px;color:var(--night-muted);font-size:14px}
.live .dev b{display:block;color:var(--night-ink);font-size:16px}
.status-rows{margin-top:22px;border-top:1px solid var(--night-line);padding-top:16px;display:grid;gap:8px;text-align:left}
.status-rows div{display:flex;align-items:center;gap:10px;font-size:14.5px}
.status-rows span:last-child{margin-left:auto;color:var(--night-muted)}

.foot{margin-top:auto;padding:34px 0 26px;text-align:center;color:var(--muted);font-size:13.5px}
.foot a{color:var(--ink-2)}
.foot .links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.card+.card{margin-top:14px}
.page-head{padding:28px 0 18px}
.page-head .ico{width:52px;height:52px;border-radius:10px;display:grid;place-items:center;color:#fff;margin-bottom:14px}
.page-head .ico svg{width:24px;height:24px}
.page-head p{color:var(--muted);margin:0}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:10px}
.steps li{counter-increment:s;display:flex;gap:12px;align-items:flex-start;font-size:15px}
.steps li::before{content:counter(s);flex:none;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--on-ink);font-weight:700;font-size:13px;display:grid;place-items:center}
.links-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.done{text-align:center}
.done .num{font-size:34px;font-weight:700;letter-spacing:.02em;margin:6px 0}
.codebox{display:inline-block;background:var(--surface-2);border:1px dashed var(--line-2);border-radius:10px;padding:10px 18px;font-family:ui-monospace,Consolas,monospace;font-size:22px;font-weight:700;letter-spacing:.12em}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:15px;margin:0}
.kv dt{color:var(--muted)}
.kv dd{margin:0;word-break:break-word}

/* лента сообщений */
.thread{display:grid;gap:12px}
.msg{border:1px solid var(--line);background:var(--card);border-radius:var(--r);padding:14px 16px}
.msg .h{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted);margin-bottom:6px}
.msg .h b{color:var(--ink)}
.msg.admin{border-color:#cfe0f5;background:#f5f9ff}
.msg.system{background:transparent;border-style:dashed;padding:8px 14px;font-size:14px;color:var(--muted)}
.msg.system .h{display:none}
.msg.internal{background:var(--card)8e6;border-color:#f0dcae}
.msg p:last-child,.msg ul:last-child{margin-bottom:0}
.prose p{margin:0 0 .9em}.prose ul{margin:0 0 .9em;padding-left:1.2em}.prose li{margin:.2em 0}

.badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap;border:1px solid transparent}
.s-new{background:#e6eefb;color:#24508f;border-color:#cddcf2}
.s-in_progress{background:#fbf0dc;color:#8a5205;border-color:#f0dcb4}
.s-waiting{background:#efe9fb;color:#5a3fae;border-color:#ddd2f4}
.s-resolved{background:var(--ok-bg);color:var(--ok);border-color:#c8e6d4}
.s-closed{background:#ecebe8;color:#55534e;border-color:#dcd9d2}
.s-rejected{background:var(--err-bg);color:var(--err);border-color:#f3cbc7}
.p-urgent{background:var(--err);color:#fff}.p-high{background:#fde2cf;color:#9a4508}.p-low{background:#ecebe8;color:#55534e}
.b-on{background:var(--ok-bg);color:var(--ok)}.b-off{background:var(--err-bg);color:var(--err)}.b-gray{background:#ecebe8;color:#55534e}

/* ---------- экраны входа ---------- */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--bg)}
.auth-box{width:100%;max-width:880px;display:grid;grid-template-columns:1fr 1.05fr;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.auth-side{background:var(--night);color:var(--night-ink);padding:36px 32px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.auth-side .shield{width:60px;height:72px;margin:0 0 22px}
.auth-side h2{font-size:24px;margin-bottom:8px}
.auth-side p{color:var(--night-muted);font-size:14.5px}
.auth-side ul{list-style:none;padding:0;margin:auto 0 0;display:grid;gap:12px;font-size:14px;color:var(--night-muted)}
.auth-side li{display:flex;gap:10px;align-items:flex-start}
.auth-side li svg{width:18px;height:18px;flex:none;color:#7fd3a7;margin-top:1px}
.auth-side::after{content:"";position:absolute;right:-90px;top:-90px;width:240px;height:240px;border-radius:50%;border:38px solid rgba(163,23,30,.25)}
.auth-main{padding:38px 34px}
.auth-main h1{font-size:26px;margin-bottom:6px}
.auth-main .lead{color:var(--muted);font-size:15px;margin-bottom:8px}
.auth-main .btn.wide{margin-top:20px}
.auth-small{max-width:440px;grid-template-columns:1fr}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:48px}
.pw-wrap button{position:absolute;right:4px;top:4px;height:38px;width:40px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:6px;display:grid;place-items:center}
.pw-wrap button svg{width:20px;height:20px}
.code-input{font-family:ui-monospace,Consolas,monospace;font-size:28px!important;letter-spacing:.4em;text-align:center;font-weight:700;padding:12px!important}
.tabs{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:4px;margin:18px 0 4px}
.tabs a{flex:1;text-align:center;white-space:nowrap;padding:9px 4px;font-size:13.5px!important;border-radius:7px;text-decoration:none;color:var(--ink-2);font-weight:600;font-size:14px}
.tabs a.on{background:var(--card);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.method{display:none}.method.on{display:block}
@media (max-width:760px){.auth-box{grid-template-columns:1fr}.auth-side{padding:26px 24px}.auth-side ul{margin-top:18px}.auth-main{padding:26px 22px}}

/* ---------- панель управления ---------- */
.cp{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{background:var(--night);color:var(--night-ink);padding:18px 12px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}
.side .brand{display:flex;gap:10px;align-items:center;padding:4px 8px 18px;color:#fff;text-decoration:none}
.side .brand svg{width:30px;height:36px}
.side .brand b{display:block;font-size:15px}
.side .brand small{display:block;color:var(--night-muted);font-size:12px}
.side nav{display:grid;gap:2px}
.side .grp{color:#77756f;font-size:11.5px;font-weight:700;letter-spacing:.1em;padding:16px 10px 6px}
.side a.it{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:#cfcdc7;text-decoration:none;font-size:14.5px;font-weight:500}
.side a.it svg{width:18px;height:18px;flex:none;opacity:.85}
.side a.it:hover{background:var(--night-2);color:#fff}
.side a.it.on{background:var(--card);color:var(--ink)}
.side a.it .n{margin-left:auto;background:var(--brand);color:#fff;font-size:11.5px;font-weight:700;border-radius:99px;padding:1px 7px}
.side a.it.on .n{background:#16161A}
.side a.it.sub{padding:6px 10px 6px 38px;font-size:13.5px}
.side .me{margin-top:auto;border-top:1px solid var(--night-line);padding:14px 8px 0;font-size:13px;color:var(--night-muted)}
.side .me b{display:block;color:#fff;font-size:13.5px;word-break:break-all}
.side .me .row{margin-top:10px}
.side .me .btn{background:var(--night-2);border-color:var(--night-line);color:#fff}
.main{padding:24px 28px 60px;min-width:0}
.head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.head h1{font-size:26px;margin:0}
.head .sub{color:var(--muted);font-size:14.5px;margin-top:4px}
.menu-btn{display:none}
@media (max-width:980px){
  .cp{grid-template-columns:1fr}
  .side{position:fixed;inset:0 auto 0 0;width:270px;z-index:30;transform:translateX(-100%);transition:transform .2s}
  .side.open{transform:none}
  .menu-btn{display:inline-flex}
  .main{padding:16px 16px 50px}
}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:16px}
.panel h2{font-size:17px;margin-bottom:12px}
.panel .ph{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.panel .ph h2{margin:0}
.cols{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}
.cols.even{grid-template-columns:1fr 1fr}
@media (max-width:1100px){.cols,.cols.even{grid-template-columns:1fr}}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:inherit;display:block}
.stat:hover{border-color:var(--line-2)}
.stat small{display:block;color:var(--muted);font-size:13.5px;font-weight:500}
.stat b{display:block;font-size:30px;line-height:1.15;margin-top:4px;font-variant-numeric:tabular-nums}
.stat span{font-size:13px;color:var(--muted)}
.stat.alarm b{color:var(--err)}
.bars{display:flex;align-items:flex-end;gap:6px;height:120px;padding-top:6px}
.bars div{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}
.bars i{display:block;width:100%;background:var(--ink-2);border-radius:4px 4px 0 0;min-height:2px}
.bars span{font-size:11px;color:var(--muted)}
.bars em{font-style:normal;font-size:11px;color:var(--ink-2);font-weight:600}
.meter{height:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;overflow:hidden;min-width:70px}
.meter i{display:block;height:100%;background:var(--teal)}
.meter.hot i{background:var(--err)}

.tbl-wrap{overflow-x:auto;margin:0 -2px}
table.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{text-align:left;font-size:12.5px;font-weight:600;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:var(--card)}
.tbl a.rowlink{color:var(--ink);font-weight:600;text-decoration:none}
.tbl a.rowlink:hover{text-decoration:underline}
.tbl .sm{font-size:13px;color:var(--muted)}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.filters input,.filters select{width:auto;min-width:0;padding:8px 11px;font-size:14.5px}
.filters input[type=search]{flex:1 1 220px}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;background:var(--card)}
.seg a{padding:7px 12px;font-size:13.5px;font-weight:600;color:var(--ink-2);text-decoration:none;border-right:1px solid var(--line)}
.seg a:last-child{border-right:0}
.seg a.on{background:var(--ink);color:var(--on-ink)}
.pager{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
.empty{padding:28px 10px;text-align:center;color:var(--muted)}
.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
details.danger summary{cursor:pointer;color:var(--err);font-size:13.5px;font-weight:600;list-style:none}
details.danger summary::-webkit-details-marker{display:none}
details.danger[open]{margin-top:6px}
.secret{font-family:ui-monospace,Consolas,monospace;font-size:21px;font-weight:700;background:var(--card);border:1px solid var(--line-2);border-radius:8px;padding:10px 14px;display:inline-block;letter-spacing:.04em;word-break:break-all}
.codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:360px;margin:12px 0}
.codes span{font-family:ui-monospace,Consolas,monospace;font-size:17px;font-weight:700;background:var(--card);border:1px solid var(--line-2);border-radius:6px;padding:8px;text-align:center;letter-spacing:.06em}
.qr{width:200px;height:200px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px}
.qr svg{width:100%;height:100%}
.kvs{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;font-size:14.5px}
.kvs dt{color:var(--muted)}.kvs dd{margin:0;word-break:break-word}
.side-stack{display:grid;gap:16px}
.log{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;white-space:pre-wrap;word-break:break-all}
.ok-t{color:var(--ok)}.err-t{color:var(--err)}
.overlay{display:none}
@media (max-width:980px){.overlay.on{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:25}}
@media print{.side,.no-print{display:none}.cp{display:block}}

/* ---------- вход в панель управления ---------- */
.cpa{min-height:100vh;background:radial-gradient(1200px 600px at 50% -10%,#2a1416 0%,rgba(23,24,27,0) 60%),var(--night);color:var(--night-ink);display:flex;flex-direction:column;align-items:center;padding:48px 16px 28px}
.cpa-head{text-align:center;margin-bottom:26px}
.cpa-head .shield{width:68px;height:82px;margin:0 auto 16px;filter:drop-shadow(0 12px 28px rgba(194,42,49,.45))}
.cpa-head .name{font-size:30px;font-weight:700;letter-spacing:-.01em;margin:0;color:#fff}
.cpa-head .role{margin:6px 0 0;color:#d9a441;font-size:13px;font-weight:700;letter-spacing:.2em}
.cpa-card{width:100%;max-width:420px;background:var(--surface);color:var(--ink);border-radius:16px;padding:30px 28px;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.cpa-card h1{font-size:21px;margin:0 0 4px}
.cpa-card .lead{color:var(--muted);font-size:14.5px;margin:0 0 6px}
.cpa-card .btn.wide{margin-top:20px;min-height:48px;font-size:16px}
.cpa-card .tabs{margin-top:14px}
.cpa-who{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:10px 0 2px;font-size:14px}
.cpa-who svg{width:20px;height:20px;color:var(--muted);flex:none}
.cpa-who a{margin-left:auto;font-size:13px}
.cpa-foot{margin-top:26px;display:flex;gap:18px;flex-wrap:wrap;justify-content:center;color:var(--night-muted);font-size:13px}
.cpa-foot span{display:inline-flex;align-items:center;gap:6px}
.cpa-foot svg{width:15px;height:15px;color:#7fd3a7}
.cpa-ip{margin-top:10px;color:#6f6d68;font-size:12px}

.panel a.plain{color:var(--ink);text-decoration:none}.panel a.plain:hover{text-decoration:underline}

/* логотип */
.hero-logo{width:min(330px,82vw);height:auto}
.topbar .home img{width:30px;height:30px}
.side .brand img{width:34px;height:34px;filter:brightness(0) invert(1)}
.cpa-logo{width:260px;height:auto;margin:0 auto 18px;filter:brightness(0) invert(1)}
.auth-logo{width:200px;height:auto;margin:0 0 24px;filter:brightness(0) invert(1)}
.cpa-mark{width:76px;height:76px;margin:0 auto 18px;display:block;filter:brightness(0) invert(1) drop-shadow(0 10px 30px rgba(191,0,2,.6))}

/* ---------- инструкция: макеты телефонов ---------- */
figure.shot{margin:0 0 1em}figure.shot img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
figure.shot figcaption{font-size:13px;color:var(--muted);margin-top:6px}
.settings-tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.settings-tbl th,.settings-tbl td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.settings-tbl th{font-size:12.5px;color:var(--muted);font-weight:600}
.settings-tbl td b{font-family:ui-monospace,Consolas,monospace;font-size:14px}
.os-tabs{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.os-tabs a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600}
.os-tabs a:hover{border-color:var(--ink-2)}
.gstep{display:grid;grid-template-columns:1fr 270px;gap:24px;align-items:start;padding:22px 0;border-top:1px solid var(--line)}
.gstep:first-of-type{border-top:0}
.gstep h3{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.gstep h3 .n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--on-ink);font-size:14px;display:grid;place-items:center}
.gstep .txt p{font-size:15px}
.gstep .txt code{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:14px}
@media (max-width:700px){.gstep{grid-template-columns:1fr}.gstep .phone{margin:0 auto}}
.phone{width:262px;background:#1b1b1d;border-radius:44px;padding:9px;box-shadow:0 18px 40px rgba(0,0,0,.18),inset 0 0 0 2px #3a3a3e}
.scr{border-radius:36px;min-height:500px;overflow:hidden;position:relative;font-family:-apple-system,"SF Pro Text",Roboto,"Segoe UI",sans-serif;font-size:12.5px;line-height:1.35}
.ios .scr{background:#F2F2F7;color:#000}
.and .scr{background:#FDFBFF;color:#1B1B1F;border-radius:30px;font-family:Roboto,"Google Sans",system-ui,sans-serif}
.and{border-radius:36px}
.sbar{display:flex;justify-content:space-between;align-items:center;padding:12px 22px 4px;font-weight:600;font-size:11.5px}
.island{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:86px;height:24px;background:#000;border-radius:14px}
.punch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:13px;height:13px;background:#000;border-radius:50%}
.ios .nav{display:flex;justify-content:space-between;padding:8px 14px 2px;color:#0A7AFF;font-size:13px}
.ios .ttl{font-size:23px;font-weight:700;padding:2px 16px 10px;letter-spacing:-.02em}
.ios .ttl.sm{font-size:15px;text-align:center;font-weight:600;padding:6px 16px 12px}
.ios .cap{font-size:10.5px;color:#6D6D72;padding:10px 28px 4px;text-transform:uppercase;letter-spacing:.02em}
.ios .ig{background:var(--card);border-radius:11px;margin:0 12px 10px;overflow:hidden}
.ios .ir{display:flex;justify-content:space-between;gap:8px;padding:9px 12px;border-bottom:.5px solid #D9D9DE;align-items:center}
.ios .ir:last-child{border-bottom:0}
.ios .ir span{color:#000;white-space:nowrap}
.ios .ir em{font-style:normal;color:#8A8A8E;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ios .ir.chev::after{content:"›";color:#C4C4C7;font-size:18px;line-height:1;margin-left:4px}
.ios .ir.hl{background:#EAF3FF}
.ios .ir.hl em{color:#0A7AFF;font-weight:600}
.ios .ir.tap{background:#EAF3FF}
.ios .ir.tap span{color:#0A7AFF;font-weight:600}
.ios .seg2{display:flex;margin:0 12px 10px;background:#E3E3E8;border-radius:9px;padding:2px}
.ios .seg2 b{flex:1;text-align:center;padding:5px;border-radius:7px;font-weight:600;font-size:12px}
.ios .seg2 b.on{background:var(--card);box-shadow:0 1px 2px rgba(0,0,0,.15)}
.ios .sw{width:34px;height:20px;border-radius:10px;background:#34C759;position:relative;flex:none}
.ios .sw::after{content:"";position:absolute;right:2px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--card)}
.and .abar{display:flex;align-items:center;gap:14px;padding:10px 16px 8px;font-size:16px}
.and .abar i{font-style:normal;font-size:18px}
.and .h{font-size:19px;padding:6px 18px 12px;font-weight:500}
.and .tf{margin:0 16px 12px;border:1px solid #74777F;border-radius:6px;padding:9px 11px 7px;position:relative}
.and .tf small{position:absolute;top:-8px;left:9px;background:#FDFBFF;padding:0 4px;font-size:10.5px;color:#44474F}
.and .tf b{font-weight:400}
.and .tf.hl{border:2px solid #3A5BA9}
.and .tf.hl small{color:#3A5BA9}
.and .tf.hl b{font-weight:600}
.and .opt{display:flex;align-items:center;gap:10px;padding:10px 18px}
.and .opt .rb{width:16px;height:16px;border-radius:50%;border:2px solid #44474F;flex:none}
.and .opt.on .rb{border-color:#3A5BA9;box-shadow:inset 0 0 0 3px #FDFBFF;background:#3A5BA9}
.and .btns{display:flex;justify-content:space-between;padding:10px 16px}
.and .pbtn{background:#3A5BA9;color:#fff;border-radius:20px;padding:8px 18px;font-weight:500}
.and .tbtn{color:#3A5BA9;font-weight:500;padding:8px 6px}
.and .item{display:flex;align-items:center;gap:12px;padding:11px 18px}
.and .item .ic{width:28px;height:28px;border-radius:50%;background:#DCE2F9;display:grid;place-items:center;font-size:13px;flex:none}
.and .item.tap{background:#E7ECFA}
.and .glogo{font-weight:700;font-size:15px;padding:6px 18px 2px;color:#444}
.mock-note{font-size:12px;color:var(--muted);margin-top:6px;text-align:center}
.and .tf b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tlist{display:grid;gap:10px}
.titem{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;text-decoration:none;color:inherit}
.titem:hover{border-color:var(--line-2)}
.titem .tt{min-width:0}
.titem .tt b{display:block;font-size:16px}
.titem .tt .sm{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.titem .ans{display:block;margin-top:8px;font-size:14px;color:#24508f;background:#f5f9ff;border:1px solid #cfe0f5;border-radius:8px;padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60ch}
/* темы Helpdesk */
.topics{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:620px){.topics{grid-template-columns:1fr}}
.topic{margin:0;display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;cursor:pointer;font-weight:400;position:relative}
.topic:hover{border-color:var(--ink-2)}
.topic input{position:absolute;opacity:0;pointer-events:none}
.topic .ti{flex:none;width:36px;height:36px;border-radius:9px;background:var(--surface-2);display:grid;place-items:center;color:var(--ink-2)}
.topic .ti svg{width:19px;height:19px}
.topic .tx{min-width:0}
.topic .tx b{display:block;font-size:15px;font-weight:600}
.topic .tx small{display:block;font-size:12.5px;color:var(--muted);line-height:1.35;margin-top:1px}
.topic:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--card)}
.topic:has(input:checked) .ti{background:var(--ink);color:var(--on-ink)}
.topic:has(input:focus-visible){box-shadow:var(--focus)}
.office-only{display:none}
.svc-form:has(input[name=category][value=office]:checked) .office-only{display:block}
.who{display:flex;align-items:center;gap:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 6px;font-size:14px;color:var(--muted)}
.who svg{width:20px;height:20px;flex:none}
.who b{display:block;color:var(--ink);font-size:15px}
.grp-only{display:none}
.notify-form:has(input[name=audience][value=group]:checked) .grp-only{display:block}
.card.unread{border-color:#cddcf2;background:#f7faff}
.sigpad{position:relative;border:1px dashed var(--line-2);border-radius:10px;background:var(--card);touch-action:none}
.sigpad canvas{display:block;width:100%;height:180px;cursor:crosshair}
.sigpad::after{content:"";position:absolute;left:24px;right:24px;bottom:40px;border-bottom:1px solid var(--line)}
.sigpad button{position:absolute;top:6px;right:6px}
.topics.c3{grid-template-columns:repeat(3,1fr)}
@media (max-width:720px){.topics.c3{grid-template-columns:1fr}}
details.inl summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:2px 4px;margin:-2px -4px}
details.inl summary::-webkit-details-marker{display:none}
details.inl summary:hover{background:var(--card)}
details.inl .pen svg,.icon-btn svg{width:15px;height:15px;color:var(--muted)}
details.inl[open] .pen{display:none}
.icon-btn{padding:6px 9px!important}
.r-student{background:#e6eefb;color:#24508f}.r-staff{background:#fbf0dc;color:#8a5205}.r-teacher{background:#e7f6ec;color:#1e7a4c}
.r-admin{background:#fbe7e5;color:#9b1c1c}.r-system{background:#ecebe8;color:#55534e}
.tbl .actions{flex-wrap:nowrap}
details.inl summary{white-space:nowrap}
.anon-card{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;padding:14px;border:1px solid var(--line-2);border-radius:10px;background:var(--card);cursor:pointer;font-weight:400}
.anon-card input{margin-top:9px;width:20px;height:20px;flex:none}
.anon-card .ti{flex:none;width:38px;height:38px;border-radius:9px;background:var(--surface-2);display:grid;place-items:center}
.anon-card .ti svg{width:20px;height:20px}
.anon-card b{display:block;font-size:15.5px}
.anon-card small{display:block;color:var(--muted);font-size:13px;line-height:1.4;margin-top:2px}
.anon-card:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.anon-card:has(input:checked) .ti{background:var(--ink);color:var(--on-ink)}
.svc-form:has(input[name=anonymous]:checked) .not-anon{display:none}
.bribe-only{display:none}
.svc-form:has(input[name=kind][value=bribe]:checked) .bribe-only{display:block}
.filebox{display:flex;align-items:center;gap:10px;margin:0;padding:12px 14px;border:1px dashed var(--line-2);border-radius:10px;background:var(--card);font-weight:400;font-size:14px;color:var(--muted);cursor:pointer;flex-wrap:wrap}
.filebox svg{width:20px;height:20px;flex:none}
.filebox input{width:auto;border:0;padding:0;font-size:14px;flex:1 1 200px}
/* аватар в кабинете */
.cab-head{display:flex;gap:16px;align-items:center}
.avatar{flex:none;width:72px;height:96px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line-2);overflow:hidden;display:grid;place-items:center;align-content:center;gap:2px;color:var(--muted);text-decoration:none;font-size:11.5px}
.avatar svg{width:24px;height:24px}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.big{width:120px;height:160px}
.avatar.big svg{width:40px;height:40px}

/* карточки пользователей в стиле удостоверения */
.idc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.idc{position:relative;display:flex;flex-direction:column;aspect-ratio:1.586;min-width:0;border-radius:14px;padding:12px 14px 0;overflow:hidden;
  color:#0f3142;text-decoration:none;border:1px solid #c5d9e4;
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(255,255,255,.75), transparent 55%),
    repeating-radial-gradient(circle at 78% 42%, rgba(24,92,128,.06) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(115deg, rgba(24,92,128,.035) 0 2px, transparent 2px 9px),
    linear-gradient(135deg,#e6f1f7 0%,#d3e7f1 48%,#efe9da 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 6px 18px rgba(16,48,66,.10);transition:transform .15s,box-shadow .15s}
a.idc:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 12px 26px rgba(16,48,66,.16)}
.idc::after{content:"";position:absolute;right:-30px;bottom:-40px;width:170px;height:170px;background:url(/static/logo-mark.svg) center/contain no-repeat;opacity:.06;pointer-events:none}
.idc.r-student{border-color:#b9d3e3}.idc.r-teacher{background-color:#e3f2ea}.idc.r-admin{border-color:#e4c0bd}.idc.r-system{filter:saturate(.3)}
.idc-head{display:flex;align-items:center;gap:8px;padding-bottom:7px;border-bottom:1px solid rgba(15,49,66,.18)}
.idc-logo{width:24px;height:24px}
.idc-org{min-width:0;flex:1;line-height:1.15}
.idc-org b{display:block;font-size:11.5px;letter-spacing:.14em}
.idc-org span{display:block;font-size:8.5px;letter-spacing:.06em;color:#3c6276;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idc-no{font-family:ui-monospace,Consolas,monospace;font-size:10.5px;font-weight:700;color:#8a1a1a;letter-spacing:.06em}
.idc-body{display:flex;gap:12px;padding-top:9px;flex:1;min-height:0}
.idc-photo{flex:none;width:27%;aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:#cfe0ea;display:grid;place-items:center;color:#7d9cab;
  box-shadow:0 0 0 2px rgba(255,255,255,.7)}
.idc-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02)}
.idc-photo svg{width:40%;height:40%}
.idc-f{margin:0;min-width:0;flex:1;display:grid;align-content:start;gap:0}
.idc-f dt{font-size:7.5px;letter-spacing:.07em;color:#4b7385;margin-top:4px}
.idc-f dd{margin:0;font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idc-f dd.big{font-size:14px;font-weight:700;letter-spacing:.02em}
.idc-f dd.login{font-size:10.5px}
.idc-f .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.idc-stats{display:flex;gap:10px;font-size:11px;font-weight:600;padding:5px 0 4px;color:#33586a}
.idc-stats span{display:inline-flex;align-items:center;gap:3px}
.idc-stats svg{width:12px;height:12px}
.idc-stats i{font-style:normal;opacity:.7}
.idc-stats .warn{color:#9a5b05}.idc-stats .bad{color:#b3261e}
.idc-mrz{margin:0 -14px;padding:3px 14px 5px;background:rgba(255,255,255,.55);font-family:ui-monospace,"OCR-B",Consolas,monospace;font-size:9.5px;letter-spacing:.12em;color:#2c4c5c;line-height:1.35;white-space:nowrap;overflow:hidden}
.idc-stamp{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) rotate(-14deg);border:3px solid rgba(179,38,30,.75);color:rgba(179,38,30,.85);font-weight:800;letter-spacing:.16em;padding:4px 12px;border-radius:6px;font-size:15px;background:rgba(255,255,255,.35)}
.idc.blocked .idc-photo img{filter:grayscale(1)}
.idc-solo{max-width:480px}
.idc-solo .idc{font-size:120%}
.idc-solo .idc-f dd.big{font-size:18px}.idc-solo .idc-f dd{font-size:13.5px}.idc-solo .idc-f dt{font-size:9px}
@media (max-width:420px){.idc-grid{grid-template-columns:1fr}}
.idc-f dd{line-height:1.3;padding-bottom:1px}.idc-f dd.big{line-height:1.2}.idc-f dt{line-height:1.2}
details.navgrp>summary{list-style:none;cursor:pointer}
details.navgrp>summary::-webkit-details-marker{display:none}
details.navgrp .chev{margin-left:auto;display:inline-flex;transition:transform .15s}
details.navgrp .chev svg{width:15px;height:15px}
details.navgrp[open] .chev{transform:rotate(90deg)}
.tbl.tk td{vertical-align:top}
.tbl.tk tr.is-new td:first-child{box-shadow:inset 3px 0 0 var(--brand)}
.badge svg{width:13px;height:13px}
.side summary.it{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:#cfcdc7;font-size:14.5px;font-weight:500}
.side summary.it>svg{width:18px;height:18px;flex:none;opacity:.85}
.side summary.it:hover{background:var(--night-2);color:#fff}
/* список заявок: каждая в рамке, строка нажимается целиком */
.tbl.tk{border-collapse:separate;border-spacing:0 8px;margin-top:-8px}
.tbl.tk thead th{border-bottom:0;padding-bottom:0}
.tbl.tk tbody td{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tbl.tk tbody td:first-child{border-left:1px solid var(--line);border-radius:10px 0 0 10px}
.tbl.tk tbody td:last-child{border-right:1px solid var(--line);border-radius:0 10px 10px 0}
.tbl.tk tbody tr{cursor:pointer}
.tbl.tk tbody tr:hover td{background:var(--hover-row);border-color:var(--hover-line)}
.tbl.tk tr.is-new td:first-child{box-shadow:inset 4px 0 0 var(--brand)}
.cell-link{color:inherit;text-decoration:none;display:block}
.panel:has(> .tbl-wrap > .tbl.tk){background:transparent;border:0;padding:0}

/* чат */
.chat{display:flex;flex-direction:column;gap:14px}
.bubble{display:flex;gap:10px;align-items:flex-end;max-width:86%}
.bubble.out{align-self:flex-end;flex-direction:row-reverse}
.ava{flex:none;width:34px;height:34px;border-radius:50%;background:#dfe6ee;color:#2f4a5f;display:grid;place-items:center;font-size:12px;font-weight:700}
.ava.it{background:var(--ink);color:var(--on-ink)}
.bb{background:var(--card);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:10px 14px;min-width:0}
.bubble.out .bb{background:#eef4ff;border-color:#d3e0f7;border-radius:16px 16px 4px 16px}
.bubble.note .bb{background:var(--card)8e6;border-color:#f0dcae}
.bh{display:flex;gap:8px;align-items:baseline;font-size:12.5px;color:var(--muted);margin-bottom:4px;flex-wrap:wrap}
.bh b{color:var(--ink);font-size:13.5px}
.bh em{font-style:normal;display:inline-flex;align-items:center;gap:3px;color:#8a5205}
.bh em svg{width:12px;height:12px}
.bh span{margin-left:auto}
.bb .prose p:last-child{margin-bottom:0}
.sysmsg{align-self:center;font-size:12.5px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:4px 12px}
.mfiles{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.mthumb{display:block;width:120px;height:90px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.mthumb img{width:100%;height:100%;object-fit:cover}
.mfile{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;color:var(--ink);max-width:260px}
.mfile svg{width:16px;height:16px;flex:none;color:var(--muted)}
.mfile b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mfile small{display:block;font-size:11.5px;color:var(--muted)}
.mreact{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin-top:8px}
.mreact form{margin:0}
.rchip{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:2px 8px;font-size:13px;cursor:pointer}
.rchip.mine{border-color:#9db8e8;background:#e3ecfb}
.rpick{position:relative}
.rpick summary{list-style:none;cursor:pointer;font-size:12.5px;color:var(--muted);border:1px dashed var(--line-2);border-radius:99px;padding:2px 8px}
.rpick summary::-webkit-details-marker{display:none}
.rpanel{position:absolute;bottom:130%;left:0;display:flex;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:99px;padding:4px 6px;box-shadow:0 8px 20px rgba(0,0,0,.12);z-index:5}
.bubble.out .rpanel{left:auto;right:0}
.rpanel button{border:0;background:transparent;font-size:19px;cursor:pointer;border-radius:8px;padding:2px 4px}
.rpanel button:hover{background:var(--surface-2);transform:scale(1.15)}
.attach{display:inline-flex;align-items:center;gap:8px;margin:12px 0 0;font-weight:600;font-size:14px;cursor:pointer;color:var(--ink-2);border:1px dashed var(--line-2);border-radius:8px;padding:8px 12px;background:var(--card)}
.attach svg{width:16px;height:16px}
.attach input{position:absolute;width:1px;height:1px;opacity:0}
.flist{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.fchip{font-size:12.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:3px 10px}
.fchip.bad{background:var(--err-bg);color:var(--err);border-color:#f3cbc7}
/* ссылки */
.prose a.lnk-unknown{text-decoration-style:dashed}
.prose a.lnk-unknown::after{content:" ↗";font-size:.85em}
.prose a.lnk-danger{color:var(--err);text-decoration-style:wavy}
.prose a.lnk-danger::before{content:"⚠ "}
.yt{display:block;position:relative;width:260px;max-width:100%;border-radius:12px;overflow:hidden;margin-top:8px;border:1px solid var(--line)}
.yt img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.yt span{position:absolute;left:8px;bottom:8px;background:#c4302b;color:#fff;font-weight:700;font-size:12.5px;padding:3px 9px;border-radius:6px}
.host{font-size:24px;font-weight:700;margin:4px 0;word-break:break-all}
@media (max-width:620px){.bubble{max-width:100%}.ava{display:none}}
/* правка/удаление сообщений */
.bh{position:relative}
.edited{font-style:normal;color:var(--muted);font-size:12px}
.mmenu{display:inline-block;margin-left:4px;vertical-align:middle}
.mmenu summary{list-style:none;cursor:pointer;color:var(--muted);border-radius:6px;padding:0 4px;line-height:1}
.mmenu summary::-webkit-details-marker{display:none}
.mmenu summary svg{width:18px;height:18px;vertical-align:middle}
.mmenu summary:hover{background:var(--surface-2);color:var(--ink)}
.mpanel{position:absolute;z-index:6;top:26px;right:0;width:min(360px,80vw);background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:12px;display:grid;gap:8px}
.bubble.in .mpanel{right:auto;left:0}
.mpanel form{margin:0}.mpanel textarea{min-height:70px}
.mpanel .btn svg{width:15px;height:15px}
.danger-t{color:var(--err)!important}
.bubble.gone .bb{background:var(--surface-2)!important;border-style:dashed}
.prose.deleted{color:var(--muted);font-style:italic}
/* голосовые в чате */
.voice{display:flex;align-items:center;gap:10px;margin-top:6px;min-width:250px;max-width:380px}
.vplay{flex:0 0 38px;height:38px;border-radius:50%;border:0;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;cursor:pointer}
.vplay svg{width:18px;height:18px;fill:currentColor}
.vplay .i-pause,.voice.playing .vplay .i-play{display:none}.voice.playing .vplay .i-pause{display:block}
.vwave{flex:1;display:flex;align-items:center;gap:2px;height:34px;cursor:pointer;min-width:0}
.vwave i{flex:1;min-width:2px;max-width:4px;border-radius:2px;background:#b9c3d3;transition:background .1s}
.vwave i.on{background:var(--blue)}
.bubble.in .vwave i.on{background:var(--ok)}
.vtime{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:34px}
.vspeed{border:1px solid var(--line);background:var(--surface);border-radius:99px;font-size:12px;padding:2px 7px;cursor:pointer;font-weight:600}
/* запись голосового */
.attach-row{display:flex;gap:8px;flex-wrap:wrap}
button.attach{font-family:inherit}
.vrec{display:flex;align-items:center;gap:10px;margin-top:12px;padding:8px 10px;border:1px solid var(--line);border-radius:99px;background:var(--card)}
.vrec[hidden],.vrec-msg[hidden],[data-vrec][hidden]{display:none}
.vrec button{flex:0 0 40px;height:40px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:var(--surface-2);color:var(--ink)}
.vrec button svg{width:20px;height:20px}
.vrec .vr-pause svg{fill:currentColor}.vrec .vr-pause .i-mic{display:none}
.vrec.paused .vr-pause .i-pause{display:none}.vrec.paused .vr-pause .i-mic{display:block;fill:none}
.vrec .vr-send{background:var(--ok);color:#fff}
.vrec .vr-del{color:var(--err)}
.vr-dot{width:10px;height:10px;border-radius:50%;background:var(--err);animation:vrblink 1s infinite}
.vrec.paused .vr-dot{animation:none;background:var(--muted)}
.vr-time{font-variant-numeric:tabular-nums;font-weight:600;min-width:40px}
.vr-wave{flex:1;min-width:60px;width:100%;height:44px}
.vrec.busy{opacity:.6;pointer-events:none}
@keyframes vrblink{50%{opacity:.2}}
@media (max-width:620px){.voice{min-width:0;width:100%}.vrec{gap:6px;padding:6px}.vrec button{flex-basis:44px;height:44px}}
/* контакты АУП */
.cols-2{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.sticky{position:sticky;top:16px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cgroup{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px;font-weight:700}
.cgroup:first-child{margin-top:0}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}
.ccard{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;position:relative;overflow:hidden}
.ccard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brand)}
.ccard.off{opacity:.55}.ccard.sel{box-shadow:0 0 0 2px var(--blue)}
.cph{flex:0 0 84px;height:112px;border-radius:10px;overflow:hidden;background:linear-gradient(160deg,#e7e3dc,#d6d0c5);display:grid;place-items:center}
.cph img{width:100%;height:100%;object-fit:cover}
.cph span{font-size:26px;font-weight:700;color:#6b655b}
.cbody{min-width:0;flex:1;display:flex;flex-direction:column}
.cpos{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--brand)}
.cname{font-size:17px;font-weight:700;margin:2px 0 8px;line-height:1.25}
.cmeta{display:grid;grid-template-columns:18px 1fr;gap:4px 8px;margin:0;font-size:14px;color:var(--ink-2)}
.cmeta dt svg{width:16px;height:16px;color:var(--muted);vertical-align:-3px}
.cmeta dd{margin:0;min-width:0;overflow-wrap:anywhere}
.cabout{font-size:13.5px;color:var(--muted);margin:8px 0 0}
.cact{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.cact form{margin:0}.cact .btn svg{width:15px;height:15px}
@media (max-width:1000px){.cols-2{grid-template-columns:1fr}.sticky{position:static}}
@media (max-width:520px){.cgrid{grid-template-columns:1fr}.cph{flex-basis:70px;height:94px}}
/* превью файлов */
.mthumb{cursor:zoom-in}
.mvideo{display:block;max-width:100%;width:320px;border-radius:10px;background:#000;margin-top:6px}
.mfile.pdf,.mfile.aud{display:inline-flex;align-items:stretch;padding:0;overflow:hidden}
.mfile .mf-open{display:flex;gap:10px;align-items:center;padding:8px 10px;color:inherit;text-decoration:none}
.mfile .mf-dl{display:grid;place-items:center;padding:0 12px;border-left:1px solid var(--line);color:var(--muted);text-decoration:none}
.mfile .mf-dl:hover{background:var(--surface-2);color:var(--ink)}
.mfile.aud audio{height:40px;margin:4px 6px;max-width:240px}
.ftype{font-style:normal;font-size:10.5px;font-weight:800;color:#fff;background:#d23b2f;border-radius:5px;padding:5px 5px;letter-spacing:.03em}
.lb{position:fixed;inset:0;z-index:100;background:rgba(10,10,12,.92);display:grid;place-items:center}
.lb img{max-width:94vw;max-height:84vh;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5);cursor:default}
.lb-bar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:14px;padding:12px 16px;color:#fff}
.lb-n{margin-right:auto;font-size:14px;opacity:.8}
.lb-dl{color:#fff;font-weight:600;font-size:14px;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:6px 12px;text-decoration:none}
.lb-x{background:none;border:0;color:#fff;font-size:32px;line-height:1;cursor:pointer}
.lb-p,.lb-nx{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:0;color:#fff;font-size:34px;width:48px;height:64px;border-radius:10px;cursor:pointer}
.lb-p{left:12px}.lb-nx{right:12px}
.lb-p[hidden],.lb-nx[hidden]{display:none}
/* живой чат */
.bubble.fresh .bb{animation:fresh 2.4s ease}
@keyframes fresh{0%{box-shadow:0 0 0 3px rgba(62,123,214,.45)}100%{box-shadow:0 0 0 0 rgba(62,123,214,0)}}
.toast{position:fixed;right:18px;bottom:18px;z-index:90;background:var(--ink);color:var(--on-ink);border-radius:12px;padding:12px 16px;max-width:340px;box-shadow:0 10px 30px rgba(0,0,0,.25);transform:translateY(20px);opacity:0;transition:.3s;text-decoration:none;display:grid;gap:2px;font-size:14px}
.toast span{color:#cfcfd4;font-size:13px}
.toast.show{transform:none;opacity:1}
/* баннеры кабинета */
.newmsg{display:flex;align-items:center;gap:12px;margin:16px 0 0;padding:12px 16px;border-radius:12px;background:#e7f0ff;border:1px solid #bcd2f5;color:var(--ink);text-decoration:none;animation:fresh 2.4s ease}
.newmsg b{display:block}.newmsg small{color:var(--ink-2)}
.nm-ico,.pb-ico{font-size:22px}
.nm-go{margin-left:auto;font-weight:700;color:var(--blue);white-space:nowrap}
.pushbar{display:flex;align-items:center;gap:12px;margin:12px 0 0;padding:10px 12px 10px 16px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.pushbar[hidden]{display:none}
.pb-txt{flex:1;min-width:0}.pb-txt b{display:block;font-size:14.5px}.pb-txt small{color:var(--muted);font-size:13px}
.pb-x{background:none;border:0;font-size:24px;color:var(--muted);cursor:pointer;line-height:1;padding:0 4px}
.pushbtn{margin-top:10px;width:100%;justify-content:center}
.pushbtn[hidden]{display:none}
.pushbtn.on{background:#24412f;border-color:#2f5a3e;color:#c8f0d5}
@media (max-width:620px){.newmsg,.pushbar{align-items:flex-start;flex-wrap:wrap}.nm-go{margin-left:34px}}
/* встречи */
.appt-card{display:flex;gap:14px;align-items:center;margin:14px 0;padding:14px 16px;border-radius:14px;background:#eaf6ee;border:1px solid #b9dfc6;color:var(--ink);text-decoration:none}
.appt-card.wait{background:var(--card)7e8;border-color:#f0dcae}
.appt-card .ac-ico{font-size:28px}
.appt-card small{display:block;color:var(--muted);font-size:12.5px}
.appt-card b{display:block;font-size:17px}
.appt-card span{color:var(--ink-2);font-size:14px}
.apptp.want{border-color:#f0c070;box-shadow:0 0 0 3px rgba(240,192,112,.25)}
.appt-now{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:#eaf6ee;border:1px solid #b9dfc6}
.appt-now b{font-size:15.5px}
.appt-quick{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line-2);background:var(--card);border-radius:99px;padding:4px 10px;font-size:12.5px;cursor:pointer;font-family:inherit}
.chip.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.appt-row{display:grid;gap:1px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);margin-bottom:6px;text-decoration:none;color:var(--ink)}
.appt-row span{font-size:13px;color:var(--muted)}
.appt-row.want{background:var(--card)7e8;border-color:#f0dcae}
.badge.appt{background:#e3f2e9;color:#1e6b43}
.badge.needv{background:#fbf0dc;color:#8a5205}
.badge.sm{margin-top:4px;font-size:11.5px;display:inline-block}
.needv-box{display:flex;gap:12px;align-items:flex-start;margin:16px 0 0;padding:14px;border:1px solid var(--line-2);border-radius:10px;background:var(--card);cursor:pointer;font-weight:400}
.needv-box input{margin-top:3px;width:18px;height:18px;flex:none}
.needv-box b{display:block;font-size:15px}.needv-box small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.needv-box:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.mthumb{width:150px;height:112px}
.mfiles .mthumb:only-of-type{width:auto;height:auto;max-width:min(300px,100%)}
.mfiles .mthumb:only-of-type img{max-height:320px;width:auto;max-width:100%;display:block}
/* резервные копии: прогресс */
.bk-live .ph{align-items:center}
.bk-pct{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.bk-bar{height:12px;border-radius:99px;background:var(--surface-2);overflow:hidden;border:1px solid var(--line)}
.bk-bar i{display:block;height:100%;background:var(--ok);border-radius:99px;transition:width .8s ease}
.bk-live.run .bk-bar i{background:linear-gradient(90deg,var(--blue),#6aa0ee,var(--blue));background-size:200% 100%;animation:bkmove 1.6s linear infinite}
.bk-live.error .bk-bar i{background:var(--err)}
@keyframes bkmove{to{background-position:-200% 0}}
.bk-step{margin-top:8px;font-size:14px;color:var(--ink-2)}
.bk-logw{margin-top:10px}.bk-logw summary{cursor:pointer;font-size:13px;color:var(--muted)}
.bk-log{background:#16171a;color:#d8e2d0;border-radius:10px;padding:12px;font-size:12.5px;max-height:320px;overflow:auto;white-space:pre-wrap;margin:8px 0 0}
.gd-ok{padding:8px 12px;border-radius:10px;background:#eaf6ee;border:1px solid #b9dfc6;margin-bottom:8px;font-size:14px;overflow-wrap:anywhere}
.gd-steps{display:grid;gap:18px}
.gd-step{display:flex;gap:14px;margin:0}
.gd-step>span{flex:none;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font-weight:700}
.gd-step>div{flex:1;min-width:0}.gd-step p{margin:4px 0 10px;color:var(--ink-2);font-size:14px}
/* страны */
.geo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.geo-grid .panel{margin:0}
.geo-row{display:grid;grid-template-columns:28px minmax(0,1.3fr) 1fr 44px;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.gf{font-size:20px}.gn{font-size:14px;font-weight:600}.gn small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.gb{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.gb i{display:block;height:100%;background:var(--blue);border-radius:99px}.gb i.bad{background:var(--err)}
.geo-row b{text-align:right;font-variant-numeric:tabular-nums}
.geo-l{font-family:Onest,system-ui,sans-serif;font-size:12px;color:var(--muted);white-space:nowrap}
@media (max-width:900px){.geo-grid{grid-template-columns:1fr}}
/* график приёма */
.sched{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface);display:grid;gap:10px}
.sched-pre{display:flex;flex-wrap:wrap;gap:6px}
.sched-row{display:grid;gap:8px;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.sched-row[data-extra]{display:none}
.sched-days{display:flex;gap:4px;flex-wrap:wrap}
.dchip{margin:0;cursor:pointer}
.dchip input{position:absolute;opacity:0;pointer-events:none}
.dchip span{display:inline-grid;place-items:center;width:38px;height:34px;border-radius:8px;border:1px solid var(--line-2);background:var(--card);font-size:13px;font-weight:600;color:var(--ink-2)}
.dchip input:checked+span{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.dchip input:focus-visible+span{box-shadow:var(--focus)}
.sched-time{display:flex;align-items:center;gap:8px}
.sched-time input{width:auto;flex:1;min-width:0}
.sched-time.lunch span:first-child{white-space:nowrap;font-size:14px}
/* график в карточке */
.cstat{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;margin:-4px 0 8px;color:var(--muted)}
.cstat i{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.cstat.open{color:var(--ok)}.cstat.open i{background:var(--ok);box-shadow:0 0 0 3px rgba(30,122,76,.18)}
.cstat.lunch,.cstat.later{color:var(--warn)}.cstat.lunch i,.cstat.later i{background:#e0a030}
.cstat.closed{color:var(--err)}.cstat.closed i{background:var(--err)}
.cweek{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:10px}
.cweek div{border-radius:7px;background:var(--surface-2);padding:5px 2px;text-align:center;display:grid;gap:1px}
.cweek b{font-size:11.5px}.cweek span{font-size:10.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.cweek .off{opacity:.45}
.cweek .today{background:var(--ink);color:var(--on-ink)}.cweek .today span{color:#ddd}
.cnote{font-size:12.5px;color:var(--muted);margin-top:6px}
.svc .txt{min-width:0;overflow-wrap:anywhere}
@media (max-width:620px){.svc-list{grid-template-columns:minmax(0,1fr)!important}}
/* окна подтверждения */
.mdl-wrap{position:fixed;inset:0;z-index:120;background:rgba(18,18,22,.45);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .18s}
.mdl-wrap.show{opacity:1}
.mdl{width:min(440px,100%);background:var(--card);border-radius:18px;padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.25);transform:translateY(12px) scale(.98);transition:transform .2s}
.mdl-wrap.show .mdl{transform:none}
.mdl h3{margin:0 0 8px;font-size:19px}
.mdl-text{color:var(--ink-2);font-size:15px;margin:0 0 4px}
.mdl-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:22px;background:#e6eef9;color:var(--blue);margin-bottom:12px}
.mdl-ico.danger{background:var(--err-bg);color:var(--err)}
.mdl-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}
.mdl-btns .btn.wide{width:100%;justify-content:center}
.mc-card{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;background:var(--surface-2);margin:10px 0}
.mc-card b{display:block}.mc-card span{color:var(--blue);font-weight:600;overflow-wrap:anywhere}
.mc-av{flex:none;width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--on-ink)!important;display:grid;place-items:center;font-weight:700}
.mc-list{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px;color:var(--ink-2)}
.mc-list li::before{content:"✓";color:var(--ok);font-weight:800;margin-right:8px}
.mc-bar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:14px 0 16px}
.mc-bar i{display:block;height:100%;width:0;background:var(--blue);border-radius:99px;transition:width .5s ease}
.mc-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mc-steps li{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:15px}
.mc-steps li::before{content:"";width:20px;height:20px;border-radius:50%;border:2px solid var(--line-2);flex:none;box-sizing:border-box}
.mc-steps li.now{color:var(--ink);font-weight:600}
.mc-steps li.now::before{border-color:var(--blue);border-top-color:transparent;animation:spin .8s linear infinite}
.mc-steps li.done{color:var(--ink)}
.mc-steps li.done::before{content:"✓";border:0;background:var(--ok);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
@keyframes spin{to{transform:rotate(360deg)}}
.mc-ok{display:grid;place-items:center;margin:4px 0 10px}
.mc-ok svg{width:64px;height:64px;fill:none;stroke:var(--ok);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.mc-ok circle{stroke-dasharray:151;stroke-dashoffset:151;animation:draw .5s ease forwards}
.mc-ok path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .35s .4s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.mdl:has(.mc-ok) h3,.mdl:has(.mc-ok) .mdl-text{text-align:center}
.mc-cred{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin-top:10px}
.mc-cred small{display:block;color:var(--muted);font-size:12px}.mc-cred b{font-size:16px;overflow-wrap:anywhere}
/* фото для идентификации */
.facecap{margin-top:18px}
.fc-stage{position:relative;width:min(300px,100%);aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:#1d1e22;margin:0 auto}
.fc-stage video,.fc-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fc-stage video{transform:scaleX(-1);opacity:0}
.facecap.live .fc-stage video{opacity:1}
.fc-oval{position:absolute;left:17%;right:17%;top:12%;bottom:22%;border:3px dashed rgba(255,255,255,.85);border-radius:50%;box-shadow:0 0 0 999px rgba(0,0,0,.28)}
.fc-oval[hidden],.fc-count[hidden],.fc-msg[hidden]{display:none}
.fc-count{position:absolute;inset:0;display:grid;place-items:center;font-size:84px;font-weight:800;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.5)}
.fc-flash{position:absolute;inset:0;background:var(--card);opacity:0;pointer-events:none}
.fc-flash.on{animation:flash .5s ease}
@keyframes flash{0%{opacity:.95}100%{opacity:0}}
.fc-msg{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;color:#cfd0d4;text-align:center;padding:24px;font-size:14px}
.fc-msg svg{width:40px;height:40px;margin:0 auto}
.fc-btns{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}
.fc-btns .btn[hidden]{display:none}
.fc-btns svg{width:18px;height:18px}
.fc-shot{background:var(--brand);border-color:var(--brand)}
.facecap.field-err .fc-stage{box-shadow:0 0 0 3px var(--err)}
.consent.field-err{border-color:var(--err)!important;box-shadow:0 0 0 1px var(--err)!important}
.shake{animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.btn.loading{opacity:.75;pointer-events:none}
.btn.loading::before{content:"";width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;display:inline-block;margin-right:8px;animation:spin .8s linear infinite;vertical-align:-2px}
.idphoto{display:block;margin:0 0 14px;border-radius:12px;overflow:hidden;border:1px solid var(--line);text-decoration:none}
.idphoto img{display:block;width:100%;max-height:340px;object-fit:cover}
.idphoto span{display:block;padding:8px 10px;font-size:12.5px;color:var(--ink-2);background:var(--surface-2)}
/* компьютеры */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.filters input{flex:1;min-width:220px}.filters select{width:auto}
.net{font-size:12.5px;font-weight:600}.net.on{color:var(--ok)}.net.off{color:var(--muted)}
.dbar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin-bottom:3px;width:120px}
.dbar i{display:block;height:100%;background:var(--blue)}.dbar.low i{background:var(--err)}
.dbar.big{width:auto;flex:1;height:10px;margin:0}
.badge.cs-work{background:#e3f2e9;color:#1e6b43}.badge.cs-repair{background:#fbf0dc;color:#8a5205}
.badge.cs-stock{background:#e6eef9;color:#2b5aa0}.badge.cs-off{background:#eee;color:#777}
.hw{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.hw small{display:block;color:var(--muted);font-size:12px}.hw b{font-size:14.5px;font-weight:600;overflow-wrap:anywhere}
.disk-row{display:flex;align-items:center;gap:12px;padding:6px 0}.disk-row span{font-size:13px;color:var(--ink-2);white-space:nowrap}
.hist-row{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
pre.code{background:#16171a;color:#d8e2d0;border-radius:10px;padding:10px 12px;font-size:12.5px;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 8px}
@media (max-width:700px){.hw{grid-template-columns:1fr}.hist-row{grid-template-columns:1fr}}
.src{display:inline-block;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.src-ok{background:#e3f2e9;color:#1e6b43}
.src-warn{background:var(--card)3cd;color:#8a5a00;border:1px solid #f3d27a}
.src-anon{background:#ece9f7;color:#5a46a8}
/* подсказки */
.tour-hl{position:absolute;z-index:140;border-radius:12px;box-shadow:0 0 0 3px var(--blue),0 0 0 9999px rgba(15,16,20,.35);pointer-events:none;transition:all .25s}
.tour-tip{position:absolute;z-index:141;background:var(--card);border-radius:14px;padding:14px 16px;box-shadow:0 16px 40px rgba(0,0,0,.25);transition:top .25s,left .25s}
.tour-tip p{margin:4px 0 12px;font-size:14.5px;line-height:1.45}
.tt-n{font-size:12px;color:var(--blue);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tt-b{display:flex;gap:6px;justify-content:flex-end}
.tt-arrow{position:absolute;width:14px;height:14px;background:var(--card);transform:translateX(-50%) rotate(45deg)}
.tour-tip.down .tt-arrow{top:-7px}.tour-tip.up .tt-arrow{bottom:-7px}
.mdl-pw{margin-top:4px}
/* карточка компьютера */
.osb{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:6px;background:#0067b8;color:#fff;font-size:12.5px;font-weight:600;white-space:nowrap}
.osb.w11{background:linear-gradient(135deg,#0078d4,#5b5fc7)}
.osb.osb-s{font-size:11.5px;padding:2px 7px;margin-bottom:3px}
.tbl .osb,.osb{color:#fff!important}
.osb::before{content:"";width:10px;height:10px;border-radius:2px;background:rgba(255,255,255,.85)}
.tabs{margin:4px 0 16px;display:inline-flex}
.gauges{display:flex;gap:28px;flex-wrap:wrap;margin:6px 0 10px}
.gauge{display:grid;justify-items:center;gap:6px;font-size:13px;color:var(--ink-2)}
.g-ring{width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--surface-2) 0);display:grid;place-items:center}
.g-ring b{width:70px;height:70px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-size:19px}
.spark{width:100%;height:90px;background:var(--surface);border-radius:10px;border:1px solid var(--line)}
.spark-l{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:4px}
.dk{display:inline-block;font-size:11px;font-weight:700;padding:1px 6px;border-radius:5px;background:var(--surface-2);color:var(--ink-2)}
.dk.ssd{background:#e3f2e9;color:#1e6b43}
.ctl-grid{display:grid;gap:8px}
.ctl-grid form{margin:0}.ctl-grid .btn{justify-content:flex-start}
.rename .row input{flex:1}
.cmd-list{margin-top:14px;display:grid;gap:6px;font-size:13px}
.cmd-list>div{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 9px;border-radius:8px;background:var(--surface-2)}
.cmd-list small{grid-column:1/-1;color:var(--muted);font-size:11.5px}
.cst{font-size:11.5px;font-weight:700}.cst.done{color:var(--ok)}.cst.error{color:var(--err)}.cst.new,.cst.sent{color:var(--warn)}
.fav{width:22px;height:22px;border-radius:6px;background:var(--surface-2);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--ink-2)}
.ucode{font-size:34px;font-weight:800;letter-spacing:.12em;font-variant-numeric:tabular-nums;background:var(--surface-2);border-radius:12px;padding:10px 16px;display:inline-block;margin:4px 0}
.seg.sm a{font-size:12.5px;padding:4px 10px}
.tbl.inv td{vertical-align:top}.tbl.inv tbody tr{cursor:pointer}.tbl.inv tbody tr:hover{background:var(--surface-2)}

.panel.okp{border-color:#c8e6d4;background:#f6fbf8}.panel.infop{border-color:#cddcf2;background:#f6f9fe}
.side a.it .n[hidden]{display:none}
/* моя почта */
.mb-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.mb-tabs{display:flex;gap:4px;flex-wrap:wrap}
.mb-tabs a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none;border:1px solid transparent;transition:background .15s,color .15s}
.mb-tabs a:hover{background:var(--hover-row)}
.mb-tabs a.on{background:var(--ink);color:var(--on-ink)}
.mb-tabs a b{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--blue);color:#fff;font-size:11.5px;text-align:center}
.mb-search{display:flex;gap:6px;flex:1;min-width:220px}.mb-search input{padding:9px 12px;font-size:14.5px}
.mb-tools{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);min-height:50px;flex-wrap:wrap}
.mb-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;opacity:.45;pointer-events:none;transition:opacity .15s}
.mb-acts.on{opacity:1;pointer-events:auto}
.mb-acts .btn svg{width:15px;height:15px}
.mb-sel{font-size:13px;color:var(--muted)}
.mb-info{margin-left:auto;font-size:13px;color:var(--muted)}
.mb-tools>.btn svg{width:16px;height:16px}
.danger-t{color:var(--err)!important}
.mb-ck{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0;cursor:pointer}
.mb-ck input{width:17px;height:17px;margin:0;accent-color:var(--blue)}
.mb-row{display:grid;grid-template-columns:26px 26px minmax(120px,230px) minmax(0,1fr) 20px 70px;gap:10px;align-items:center;padding:9px 14px 9px 12px;border-bottom:1px solid var(--line);color:var(--ink-2);font-size:14.5px;cursor:pointer;transition:background .12s}
.mb-row:last-child{border-bottom:0}.mb-row:hover{background:var(--hover-row)}
.mb-row.sel{background:var(--info-bg)}
.mb-row>a{color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mb-row.unread{color:var(--ink);font-weight:700;box-shadow:inset 3px 0 0 var(--blue)}
.mb-to{color:var(--muted);font-weight:400}
.mb-ans{display:inline-flex;vertical-align:-2px;margin-right:6px;color:var(--muted)}.mb-ans svg{width:14px;height:14px}
.mb-att svg{width:15px;height:15px;color:var(--muted)}
.mb-date{text-align:right;color:var(--muted);font-size:13px;font-weight:400;white-space:nowrap}
.mb-row.unread .mb-date{color:var(--ink);font-weight:700}
.mb-star{border:0;background:none;padding:2px;cursor:pointer;color:var(--line-2);display:flex}
.mb-star svg{width:18px;height:18px}.mb-star:hover{color:var(--gold)}
.mb-star.on,.mb-star-i.on{color:#f5a524}.mb-star.on svg,.mb-star-i.on svg{fill:#f5a524}
.mb-star-i{display:inline-flex}
.mb-pages{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:14px;font-size:14px;color:var(--muted)}
.mb-readbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.mb-readbar .row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.mb-readbar form{display:flex;gap:6px}
.mb-readbar .btn svg{width:16px;height:16px}
.mb-msg{padding:22px 24px}
.mb-title{font-size:22px;margin:0 0 16px;line-height:1.3;overflow-wrap:anywhere}
.mb-who{display:flex;gap:12px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line)}
.mb-av{width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;flex:none}
.mb-who-t{flex:1;min-width:0;font-size:14.5px;overflow-wrap:anywhere}
.mb-when{white-space:nowrap}
.mb-det summary{display:inline;cursor:pointer;color:var(--blue);margin-left:4px}
.mb-det .kvs{margin-top:8px;font-size:13px}
.mb-body{margin-top:16px;font-size:15px;overflow-wrap:anywhere}
.mb-frame{display:block;width:100%;height:300px;border:0;margin-top:16px;border-radius:8px;background:#fff}
.mb-imgs{margin-top:14px;padding:9px 12px;border-radius:8px;background:var(--warn-bg);font-size:13.5px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mb-atts-h{margin-top:20px;font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.mb-thumb{display:block;width:44px;height:44px;border-radius:6px;overflow:hidden;flex:none;background:var(--surface-2)}
.mb-thumb img{width:100%;height:100%;object-fit:cover}
.mb-quick{display:flex;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.mb-quick .btn svg{width:16px;height:16px}
.mc-form{padding:6px 20px 18px}
.mc-line{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);min-height:50px}
.mc-line>label{width:64px;flex:none;margin:0;font-size:14px;color:var(--muted);font-weight:600}
.mc-line>input{border:0;background:transparent;box-shadow:none;padding:12px 0;font-size:15px;flex:1}
.mc-line>input:focus{outline:none;box-shadow:none}
.mc-line[hidden]{display:none}
.mc-more{display:flex;gap:10px;flex:none}
.lnk{border:0;background:none;padding:0;color:var(--blue);font-size:13.5px;font-weight:600;cursor:pointer}
.rcpt{flex:1;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 0;position:relative;min-width:0}
.rcpt-in{flex:1;min-width:180px;border:0!important;background:transparent!important;box-shadow:none!important;padding:5px 2px!important;font-size:15px}
.rcpt-in:focus{outline:none}
.chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 6px 4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line-2);font-size:13.5px;line-height:1.3}
.chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip small{color:var(--muted)}
.chip.bad{background:var(--err-bg);border-color:var(--err);color:var(--err)}
.chip button{border:0;background:none;cursor:pointer;color:var(--muted);font-size:16px;line-height:1;padding:0 3px}
.chip button:hover{color:var(--err)}
.ac{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--card);border:1px solid var(--line-2);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.18);max-height:320px;overflow:auto;padding:4px}
.ac div{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:7px;cursor:pointer}
.ac div.on,.ac div:hover{background:var(--hover-row)}
.ac i{width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;font-size:13px;flex:none}
.ac b{display:block;font-size:14px}.ac small{display:block;font-size:12.5px;color:var(--muted)}
.ac mark{background:none;color:var(--blue);font-weight:700;padding:0}
.mc-body{display:block;width:100%;min-height:280px;margin-top:12px;border:0;background:transparent;box-shadow:none;padding:6px 0;font-size:15px;line-height:1.55;resize:vertical;font-family:inherit}
.mc-body:focus{outline:none;box-shadow:none}
.mc-drop{margin-top:10px;padding:12px;border:1.5px dashed var(--line-2);border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;transition:background .15s,border-color .15s}
.mc-drop.over{background:var(--info-bg);border-color:var(--blue)}
.mc-files{display:flex;flex-wrap:wrap;gap:8px;width:100%}.mc-files:empty{display:none}
.mc-file{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);max-width:280px;margin:0;font-weight:400;cursor:default}
.mc-file svg{width:15px;height:15px;color:var(--muted);flex:none}
.mc-file b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.mc-file small{display:block;font-size:11.5px;color:var(--muted)}
.mc-file button{border:0;background:none;cursor:pointer;color:var(--muted);font-size:17px;padding:0 3px}
.mc-file.keep input{margin:0;accent-color:var(--blue)}
.mc-add{display:inline-flex;gap:6px;align-items:center;margin:0;padding:8px 12px;border-radius:8px;background:var(--surface-2);font-size:14px;font-weight:600;cursor:pointer}
.mc-add svg{width:16px;height:16px}
.mc-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}
.mc-foot .btn svg{width:16px;height:16px}
.mc-err{color:var(--err);font-size:14px;font-weight:600}
.mc-hint{margin-left:auto}
.mc-sending{opacity:.6;pointer-events:none}
@media (max-width:700px){.mb-row{grid-template-columns:26px minmax(0,1fr) auto;gap:4px 8px}.mb-star,.mb-att{display:none}
  .mb-from{grid-column:2}.mb-date{grid-column:3}.mb-subj{grid-column:2/-1;font-size:13.5px}
  .mb-msg{padding:16px}.mc-form{padding:4px 14px 14px}.mc-hint{display:none}.mb-info{display:none}}
/* погода на обзоре */
.wx-date{font-size:13.5px;color:var(--muted);font-weight:600}
.wx-main{display:flex;align-items:center;gap:12px;margin:10px 0 8px}
.wx-ico{font-size:40px;line-height:1}
.wx-main b{font-size:40px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}
.wx-txt{font-size:15px;font-weight:600;line-height:1.3}.wx-txt small{display:block;font-weight:400;color:var(--muted);font-size:13px}
.wx-kv{font-size:13.5px}
/* запись на приём */
.bk-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}
.bk-day{flex:0 0 auto;display:grid;gap:1px;text-align:center;min-width:76px;padding:8px 10px;border:1px solid var(--line-2);border-radius:10px;background:var(--card);text-decoration:none;color:var(--ink)}
.bk-day b{font-size:13px}.bk-day span{font-size:15px;font-weight:700}.bk-day small{font-size:11px;color:var(--ok)}
.bk-day.full small{color:var(--muted)}.bk-day.full{opacity:.6}
.bk-day.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
.bk-slot{margin:0;cursor:pointer}
.bk-slot input{position:absolute;opacity:0;pointer-events:none}
.bk-slot span{display:block;text-align:center;padding:9px 0;border:1px solid var(--line-2);border-radius:8px;background:var(--card);font-weight:600;font-variant-numeric:tabular-nums}
.bk-slot input:checked+span{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.bk-slot.busy span{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.bk-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.bk-row:last-child{border-bottom:0}.bk-row>div{flex:1;min-width:0}
.bk-row b{display:block}.bk-row span:not(.ac-ico){display:block;font-size:14px;color:var(--ink-2)}.bk-row small{display:block;color:var(--muted)}
.bk-row .ac-ico{font-size:24px}.bk-row form{margin:0}
/* заявки: поиск и статусы */
.tk-filter{display:grid;gap:12px;margin:0 0 14px}
.tk-search{position:relative;display:flex;align-items:center;margin:0}
.tk-search svg{position:absolute;left:14px;width:18px;height:18px;color:var(--muted);pointer-events:none}
.tk-search input{padding:13px 40px 13px 42px;font-size:15.5px;border-radius:12px;transition:border-color .2s,box-shadow .2s}
.tk-clear{position:absolute;right:12px;font-size:22px;line-height:1;color:var(--muted);text-decoration:none}
.tk-chips{display:flex;gap:8px;flex-wrap:wrap}
.tk-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:99px;border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);font-size:14.5px;font-weight:600;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .18s}
.tk-chip:hover{border-color:var(--ink-2);transform:translateY(-1px)}
.tk-chip span{min-width:22px;text-align:center;padding:1px 7px;border-radius:99px;background:var(--surface-2);font-size:12.5px;font-variant-numeric:tabular-nums}
.tk-chip.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.tk-chip.on span{background:rgba(255,255,255,.18);color:inherit}
.tk-chip.st-new:not(.on) span{background:#e6eefb;color:#24508f}
.tk-chip.st-open:not(.on) span{background:#fbf0dc;color:#8a5205}
.btn{transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform .12s}
.btn:active{transform:scale(.98)}
.mc-prog{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:6px 0 4px}
.mc-prog i{display:block;height:100%;background:var(--blue);border-radius:99px;transition:width .25s}
.mdl-ico.ok{background:var(--ok-bg);color:var(--ok)}
@media (max-width:700px){.mb-acts:not(.on){display:none}.mb-tools{min-height:44px}}
@media (max-width:700px){.rcpt-in{min-width:90px}.mc-line{flex-wrap:wrap}.mc-line>label{width:auto;min-width:56px}.mc-more{margin-left:auto}}
.mail-peek{padding:16px 18px;margin-bottom:16px}
.mp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.mp-title{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-size:16px}
.mp-title svg{width:20px;height:20px;color:var(--blue)}
.mp-n{padding:2px 8px;border-radius:999px;background:var(--blue);color:#fff;font-size:12px;font-weight:700}
.mp-acts{display:flex;gap:6px}.mp-acts .btn svg{width:15px;height:15px}
.mp-row{display:flex;align-items:center;gap:12px;padding:9px 6px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink-2);border-radius:6px}
.mp-row:hover{background:var(--hover-row)}
.mp-av{width:34px;height:34px;border-radius:50%;background:var(--surface-2);color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.mp-row.unread .mp-av{background:var(--blue);color:#fff}
.mp-t{flex:1;min-width:0;display:flex;flex-direction:column}
.mp-t b,.mp-t span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-t b{font-size:14px;font-weight:600;color:var(--ink)}.mp-t span{font-size:13.5px}
.mp-row.unread .mp-t b,.mp-row.unread .mp-t span{font-weight:700;color:var(--ink)}
.mp-d{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--muted);white-space:nowrap}.mp-d svg{width:14px;height:14px}
.mp-empty{padding:12px 4px;color:var(--muted);font-size:14px;border-top:1px solid var(--line)}
.mp-all{display:block;padding:10px 6px 0;border-top:1px solid var(--line);font-size:14px;font-weight:600}
.col.xwide{max-width:1100px}
.mc-line{position:relative}.mc-line .rcpt{position:static}
/* замена железа */
.hw-badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--warn-bg);color:var(--warn);font-size:11.5px;font-weight:700;vertical-align:1px;white-space:nowrap}
.hw-box{margin:0 0 16px;padding:16px 18px;border-radius:var(--r);border:1.5px solid var(--warn);background:var(--warn-bg)}
.hw-box-h{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
.hw-box-h b{display:block;font-size:16px}.hw-box-h span{font-size:13.5px;color:var(--ink-2)}
.hw-ico{width:36px;height:36px;border-radius:50%;background:var(--warn);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.hw-ch{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--card);margin-top:8px}
.hw-part{font-weight:700;font-size:14px}
.hw-ba{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px;min-width:0}
.hw-ba small{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.hw-ba s{color:var(--muted)}.hw-ba b{color:var(--ink)}
.hw-arr{font-size:18px;color:var(--warn);font-weight:700}
.hw-mods{display:block;margin-top:4px;font-size:12.5px;font-weight:400;color:var(--muted);line-height:1.45}
.hw-alert{border-color:var(--warn)}
@media (max-width:700px){.hw-ch{grid-template-columns:1fr}}
/* безопасность: кнопки разбана и белый список */
.unban-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.btn-unban{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:0;background:var(--ok);color:#fff;font:600 13.5px/1 Onest,system-ui,sans-serif;cursor:pointer;box-shadow:0 1px 0 rgba(0,0,0,.08),0 4px 12px -4px var(--ok);transition:transform .12s,filter .15s,box-shadow .15s}
.btn-unban svg{width:16px;height:16px}
.btn-unban:hover{filter:brightness(1.08);box-shadow:0 6px 16px -6px var(--ok)}
.btn-unban:active{transform:scale(.96)}
.btn-unban.sm{padding:5px 10px;font-size:12.5px;margin-top:6px}
.lnk-sm{border:0;background:none;padding:2px 0;font-size:12.5px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.lnk-sm:hover{color:var(--ink)}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid transparent;background:none;color:var(--muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.icon-btn svg{width:17px;height:17px}
.icon-btn:hover{background:var(--err-bg);color:var(--err);border-color:var(--err-bg)}
.wl-ip{display:inline-flex;align-items:center;gap:6px}.wl-ip svg{width:15px;height:15px;color:var(--ok)}
.ev-n{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:11.5px;font-weight:700}
.ev-act{margin:0}
/* ---------- отзывчивость интерфейса: нажатия, наведение, загрузка ---------- */
html{-webkit-tap-highlight-color:transparent}
a.stat,.svc,.appt-row,.mp-row,.mb-row,tr[data-href],.mfile,.mc-file{cursor:pointer}
a.stat{transition:border-color .15s,transform .15s,box-shadow .15s}
a.stat:hover,.svc:hover{transform:translateY(-2px);box-shadow:0 8px 22px -14px rgba(0,0,0,.35);border-color:var(--line-2)}
a.stat:active,.svc:active,.appt-row:active,.mp-row:active{transform:translateY(0) scale(.985)}
tr[data-href]{transition:background .12s}
tr[data-href]:hover td{background:var(--hover-row)}
tr[data-href]:active td{background:var(--hover-line)}
.btn{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}
.btn:active{transform:scale(.96)}
.btn:focus-visible,.icon-btn:focus-visible,.btn-unban:focus-visible{box-shadow:var(--focus)}
.btn .rip{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.22;transform:scale(0);animation:rip .5s ease-out forwards}
@keyframes rip{to{transform:scale(1);opacity:0}}
.btn.is-busy{color:transparent!important;pointer-events:none}
.btn.is-busy svg{opacity:0}
.btn.is-busy::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border-radius:50%;border:2.5px solid var(--on-ink);border-right-color:transparent;animation:spin .7s linear infinite}
.btn.light.is-busy::after,.btn.ghost.is-busy::after{border-color:var(--ink);border-right-color:transparent}
@keyframes spin{to{transform:rotate(360deg)}}
input[type=checkbox],input[type=radio],select,label[for],summary{cursor:pointer}
.sfx-btn{font-size:13px}
@media (max-width:700px){.btn.sm{min-height:38px}.icon-btn{width:40px;height:40px}}
@media (prefers-reduced-motion:reduce){.btn:active,a.stat:hover,.svc:hover{transform:none}.btn .rip{display:none}}
/* меню: вложенная группа «Обращения» */
details.nav2>summary{list-style:none}
details.nav2>summary::-webkit-details-marker{display:none}
details.nav2>summary.it.sub{display:flex;align-items:center;gap:6px}
details.nav2>summary .n{margin-left:auto}
details.nav2>summary .n+.chev{margin-left:6px}
.nav2-list{margin:2px 0 4px 38px;padding-left:8px;border-left:1.5px solid var(--night-line);animation:nav2 .18s ease-out}
@keyframes nav2{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.side a.it.sub2{padding:6px 10px;font-size:13px}
/* вкладки группы на странице заявок */
.grp-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 14px}
.grp-tabs a{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);font-weight:600;font-size:14px;text-decoration:none;transition:background .15s,color .15s,transform .12s}
.grp-tabs a:hover{background:var(--hover-row)}
.grp-tabs a:active{transform:scale(.96)}
.grp-tabs a.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.grp-tabs a b{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--brand);color:#fff;font-size:11.5px;text-align:center}
.side summary.it.sub{padding:6px 10px 6px 38px;font-size:13.5px;border-radius:8px;color:#cfcdc7;font-weight:500;cursor:pointer}
.side summary.it.sub:hover{background:var(--night-2);color:#fff}
.side summary.it .n{background:var(--brand);color:#fff;font-size:11.5px;font-weight:700;border-radius:99px;padding:1px 7px}
details.nav2[open]>summary.it.sub{color:#fff}
/* меню панели: сворачиваемые группы и компактный низ */
details.navsec>summary.grp{list-style:none;display:flex;align-items:center;cursor:pointer;border-radius:8px;transition:color .15s,background .15s;-webkit-user-select:none;user-select:none}
details.navsec>summary.grp::-webkit-details-marker{display:none}
details.navsec>summary.grp:hover{color:#cfcdc7;background:var(--night-2)}
details.navsec>summary .chev{margin-left:auto;display:inline-flex;transition:transform .18s}
details.navsec>summary .chev svg{width:14px;height:14px}
details.navsec[open]>summary .chev{transform:rotate(90deg)}
details.navsec[open]>a{animation:nav2 .18s ease-out}
details.navsec{display:grid;gap:2px}
.side nav{padding-bottom:6px}
.side .me{padding-top:12px}
.me-tools{display:flex;gap:6px;margin-top:10px}
.me-ic{flex:1;height:36px;border-radius:9px;border:1px solid var(--night-line);background:var(--night-2);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .12s,border-color .15s}
.me-ic:hover{background:#2b2b31;border-color:#3a3a42}
.me-ic:active{transform:scale(.94)}
.me-ic[hidden]{display:none}
.me-ic.on{background:#24412f;border-color:#2f5a3e}
.me-ic.off{opacity:.55}
.me-ic:disabled{opacity:.4;cursor:not-allowed}
.side .me .row{margin-top:8px}
.side .me .row .btn{flex:1}
.me-ic.pushbtn{margin-top:0;width:auto}
/* запись на приём: статусы, карточка, переписка */
.bst{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;margin-top:4px;white-space:nowrap}
.bst-pending{background:var(--warn-bg);color:var(--warn)}
.bst-confirmed{background:var(--ok-bg);color:var(--ok)}
.bst-cancelled,.bst-noshow{background:var(--err-bg);color:var(--err)}
.bst-done{background:var(--surface-2);color:var(--ink-2)}
.bst-new{background:var(--blue);color:#fff}
a.bk-link{text-decoration:none;color:inherit;border-radius:10px;transition:background .15s}
a.bk-link:hover{background:var(--hover-row)}
a.bk-link .go{margin-left:auto;color:var(--muted);display:flex}a.bk-link .go svg{width:16px;height:16px}
a.bk-link.unseen{box-shadow:inset 3px 0 0 var(--blue)}
.bk-hero{display:flex;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px;position:relative;overflow:hidden}
.bk-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--warn)}
.bk-hero.st-confirmed::before,.bk-hero.st-done::before{background:var(--ok)}
.bk-hero.st-cancelled::before,.bk-hero.st-noshow::before{background:var(--err)}
.bk-hero .cph{flex:0 0 72px;height:96px}
.bk-hero-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.bk-when{font-size:21px;line-height:1.25}
.bk-room{font-weight:600}
.bth{display:flex;flex-direction:column;gap:10px}
.bmsg{display:flex}.bmsg.me{justify-content:flex-end}
.bmsg .bb{max-width:78%;padding:10px 13px;border-radius:14px;background:var(--surface-2);font-size:14.5px;overflow-wrap:anywhere}
.bmsg.me .bb{background:var(--blue);color:#fff;border-bottom-right-radius:4px}
.bmsg.them .bb{border-bottom-left-radius:4px}
.bmsg .bb small{display:block;font-size:11.5px;opacity:.7;margin-bottom:3px}
.bmsg .bb p{margin:0 0 6px}.bmsg .bb p:last-child{margin:0}
.bmsg.me .bb a{color:#fff}
.bsys{align-self:center;font-size:12.5px;color:var(--muted);background:var(--surface);border:1px dashed var(--line-2);padding:4px 12px;border-radius:999px;text-align:center}
.bth-form{display:flex;gap:8px;align-items:flex-end;margin-top:14px}
.bth-form textarea{flex:1;min-height:52px;max-height:200px}
@media (max-width:600px){.bth-form{flex-direction:column;align-items:stretch}.bmsg .bb{max-width:90%}}
/* ---------- панель администрации ---------- */
.mg-side .auth-logo{filter:brightness(0) invert(1);opacity:.95}
.mg-kicker{display:inline-block;margin-top:18px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.mg-head{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--surface-2);margin-bottom:18px}
.mg-head .shield{width:36px;height:44px;flex:none}
.mg-head b{display:block;font-size:15px}.mg-head span{font-size:12.5px;color:var(--muted)}
.mg-list{display:flex;flex-direction:column}
.mg-row{display:grid;grid-template-columns:62px 44px minmax(150px,1.2fr) minmax(0,2fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;text-decoration:none;color:inherit;border-bottom:1px solid var(--line);transition:background .12s}
.mg-row:last-child{border-bottom:0}
.mg-row:hover{background:var(--hover-row)}
.mg-row.unseen{box-shadow:inset 3px 0 0 var(--blue)}
.mg-row.st-cancelled,.mg-row.st-noshow{opacity:.6}
.mg-time b{display:block;font-size:17px;font-variant-numeric:tabular-nums}.mg-time small{font-size:12px;color:var(--muted)}
.mg-av{width:44px;height:44px;border-radius:50%;overflow:hidden;background:linear-gradient(160deg,#e7e3dc,#d6d0c5);display:grid;place-items:center;font-weight:700;color:#6b655b;font-size:15px}
.mg-av img{width:100%;height:100%;object-fit:cover}
.mg-who{min-width:0}.mg-who b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mg-who small{font-size:12.5px;color:var(--muted)}
.mg-why{font-size:13.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-day{padding:14px 12px 4px;font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.mg-new{border-color:var(--warn)}
.n.soft{background:var(--night-line)!important}
.scard{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:16px}
.scard-top{display:flex;gap:18px;align-items:center;padding:20px;background:linear-gradient(135deg,var(--night),#2a2a33);color:#fff}
.scard-ph{width:96px;height:120px;border-radius:14px;overflow:hidden;flex:none;background:#3a3a44;display:grid;place-items:center;box-shadow:0 8px 24px -10px rgba(0,0,0,.6)}
.scard-ph img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.scard-ph span{font-size:32px;font-weight:700;color:#aaa}
.scard-t{min-width:0}.scard-t h1{color:#fff;font-size:24px;margin:4px 0 8px;overflow-wrap:anywhere}
.scard-role{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.scard-c{display:flex;gap:14px;flex-wrap:wrap}
.scard-c a{display:inline-flex;align-items:center;gap:6px;color:#e8e6e1;font-size:14px;text-decoration:none}
.scard-c a:hover{color:#fff;text-decoration:underline}.scard-c svg{width:16px;height:16px}
.scard-when{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);position:relative}
.scard-when::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--warn)}
.scard-when.st-confirmed::before,.scard-when.st-done::before{background:var(--ok)}
.scard-when.st-cancelled::before,.scard-when.st-noshow::before{background:var(--err)}
.scard-when small,.scard-q small{display:block;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.scard-when b{font-size:16px}.scard-when span.muted{display:block}
.scard-q{padding:14px 20px;font-size:15px;overflow-wrap:anywhere}
.scard-meta{padding:0 20px 14px}
.mg-acts{display:grid;gap:10px}.mg-acts h2{margin:0}
.mg-acts form{margin:0}
.btn-ok{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px;padding:12px;border-radius:var(--r-sm);border:0;background:var(--ok);color:#fff;font:600 15px/1 Onest,system-ui,sans-serif;cursor:pointer;transition:filter .15s,transform .12s}
.btn-ok:hover{filter:brightness(1.08)}.btn-ok:active{transform:scale(.97)}.btn-ok svg{width:18px;height:18px}
.mg-move>summary{list-style:none}.mg-move>summary::-webkit-details-marker{display:none}
.mg-move[open]>summary{margin-bottom:8px}
.mg-move form{padding:12px;border-radius:12px;background:var(--surface-2)}
.bk-days.mini .bk-day{min-width:62px;padding:6px 8px;cursor:pointer}
.bk-days.mini .bk-day span{font-size:13px}
.mg-hist{display:grid;gap:2px;padding:9px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;font-size:13.5px}
.mg-hist:last-child{border-bottom:0}.mg-hist span{color:var(--muted)}.mg-hist .bst{justify-self:start;color:inherit}
.switch-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--surface-2);margin:0 0 6px;cursor:pointer}
.switch-row input{width:20px;height:20px;margin-top:2px;accent-color:var(--ok)}
.switch-row b{display:block}.switch-row small{color:var(--muted);font-weight:400}
@media (max-width:800px){.mg-row{grid-template-columns:52px 40px minmax(0,1fr) auto}.mg-why{display:none}
  .scard-top{flex-direction:column;align-items:flex-start}.scard-when{grid-template-columns:1fr 1fr}}
.mg-cols>div,.cols>div{min-width:0}
.bk-days.mini{flex-wrap:wrap;overflow:visible}
.me-ic svg{width:18px;height:18px}
.bk-days.mini{gap:6px}.bk-days.mini .bk-day{margin:0}
.bst-await{background:var(--info-bg);color:var(--blue)}
.bst-declined{background:var(--err-bg);color:var(--err)}
.bk-ask{border:2px solid var(--blue);background:var(--info-bg);border-radius:16px;padding:16px;margin-bottom:14px}
.bk-ask-h{display:flex;gap:10px;align-items:center}.bk-ask-h>span{font-size:24px}
.bk-ask-h b{display:block;font-size:16px}.bk-ask-h small{color:var(--muted)}
.bk-ask-when{font-size:22px;font-weight:700;margin:10px 0 12px}
.bk-ask-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.bk-ask-btns .btn-ok{margin:0;width:auto;padding:12px 18px}
.bk-no>summary{list-style:none}.bk-no>summary::-webkit-details-marker{display:none}
.bk-no[open]{flex-basis:100%}.bk-no form{margin-top:8px;display:grid;gap:8px}.bk-no textarea{min-height:60px}
.bk-topics,.bk-comp{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:6px}
.bk-topic{margin:0;cursor:pointer}
.bk-topic input{position:absolute;opacity:0;pointer-events:none}
.bk-topic span{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1.5px solid var(--line-2);border-radius:12px;background:var(--card);font-weight:600;font-size:14.5px;transition:border-color .15s,background .15s,transform .12s}
.bk-topic span i{font-style:normal;font-size:20px}
.bk-topic:hover span{border-color:var(--ink-2)}
.bk-topic input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--on-ink)}
.bk-topic input:focus-visible+span{box-shadow:var(--focus)}
.bk-topic:active span{transform:scale(.97)}
/* ---------- чат по записи на приём ---------- */
.bk-info{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.bk-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--surface-2);font-size:13px;font-weight:600}
.bk-chip.fam{background:#fdf0dc;color:#8a5a12}
.bk-q{font-size:14px;color:var(--ink-2)}
.scard-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.mg-topic{display:inline-block;margin-right:6px;padding:2px 8px;border-radius:999px;background:var(--surface-2);font-size:12px;font-weight:600;color:var(--ink)}
.mg-fam{margin-right:6px}
.mg-r{color:var(--ink-2)}
.mg-topics{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 12px}
.mg-topics a{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;color:var(--ink-2);border:1px dashed var(--line-2)}
.mg-topics a:hover{background:var(--hover-row)}
.mg-topics a.on{border-style:solid;border-color:var(--ink);color:var(--ink);background:var(--card)}
.bchat{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px -22px rgba(0,0,0,.4)}
.bchat-head{display:flex;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
.bchat-av{width:40px;height:40px;border-radius:50%;overflow:hidden;flex:none;background:linear-gradient(135deg,#5b8def,#3d63c9);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px}
.bchat-av img{width:100%;height:100%;object-fit:cover}
.bchat-head b{display:block;font-size:15px}.bchat-head small{font-size:12.5px;color:var(--muted)}
.bchat-scroll{display:flex;flex-direction:column;gap:3px;padding:16px 14px;min-height:260px;max-height:min(62vh,620px);overflow-y:auto;scroll-behavior:smooth;
  background:radial-gradient(circle at 20% 10%,rgba(91,141,239,.06),transparent 40%),radial-gradient(circle at 80% 90%,rgba(196,30,58,.05),transparent 40%),var(--card)}
.bchat-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:14px;text-align:center;max-width:280px}
.bchat-empty::first-letter{font-size:34px}
.bm-day{align-self:center;margin:10px 0 6px;position:sticky;top:0;z-index:2}
.bm-day span{display:inline-block;padding:3px 12px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:12px;font-weight:600;box-shadow:0 2px 6px -3px rgba(0,0,0,.2)}
.bm-sys{align-self:center;margin:6px 0;max-width:86%;text-align:center}
.bm-sys span{display:inline-block;padding:5px 12px;border-radius:10px;font-size:12.5px;color:var(--ink-2);background:var(--surface);border:1px dashed var(--line-2)}
.bm{display:flex;margin-top:6px;animation:bmIn .28s cubic-bezier(.2,.8,.3,1.2)}
.bm.cont{margin-top:1px}
.bm.me{justify-content:flex-end}
@keyframes bmIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.bm .bb{position:relative;max-width:min(78%,520px);padding:8px 11px 6px;border-radius:18px;font-size:15px;line-height:1.42;overflow-wrap:anywhere;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.bm.them .bb{background:var(--surface-2);color:var(--ink);border-bottom-left-radius:6px}
.bm.me .bb{background:linear-gradient(135deg,#4f86ef,#3a66d6);color:#fff;border-bottom-right-radius:6px}
.bm.them.cont .bb{border-top-left-radius:6px}.bm.me.cont .bb{border-top-right-radius:6px}
.bm .bb p{margin:0 0 4px}.bm .bb p:last-child{margin:0}
.bm.me .bb a{color:#fff}
.bb-t{display:inline}
.bt{float:right;margin:6px 0 -2px 10px;font-size:11px;opacity:.65;display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums;white-space:nowrap}
.tick{display:inline-block;width:15px;height:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 5l3 3 6-7' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 5l3 3 6-7' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat center/contain}
.tick.read{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 5l3 3 6-7M6 8l1 0 6-7' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 5l3 3 6-7M6 8l1 0 6-7' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E");color:#b9f5c9;opacity:1}
.bm.me .bt{opacity:.85}
.bb-imgs{display:grid;gap:3px;margin:-3px -6px 6px;border-radius:14px;overflow:hidden}
.bb-imgs.n1{grid-template-columns:1fr}.bb-imgs.n2{grid-template-columns:1fr 1fr}.bb-imgs.n3{grid-template-columns:1fr 1fr 1fr}
.bb-imgs a{display:block;aspect-ratio:4/3;background:rgba(0,0,0,.08)}
.bb-imgs.n1 a{aspect-ratio:auto;max-height:320px}
.bb-imgs img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in;transition:transform .2s}
.bb-imgs a:hover img{transform:scale(1.03)}
.bb-file{display:flex;align-items:center;gap:10px;padding:8px 10px;margin:2px 0 6px;border-radius:12px;background:rgba(0,0,0,.06);color:inherit;text-decoration:none;min-width:200px;transition:background .15s}
.bm.me .bb-file{background:rgba(255,255,255,.16)}
.bb-file:hover{background:rgba(0,0,0,.1)}.bm.me .bb-file:hover{background:rgba(255,255,255,.26)}
.bb-fi{width:38px;height:38px;border-radius:10px;background:#e2493c;color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;flex:none;letter-spacing:.02em}
.bb-file b{display:block;font-size:13.5px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-file small{font-size:11.5px;opacity:.75}
.bchat-form{border-top:1px solid var(--line);padding:10px 12px;background:var(--surface)}
.bchat-bar{display:flex;align-items:flex-end;gap:8px}
.bchat-bar textarea{flex:1;min-height:44px;max-height:180px;resize:none;border-radius:22px;padding:11px 16px;font-size:15px;line-height:1.4;background:var(--card);transition:border-color .15s,box-shadow .15s}
.bchat-clip,.bchat-send{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;cursor:pointer;margin:0;transition:transform .12s,background .15s,opacity .15s}
.bchat-clip{color:var(--muted);background:transparent}.bchat-clip:hover{background:var(--hover-row);color:var(--ink)}
.bchat-clip svg{width:22px;height:22px}
.bchat-send{border:0;background:linear-gradient(135deg,#4f86ef,#3a66d6);color:#fff;box-shadow:0 6px 14px -6px #3a66d6}
.bchat-send svg{width:20px;height:20px;margin-left:2px}
.bchat-send:hover{filter:brightness(1.07)}.bchat-clip:active,.bchat-send:active{transform:scale(.9)}
.bchat-send:disabled{opacity:.5;pointer-events:none}
.bchat-send.busy svg{animation:spin .8s linear infinite}
.bchat-prev{display:flex;gap:8px;flex-wrap:wrap;padding:0 4px 8px}
.bchat-prev .pv{position:relative;width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--surface-2);display:grid;place-items:center;font-size:11px;font-weight:700;text-align:center;padding:4px;animation:bmIn .2s}
.bchat-prev .pv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bchat-prev .pv button{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:13px;line-height:1;cursor:pointer;z-index:1}
.bchat-err{color:var(--err);font-size:13px;padding:6px 6px 0}
.bchat-closed{padding:12px;text-align:center;color:var(--muted);font-size:13.5px;border-top:1px solid var(--line)}
.bchat.drag .bchat-scroll{outline:2px dashed var(--blue);outline-offset:-8px}
.bchat-new{position:sticky;bottom:6px;align-self:center;padding:6px 14px;border-radius:999px;border:0;background:var(--ink);color:var(--on-ink);font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 6px 16px -6px rgba(0,0,0,.4);animation:bmIn .25s}
@media (max-width:600px){.bm .bb{max-width:86%}.bchat-scroll{max-height:60vh;padding:12px 10px}}
/* панель администрации: календарь, студенты, статистика */
.mg-top{gap:8px;flex-wrap:wrap}.mg-top .btn svg{width:17px;height:17px}
.mcal{user-select:none}
.mcal-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.mcal-h b{font-size:16px;min-width:130px;text-align:center}
.mcal-nav{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:var(--ink);font-size:22px;line-height:1;border:1px solid var(--line-2);transition:background .15s,transform .12s}
.mcal-nav:hover{background:var(--hover-row)}.mcal-nav:active{transform:scale(.9)}
.mcal-today{margin-left:auto;font-size:13px;font-weight:600;padding:5px 12px;border-radius:999px;border:1px solid var(--line-2);text-decoration:none;color:var(--ink)}
.mcal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mcal-wd{text-align:center;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;padding:2px 0 4px}
.mcal-wd.we{color:var(--err);opacity:.7}
.mcal-d{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-height:52px;padding:6px 2px;border-radius:10px;text-decoration:none;color:var(--ink);background:var(--surface);border:1.5px solid transparent;transition:background .15s,border-color .15s,transform .12s}
.mcal-d:hover{border-color:var(--line-2);transform:translateY(-1px)}
.mcal-d.out{opacity:.35}.mcal-d.past .mcal-n{color:var(--muted)}
.mcal-d.we{background:var(--surface-2)}
.mcal-n{font-size:14.5px;font-weight:600;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-variant-numeric:tabular-nums}
.mcal-d.today .mcal-n{background:var(--brand);color:#fff}
.mcal-d.has{background:var(--info-bg)}
.mcal-d.pend{background:var(--warn-bg);border-color:var(--warn)}
.mcal-d.sel{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.mcal-d.off{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 6px,transparent 6px,transparent 12px)}
.mcal-dots{display:flex;gap:3px}.mcal-dots i{width:6px;height:6px;border-radius:50%;background:var(--blue)}
.mcal-d.pend .mcal-dots i{background:var(--warn)}
.mcal-off{font-size:9.5px;color:var(--muted);font-weight:600}
.mcal-leg{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--muted)}
.mcal-leg span{display:inline-flex;align-items:center;gap:6px}
.lg{width:12px;height:12px;border-radius:4px;display:inline-block}.lg.has{background:var(--info-bg);border:1px solid var(--blue)}.lg.pend{background:var(--warn-bg);border:1px solid var(--warn)}
.lg.off{background:repeating-linear-gradient(135deg,var(--line-2),var(--line-2) 3px,transparent 3px,transparent 6px)}
.mcal.big .mcal-d{min-height:96px;align-items:stretch;padding:6px}
.mcal.big .mcal-n{align-self:flex-end;width:26px;height:26px;font-size:13.5px}
.mcal-who{display:grid;gap:2px;width:100%}
.mcal-who i{font-style:normal;font-size:11px;line-height:1.25;padding:2px 5px;border-radius:5px;background:var(--card);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcal-who i.more{background:none;color:var(--muted)}
.mcal-wrap .mcal-d{min-height:46px}
.mg-calcols{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:16px;align-items:start}
.mg-notice{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}.mg-notice:last-child{border:0}
.mg-notice small{color:var(--muted);font-size:12px}
.mg-quick{display:grid;gap:6px}.mg-quick h2{margin-bottom:4px}
.mg-quick a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);transition:transform .12s,border-color .15s}
.mg-quick a:hover{border-color:var(--line-2);transform:translateY(-1px)}
.mg-quick svg{width:22px;height:22px;color:var(--blue);flex:none}
.mg-quick b{display:block;font-size:14px}.mg-quick small{color:var(--muted);font-size:12.5px}
.st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.st-card{display:flex;gap:12px;align-items:center;padding:14px;border-radius:14px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .12s,border-color .15s,box-shadow .15s}
.st-card:hover{transform:translateY(-2px);border-color:var(--line-2);box-shadow:0 10px 24px -16px rgba(0,0,0,.35)}
.mg-av.big{width:52px;height:52px;font-size:17px;flex:none}
.st-t{flex:1;min-width:0}.st-t b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-t small{color:var(--muted);font-size:12.5px}
.st-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.st-tags i{font-style:normal;font-size:11.5px;padding:2px 7px;border-radius:999px;background:var(--surface-2)}
.st-tags i.fam{background:#fdf0dc;color:#8a5a12}
.st-n{text-align:right;display:grid;gap:1px}.st-n b{font-size:22px;line-height:1}.st-n small{font-size:11.5px;color:var(--muted)}
.sbar{display:grid;grid-template-columns:150px 1fr 36px;gap:10px;align-items:center;padding:6px 0;font-size:14px}
.sbar div{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}.sbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5b8def,#3a66d6)}
.sbar b{text-align:right;font-variant-numeric:tabular-nums}
.vbars{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;height:150px;align-items:end;margin-top:8px}
.vbars div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.vbars i{width:100%;max-width:36px;min-height:3px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#5b8def,#3a66d6)}
.vbars b{font-size:12px}.vbars span{font-size:11.5px;color:var(--muted)}
.mg-trow{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;border-radius:10px}
.mg-trow:hover{background:var(--hover-row)}.mg-trow:last-child{border:0}
.mg-trow b{display:block}.mg-trow small{color:var(--muted);font-size:12.5px}
.off-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.off-row b{display:block}.off-row small{color:var(--muted)}
.off-form{margin-top:10px}
.bk-topic span svg{width:20px;height:20px}
@media (max-width:1000px){.mg-calcols{grid-template-columns:1fr}.mcal.big .mcal-d{min-height:64px}.mcal-who i{font-size:10px}}
@media (max-width:600px){.mcal.big .mcal-who{display:none}.sbar{grid-template-columns:110px 1fr 30px}}
.mcal-g{grid-template-columns:repeat(7,minmax(0,1fr))}
.mg-who small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-t small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcal-wrap .mcal-d{min-height:44px;padding:4px 1px}
.mcal-wrap .mcal-n{width:26px;height:26px;font-size:13.5px}
.mcal:not(.big) .mcal-off{display:none}
.login-opts{margin-top:8px;display:grid;gap:6px}
.lo-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
.lo-chip{border:1px solid var(--line-2);background:var(--card);color:var(--ink);border-radius:999px;padding:5px 11px;font:600 13px/1.2 ui-monospace,Menlo,Consolas,monospace;cursor:pointer;transition:background .15s,border-color .15s,transform .12s}
.lo-chip:hover{border-color:var(--ink-2)}.lo-chip:active{transform:scale(.95)}
.lo-chip.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.lo-chip small{font-family:Onest,system-ui,sans-serif;font-weight:500;opacity:.7}
.lo-warn{font-size:13px;color:var(--err);font-weight:600}
.fio3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media (max-width:600px){.fio3{grid-template-columns:1fr}}
.login-opts.lock .lo-chip{padding:8px 13px;font-size:13.5px}
.lo-dom{opacity:.55;font-weight:500}
.lo-chip.on .lo-dom{opacity:.75}
.login-opts.shake{animation:shake .4s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* ===== Документооборот /edocs (светлое меню в стиле СЭД) ===== */
.cp.ed .side{background:var(--card);color:var(--ink);border-right:1px solid var(--line)}
.cp.ed .side .brand{color:var(--ink)}.cp.ed .side .brand small{color:var(--muted)}
.cp.ed .side .brand img{filter:none}
.cp.ed .side a.it{color:var(--ink-2);font-size:15px;padding:10px 12px}
.cp.ed .side a.it svg{color:var(--blue);opacity:1;width:20px;height:20px}
.cp.ed .side a.it:hover{background:var(--surface-2);color:var(--ink)}
.cp.ed .side a.it.on{background:var(--info-bg);color:var(--blue);font-weight:600;box-shadow:inset 3px 0 0 var(--blue)}
.cp.ed .side a.it .n{background:var(--blue)}.cp.ed .side a.it .n.soft{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}
.cp.ed .side a.it.on .n{background:var(--blue);color:#fff}
.cp.ed .side .grp{color:var(--muted)}
.cp.ed .side .me{border-top-color:var(--line);color:var(--muted)}.cp.ed .side .me b{color:var(--ink)}
.cp.ed .side .me-ic{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
.ed-create{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 4px 14px;padding:12px;border-radius:8px;background:#7CC242;color:#fff;font-weight:600;text-decoration:none;box-shadow:0 2px 0 #5f9e2e;transition:filter .15s,transform .1s}
.ed-back{display:flex;align-items:center;gap:9px;margin:0 4px 10px;padding:9px 11px;border-radius:8px;background:linear-gradient(135deg,rgba(212,160,23,.16),rgba(212,160,23,.06));border:1px solid rgba(212,160,23,.45);color:#946a06;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,transform .1s}
.ed-back svg{width:16px;height:16px;flex:none}.ed-back span{flex:1;line-height:1.25}.ed-back i{font-style:normal;opacity:.7;transition:transform .15s}
.ed-back:hover{background:rgba(212,160,23,.24)}.ed-back:hover i{transform:translateX(-3px)}
.ed-create:hover{filter:brightness(1.06)}.ed-create:active{transform:translateY(1px)}.ed-create svg{width:18px;height:18px}
.btn.ed-go{background:#6DB536;border-color:#6DB536;color:#fff}.btn.ed-go:hover{filter:brightness(1.06)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.light.danger{background:var(--card);color:var(--err);border-color:#e7b8b3}
.req{color:var(--err);font-style:normal}
.ed-side .auth-logo{filter:none}
/* панель действий сверху, как в СЭД */
.ed-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:-6px 0 14px;padding:8px 10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line)}
.ed-bar-b{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:0;border-radius:7px;background:none;color:var(--ink-2);font:600 13px/1.2 Onest,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.03em;text-decoration:none;cursor:pointer}
.ed-bar-b:hover{background:var(--card);color:var(--ink)}.ed-bar-b.danger{color:var(--err)}
.ed-bar-d{position:relative}.ed-bar-d>summary{list-style:none}.ed-bar-d>summary::-webkit-details-marker{display:none}
.ed-pop{position:absolute;z-index:5;top:110%;left:0;width:300px;padding:14px;border-radius:12px;background:var(--card);border:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.ed-h1{font-size:26px;color:#1d5fb4;margin:0 0 12px}
.ed-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ed-title .ed-h1{margin:0}
/* стрелки этапов */
.ed-stages{display:flex;flex-wrap:wrap;list-style:none;margin:8px 0 18px;padding:0;gap:0}
.ed-stages li{position:relative;padding:9px 22px 9px 30px;background:var(--surface-2);color:var(--muted);font-weight:600;font-size:14px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%);margin-right:-6px}
.ed-stages li:first-child{padding-left:20px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);border-radius:999px 0 0 999px}
.ed-stages li.done{background:#d7e7fb;color:#1d5fb4}
.ed-stages li.on{background:#1d5fb4;color:#fff}
.ed-stages li.bad{background:var(--err);color:#fff}
/* списки */
.ed-search{display:flex;gap:8px;margin-bottom:8px}.ed-search input{flex:1}
.ed-list{display:flex;flex-direction:column}
.ed-row{display:grid;grid-template-columns:130px minmax(0,2fr) minmax(150px,1fr) 110px;gap:14px;align-items:center;padding:12px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;border-radius:8px;transition:background .12s}
.ed-row:last-child{border-bottom:0}.ed-row:hover{background:var(--hover-row)}
.ed-row.unseen{box-shadow:inset 3px 0 0 #d81b60}.ed-row.unseen .ed-num b{color:#d81b60}
.ed-num b{display:block;font-variant-numeric:tabular-nums;color:#1d5fb4}.ed-num small,.ed-ttl small,.ed-where small{display:block;font-size:12.5px;color:var(--muted)}
.ed-ttl{min-width:0}.ed-ttl b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-where{font-size:13.5px;min-width:0}
.ed-date{font-size:12.5px;color:var(--muted);text-align:right}
.ed-prog{display:flex;gap:3px;margin-top:5px}.ed-prog i{flex:1;max-width:22px;height:4px;border-radius:2px;background:var(--line)}.ed-prog i.ok{background:var(--ok)}
.ed-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;font-style:normal;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.ed-badge.wait,.ed-badge.progress{background:var(--warn-bg);color:var(--warn)}.ed-badge.exec{background:#ede7fb;color:var(--violet)}
.ed-badge.approved,.ed-badge.done{background:var(--ok-bg);color:var(--ok)}.ed-badge.rejected{background:var(--err-bg);color:var(--err)}
.ed-badge.withdrawn{background:var(--surface-2);color:var(--muted)}
@media (max-width:900px){.ed-row{grid-template-columns:minmax(0,1fr) auto}.ed-num{grid-column:1/-1;display:flex;gap:8px;align-items:baseline}.ed-date{display:none}}
/* форма создания */
.ed-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:16px}
.ed-type{position:relative;display:block;padding:14px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.ed-type:hover{border-color:var(--hover-line)}.ed-type.on{border-color:#1d5fb4;box-shadow:0 0 0 3px rgba(29,95,180,.12)}
.ed-type input{position:absolute;opacity:0}.ed-type b{display:block}.ed-type small{display:block;margin-top:4px;font-size:12.5px;color:var(--muted);line-height:1.35}
.ed-form{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:16px;align-items:start}
.ed-main label{margin-top:12px}.ed-main h2 small{font-size:14px;font-weight:500}
.ed-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ed-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media (max-width:900px){.ed-form{grid-template-columns:1fr}.ed-3{grid-template-columns:1fr 1fr}}
.ed-files{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.ed-file{display:inline-flex;gap:6px;align-items:center;padding:4px 6px 4px 10px;border-radius:8px;background:var(--surface-2);font-size:13.5px}
.ed-file .x{border:0;background:none;color:var(--muted);font-size:17px;cursor:pointer;line-height:1}
.ed-steps-edit{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:0}
.ed-steps-edit li{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:10px 0;position:relative}
.ed-steps-edit li:not(:last-child)::after{content:"";position:absolute;left:14px;top:40px;bottom:-6px;width:2px;background:var(--line)}
.ed-steps-edit li>div{min-width:0}.ed-steps-edit small{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.ed-steps-edit b{display:block}.ed-steps-edit .ed-sel{margin-top:4px;width:100%}
.ed-sn{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--info-bg);color:#1d5fb4;font-weight:700;font-size:14px;z-index:1}
.ed-steps-edit li.me .ed-sn{background:#6DB536;color:#fff}
.ed-extra{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}
.ed-extra>summary{display:inline-flex;gap:6px;align-items:center;cursor:pointer;color:var(--blue);font-weight:600;font-size:14px;list-style:none}
.ed-extra>summary svg{width:16px;height:16px}
.ed-route{display:grid;gap:16px}
/* выбор людей */
.pp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.pp-chips:empty{display:none}
.pp-chip{border:0;padding:4px 10px;border-radius:999px;background:#1d5fb4;color:#fff;font:600 13px/1.3 Onest,system-ui,sans-serif;cursor:pointer}
.pp-list{max-height:260px;overflow-y:auto;margin-top:6px;border:1px solid var(--line);border-radius:10px}
.pp-it{display:flex!important;gap:10px;align-items:center;margin:0!important;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer;font-weight:400!important}
.pp-it:last-of-type{border-bottom:0}.pp-it:hover{background:var(--hover-row)}.pp-it.on{background:var(--info-bg)}
.pp-it input{width:auto;margin:0}.pp-it b{display:block;font-size:14px}.pp-it small{display:block;font-size:12px;color:var(--muted)}
.pp-av{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-weight:700;color:var(--ink-2)}
.pp-none{padding:12px;color:var(--muted);font-size:14px}
/* подпись */
.sig{margin-top:12px}
.sig-pad{position:relative;border:1.5px dashed var(--line-2);border-radius:12px;background:#fbfbfd;overflow:hidden;touch-action:none}
.sig-pad canvas{display:block;width:100%;height:auto;aspect-ratio:56/18;cursor:crosshair;position:relative;z-index:2}
.sig-line{position:absolute;left:8%;right:8%;bottom:28%;border-bottom:1px solid #c9cfdb}
.sig-hint{position:absolute;left:0;right:0;bottom:12%;text-align:center;color:#9aa3b5;font-size:13px;pointer-events:none}
.sig-pad.inked .sig-hint{display:none}
.sig-clear{position:absolute;z-index:3;right:8px;top:8px;border:0;background:var(--card);border-radius:6px;padding:3px 8px;font-size:12.5px;color:var(--muted);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.sig-saved{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px;border-radius:12px;background:#fbfbfd;border:1px solid var(--line)}
.sig-saved img{height:56px;width:auto;max-width:220px}.sig-saved.big img{height:90px;max-width:100%}
.shake{animation:shake .4s}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
/* документ: лист + лист согласования */
.ed-doc{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:18px;align-items:start}
@media (max-width:1050px){.ed-doc{grid-template-columns:1fr}}
.ed-sheet{background:#fff;color:#16161a;padding:44px 48px 30px;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.08),0 10px 30px rgba(0,0,0,.06);font-family:"Times New Roman",Georgia,serif;font-size:16px;line-height:1.55;min-height:640px}
.ed-sh-h{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:2px solid var(--brand);font-family:Onest,system-ui,sans-serif;font-size:13.5px}
.ed-sh-org{display:flex;gap:10px;align-items:center}.ed-sh-org img{width:36px;height:36px}.ed-sh-org b{display:block}.ed-sh-org small{color:#6e6c67}
.ed-sh-to{text-align:right;line-height:1.45}
.ed-sh-type{text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:19px;margin:30px 0 2px;font-family:inherit}
.ed-sh-num{text-align:center;color:#6e6c67;font-size:14px;margin-bottom:22px}
.ed-sh-body p{text-indent:2.2em;margin:0 0 .5em;text-align:justify}
.ed-sh-files{display:grid;gap:4px;margin-top:14px;font-family:Onest,system-ui,sans-serif;font-size:14px}.ed-sh-files a small{color:#6e6c67}
.ed-sh-sign{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:14px;margin-top:40px}
.ed-sh-sign img{height:54px;width:auto;max-width:180px}.ed-sh-sign i{display:block;width:150px;border-bottom:1px solid #999}
.ed-sh-sign b{text-align:right}
.ed-sh-esig{margin-top:6px;font:12px Onest,system-ui,sans-serif;color:#6e6c67}
.ed-tl{list-style:none;margin:6px 0 0;padding:0}
.ed-tl li{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:10px 0;position:relative}
.ed-tl li:not(:last-child)::after{content:"";position:absolute;left:15px;top:42px;bottom:-8px;width:2px;background:var(--line)}
.ed-tl li.ok:not(:last-child)::after{background:var(--ok)}
.ed-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-weight:700;font-size:14px;z-index:1;border:2px solid var(--line)}
.ed-tl li.ok .ed-dot{background:var(--ok);border-color:var(--ok);color:#fff}
.ed-tl li.bad .ed-dot{background:var(--err);border-color:var(--err);color:#fff}
.ed-tl li.now .ed-dot{background:var(--warn-bg);border-color:var(--warn);color:var(--warn);animation:edpulse 1.8s infinite}
@keyframes edpulse{0%,100%{box-shadow:0 0 0 0 rgba(154,91,5,.35)}50%{box-shadow:0 0 0 6px rgba(154,91,5,0)}}
.ed-tl small{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.ed-tl b{display:block}.ed-tl span{display:block;font-size:13px;color:var(--muted)}
.ed-tl em{display:block;font-style:normal;font-size:13px;margin-top:2px}
.ed-tl em.st-approved,.ed-tl em.st-done{color:var(--ok)}.ed-tl em.st-rejected{color:var(--err);font-weight:600}.ed-tl em.st-pending{color:var(--warn);font-weight:600}
.ed-tl-sig{height:34px;width:auto;margin-top:4px}
.ed-tl q{display:block;margin-top:6px;padding:8px 10px;border-radius:8px;background:var(--surface-2);font-size:13.5px;quotes:none}
.ed-tl q.bad{background:var(--err-bg);color:var(--err)}
.ed-act{border-color:var(--warn);box-shadow:0 0 0 3px rgba(154,91,5,.08)}
.ed-dec-b{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ed-dec-b .btn{flex:1}
.ed-ev{display:grid;gap:8px;max-height:320px;overflow-y:auto;font-size:13.5px}
.ed-ev small{display:block;color:var(--muted);font-size:12px}
/* встречи и календарь */
.ed-meet{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;border-radius:8px}
.ed-meet:last-child{border-bottom:0}.ed-meet:hover{background:var(--hover-row)}.ed-meet.pend{box-shadow:inset 3px 0 0 var(--warn)}.ed-meet.off{opacity:.55}
.ed-meet b{display:block}.ed-meet small{display:block;font-size:12.5px;color:var(--muted)}
.ed-md{width:52px;text-align:center;padding:6px 0;border-radius:10px;background:var(--info-bg);color:#1d5fb4}
.ed-md b{font-size:20px;line-height:1}.ed-md small{color:#1d5fb4!important;font-weight:600}
.ed-mppl{text-align:right;display:grid;gap:4px;justify-items:end}
.ed-busy{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--warn-bg);color:var(--warn);font-size:13.5px}
.ed-busy.free{background:var(--ok-bg);color:var(--ok)}
.ed-pp-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.ed-pp-row:last-child{border-bottom:0}.ed-pp-row b{display:block;font-size:14px}.ed-pp-row small{display:block;font-size:12px;color:var(--muted)}
.ed-pp-row i{font-style:normal;font-size:12.5px;font-weight:600;color:var(--muted)}
.ed-pp-row.a-yes i,.ed-pp-row.a-org i{color:var(--ok)}.ed-pp-row.a-no i{color:var(--err)}.ed-pp-row.a-wait i{color:var(--warn)}
.ed-ci{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;padding:10px;border-radius:8px;text-decoration:none;color:inherit;border-left:3px solid var(--blue);margin-bottom:6px;background:var(--surface-2)}
.ed-ci.k-doc{border-left-color:var(--violet)}.ed-ci.k-booking{border-left-color:var(--teal)}.ed-ci.pend{border-left-color:var(--warn)}
.ed-ci:hover{background:var(--hover-row)}.ed-ct{font-weight:700;font-variant-numeric:tabular-nums}.ed-ct small{display:block;font-weight:400;color:var(--muted)}
.ed-ci b{display:block}.ed-ci small{display:block;font-size:12.5px;color:var(--muted)}
@media print{.cp.ed .side,.ed-bar,.ed-side,.menu-btn,.ed-stages{display:none!important}.cp.ed{display:block}.ed-doc{display:block}.ed-sheet{box-shadow:none;padding:0}}
.ed-tl .ed-dot{display:grid;font-size:14px;color:var(--muted)}.ed-tl li.ok .ed-dot,.ed-tl li.bad .ed-dot{color:#fff}.ed-tl li.now .ed-dot{color:var(--warn)}
.cp.ed{background:linear-gradient(to right,var(--card) 248px,transparent 248px)}
@media (max-width:900px){.cp.ed{background:none}}
.cp.ed .side a.it .n.soft{background:var(--surface-2)!important;color:var(--ink-2)}
@media (max-width:600px){.ed-sheet{padding:22px 18px;min-height:0;font-size:15px}.ed-sh-h{flex-direction:column}.ed-sh-to{text-align:left}.ed-stages li{font-size:12.5px;padding:7px 16px 7px 22px}}

.r-head{background:#ede7fb;color:#5a3fb5}.r-specialist{background:#e3f4f2;color:#1f7c6e}.r-zavuch{background:#fdeadf;color:#a24a12}
/* лист документа — формат А4 (210×297 мм), как в Word */
.ed-doc{grid-template-columns:minmax(0,820px) minmax(320px,1fr)}
.ed-paper{background:#e4e2dd;border-radius:12px;padding:22px;display:flex;justify-content:center;overflow-x:auto}
.ed-sheet{width:100%;max-width:794px;aspect-ratio:210/297;min-height:0;padding:72px 64px 56px 90px;border-radius:2px;display:flex;flex-direction:column;font-size:15px}
.ed-sheet .ed-sh-esig{margin-top:auto;padding-top:14px}
.ed-sheet .ed-sh-sign{margin-top:44px}
@media (max-width:1050px){.ed-doc{grid-template-columns:1fr}}
@media (max-width:600px){.ed-paper{padding:8px}.ed-sheet{aspect-ratio:auto;padding:24px 18px}}
@media print{.ed-paper{background:none;padding:0}.ed-sheet{aspect-ratio:auto;max-width:none}}
/* текущий согласующий: светящийся блок + «волны» от кружка */
.ed-tl li.now>div{position:relative;margin:-6px 0 -6px -6px;padding:8px 12px 10px;border-radius:12px;background:linear-gradient(135deg,#fff8ea,#fdf0d6);
  border:1px solid #f0c77a;animation:edglow 2.2s ease-in-out infinite}
.ed-tl li.now>div::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);background-size:250% 100%;animation:edshine 3s linear infinite}
.ed-tl li.now .ed-dot{position:relative;animation:none;background:#f2a93b;border-color:#f2a93b;color:#fff}
.ed-tl li.now .ed-dot::before,.ed-tl li.now .ed-dot::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #f2a93b;animation:edring 2s ease-out infinite}
.ed-tl li.now .ed-dot::after{animation-delay:1s}
.ed-tl li.now b{color:#7a4a00}
@keyframes edglow{0%,100%{box-shadow:0 0 0 0 rgba(242,169,59,.0),0 2px 10px rgba(242,169,59,.18)}50%{box-shadow:0 0 0 4px rgba(242,169,59,.16),0 4px 22px rgba(242,169,59,.38)}}
@keyframes edring{0%{transform:scale(1);opacity:.85}100%{transform:scale(2.1);opacity:0}}
@keyframes edshine{0%{background-position:150% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.ed-tl li.now>div{box-shadow:0 0 0 3px rgba(242,169,59,.2),0 4px 18px rgba(242,169,59,.3)}.ed-tl li.now .ed-dot::before,.ed-tl li.now .ed-dot::after,.ed-tl li.now>div::after{display:none}}
.ed-tl li.now>div{isolation:isolate}.ed-tl li.now>div::after{z-index:-1}
/* карточка документа: на широком экране — третья колонка со сведениями */
.ed-right{display:grid;gap:16px;align-items:start;min-width:0}
.ed-side,.ed-info{display:grid;gap:16px;align-content:start;min-width:0}
.ed-side>.panel,.ed-info>.panel{margin:0}
@media (min-width:1500px){.ed-right{grid-template-columns:minmax(340px,520px) minmax(260px,380px)}}
.ed-info h2{font-size:16px;margin-bottom:10px}
.ed-info dl{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;margin:0;font-size:14px}
.ed-info dt{color:var(--muted)}.ed-info dd{margin:0;min-width:0;word-break:break-word}.ed-info dd small{color:var(--muted)}
.warn-t{color:var(--warn);font-weight:600}
.ed-prog.big{display:inline-flex;vertical-align:middle;margin:0 4px 0 0}.ed-prog.big i{width:18px;height:6px}
.ed-person{display:flex;gap:10px;align-items:center;margin-bottom:12px}.ed-person b{display:block}.ed-person small{display:block;font-size:12.5px;color:var(--muted)}
.pp-av.big{width:44px;height:44px;font-size:15px;background:var(--info-bg);color:#1d5fb4}
.ed-qa{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.ed-qa.ed-qcol{flex-direction:column;margin-top:0}.ed-qa.ed-qcol .btn{justify-content:flex-start}
.ed-mini{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;font-size:13.5px}
.ed-mini:last-child{border-bottom:0}.ed-mini b{color:#1d5fb4}.ed-mini span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-mini i{grid-column:2;justify-self:start}
@media print{.ed-right{display:none!important}}
.ed-qa .btn{margin:0}.ed-qa.ed-qcol .btn{width:100%}
/* карточка документа: «О документе» слева — лист по центру — согласование справа */
.ed-doc{grid-template-columns:minmax(0,820px) minmax(320px,1fr);grid-template-areas:"paper side" "paper info";grid-template-rows:auto 1fr;justify-content:center}
.ed-doc>.ed-paper{grid-area:paper;align-self:start}.ed-doc>.ed-side{grid-area:side}.ed-doc>.ed-info{grid-area:info}
@media (min-width:1500px){.ed-doc{grid-template-columns:minmax(250px,330px) minmax(0,820px) minmax(340px,440px);grid-template-areas:"info paper side";grid-template-rows:auto}}
@media (max-width:1050px){.ed-doc{grid-template-columns:1fr;grid-template-areas:"paper" "side" "info"}}
@media print{.ed-info{display:none!important}}
.ed-info dd.mono{font-size:11.5px;overflow-wrap:anywhere}

/* панель IT: «Мои документы» — +N, если ждут решения */
.side a.it.edocs-it .n{background:#6DB536}
.side a.it.edocs-it.hot{color:#fff}.side a.it.edocs-it.hot svg{color:#8fd45a;opacity:1}
.side a.it.edocs-it.hot .n{box-shadow:0 0 0 0 rgba(109,181,54,.6);animation:edn 1.8s ease-out infinite}
.side a.it.edocs-it .n.pop{animation:ednpop .5s ease,edn 1.8s ease-out .5s infinite}
@keyframes edn{0%{box-shadow:0 0 0 0 rgba(109,181,54,.6)}100%{box-shadow:0 0 0 8px rgba(109,181,54,0)}}
@keyframes ednpop{0%{transform:scale(.6)}60%{transform:scale(1.3)}100%{transform:scale(1)}}

/* ===== живые уведомления ===== */
.ntf-stack{position:fixed;right:18px;bottom:18px;z-index:120;display:flex;flex-direction:column;gap:10px;align-items:flex-end;pointer-events:none;max-width:calc(100vw - 24px)}
.ntf{position:relative;pointer-events:auto;display:grid;grid-template-columns:40px minmax(0,1fr) 22px;gap:12px;align-items:start;width:360px;max-width:100%;
  padding:14px 12px 16px 14px;border-radius:16px;background:rgba(255,255,255,.96);color:var(--ink,#16161a);text-decoration:none;overflow:hidden;
  box-shadow:0 18px 50px rgba(18,22,40,.22),0 2px 6px rgba(18,22,40,.08);border:1px solid rgba(0,0,0,.06);backdrop-filter:blur(10px);
  transform:translateX(calc(100% + 30px)) scale(.96);opacity:0;transition:transform .45s cubic-bezier(.2,.9,.25,1.15),opacity .35s ease,box-shadow .2s}
.ntf.in{transform:none;opacity:1}.ntf.out{transform:translateX(40px);opacity:0;transition:transform .3s ease-in,opacity .3s}
.ntf:hover{box-shadow:0 22px 60px rgba(18,22,40,.28),0 2px 6px rgba(18,22,40,.1)}
.ntf-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:#eef3fc}
.ntf.k-mail .ntf-ic{background:#e6eefb}.ntf.k-doc .ntf-ic,.ntf.k-doc_step .ntf-ic{background:#ecf6e3}.ntf.k-doc_rejected .ntf-ic{background:#fde8e6}
.ntf.k-meet .ntf-ic,.ntf.k-booking .ntf-ic{background:#fdf0dc}.ntf.k-ticket .ntf-ic,.ntf.k-chat .ntf-ic{background:#efe9fb}
.ntf-tx{min-width:0;display:grid;gap:1px}
.ntf-tx small{font-size:11.5px;color:#7a7a82;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.ntf-tx b{font-size:14.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ntf-tx>span{font-size:13.5px;color:#4a4a52;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ntf-x{border:0;background:none;color:#9a9aa2;font-size:20px;line-height:1;cursor:pointer;padding:0;border-radius:6px;width:22px;height:22px}
.ntf-x:hover{background:rgba(0,0,0,.06);color:#333}
.ntf-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,#3e7bd6,#6db536);transform-origin:left;transform:scaleX(1)}
.ntf.run .ntf-bar{transition:transform var(--ntf-t,9000ms) linear;transform:scaleX(0)}.ntf.hold .ntf-bar{transition:none}
.ntf-ask{position:fixed;left:50%;bottom:18px;z-index:119;display:flex;gap:12px;align-items:center;max-width:min(560px,calc(100vw - 24px));padding:12px 12px 12px 16px;
  border-radius:16px;background:var(--ink,#16161a);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.3);transform:translate(-50%,140%);transition:transform .45s cubic-bezier(.2,.9,.25,1.1)}
.ntf-ask.in{transform:translate(-50%,0)}.ntf-ask b{display:block;font-size:14px}.ntf-ask small{display:block;font-size:12.5px;color:#c9c9cf}
.ntf-ask .ntf-ic{background:rgba(255,255,255,.1)}.ntf-ask .btn{white-space:nowrap;background:#6db536;border-color:#6db536;color:#fff}
.ntf-ask .ntf-x{color:#aaa}.ntf-ask .ntf-x:hover{background:rgba(255,255,255,.1);color:#fff}
.n.pop{animation:ednpop .5s ease}
@media (max-width:600px){.ntf-stack{right:8px;left:8px;bottom:8px;align-items:stretch}.ntf{width:auto}}
@media (prefers-reduced-motion:reduce){.ntf,.ntf-ask{transition:opacity .2s}.ntf{transform:none}}
/* бренд eDocs: «e» акцентом */
.cp.ed .side .brand b{font-size:17px;letter-spacing:-.01em}
/* ===== видеосвязь ===== */
.ed-fmt{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px}
.ed-fmt-o{position:relative;margin:0!important;cursor:pointer}
.ed-fmt-o input{position:absolute;opacity:0}
.ed-fmt-o span{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);font-size:22px;transition:border-color .15s,box-shadow .15s}
.ed-fmt-o span b{font-size:15px;grid-column:2}.ed-fmt-o span small{font-size:12.5px;color:var(--muted);grid-column:2;font-weight:400}
.ed-fmt-o span{grid-template-areas:"i b" "i s"}.ed-fmt-o span b{grid-area:b}.ed-fmt-o span small{grid-area:s}
.ed-fmt-o.on span{border-color:#1d5fb4;box-shadow:0 0 0 3px rgba(29,95,180,.12)}
.ed-fmt-o.off{opacity:.5;cursor:not-allowed}
.vc-join{display:flex;gap:14px;align-items:center;border-color:#b9d3f3;background:linear-gradient(135deg,#eef5ff,#f7fbff)}
.vc-join.open{border-color:#6db536;background:linear-gradient(135deg,#eef9e6,#f8fdf4);animation:edglow 2.4s ease-in-out infinite}
.vc-join b{display:block}.vc-join small{display:block;color:var(--muted);font-size:13px}.vc-join>div{flex:1;min-width:0}
.vc-ic{font-size:30px}
.vc-btn{background:#6db536;border-color:#6db536;color:#fff;white-space:nowrap;padding:12px 22px;font-size:15px}
.vc-guest{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.vc-guest input{flex:1;min-width:220px;font-family:ui-monospace,Consolas,monospace;font-size:13px}
.vc-pin{padding:8px 12px;border-radius:10px;background:var(--surface-2);font-size:13px;color:var(--muted)}.vc-pin b{font-size:18px;letter-spacing:.12em;color:var(--ink)}
.ntf.ring .ntf-ic{animation:vcring 1s ease-in-out infinite;background:#e3f4d6}
@keyframes vcring{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}
@media (max-width:600px){.ed-fmt{grid-template-columns:1fr}.vc-join{flex-wrap:wrap}.vc-btn{width:100%;text-align:center}}
.ed-pp-row{grid-template-columns:32px minmax(0,1fr) auto auto}
.pp-acts{display:flex;gap:4px;opacity:.55;transition:opacity .15s}.ed-pp-row:hover .pp-acts{opacity:1}
.pp-acts form{margin:0}.pp-b{border:1px solid var(--line);background:var(--card);border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:14px;line-height:1}
.pp-b:hover{border-color:#e6b84a;background:#fff8ea}.pp-b.del:hover{border-color:#e7b8b3;background:var(--err-bg);color:var(--err)}
@media (hover:none){.pp-acts{opacity:1}}

.ed-fmt{grid-template-columns:repeat(3,1fr)}@media (max-width:700px){.ed-fmt{grid-template-columns:1fr}}

/* профиль сотрудника */
.pf-wrap{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:900px){.pf-wrap{grid-template-columns:1fr}}
.pf-card{text-align:center;position:sticky;top:16px}
.pf-ph{width:150px;height:150px;margin:6px auto 12px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#dfe8f7,#c9d7ef);color:#2b4f86;font-size:44px;
  box-shadow:0 12px 30px rgba(20,24,40,.15);overflow:hidden;transition:transform .3s}.pf-ph:hover{transform:scale(1.03)}
.pf-ph img{width:100%;height:100%;object-fit:cover}
.pf-up{display:flex;gap:6px;justify-content:center;margin-bottom:10px}.pf-up label{cursor:pointer;margin:0!important}
.pf-card h2{margin:6px 0 2px}
.pf-st{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.pf-st label{margin:0!important;cursor:pointer;font-weight:400!important}.pf-st input{position:absolute;opacity:0}
.pf-st span{display:inline-block;padding:7px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);font-size:13.5px;transition:.15s}
.pf-st input:checked+span{border-color:#1d5fb4;background:var(--info-bg);color:#1d5fb4;font-weight:600}
.acc-staff{color:#1f7c6e;font-weight:600}.acc-stud{color:#24508f}.r-director{background:#fde3e6;color:#a3171e}
.ms-chip{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--warn-bg);color:var(--warn);font-size:12.5px;font-weight:600}

/* ---------- Главная: в стиле входа eDocs ---------- */
.hm-wrap{width:100%;max-width:1240px;margin:0 auto;padding:28px 20px 32px;flex:1;display:flex;flex-direction:column}
.hm-wrap>.newmsg,.hm-wrap>.pushbar{margin:0 0 16px}
.hm{flex:1;display:grid;grid-template-columns:minmax(330px,410px) 1fr;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.02),0 18px 50px -28px rgba(22,22,26,.28);animation:hmIn .5s cubic-bezier(.2,.7,.2,1)}
@keyframes hmIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hm-side{position:relative;overflow:hidden;background:var(--night);color:var(--night-ink);padding:38px 34px 30px;display:flex;flex-direction:column}
.hm-side::after{content:"";position:absolute;right:-110px;top:-110px;width:300px;height:300px;border-radius:50%;border:44px solid rgba(163,23,30,.24);pointer-events:none}
.hm-side::before{content:"";position:absolute;left:-80px;bottom:-120px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(168,116,26,.16),transparent 70%);pointer-events:none}
.hm-side>*{position:relative;z-index:1}
.hm-side .hm-logo{filter:none;width:190px;margin:0 0 8px}
.hm-side h1{font-size:27px;line-height:1.18;margin:10px 0 10px;letter-spacing:-.015em}
.hm-side>p{color:var(--night-muted);font-size:14.5px;margin:0 0 26px}
.hm-live{background:var(--night-2);border:1px solid var(--night-line);border-radius:14px;padding:18px}
.hm-now{display:flex;align-items:center;gap:8px;color:var(--night-muted);font-size:11.5px;font-weight:700;letter-spacing:.12em}
.hm-big{display:flex;align-items:center;gap:12px;margin:12px 0 16px}
.hm-big b{font-size:52px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}
.hm-big span{color:var(--night-muted);font-size:13px;line-height:1.3}
.hm-big em{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-style:normal;background:#1d3a2b;color:#bfeccf;border-radius:99px;padding:6px 12px;font-weight:700;font-size:13px;white-space:nowrap}
.hm-big em .dot{display:inline-block}
.hm-conn{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hm-conn>div{background:rgba(255,255,255,.04);border:1px solid var(--night-line);border-radius:10px;padding:9px 11px;min-width:0}
.hm-conn small{display:block;color:var(--night-muted);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hm-conn b{display:block;font-size:14.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-status{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--night-line);display:grid;gap:8px;font-size:13.5px}
.hm-status li{display:flex;align-items:center;gap:9px}.hm-status li span:last-child{margin-left:auto;color:var(--night-muted)}
.hm-contact{list-style:none;margin:auto 0 0;padding:24px 0 0;display:grid;gap:9px;font-size:13.5px;color:var(--night-muted)}
.hm-contact li{display:flex;align-items:center;gap:10px}.hm-contact svg{width:17px;height:17px;flex:none;color:#7fd3a7}
.hm-contact a{color:var(--night-ink);text-decoration:none}.hm-contact a:hover{text-decoration:underline}
.hm-main{padding:30px 34px 22px;display:flex;flex-direction:column;min-width:0}
.hm-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.hm-head .mg-head{flex:1;margin:0}
.hm-head>.btn{flex:none}
.hm-me{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;font-weight:600;font-size:14px;max-width:46%;transition:border-color .15s}
.hm-me:hover{border-color:var(--hover-line)}.hm-me svg{width:20px;height:20px;flex:none;color:var(--blue)}
.hm-me span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-me small{display:block;font-size:11.5px;color:var(--muted);font-weight:500}
.hm-main .news{margin:14px 0 0}
.hm-h{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:26px 0 12px}
.hm-svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hm-tile{--k:var(--blue);position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 18px 16px;min-height:150px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s,border-color .18s}
.hm-tile.k-teal{--k:var(--teal)}.hm-tile.k-violet{--k:var(--violet)}.hm-tile.k-red{--k:var(--brand)}.hm-tile.k-orange{--k:var(--orange)}
.hm-tile::after{content:"";position:absolute;inset:auto -40px -60px auto;width:150px;height:150px;border-radius:50%;background:var(--k);opacity:.06;transition:opacity .2s,transform .3s}
.hm-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--k) 45%,var(--line));box-shadow:0 14px 30px -18px color-mix(in srgb,var(--k) 60%,transparent)}
.hm-tile:hover::after{opacity:.12;transform:scale(1.15)}
.hm-tile b{font-size:16.5px;margin-top:12px}.hm-tile>span:not(.hm-ic){color:var(--muted);font-size:13.5px;line-height:1.4;padding-right:40px}
.hm-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.hm-ic svg{width:24px;height:24px}
.hm-go{position:absolute;right:16px;bottom:16px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-2);transition:background .18s,color .18s,transform .18s}
.hm-go svg{width:16px;height:16px}
.hm-tile:hover .hm-go{background:var(--k);color:#fff;transform:translateX(2px)}
.hm-apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hm-app{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid transparent;color:var(--ink);text-decoration:none;transition:background .15s,border-color .15s,transform .15s}
.hm-app:hover{background:var(--card);border-color:var(--line);transform:translateY(-1px)}
.hm-app .hm-ic{width:40px;height:40px;border-radius:11px}.hm-app .hm-ic svg{width:21px;height:21px}
.hm-app>span:last-child{min-width:0}.hm-app b{display:block;font-size:14.5px}.hm-app small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.s-dark{background:linear-gradient(160deg,#3a3c42,#17181b)}.s-blue{background:linear-gradient(160deg,#5591e6,#3468bf)}
.s-green{background:linear-gradient(160deg,#8fd055,#5f9e2e)}.s-red{background:linear-gradient(160deg,#c23037,#8e1218)}.s-gold{background:linear-gradient(160deg,#d4a03f,#a8741a)}
.hm-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:26px;color:var(--muted);font-size:12.5px}
@media (max-width:980px){.hm{grid-template-columns:1fr}.hm-side{padding:28px 24px}.hm-contact{margin-top:20px;padding-top:0}.hm-main{padding:24px 22px 18px}}
@media (max-width:560px){.hm-wrap{padding:12px 10px 20px}.hm{border-radius:14px}.hm-svc,.hm-apps{grid-template-columns:1fr}.hm-tile{min-height:0}
  .hm-side h1{font-size:23px}.hm-big b{font-size:44px}.hm-head .mg-head span{display:none}.hm-me small{display:none}}
@media (prefers-reduced-motion:reduce){.hm,.hm-tile,.hm-app,.hm-go{animation:none;transition:none}}
.hm-stud{position:relative;display:flex;align-items:center;gap:16px;margin-top:22px;padding:18px 60px 18px 18px;border-radius:14px;color:#fff;text-decoration:none;overflow:hidden;
  background:radial-gradient(120% 140% at 100% 0,rgba(212,160,63,.35),transparent 55%),linear-gradient(135deg,#a3171e,#5e0b10);transition:transform .18s,box-shadow .18s}
.hm-stud:hover{transform:translateY(-2px);box-shadow:0 16px 30px -18px rgba(163,23,30,.8)}
.hm-stud-ic{width:58px;height:58px;flex:none;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3)}
.hm-stud-ic svg{width:32px;height:32px}
.hm-stud small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#f3d39a}
.hm-stud b{display:block;font-size:17px}.hm-stud em{display:block;font-style:normal;font-size:13px;opacity:.85;line-height:1.35}
.hm-stud .hm-go{background:rgba(255,255,255,.16);color:#fff;top:50%;bottom:auto;margin-top:-15px}
.hm-stud:hover .hm-go{background:#fff;color:#a3171e}
.hm-stud.top{margin:16px 0 0}
.hm-pc{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:#e6f4dc;border:1px solid #9fd07a;color:#3f7a1c;font-weight:700;font-size:13px;text-decoration:none;transition:background .15s,transform .1s}
.hm-pc:hover{background:#d6edc5}.hm-pc:active{transform:translateY(1px)}
.hm-pc i{width:8px;height:8px;border-radius:50%;background:#5fb52e;box-shadow:0 0 0 3px rgba(95,181,46,.25)}
@media (max-width:560px){.hm-foot{flex-direction:column-reverse;gap:14px}.hm-pc{width:100%;justify-content:center;padding:12px}}
.view-pc .hm{flex:none}

/* ---------- Личный кабинет: оболочка как в eDocs ---------- */
.cb-body .pub{padding-left:262px;background:var(--bg)}
.cb-side{position:fixed;inset:0 auto 0 0;width:262px;height:100vh;z-index:30;background:var(--card);color:var(--ink);border-right:1px solid var(--line);padding:18px 12px}
.cb-side .brand{color:var(--ink)}.cb-side .brand small{color:var(--muted)}
.cb-side a.it{color:var(--ink-2);font-size:15px;padding:10px 12px;transition:background .12s,color .12s}
.cb-side a.it span{flex:1;min-width:0}
.cb-side a.it svg{color:var(--blue);opacity:1;width:20px;height:20px}
.cb-side a.it:hover{background:var(--surface-2);color:var(--ink)}
.cb-side a.it.on{background:var(--info-bg);color:var(--blue);font-weight:600;box-shadow:inset 3px 0 0 var(--blue)}
.cb-side a.it .n{font-style:normal;margin-left:auto;background:var(--brand);color:#fff;font-size:11.5px;font-weight:700;border-radius:99px;padding:1px 7px}
.cb-side a.it .n.soft{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}
.cb-side .grp{color:var(--muted)}
.cb-side .me{border-top-color:var(--line);color:var(--muted);word-break:break-all}
.cb-me{display:flex;align-items:center;gap:11px;margin:0 4px 12px;padding:10px;border-radius:12px;background:var(--surface-2);color:var(--ink);text-decoration:none;transition:background .15s}
.cb-me:hover{background:var(--info-bg)}
.cb-me>span:last-child{min-width:0}.cb-me b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-me small{display:block;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-av,.cb-top-av{width:42px;height:42px;flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-weight:700;color:#fff;
  background:linear-gradient(150deg,#c23037,#7e0f15);text-decoration:none}
.cb-av img,.cb-top-av img{width:100%;height:100%;object-fit:cover}
.cb-top{display:none}
.cb-main{flex:1;padding-top:26px;padding-bottom:30px}
.cb-main.col.xwide{max-width:1080px}
.cb-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:1080px;width:100%;margin:0 auto;padding:16px 16px 26px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}
.cb-foot-l{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.cb-foot-l a{color:var(--ink-2)}
.cb-tabs{display:none}
@media (max-width:980px){
  .cb-body .pub{padding-left:0;padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .cb-side{transform:translateX(-100%);transition:transform .22s cubic-bezier(.2,.7,.2,1);width:282px;box-shadow:0 0 40px rgba(0,0,0,.18)}
  .cb-side.open{transform:none}
  .cb-top{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:20;padding:10px 14px;background:color-mix(in srgb,var(--card) 88%,transparent);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .cb-top-b{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;color:var(--ink)}
  .cb-top-b svg{width:20px;height:20px}
  .cb-top-t{flex:1;display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-weight:700}
  .cb-top-t .shield{width:26px;height:32px}
  .cb-top-av{width:38px;height:38px;font-size:15px}
  .cb-main{padding-top:16px}
  .cb-foot{border-top:0;justify-content:center;text-align:center;padding-bottom:18px}
  .cb-foot .hm-pc{width:100%;justify-content:center;padding:12px}
  .cb-tabs{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:6px 6px calc(6px + env(safe-area-inset-bottom));
    background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .cb-tabs a{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:11px;font-weight:600}
  .cb-tabs a svg{width:23px;height:23px}
  .cb-tabs a.on{color:var(--blue)}
  .cb-tabs a i{position:absolute;top:1px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--brand);color:#fff;font-style:normal;font-size:10.5px;line-height:17px;text-align:center}
  .cb-tabs .cb-tabs-plus{width:52px;height:52px;margin:-20px auto 0;border-radius:16px;background:#7CC242;color:#fff;justify-content:center;box-shadow:0 8px 20px -8px rgba(95,158,46,.9)}
  .cb-tabs .cb-tabs-plus svg{width:26px;height:26px}
}
.view-pc.cb-body .pub{padding-left:262px;padding-bottom:0}

/* ---------- Кабинет: страницы ---------- */
.cb-head,.cb-hello{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.cb-head h1,.cb-hello h1{font-size:27px;margin:2px 0 4px}
.cb-head p,.cb-hello p{color:var(--muted);margin:0;max-width:40em;font-size:14.5px}
.cb-head .row,.cb-hello-b{display:flex;gap:8px;flex-wrap:wrap}
.cb-staff{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin-bottom:16px;border-radius:12px;background:var(--info-bg);border:1px solid var(--hover-line);font-size:14px}
.cb-staff span{flex:1;min-width:220px}
.cb-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.cb-stat{display:block;padding:16px 16px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}
.cb-stat:hover{transform:translateY(-2px);border-color:var(--hover-line);box-shadow:0 12px 26px -18px rgba(30,60,120,.45)}
.cb-stat small{display:block;color:var(--muted);font-size:13px}.cb-stat b{display:block;font-size:30px;line-height:1.15;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.cb-stat span{font-size:12.5px;color:var(--muted)}.cb-stat em{font-style:normal;color:var(--brand);font-weight:700}
.cb-stat.alarm{border-color:#e8b2ad;background:var(--err-bg)}
.cb-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}
.cb-grid .mail-peek{margin:0}
.cb-chips{display:flex;flex-wrap:wrap;gap:8px}
.cb-chips a{padding:8px 13px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:600}
.cb-chips a:hover{border-color:#9fd07a;background:#eef8e6}
.cb-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cb-quick a{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 6px;border-radius:12px;background:var(--surface-2);color:var(--ink);text-decoration:none;font-size:12.5px;font-weight:600;text-align:center;transition:background .15s,transform .15s}
.cb-quick a:hover{background:var(--info-bg);transform:translateY(-1px)}
.cb-quick span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff}.cb-quick svg{width:20px;height:20px}
.cb-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:12px 0;font-size:13.5px}.cb-dl dt{color:var(--muted)}.cb-dl dd{margin:0;font-weight:600}
.cb-tabsbar{display:flex;gap:6px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.cb-tabsbar a{padding:10px 14px;color:var(--muted);text-decoration:none;font-weight:600;font-size:14.5px;border-bottom:2px solid transparent;margin-bottom:-1px}
.cb-tabsbar a.on{color:var(--blue);border-bottom-color:var(--blue)}
.cb-tabsbar i{font-style:normal;margin-left:4px;background:var(--brand);color:#fff;font-size:11.5px;border-radius:99px;padding:1px 7px}.cb-tabsbar i.soft{background:var(--surface-2);color:var(--ink-2)}
.cb-empty{text-align:center;padding:30px 16px 18px;color:var(--muted)}.cb-empty span{font-size:40px}.cb-empty b{display:block;color:var(--ink);font-size:17px;margin:6px 0 4px}.cb-empty p{margin:0}
/* список заявлений */
.sa-list{display:grid;gap:8px}
.sa-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}
.sa-row:hover{border-color:var(--hover-line);transform:translateY(-1px)}
.sa-ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--warn-bg);color:var(--warn)}
.sa-row.st-approved .sa-ic,.sa-row.st-done .sa-ic{background:var(--ok-bg);color:var(--ok)}.sa-row.st-rejected .sa-ic{background:var(--err-bg);color:var(--err)}
.sa-row.st-withdrawn .sa-ic{background:var(--surface-2);color:var(--muted)}
.sa-t{min-width:0}.sa-t b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-t small{color:var(--muted);font-size:12.5px}
.sa-w{text-align:right;font-size:13.5px}.sa-w small{display:block;color:var(--muted);font-size:11.5px}
.sa-d{color:var(--muted);font-size:12.5px;white-space:nowrap}
.sa-list.compact .sa-row{grid-template-columns:36px minmax(0,1fr) auto;padding:10px 12px;background:var(--surface-2);border-color:transparent}.sa-list.compact .sa-ic{width:36px;height:36px}
.sa-kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:8px}
.sa-kind{display:block;padding:14px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}
.sa-kind:hover{border-color:#9fd07a;transform:translateY(-1px)}.sa-kind b{display:block;font-size:14.5px}.sa-kind small{color:var(--muted);font-size:12.5px;line-height:1.35;display:block;margin-top:3px}
/* форма заявления */
.sa-form .panel h2{font-size:17px}
.sa-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.sa-opt,.sa-zv{display:flex;gap:11px;align-items:flex-start;padding:12px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);cursor:pointer;transition:border-color .15s,background .15s;font-weight:400;margin:0}
.sa-opt input,.sa-zv input{margin-top:3px;flex:none;accent-color:#5f9e2e}
.sa-opt b,.sa-zv b{display:block;font-size:14.5px}.sa-opt small,.sa-zv small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.sa-opt:has(input:checked),.sa-zv:has(input:checked){border-color:#7CC242;background:#f1f9ea}
.sa-zav{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.sa-zv{align-items:center}.sa-zv-av{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(150deg,#5591e6,#3468bf)}
.sa-from{display:flex;gap:6px;flex-wrap:wrap;align-items:baseline;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:14px;margin-bottom:4px}.sa-from span{color:var(--muted)}
.sa-send{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:4px 0 10px}
.btn.big{min-height:50px;padding:0 22px;font-size:16px}
/* карточка заявления */
.sa-status{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:14px;margin-bottom:12px;background:var(--warn-bg);color:var(--warn)}
.sa-status b{display:block;font-size:16px}.sa-status span{display:block;font-size:13.5px;color:var(--ink-2)}
.sa-status-ic{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:700;background:rgba(255,255,255,.6)}
.sa-status.st-approved,.sa-status.st-done{background:var(--ok-bg);color:var(--ok)}.sa-status.st-rejected{background:var(--err-bg);color:var(--err)}.sa-status.st-withdrawn{background:var(--surface-2);color:var(--muted)}
.sa-doc{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:16px;align-items:start}
.sa-doc .ed-sheet{max-width:none;aspect-ratio:auto;min-height:520px}
/* Helpdesk */
.hd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:18px}
.hd-tile{display:flex;flex-direction:column;gap:3px;padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}
.hd-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--teal) 45%,var(--line));box-shadow:0 12px 24px -18px rgba(46,156,138,.8)}
.hd-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(160deg,#3db3a0,#24806f);margin-bottom:8px}.hd-ic svg{width:21px;height:21px}
.hd-tile b{font-size:15px}.hd-tile small{color:var(--muted);font-size:12.5px;line-height:1.35}
.hd-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.hd-list{display:grid;gap:4px}
.hd-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 10px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:14px}
.hd-row:hover{background:var(--surface-2)}.hd-row b{flex:1;min-width:0;font-weight:600}.hd-row small{color:var(--muted);font-size:12px;width:100%}
.hd-row svg{width:17px;height:17px;color:var(--blue)}.hd-row i{font-style:normal;font-size:12px;font-weight:700;color:var(--brand)}
.hd-row.new{background:var(--err-bg)}
.hd-it{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.hd-it b{color:var(--ink);width:100%}
@media (max-width:980px){.cb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cb-grid,.sa-doc,.hd-cols{grid-template-columns:1fr}}
@media (max-width:560px){.cb-head h1,.cb-hello h1{font-size:23px}.cb-hello-b,.cb-head .row{width:100%}.cb-hello-b .btn,.cb-head>.btn{flex:1;justify-content:center}
  .sa-row{grid-template-columns:36px minmax(0,1fr) auto}.sa-d{display:none}.sa-ic{width:36px;height:36px}
  .cb-stat{padding:12px}.cb-stat b{font-size:24px}.cb-quick{grid-template-columns:repeat(3,1fr)}.sa-pick,.sa-zav{grid-template-columns:1fr}}
.cb-side .brand img{filter:none}.cb-side a.it .n.soft{background:var(--surface-2)!important;color:var(--ink-2)!important;border:1px solid var(--line)}

/* ---------- Главная v3: три колонки + блоки снизу ---------- */
.hm-wrap{max-width:1680px}
.hm{grid-template-columns:minmax(360px,440px) minmax(0,1fr) minmax(300px,370px);grid-template-rows:auto 1fr}
.hm-side{grid-row:1/3}
.hm-main{padding-bottom:8px}
.hm-aside{padding:30px 30px 8px 0;display:flex;flex-direction:column;gap:14px;min-width:0}
.hm-bottom{grid-column:2/4;padding:8px 30px 22px 34px;min-width:0}
.hm-bottom .hm-h{margin-top:18px}
.hm-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.hm-card-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px}
.hm-card-h b{font-size:15px}.hm-card-h span{color:var(--muted);font-size:12.5px}
.hm-skel{display:block;height:12px;border-radius:6px;margin:8px 0;background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2));background-size:200% 100%;animation:skel 1.3s infinite}
@keyframes skel{to{background-position:-200% 0}}
.hm-wx-now{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.hm-wx-ico{font-size:46px;line-height:1}
.hm-wx-t{font-size:40px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.hm-wx-txt b{display:block;font-size:14.5px}.hm-wx-txt small{color:var(--muted);font-size:12.5px}
.hm-wx-days{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}
.hm-wx-days div{text-align:center;padding:8px 4px;border-radius:10px;background:var(--surface-2);font-size:12.5px}
.hm-wx-days b{display:block;font-size:12px;color:var(--muted)}.hm-wx-days i{display:block;font-style:normal;font-size:22px;margin:3px 0}
.hm-wx-days span{font-weight:700}.hm-wx-days small{color:var(--muted)}
.hm-news-list{display:grid;gap:2px}
.hm-news-it{display:block;padding:9px 8px;margin:0 -8px;border-radius:10px;color:var(--ink);text-decoration:none;transition:background .15s}
a.hm-news-it:hover{background:var(--surface-2)}
.hm-news-it b{display:block;font-size:13.5px;line-height:1.35;font-weight:600}
.hm-news-it small{display:block;color:var(--muted);font-size:11.5px;margin-top:3px}
.hm-news-empty{color:var(--muted);font-size:13px}
.hm-libs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hm-lib{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}
.hm-lib:hover{transform:translateY(-2px);border-color:var(--hover-line);box-shadow:0 12px 24px -18px rgba(30,60,120,.5)}
.hm-lib .hm-ic{width:40px;height:40px;border-radius:11px}.hm-lib .hm-ic svg{width:20px;height:20px}
.hm-lib>span:last-child{min-width:0}.hm-lib b{display:block;font-size:14.5px}.hm-lib small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.hm-lib em{display:block;font-style:normal;color:var(--blue);font-size:12px;margin-top:4px}
.hm-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;align-items:start}
.hm-links{display:grid;gap:4px}
.hm-links a{display:block;padding:8px 10px;margin:0 -6px;border-radius:9px;color:var(--ink);text-decoration:none}
.hm-links a:hover{background:var(--surface-2)}.hm-links b{font-size:14px}.hm-links small{display:block;color:var(--muted);font-size:12.5px}
.hm-faq details{border-top:1px solid var(--line);padding:9px 0}.hm-faq details:first-child{border-top:0;padding-top:0}
.hm-faq summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:8px}
.hm-faq summary::after{content:"+";color:var(--muted);font-weight:700;transition:transform .2s}.hm-faq details[open] summary::after{transform:rotate(45deg)}
.hm-faq summary::-webkit-details-marker{display:none}
.hm-faq p{margin:6px 0 0;color:var(--ink-2);font-size:13.5px}
.hm-it p{margin:0 0 10px;color:var(--ink-2);font-size:13.5px}.hm-it ul{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:6px;font-size:13.5px}
.hm-it li{display:flex;gap:8px;align-items:center}.hm-it svg{width:16px;height:16px;color:var(--teal)}
@media (max-width:1380px){.hm{grid-template-columns:minmax(330px,400px) minmax(0,1fr)}
  .hm-aside{grid-column:2;padding:0 30px 0 34px;display:grid;grid-template-columns:1fr 1.4fr}
  .hm-bottom{grid-column:2}.hm-libs{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-info{grid-template-columns:1fr 1fr}}
@media (max-width:980px){.hm{grid-template-columns:1fr;grid-template-rows:none}.hm-side{grid-row:auto}.hm-main{grid-column:1}.hm-aside,.hm-bottom{grid-column:1;padding:0 22px 18px}.hm-aside{grid-template-columns:1fr}.hm-info{grid-template-columns:1fr}}
@media (max-width:560px){.hm-libs{grid-template-columns:1fr}.hm-aside,.hm-bottom{padding:0 16px 16px}}

/* ---------- Плавные переходы между страницами и панелями (одна платформа) ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .22s ease both}
::view-transition-new(root){animation:vtIn .32s cubic-bezier(.2,.7,.2,1) both}
@keyframes vtOut{to{opacity:0;transform:scale(.985)}}
@keyframes vtIn{from{opacity:0;transform:translateY(8px)}}
.main,.cb-main,.auth-box,.mg-box{animation:pageIn .38s cubic-bezier(.2,.7,.2,1) backwards}
@keyframes pageIn{from{opacity:0;transform:translateY(8px)}}
body.leaving .main,body.leaving .cb-main,body.leaving .hm,body.leaving .auth-box{opacity:.0;transform:translateY(-6px);transition:opacity .2s,transform .2s}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.main,.cb-main,.auth-box{animation:none}}
.hm-card-h span{white-space:nowrap}

/* ---------- Главная v4: шире, «О колледже», цитаты, праздники ---------- */
.hm-wrap{max-width:none;padding:22px 26px 28px}
.hm{grid-template-columns:minmax(380px,500px) minmax(0,1fr) minmax(330px,420px)}
.hm-aside{position:relative}
.hm-about{margin-top:22px;padding:18px;border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--night-line)}
.hm-about h2{font-size:19px;margin:8px 0 6px}.hm-about p{color:var(--night-muted);font-size:13.5px;margin:0 0 14px}
.hm-about .mg-kicker{margin-top:0}
.hm-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.hm-facts div{padding:10px 8px;border-radius:10px;background:rgba(0,0,0,.25);text-align:center}
.hm-facts b{display:block;font-size:16px;color:#f3d39a}.hm-facts span{font-size:11.5px;color:var(--night-muted)}
.hm-quote{position:relative;margin:18px 0 0;padding:22px 20px 18px;border-radius:16px;overflow:hidden;
  background:radial-gradient(120% 90% at 100% 0,rgba(194,48,55,.35),transparent 60%),linear-gradient(170deg,#202227,#121316);border:1px solid var(--night-line)}
.hm-q-art{display:block;width:150px;height:150px;margin:0 auto 6px;filter:drop-shadow(0 8px 24px rgba(243,211,154,.25));animation:qFloat 6s ease-in-out infinite}
@keyframes qFloat{50%{transform:translateY(-5px)}}
.hm-quote blockquote{margin:0;font-size:18px;line-height:1.4;font-weight:600;text-align:center;color:#fff;min-height:3.2em;transition:opacity .45s,transform .45s}
.hm-quote blockquote::before{content:"“";display:block;font-size:44px;line-height:.6;color:#c23037;margin-bottom:6px}
.hm-quote figcaption{text-align:center;margin-top:10px;color:#f3d39a;font-size:13px;font-weight:700;letter-spacing:.04em;transition:opacity .45s}
.hm-quote.fade blockquote,.hm-quote.fade figcaption{opacity:0;transform:translateY(6px)}
.hm-q-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.hm-q-dots button{width:7px;height:7px;padding:0;border-radius:99px;border:0;background:rgba(255,255,255,.22);cursor:pointer;transition:width .25s,background .25s}
.hm-q-dots button.on{width:20px;background:#f3d39a}
.hm-side .hm-contact{margin-top:auto;padding-top:22px}
.hm-hol-it{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.hm-hol-it:first-of-type{border-top:0}
.hm-hol-d{width:44px;flex:none;text-align:center;border-radius:10px;padding:4px 0;background:var(--err-bg);color:var(--brand)}
.hm-hol-d b{display:block;font-size:17px;line-height:1.1}.hm-hol-d small{font-size:11px;font-weight:600}
.hm-hol-n{flex:1;font-size:13.5px;font-weight:600}.hm-hol-it em{font-style:normal;font-size:12px;color:var(--muted);white-space:nowrap}
.hm-info{grid-template-columns:repeat(4,minmax(0,1fr))}
.hm-tips{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:13px;color:var(--ink-2)}
.hm-tips li{padding-left:22px;position:relative;line-height:1.4}.hm-tips li::before{content:"✓";position:absolute;left:0;top:0;color:var(--ok);font-weight:700}
.hm-tips b{color:var(--ink)}.hm-tips i{font-style:normal;font-weight:600;color:var(--blue)}
.hm-news-it b{transition:color .15s}a.hm-news-it:hover b{color:var(--blue)}
.hm-news-it:first-child b{font-size:14.5px}
@media (max-width:1600px){.hm-info{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1380px){.hm{grid-template-columns:minmax(340px,420px) minmax(0,1fr)}.hm-aside{grid-template-columns:1fr 1.3fr 1fr}}
@media (max-width:1100px){.hm-aside{grid-template-columns:1fr 1fr}.hm-hol{grid-column:1/-1}}
@media (max-width:980px){.hm-aside{grid-template-columns:1fr}.hm-info{grid-template-columns:1fr}.hm-wrap{padding:16px 12px 22px}}

/* ---------- Главная v5: всё помещается в один экран компьютера ---------- */
@media (min-width:1381px){
  .hm-wrap{padding:16px 20px 18px}
  .hm{grid-template-rows:auto}
  .hm-side{grid-row:auto;padding:28px 28px 22px}
  .hm-side .hm-logo{width:160px}
  .hm-side h1{font-size:24px;margin:8px 0}.hm-side>p{font-size:13.5px;margin-bottom:18px}
  .hm-big{margin:8px 0 12px}.hm-big b{font-size:44px}.hm-live{padding:14px}
  .hm-about{margin-top:14px;padding:14px}.hm-about h2{font-size:17px}.hm-about p{font-size:12.5px;margin-bottom:10px}
  .hm-quote{margin-top:14px;padding:14px 16px 12px}.hm-q-art{width:96px;height:96px;margin-bottom:0}
  .hm-quote blockquote{font-size:15.5px;min-height:2.9em}.hm-quote blockquote::before{font-size:34px;margin-bottom:2px}
  .hm-side .hm-contact{padding-top:14px;gap:6px;font-size:12.5px}
  .hm-main{padding:22px 26px 14px}
  .hm-head{margin-bottom:4px}.hm-head .mg-head{padding:9px 12px}
  .hm-stud.top{margin-top:10px;padding:12px 56px 12px 14px}.hm-stud-ic{width:44px;height:44px}.hm-stud-ic svg{width:24px;height:24px}
  .hm-main .news{margin-top:10px}.hm-main .news .alert{padding:8px 12px;margin:0 0 6px}
  .hm-h{margin:16px 0 8px;font-size:12px}
  .hm-svc{gap:10px}
  .hm-tile{min-height:0;flex-direction:row;align-items:center;gap:14px;padding:13px 52px 13px 14px}
  .hm-tile .hm-ic{width:42px;height:42px}.hm-tile .hm-ic svg{width:21px;height:21px}
  .hm-tile b{margin:0;font-size:15px;display:block}
  .hm-tile>span:not(.hm-ic){padding-right:0}
  .hm-tile{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:1px}
  .hm-tile .hm-ic{grid-row:1/3}
  .hm-tile .hm-go{top:50%;bottom:auto;margin-top:-15px;right:14px}
  .hm-apps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .hm-app{padding:10px 12px;gap:10px}.hm-app .hm-ic{width:36px;height:36px}.hm-app small{font-size:12px}
  .hm-libs{gap:8px}
  .hm-lib{padding:10px 12px;gap:10px;align-items:center}.hm-lib .hm-ic{width:36px;height:36px}
  .hm-lib small{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.hm-lib em{margin-top:1px}
  .hm-info{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
  .hm-info .hm-card{padding:13px 14px}
  .hm-links{grid-template-columns:1fr 1fr;gap:2px 6px}.hm-links a{padding:6px 8px}.hm-links b{font-size:13px}.hm-links small{font-size:11.5px}
  .hm-faq details{padding:6px 0}.hm-faq summary{font-size:13px}
  .hm-tips{gap:6px;font-size:12px}
  .hm-foot{padding-top:12px}
  .hm-aside{padding:22px 22px 14px 0;gap:10px}
  .hm-card{padding:13px 14px}.hm-card-h{margin-bottom:6px}
  .hm-wx-ico{font-size:36px}.hm-wx-t{font-size:32px}.hm-wx-days{margin-top:10px}.hm-wx-days div{padding:6px 4px}
  .hm-news-it{padding:6px 8px}.hm-news-it b{font-size:13px!important}.hm-news-it:nth-child(n+6){display:none}
  .hm-hol-it{padding:5px 0}.hm-hol-it:nth-of-type(n+4){display:none}.hm-hol-d b{font-size:15px}
}
@media (min-width:1381px) and (max-height:900px){.hm-q-art{display:none}.hm-about p{display:none}}
.hm-head{flex-wrap:wrap}.hm-head .hm-stud.top{order:3;flex:1 1 100%;margin-top:6px}
@media (min-width:1381px){
  .hm-head{flex-wrap:nowrap;align-items:stretch;gap:10px}
  .hm-head .mg-head{display:none}
  .hm-head .hm-stud.top{order:0;flex:1;margin:0}
  .hm-head>.btn,.hm-head>.hm-me{order:2;align-self:center;min-height:48px}
  .hm-tile>span:not(.hm-ic),.hm-app small{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .hm-app b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hm-info .hm-card{max-height:178px;overflow:hidden}
  .hm-faq details:nth-child(n+4),.hm-tips li:nth-child(n+4){display:none}
  .hm-links{grid-template-columns:1fr 1fr}.hm-links small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hm-main .news .alert{display:flex;gap:10px;align-items:baseline}
}
@media (min-width:1381px){
  .hm-facts{display:none}.hm-about p{margin:0}
  .hm-q-art{width:72px;height:72px}
  .hm-side>p{font-size:13px;line-height:1.45;margin-bottom:14px}
  .hm-side h1{font-size:22px}
  .hm-conn>div{padding:7px 10px}.hm-status{margin-top:10px;padding-top:9px;gap:5px;font-size:13px}
}
@media (min-width:1381px){.hm-info .hm-card{max-height:none}.hm-hol-it:nth-of-type(n+4){display:flex}.hm-hol-it:nth-of-type(n+6){display:none}.hm-tips li{line-height:1.3}}
@media (min-width:1381px){.hm-links{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hm-links a{min-width:0}}
@media (min-width:1381px){
  .hm-main .hm-h{margin:30px 0 12px}
  .hm-main .hm-h:first-of-type{margin-top:22px}
  .hm-libs{gap:12px}.hm-svc{gap:12px}.hm-apps{gap:12px}
  .hm-lib{align-items:flex-start;min-height:74px}.hm-lib>span:last-child{display:block}
  .hm-lib small{line-height:1.35;max-height:1.35em}
  .hm-info{margin-top:30px;gap:12px}
}
@media (max-width:980px){.cb-tabs button{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border:0;background:none;border-radius:10px;color:var(--muted);font:inherit;font-size:11px;font-weight:600}
  .cb-tabs button svg{width:23px;height:23px}
  .cb-tabs button i{position:absolute;top:1px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--brand);color:#fff;font-style:normal;font-size:10.5px;line-height:17px;text-align:center}}

/* ---------- Электронный студенческий ---------- */
.sc-wrap{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:20px;align-items:start}
.sc{position:relative;overflow:hidden;border-radius:22px;padding:20px;color:#fff;
  background:radial-gradient(120% 80% at 100% 0,rgba(194,48,55,.55),transparent 55%),radial-gradient(90% 70% at 0 100%,rgba(212,160,63,.25),transparent 60%),linear-gradient(160deg,#25272c,#121316);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08)}
.sc-glow{position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent 0 70%,rgba(243,211,154,.18) 80%,transparent 90%);animation:scSpin 7s linear infinite;pointer-events:none}
@keyframes scSpin{to{transform:rotate(1turn)}}
.sc>*:not(.sc-glow){position:relative}
.sc-h{display:flex;align-items:center;gap:10px}.sc-h img,.sc-h svg{width:34px;height:auto;flex:none}
.sc-h span{flex:1}.sc-h b{display:block;font-size:15px}.sc-h small{display:block;font-size:10.5px;letter-spacing:.16em;color:#f3d39a;font-weight:700}
.sc-live{font-style:normal;display:flex;align-items:center;gap:6px;font-size:12px;padding:4px 9px;border-radius:99px;background:rgba(0,0,0,.35)}
.sc-live em{font-style:normal;font-variant-numeric:tabular-nums}
.sc-body{display:flex;gap:16px;margin:18px 0 16px}
.sc-ph{width:112px;height:140px;flex:none;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.08);border:2px solid rgba(243,211,154,.55)}
.sc-ph img{width:100%;height:100%;object-fit:cover}.sc-ph a{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#f3d39a;text-decoration:none;font-size:28px;gap:6px}
.sc-ph a span{font-size:11.5px;text-align:center}
.sc-who{min-width:0}.sc-who>b{display:block;font-size:19px;line-height:1.2;margin-bottom:10px}
.sc-who dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:13px}.sc-who dt{color:rgba(255,255,255,.55)}.sc-who dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}
.sc-qr{background:#fff;border-radius:16px;padding:14px 14px 10px;text-align:center;color:#16161a}
.sc-qr img{display:block;width:min(230px,100%);height:auto;margin:0 auto;transition:opacity .3s}
.sc-qr-bar{height:4px;border-radius:9px;background:#eceae5;margin:10px 4px 6px;overflow:hidden}.sc-qr-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#5fb52e,#7CC242);transform-origin:left}
.sc-qr small{font-size:11.5px;color:#6e6c67}
.sc-stop{background:rgba(179,38,30,.25);border:1px solid rgba(255,111,102,.5);border-radius:14px;padding:16px;text-align:center}
.sc-stop b{display:block;font-size:16px;margin:4px 0}.sc-stop span{font-size:13px;color:rgba(255,255,255,.75)}
.sc-help .panel h2{font-size:16px}
@media (max-width:760px){.sc-wrap{grid-template-columns:1fr}.sc-ph{width:96px;height:120px}.sc-who>b{font-size:17px}}
/* проверка охраной */
.vc{max-width:460px;margin:30px auto;text-align:center;padding:28px 22px;border-radius:22px;background:var(--card);border:2px solid var(--line)}
.vc-big{width:96px;height:96px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;font-size:48px;font-weight:700;color:#fff;background:var(--muted)}
.vc-ok{border-color:#7fd3a7}.vc-ok .vc-big{background:linear-gradient(160deg,#3fcf7a,#1e7a4c);animation:vcPop .5s cubic-bezier(.2,1.6,.4,1)}
.vc-old .vc-big,.vc-expired .vc-big{background:linear-gradient(160deg,#f0b429,#c27d0e)}.vc-blocked .vc-big,.vc-bad .vc-big{background:linear-gradient(160deg,#ef5350,#a3171e)}
.vc-blocked,.vc-bad{border-color:#f3b0ab}
@keyframes vcPop{from{transform:scale(.5);opacity:0}}
.vc h1{font-size:25px;margin:0 0 6px}.vc>p{color:var(--ink-2);margin:0 0 16px}
.vc-card{display:flex;gap:14px;align-items:center;text-align:left;padding:12px;border-radius:14px;background:var(--surface-2)}
.vc-card img,.vc-noph{width:110px;height:138px;border-radius:12px;object-fit:cover;flex:none;background:var(--line);display:grid;place-items:center;color:var(--muted);font-size:12px}
.vc-card b{display:block;font-size:18px;line-height:1.2;margin-bottom:6px}.vc-card span{display:block;font-size:14px}.vc-card small{display:block;color:var(--muted);margin-top:6px}
.vc-time{font-size:12px;color:var(--muted);margin:14px 0 0}
/* ресурсы */
.rs-sec{margin-bottom:8px}.rs-sec .hm-h{margin-top:18px}
.rs-tag{font-style:normal;text-transform:none;letter-spacing:0;font-size:11.5px;color:#3f7a1c;background:#e6f4dc;border-radius:99px;padding:2px 9px;margin-left:6px}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.rs-it{display:flex;gap:12px;align-items:flex-start;padding:13px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}
.rs-it:hover{transform:translateY(-2px);border-color:var(--hover-line)}
.rs-fav{width:38px;height:38px;flex:none;border-radius:10px;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(160deg,#5591e6,#3468bf)}
.rs-sec.mine .rs-fav{background:linear-gradient(160deg,#8fd055,#5f9e2e)}
.rs-it>span:last-child{min-width:0}.rs-it b{display:block;font-size:14.5px}.rs-it small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}.rs-it em{display:block;font-style:normal;color:var(--blue);font-size:12px;margin-top:3px}
/* группа */
.gr-top{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:16px}
.gr-person{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.gr-person>small{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.gr-person.st{border-color:#f0c68f;background:linear-gradient(180deg,#fff7ec,var(--card))}
.gr-person b{font-size:15.5px}.gr-person>span:not(.gr-av){font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}.gr-person .btn{margin-top:6px}
.gr-av{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:20px;margin:4px 0}.gr-av.sm{width:36px;height:36px;font-size:14px;margin:0;flex:none}
.gr-form textarea,.gr-form input{margin-bottom:8px}
.gr-post{padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);margin-bottom:10px}
.gr-post.pin{border-color:#f0c68f}
.gr-post header{display:flex;gap:10px;align-items:center;margin-bottom:8px}.gr-post header b{display:block;font-size:14px}.gr-post header small{color:var(--muted);font-size:12px}
.gr-post h3{font-size:16px;margin:0 0 4px}.gr-post p{margin:0;white-space:pre-wrap;font-size:14.5px}
/* админка: студенты */
.st-adm{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
.st-glist{position:sticky;top:12px;max-height:calc(100vh - 40px);overflow:auto}
.st-glist a{display:grid;grid-template-columns:1fr auto;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none}
.st-glist a:hover{background:var(--surface-2)}.st-glist a.on{background:var(--info-bg)}
.st-glist small{grid-column:1;color:var(--muted);font-size:12px}.st-flags{grid-row:1/3;grid-column:2;align-self:center;font-style:normal}
.st-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.st-row2 form{flex-wrap:wrap}
tr.st-on td{background:#fff7ec}
.st-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;margin-top:10px}
.st-links>div{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:var(--surface-2)}
.st-links small{flex:1;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-post{border-top:1px solid var(--line);padding:10px 0}.st-post p{margin:4px 0;white-space:pre-wrap}
@media (max-width:900px){.st-adm,.st-row2{grid-template-columns:1fr}.st-glist{position:static;max-height:none}}
/* справочник студента */
.hp-q{width:100%;font-size:16px;padding:13px 16px;border-radius:14px;margin-bottom:14px}
.hp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.hp-it{display:flex;gap:14px;padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}
.hp-it:hover{transform:translateY(-1px);border-color:var(--hover-line)}
.hp-em{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:22px;background:var(--surface-2)}
.hp-it>div{min-width:0}.hp-it small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}.hp-it b{display:block;font-size:16px;margin:2px 0 6px}
.hp-it ul{list-style:none;padding:0;margin:0;display:grid;gap:3px;font-size:13.5px}.hp-it li{overflow-wrap:anywhere}.hp-it p{margin:6px 0 0;font-size:13px;color:var(--ink-2)}
.hp-more{border-style:dashed}
.hd-adm{display:grid;grid-template-columns:56px repeat(6,minmax(0,1fr));gap:6px;padding:12px;margin-bottom:8px}.hd-adm .w2{grid-column:span 2}
@media (max-width:900px){.hd-adm{grid-template-columns:1fr 1fr}.hd-adm .w2{grid-column:1/-1}}
.bk-anon{display:flex;gap:12px;align-items:flex-start;padding:14px;margin:16px 0 4px;border-radius:12px;border:1.5px solid #c9b8f0;background:#f4f0fd;font-weight:400;cursor:pointer}
.bk-anon input{margin-top:4px;flex:none;accent-color:var(--violet)}.bk-anon b{display:block}.bk-anon small{display:block;color:var(--ink-2);font-size:13px}
.anon-tag{display:inline-block;font-size:11.5px;font-weight:700;color:var(--violet);background:#ede7fb;border-radius:99px;padding:1px 8px;margin-left:4px}

/* ---------- опросы, мероприятия, бюро находок ---------- */
.pl-list{display:grid;gap:8px}
.pl-it{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}
.pl-it:hover{transform:translateY(-1px);border-color:var(--hover-line)}
.pl-ic{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:19px;background:var(--info-bg)}.pl-it.done .pl-ic{background:var(--ok-bg);color:var(--ok);font-weight:700}
.pl-t{flex:1;min-width:0}.pl-t b{display:block}.pl-t small{color:var(--muted);font-size:12.5px}.pl-go{color:var(--blue);font-weight:600;font-size:13.5px;white-space:nowrap}
.pl-opts{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.pl-rate{display:flex;gap:8px;flex-wrap:wrap}
.pl-rate label{margin:0;cursor:pointer}.pl-rate input{position:absolute;opacity:0}
.pl-rate span{display:flex;flex-direction:column;align-items:center;padding:10px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:#e0a43a;font-size:13px;min-width:86px;transition:border-color .15s,background .15s}
.pl-rate em{font-style:normal;color:var(--ink);font-weight:700;font-size:16px}.pl-rate input:checked+span{border-color:#e0a43a;background:#fff6e5}
.pl-bar{display:grid;grid-template-columns:minmax(120px,220px) 1fr 70px;gap:10px;align-items:center;margin:6px 0;font-size:14px}
.pl-bar i{height:12px;border-radius:9px;background:var(--surface-2);position:relative;overflow:hidden}
.pl-bar i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:9px;background:linear-gradient(90deg,#5591e6,#3468bf);animation:plGrow .8s cubic-bezier(.2,.7,.2,1)}
@keyframes plGrow{from{width:0}}
.pl-bar b{text-align:right;font-size:13px}.pl-avg{font-size:26px;font-weight:700;color:#e0a43a;margin:0 0 6px}.pl-text{margin:6px 0;padding:8px 10px;background:var(--surface-2);border-radius:8px;font-size:13.5px}
.ev-wrap{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:16px;align-items:start}
.ev-cal .ph h2{flex:1;text-align:center}
.ev-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.ev-grid b{font-size:11px;color:var(--muted);padding:4px 0}
.ev-grid span{position:relative;aspect-ratio:1;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13.5px;font-weight:600;background:var(--surface-2)}
.ev-grid span.out{opacity:.35}.ev-grid span.today{outline:2px solid var(--brand)}.ev-grid span.has{background:var(--info-bg);color:var(--blue)}
.ev-grid span i{font-style:normal;font-size:10px;line-height:1}
.ev-it{display:flex;gap:14px;padding:14px;border-radius:14px;background:var(--card);border:1px solid var(--line);margin-bottom:10px}
.ev-d{width:52px;flex:none;text-align:center;border-radius:12px;padding:6px 0;background:var(--info-bg);color:var(--blue)}
.ev-it.k-exam .ev-d{background:var(--err-bg);color:var(--brand)}.ev-it.k-deadline .ev-d{background:var(--warn-bg);color:var(--warn)}.ev-it.k-holiday .ev-d{background:var(--ok-bg);color:var(--ok)}
.ev-d b{display:block;font-size:20px;line-height:1.1}.ev-d small{font-size:11.5px;font-weight:600}
.ev-b{min-width:0;flex:1}.ev-b>small{color:var(--muted);font-size:12.5px}.ev-b>b{display:block;font-size:16px;margin:2px 0}.ev-b p{margin:4px 0 0;font-size:13.5px;color:var(--ink-2);white-space:pre-wrap}
.lf-add summary{cursor:pointer;list-style:none}.lf-add summary::-webkit-details-marker{display:none}.lf-add form{margin-top:12px;display:grid;gap:8px}
.lf-kind{display:flex;gap:8px}.lf-kind label{margin:0;flex:1}.lf-kind input{position:absolute;opacity:0}
.lf-kind span{display:block;text-align:center;padding:10px;border-radius:12px;border:1.5px solid var(--line);font-weight:600;cursor:pointer}.lf-kind input:checked+span{border-color:#7CC242;background:#f1f9ea}
.lf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.lf-it{border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.lf-it img,.lf-noph{display:block;width:100%;height:180px;object-fit:cover;background:var(--surface-2)}.lf-noph{display:grid;place-items:center;font-size:52px}
.lf-it>div{padding:12px 14px}.lf-it b{display:block;font-size:15.5px;margin:4px 0 2px}.lf-it small{color:var(--muted);font-size:12.5px}.lf-it p{margin:6px 0 0;font-size:13.5px}
.lf-tag{font-style:normal;font-size:11.5px;font-weight:700;border-radius:99px;padding:2px 9px;background:var(--err-bg);color:var(--brand)}.lf-it.k-found .lf-tag{background:var(--ok-bg);color:var(--ok)}
.cmp-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.cmp-q{border-top:1px solid var(--line);padding:8px 0}.cmp-q summary{cursor:pointer;font-weight:600}.cmp-q input,.cmp-q select,.cmp-q textarea{margin-top:6px}
.cmp-row{display:block;padding:9px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.cmp-row small{display:block;color:var(--muted);font-size:12.5px}
.lf-adm{display:flex;gap:10px;align-items:center}.lf-adm img{width:64px;height:64px;object-fit:cover;border-radius:8px}.lf-adm>span{flex:1;min-width:0}
@media (max-width:900px){.ev-wrap,.cmp-2{grid-template-columns:1fr}.pl-bar{grid-template-columns:1fr 60px}.pl-bar span{grid-column:1/-1}}
