:root{
  --brand:#005EB8; --brand-2:#347EC6; --brand-dark:#00468A;
  --bg:#f4f6fb; --card:#fff; --text:#1b2236; --muted:#6b7488; --line:#e3e7f1;
  --green:#12a150; --amber:#d98a00; --red:#d63b3b; --radius:16px;
  --shadow:0 1px 2px rgba(20,30,70,.05),0 8px 24px rgba(20,30,70,.06);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{display:flex;flex-direction:column;min-height:100vh;margin:0;font:16px/1.55 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:1.75rem;margin:.2em 0 .6em;letter-spacing:-.01em}h2{font-size:1.2rem;margin:0 0 .8em}h3{font-size:1rem;margin:0 0 .5em}
.container{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}
.main{flex:1 0 auto;padding-top:28px;padding-bottom:48px}
.topbar,.footer{flex:0 0 auto}
.muted{color:var(--muted)}.sm{font-size:.875rem}.right{text-align:right}.mt{margin-top:20px}.inline{display:inline}

.topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:1.15rem}.brand:hover{text-decoration:none}
.brand-name span{color:var(--brand)}
.logo-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:800}
.logo-img{height:40px;width:40px}
.nav{display:flex;align-items:center;gap:4px}
.nav a,.linkbtn{padding:8px 12px;border-radius:10px;color:var(--text);font-weight:500;font-size:.95rem;background:none;border:0;cursor:pointer;font-family:inherit}
.nav a:hover,.linkbtn:hover{background:var(--bg);text-decoration:none}
.nav a.on{background:#e6f0fa;color:var(--brand)}
.nav a.staff{color:var(--brand-2)}
.nav a.btn{color:#fff}.nav a.btn:hover{background:var(--brand-dark)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:10px;font-size:1.2rem;padding:6px 12px;cursor:pointer}
.subnav{background:#fff;border-bottom:1px solid var(--line)}
.subnav .container{display:flex;flex-wrap:wrap;gap:2px 4px;padding-top:8px;padding-bottom:8px}
.subnav a{padding:6px 11px;border-radius:8px;color:var(--muted);font-weight:500;font-size:.9rem;white-space:nowrap}
.subnav a.on{background:var(--text);color:#fff}.subnav a:hover{text-decoration:none;color:var(--text)}
.subnav a.on:hover{color:#fff}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;border-radius:12px;border:0;background:var(--brand);color:#fff;font:600 .95rem "Fira Sans",Arial,sans-serif;cursor:pointer;transition:.15s}
.btn:hover{background:var(--brand-dark);text-decoration:none}
.btn.sm{padding:7px 14px;font-size:.875rem;border-radius:10px;background:var(--brand)}
.btn.ghost{background:#fff;color:var(--text);border:1px solid var(--line)}.btn.ghost:hover{background:var(--bg)}
.btn.danger{background:var(--red)}.btn.danger:hover{background:#b02e2e}
.btn.ok{background:var(--green)}.btn.ok:hover{background:#0d7d3e}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);margin-bottom:20px}
.card.hero{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border:0}
.card.hero .muted{color:rgba(255,255,255,.75)}.card.hero a{color:#fff;text-decoration:underline}
.card.hero a.btn{text-decoration:none}
.card.hero a.btn.ghost{background:#fff;color:var(--brand);border-color:#fff}
.card.hero a.btn.ghost:hover{background:#e6f0fa;color:var(--brand-dark)}
.grid{display:grid;gap:20px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.tile{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;color:var(--text);transition:.15s}
.tile:hover{border-color:var(--brand);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}
.tile b{display:block;margin-bottom:4px}.tile span{color:var(--muted);font-size:.9rem}
.stat{font-size:2rem;font-weight:800;letter-spacing:-.02em}.stat-l{color:var(--muted);font-size:.875rem}

.field{margin-bottom:16px}.field label,.field>label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
.field small{display:block;color:var(--muted);margin-top:4px}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=tel],input[type=number],input[type=search],select,textarea{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff;color:var(--text);transition:.15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,94,184,.16)}
input[readonly],input:disabled{background:var(--bg);color:var(--muted)}
.check{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;font-weight:500}.check input{margin-top:5px}
.req{color:var(--red)}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.row .field{flex:1;min-width:160px;margin-bottom:0}
.narrow{max-width:460px;margin:24px auto}.medium{max-width:720px}

.alert{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:500}
.a-ok{background:#e6f7ed;color:#0d6b36}.a-err{background:#fdeaea;color:#a02525}.a-info{background:#e8eefc;color:#00468A}
.alert ul{margin:6px 0 0 18px;padding:0}

.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}
.b-green{background:#e6f7ed;color:#0d6b36}.b-red{background:#fdeaea;color:#a02525}.b-amber{background:#fff4dc;color:#8a5a00}
.b-blue{background:#e8eefc;color:#00468A}.b-gray{background:#eceff5;color:#566}

table.t{width:100%;border-collapse:collapse}
.t th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}
.t td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.t tr:last-child td{border-bottom:0}
.t tr:hover td{background:#fafbff}
.tablewrap{overflow-x:auto}
.dl{display:grid;grid-template-columns:200px 1fr;gap:8px 16px;margin:0}.dl dt{color:var(--muted);font-size:.9rem}.dl dd{margin:0;font-weight:500}
.pager{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}.pager a{padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--text)}.pager a.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 18px 22px;border-left:2px solid var(--line);margin-left:6px}
.timeline li:before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--brand)}
.timeline li:last-child{border-left-color:transparent}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filters>*{flex:1;min-width:140px}.filters .btn{flex:0}
.pagehead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.pagehead h1{margin:0}
.landing{text-align:center;padding:48px 0 24px}.landing h1{font-size:2.6rem;line-height:1.15;max-width:760px;margin:0 auto 16px}
.landing p{max-width:620px;margin:0 auto 28px;color:var(--muted);font-size:1.1rem}.landing .btn{margin:4px}

.footer{border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:.875rem;padding:20px 0}
.footer .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Печатные документы */
.doc{background:#fff;color:#000;max-width:800px;margin:0 auto;padding:48px 56px;border:1px solid var(--line);border-radius:6px;font-family:"Times New Roman",Times,serif;font-size:14pt;line-height:1.5}
.doc h1{text-align:center;font-size:18pt;letter-spacing:.08em;text-transform:uppercase;margin:24px 0}
.doc .org{text-align:center;font-weight:bold;text-transform:uppercase;font-size:12pt}
.doc .to{margin-left:50%;margin-bottom:24px}
.doc .sign{display:flex;justify-content:space-between;align-items:flex-end;margin-top:40px;gap:20px}
.doc .qrbox{text-align:center;font:9pt Inter,Arial,sans-serif;color:#333}
.doc .meta{font-size:11pt}
.doc dl{display:grid;grid-template-columns:230px 1fr;gap:6px 14px}.doc dt{font-style:italic}.doc dd{margin:0}
.noprint-bar{max-width:800px;margin:0 auto 16px;display:flex;gap:10px;justify-content:flex-end}

/* группы меню */
.nav{flex-wrap:nowrap}.nav-sp{flex:1 1 auto;min-width:8px}.only-m{display:none}
.dm{position:relative}
.dm-b{padding:8px 12px;border-radius:10px;color:var(--text);font-weight:500;font-size:.95rem;background:none;border:0;cursor:pointer;font-family:inherit;white-space:nowrap}
.dm-b:hover,.dm.open .dm-b{background:var(--bg)}.dm.on .dm-b{background:#e6f0fa;color:var(--brand)}
.dm-m{display:none;position:absolute;top:100%;left:0;min-width:200px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(20,30,60,.14);padding:6px;z-index:40;flex-direction:column}
.dm.open>.dm-m{display:flex}
.dm-m a,.dm-m .linkbtn{display:block;width:100%;text-align:left;white-space:nowrap;padding:8px 12px;border-radius:8px}
.dm-m a.on{background:#e6f0fa;color:var(--brand)}
.nav>.dm:last-child>.dm-m{left:auto;right:0}
.nav a,.linkbtn{white-space:nowrap}
.subnav .dm-b{font-size:.9rem;padding:6px 11px;border-radius:8px;color:var(--muted)}.subnav .dm.on .dm-b{background:var(--text);color:#fff}
.subnav .dm-m a{color:var(--text);font-size:.92rem}.subnav .dm-m a.on{background:#e6f0fa;color:var(--brand)}
.subnav .container{flex-wrap:nowrap;align-items:center}
.bottomnav,.sheet-bg{display:none}
@media(max-width:1180px){.nav a,.dm-b,.linkbtn{padding:8px 9px;font-size:.9rem}.brand-name{display:none}}
@media(max-width:860px){
  .g3,.g4{grid-template-columns:repeat(2,1fr)}
  .burger{display:block}
  .nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px 20px}
  .nav.open{display:flex}
  .nav{max-height:calc(100vh - 64px);overflow:auto;flex-wrap:nowrap;z-index:30}.brand-name{display:inline}
  .nav a,.dm-b,.linkbtn{padding:11px 10px;font-size:1rem;text-align:left}
  .nav-sp{display:none}.only-m{display:inline}
  .dm{display:contents}.dm-m{position:static;display:none;box-shadow:none;border:0;border-left:3px solid var(--line);border-radius:0;margin:0 0 6px 10px;padding:0 0 0 6px;min-width:0}
  .dm.open>.dm-m{display:flex}.nav>.dm:last-child>.dm-m{left:auto;right:auto}
  .dm-b{width:100%}
  .subnav .container{flex-wrap:wrap}.subnav .dm-b{width:auto}.subnav .dm{display:block}.subnav .container{align-items:flex-start}.subnav .dm.open{flex:1 0 100%;order:-0}.subnav .dm-m{position:static;margin:4px 0 6px}
  .landing h1{font-size:2rem}
}
@media(max-width:600px){
  .g2,.g3,.g4{grid-template-columns:1fr}
  .dl{grid-template-columns:1fr;gap:2px}.dl dd{margin-bottom:10px}
  .card{padding:18px}.doc{padding:24px 20px;font-size:12pt}.doc .to{margin-left:20%}
  .doc dl{grid-template-columns:1fr}
}
@media print{
  body{background:#fff}.topbar,.footer,.noprint,.noprint-bar,.alert{display:none!important}
  .main{padding:0}.doc{border:0;padding:0;max-width:none}
}

/* Публичные формы */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.opts{display:flex;gap:10px 18px;flex-wrap:wrap}
.opt{display:inline-flex;align-items:center;gap:8px;font-weight:500;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}
.opt:has(input:checked){border-color:var(--brand);background:#e6f0fa}
.info-block{background:var(--bg);border-radius:12px;padding:14px 16px;margin-bottom:16px;color:var(--muted);font-size:.92rem}
.fw[hidden]{display:none!important}
.captcha-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.captcha-row img{border:1px solid var(--line);border-radius:10px;background:#fff;max-width:100%;height:auto}
.captcha-row input{max-width:200px;text-transform:uppercase;letter-spacing:.15em}
input[type=file]{width:100%;padding:10px;border:1px dashed var(--line);border-radius:12px;background:#fff}
.btn.lg{padding:14px 28px;font-size:1.05rem}
.statusbox{text-align:center;padding:12px 0}.statusbox .num{font-size:1.5rem;font-weight:800}

.doc .tl{min-height:1.5em}.doc .tl b{font-weight:700}
.doc .dl{display:grid;grid-template-columns:230px 1fr;gap:6px 14px;margin:6px 0}.doc .dl dt{font-style:italic;color:#000;font-size:inherit}.doc .dl dd{font-weight:400}
.help-box{background:var(--bg);border-radius:12px;padding:14px 16px;font-size:.88rem}.help-box code{background:#fff;padding:1px 6px;border-radius:6px;border:1px solid var(--line)}
textarea.mono{font-family:ui-monospace,Consolas,monospace;font-size:.88rem}
.drag-handle{display:inline-block;cursor:grab;color:var(--muted);font-weight:800;letter-spacing:-2px;padding:6px 8px;border-radius:8px;user-select:none}.ord-it .gh{touch-action:none}
.drag-handle:hover{background:var(--bg);color:var(--text)}
tr.dragging{opacity:.6;background:#e6f0fa;outline:2px dashed var(--brand)}
body.is-dragging{cursor:grabbing;user-select:none}
.form-intro a,.info-block a,.check a{color:var(--brand);text-decoration:underline}
.form-intro p{margin:.4em 0}

.member-photo{position:relative;width:132px;height:176px;border-radius:12px;overflow:hidden;background:#e8edf7;margin:0 0 16px;box-shadow:0 1px 6px rgba(20,40,90,.15)}
.member-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.member-photo-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:var(--brand)}

.dept-table input[type=text],.dept-table select{width:100%}
.dept-table td{vertical-align:middle}

.bell{white-space:nowrap}.bell-n{display:inline-block;min-width:1.4em;padding:0 .4em;border-radius:99px;background:#d63b3b;color:#fff;font-size:.75rem;font-weight:700;text-align:center;line-height:1.5}
a.notif{display:block;color:inherit;text-decoration:none}a.notif:hover{text-decoration:none;box-shadow:0 2px 14px rgba(40,60,140,.15)}
a.notif.unread{border-left:4px solid var(--brand)}.notif-t{font-weight:700}.notif-b{margin:.3em 0}

/* ===== Мессенджер ===== */
.chat{display:grid;grid-template-columns:300px 1fr;height:calc(100vh - 230px);min-height:420px;background:#fff;border-radius:16px;box-shadow:0 2px 16px rgba(30,40,90,.1);overflow:hidden}
.chat-side{border-right:1px solid #e5e8f3;display:flex;flex-direction:column;min-width:0}
.chat-side-h{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #e5e8f3}
.chat-list{overflow-y:auto;flex:1}.chat-none{padding:16px}
.chat-row{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #f0f2f8;padding:10px 14px;cursor:pointer;font:inherit;color:inherit}
.chat-row:hover,.chat-row.on{background:#e6f0fa}.chat-ico{font-size:1.3rem}.chat-mid{flex:1;min-width:0;display:flex;flex-direction:column}
.chat-mid b,.chat-mid small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-mid small{color:#6b7194}
.chat-main{display:flex;flex-direction:column;min-width:0}.chat-empty{margin:auto;color:#6b7194}
.chat-pane{display:flex;flex-direction:column;height:100%;min-height:0}
.chat-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #e5e8f3}.chat-title{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-back{display:none}
.chat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:#f7f8fd}
.msg{max-width:78%;align-self:flex-start;background:#fff;border-radius:14px 14px 14px 4px;padding:8px 12px;box-shadow:0 1px 3px rgba(30,40,90,.08)}
.msg.mine{align-self:flex-end;background:#e3e9ff;border-radius:14px 14px 4px 14px}.msg.deleted .msg-b{color:#8a8fb0;font-style:italic}
.msg-n{font-size:.78rem;font-weight:700;color:var(--brand)}.msg-b{white-space:pre-wrap;word-break:break-word}.msg-b a{text-decoration:underline}
.msg-f{font-size:.72rem;color:#8a8fb0;margin-top:2px;display:flex;gap:8px;align-items:center}.msg-x{background:none;border:0;color:#b0b4cc;cursor:pointer;padding:0}.msg-x:hover{color:#d63b3b}
.chat-more{align-self:center}
.chat-compose{display:flex;gap:8px;padding:10px;border-top:1px solid #e5e8f3;align-items:flex-end}.chat-compose textarea{flex:1;resize:none;max-height:140px}
.chat-warn{padding:10px 14px;background:#fff4e5;color:#8a5a00;font-size:.9rem}
.modal-bg{position:fixed;inset:0;background:rgba(20,25,60,.45);display:flex;align-items:center;justify-content:center;z-index:90;padding:12px}.modal-bg[hidden]{display:none}
.modal{background:#fff;border-radius:16px;padding:20px;max-width:480px;width:100%;max-height:88vh;overflow-y:auto}
.tabs{display:flex;gap:6px}.tab{border:1px solid #d9def0;background:#fff;border-radius:99px;padding:6px 14px;cursor:pointer;font:inherit}.tab.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.pick-row{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #eef0f8;padding:8px;cursor:pointer;font:inherit}.pick-row:hover{background:#e6f0fa}
.chip{display:inline-block;background:#e3e9ff;border-radius:99px;padding:3px 10px;margin:4px 4px 0 0;font-size:.85rem}
.member-row{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f0f2f8}
@media(max-width:760px){.chat{grid-template-columns:1fr;height:calc(100vh - 190px)}.chat-main{display:none}.chat.is-open .chat-side{display:none}.chat.is-open .chat-main{display:flex}.chat-back{display:inline-flex}.msg{max-width:90%}}

/* Требует внимания, База знаний */
.attention{border-left:4px solid #f59f00}.att-row{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #f0f2f8;color:inherit;text-decoration:none}.att-row:last-child{border-bottom:0}.att-row span:nth-child(2){flex:1}.att-row:hover{text-decoration:none;background:#f7f8fd}
.kb-body{line-height:1.6}.kb-body h2,.kb-body h3{margin:1em 0 .4em}.kb-body ul,.kb-body ol{padding-left:1.4em}.kb-body a{text-decoration:underline}

/* Приёмная и защита прав */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
@media(max-width:800px){.grid3{grid-template-columns:1fr}}
.rec-card{text-decoration:none;color:inherit;margin:0;transition:transform .15s,box-shadow .15s}
.rec-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.rec-card h3{margin:.3em 0}.rec-ic{font-size:2rem}
.slotday{margin:8px 0}.slotday>b{display:block;margin-bottom:4px}
.slot{display:inline-block;margin:0 6px 6px 0;cursor:pointer}
.slot input{position:absolute;opacity:0}
.slot span{display:inline-block;padding:7px 14px;border:1px solid #c9d3e0;border-radius:8px;background:#fff}
.slot input:checked+span{background:#005EB8;color:#fff;border-color:#005EB8}
.slot input:focus-visible+span{outline:2px solid #005EB8;outline-offset:2px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.tabs a{padding:7px 14px;border-radius:8px;background:#eef2f8;text-decoration:none;color:inherit}
.tabs a.on{background:#005EB8;color:#fff}
ul.tl{list-style:none;padding:0;margin:0}
ul.tl li{padding:8px 0 8px 14px;border-left:3px solid #c9d3e0;margin-left:4px}

/* Удостоверение должностного лица */
.oid-wrap{max-width:420px;margin:16px auto;text-align:center}
.oid{perspective:1200px;cursor:pointer;outline:none}
.oid-in{position:relative;width:100%;aspect-ratio:1.586;transition:transform .5s;transform-style:preserve-3d}
.oid.flipped .oid-in{transform:rotateY(180deg)}
.oid-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:16px;padding:16px;text-align:left;background:linear-gradient(135deg,#005EB8,#2f6fd0);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.2);overflow:hidden}
.oid-back{transform:rotateY(180deg);background:linear-gradient(135deg,#2f6fd0,#005EB8);display:flex;flex-direction:column;justify-content:space-between;font-size:.9rem}
.oid-head{display:flex;gap:10px;align-items:center}.oid-head .logo-img,.oid-head .logo-mark{height:34px;width:auto}
.oid-body{display:flex;gap:12px;margin-top:12px;align-items:center}
.oid-photo{width:76px;height:96px;border-radius:8px;overflow:hidden;background:#fff3;flex:none;position:relative}
.oid-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.oid-photo-ph{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:2rem}
.oid-name{font-size:1.15rem;font-weight:700;line-height:1.2}.oid-pos{margin:4px 0;opacity:.95}
.oid-qr{position:absolute;right:12px;bottom:12px;background:#fff;padding:4px;border-radius:6px}
.oid-sign{display:flex;justify-content:space-between;border-top:1px solid #fff8;padding-top:6px}
.oid.dead .oid-face{background:#8a8f98;filter:grayscale(1)}
.oid-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:800;color:#c0182a;transform:rotate(-18deg);text-shadow:0 0 6px #fff;letter-spacing:.05em;pointer-events:none}
.oid-dots{margin:10px 0}.oid-dots span{display:inline-block;width:9px;height:9px;border-radius:50%;background:#c9d3e0;margin:0 4px}.oid-dots span.on{background:#005EB8}

/* Мероприятия */
.evrow{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;text-decoration:none;color:inherit;margin:8px 0}
.evrow:hover{box-shadow:0 4px 14px rgba(0,0,0,.08)}
.evdate{text-align:center;background:#eef2f8;border-radius:10px;padding:6px 0}.evdate b{display:block;font-size:1.4rem;line-height:1}.evdate span{font-size:.75rem;color:#5b6b82}
@media print{.noprint,.topbar,.subnav,.tabs{display:none!important}}
.hr-gold{border:2px solid #c9a227;background:linear-gradient(135deg,#fff8dc,#fdf0b8);color:#6b5200;border-radius:12px;padding:10px 14px;margin:12px 0;font-weight:600;box-shadow:0 0 0 3px rgba(201,162,39,.18)}
.hr-urgent td,tr.hr-urgent{background:#fdecec}.hr-urgent a{color:#b3261e;font-weight:700}

/* PWA на телефоне: нижнее меню как в мобильных приложениях */
@media(max-width:860px){
  html.pwa .bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  html.pwa .bottomnav a,html.pwa .bottomnav button{flex:1 1 0;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px 6px;font-size:.64rem;font-weight:500;line-height:1.1;font-family:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);background:none;border:0;cursor:pointer;text-decoration:none}
  html.pwa .bottomnav i{font-style:normal;font-size:1.35rem;line-height:1.1}
  html.pwa .bottomnav a.on{color:var(--brand);font-weight:700}
  html.pwa .bottomnav .bell-n{position:absolute;top:2px;left:calc(50% + 6px);margin:0}
  html.pwa body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  html.pwa .burger{display:none}
  html.pwa .nav{position:fixed;top:auto;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom));max-height:70vh;border-radius:18px 18px 0 0;border:0;box-shadow:0 -8px 30px rgba(20,30,60,.2);z-index:49;padding:10px 16px}
  html.pwa .sheet-bg{position:fixed;inset:0;background:rgba(15,20,40,.35);z-index:48}
  html.pwa body.more-open .sheet-bg{display:block}
  html.pwa .topbar{padding-top:env(safe-area-inset-top);backdrop-filter:none;background:#fff}
  html.pwa body.more-open .topbar{z-index:49}
  html.pwa .subnav .container{padding-top:6px;padding-bottom:6px}
  html.pwa .chat{height:calc(100vh - 270px)}
}
/* Иконки Font Awesome */
.dm-c{font-size:.65em;margin-left:3px;opacity:.7}
.rec-ic{color:var(--brand)}.att-row i{color:var(--brand);width:1.3em;text-align:center}.chat-ico{color:var(--brand)}
.sm i.fa-arrow-left,a.sm>i:first-child{margin-right:2px}
.nav .bell i{font-size:1rem}.btn i,.linkbtn i{margin-right:4px}
.hr-gold i{margin-right:4px}.drag-handle{color:var(--muted);cursor:grab}
.ic-lg{font-size:1.4rem;color:var(--brand)}

/* ===== Формы ===== */
input[type=text],input[type=email],input[type=password],input[type=date],input[type=tel],input[type=number],input[type=search],input[type=url],input[type=datetime-local],select,textarea{min-height:44px}
textarea{resize:vertical;line-height:1.5}
input::placeholder,textarea::placeholder{color:#9aa4b6}
input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:18px;height:18px;flex:0 0 auto;cursor:pointer}
.field label small{font-weight:400}
/* загрузка файлов */
.fz{position:relative;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:16px 18px;border:2px dashed #b9cde4;border-radius:16px;background:#f5f9fd;cursor:pointer;transition:.15s}
.fz:hover,.fz.drag{border-color:var(--brand);background:#e9f2fb}.fz.drag{box-shadow:0 0 0 4px rgba(0,94,184,.14)}
.fz-ic{width:46px;height:46px;border-radius:14px;background:#fff;color:var(--brand);display:grid;place-items:center;font-size:1.35rem;box-shadow:0 1px 4px rgba(0,60,120,.12)}
.fz-t{display:flex;flex-direction:column;line-height:1.35}.fz-t span{color:var(--muted);font-size:.9rem}.fz-t u{color:var(--brand);text-decoration:none;font-weight:600}
.fz-list{flex:1 0 100%;display:flex;flex-direction:column;gap:6px}.fz-list:empty{display:none}
.fz-f{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 10px}.fz-f i{color:var(--brand)}
.fz-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.fz-f small{color:var(--muted)}
.fz-x{border:0;background:none;color:#8a96a8;cursor:pointer;width:26px;height:26px;border-radius:8px}.fz-x:hover{background:#fdeaea;color:var(--red)}
.fz-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;min-height:0}
/* выпадающие списки */
.ns{position:relative}.ns-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;min-height:0}
.ns-b{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;color:var(--text);cursor:pointer;text-align:left;transition:.15s}
.ns-b:hover{border-color:#b9cde4}.ns.open .ns-b,.ns-b:focus-visible{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,94,184,.16)}
.ns-l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ns-l.ph{color:#9aa4b6}.ns-c{font-size:.7rem;color:var(--muted);transition:.15s}.ns.open .ns-c{transform:rotate(180deg)}
.ns.dis .ns-b{background:var(--bg);color:var(--muted);cursor:not-allowed}
.ns-p{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 36px rgba(10,40,80,.18);padding:6px;max-height:300px;display:flex;flex-direction:column}.ns-p[hidden]{display:none}
.ns.up .ns-p{top:auto;bottom:calc(100% + 6px)}
.ns-s{margin-bottom:6px;min-height:38px!important;padding:7px 12px!important}
.ns-ul{list-style:none;margin:0;padding:0;overflow-y:auto}
.ns-o{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;cursor:pointer}.ns-o span{overflow:hidden;text-overflow:ellipsis}.ns-o:hover,.ns-o.hi{background:#eaf2fb}.ns-o.sel{color:var(--brand);font-weight:600}.ns-o.ph{color:var(--muted)}.ns-o.dis{opacity:.45;cursor:not-allowed}
.ns-g{padding:8px 12px 4px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
/* дата */
.dp{position:relative}.dp-in{padding-right:42px!important}.dp-ic{position:absolute;right:14px;top:14px;color:var(--muted);cursor:pointer}
.dp-p{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:300px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 36px rgba(10,40,80,.2);padding:12px}.dp-p[hidden]{display:none}.dp.up .dp-p{top:auto;bottom:calc(100% + 6px)}
.dp-h{display:flex;align-items:center;gap:2px;margin-bottom:8px}.dp-t{flex:1;text-align:center}
.dp-nb{border:0;background:none;width:30px;height:30px;border-radius:8px;cursor:pointer;color:var(--muted)}.dp-nb:hover{background:#eaf2fb;color:var(--brand)}
.dp-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.dp-w{font-size:.75rem;color:var(--muted);padding:4px 0;text-transform:uppercase}
.dp-d{border:0;background:none;height:36px;border-radius:10px;cursor:pointer;font:inherit;color:var(--text)}.dp-d:hover:not(:disabled){background:#eaf2fb}.dp-d.now{box-shadow:inset 0 0 0 1px var(--brand)}.dp-d.sel{background:var(--brand);color:#fff}.dp-d:disabled{color:#c4ccd8;cursor:not-allowed}
.dp-tm{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted)}.dp-tm .btn{margin-left:auto}
.dp-n{width:58px!important;min-height:36px!important;padding:5px 8px!important;text-align:center}
.dp-f{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.dp-l{border:0;background:none;color:var(--brand);font:inherit;font-weight:600;cursor:pointer;padding:6px 8px;border-radius:8px}.dp-l:hover{background:#eaf2fb}

/* ===== Шапка: чат, уведомления, аватар ===== */
.topbar-in{gap:10px}.nav{flex:1;margin-left:14px}
.topright{display:flex;align-items:center;gap:4px;margin-left:auto}
.ibtn{position:relative;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--text);font-size:1.15rem}.ibtn:hover{background:var(--bg);text-decoration:none}
.ibtn .bell-n{position:absolute;top:2px;right:0;font-size:.65rem;min-width:1.5em;padding:0 .3em}.bell-n[hidden]{display:none}
.avatar{position:relative;width:34px;height:34px;border-radius:50%;overflow:hidden;background:#dbe8f6;flex:0 0 auto;display:block;margin:0;box-shadow:none}
.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.avatar-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--brand)}
.dm.user>.dm-b{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border-radius:99px}.dm.user.on>.dm-b,.dm.user>.dm-b:hover{background:var(--bg)}.user-n{font-weight:600}
.dm.user>.dm-m{left:auto;right:0;min-width:270px}
.dm-who{display:flex;flex-direction:column;padding:10px 12px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}
.dm-m a i,.dm-m .linkbtn i{width:1.3em;color:var(--muted);margin-right:6px}
.nav>.dm:last-child>.dm-m{right:auto;left:0}
/* ===== Модальные окна (мессенджер, уведомления) ===== */
.mdl-bg{position:fixed;inset:0;z-index:80;background:rgba(10,30,60,.5);display:flex;align-items:center;justify-content:center;padding:20px;animation:mdlin .15s}.mdl-bg[hidden]{display:none}
@keyframes mdlin{from{opacity:0}to{opacity:1}}
.mdl{background:#fff;border-radius:20px;width:100%;max-width:980px;height:min(720px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px rgba(0,30,70,.35)}
.mdl.sm{max-width:520px}
.mdl-h{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}.mdl-x{border:0;background:none;width:36px;height:36px;border-radius:10px;font-size:1.1rem;cursor:pointer;color:var(--muted)}.mdl-x:hover{background:var(--bg);color:var(--text)}
.mdl iframe{flex:1;border:0;width:100%;background:#fff}
/* страницы внутри модального окна */
.is-embed .topbar,.is-embed .footer,.is-embed .subnav,.is-embed .bottomnav,.is-embed .sheet-bg{display:none!important}
.is-embed body{background:#fff;min-height:0}.is-embed .main{padding-top:14px;padding-bottom:14px}.is-embed .container{max-width:none;padding:0 16px}
.is-embed .chat{height:calc(100vh - 8px);min-height:0;border-radius:0;box-shadow:none}.is-embed .chat+p,.is-embed .chat-note{display:none}
.is-embed .main>.chat:first-child{margin:-14px -16px;width:calc(100% + 32px);height:100vh}
/* ===== Мессенджер ===== */
.chat-ico{width:36px;height:36px;border-radius:50%;background:#e6f0fa;display:grid;place-items:center;font-size:1rem;flex:0 0 auto}
.chat-sys .chat-ico{background:var(--brand);color:#fff}.chat-sys{background:#f4f9fe}
.chat-compose{align-items:flex-end}.ci-btn{border:0;background:none;width:40px;height:44px;font-size:1.25rem;color:#7a8aa0;cursor:pointer;border-radius:10px;flex:0 0 auto}.ci-btn:hover{color:var(--brand);background:#eaf2fb}
.chat-send{height:44px;width:48px;padding:0}
.chat-prev{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--line);background:#f5f9fd}.chat-prev img{height:54px;width:54px;object-fit:cover;border-radius:10px}.chat-prev span{flex:1}
.msg-img{display:block;max-width:100%;max-height:340px;width:auto;height:auto;border-radius:10px;cursor:zoom-in;margin-bottom:4px;background:#e6f0fa}
.msg.mine{background:#d6e9fb}
.photo-view{position:fixed;inset:0;z-index:200;background:rgba(0,10,25,.88);display:flex;align-items:center;justify-content:center;cursor:zoom-out}.photo-view img{max-width:96vw;max-height:94vh;border-radius:8px}.photo-dl{position:absolute;top:16px;right:16px;color:#fff;font-size:1.4rem;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.15)}
.chat-main{position:relative}.off-frame{flex:1;border:0;width:100%;min-height:0}
.emoji-pop{position:absolute;left:10px;bottom:68px;width:min(360px,calc(100% - 20px));height:300px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px rgba(0,30,70,.22);z-index:30;display:flex;flex-direction:column}.emoji-pop[hidden]{display:none}
.emoji-grid{flex:1;overflow-y:auto;padding:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;align-content:start}
.emoji-i{border:0;background:none;font-size:1.5rem;line-height:1;padding:6px 0;border-radius:8px;cursor:pointer}.emoji-i:hover{background:#eaf2fb}
.emoji-none{grid-column:1/-1;padding:20px;text-align:center}
.emoji-bar{display:flex;border-top:1px solid var(--line);padding:4px}.emoji-t{flex:1;border:0;background:none;height:36px;border-radius:8px;color:#8a96a8;cursor:pointer}.emoji-t:hover{background:#eaf2fb}.emoji-t.on{color:var(--brand);background:#e6f0fa}
/* ===== Профиль ===== */
.ptabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:14px 0 20px}.ptabs a{padding:10px 16px;border-bottom:3px solid transparent;color:var(--muted);font-weight:600;white-space:nowrap;margin-bottom:-1px}.ptabs a:hover{color:var(--text);text-decoration:none}.ptabs a.on{color:var(--brand);border-color:var(--brand)}
.ppane[hidden]{display:none}
.phead{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.hero-h{font-size:.95rem;opacity:.85;margin:0}
/* ===== Мобильная версия ===== */
@media(max-width:860px){
  .mdl-bg{padding:0}.mdl{max-width:none;height:100%;border-radius:0}
  .topright{margin-left:auto}.user-n,.dm.user>.dm-b .dm-c{display:none}
  .dm.user>.dm-m{position:fixed;left:12px;right:12px;top:64px;min-width:0}
  .topright .dm.user{display:block}.topright .dm-m{position:fixed}
  .burger{margin-left:4px}
  .nav{margin-left:0}
  .is-embed .chat{height:100vh}
  .emoji-pop{height:260px}
  .dp-p{width:min(300px,calc(100vw - 40px))}
}
@media(max-width:860px){html.pwa .topright .ibtn{display:none}html.pwa .burger{display:none}html.pwa .bottomnav .bell-n{position:absolute;top:2px;left:calc(50% + 6px)}}
.dm-m a{color:var(--text)}.dm-m a:hover{background:var(--bg);text-decoration:none}
@media(max-width:860px){.dm.user>.dm-m{border:1px solid var(--line);border-radius:14px;margin:0;padding:6px;background:#fff;box-shadow:0 14px 36px rgba(10,40,80,.2);max-height:calc(100vh - 90px);overflow:auto}}

/* ===== v1.21.1: правки мессенджера и вкладок профиля ===== */
.chat-pane[hidden],.chat-prev[hidden],.chat-warn[hidden],.chat-empty[hidden],.chat-main [hidden]{display:none!important}
.chat{grid-template-columns:320px 1fr;border:1px solid var(--line)}
.chat-side{background:#fff}
.chat-side-h{padding:14px 16px;border-bottom:1px solid var(--line);min-height:62px}.chat-side-h b{font-size:1.05rem}
.chat-list{background:#fff}.chat-none{color:var(--muted);font-size:.92rem;line-height:1.45}
.chat-row{padding:12px 16px;gap:12px;border-bottom:0;transition:background .12s}
.chat-row.on{background:#e6f0fa;box-shadow:inset 3px 0 0 var(--brand)}
.chat-mid b{font-size:.98rem;line-height:1.3}.chat-mid small{font-size:.82rem;margin-top:2px}
.chat-ico{width:40px;height:40px}
.chat-main{background:#f4f7fb;min-height:0}
.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;width:100%;margin:0;padding:24px;text-align:center;color:var(--muted)}
.chat-head{padding:0 14px;min-height:62px;background:#fff;border-bottom:1px solid var(--line)}
.chat-title{font-size:1.02rem}
.chat-head .btn.sm{width:38px;height:38px;padding:0;display:inline-grid;place-items:center;border-radius:50%}
.chat-msgs{background:#f4f7fb;padding:16px 18px;gap:6px}
.msg{box-shadow:0 1px 2px rgba(10,40,80,.08);padding:8px 12px 6px;max-width:75%}
.msg.mine{background:#d6e9fb}
.chat-compose{background:#fff;padding:10px 12px;align-items:center;gap:6px}
.chat-compose textarea{border-radius:22px;padding:11px 16px;min-height:44px;line-height:1.3;border:1px solid var(--line);background:#f4f7fb}
.chat-compose textarea:focus{background:#fff;border-color:var(--brand);outline:0;box-shadow:0 0 0 3px rgba(0,94,184,.12)}
.chat-send{border-radius:50%;width:44px;height:44px}
.chat-prev{background:#fff}
.chat-pane{background:#fff}
.off-frame{background:#fff}
.is-embed .off-head h1{display:none}.is-embed .off-head{justify-content:flex-end;margin-bottom:8px}
.is-embed .off-head:not(:has(.btn)){display:none}
/* вкладки профиля без вертикальной прокрутки */
.ptabs{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;align-items:flex-end}
.ptabs::-webkit-scrollbar{display:none}
.ptabs a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;line-height:1.2;border-radius:10px 10px 0 0}
.ptabs a{margin-bottom:0}.ptabs a i{opacity:.85}
@media(max-width:760px){.chat{grid-template-columns:1fr}.chat-msgs{padding:12px}}

/* ===== v1.22: взносы, визуальный редактор ===== */
.rte{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.rte:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,94,184,.12)}
.rte-bar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;background:#f4f7fb;border-bottom:1px solid var(--line)}
.rte-b{border:0;background:none;width:34px;height:34px;border-radius:8px;color:#4b5b70;cursor:pointer;font-size:.95rem}.rte-b:hover{background:#e3edf8;color:var(--brand)}
.rte-sep{width:1px;height:20px;background:var(--line);margin:0 6px}
.rte-vars{width:auto;max-width:240px;padding:6px 10px;border-radius:8px;font-size:.88rem;margin-left:auto}
.rte-link{display:flex;gap:6px;padding:8px;background:#fffbea;border-bottom:1px solid var(--line)}.rte-link[hidden]{display:none}.rte-link input{flex:1}
.rte-ed{min-height:170px;max-height:420px;overflow:auto;padding:14px 16px;line-height:1.55;outline:0}
.rte-ed h3,.rich h3{font-size:1.1rem;margin:.6em 0 .3em}.rte-ed ul,.rte-ed ol,.rich ul,.rich ol{padding-left:1.4em;margin:.5em 0}.rte-ed p,.rich p{margin:.5em 0}
.rich{line-height:1.55}.rich a{color:var(--brand);text-decoration:underline}.rich li{margin:.25em 0}
.pay-t{display:flex;gap:6px;margin:10px 0}.pay-t button{flex:1;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font:inherit;font-weight:600;cursor:pointer;color:var(--muted)}.pay-t button.on{border-color:var(--brand);background:#e6f0fa;color:var(--brand)}
.pay-p[hidden]{display:none}
.pay-go{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 10px}.btn.lg{padding:12px 20px;font-size:1.05rem}
.erip{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfdff;margin:6px 0 12px}
.erip-h{display:flex;align-items:center;gap:12px;margin-bottom:10px}.erip-h img{height:30px;width:auto}
.erip-path{list-style:none;margin:0;padding:0}.erip-path li{display:flex;gap:10px;align-items:flex-start;padding:5px 0}.erip-path li+li:before{content:none}
.erip-path .n{flex:0 0 24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:.78rem;font-weight:700}
.erip-sum{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.erip-sum b{font-size:1.25rem;color:var(--brand)}
.copy-b{border:1px solid var(--line);background:#fff;border-radius:8px;padding:2px 8px;cursor:pointer;font:inherit;font-size:.82rem;color:var(--brand)}
.tier-t{width:100%;border-collapse:collapse}.tier-t td,.tier-t th{padding:8px 10px;border-bottom:1px solid #eef0f8;text-align:left}
.perm-grid{width:100%;border-collapse:collapse}.perm-grid th,.perm-grid td{padding:8px 10px;border-bottom:1px solid #eef0f8}.perm-grid th{font-size:.85rem;color:var(--muted);text-align:center}.perm-grid td:first-child,.perm-grid th:first-child{text-align:left}.perm-grid td{text-align:center}
.perm-grid .grp td{background:#f4f7fb;font-weight:700;text-align:left}
[data-for][hidden]{display:none!important}
.ns-p{overflow:hidden;max-height:min(320px,70vh)}.ns-ul{position:relative;min-height:0;flex:1 1 auto;overscroll-behavior:contain}.ns-s{flex:0 0 auto}
.meth-i{display:flex;gap:4px;align-items:center;margin-bottom:8px}.meth-i input{flex:1}

.mem-tools{display:flex;gap:12px;align-items:center;margin-bottom:8px}.mem-tools input{flex:1;max-width:360px}
.mem-list{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;padding:4px}
.mem-r{display:flex;gap:10px;align-items:center;padding:7px 10px;border-radius:8px;cursor:pointer}.mem-r:hover{background:#eaf2fb}.mem-r[hidden]{display:none}.mem-r input{width:18px;height:18px;flex:0 0 auto}
.mem-empty{padding:12px}.mem-s{position:relative;max-width:520px}
.mem-res{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px rgba(10,40,80,.18);max-height:280px;overflow:auto;padding:4px}.mem-res[hidden]{display:none}
.mem-o{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;border:0;background:none;padding:9px 12px;border-radius:8px;cursor:pointer;font:inherit;color:inherit}.mem-o:hover:not(:disabled){background:#eaf2fb}.mem-o:disabled{opacity:.5;cursor:default}
.lbl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 16px}.lbl-grid label{font-size:.82rem;color:var(--muted)}
@font-face{font-family:"Fira Sans";src:url(/assets/fonts/FiraSans-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Fira Sans";src:url(/assets/fonts/FiraSans-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Fira Sans";src:url(/assets/fonts/FiraSans-SemiBold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Fira Sans";src:url(/assets/fonts/FiraSans-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Fira Sans";src:url(/assets/fonts/FiraSans-ExtraBold.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Pragmatica;src:url(/assets/fonts/Pragmatica-Medium.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/fonts/Inter-Variable.woff) format("woff");font-weight:100 900;font-display:swap}

/* ===== v1.25 Дизайн-система СЮП ===== */
:root{
  --brand:#005eb8;--brand-2:#005eb8;--brand-dark:#004c96;--on-brand:#fff;
  --bg:#eef5fc;--card:#fff;--text:#0f2440;--muted:#4a5d78;--line:#d3e1f0;--line-strong:#6f89ab;
  --green:#1e7b3c;--amber:#7a5000;--red:#b3261e;
  --navy:#2b4a80;--sky:#4c93eb;--sky-soft:#a8d0f8;--sun:#fffa04;--lilac:#a5a8d2;
  --success-soft:#e3f4e8;--warning-soft:#fff6c2;--danger-soft:#fde8e6;
  --radius:16px;--r-md:8px;--r-sm:4px;
  --shadow:0 1px 2px rgba(15,36,64,.08),0 4px 12px rgba(15,36,64,.06);
  --shadow-pop:0 8px 28px rgba(15,36,64,.16);
  --f-sans:"Fira Sans","Segoe UI",Arial,sans-serif;--f-ui:Inter,"Fira Sans",Arial,sans-serif;--f-brand:Pragmatica,"Fira Sans",Arial,sans-serif;
}
body{font:16px/24px var(--f-sans)}
button,input,select,textarea{font-family:var(--f-sans)}
h1{font-size:2.25rem;line-height:42px;font-weight:700;letter-spacing:0;margin:.2em 0 .5em}
h2{font-size:1.75rem;line-height:34px;font-weight:700;margin:0 0 .7em}
h3{font-size:1.375rem;line-height:28px;font-weight:600;margin:0 0 .5em}
h4{font-size:1.125rem;line-height:24px;font-weight:600}
@media(max-width:700px){h1{font-size:1.75rem;line-height:34px}h2{font-size:1.4rem;line-height:30px}h3{font-size:1.2rem}}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:2px;border-color:var(--brand);box-shadow:none}
.brand{font-weight:500}
.brand-name{font-family:var(--f-brand);font-weight:500;font-size:1.25rem;letter-spacing:.02em;text-transform:uppercase;color:var(--text)}
.brand-name span{color:var(--brand)}
.topbar{background:#fff;backdrop-filter:none}
.nav a,.linkbtn{border-radius:var(--r-md)}
.nav a.on,.dm-m a.on{background:var(--bg);color:var(--brand)}
.nav a.staff{color:var(--brand)}
.btn{border-radius:var(--r-md);padding:12px 16px;font-weight:600}
.btn.sm{border-radius:var(--r-md);padding:7px 12px}
.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.ghost:hover{background:var(--bg)}
.btn.danger{background:var(--red)}.btn.danger:hover{background:#8f1e18}
.btn.ok{background:var(--green)}.btn.ok:hover{background:#17602f}
.card{border-radius:var(--radius);border-color:var(--line);box-shadow:none;padding:24px;margin-bottom:24px}
.bg-soft .card,.card.soft{box-shadow:var(--shadow)}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=tel],input[type=number],input[type=search],input[type=url],input[type=datetime-local],select,textarea{border:1px solid var(--line-strong);border-radius:var(--r-md);color:var(--text)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}
label{font-size:.875rem;font-weight:500;color:var(--text)}
.muted{color:var(--muted)}
.badge{border-radius:var(--r-sm);font-size:.75rem;line-height:16px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px}
.b-green{background:var(--success-soft);color:#1e7b3c}.b-red{background:var(--danger-soft);color:#b3261e}.b-amber{background:var(--warning-soft);color:#7a5000}
.b-blue{background:#dcebfa;color:#004c96}.b-gray{background:#e4ebf3;color:#4a5d78}
.alert{border-radius:var(--r-md);font-weight:500}
.a-ok{background:var(--success-soft);color:#1e7b3c}.a-err{background:var(--danger-soft);color:#b3261e}.a-info{background:#dcebfa;color:#004c96}
.t,.t td,.t th{font-family:var(--f-ui);font-size:.875rem;line-height:20px}
.t th{background:var(--bg);color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;font-size:.8125rem}
.t tr:hover td{background:var(--bg)}
.dm-m,.modal{box-shadow:var(--shadow-pop)}.dm-m{border-radius:var(--r-md)}
.modal{border-radius:var(--radius)}
.footer{background:var(--bg);color:var(--muted)}
.card.hero{background:linear-gradient(135deg,var(--navy),var(--brand));border-radius:12px}
/* Юна на странице входа */
.login-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:40px;align-items:center;max-width:960px;margin:24px auto}
.yuna{display:flex;align-items:center;gap:20px}
.yuna img{width:min(280px,42vw);height:auto;flex:0 0 auto;filter:drop-shadow(0 8px 12px rgba(15,36,64,.12))}
.yuna-bubble{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow)}
.yuna-bubble:before{content:"";position:absolute;left:-9px;top:44px;width:16px;height:16px;background:#fff;border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}
.yuna-bubble b{display:block;font-size:1.375rem;line-height:28px;font-weight:600;margin-bottom:4px}
.yuna-bubble span{color:var(--muted)}
.login-wrap .card{margin:0}
@media(max-width:820px){.login-wrap{grid-template-columns:1fr;gap:16px}.yuna img{width:120px}.yuna-bubble:before{top:30px}}

/* v1.27 вход по отпечатку */
.or-line{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.875rem;margin:16px 0}.or-line:before,.or-line:after{content:"";flex:1;height:1px;background:var(--line)}

/* v1.28 подбор членов, условные блоки, список подразделений */
.mp{position:relative}
.mp-res{position:absolute;left:0;right:0;top:100%;z-index:60;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);margin-top:4px;max-height:280px;overflow-y:auto;padding:4px}
.mp-o{display:flex;flex-wrap:wrap;gap:2px 6px;align-items:baseline;width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:8px 10px;cursor:pointer;font:inherit;color:var(--text)}
.mp-o:hover,.mp-o.on{background:var(--bg)}.mp-o:disabled{opacity:.5;cursor:default}
.mp-empty{padding:8px 10px}
.mp-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--bg);font-weight:500;min-height:44px;width:100%}
.mp-chip span{flex:1;min-width:0;overflow-wrap:anywhere}
.mp-x{border:0;background:none;color:var(--muted);cursor:pointer;padding:2px 4px;font-size:.9rem;border-radius:4px}.mp-x:hover{color:var(--red)}
.mp-chips{display:flex;flex-wrap:wrap;gap:2px;margin-top:6px}
.mp-chips .chip{display:inline-flex;align-items:center;gap:6px;margin:2px 4px 2px 0;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:5px 6px 5px 10px}
.mp-cnt{margin-top:4px}
[data-show][hidden]{display:none!important}
.aud-box{max-width:560px}
.aud-list{max-height:240px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;margin:8px 0;padding:4px}
.aud-i{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:6px;cursor:pointer;font-weight:400}.aud-i:hover{background:var(--bg)}.aud-i[hidden]{display:none}
.aud-i span{white-space:pre-wrap}

/* v1.28 модерация мессенджера в стиле мессенджера */
.chat-mod{height:calc(100vh - 250px);min-height:520px}
.chat-mod a.chat-row{text-decoration:none;color:var(--text)}
.chat-find{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}.chat-find input{flex:1;min-width:0}.chat-find select{width:auto;max-width:42%}
.chat-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:var(--muted);font-size:.78rem}
.chat-mod .chat-pane{overflow:hidden}
.mod-body{padding:16px 18px;overflow-y:auto;flex:1;background:#fff}
.mod-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.mod-row:last-child{border-bottom:0}
.mod-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mod-inline input[type=text]{flex:1;min-width:160px}
.mod-act{display:inline-flex;gap:4px;margin-left:8px}.mod-act .msg-x{font-size:.82rem;padding:2px 4px}.mod-act .msg-x:hover{color:var(--brand)}
.msg.deleted{opacity:.6}.chat-mod .msg{max-width:80%}.chat-mod .msg-b{overflow-wrap:anywhere}
.mod-mem{border-top:1px solid var(--line);background:#fff}.mod-mem summary{cursor:pointer;padding:12px 16px;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px}.mod-mem summary::-webkit-details-marker{display:none}
.mod-mem[open] .mod-body{max-height:44vh}
.mod-del:hover{color:var(--red)!important}
.chat-mod .chat-title small{font-weight:400}
@media(max-width:760px){.chat-mod{height:calc(100vh - 200px)}.chat.chat-mod.is-open .chat-back{display:inline-grid}}
.chat-mod .chat-head .chat-back{display:none}
.mod-mem[open] .mod-body{max-height:34vh}
@media(max-width:760px){.chat.chat-mod.is-open .chat-head .chat-back{display:inline-grid}}

/* v1.29 мессенджер на всю страницу */
body.page-chat{height:100vh;height:100dvh;overflow:hidden}
.page-chat .footer{display:none}
.page-chat .main{max-width:none;width:100%;padding:0;margin:0;flex:1;min-height:0;display:flex;flex-direction:column}
.page-chat .chat{flex:1;height:auto;min-height:0;border:0;border-radius:0;box-shadow:none;grid-template-columns:minmax(300px,380px) 1fr;margin:0}
.page-chat .chat-note{display:none}
.page-chat .chat-side{background:#fff}
.chat .chat-back{display:none}
.chat-av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:1rem;flex:0 0 auto;letter-spacing:.02em}
.chat-av.big{width:60px;height:60px;font-size:1.3rem}.chat-av.official{background:var(--brand)}
.chat-av i{font-size:1.1rem}
.chat-search{position:relative;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}
.chat-search i{position:absolute;left:24px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.9rem}
.chat-search input{width:100%;padding-left:38px;border-radius:22px;background:var(--bg);border-color:transparent;min-height:40px}
.chat-search input:focus{background:#fff}
.chat-row{align-items:center;padding:10px 14px;gap:12px}
.chat-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.chat-top,.chat-bot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.chat-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem}
.chat-when{font-size:.75rem;color:var(--muted);flex:0 0 auto}
.chat-bot small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.85rem;flex:1;min-width:0}
.chat-mute{color:var(--muted);font-size:.75rem}
.chat-bot .bell-n{flex:0 0 auto;position:static}
.chat-empty>div{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted)}.chat-empty i{font-size:3rem;color:var(--sky-soft);margin-bottom:6px}.chat-empty b{color:var(--text);font-size:1.1rem}
.chat-msgs{padding:16px clamp(12px,4vw,56px)}
.msg{max-width:min(620px,78%)}
.msg.cont{margin-top:-4px}.msg.cont .msg-n{display:none}
.day-sep{align-self:center;margin:12px 0 6px}.day-sep span{background:rgba(15,36,64,.07);color:var(--muted);font-size:.78rem;font-weight:500;padding:3px 12px;border-radius:99px}
.chat-head{cursor:default}.chat-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-compose{padding:10px clamp(10px,3vw,40px)}
/* окно «Участники и настройки» */
#chatModal .modal{max-width:520px;padding:22px 22px 18px;border-radius:var(--radius)}
.ci-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.ci-ht{flex:1;min-width:0}.ci-ht h2{margin:0 0 2px;font-size:1.3rem;line-height:1.25;overflow-wrap:anywhere}
.ci-x{border:0;background:none;font-size:1.3rem;color:var(--muted);cursor:pointer;width:36px;height:36px;border-radius:50%}.ci-x:hover{background:var(--bg)}
#chatModalBody h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;margin:20px 0 8px}
.ci-switch{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border-radius:var(--r-md);cursor:pointer;font-weight:500}
.ci-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}.ci-row input{flex:1;min-width:0}
.ci-add input{width:100%}.ci-add .pick-res{max-height:200px;overflow-y:auto;border-radius:var(--r-md);margin-top:4px}.ci-add .pick-row{padding:9px 12px;border-radius:6px}
.ci-members{display:flex;flex-direction:column}
.ci-m{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.ci-m:last-child{border-bottom:0}
.ci-m .chat-av{width:38px;height:38px;font-size:.85rem}
.ci-mn{flex:1;min-width:0;display:flex;flex-direction:column}.ci-mn b{overflow-wrap:anywhere}.ci-mn small{font-size:.8rem}.ci-tag{color:var(--brand);font-weight:500}
.ci-acts{display:flex;gap:4px;flex:0 0 auto}
.ci-act{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;display:grid;place-items:center}.ci-act:hover{background:var(--bg);color:var(--brand);border-color:var(--brand)}.ci-act.danger:hover{color:var(--red);border-color:var(--red);background:var(--danger-soft)}
.ci-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.btn.danger-t{color:var(--red);border-color:var(--red)}
@media(max-width:760px){
  .page-chat .chat{grid-template-columns:1fr}
  .chat.is-open .chat-back{display:inline-grid}
  .msg{max-width:88%}
  #chatModal .modal{max-height:92vh}
}
.chat .chat-head .btn.chat-back{display:none}
@media(max-width:760px){.chat.is-open .chat-head .btn.chat-back{display:inline-grid}}
/* v1.30.1: вкладки профиля не обрезаются — переносятся на несколько строк, на телефоне прокручиваются */
.ptabs{flex-wrap:wrap;overflow:visible;gap:2px 4px;border-bottom:1px solid var(--line)}
.ptabs a{padding:10px 14px;margin-bottom:-1px}
@media(max-width:760px){
  .ptabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;mask-image:linear-gradient(90deg,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);padding-right:24px}
  .ptabs a{scroll-snap-align:start}
}
@media(max-width:560px){.profile-head,.phead{flex-wrap:wrap}}
/* v1.31: волонтёрский трекер */
.vol-hero{text-align:center}
.vol-big{display:flex;flex-direction:column;align-items:center;gap:2px;margin:6px 0 14px}
.vol-big span{font-family:'Fira Sans',system-ui,sans-serif;font-weight:700;font-size:clamp(3rem,14vw,5rem);line-height:1;color:var(--brand)}
.vol-big small{color:var(--muted);font-size:1rem}
.vol-bar{height:14px;border-radius:99px;background:#e6eef8;overflow:hidden;max-width:560px;margin:0 auto 10px}
.vol-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#005EB8,#3a8be0);transition:width .6s}
/* v1.32: «Мои награды» */
.award-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin:14px 0}
.award-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;border-radius:14px;border:1px solid var(--line);text-decoration:none!important;color:var(--text);background:#fff;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}
.award-card:hover,.award-card.on{transform:translateY(-2px);box-shadow:0 8px 22px rgba(10,40,90,.14)}
.award-card>i{font-size:1.9rem;margin-bottom:6px}.award-card b{font-family:'Fira Sans',system-ui,sans-serif;font-size:1.05rem}.award-card span{font-size:.85rem;color:var(--muted)}.award-card small{color:var(--muted);margin-top:4px}
.award-gold{background:linear-gradient(145deg,#fff8e1,#ffe9a8);border-color:#e6c04c}.award-gold>i,.award-ico-gold{color:#b8860b}
.award-silver{background:linear-gradient(145deg,#f7f9fc,#dfe5ee);border-color:#b9c3d3}.award-silver>i,.award-ico-silver{color:#6b7a90}
.award-bronze{background:linear-gradient(145deg,#eaf3ff,#cfe3fb);border-color:#8fb7e6}.award-bronze>i,.award-ico-bronze{color:#005EB8}
.award-honorary{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:14px;margin:12px 0;background:linear-gradient(120deg,#ffe9a8,#fff3c4 60%,#ffe08a);border:1px solid #e6c04c;text-decoration:none!important;color:#3d2e00}
.award-honorary>i{font-size:2.4rem;color:#b8860b}.award-honorary b{display:block;font-size:1.2rem;font-family:'Fira Sans',system-ui,sans-serif}.award-honorary span{font-size:.9rem}
.award-stat{padding:14px 18px}
.award-detail{display:flex;gap:18px;align-items:flex-start;border-radius:14px}.award-detail .award-ic{font-size:2.6rem;line-height:1}.award-detail h2{margin-top:0}
.award-blank{border:6px double #b8860b;padding:36px 30px}.award-blank.award-silver{border-color:#8794a8}.award-blank.award-bronze{border-color:#4a86c8}.award-blank.award-gold,.award-blank.award-silver,.award-blank.award-bronze{background:#fff}
.pride h2 i{color:#b8860b}.pride-row{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);background:none!important;border-left:0;border-right:0;border-bottom:0}.pride-row:first-of-type{border-top:0}.pride-row>i{margin-top:3px;width:22px;text-align:center}
@media print{.award-blank{border-width:8px}}
/* v1.33: интерфейс Почётного члена */
@property --ga{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes grspin{to{--ga:360deg}}
@keyframes honpulse{0%,100%{box-shadow:0 0 0 0 rgba(255,200,40,.55)}50%{box-shadow:0 0 0 10px rgba(255,200,40,0)}}
@keyframes goldflow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes shimmer{from{transform:translateX(-120%) skewX(-20deg)}to{transform:translateX(320%) skewX(-20deg)}}
.gr{position:relative;display:inline-block;flex:0 0 auto;border-radius:50%;line-height:0;vertical-align:middle}
.gr::before{content:'';position:absolute;inset:-4px;border-radius:inherit;padding:3px;background:conic-gradient(from var(--ga),#ffd700,#fff4b0,#b8860b,#ffd700,#fff4b0,#b8860b,#ffd700);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:grspin 5s linear infinite;pointer-events:none}
.gr .avatar,.gr .member-photo,.gr .oid-photo{margin:0}
.gr-member-photo{border-radius:16px;margin:0 0 16px}.gr-oid-photo{border-radius:12px}
@media(prefers-reduced-motion:reduce){.gr::before,.gold-theme::after,.hon-ic{animation:none!important}}
.card.hero.gold-theme,.gold-theme{position:relative;overflow:hidden;border:1px solid #d9a520;background:linear-gradient(115deg,#fff8d6,#ffe27a,#f2b830,#ffe9a0,#fff3bd);background-size:300% 300%;animation:goldflow 14s ease infinite;color:#3a2a00}
.gold-theme::after{content:'';position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);transform:translateX(-120%) skewX(-20deg);animation:shimmer 6s ease-in-out infinite;pointer-events:none}
.gold-theme:hover::after{animation-duration:1.4s}
.card.hero.gold-theme{background:linear-gradient(115deg,#fff8d6,#ffe27a,#f2b830,#ffe9a0,#fff3bd);background-size:300% 300%;color:#3a2a00}
.gold-theme h1,.gold-theme .hero-h,.card.hero.gold-theme .hero-h,.card.hero.gold-theme h1,.card.hero.gold-theme div{color:#3a2a00}.card.hero.gold-theme .hon-title,.card.hero.gold-theme .hon-title span{color:#4a3200}.card.hero.gold-theme .hon-ic{color:#ffe9a0}
.hon-title{display:flex;align-items:center;gap:10px;font-family:'Fira Sans',system-ui,sans-serif;font-weight:800;font-size:clamp(1.3rem,4.5vw,2rem);letter-spacing:.06em;color:#4a3200;-webkit-text-stroke:1px #c58f00;paint-order:stroke fill;text-shadow:0 1px 0 rgba(255,255,255,.6),0 2px 10px rgba(255,255,255,.5)}
.hon-ic{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#b8860b;color:#ffe9a0;-webkit-text-stroke:0;text-shadow:none;animation:honpulse 2.6s ease-out infinite}
.hon-btn{background:#0b2a5b;color:#fff!important;border-color:#0b2a5b;position:relative;z-index:1}.hon-btn:hover{background:#071d42}
.gold-tile,.gold-card{background:linear-gradient(135deg,#fff8d6,#ffe9a0);border:1px solid #d9a520!important;cursor:pointer;color:#3a2a00}
.gold-tile b i,.gold-card h2 i,.gold-card .rec-ic i{color:#b8860b}.gold-tile span{color:#5a4200}
.gold-card .muted{color:#6b5200}
.oid.gold .oid-face{background:linear-gradient(135deg,#fff3b8,#e8b32e 55%,#f9d870);color:#3a2a00;box-shadow:0 8px 26px rgba(184,134,11,.4)}
.oid.gold .oid-back{background:linear-gradient(135deg,#f9d870,#e8b32e 55%,#fff3b8)}
.oid.gold .oid-face::before{content:'СЮП';position:absolute;right:-8px;bottom:-26px;font-size:7rem;font-weight:900;color:rgba(255,255,255,.22);letter-spacing:.05em;pointer-events:none}
.oid.gold .oid-sign{border-top-color:#7a5600aa}
.oid-tabs{justify-content:center}.oid-tabs a i{margin-right:6px}
.msg.hon .msg-b{border-left:4px solid #e6b422}.msg.hon.mine .msg-b{border-left:0;border-right:4px solid #e6b422}
.hon-star{color:#d9a520;font-size:.8em}
.hon-verify{background:linear-gradient(160deg,#fff8d6,#ffe9a0);border:1px solid #d9a520}
.hon-check svg{width:96px;height:112px}.hon-check .shield{fill:#f3c53b;stroke:#b8860b;stroke-width:4}
.hon-check .tick{fill:none;stroke:#1a8f3c;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:90;stroke-dashoffset:90;animation:tickdraw .8s .3s ease forwards}
@keyframes tickdraw{to{stroke-dashoffset:0}}

/* v1.34.1: иконки меню и компактная шапка */
.topbar .container{max-width:1440px}
.nav .ni{margin-right:7px;width:1.15em;text-align:center;color:var(--brand);font-size:.95em}
.nav a.staff .ni{color:var(--brand-2)}
.nav .dm-b,.nav>a{display:inline-flex;align-items:center}
.nav.compact .nl{display:none}.nav.compact .ni{margin-right:0;font-size:1.05rem}
.nav.compact a.on .nl,.nav.compact .dm.on>.dm-b .nl{display:inline}.nav.compact a.on .ni,.nav.compact .dm.on>.dm-b .ni{margin-right:7px}
.nav.compact .dm-c{margin-left:4px;font-size:.6rem}
.nav.compact2~.topright .user-n,.topbar.tight .user-n,.topbar.tight .brand-name{display:none}
@media(max-width:860px){.nav .nl{display:inline!important}.nav .ni{margin-right:10px}.nav .dm-b,.nav>a{display:flex}}
.tile .ti{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e6f0fa;color:var(--brand);font-size:1.15rem;margin-bottom:12px}
.tile:hover .ti{background:var(--brand);color:#fff}
.h2i{color:var(--brand);margin-right:6px;font-size:.9em}
.card.attention .h2i{color:#c77a00}

/* ===== v1.35.0: подписи в выпадашках, иконки Управления, меню PWA как в ВК, порядок меню ===== */
.nav.compact .dm-m .nl{display:inline!important}
.nav .dm-m a{display:flex;align-items:center}
.nav .dm-m .ni,.subnav .dm-m .ni{margin-right:10px;width:1.25em;text-align:center;color:var(--brand)}
.nav .dm-m a{color:var(--text)}.nav .dm-m a.on{color:var(--brand)}
.subnav .ni{margin-right:7px;width:1.15em;text-align:center;color:var(--brand);font-size:.95em}
.subnav a,.subnav .dm-b{display:inline-flex;align-items:center}
.subnav a.on .ni,.subnav .dm.on>.dm-b .ni{color:#fff}
.subnav .dm-m a.on .ni{color:var(--brand)}
.landing .btn i{margin-right:8px}
.tile-ic{display:flex;gap:14px;align-items:flex-start}.tile-ic .ti{margin:0;flex:none}
/* порядок меню */
.ord-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;align-items:start}
.ord-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.ord-box h3{margin:0 0 10px;font-size:1rem}
.ord-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-height:20px}
.ord-it{display:flex;align-items:center;gap:10px;background:#f4f8fc;border:1px solid var(--line);border-radius:10px;padding:8px 10px;user-select:none}.ord-it .gh{touch-action:none}
.ord-it .gh{cursor:grab;color:var(--muted);padding:2px 4px}.ord-it .ni{color:var(--brand);width:1.2em;text-align:center}
.ord-it .nm{flex:1}.ord-it .ord-mv{display:flex;gap:2px}.ord-it .ord-mv button{border:0;background:none;color:var(--muted);cursor:pointer;padding:4px 6px;border-radius:6px}.ord-it .ord-mv button:hover{background:#e6f0fa;color:var(--brand)}
.ord-it.drag{opacity:.55;border-color:var(--brand);box-shadow:0 6px 20px rgba(20,30,60,.18)}
/* PWA на телефоне: нижняя панель иконок и полноэкранное меню (как в ВК) */
.vkmenu{display:none}
@media(max-width:860px){
  html.pwa .bottomnav a,html.pwa .bottomnav button{padding:11px 2px 10px;justify-content:center}
  html.pwa .bottomnav i{font-size:1.55rem}
  html.pwa .bottomnav a.on i{color:var(--brand)}
  html.pwa .bottomnav .bn-me .avatar,html.pwa .bottomnav .bn-me img{width:30px;height:30px;font-size:.9rem}
  html.pwa .bottomnav .bn-me.on .avatar,html.pwa .bottomnav .bn-me.on img{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--brand)}
  html.pwa .bottomnav .bell-n{left:calc(50% + 4px);top:5px}
  html.pwa .nav,html.pwa .sheet-bg{display:none!important}
  html.pwa .vkmenu:not([hidden]){display:flex;flex-direction:column;position:fixed;inset:0 0 calc(54px + env(safe-area-inset-bottom)) 0;z-index:49;background:var(--bg,#eef4fb)}
  .vk-h{display:flex;align-items:center;gap:14px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:#fff;border-bottom:1px solid var(--line)}
  .vk-h b{font-size:1.5rem;flex:1}.vk-me .avatar,.vk-me img{width:38px;height:38px}
  .vk-x{border:0;background:none;font-size:1.4rem;color:var(--text);padding:6px 10px;cursor:pointer}
  .vk-body{flex:1;overflow:auto;padding:6px 14px 24px;-webkit-overflow-scrolling:touch}
  .vk-sec{margin:20px 4px 10px;font-size:1.05rem;color:var(--text)}
  .vk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 6px}
  .vk-t{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;color:var(--text);min-width:0}
  .vk-i{display:grid;place-items:center;width:62px;height:62px;border-radius:19px;color:#fff;font-size:1.65rem;box-shadow:0 4px 10px rgba(20,30,60,.14)}
  .vk-i .ni{color:#fff;margin:0;width:auto;font-size:inherit}
  .vk-l{font-size:.74rem;line-height:1.15;text-align:center;max-width:100%;overflow-wrap:anywhere;font-weight:500}
  .vk-t:active .vk-i{transform:scale(.94)}
  .c-blue .vk-i{background:linear-gradient(145deg,#2f8bf0,#0a58c4)}.c-orange .vk-i{background:linear-gradient(145deg,#ffa63d,#f26a1b)}.c-teal .vk-i{background:linear-gradient(145deg,#2fc7b8,#0b8f87)}
  .c-violet .vk-i{background:linear-gradient(145deg,#a86bf0,#6a35c9)}.c-green .vk-i{background:linear-gradient(145deg,#43d17a,#12a04a)}.c-pink .vk-i{background:linear-gradient(145deg,#ff6f9c,#e0306a)}.c-slate .vk-i{background:linear-gradient(145deg,#8a98ad,#566377)}
  .vk-list{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
  .vk-list a,.vk-list button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:none;border:0;border-bottom:1px solid var(--line);font:inherit;color:var(--text);text-align:left;text-decoration:none;cursor:pointer}
  .vk-list form{margin:0}.vk-list button{border-bottom:0}.vk-list i{width:1.3em;text-align:center;color:var(--brand)}
  body.vk-open{overflow:hidden}
}
.vk-l{hyphens:auto;-webkit-hyphens:auto}

/* v1.35.1: отступ между рядом плиток и следующим блоком (напр. «Гордость Союза») */
.grid+.card,.grid+.pride,.grid+.grid{margin-top:24px}
.pride{margin-top:24px}

/* ===== v1.36.0: взносы — вкладки, значки/билеты, пожертвования, целевые сборы ===== */
.fx-h{margin:26px 0 12px;font-size:1.15rem}.fx-h i{color:var(--brand);margin-right:8px}
.fx-tabs{flex-wrap:wrap}.fx-tabs a i{margin-right:6px}
.patron{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#ffe3ec,#ffc2d6);color:#a3123f;border-radius:99px;padding:2px 11px;font-size:.78rem;font-weight:700;vertical-align:middle}
.fx-heart{display:flex;gap:22px;align-items:flex-start;background:linear-gradient(135deg,#fff,#fff0f5);border-color:#ffc9da}
.fx-heart-i{flex:none;width:76px;height:76px;border-radius:24px;display:grid;place-items:center;font-size:2.2rem;color:#fff;background:linear-gradient(145deg,#ff6f9c,#e0306a);box-shadow:0 8px 20px rgba(224,48,106,.3);animation:fxbeat 2.4s ease-in-out infinite}
@keyframes fxbeat{0%,100%{transform:scale(1)}8%{transform:scale(1.1)}16%{transform:scale(1)}24%{transform:scale(1.07)}32%{transform:scale(1)}}
.fx-heart h2{margin-top:0}
.fx-quick{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.fx-q{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;color:var(--text)}
.fx-q:hover{border-color:#e0306a;color:#e0306a}.fx-q.on{background:#e0306a;border-color:#e0306a;color:#fff}
.fx-amt-form .field input{max-width:240px}
.fx-items{margin-bottom:6px}.fx-item{text-align:left}.fx-item h3{margin:10px 0 4px}
.fx-item-i{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;color:#fff;background:linear-gradient(145deg,#2f8bf0,#0a58c4)}
.fx-price{font-size:1.5rem;font-weight:700;margin:8px 0 12px}
.fx-pay{border-style:dashed}
.fx-modal-bg{position:fixed;inset:0;z-index:90;background:rgba(15,20,40,.5);display:grid;place-items:center;padding:16px}
.fx-modal-bg[hidden]{display:none}
.fx-modal{background:#fff;border-radius:18px;width:100%;max-width:480px;max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(10,20,50,.35)}
.fx-modal .mdl-h{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.fx-modal .mdl-x{border:0;background:none;font-size:1.2rem;cursor:pointer}
.fx-form{padding:16px 18px 20px}
body.fx-lock{overflow:hidden}
.fx-camp{display:flex;gap:0;padding:0;overflow:hidden}
.fx-cover{width:280px;flex:none;object-fit:cover;background:#e6f0fa}.fx-cover.ph{display:grid;place-items:center;font-size:3rem;color:var(--brand)}
.fx-camp-b{padding:22px;flex:1;min-width:0}.fx-camp h3{margin:0 0 8px;font-size:1.25rem}.fx-desc{color:var(--muted)}
.fx-bar{height:12px;border-radius:99px;background:#e6edf5;overflow:hidden;margin:14px 0 6px}.fx-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2fc7b8,#12a04a)}
.fx-sums{display:flex;justify-content:space-between;gap:10px;font-size:.95rem}
.fx-camp.done{background:#eefaf2;border-color:#9fdcb4}.fx-camp.ended{background:#f1f3f6;filter:grayscale(.6)}
.fx-ribbon{display:inline-block;border-radius:99px;padding:3px 12px;font-size:.82rem;font-weight:700;margin-bottom:8px}.fx-ribbon.ok{background:#12a04a;color:#fff}.fx-ribbon.off{background:#7a8699;color:#fff}
.fx-archive{display:grid;gap:14px}
@media(max-width:700px){.fx-camp{flex-direction:column}.fx-cover{width:100%;height:170px}.fx-heart{flex-direction:column}}
/* благодарность */
.fx-thanks{position:fixed;inset:0;z-index:95;background:rgba(40,10,25,.55);display:grid;place-items:center;overflow:hidden;padding:16px}
.fx-thanks-c{position:relative;z-index:2;background:#fff;border-radius:22px;padding:30px 28px;text-align:center;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.35);animation:fxpop .5s cubic-bezier(.2,1.4,.4,1)}
@keyframes fxpop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.fx-big{font-size:4rem;color:#e0306a;animation:fxbeat 1.6s infinite}
.fx-fly{position:absolute;bottom:-40px;z-index:1;opacity:0;animation:fxfly linear infinite}
@keyframes fxfly{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.95}100%{transform:translateY(-110vh) rotate(40deg);opacity:0}}
.fx-amt-form .btn{margin-top:10px}

/* ===== v1.37.0: главная Почётного члена, подсказки меню ===== */
.g1{grid-template-columns:1fr}
/* подсказки к иконкам меню */
.nav>a,.nav>.dm>.dm-b,.ibtn,.subnav>.container>a,.subnav>.container>.dm>.dm-b{position:relative}
@media(hover:hover) and (min-width:861px){
  .nav.compact>a:not(.on)[data-tip]:hover::after,.nav.compact>.dm:not(.on):not(.open)>.dm-b[data-tip]:hover::after,.nav.compact>.dm.on:not(.open)>.dm-b[data-tip]:hover::after,.ibtn[data-tip]:hover::after,.subnav a[data-tip]:hover::after{
    content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#0f1f3a;color:#fff;padding:5px 10px;border-radius:8px;font-size:.78rem;font-weight:500;white-space:nowrap;z-index:70;pointer-events:none;box-shadow:0 6px 16px rgba(10,20,50,.25)}
  .nav.compact .dm.on>.dm-b[data-tip]:hover::after{content:none}
}
/* главная Почётного члена */
.hon-title{font-size:clamp(1.5rem,5vw,2.4rem);text-shadow:0 2px 3px rgba(80,50,0,.35),0 0 12px rgba(255,236,160,.8);margin-bottom:6px}
.hon-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1}
.hon-btns .btn{white-space:nowrap}
.hon-btn2{background:rgba(255,255,255,.25);color:#4a3200!important;border:2px solid #b8860b;position:relative;z-index:1;font-weight:700}
.hon-btn2:hover{background:rgba(255,255,255,.55)}
.hon-free{display:flex;gap:22px;align-items:center;cursor:pointer;background:linear-gradient(135deg,#fffaf0,#fff0c4);border:1px solid #e3c36a;box-shadow:0 6px 20px rgba(184,134,11,.15)}
.hon-free:hover{box-shadow:0 8px 26px rgba(184,134,11,.28)}
.hon-free h2{margin:0 0 8px;color:#6b4a00}.hon-free h2 i{display:none}.hon-free p{margin:0;color:#4a3a10}
.hon-free-i{flex:none;width:84px;height:84px;border-radius:26px;display:grid;place-items:center;font-size:2.6rem;color:#fff;background:linear-gradient(145deg,#f3c53b,#b8860b);box-shadow:0 8px 20px rgba(184,134,11,.35)}
.hon-dash .tile{box-shadow:0 6px 18px rgba(30,50,90,.12);border-color:#eadfbf}
.hon-dash .tile:hover{box-shadow:0 10px 26px rgba(184,134,11,.25);border-color:#d9a520}
.hon-dash .tile .ti,.hon-dash .h2i{color:#b8860b}
.hon-dash .tile .ti{background:#fff3c4}.hon-dash .tile:hover .ti{background:#f3c53b;color:#fff}
.hon-dash .card{box-shadow:0 4px 16px rgba(30,50,90,.08)}
.dash-award{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.dash-award>i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff3c4;color:#b8860b}
.dash-award>span{display:flex;flex-direction:column}
@media(max-width:700px){.hon-free{flex-direction:column;text-align:center}.hon-btns{justify-content:flex-start}}
.dash-award,.dash-award:hover{background:none!important;border-left:0!important;border-radius:0}
@media(min-width:861px){.hon-dash .grid.g3{grid-template-columns:repeat(4,1fr)}}
.fx-tier{text-align:center;position:relative;border:2px solid transparent}.fx-tier.mine{border-color:#d9a520;background:linear-gradient(160deg,#fff,#fff6d8)}
.fx-tier .field input{text-align:center;margin:0 auto;max-width:180px}.fx-tier-a{font-weight:700;color:var(--muted)}
.fx-mine{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:#b8860b;color:#fff;border-radius:99px;padding:2px 12px;font-size:.75rem;font-weight:700;white-space:nowrap}

/* v1.38.1 — новый логотип СЮП.ID */
.brand .logo-wm{height:34px;width:auto;display:block}.brand .logo-mk{display:none;height:36px;width:36px}
.logo-img{height:40px;width:auto}
.oid-head .logo-img{height:44px;width:auto}
@media(max-width:1180px){.brand .logo-wm{height:30px}}
@media(max-width:520px){.brand .logo-wm{display:none}.brand .logo-mk{display:block}}
html.pwa .brand .logo-wm{height:28px}
.brand-prev{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px;border:1px dashed var(--line);border-radius:12px;background:#fff;margin:10px 0}
.brand-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0}

/* v1.39.0 — Юна и объявления */
.yn-row{display:flex;gap:16px;align-items:flex-start;margin:16px 0}.yn-row.both .ann-board{flex:1;min-width:0}
.ann-board{flex:1;min-width:0}.ann-h{font-size:1.35rem;margin:0 0 10px;display:flex;gap:10px;align-items:center}.ann-h i{color:var(--brand)}
.ann{position:relative;display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:14px;padding:14px 40px 14px 14px;margin-bottom:10px;box-shadow:0 2px 8px rgba(20,40,80,.06);transition:opacity .25s,transform .25s}
.ann-out{opacity:0;transform:translateX(20px)}
.ann-ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#e6f0fa;color:var(--brand);font-size:1.1rem}
.ann-b{min-width:0;flex:1}.ann-t{font-weight:700;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ann-x{margin-top:4px}.ann-clip{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ann-m{margin-top:6px}.ann-act{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.ann-urgent{border-left-color:#d93025;background:#fff6f5;border-color:#f4c7c3;border-left-color:#d93025}.ann-urgent .ann-ic{background:#fde7e5;color:#d93025}
.ann-normal{border-left-color:#e8a317}.ann-normal .ann-ic{background:#fff3d6;color:#c98a00}
.ann-info{border-left-color:var(--brand)}
.ann-board .ann-urgent{position:sticky;top:72px;z-index:5}
.ann-old{opacity:.7}
.ann-close{position:absolute;top:8px;right:8px;border:0;background:none;width:30px;height:30px;border-radius:50%;cursor:pointer;color:var(--muted)}.ann-close:hover{background:rgba(0,0,0,.06);color:var(--text)}
.ann-all{display:inline-flex;gap:6px;align-items:center;font-weight:600;margin:2px 0 0 4px}
.ann-filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.ann-filters .chip{margin:0;padding:6px 14px;text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--line)}.ann-filters .chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.ann-sep{width:1px;height:22px;background:var(--line);margin:0 6px}
.yuna-w{flex:none;width:260px;aspect-ratio:1/1;border:0;border-radius:24px;background:linear-gradient(160deg,#eaf4ff,#fff7e8);box-shadow:0 8px 26px rgba(0,70,138,.16);padding:16px;display:flex;flex-direction:column;gap:12px;text-align:left;cursor:pointer;font:inherit;color:var(--text);transition:transform .15s}
.yuna-w:hover{transform:translateY(-2px)}
.yuna-w-h{display:flex;gap:10px;align-items:center}.yuna-w-h img{border-radius:50%;background:#fff;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(0,0,0,.15)}.yuna-w-h b{display:block}
.yuna-typing{display:inline-flex;align-items:center;gap:3px;font-size:.78rem;color:var(--muted)}.yuna-typing i{width:5px;height:5px;border-radius:50%;background:#7a8aa0;animation:yb 1s infinite}.yuna-typing i:nth-child(2){animation-delay:.15s}.yuna-typing i:nth-child(3){animation-delay:.3s}.yuna-typing{gap:3px}
.yuna-w.done .yuna-typing{visibility:hidden}
@keyframes yb{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}
.yuna-w-t{flex:1;overflow:auto;line-height:1.45;font-size:.98rem;white-space:pre-wrap;word-break:break-word}
.yuna-caret{display:inline-block;width:2px;height:1em;background:var(--brand);margin-left:2px;vertical-align:-2px;animation:yc 1s steps(1) infinite}.yuna-w.done .yuna-caret{display:none}
@keyframes yc{50%{opacity:0}}
.yuna-modal{max-width:460px;width:calc(100% - 32px)}.yuna-msg{text-align:center;padding:26px 22px;position:relative}.yuna-msg>img{border-radius:50%;background:#eaf4ff;box-shadow:0 0 0 4px #fff,0 4px 14px rgba(0,70,138,.2)}
.yuna-msg .mdl-x{position:absolute;top:8px;right:12px;border:0;background:none;font-size:1.6rem;cursor:pointer;color:var(--muted)}
.yuna-bubble2{background:#eaf4ff;border-radius:18px;padding:12px 16px;margin:14px 0 18px;text-align:left}.yuna-bubble2 p{margin:.3em 0 0;line-height:1.5}
.yuna-arch{max-height:60vh;overflow:auto;padding:4px 2px}.yuna-ai{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.yuna-ai img{border-radius:50%;flex:none;align-self:flex-start}
.yuna-ava{border-radius:50%;vertical-align:-5px}
body.modal-open{overflow:hidden}
@media(max-width:760px){.yn-row.both{flex-direction:column}.yuna-w{width:100%;max-width:340px;margin:0 auto}.ann-board .ann-urgent{top:60px}}
@media(prefers-reduced-motion:reduce){.yuna-typing i,.yuna-caret{animation:none}}

/* v1.40.0 — кабинет кандидата */
.cand-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-radius:18px;padding:22px 26px;margin-bottom:18px;color:#fff}
.bg-gray{background:linear-gradient(135deg,#6b7684,#8a94a3)}.bg-red{background:linear-gradient(135deg,#8e1b1b,#b32323)}.bg-blue{background:linear-gradient(135deg,var(--navy,#0b2a52),var(--brand))}
.cb-hello{font-size:1.25rem}.cb-role{display:inline-block;margin:8px 0 4px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.45);border-radius:99px;padding:4px 14px;font-weight:700;letter-spacing:.06em;font-size:.85rem}.cb-no{opacity:.92}
.cb-act{display:flex;gap:10px;flex-wrap:wrap}.cb-btn{background:#fff;color:#394350}.cb-btn:hover{background:#eef0f3;color:#222}.cand-banner .btn.danger{background:#d93025;color:#fff}
.cand-evs{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.cand-ev{flex:0 0 min(320px,85%);scroll-snap-align:start;display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.ce-d{flex:none;width:52px;text-align:center;background:#e6f0fa;border-radius:12px;padding:6px 0;color:var(--brand)}.ce-d b{display:block;font-size:1.3rem;line-height:1.1}.ce-d span{font-size:.75rem;text-transform:uppercase}.ce-b{flex:1;min-width:0}
.cand-apps{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.cand-app{margin:0}.ca-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:4px}.ca-act{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.cand-plate{margin-top:10px;background:#fff7e0;border:1px solid #f0d58a;border-radius:12px;padding:10px 12px;font-size:.92rem}
.cand-modal{max-width:480px;width:calc(100% - 32px)}
.cand-track{list-style:none;margin:16px 0;padding:0;position:relative}.cand-track li{display:flex;gap:14px;align-items:center;padding:10px 0;position:relative}
.cand-track li:not(:last-child):after{content:"";position:absolute;left:15px;top:38px;bottom:-10px;width:2px;background:#d5dbe3}
.ct-dot{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e4e8ee;color:#6b7684;font-weight:700;z-index:1}
.cand-track li.done .ct-dot{background:#2e9e5b;color:#fff}.cand-track li.cur .ct-dot{background:var(--brand);color:#fff;box-shadow:0 0 0 5px rgba(0,94,184,.18)}.cand-track li.bad .ct-dot{background:#d93025;color:#fff}
.cand-track li.cur .ct-t{font-weight:700}.cand-track li:not(.done):not(.cur):not(.bad) .ct-t{color:var(--muted)}
.cand-chat-note,.cand-resp{background:#eaf4ff;border-radius:12px;padding:10px 14px;margin-bottom:12px}
.guest-ticket{display:flex;gap:16px;align-items:center;border:2px dashed var(--brand)}.gt-l{font-size:2rem;color:var(--brand)}.gt-b{display:inline-block;margin-top:6px;background:#6b7684;color:#fff;border-radius:99px;padding:2px 12px;font-weight:700;font-size:.85rem}
.pdf-view iframe{width:100%;height:75vh;border:1px solid var(--line);border-radius:12px;background:#fff}
.cf-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.cand-modal>:not(.mdl-h){margin-left:18px;margin-right:18px}.cand-modal>:last-child{margin-bottom:18px}

/* v1.41.0 — чаты: мини-профиль, голосовые, видеокружки, опросы, галочки */
.chat-title.clickable{cursor:pointer}.chat-title .ct-name{display:block}.chat-sub{display:block;font-weight:400;font-size:.78rem;color:var(--muted)}.chat-sub.online{color:#1e9e52}
.msg-link{cursor:pointer}.msg-link:hover{text-decoration:underline}
.ticks{display:inline-flex;margin-left:6px;color:#8a96a8;font-size:.7rem}.ticks i+i{margin-left:-6px}.ticks.read{color:#1a73e8}
.aud{display:flex;align-items:center;gap:10px;min-width:220px}.aud-b{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--brand);color:#fff;cursor:pointer}
.aud-w{--p:0%;flex:1;display:flex;align-items:center;gap:2px;height:28px;cursor:pointer;position:relative}.aud-w i{display:block;width:3px;border-radius:2px;background:#b9c6d8}
.aud-w{background:linear-gradient(90deg,transparent 0 0)}.aud-w i:nth-child(n){background:linear-gradient(90deg,var(--brand) var(--p),#b9c6d8 var(--p))}
.aud-t{flex:none;font-size:.8rem;color:var(--muted);min-width:34px;text-align:right}
.vnote{position:relative;width:200px;height:200px;border-radius:50%;overflow:hidden;cursor:pointer;background:#0b2a52;box-shadow:0 0 0 3px #fff,0 2px 8px rgba(0,0,0,.2)}.vnote video{width:100%;height:100%;object-fit:cover}
.vn-t{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);background:rgba(0,0,0,.55);color:#fff;border-radius:99px;padding:1px 9px;font-size:.75rem}.vnote.play .vn-t{display:none}
.fcard{display:flex;gap:10px;align-items:center;padding:6px 2px;color:var(--text);text-decoration:none!important}.fcard>i{font-size:1.6rem;color:var(--brand)}.fc-t{display:flex;flex-direction:column;min-width:0}.fc-t b{overflow-wrap:anywhere}
.poll{min-width:240px;white-space:normal}.poll-q{font-weight:700;margin-bottom:8px}
.poll-o{position:relative;display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;margin-bottom:6px;cursor:pointer;font:inherit;overflow:hidden}
.poll-o.mine{border-color:var(--brand)}.poll-bar{position:absolute;left:0;top:0;bottom:0;background:#dcebfb;transition:width .4s;z-index:0}.poll-t,.poll-p{position:relative;z-index:1}.poll-p{color:var(--muted);font-size:.85rem;white-space:nowrap}
.poll-edit{display:grid;gap:6px;margin:10px 0}
.rec-bar{padding:10px 14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;align-items:center;background:#fff7f6}.rec-row{display:flex;align-items:center;gap:10px;width:100%}.rec-row .btn:first-of-type{margin-left:auto}
.rec-dot{width:12px;height:12px;border-radius:50%;background:#d93025;animation:recb 1s infinite}@keyframes recb{50%{opacity:.25}}
.rec-video{width:200px;height:200px;border-radius:50%;object-fit:cover;background:#000;transform:scaleX(-1)}
.chat-main{position:relative}.mini-prof{position:absolute;top:0;right:0;bottom:0;width:min(340px,100%);background:#fff;border-left:1px solid var(--line);box-shadow:-8px 0 24px rgba(20,40,80,.12);z-index:20;padding:20px;overflow:auto}
.mpf-x{position:absolute;top:8px;right:12px;border:0;background:none;font-size:1.6rem;cursor:pointer;color:var(--muted)}
.mp-head{text-align:center}.mp-av{position:relative;width:96px;height:96px;margin:0 auto 10px;border-radius:50%;overflow:visible}.mp-av img{width:96px;height:96px;border-radius:50%;object-fit:cover}.mp-av .chat-av{width:96px;height:96px;font-size:2rem}
.mp-on{position:absolute;right:4px;bottom:6px;width:16px;height:16px;border-radius:50%;background:#1e9e52;border:3px solid #fff}.mp-head h3{margin:.2em 0}.mp-seen{color:var(--muted);font-size:.88rem}.mp-seen.online{color:#1e9e52}
.mp-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px 0}.mp-b{border-radius:99px;padding:3px 12px;font-size:.82rem;font-weight:600}.mp-b.gold{background:linear-gradient(135deg,#f6d77a,#d9a520);color:#4a3300}.mp-b.gray{background:#8a94a3;color:#fff}.mp-b.blue{background:#e1edfb;color:var(--brand)}
.mp-row{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-bottom:1px solid #eef1f6}.mp-row i{width:1.2em;text-align:center;color:var(--brand);margin-top:3px}.mp-h{margin:14px 0 2px;font-weight:700}.mini-prof .btn{margin-top:16px;width:100%}

.imp-bar{background:#b45309;color:#fff;padding:6px 14px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:14px;position:sticky;top:0;z-index:30}.imp-bar form{margin:0}

.wp-card h2{margin-top:0}.wp-steps{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.wp-step{padding:6px 12px;border-radius:99px;background:#eef2f7;color:#64748b;font-size:14px}.wp-step.on{background:#e6f4ea;color:#166534}.wp-step.now{background:#005EB8;color:#fff}.wp-form .check{display:inline-flex;gap:6px;margin-right:16px}

.pager{align-items:center}.pager a,.pager .dis{min-width:40px;text-align:center;padding:7px 12px;border-radius:8px;border:1px solid var(--line);background:#fff;font-weight:600}.pager a.nav{color:var(--brand)}.pager .dis{color:#b6c0cc;background:#f4f7fb}

.slotrow{display:flex;flex-wrap:wrap;gap:8px}.slotrow .slot{display:inline-block;width:auto;margin:0}.slotrow .slot span{white-space:nowrap}

.mp-chip[hidden],.mp-res[hidden],.mp [hidden]{display:none!important}.mp>input[type=text]{width:100%}

/* Дни рождения */
.bd-cake{display:inline-block;margin-left:4px;animation:bdBounce 1.6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes bdBounce{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-3px) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.bd-cake{animation:none}}
.bd-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.bd-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;border:1px solid #cfe0f5;background:#fff}
.bd-card .btn{margin-left:auto;white-space:nowrap}.bd-info{min-width:0;flex:1}.bd-info b{white-space:nowrap}.bd-date{font-weight:600;color:var(--brand)}
.bd-card.bd-t-honorary{border:2px solid #d9a520;box-shadow:0 0 14px rgba(217,165,32,.55)}
.bd-card.bd-t-chair{border:3px solid #0b2a5b}.bd-card.bd-t-deputy{border:2px solid #2f6fc1}.bd-card.bd-t-board{border:2px solid #8dbbee}.bd-card.bd-t-member{border:1px solid #cfe0f5}
.bd-av{position:relative;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;flex:none;background:#e7effa;color:var(--brand);font-weight:700;border:3px solid #cfe0f5;box-sizing:border-box}
.bd-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.bd-av.sm{width:40px;height:40px;border-width:2px}.bd-av.xl{width:150px;height:150px;border-width:6px;font-size:3rem}
.bd-av.bd-t-honorary{border-color:#d9a520;box-shadow:0 0 14px rgba(217,165,32,.7)}.bd-av.bd-t-chair{border-color:#0b2a5b}.bd-av.bd-t-deputy{border-color:#2f6fc1}.bd-av.bd-t-board{border-color:#8dbbee}
.bd-ti{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%;background:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #cfe0f5}
.bd-av.bd-t-honorary .bd-ti{color:#d9a520}.bd-av.bd-t-chair .bd-ti{color:#0b2a5b}.bd-av.bd-t-deputy .bd-ti{color:#2f6fc1}
.bd-wall{position:relative}.bd-canvas{position:fixed;inset:0;pointer-events:none;z-index:5}
.bd-head{display:flex;gap:24px;align-items:center;flex-wrap:wrap;background:linear-gradient(160deg,#eaf3ff,#fff8e8)}
.bd-hero{display:flex;align-items:center;gap:8px}.bd-yuna{width:150px;height:150px;object-fit:contain}.bd-hello{flex:1;min-width:240px}.bd-hello h1{margin-top:0}
.bd-form textarea{width:100%}.bd-act{display:flex;gap:10px;align-items:center;margin-top:8px}.bd-act .btn:last-child{margin-left:auto}
.bd-wish{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #eef1f6}.bd-wb{min-width:0;flex:1}.bd-t{margin-top:4px;overflow-wrap:anywhere}.bd-pic{display:block;max-width:100%;max-height:320px;border-radius:12px;margin-top:8px}

.bdg-bg{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(6,24,58,.72);overflow:auto}
.bdg-box{position:relative;z-index:6;max-width:560px;width:100%;max-height:92vh;overflow:auto;border-radius:24px;padding:24px;color:#fff;text-align:center;background:radial-gradient(circle at 20% 0%,#2f7de1,#0b3d91 55%,#071f52);box-shadow:0 20px 60px rgba(0,0,0,.45)}
.bdg-yuna{border-radius:20px;background:#fff;margin-bottom:8px}.bdg-box h2{color:#ffd86b;margin:.2em 0 .5em}
.bdg-text{text-align:left;line-height:1.5;font-size:1.02rem}.bdg-act{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:18px}
.bdg-act .btn{background:#ffd86b;color:#0b2a5b;border-color:#ffd86b}.bdg-act .btn.ghost{background:transparent;color:#fff;border-color:#9dc3f5}
.bdg-sparks i{position:absolute;width:8px;height:8px;border-radius:50%;background:#ffd86b;opacity:.0;animation:bdgTw 2.4s ease-in-out infinite}
.bdg-sparks i:nth-child(odd){background:#9fd3ff}.bdg-sparks i:nth-child(1){left:8%;top:10%}.bdg-sparks i:nth-child(2){left:90%;top:8%;animation-delay:.3s}.bdg-sparks i:nth-child(3){left:15%;top:45%;animation-delay:.7s}.bdg-sparks i:nth-child(4){left:92%;top:40%;animation-delay:1s}.bdg-sparks i:nth-child(5){left:6%;top:80%;animation-delay:1.3s}.bdg-sparks i:nth-child(6){left:88%;top:78%;animation-delay:.5s}.bdg-sparks i:nth-child(7){left:50%;top:3%;animation-delay:1.6s}.bdg-sparks i:nth-child(8){left:60%;top:95%;animation-delay:.9s}
@keyframes bdgTw{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.4)}}

/* ===== Календарь Председателя (1.47.0) ===== */
.cc-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.cc-actions{display:flex;gap:8px;flex-wrap:wrap}.cc-actions form{margin:0}
.cc-card{padding:12px}.cc-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}.cc-nav{display:flex;gap:6px}.cc-title{font-size:1.05em}
.cc-views{display:flex;border:1px solid var(--line,#d8dee9);border-radius:10px;overflow:hidden}.cc-views button{border:0;background:transparent;padding:7px 12px;cursor:pointer;font:inherit;color:inherit}.cc-views button.on{background:#2f6fed;color:#fff}
.cc-filters{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.cc-f{font-size:.82em;padding:4px 10px;border-radius:999px;cursor:pointer;color:#fff;display:inline-flex;gap:5px;align-items:center}.cc-f input{margin:0}
.cc-bg-red{background:#d64545;color:#fff}.cc-bg-yellow{background:#e6b422;color:#2b2200}.cc-bg-blue{background:#2f7fe6;color:#fff}.cc-bg-green{background:#2e9e5b;color:#fff}.cc-bg-purple{background:#8a52d6;color:#fff}.cc-bg-gray{background:#7b8494;color:#fff}
.cc-f.cc-bg-yellow input,.cc-f.cc-bg-yellow{color:#2b2200}
.event-red{background:#d64545}.event-yellow{background:#e6b422}.event-blue{background:#2f7fe6}.event-green{background:#2e9e5b}.event-purple{background:#8a52d6}.event-gray{background:#7b8494}
.status-completed{opacity:.6}.status-cancelled,.status-rescheduled{text-decoration:line-through;opacity:.55}
.cc-body{overflow-x:auto}.cc-grid{min-width:640px}.cc-gh,.cc-gb{display:grid;grid-template-columns:48px repeat(var(--cols),1fr)}.cc-gh{position:sticky;top:0;background:var(--card,#fff);z-index:3;border-bottom:1px solid var(--line,#d8dee9)}
.cc-gd{padding:6px;text-align:center;font-size:.85em;font-weight:600}.cc-gd.today{color:#2f6fed}.cc-gt{font-size:.72em;color:#8a93a3}.cc-hr{text-align:right;padding-right:6px;box-sizing:border-box}
.cc-gc{position:relative;border-left:1px solid var(--line,#e3e8f0)}.cc-line{position:absolute;left:0;right:0;border-top:1px solid var(--line,#eef1f6)}.cc-now{position:absolute;left:0;right:0;border-top:2px solid #e23d3d;z-index:2}
.cc-ev{display:block;border:0;border-radius:6px;padding:2px 6px;font:inherit;font-size:.8em;text-align:left;cursor:pointer;overflow:hidden;line-height:1.25}.cc-gc .cc-ev{position:absolute;left:2px;right:2px;z-index:1}
.cc-pending{outline:2px dashed #fff;outline-offset:-3px}
.cc-month{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));min-width:640px;border-top:1px solid var(--line,#e3e8f0);border-left:1px solid var(--line,#e3e8f0)}.cc-mh{padding:5px;text-align:center;font-size:.8em;font-weight:600;border-right:1px solid var(--line,#e3e8f0);border-bottom:1px solid var(--line,#e3e8f0)}
.cc-mc{min-height:92px;padding:3px;border-right:1px solid var(--line,#e3e8f0);border-bottom:1px solid var(--line,#e3e8f0);display:flex;flex-direction:column;gap:2px}.cc-mc.off{opacity:.45}.cc-mc.today{background:rgba(47,111,237,.07)}.cc-mn{font-size:.8em;cursor:pointer;font-weight:600}.cc-mini{width:100%;white-space:nowrap;text-overflow:ellipsis}.cc-more{font-size:.75em;cursor:pointer;color:#2f6fed}
.cc-list{display:flex;flex-direction:column;gap:6px}.cc-ld{font-weight:700;margin-top:10px}.cc-row{width:100%;display:flex;gap:8px;padding:9px 10px;font-size:.92em;white-space:normal}
.cc-modal{position:fixed;inset:0;background:rgba(10,15,30,.5);z-index:300;display:flex;align-items:center;justify-content:center;padding:14px}.cc-modal[hidden]{display:none}.cc-box{background:var(--card,#fff);color:inherit;border-radius:14px;max-width:560px;width:100%;max-height:92vh;overflow:auto;padding:20px;position:relative}
.cc-x{position:absolute;right:10px;top:6px;border:0;background:none;font-size:28px;cursor:pointer;color:inherit}.cc-bar-c{height:6px;border-radius:3px;margin:0 0 10px}.cc-inv{background:rgba(138,82,214,.1);border-radius:10px;padding:10px;margin:8px 0;font-size:.92em}.cc-invtxt{margin-top:6px;max-height:160px;overflow:auto}
.cc-det{margin-top:10px;border-top:1px solid var(--line,#e3e8f0);padding-top:8px}.cc-det summary{cursor:pointer;font-weight:600}.cc-sub{margin-top:8px}.cc-btns{margin:8px 0}.cc-btns form{margin:0}
.cc-row2,.cc-row3{display:grid;gap:10px;grid-template-columns:1fr 1fr}.cc-row3{grid-template-columns:1.4fr 1fr 1fr}.cc-form select[multiple]{width:100%}body.cc-lock{overflow:hidden}
.cc-widget .cc-w-list{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.cc-widget h2{margin:0}.cc-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}
@media(max-width:720px){.cc-row3,.cc-row2{grid-template-columns:1fr}}

/* ===== Посещение мероприятий (1.48.0) ===== */
.evh h3{margin-top:0}.evh-scan{position:fixed;inset:0;background:#000;z-index:500;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px}.evh-scan video{width:100%;max-width:520px;max-height:70vh;object-fit:cover;border-radius:14px}
.evh-frame{position:absolute;width:62vmin;max-width:300px;height:62vmin;max-height:300px;border:3px solid #7cf;border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.35);pointer-events:none}

/* ===== Экосистема: Искры, страница участника, Моменты (1.49.0) ===== */
.spark-cnt{position:absolute;right:14px;top:12px;border:0;background:linear-gradient(135deg,#fff6d6,#ffe08a);color:#6a4a00;font-weight:700;border-radius:999px;padding:6px 14px;cursor:pointer;font:inherit;font-weight:700}
.spark-cnt em{display:none;position:absolute;right:0;top:110%;white-space:nowrap;background:#1f2a44;color:#fff;font-style:normal;font-weight:500;font-size:.82rem;padding:7px 11px;border-radius:9px;z-index:5}.spark-cnt.open em,.spark-cnt:hover em{display:block}
.spark-act{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.up-cover{height:120px;border-radius:12px 12px 0 0;background:linear-gradient(135deg,#0b3d91,#2f6fed);display:flex;align-items:center;justify-content:center;margin:-16px -16px 0;overflow:hidden}.up-cover img{height:56px;opacity:.9}
.up-head{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;margin-top:-44px;padding:0 4px}.up-ava{position:relative;width:104px;height:104px;border-radius:50%;padding:4px;background:var(--card,#fff);flex:none}
.up-ava .avatar{width:96px!important;height:96px!important;border-radius:50%;overflow:hidden}.up-ava .avatar img{width:100%;height:100%;object-fit:cover}
.up-ava.fr-gold{box-shadow:0 0 0 4px #d4a017}.up-ava.fr-navy{box-shadow:0 0 0 4px #17306b}.up-ava.fr-blue{box-shadow:0 0 0 4px #2f6fed}
.up-ava.ring-new{background:conic-gradient(#f59e0b,#ec4899,#8a52d6,#2f6fed,#f59e0b);cursor:pointer}.up-ava.ring-seen{background:#b7bfcc;cursor:pointer}
.up-plus{position:absolute;right:-2px;bottom:-2px;width:30px;height:30px;border-radius:50%;border:3px solid var(--card,#fff);background:#2f6fed;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0}
.up-main{flex:1;min-width:220px;padding-top:48px}.up-main h1{margin:0 0 6px}.up-l{margin:3px 0;color:var(--muted,#5b6475)}.up-badges{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0}
.up-b{background:#e8efff;color:#17306b;border-radius:999px;padding:2px 10px;font-size:.8rem}.up-b.gold{background:#fff1c2;color:#7a5400}.up-b.on{background:#dcfce7;color:#166534}.up-b.on i{font-size:.5rem;vertical-align:middle}
.up-act{display:flex;gap:8px;flex-wrap:wrap;padding-top:48px;position:relative}.up-dots{position:relative}.up-menu{position:absolute;right:0;top:110%;background:var(--card,#fff);border:1px solid var(--line,#dde3ee);border-radius:10px;padding:10px;z-index:20;min-width:240px;box-shadow:0 8px 24px rgba(0,0,0,.15)}
.up-grid{display:grid;grid-template-columns:2fr 1fr;gap:0 16px;align-items:start}@media(max-width:820px){.up-grid{grid-template-columns:1fr}}
.up-tags{display:flex;flex-wrap:wrap;gap:6px}.up-tags span{background:#eef2fb;border-radius:999px;padding:4px 12px;font-size:.88rem}
.up-st{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line,#eef1f6)}
.up-tl{border-left:2px solid #c9d6f2;padding-left:14px;display:flex;flex-direction:column;gap:10px}.up-tl div{display:flex;flex-direction:column;position:relative}.up-tl div:before{content:"";position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:#2f6fed}.up-tl .tl-award:before{background:#d4a017}.up-tl .tl-end:before{background:#9aa3b5}
.up-arch{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.up-th{border:0;padding:0;aspect-ratio:9/16;overflow:hidden;border-radius:8px;background:#111;cursor:pointer}.up-th img,.up-th video{width:100%;height:100%;object-fit:cover}
.sh{padding:4px 0;border-bottom:1px solid var(--line,#eef1f6)}.sh .pos{color:#166534}.sh .neg{color:#b91c1c}
body.mv-lock{overflow:hidden}
.mv{position:fixed;inset:0;background:#000;z-index:800;display:flex;flex-direction:column;align-items:center;user-select:none}
.mv-bars{position:absolute;top:8px;left:8px;right:8px;display:flex;gap:4px;z-index:3}.mv-bars i{flex:1;height:3px;background:rgba(255,255,255,.35);border-radius:2px;overflow:hidden}.mv-bars i s{display:block;height:100%;width:0;background:#fff}.mv-bars i.done s{width:100%}
.mv-top{position:absolute;top:18px;left:12px;right:8px;display:flex;justify-content:space-between;align-items:center;color:#fff;z-index:3}.mv-x{background:none;border:0;color:#fff;font-size:30px;cursor:pointer;line-height:1}
.mv-stage{flex:1;width:100%;max-width:520px;position:relative;display:flex;align-items:center;justify-content:center}.mv-stage img,.mv-stage video{max-width:100%;max-height:100%;object-fit:contain}
.mv-link{position:absolute;transform:translate(-50%,-50%);background:#fff;color:#0b3d91;border-radius:999px;padding:8px 16px;font-weight:700;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.mv-bottom{width:100%;max-width:520px;padding:10px 12px 16px;display:flex;flex-direction:column;gap:8px;z-index:3}.mv-react{display:flex;justify-content:center;gap:10px}.mv-react button{font-size:26px;background:rgba(255,255,255,.12);border:0;border-radius:50%;width:46px;height:46px;cursor:pointer}.mv-react button.on{background:rgba(255,255,255,.35)}
.mv-reply{display:flex;gap:6px}.mv-reply input{flex:1;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);color:#fff;padding:9px 14px}.mv-eye,.mv-del{background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:999px;padding:8px 14px;cursor:pointer}.mv-del{align-self:flex-end}
.mv-sheet{position:absolute;left:0;right:0;bottom:0;max-height:65vh;overflow:auto;background:#fff;color:#111;border-radius:16px 16px 0 0;padding:14px 16px;z-index:5}.mv-sheet .mv-x{color:#111;position:absolute;right:10px;top:6px}.mv-vr{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #eee;gap:10px}
.me{position:fixed;inset:0;background:rgba(10,15,30,.7);z-index:850;display:flex;align-items:center;justify-content:center;padding:10px}.me-box{background:var(--card,#fff);border-radius:14px;padding:18px;max-width:440px;width:100%;position:relative}.me-box .mv-x{position:absolute;right:10px;top:4px;color:inherit}
.me-ed{background:#111;color:#fff;border-radius:14px;max-width:460px;width:100%;max-height:96vh;display:flex;flex-direction:column;padding:8px}.me-top{display:flex;justify-content:space-between;align-items:center;padding:2px 4px}.me-top .mv-x{position:static}
.me-cv{flex:1;display:flex;justify-content:center;min-height:0;padding:6px 0}.me-cv canvas{max-height:68vh;max-width:100%;aspect-ratio:9/16;border-radius:10px;touch-action:none;background:#000}
.me-tools{display:flex;gap:6px;overflow-x:auto;padding:4px}.me-tools button{flex:none;background:#2a3150;color:#fff;border:0;border-radius:9px;padding:8px 11px;cursor:pointer}.me-tools button.on{background:#2f6fed}
.chat-fmt{display:flex;gap:4px;padding:4px 8px 0}.chat-fmt button{border:1px solid var(--line,#d8dee9);background:var(--card,#fff);color:inherit;border-radius:8px;min-width:32px;height:28px;cursor:pointer;font:inherit}
.msg-ctx{position:fixed;z-index:900;background:var(--card,#fff);border:1px solid var(--line,#d8dee9);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.22);padding:4px;min-width:190px}.msg-ctx button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 12px;border-radius:7px;cursor:pointer;font:inherit;color:inherit}.msg-ctx button:hover{background:rgba(47,111,237,.1)}

/* 1.50.0: чаты — прокрутка, аватарки, ответы (как в Telegram/VK) */
.chat{grid-template-rows:minmax(0,1fr)}
.chat-side{min-height:0;overflow:hidden}
.chat-list{min-height:0;flex:1 1 0;overflow-y:auto;overscroll-behavior:contain}
.chat-main{min-height:0;overflow:hidden}
.chat-pane{min-height:0;overflow:hidden}
.chat-msgs{min-height:0;flex:1 1 0}
.chat-av{position:relative;overflow:hidden}
.chat-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.chat-title{display:grid!important;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.chat-title .ct-av{grid-row:1/span 3;width:40px;height:40px;font-size:.9rem}
.chat-title .ct-name,.chat-title .chat-sub{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis}
.chat-title>:not(.ct-av):not(.ct-name):not(.chat-sub){display:none}
.chat-title.clickable:hover .ct-name{color:var(--brand)}
.msg{max-width:min(620px,78%)}
.msg-q{border-left:3px solid var(--brand);background:rgba(0,94,184,.08);border-radius:6px;padding:4px 8px;margin-bottom:5px;cursor:pointer;display:flex;flex-direction:column;font-size:.85rem;min-width:0}
.msg-q b{color:var(--brand);font-size:.8rem}.msg-q span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.msg-q.gone{cursor:default;border-left-color:#b9c2d3}.msg-q:hover:not(.gone){background:rgba(0,94,184,.14)}
.msg.flash>.msg-b{animation:msgflash 1.8s ease}
@keyframes msgflash{0%,60%{box-shadow:0 0 0 3px rgba(0,94,184,.45)}100%{box-shadow:0 0 0 0 transparent}}
.reply-bar{display:flex;align-items:center;gap:10px;padding:6px 14px;background:#fff;border-top:1px solid var(--line)}
.reply-bar[hidden]{display:none}.reply-bar>i{color:var(--brand)}
.rb-t{flex:1;min-width:0;border-left:3px solid var(--brand);padding-left:8px;display:flex;flex-direction:column;font-size:.85rem}
.rb-t b{color:var(--brand)}.rb-t span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.rb-x{border:0;background:none;font-size:1.4rem;color:var(--muted);cursor:pointer}
.chat-mod{height:calc(100vh - 220px)}
.chat-mod .chat-list{overflow-y:auto}

/* 1.52.0: меню Управления слева/справа (ПК) */
.adm-pos{display:none}
@media(min-width:981px){
 .adm-pos{display:inline-flex;gap:2px;margin-right:6px}
 .adm-pos button{border:0;background:none;color:var(--muted);padding:5px 8px;border-radius:8px;cursor:pointer}.adm-pos button:hover{background:var(--bg);color:var(--text)}
 html.adm-side .subnav{position:fixed;top:64px;bottom:0;width:260px;overflow-y:auto;border:0;background:#fff;box-shadow:0 0 0 1px var(--line);z-index:20}
 html.adm-side-l .subnav{left:0}html.adm-side-r .subnav{right:0}
 html.adm-side .subnav .container{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;max-width:none;padding:10px}
 html.adm-side .subnav a,html.adm-side .subnav .dm-b{width:100%;white-space:normal}
 html.adm-side .subnav .dm{display:block}
 html.adm-side .subnav .dm-m{position:static;display:none;box-shadow:none;border:0;margin:0 0 6px 14px;min-width:0}
 html.adm-side .subnav .dm.open>.dm-m,html.adm-side .subnav .dm.on>.dm-m{display:block}
 html.adm-side .subnav .adm-pos{align-self:flex-end}
 html.adm-side-l main.main{margin-left:276px;max-width:calc(100% - 292px)}
 html.adm-side-r main.main{margin-right:276px;max-width:calc(100% - 292px)}
}
@media(min-width:981px){html.adm-side .topbar{backdrop-filter:none;background:#fff}}
.adm-go{display:flex;justify-content:flex-end;margin:0 0 8px}

/* 1.54.0 — схема должностей по подразделениям */
.pos-board{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;margin:12px 0}
.pos-unit{border:1px solid var(--line,#d9dde6);border-radius:12px;padding:8px;background:var(--card,#fff);min-width:240px;max-width:100%;flex:1 1 260px;display:flex;flex-direction:column;gap:6px}
.pos-unit .pos-unit{flex:1 1 auto;background:rgba(0,0,0,.025)}
.pos-unit-h{font-weight:700;cursor:grab;padding:4px 6px;border-radius:8px;background:rgba(0,0,0,.05)}
.pos-unit-b{display:flex;flex-direction:column;gap:6px;min-height:8px}
.pos-chip{border:1px solid var(--line,#d9dde6);border-radius:8px;padding:6px 8px;background:#fff;cursor:grab;font-size:.92em}
.pos-chip.vac{border-left:4px solid #2e9e5b}.pos-chip.off{opacity:.55}
.pos-unit.drag-over{outline:2px dashed #2e9e5b}
.pm-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:24px 12px}
.pm-modal[hidden]{display:none}
.pm-box{position:relative;background:var(--card,#fff);color:inherit;border-radius:14px;max-width:760px;width:100%;padding:20px;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.pm-x{position:absolute;right:10px;top:6px;border:0;background:none;font-size:28px;cursor:pointer;color:inherit}
.pm-h{display:flex;gap:10px;align-items:center;margin:4px 0}
.pm-res{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.pm-cand{text-align:left;padding:8px 10px;border:1px solid var(--line,#d9dde6);border-radius:8px;background:rgba(46,158,91,.08);cursor:pointer;font:inherit;color:inherit}
.pm-cand:hover{background:rgba(46,158,91,.2)}
.pm-edit{border:0;background:none;cursor:pointer;opacity:.6;font-size:1em;color:inherit}.pm-edit:hover{opacity:1}
.pm-row:hover{background:rgba(0,0,0,.04)}

/* 1.55.0 — компактный «Доступ по должностям» */
.acc-pos .tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.acc-pos .tools input{flex:1;min-width:200px}
.acc-g{border:1px solid var(--line,#d9dde6);border-radius:10px;margin:4px 0;padding:6px 10px;background:var(--card,#fff)}
.acc-g summary{cursor:pointer}
.acc-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 18px;margin-top:8px}
.acc-c .chk{display:block;font-size:.88em;line-height:1.35;margin:1px 0}
.perm-grid th,.perm-grid td{padding:4px 8px}

/* 1.57.0 — блок «Техподдержка» */
.support-block{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;padding:10px 0 12px;margin-bottom:8px;border-bottom:1px solid var(--line,#d9dde6);font-size:.92em}
.support-block ul{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0;padding:0}
.support-block li i{opacity:.7;margin-right:4px}
.support-block.compact{flex-direction:column;align-items:flex-start;border:0}
.support-block.compact ul{flex-direction:column}

/* 1.57.0 — поручения */
.as-sum{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 12px}.as-sum .card{display:flex;flex-direction:column;align-items:center;padding:10px 22px;min-width:110px}.as-sum b{font-size:1.6em}.as-sum span{color:var(--muted,#667);font-size:.85em}.as-sum .bad b{color:#b3261e}
.as-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.as-dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px}.as-dl dt{color:var(--muted,#667)}.as-dl dd{margin:0}
.as-ex{padding:8px 0;border-bottom:1px solid var(--line,#e3e6ee)}.as-ex:last-child{border:0}
.as-act{margin:8px 0}.as-log{padding:6px 0;border-bottom:1px solid var(--line,#e3e6ee)}
.as-pick{position:relative}.as-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.as-chip{background:rgba(0,94,184,.1);border-radius:14px;padding:3px 6px 3px 10px;font-size:.92em}.as-chip button{border:0;background:none;cursor:pointer;font-size:1.1em;color:inherit}
.as-res{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.empty-state{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 12px;text-align:center;color:var(--muted,#667)}.empty-state i{font-size:3em;color:#6fb1e8;background:#e8f2fc;border-radius:50%;width:84px;height:84px;display:flex;align-items:center;justify-content:center}.empty-state b{color:inherit;font-size:1.1em}
.st-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.st-row{display:grid;grid-template-columns:120px 1fr 40px;gap:8px;align-items:center;margin:4px 0}.st-row i{display:block;height:12px;background:#4a90d9;border-radius:6px;min-width:2px}.st-row b{text-align:right}
.st-cols{display:flex;gap:6px;align-items:flex-end;height:150px}.st-cols>div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:.78em}.st-cols i{display:block;width:100%;background:#4a90d9;border-radius:4px 4px 0 0;min-height:2px}
