/* ТАЛТЭК портал — фирменный стиль: тёмно-синий, графит, белый; шрифт Onest (близок к Gilroy из презентации) */
@font-face{font-family:Onest;font-weight:400;font-display:swap;src:url(../fonts/onest-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-weight:500;font-display:swap;src:url(../fonts/onest-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-weight:600;font-display:swap;src:url(../fonts/onest-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-weight:700;font-display:swap;src:url(../fonts/onest-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-weight:800;font-display:swap;src:url(../fonts/onest-cyrillic-800-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;font-weight:400;font-display:swap;src:url(../fonts/onest-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:Onest;font-weight:500;font-display:swap;src:url(../fonts/onest-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:Onest;font-weight:600;font-display:swap;src:url(../fonts/onest-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:Onest;font-weight:700;font-display:swap;src:url(../fonts/onest-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:Onest;font-weight:800;font-display:swap;src:url(../fonts/onest-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}

:root{
  --navy:#23386A; --navy-deep:#182850; --navy-ink:#111C3D; --blue:#204F84; --sky:#8FB0E3; --sky-soft:#C9D8F2;
  --graphite:#5B6676; --grey:#898989; --mist:#EEF1F6; --paper:#F6F7FA; --line:#DDE2EB; --ink:#141B2D; --ink-2:#4A5468;
  --white:#fff; --ok:#2E8B57; --warn:#C98A12; --bad:#C0392B;
  --r-lg:24px; --r-md:16px; --r-sm:10px;
  --shadow:0 1px 2px rgba(17,28,61,.06),0 8px 24px rgba(17,28,61,.06);
  --wrap:1240px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Onest,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
h1,h2,h3{line-height:1.15;margin:0 0 .4em;letter-spacing:-.01em}
h1{font-size:clamp(28px,4vw,44px);font-weight:800}
h2{font-size:clamp(22px,2.4vw,28px);font-weight:700}
h3{font-size:18px;font-weight:700}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.muted{color:var(--graphite)}
.small{font-size:14px}
.tiny{font-size:12.5px}
.upper{text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:12.5px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- header ---------- */
.top{background:var(--navy-deep);color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.06)}
.top .wrap{display:flex;align-items:center;gap:28px;height:64px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand img{height:26px;display:block}
.nav{display:flex;gap:4px;flex:1}
.nav a{color:#C9D3E6;padding:8px 12px;border-radius:999px;font-weight:500;font-size:15px}
.nav a:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
.nav a.on{background:rgba(255,255,255,.12);color:#fff}
.me{display:flex;align-items:center;gap:10px;position:relative}
.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex-shrink:0;border:1.5px solid rgba(255,255,255,.25)}
.avatar.lg{width:96px;height:96px;font-size:34px;border:0}
.avatar.md{width:48px;height:48px;font-size:17px;border:0}
.me button{background:none;border:0;padding:0;cursor:pointer}
.menu{position:absolute;right:0;top:46px;background:#fff;color:var(--ink);border-radius:var(--r-md);box-shadow:0 12px 40px rgba(0,0,0,.18);min-width:220px;padding:8px;display:none}
.menu.open{display:block}
.menu a{display:block;padding:10px 12px;border-radius:8px;color:var(--ink)}
.menu a:hover{background:var(--mist);text-decoration:none}
.menu .who{padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}

/* bottom bar on phones */
.tabbar{display:none}
@media (max-width:860px){
  .nav{display:none}
  .top .wrap{height:56px}
  .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--graphite);font-size:11px;font-weight:500;padding:4px 0}
  .tabbar a.on{color:var(--navy)}
  .tabbar svg{width:24px;height:24px}
  body{padding-bottom:76px}
}

/* ---------- buttons, inputs ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:11px 20px;font:600 15px/1 Onest,sans-serif;cursor:pointer;background:var(--navy);color:#fff;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--blue);text-decoration:none}
.btn.light{background:#fff;color:var(--navy)}
.btn.light:hover{background:var(--sky-soft)}
.btn.ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--navy);background:transparent}
.btn.glass{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.btn.glass:hover{background:rgba(255,255,255,.2)}
.btn.sm{padding:8px 14px;font-size:14px}
.btn.danger{background:var(--bad)}
.btn svg{width:18px;height:18px}
input,select,textarea{font:inherit;color:inherit}
.field{display:block;width:100%;border:1.5px solid var(--line);border-radius:12px;padding:10px 14px;background:#fff;outline:none;transition:border-color .15s}
.field:focus{border-color:var(--blue)}
label.lbl{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin:0 0 6px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--mist);color:var(--ink-2);font-size:13.5px;font-weight:500;border:0;cursor:pointer;white-space:nowrap}
.chip.on{background:var(--navy);color:#fff}
.tag{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--mist);color:var(--ink-2);font-size:12.5px;font-weight:600}
.tag.coal{background:#E6E8EC;color:#20242C}
.tag.mach{background:#E3ECF8;color:#1A4374}
.tag.log{background:#E7F0F4;color:#1F5A6B}
.tag.srv{background:#F1ECE3;color:#6B5321}

/* ---------- cards ---------- */
.card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:24px}
.card.flat{box-shadow:none;border:1px solid var(--line)}
.card h3{margin-bottom:6px}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}.card{padding:18px;border-radius:20px}}
.section{margin:36px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-head h2{margin:0}

/* ---------- hero ---------- */
.hero{position:relative;color:#fff;background:radial-gradient(1200px 500px at 85% -10%,#2F4C8C 0,transparent 60%),linear-gradient(160deg,var(--navy) 0,var(--navy-deep) 70%);overflow:hidden}
.hero .art{position:absolute;inset:0;pointer-events:none;opacity:.22}
.hero .wrap{position:relative;padding-top:44px;padding-bottom:56px}
.hero .date{color:var(--sky-soft);font-weight:500;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero h1{margin:.25em 0 .6em}
.weather{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.1);font-size:14px}
.bigsearch{position:relative;max-width:760px}
.bigsearch input{width:100%;border:0;border-radius:20px;padding:20px 150px 20px 56px;font-size:18px;color:var(--ink);background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.25);outline:none}
.bigsearch .ico{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:22px;height:22px;color:var(--graphite)}
.bigsearch .ask{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
.hints{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.hints button{background:rgba(255,255,255,.1);color:#E3EAF7;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 12px;font:500 13.5px Onest,sans-serif;cursor:pointer}
.hints button:hover{background:rgba(255,255,255,.18)}
@media (max-width:640px){.bigsearch input{padding:16px 16px 16px 48px;font-size:16px}.bigsearch .ask{display:none}.hero .wrap{padding-top:28px;padding-bottom:40px}}
.quick{position:relative;margin-top:-30px;z-index:2}
.tile{display:flex;flex-direction:column;gap:10px;background:#fff;border-radius:20px;padding:18px;box-shadow:var(--shadow);color:var(--ink);min-height:118px;transition:transform .15s,box-shadow .15s}
.tile:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(17,28,61,.12);text-decoration:none}
.tile .ic{width:40px;height:40px;border-radius:12px;background:var(--mist);display:grid;place-items:center;color:var(--navy)}
.tile .ic svg{width:22px;height:22px}
.tile b{font-size:16px}
.tile span{font-size:13.5px;color:var(--graphite);margin-top:-6px}
.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
@media (max-width:1000px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{min-height:104px;padding:14px}}

/* monitoring card */
.mon{background:linear-gradient(150deg,#fff 0,#F3F6FC 100%);border:1px solid var(--line);box-shadow:none;position:relative;overflow:hidden}
.mon .badge{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:600;color:var(--ok);background:#E7F4EC;border-radius:999px;padding:4px 10px}
.mon .badge i{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(46,139,87,.5)}70%{box-shadow:0 0 0 8px rgba(46,139,87,0)}100%{box-shadow:0 0 0 0 rgba(46,139,87,0)}}
.mon p{color:var(--ink-2);margin:.6em 0 1em;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.actions{display:flex;gap:10px;flex-wrap:wrap}

/* newspaper card */
.np{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center}
.np img{width:140px;border-radius:10px;box-shadow:0 10px 24px rgba(17,28,61,.18);display:block;aspect-ratio:210/297;object-fit:cover;background:var(--mist)}
@media (max-width:420px){.np{grid-template-columns:100px 1fr}.np img{width:100px}}

/* board (табло) */
.board{background:var(--navy-deep);color:#fff;border-radius:28px;padding:28px;position:relative;overflow:hidden}
.board .art{position:absolute;right:-40px;bottom:-30px;width:520px;opacity:.13;pointer-events:none}
.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative}
@media (max-width:860px){.board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.board-grid{grid-template-columns:1fr}.board{padding:20px;border-radius:22px}.board .section-head{flex-direction:column;align-items:flex-start}}
.stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:18px 20px}
.stat .v{font-size:clamp(30px,3.6vw,46px);font-weight:800;letter-spacing:-.02em;line-height:1}
.stat .u{font-size:14px;color:var(--sky-soft);font-weight:600;margin-left:4px}
.stat .l{margin-top:10px;font-weight:600}
.stat .n{font-size:13px;color:#A9B7D3;margin-top:2px}
.stat .a{font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--sky);font-weight:700;margin-bottom:8px}

/* events */
.ev{display:flex;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.ev:last-child{border-bottom:0}
.ev .d{width:52px;height:56px;border-radius:14px;background:var(--mist);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.ev .d b{font-size:20px;line-height:1;color:var(--navy)}
.ev .d small{font-size:11.5px;color:var(--graphite);text-transform:uppercase;font-weight:600}
.ev.pro .d{background:var(--navy);}
.ev.pro .d b,.ev.pro .d small{color:#fff}

/* ---------- people ---------- */
.page-head{background:var(--navy-deep);color:#fff;padding:32px 0 76px;position:relative;overflow:hidden}
.page-head .art{position:absolute;inset:0;opacity:.16;pointer-events:none}
.page-head .wrap{position:relative}
.page-head p{color:var(--sky-soft);margin:0}
.lift{margin-top:-48px;position:relative;z-index:2}
.searchbar{display:flex;gap:10px;align-items:center;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:10px}
.searchbar input{flex:1;border:0;outline:none;font-size:18px;padding:10px 8px;min-width:0}
.searchbar svg{width:22px;height:22px;color:var(--graphite);margin-left:10px;flex-shrink:0}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 8px;align-items:center}
.filters select{border:1.5px solid var(--line);border-radius:999px;padding:8px 34px 8px 14px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235B6676' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;-webkit-appearance:none;appearance:none;font-size:14.5px;font-weight:500;max-width:100%}
.filters select.on{border-color:var(--navy);background-color:#EEF2FA}
.count{color:var(--graphite);font-size:14px;margin:8px 0 14px}
.plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:860px){.plist{grid-template-columns:1fr}}
.pc{display:flex;gap:16px;background:#fff;border-radius:20px;padding:18px;box-shadow:var(--shadow);cursor:pointer;transition:box-shadow .15s,transform .15s;color:var(--ink)}
.pc:hover{box-shadow:0 14px 34px rgba(17,28,61,.12);text-decoration:none}
.pc .body{min-width:0;flex:1}
.pc .nm{font-weight:700;font-size:17px;line-height:1.25}
.pc .ps{color:var(--ink-2);font-size:14.5px;margin:3px 0 8px;line-height:1.35}
.pc .meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--graphite)}
.pc .meta span{display:inline-flex;gap:5px;align-items:center}
.pc .meta svg{width:14px;height:14px}
.pc .contacts{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.pc .contacts a{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--mist);color:var(--navy)}
.pc .contacts a:hover{background:var(--sky-soft);text-decoration:none}
.pc .contacts svg{width:15px;height:15px}
mark{background:#FFE9A8;color:inherit;border-radius:3px;padding:0 1px}
.empty{text-align:center;padding:48px 20px;color:var(--graphite)}
.more{display:block;margin:20px auto}

/* person page */
.person-top{display:flex;gap:24px;align-items:center}
.person-top h1{font-size:clamp(26px,3.4vw,38px);margin:0}
@media (max-width:640px){.person-top{flex-direction:column;align-items:flex-start}}
.kv{display:grid;grid-template-columns:170px 1fr;gap:12px 20px;margin:0}
.kv dt{color:var(--graphite);font-size:14px}
.kv dd{margin:0;font-weight:500}
@media (max-width:520px){.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:10px}}
.big-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.big-actions a,.big-actions button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px;border-radius:16px;background:rgba(255,255,255,.1);color:#fff;font:600 14px Onest,sans-serif;border:1px solid rgba(255,255,255,.16);cursor:pointer}
.big-actions a:hover,.big-actions button:hover{background:rgba(255,255,255,.18);text-decoration:none}
.big-actions svg{width:22px;height:22px}

/* structure */
details.co{background:#fff;border-radius:20px;box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}
details.co>summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;gap:14px}
details.co>summary::-webkit-details-marker{display:none}
details.co>summary .n{margin-left:auto;color:var(--graphite);font-size:14px}
details.co[open]>summary{border-bottom:1px solid var(--line)}
details.dp{border-bottom:1px solid var(--line)}
details.dp:last-child{border-bottom:0}
details.dp>summary{cursor:pointer;padding:12px 22px 12px 40px;font-weight:600;list-style:none;display:flex;gap:10px}
details.dp>summary::-webkit-details-marker{display:none}
details.dp>summary .n{margin-left:auto;color:var(--graphite);font-weight:500;font-size:13.5px}
.dp ul{list-style:none;margin:0;padding:0 22px 12px 58px}
.dp li{padding:6px 0;display:flex;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--line)}
.dp li:first-child{border-top:0}
.dp li .r{color:var(--graphite);font-size:14px}

/* map */
.mapwrap{background:var(--navy-deep);border-radius:28px;overflow:hidden;position:relative;color:#fff}
.mapwrap #map{display:block;width:100%;height:auto}
.mpt{cursor:pointer}
.mpt .halo{fill:var(--sky);opacity:.18;transition:r .2s}
.mpt:hover .halo,.mpt.on .halo{opacity:.35}
.mpt .dot{fill:#fff}
.mpt.on .dot{fill:var(--sky)}
.mpt text{fill:#E3EAF7;font:600 13px Onest,sans-serif;paint-order:stroke;stroke:var(--navy-deep);stroke-width:4px}
.maplayout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:1000px){.maplayout{grid-template-columns:1fr}}
.site-panel{max-height:720px;overflow:auto}
.site-panel .co-block{margin:14px 0}
.mini{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--line);align-items:center;color:var(--ink)}
.mini:hover{text-decoration:none;background:var(--paper)}
.mini .avatar{width:34px;height:34px;font-size:13px;border:0}
.mini b{display:block;font-size:14.5px;line-height:1.2}
.mini small{color:var(--graphite);font-size:12.5px;line-height:1.25;display:block}

/* newspaper reader */
.issues{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px}
.issue-card{color:var(--ink)}
.issue-card img{width:100%;aspect-ratio:210/297;object-fit:cover;border-radius:12px;box-shadow:0 12px 28px rgba(17,28,61,.16);background:#fff;display:block;transition:transform .2s}
.issue-card:hover img{transform:translateY(-3px) rotate(-.6deg)}
.issue-card:hover{text-decoration:none}
.reader{background:#1A2238;border-radius:24px;padding:20px;position:relative}
.reader .pages{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.reader .pages img{scroll-snap-align:center;height:min(78vh,1000px);width:auto;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.4);background:#fff}
@media (max-width:640px){.reader{padding:10px;border-radius:16px}.reader .pages img{height:auto;width:88vw}}
.thumbs{display:flex;gap:8px;overflow-x:auto;margin-top:12px}
.thumbs img{height:84px;border-radius:4px;opacity:.6;cursor:pointer;border:2px solid transparent}
.thumbs img.on,.thumbs img:hover{opacity:1;border-color:var(--sky)}

/* AI */
.ai-box{background:linear-gradient(150deg,#F3F6FC,#fff);border:1px solid var(--line);border-radius:20px;padding:20px;margin:16px 0;display:none}
.ai-box.show{display:block}
.ai-box .hd{display:flex;gap:10px;align-items:center;font-weight:700;color:var(--navy);margin-bottom:8px}
.ai-box .hd svg{width:20px;height:20px}
.ai-box .txt{white-space:pre-wrap}
.dots i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--navy);margin-right:4px;animation:blink 1.2s infinite}
.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.2}40%{opacity:1}}

/* admin */
.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 22px}
.admin-tabs a{padding:8px 16px;border-radius:999px;background:#fff;color:var(--ink-2);font-weight:600;font-size:14.5px;box-shadow:var(--shadow)}
.admin-tabs a.on{background:var(--navy);color:#fff}
.admin-tabs a:hover{text-decoration:none}
table.t{width:100%;border-collapse:collapse;font-size:14.5px}
table.t th{text-align:left;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--graphite);font-weight:600;padding:10px 10px;border-bottom:1.5px solid var(--line);position:sticky;top:0;background:#fff}
table.t td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
table.t tr:hover td{background:var(--paper)}
.tablebox{overflow:auto;max-height:70vh;border-radius:16px;border:1px solid var(--line);background:#fff}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.form-grid .w2{grid-column:span 2}
.form-grid .w3{grid-column:1/-1}
@media (max-width:760px){.form-grid{grid-template-columns:1fr}.form-grid .w2,.form-grid .w3{grid-column:auto}}
.asg{border:1.5px dashed var(--line);border-radius:18px;padding:16px;margin:12px 0;position:relative}
.flash{background:#E7F4EC;color:#1E5E3B;padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:500}
.flash.warn{background:#FFF4DB;color:#7A5A0E}
.copy{cursor:pointer}
.status-off{opacity:.5}

/* login */
.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(900px 500px at 80% 0,#2F4C8C,transparent 60%),var(--navy-deep);color:#fff;padding:20px;position:relative;overflow:hidden}
.login .art{position:absolute;inset:0;opacity:.18}
.login .box{position:relative;max-width:440px;width:100%;text-align:center}
.login img{height:34px;margin-bottom:34px}
.login p{color:var(--sky-soft)}

footer.foot{color:var(--graphite);font-size:13px;padding:30px 0 40px}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:99}
.toast.show{opacity:1}
.wrap.section{margin:36px auto}
a>svg:not(.deco),.section-head svg,.small>svg{width:18px;height:18px;vertical-align:-3px}

/* ---------- v0.2: дни рождения, новости, ДИП ---------- */
.dlg{border:0;border-radius:24px;padding:26px;max-width:460px;width:calc(100% - 32px);box-shadow:0 30px 80px rgba(17,28,61,.35)}
.dlg::backdrop{background:rgba(17,28,61,.45);backdrop-filter:blur(2px)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.bd{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.bd:last-child{border-bottom:0}
.bd .avatar{background:linear-gradient(135deg,#F2C14E,#E86A5B);border:0}
.bd.today{background:linear-gradient(90deg,#FFF6E0,transparent);margin:0 -12px;padding:10px 12px;border-radius:14px;border-bottom:0}
.bd .who{flex:1;min-width:0}
.bd .who b{display:block;line-height:1.25}
.bd .who small{color:var(--graphite);font-size:13px;display:block;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd .when{font-size:12.5px;font-weight:700;color:var(--navy);background:var(--mist);border-radius:999px;padding:3px 10px;white-space:nowrap}
.bd.today .when{background:#F2C14E;color:#3B2A00}
.greet-btn{border:0;background:var(--navy);color:#fff;border-radius:999px;padding:7px 12px;font:600 13px Onest,sans-serif;cursor:pointer;white-space:nowrap}
.greet-btn:hover{background:var(--blue)}
.gcount{font-size:12px;color:var(--graphite);margin-left:4px}
.months{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px}
.months a{padding:7px 14px;border-radius:999px;background:#fff;box-shadow:var(--shadow);color:var(--ink-2);font-weight:600;font-size:14px}
.months a.on{background:var(--navy);color:#fff}
.months a:hover{text-decoration:none}
.daygroup{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.daygroup:first-child{border-top:0}
.daygroup .dn{font-size:34px;font-weight:800;color:var(--navy);line-height:1}
.daygroup.today .dn{color:#E86A5B}
.greeting{background:var(--paper);border-radius:16px;padding:14px 16px;margin-top:10px}
.greeting .from{font-size:13px;color:var(--graphite);margin-top:6px}

.newsgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:1000px){.newsgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.newsgrid{grid-template-columns:1fr}}
.ncard{background:#fff;border-radius:22px;box-shadow:var(--shadow);overflow:hidden;color:var(--ink);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.ncard:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(17,28,61,.12);text-decoration:none}
.ncard .img{aspect-ratio:16/9;background:linear-gradient(135deg,var(--navy),var(--navy-deep));overflow:hidden;position:relative}
.ncard .img img{width:100%;height:100%;object-fit:cover;display:block}
.ncard .img .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.35)}
.ncard .img .ph svg{width:56px;height:56px}
.ncard .bd2{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.ncard h3{font-size:17px;line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ncard p{margin:0;color:var(--ink-2);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ncard .src{font-size:12.5px;color:var(--graphite);display:flex;gap:6px;align-items:center;margin-top:auto;padding-top:6px}
.ncard .src svg{width:14px;height:14px}
.src-tg{color:#2A8BD0 !important}
.pinned{position:absolute;left:12px;top:12px;background:#F2C14E;color:#3B2A00;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}
.post-body{font-size:17px;line-height:1.65}
.post-body img{border-radius:16px}
.article{max-width:820px;margin:0 auto}
.article .hero-img{width:100%;border-radius:22px;margin:18px 0;display:block}

/* ДИП */
.dip-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 22px}
.dip-tabs a{display:inline-flex;gap:7px;align-items:center;padding:8px 15px;border-radius:999px;background:#fff;color:var(--ink-2);font-weight:600;font-size:14.5px;box-shadow:var(--shadow)}
.dip-tabs a svg{width:17px;height:17px}
.dip-tabs a.on{background:var(--navy);color:#fff}
.dip-tabs a:hover{text-decoration:none}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width:860px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:16px 18px;color:var(--ink)}
.kpi:hover{text-decoration:none}
.kpi b{font-size:30px;font-weight:800;display:block;line-height:1.1}
.kpi span{font-size:13.5px;color:var(--graphite)}
.item{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.item:last-child{border-bottom:0}
.item:hover{text-decoration:none}
.item .bar{width:4px;align-self:stretch;border-radius:4px;flex-shrink:0}
.item .t{font-weight:600;line-height:1.3}
.item .m{font-size:13px;color:var(--graphite);margin-top:2px}
.st{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--mist);color:var(--ink-2);text-transform:lowercase}
.st.s-идея{background:#EEF1F6}.st.s-в.работе{background:#E3ECF8}
.st[data-s="в работе"]{background:#E3ECF8;color:#1A4374}.st[data-s="на согласовании"]{background:#FFF1D6;color:#7A5A0E}
.st[data-s="готово"]{background:#E1F2E8;color:#1E5E3B}.st[data-s="опубликовано"]{background:#23386A;color:#fff}
.od{color:var(--bad);font-weight:700}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-radius:20px;overflow:hidden;background:var(--line);gap:1px;box-shadow:var(--shadow)}
.cal .h{background:var(--navy-deep);color:#C9D3E6;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:10px;text-align:center}
.cal .d{background:#fff;min-height:128px;padding:8px;display:flex;flex-direction:column;gap:4px;position:relative}
.cal .d.out{background:#FAFBFD}
.cal .d.out .n{color:#B9C0CC}
.cal .d.today{box-shadow:inset 0 0 0 2px var(--navy)}
.cal .d .n{font-weight:700;font-size:13.5px;display:flex;justify-content:space-between;align-items:center}
.cal .d .add{opacity:0;border:0;background:var(--mist);color:var(--navy);border-radius:8px;width:22px;height:22px;line-height:1;cursor:pointer;font-size:16px}
.cal .d:hover .add{opacity:1}
.cal .d.drop{background:#EEF4FF}
.cal .hol{font-size:11px;color:#B5502B;font-weight:600;line-height:1.2}
.ev2{display:block;border-radius:8px;padding:4px 7px;font-size:12.5px;line-height:1.25;color:#fff;cursor:grab;overflow:hidden}
.ev2:hover{text-decoration:none;filter:brightness(1.08)}
.ev2.done{opacity:.55;text-decoration:line-through}
.ev2 small{display:block;opacity:.8;font-size:11px}
@media (max-width:760px){.cal{grid-template-columns:1fr}.cal .h{display:none}.cal .d.out{display:none}.cal .d{min-height:0}.cal .d .add{opacity:1}}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:14px;overflow-x:auto;padding-bottom:10px}
.col{background:#E9EDF4;border-radius:20px;padding:12px;min-height:300px;display:flex;flex-direction:column;gap:10px}
.col.drop{background:#DCE6F7}
.col .ch{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:4px 6px}
.col .ch span{color:var(--graphite);font-weight:600;font-size:13px}
.kc{background:#fff;border-radius:14px;padding:12px;box-shadow:0 1px 2px rgba(17,28,61,.08);cursor:grab;color:var(--ink);border-left:4px solid var(--grey);display:block}
.kc:hover{text-decoration:none;box-shadow:0 8px 20px rgba(17,28,61,.12)}
.kc.dragging{opacity:.4}
.kc .t{font-weight:600;line-height:1.3;font-size:14.5px}
.kc .m{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--graphite);margin-top:8px;align-items:center}
.kc .who{display:inline-flex;align-items:center;gap:5px}
.kc .who i{width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;font-style:normal;font-size:10px;font-weight:700;display:grid;place-items:center}
.col .addc{border:1.5px dashed #B9C3D6;background:transparent;border-radius:12px;padding:8px;color:var(--graphite);font:600 13.5px Onest,sans-serif;cursor:pointer}
.comment{border-top:1px solid var(--line);padding:12px 0}
.comment .h2{font-size:13px;color:var(--graphite)}
.bd .greet-btn{padding:8px 11px;font-size:16px;line-height:1}
.bd .whenx{font-weight:700;color:var(--navy)}
.bd.today .whenx{color:#C2410C}
.bdpost{display:flex;gap:12px;align-items:center;padding:10px;border-radius:16px;background:linear-gradient(90deg,#FFF6E0,#fff);margin-bottom:8px;color:var(--ink)}
.bdpost:hover{text-decoration:none;box-shadow:var(--shadow)}
.bdpost img{width:84px;height:54px;object-fit:cover;border-radius:10px;flex-shrink:0}
.bdpost b{display:block;line-height:1.25}
.bdpost small{color:#B45309;font-weight:600;font-size:12.5px}
.imp{display:flex;gap:14px;align-items:center;background:#FFF1EE;border:1px solid #F6C9C0;border-radius:18px;padding:14px 18px;margin:18px 0 0;color:var(--ink)}
.imp:hover{text-decoration:none;background:#FFE7E1}
.imp b{display:block}
.imp small{color:#9A3B2A}
.imp-ic{font-size:22px}
.imp svg{width:20px;height:20px;color:#9A3B2A}
.reacts{display:flex;gap:8px;flex-wrap:wrap}
.react{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:16px;cursor:pointer}
.react.on{border-color:var(--navy);background:#EEF2FA}
.react span{font-size:13px;font-weight:700;color:var(--ink-2)}
.tb{display:flex;gap:4px;flex-wrap:wrap;background:var(--paper);border:1.5px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;padding:6px}
.tb button{border:0;background:#fff;border-radius:8px;min-width:34px;height:32px;cursor:pointer;font:600 14px Onest,sans-serif;color:var(--ink)}
.tb button:hover{background:var(--sky-soft)}
.tb .sep{width:1px;background:var(--line);margin:4px 4px}
.editor{min-height:340px;border:1.5px solid var(--line);border-radius:0 0 12px 12px;padding:16px 18px;outline:none;background:#fff}
.editor:focus{border-color:var(--blue)}
.editor img,.post-body img{max-width:100%;border-radius:14px}
.post-body blockquote{border-left:4px solid var(--sky);margin:16px 0;padding:6px 16px;color:var(--ink-2);background:var(--paper);border-radius:0 12px 12px 0}
.post-body h2{font-size:24px;margin-top:1.2em}.post-body h3{font-size:19px;margin-top:1em}
.cover-box{border:1.5px dashed var(--line);border-radius:16px;min-height:120px;display:grid;place-items:center;cursor:pointer;overflow:hidden;color:var(--graphite);font-size:14px}
.cover-box img{width:100%;max-height:320px;object-fit:cover;display:block}
.navbadge{display:inline-block;min-width:18px;height:18px;border-radius:9px;background:#E86A5B;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;padding:0 5px;margin-left:4px;vertical-align:1px}
.formcard{display:flex;gap:14px;align-items:center;background:#fff;border-radius:18px;padding:16px;box-shadow:var(--shadow);color:var(--ink)}
.formcard:hover{text-decoration:none;box-shadow:0 14px 34px rgba(17,28,61,.12)}
.formcard b{display:block;line-height:1.3}
.formcard small{color:var(--graphite);font-size:13px}
.fi{width:44px;height:52px;border-radius:10px;background:var(--mist);display:grid;place-items:center;color:var(--navy);flex-shrink:0}
.fi.auto{background:linear-gradient(135deg,#E3ECF8,#C9D8F2)}
.fi svg{width:22px;height:22px}
code{background:var(--mist);border-radius:6px;padding:1px 6px;font-size:13px}
/* презентации */
.presets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:10px}
@media (max-width:1100px){.presets{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.presets{grid-template-columns:repeat(2,minmax(0,1fr))}}
.preset{width:100%;border:0;background:var(--paper);border-radius:18px;padding:0 0 12px;text-align:left;cursor:pointer;font-family:inherit;overflow:hidden;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;gap:4px}
.preset:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(17,28,61,.14)}
.pr-img{display:block;aspect-ratio:16/9;background-size:cover;background-position:center;margin-bottom:6px}
.preset b{padding:0 12px;font-size:15px;color:var(--ink)}
.preset small{padding:0 12px;font-size:12.5px;color:var(--graphite);line-height:1.3}
.decks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:1000px){.decks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.decks{grid-template-columns:1fr}}
.deck{background:#fff;border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.dk-img{display:block;aspect-ratio:16/9;background-size:cover;background-position:center;position:relative}
.dk-img span{position:absolute;right:10px;bottom:10px;background:rgba(17,28,61,.75);color:#fff;font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px}
.dk-body{padding:14px 16px 16px}
.dk-body b{color:var(--ink)}
.ed-top{display:flex;gap:14px;align-items:center;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap;position:sticky;top:64px;z-index:20}
.ed-title{border:0;font:800 20px Onest,sans-serif;color:var(--ink);min-width:260px;flex:0 1 420px;outline:none;border-bottom:1.5px dashed transparent}
.ed-title:focus{border-bottom-color:var(--line)}
.ed{display:grid;grid-template-columns:232px minmax(0,1fr) 380px;gap:18px;padding:18px 20px;align-items:start}
@media (max-width:1100px){.ed{grid-template-columns:200px minmax(0,1fr)}.ed-right{grid-column:1/-1}}
.ed-left{position:sticky;top:130px;max-height:calc(100vh - 150px);overflow:auto;padding-right:4px}
.th{margin-top:12px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:6px;cursor:pointer;position:relative;border:2px solid transparent}
.th.on{border-color:var(--navy)}
.th.off .th-box{opacity:.35}
.th.drag{opacity:.4}.th.over{border-color:var(--sky)}
.th-n{position:absolute;left:-2px;top:-8px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px;z-index:2}
.th-box{width:196px;overflow:hidden;border-radius:6px}
.th-inner{width:1280px;height:720px;transform-origin:0 0;pointer-events:none}
.th-bar{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--graphite);margin-top:5px;gap:4px}
.th-act button{border:0;background:var(--mist);border-radius:6px;font-size:12px;cursor:pointer;padding:2px 6px}
.ed-main{position:sticky;top:130px}
.pv{background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(17,28,61,.15);overflow:hidden}
.pv-clip{overflow:hidden}
.pv-inner{width:1280px;height:720px;transform-origin:0 0}
.ed-right{max-height:calc(100vh - 150px);overflow:auto;position:sticky;top:130px}
.form-hd{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.fld{margin-top:12px}
.imgpick{border:1.5px dashed var(--line);border-radius:12px;min-height:80px;display:grid;place-items:center;overflow:hidden;color:var(--graphite);font-size:13px;text-align:center;padding:4px}
.imgpick img{width:100%;border-radius:8px;display:block}
.fact,.fact2{background:var(--paper);border-radius:12px;padding:8px;margin-top:8px}
.fact .field{padding:7px 10px;font-size:14px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.typegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.typegrid button{border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:14px 8px;cursor:pointer;font:600 14px Onest,sans-serif;display:flex;flex-direction:column;align-items:center;gap:6px}
.typegrid button:hover{border-color:var(--navy);background:#F3F6FC}
.typegrid span{font-size:28px}
.pk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:60vh;overflow:auto}
.pk{border:2px solid transparent;background:var(--paper);border-radius:12px;padding:4px;cursor:pointer;font:500 12px Onest,sans-serif;text-align:left}
.pk:hover{border-color:var(--navy)}
.pk img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;display:block}
.pk span{display:block;padding:4px 2px;color:var(--graphite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-tab.on{background:var(--navy);color:#fff}
.photogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.photo{background:var(--paper);border-radius:16px;padding:6px;overflow:hidden}
.photo img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;display:block}
.photo .styles{display:flex;gap:4px;margin:6px 0;flex-wrap:wrap}
.photo .styles a{font-size:11.5px;background:#fff;border-radius:999px;padding:2px 8px;color:var(--ink-2)}
.ph-form .field{padding:6px 10px;font-size:13px;margin-top:4px}
/* v0.4 */
.avatar.ph{background-size:cover;background-position:center;color:transparent}
.ava-wrap{position:relative;display:inline-block;flex-shrink:0}
.ava-edit{position:absolute;right:-4px;bottom:-4px;width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25);font-size:17px}
@media (max-width:640px){.big-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.kudo{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:20px;padding:16px 18px;box-shadow:var(--shadow);margin-bottom:12px}
.card .kudo{box-shadow:none;border:1px solid var(--line)}
.kudo-badge{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#FFF6E0,#FDE8D0);display:grid;place-items:center;font-size:26px;flex-shrink:0}
.kudo-hd{line-height:1.35}
.kudo-tag{display:inline-block;margin-top:4px;font-size:12px;font-weight:700;color:#B45309;background:#FFF6E0;border-radius:999px;padding:2px 10px}
.kudo p{margin:8px 0 6px;white-space:pre-wrap}
.kudo-ft{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--graphite)}
.kudo-ft .react{font-size:14px;padding:3px 10px}
.badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:640px){.badges{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bdg input{display:none}
.bdg span{display:flex;flex-direction:column;align-items:center;gap:4px;border:1.5px solid var(--line);border-radius:14px;padding:10px 6px;cursor:pointer;font-size:13px;font-weight:600;text-align:center}
.bdg span i{font-style:normal;font-size:24px}
.bdg input:checked+span{border-color:var(--navy);background:#EEF2FA}
.rank{width:22px;font-weight:800;color:var(--navy);text-align:center}
.pollcard{display:flex;flex-direction:column}
.pollcard:hover{text-decoration:none;box-shadow:0 14px 34px rgba(17,28,61,.12)}
.pbar{position:relative;background:var(--mist);border-radius:10px;padding:8px 12px;margin-top:8px;display:flex;justify-content:space-between;gap:8px;overflow:hidden}
.pbar span{position:absolute;left:0;top:0;bottom:0;background:#C9D8F2;border-radius:10px}
.pbar b,.pbar i{position:relative;font-style:normal}
.opts{display:flex;flex-direction:column;gap:8px}
.opt{position:relative;display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;cursor:pointer;font:500 15.5px Onest,sans-serif;text-align:left;overflow:hidden;color:var(--ink)}
.opt:hover:not([disabled]){border-color:var(--navy)}
.opt[disabled]{cursor:default}
.opt .fill{position:absolute;left:0;top:0;bottom:0;background:#EEF2FA;transition:width .4s}
.opt.lead .fill{background:#DCE6F7}
.opt.mine{border-color:var(--navy)}
.opt .chk{position:relative;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff;flex-shrink:0}
.opt.mine .chk{background:var(--navy);border-color:var(--navy)}
.opt .t{position:relative;flex:1}
.opt .t small{color:var(--graphite)}
.opt .n{position:relative;font-size:13px;font-weight:700;color:var(--ink-2);white-space:nowrap}
.idea{display:flex;gap:8px;margin-top:12px}
.optrow{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.kblist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:760px){.kblist{grid-template-columns:1fr}}
.kbitem{background:#fff;border-radius:16px;padding:14px 16px;box-shadow:var(--shadow);color:var(--ink);display:flex;flex-direction:column;gap:4px}
.kbitem:hover{text-decoration:none;box-shadow:0 14px 34px rgba(17,28,61,.12)}
.kbitem small{color:var(--graphite);font-size:13.5px;line-height:1.35}
.kb-body ol{padding-left:0;counter-reset:s;list-style:none}
.kb-body ol>li{counter-increment:s;position:relative;padding:4px 0 10px 46px}
.kb-body ol>li:before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:10px;background:var(--navy);color:#fff;font-weight:800;display:grid;place-items:center;font-size:15px}
.kbowner{background:var(--paper);border-radius:18px;padding:14px 16px;margin:24px 0 8px}
.kbfb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:20px 0 10px}
.kbref{display:inline-flex;gap:6px;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:600;font-size:14px}
.hw{display:flex;flex-direction:column}
@media (max-width:640px){
  .kudo>a:last-child{display:none}
  .kudo{padding:14px}
  .kudo-badge{width:40px;height:40px;font-size:22px}
  .section-head{flex-wrap:wrap}
}
.tabbar a{position:relative}
.tabbar .navbadge{position:absolute;top:0;left:calc(50% + 6px);margin:0}

/* ======================= v0.5 ======================= */
/* ---------- вход ---------- */
.entry{min-height:100vh;min-height:100dvh;position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;
  background:radial-gradient(1000px 600px at 15% -10%,#34539A 0,transparent 60%),radial-gradient(800px 500px at 100% 100%,#24407C 0,transparent 60%),var(--navy-deep)}
.entry-art{position:absolute;inset:0;width:100%;height:100%;opacity:.22;pointer-events:none}
.entry-art .train{animation:train 70s linear infinite}
@keyframes train{from{transform:translateX(-1500px)}to{transform:translateX(1500px)}}
@media (prefers-reduced-motion:reduce){.entry-art .train{animation:none}}
.entry-in{position:relative;flex:1;display:grid;grid-template-columns:1.1fr minmax(0,480px);gap:56px;align-items:center;max-width:1180px;width:100%;margin:0 auto;padding:48px 24px 140px}
.entry-logo{height:38px;display:block;margin-bottom:44px}
.entry-brand h1{font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-.02em;margin:0 0 18px}
.entry-tag{color:var(--sky-soft);font-size:19px;line-height:1.5;margin:0 0 40px}
.entry-clocks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:560px}
.eclock{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:12px 14px;backdrop-filter:blur(4px)}
.ec-city{display:block;font-size:12.5px;color:var(--sky);font-weight:600;letter-spacing:.04em}
.ec-time{display:block;font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin:2px 0}
.ec-w{font-size:13px;color:var(--sky-soft)}
.entry-card{background:#fff;color:var(--ink);border-radius:28px;padding:36px;box-shadow:0 40px 100px rgba(5,10,30,.45)}
.entry-card h2{font-size:30px;margin-bottom:8px}
.entry-card .lead{color:var(--ink-2);font-size:17px;margin:0 0 22px}
.e-lbl{display:block;font-weight:600;font-size:15px;margin-bottom:8px}
.e-in{display:block;width:100%;font:500 22px/1.2 Onest,sans-serif;padding:18px 20px;border-radius:16px;border:2px solid var(--line);outline:none;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.e-in:focus{border-color:var(--blue);box-shadow:0 0 0 5px rgba(32,79,132,.12)}
.e-code{font-size:38px;font-weight:700;letter-spacing:.35em;text-align:center;padding:16px 10px;font-variant-numeric:tabular-nums}
.e-btn{display:block;width:100%;margin-top:14px;border:0;border-radius:16px;padding:19px;font:700 20px/1 Onest,sans-serif;background:var(--navy);color:#fff;cursor:pointer;transition:background .15s,transform .1s}
.e-btn:hover{background:var(--blue)}.e-btn:active{transform:scale(.99)}.e-btn:disabled{opacity:.7;cursor:wait}
.e-steps{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.e-steps li{font-size:13.5px;color:var(--graphite);display:flex;flex-direction:column;gap:6px;line-height:1.3}
.e-steps b{width:28px;height:28px;border-radius:50%;background:var(--mist);color:var(--navy);display:grid;place-items:center;font-size:14px}
.e-err{background:#FDECEA;color:#8E2A1F;border-radius:14px;padding:14px 16px;margin-bottom:16px;font-size:15.5px;line-height:1.45}
.e-ok{background:#E7F4EC;color:#1F6A41;border-radius:14px;padding:14px 16px;margin-bottom:16px;font-size:15.5px}
.e-dbg{background:#FFF6DD;color:#7A5A00;border-radius:14px;padding:12px 16px;margin-bottom:16px;font-size:14.5px}
.e-note,.e-hint{color:var(--graphite);font-size:14.5px;margin:18px 0 0;line-height:1.5}
.e-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;align-items:center}
.e-links form{margin:0}
.e-link{background:none;border:0;padding:0;font:600 15px Onest,sans-serif;color:var(--blue);cursor:pointer}
.e-link:disabled{color:var(--grey);cursor:default}
.e-pick{display:grid;gap:10px}
.e-pick button{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;border:2px solid var(--line);background:#fff;border-radius:16px;padding:16px 18px;cursor:pointer;font:inherit;color:var(--ink)}
.e-pick button:hover{border-color:var(--navy);background:var(--paper)}
.e-pick b{font-size:18px}.e-pick small{grid-column:1;color:var(--graphite);font-size:14px}.e-pick span{grid-row:1/3;grid-column:2;font-size:22px;color:var(--navy)}
.e-help{border-top:1px solid var(--line);margin:24px 0 0;padding-top:16px;font-size:14px;color:var(--graphite)}
.entry-foot{position:relative;text-align:center;font-size:13px;color:rgba(201,216,242,.6);padding:0 20px 18px}
@media (max-width:900px){.entry-in{grid-template-columns:1fr;gap:28px;padding:28px 16px 120px}.entry-logo{margin-bottom:26px;height:30px}
  .entry-brand h1{font-size:40px}.entry-tag{font-size:16px;margin-bottom:22px}.entry-card{padding:24px;border-radius:24px}
  .entry-clocks{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-time{font-size:22px}.entry-card{order:-1}.entry-brand{display:contents}
  .entry-brand .entry-logo{order:-3}.entry-brand h1{order:-2;margin:0}.entry-brand .entry-tag{display:none}}
/* ---------- шапка: сообщения ---------- */
.inbox{margin-left:auto;position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#C9D3E6}
.inbox:hover{background:rgba(255,255,255,.08);color:#fff}
.inbox svg{width:22px;height:22px}
.inbox .navbadge{position:absolute;top:2px;right:0;margin:0}
.tabbar a{position:relative}
.tabbar .navbadge{position:absolute;top:0;left:calc(50% + 6px);margin:0}
.menu .sep{border-top:1px solid var(--line);margin:6px 0}
.menu{max-height:calc(100vh - 80px);overflow:auto}
.svc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media (max-width:1000px){.svc{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.svc{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ---------- часы и котировки ---------- */
.live{margin-top:26px}
.clocks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.clk{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:12px 14px;color:#fff;min-width:0}
.dial{width:46px;height:46px;flex-shrink:0}
.dial .rim{fill:rgba(255,255,255,.95);stroke:none}
.dial .tick{stroke:var(--navy);stroke-width:1.3;stroke-linecap:round;opacity:.55}
.dial .hh{stroke:var(--navy-deep);stroke-width:2.8;stroke-linecap:round}
.dial .mm{stroke:var(--navy);stroke-width:1.9;stroke-linecap:round}
.dial .ss{stroke:#E86A5B;stroke-width:1;stroke-linecap:round}
.dial .pin{fill:var(--navy-deep)}
.clk.night .dial .rim{fill:#2E4478}
.clk.night .dial .tick{stroke:#fff}.clk.night .dial .hh,.clk.night .dial .mm{stroke:#fff}.clk.night .dial .pin{fill:#fff}
.clk-t{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.clk-c{font-size:12.5px;color:var(--sky);font-weight:600;white-space:nowrap}
.clk-c i{font-style:normal;color:rgba(201,216,242,.6);font-weight:500;margin-left:2px}
.clk-time{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.clk-w{font-size:13px;color:var(--sky-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clk-w small{opacity:.75;font-size:12px}
.muted-l{color:rgba(201,216,242,.6)}
.quotes{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;color:#fff}
.quotes:hover{text-decoration:none}
.qt{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:7px 14px;font-size:14px;white-space:nowrap}
.quotes:hover .qt{background:rgba(255,255,255,.1)}
.qs{color:var(--sky);font-weight:700}.ql{color:var(--sky-soft)}.qv{font-variant-numeric:tabular-nums}
.qd{font-size:12px;font-weight:600}.qd.up{color:#8EE0A8}.qd.down{color:#FFA89C}
@media (max-width:1000px){.clocks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .clocks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;margin:0 -20px;padding:0 20px 2px;scrollbar-width:none}
  .clocks::-webkit-scrollbar{display:none}
  .clk{flex:0 0 auto;scroll-snap-align:start;padding:10px 12px;gap:10px}.dial{width:38px;height:38px}.clk-time{font-size:20px}.clk-w small{display:none}
  .quotes{flex-wrap:nowrap;overflow-x:auto;margin:10px -20px 0;padding:0 20px;scrollbar-width:none}.quotes::-webkit-scrollbar{display:none}
  .ql{display:none}
}
.hero .today-k{display:inline-flex;align-items:center;gap:6px}
.hero .today-k i{width:8px;height:8px;border-radius:50%;background:#8EE0A8;display:inline-block}
.hero .today-k.rest i{background:#FFC46B}
/* ---------- главная: отрасль и объявления ---------- */
.ind-row{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.ind-row:last-of-type{border-bottom:0}
.ind-row:hover{text-decoration:none}.ind-row:hover b{color:var(--blue)}
.ind-e{width:36px;height:36px;border-radius:10px;background:var(--mist);display:grid;place-items:center;flex-shrink:0;font-size:18px}
.ind-row b{display:block;font-weight:600;line-height:1.35}
.ind-row small{color:var(--graphite);font-size:13px}
.hot{display:inline-block;background:#FDECEA;color:#B23A2C;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:6px;vertical-align:2px}
.ad-row{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.ad-row:last-of-type{border-bottom:0;margin-bottom:6px}
.ad-row:hover{text-decoration:none}.ad-row:hover b{color:var(--blue)}
.ad-row img,.ad-ph{width:64px;height:64px;border-radius:12px;object-fit:cover;flex-shrink:0;background:var(--mist);display:grid;place-items:center;font-size:26px}
.ad-row small{display:block;color:var(--graphite);font-size:12.5px}
.ad-row b{display:block;font-weight:600;line-height:1.3}
.ad-row em{font-style:normal;font-weight:700;color:var(--navy);font-size:14px}
.navbadge[hidden]{display:none!important}
body:has(.entry){padding-bottom:0;background:var(--navy-deep)}
/* ---------- производственный календарь ---------- */
.pc-today h2{margin:8px 0 6px}.pc-today p{margin:6px 0}
.pc-today{background:linear-gradient(150deg,#fff,#EFF7F1)}.pc-today.rest{background:linear-gradient(150deg,#fff,#FFF5E6)}
.pc-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px;color:var(--ink-2)}
.pc-legend span{display:inline-flex;align-items:center;gap:6px}
.pc-legend i{width:14px;height:14px;border-radius:4px;display:inline-block}
.pc-legend .w{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.pc-legend .s{background:#FFF1D6}.pc-legend .o{background:var(--mist)}.pc-legend .h{background:var(--navy)}
.pc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:1100px){.pc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.pc-grid{grid-template-columns:1fr}}
.pc-m{padding:16px 16px 18px}
.pc-mh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.pc-mh h3{margin:0}
.pc-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.pc-wd{font-size:11px;color:var(--graphite);font-weight:600;padding-bottom:2px}.pc-wd.we{color:#B23A2C}
.pc-d{font-size:13.5px;line-height:30px;border-radius:8px;font-variant-numeric:tabular-nums;color:var(--ink)}
.pc-d.k-weekend,.pc-d.k-off{background:var(--mist);color:#B23A2C}
.pc-d.k-holiday{background:var(--navy);color:#fff;font-weight:700}
.pc-d.k-short{background:#FFF1D6;color:#8A5A00;font-weight:600}
.pc-d.today{box-shadow:0 0 0 2px #E86A5B;font-weight:800}
.pc-t td,.pc-t th{text-align:right}.pc-t td:first-child,.pc-t th:first-child{text-align:left}
.pc-q td{background:var(--paper);font-weight:600}.pc-y td{background:var(--mist);font-weight:800}
/* ---------- время и курсы ---------- */
.world-head{padding-bottom:40px}
.wc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.wc-top h2{margin:0}
.wc-time{font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--navy);background:none;border:0;padding:0}
.wc-time .clk-time{font-size:inherit}
.wc-now{display:flex;gap:14px;align-items:center;margin:16px 0}
.wc-ic{font-size:44px;line-height:1}
.wc-now b{font-size:30px;display:block;line-height:1}
.wc-now span{color:var(--ink-2);font-size:14px}
.wc-days{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wc-days div{background:var(--paper);border-radius:14px;padding:10px;text-align:center;display:flex;flex-direction:column;gap:2px}
.wc-days small{color:var(--graphite);font-size:12px}.wc-days span{font-size:22px}.wc-days em{font-style:normal;color:var(--graphite);font-size:13px}
.qgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:12px}
@media (max-width:1000px){.qgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.qcard{display:flex;flex-direction:column;gap:4px;padding:18px}
.qv-big{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:6px}.qv-big small{font-size:13px;color:var(--graphite);font-weight:500}
.qd2{font-size:13px;font-weight:700}.qd2.up{color:var(--ok)}.qd2.down{color:var(--bad)}
.spark{width:100%;height:36px;margin:6px 0}.spark polyline{fill:none;stroke:var(--blue);stroke-width:1.6;vector-effect:non-scaling-stroke}
.tablebox.full{max-height:none}
/* ---------- отрасль ---------- */
.ind-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ind-bar .chips{flex:1}
.ind-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ind-hero{position:relative;display:flex;flex-direction:column;gap:8px;justify-content:flex-end;min-height:240px;padding:24px;border-radius:24px;color:#fff;overflow:hidden;
  background:linear-gradient(180deg,rgba(24,40,80,.15),rgba(17,28,61,.92)),var(--img,linear-gradient(150deg,var(--navy),var(--navy-deep)));background-size:cover;background-position:center}
.ind-hero:hover{text-decoration:none;filter:brightness(1.07)}
.ind-hero h2{margin:0;font-size:22px;color:#fff}.ind-hero p{margin:0;color:var(--sky-soft);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ind-hero small{color:var(--sky);font-size:13px}.ind-hero .hot{align-self:flex-start;margin-bottom:auto}
.ind-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1000px){.ind-top,.ind-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ind-top,.ind-list{grid-template-columns:1fr}}
.ind-card{display:flex;flex-direction:column;gap:8px;padding:20px}
.ind-card.draft{opacity:.65}
.ind-img{margin:-20px -20px 4px;display:block}.ind-img img{width:100%;height:170px;object-fit:cover;border-radius:24px 24px 0 0;display:block}
.ind-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ind-card h3{margin:0;font-size:18px;line-height:1.3}.ind-card h3 a{color:var(--ink)}
.ind-card p{margin:0;color:var(--ink-2);font-size:14.5px}
.ind-foot{margin-top:auto;padding-top:6px;display:flex;justify-content:space-between;gap:10px}
.lead-p{font-size:19px;color:var(--ink-2);line-height:1.5}
/* ---------- сообщения ---------- */
.msg-wrap{display:grid;grid-template-columns:340px 1fr;gap:16px;padding-top:20px;padding-bottom:20px;height:calc(100vh - 64px - 64px);min-height:520px}
.msg-list{padding:0;display:flex;flex-direction:column;overflow:hidden}
.msg-lh{padding:18px 18px 6px}.msg-lh h2{margin:0}
.msg-find{position:relative;padding:8px 14px 10px}
.msg-drop{position:absolute;left:14px;right:14px;top:100%;z-index:30;padding:6px;max-height:340px;overflow:auto}
.msg-drop a{display:flex;gap:10px;align-items:center;padding:8px;border-radius:10px;color:var(--ink)}
.msg-drop a:hover{background:var(--mist);text-decoration:none}
.msg-drop small,.msg-it small{display:block;color:var(--graphite);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-items{overflow:auto;flex:1;padding:0 8px 8px}
.msg-it{display:flex;gap:12px;align-items:center;padding:10px;border-radius:14px;color:var(--ink)}
.msg-it:hover{background:var(--paper);text-decoration:none}.msg-it.on{background:var(--mist)}
.msg-it-t{flex:1;min-width:0}.msg-it-t b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-it-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.msg-it-r small{font-size:12px}
.msg-grp{background:linear-gradient(135deg,#E86A5B,#C0392B);font-size:13px}
.ava-wrap{position:relative;display:inline-block}
.online{position:absolute;right:1px;bottom:1px;width:12px;height:12px;border-radius:50%;background:#34C27A;border:2px solid #fff}
.on-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#34C27A;margin-right:5px}
.msg-chat{padding:0;display:flex;flex-direction:column;overflow:hidden}
.msg-ch{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.msg-back{display:none;color:var(--navy);padding:6px}
.msg-who{display:flex;gap:12px;align-items:center;color:var(--ink);min-width:0}.msg-who:hover{text-decoration:none}
.msg-who small{display:block;color:var(--graphite);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-feed{flex:1;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:6px;background:linear-gradient(180deg,#F7F9FC,#F1F4F9)}
.msg-day{text-align:center;margin:10px 0}.msg-day span{background:rgba(35,56,106,.08);color:var(--ink-2);font-size:12.5px;padding:4px 12px;border-radius:999px}
.msg-b{max-width:min(560px,78%);align-self:flex-start;background:#fff;border-radius:18px 18px 18px 6px;padding:9px 14px 7px;box-shadow:0 1px 2px rgba(17,28,61,.08);font-size:15.5px;line-height:1.45;word-wrap:break-word}
.msg-b.me{align-self:flex-end;background:var(--navy);color:#fff;border-radius:18px 18px 6px 18px}
.msg-b.me a{color:var(--sky-soft)}
.msg-n{display:block;font-size:13px;color:var(--blue);margin-bottom:2px}
.msg-t{display:block;text-align:right;font-size:11.5px;opacity:.6;margin-top:2px}
.msg-b .tick{font-style:normal}.msg-b.read .tick::after{content:'✓';margin-left:-4px}
.msg-img{max-width:260px;max-height:260px;border-radius:12px;display:block;margin:2px 0 4px}
.msg-file{display:inline-block;background:rgba(127,127,127,.12);padding:8px 12px;border-radius:10px;margin:2px 0 4px;font-weight:600}
.msg-send{display:flex;gap:8px;align-items:flex-end;padding:12px;border-top:1px solid var(--line);background:#fff}
.msg-att{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;cursor:pointer;font-size:20px;flex-shrink:0}.msg-att:hover{background:var(--mist)}
.msg-inp{flex:1}
.msg-inp textarea{width:100%;border:1.5px solid var(--line);border-radius:22px;padding:11px 16px;font:16px/1.4 Onest,sans-serif;resize:none;outline:none;max-height:160px}
.msg-inp textarea:focus{border-color:var(--blue)}
.msg-go{width:46px;height:46px;padding:0;justify-content:center;font-size:18px;flex-shrink:0}
.msg-empty{margin:auto;text-align:center;max-width:420px;padding:30px}
@media (max-width:860px){
  .msg-wrap{grid-template-columns:1fr;height:calc(100dvh - 56px - 70px);padding:0;gap:0}
  .msg-wrap .card{border-radius:0;box-shadow:none}
  .msg-wrap.has-open .msg-list{display:none}.msg-wrap:not(.has-open) .msg-chat{display:none}
  .msg-back{display:block}.msg-b{max-width:86%}
}
.big-actions.pa-4{max-width:760px;grid-template-columns:repeat(4,minmax(0,1fr))}
.big-actions.pa-5{max-width:900px;grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:640px){.big-actions.pa-4,.big-actions.pa-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* ---------- объявления ---------- */
.ads-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.ads-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.ads-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.ad-card{padding:0;overflow:hidden;color:var(--ink);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.ad-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 14px 34px rgba(17,28,61,.12)}
.ad-card.st-closed,.ad-card.st-expired,.ad-card.st-rejected{opacity:.6}
.ad-img{aspect-ratio:4/3;background:var(--mist);display:grid;place-items:center;font-size:48px;position:relative}
.ad-img img{width:100%;height:100%;object-fit:cover;display:block}
.ad-n{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;padding:2px 8px;border-radius:999px}
.ad-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:3px}
.ad-body small{color:var(--graphite);font-size:12.5px}.ad-body b{font-weight:600;line-height:1.3}
.ad-body em{font-style:normal;font-weight:600;color:var(--navy);font-size:13.5px}
.ad-body .st{align-self:flex-start;margin-top:4px;background:#FFF1D6;color:#7A5A00}
.ad-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:640px){.ad-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ad-cats input{position:absolute;opacity:0}
.ad-cats span{display:flex;gap:8px;align-items:center;padding:12px;border:2px solid var(--line);border-radius:14px;cursor:pointer;font-size:20px}
.ad-cats b{font-size:14.5px;font-weight:600}
.ad-cats input:checked+span{border-color:var(--navy);background:var(--mist)}
.field.big{font-size:19px;font-weight:600}
.ad-photos{display:flex;gap:10px;flex-wrap:wrap}
.ad-ph-i,.ad-ph-add{width:110px;height:110px;border-radius:14px;position:relative;overflow:hidden}
.ad-ph-i img{width:100%;height:100%;object-fit:cover}
.ad-ph-i button{position:absolute;top:4px;right:4px;border:0;background:rgba(0,0,0,.6);color:#fff;border-radius:50%;width:26px;height:26px;cursor:pointer}
.ad-ph-add{border:2px dashed var(--line);display:grid;place-items:center;font-size:34px;color:var(--graphite);cursor:pointer}
.ad-ph-add:hover{border-color:var(--navy);color:var(--navy)}
.ad-one{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start}
@media (max-width:820px){.ad-one{grid-template-columns:1fr}}
.ad-gal{padding:10px}.ad-gal #big{width:100%;border-radius:16px;display:block;max-height:560px;object-fit:contain;background:var(--paper)}
.ad-thumbs{display:flex;gap:8px;margin-top:8px}.ad-thumbs img{width:76px;height:76px;object-fit:cover;border-radius:10px;cursor:pointer}
.ad-noimg{aspect-ratio:4/3;display:grid;place-items:center;font-size:90px;background:var(--mist);border-radius:16px}
.ad-price{font-size:19px;font-weight:700;color:var(--navy);margin:-4px 0 10px}
.ad-author{display:flex;gap:12px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.ad-author small{display:block;color:var(--graphite);font-size:13px}
body:has(.msg-wrap) .foot{display:none}
.msg-who>span{min-width:0}
.msg-ch{min-width:0}
.tile.is-off{opacity:.55;border:1.5px dashed var(--line);box-shadow:none}
/* ---------- мониторинг для сотрудников ---------- */
.mon-t td{vertical-align:middle}
.tag.ok{background:#E7F4EC;color:#1F6A41}
.me-file{margin-top:16px;padding:14px 16px;border:1.5px dashed var(--line);border-radius:16px}
.mon-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0 10px}
.mon-ed{width:100%;min-height:500px;border:1.5px solid var(--line);border-radius:16px;background:#fff}
.mon-row{display:flex;gap:14px;align-items:flex-start;color:var(--ink)}.mon-row:hover{text-decoration:none;box-shadow:0 14px 34px rgba(17,28,61,.12)}
.mon-row b{display:block;font-size:18px}.mon-row small{color:var(--graphite)}.mon-row p{margin:8px 0 0;color:var(--ink-2)}
.badge-new{background:#E7F4EC;color:var(--ok);font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px}
/* ---------- сторис ---------- */
.st-bar{display:flex;gap:14px;overflow-x:auto;padding:22px 2px 6px;scrollbar-width:none}.st-bar::-webkit-scrollbar{display:none}
.st-list{display:flex;gap:14px}
.st-it{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:0;cursor:pointer;color:var(--ink);width:74px;flex-shrink:0;font:inherit}
.st-it:hover{text-decoration:none}
.st-it small{font-size:12.5px;max-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-ring{width:68px;height:68px;border-radius:50%;padding:3px;background:var(--line);display:grid;place-items:center}
.st-ring.new{background:conic-gradient(from 200deg,#8FB0E3,#204F84,#E86A5B,#C98A12,#8FB0E3)}
.st-ring.add{background:none;border:2px dashed var(--sky)}
.st-av{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;display:grid;place-items:center;font-weight:700;border:3px solid var(--paper);background-size:cover;background-position:center}
.st-ring.add .st-av{background:var(--mist);color:var(--navy);font-size:28px;border:0}
.st-av.sm{width:32px;height:32px;border:0;flex-shrink:0}
.st-view{position:fixed;inset:0;z-index:200;background:rgba(5,10,25,.94);display:grid;place-items:center}
.st-box{position:relative;width:min(420px,100vw);height:min(760px,100dvh);background:#000;border-radius:18px;overflow:hidden;color:#fff}
@media (max-width:520px){.st-box{border-radius:0}}
.st-prog{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:4px;z-index:3}
.st-prog i{flex:1;height:3px;background:rgba(255,255,255,.35);border-radius:2px;overflow:hidden}
.st-prog i.done b{width:100%}
.st-prog b{display:block;height:100%;width:0;background:#fff}
.st-prog b.run{animation:stp 6s linear forwards}
@keyframes stp{to{width:100%}}
.st-head{position:absolute;top:22px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;z-index:4}
.st-who{display:flex;gap:8px;align-items:center;font-weight:600;font-size:14.5px;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.st-who a{color:#fff}.st-who small{opacity:.75;font-weight:400}
.st-x{background:none;border:0;color:#fff;font-size:22px;cursor:pointer;padding:6px}
.st-media{position:absolute;inset:0;display:grid;place-items:center}
.st-media img{max-width:100%;max-height:100%;object-fit:contain}
.st-text{padding:40px 30px;font-size:30px;font-weight:800;line-height:1.25;text-align:center;white-space:pre-wrap;word-break:break-word;color:#fff}
.st-cap{position:absolute;left:0;right:0;bottom:64px;padding:12px 18px;font-size:17px;font-weight:600;text-align:center;background:linear-gradient(transparent,rgba(0,0,0,.6));white-space:pre-wrap;z-index:2;color:#fff}
.st-nav{position:absolute;top:70px;bottom:70px;width:40%;background:none;border:0;cursor:pointer;z-index:2}
.st-nav.prev{left:0}.st-nav.next{right:0;width:60%}
.st-foot{position:absolute;left:0;right:0;bottom:0;display:flex;gap:14px;align-items:center;padding:14px 16px;z-index:4}
.st-like{background:rgba(255,255,255,.15);border:0;color:#fff;border-radius:999px;padding:8px 14px;font-size:18px;cursor:pointer}
.st-like.on{color:#FF8A7A}
.st-views{font-size:14px;opacity:.85}
.st-del{margin-left:auto;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font:inherit;font-size:13px}
.st-new{display:grid;grid-template-columns:300px 1fr;gap:20px;margin-top:14px;align-items:start}
@media (max-width:760px){.st-new{grid-template-columns:1fr}.st-prev{max-width:260px;margin:0 auto}}
.st-prev{aspect-ratio:9/16;border-radius:20px;overflow:hidden;position:relative;display:grid;place-items:center;box-shadow:var(--shadow)}
.st-prev img{width:100%;height:100%;object-fit:contain}
.st-prev .st-text{font-size:22px}.st-prev .st-cap{bottom:0;font-size:14px}
.st-bgs{display:flex;gap:8px;margin-top:12px}
.st-bgs button{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--line);cursor:pointer}
.st-bgs button.on{box-shadow:0 0 0 2.5px var(--navy)}
/* ---------- функции ---------- */
.feat-intro{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.feat{display:flex;gap:18px;align-items:flex-start;margin-top:10px;padding:18px 22px;transition:opacity .15s}
.feat.off{background:var(--paper)}.feat.off .feat-b>b{color:var(--graphite)}
.feat-b{flex:1;min-width:0}.feat-b>b{display:block;font-size:17px}
.feat-r{margin-top:8px}.feat-r summary{cursor:pointer;font-size:14px;color:var(--blue)}
.sw{position:relative;display:inline-block;width:52px;height:30px;flex-shrink:0;margin-top:2px;cursor:pointer}
.sw input{opacity:0;width:0;height:0}
.sw i{position:absolute;inset:0;background:#C9CFDA;border-radius:999px;transition:.2s}
.sw i::after{content:'';position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.2s}
.sw input:checked+i{background:var(--ok)}.sw input:checked+i::after{transform:translateX(22px)}
.chip.ck{cursor:pointer}.chip.ck input{margin:0}
.pp{position:relative}.pp-chips{margin-bottom:6px}.pp-chips a{color:var(--bad);margin-left:4px}
.pp-drop{position:absolute;left:0;right:0;z-index:20;padding:6px}.pp-drop a{display:block;padding:8px;border-radius:8px;color:var(--ink)}.pp-drop a:hover{background:var(--mist);text-decoration:none}
.feat-form>.actions{position:sticky;bottom:12px;z-index:5;background:#fff;padding:10px 14px;border-radius:999px;box-shadow:var(--shadow);width:max-content}
.pc-check{display:flex;gap:8px 16px;flex-wrap:wrap;margin:-4px 0 12px;color:var(--ink-2)}
.pc-check .ok{color:var(--ok);font-weight:600}.pc-check .bad{color:var(--bad);font-weight:600}
[hidden]{display:none!important}
/* ---------- конструктор: галерея макетов ---------- */
.ed-under{margin-top:22px;background:#fff;border-radius:20px;padding:18px;box-shadow:var(--shadow)}
.tg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-height:70vh;overflow:auto;padding:2px}
.tg-grid.strip{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:none}
.tg-it{border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:6px 6px 8px;cursor:pointer;display:flex;flex-direction:column;gap:6px;font:600 13px Onest,sans-serif;color:var(--ink);text-align:left}
.tg-it:hover{border-color:var(--navy);box-shadow:0 8px 20px rgba(17,28,61,.1)}
.tg-box{border-radius:8px;overflow:hidden;pointer-events:none}
.tg-inner{transform-origin:0 0;width:1280px}
.ic-pv svg{width:26px;height:26px;display:block}
/* 0.5.1: плашки часов и курсов размывают фон */
.clk,.qt,.eclock{background:rgba(24,40,80,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.quotes:hover .qt{background:rgba(35,56,106,.75)}
/* ---------- приветствие и ПИН ---------- */
.wl{padding:34px;text-align:left}
.wl-pin{background:var(--paper);border-radius:20px;padding:22px;margin-top:20px}
.wl-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wl .e-code{font-size:28px;letter-spacing:.3em}
@media (max-width:480px){.wl{padding:22px}.wl-row{grid-template-columns:1fr}}
.e-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--mist);border-radius:14px;padding:4px;margin:6px 0 20px}
.e-tabs button{border:0;background:none;border-radius:11px;padding:12px 8px;font:600 15px Onest,sans-serif;color:var(--ink-2);cursor:pointer}
.e-tabs button.on{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(17,28,61,.12)}
/* ---------- фотоальбомы ---------- */
.alb-use{margin-top:12px;max-width:420px}
.alb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:1100px){.alb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.alb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.alb{background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);color:var(--ink);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.alb:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 16px 36px rgba(17,28,61,.14)}
.alb.draft{opacity:.65}
.alb-cover{aspect-ratio:4/3;background:var(--mist) center/cover;position:relative;display:grid;place-items:center;font-size:48px}
.alb-n{position:absolute;left:10px;bottom:10px;background:rgba(17,28,61,.7);color:#fff;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;backdrop-filter:blur(6px)}
.alb-b{padding:12px 14px 16px;display:flex;flex-direction:column;gap:3px}
.alb-b small{color:var(--graphite);font-size:12.5px}.alb-b b{font-size:16.5px;line-height:1.3}
.up-zone{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;border:2px dashed var(--sky);background:#F7F9FD;cursor:pointer;margin-bottom:18px;box-shadow:none}
.up-zone.over{background:#E8EFFB;border-color:var(--navy)}
.up-prog{width:100%;max-width:560px;margin-top:10px}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
@media (max-width:560px){.ph-grid{grid-template-columns:repeat(3,1fr);gap:4px}.ph-it figcaption{display:none}}
.ph-it{margin:0;position:relative}
.ph-open{display:block;width:100%;aspect-ratio:1;border:0;padding:0;border-radius:14px;overflow:hidden;background:var(--mist);cursor:zoom-in;position:relative}
.ph-open img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.ph-open:hover img{transform:scale(1.04)}
.ph-novid{font-size:40px}
.ph-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:34px;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.ph-it figcaption{font-size:13px;color:var(--ink-2);margin-top:4px;line-height:1.3}
.ph-tools{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .15s}
.ph-it:hover .ph-tools{opacity:1}
@media (hover:none){.ph-tools{opacity:1}}
.ph-tools button{width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.92);cursor:pointer;font-size:14px;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.lb{position:fixed;inset:0;z-index:300;background:rgba(5,10,25,.96);display:grid;place-items:center}
.lb-media{max-width:94vw;max-height:84vh;display:grid;place-items:center}
.lb-media img,.lb-media video{max-width:94vw;max-height:80vh;border-radius:8px;display:block}
.lb-x{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:28px;cursor:pointer;z-index:2}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:0;color:#fff;font-size:44px;width:56px;height:80px;border-radius:14px;cursor:pointer;z-index:2}
.lb-nav.prev{left:14px}.lb-nav.next{right:14px}
.lb-bar{position:absolute;left:0;right:0;bottom:0;display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;padding:14px;color:#fff}
@media (max-width:640px){.lb-nav{display:none}}
/* ---------- главная: сетка блоков (порядок задаёт админ) ---------- */
.hb-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin:28px 0 36px}
.hb{min-width:0;display:flex;flex-direction:column}
.hb>.card,.hb>a.card{flex:1}
.hb-full{grid-column:span 6}.hb-half{grid-column:span 3}.hb-third{grid-column:span 2}.hb-two{grid-column:span 4}
@media (max-width:1000px){.hb-third,.hb-two{grid-column:span 3}}
@media (max-width:1000px){.hb[style*="span 2"]{grid-column:span 3!important}}
@media (max-width:760px){.hb-grid{gap:14px;margin-top:18px}.hb{grid-column:span 6!important}}
.hb-k-stories .st-bar{padding-top:0}
.hb-albs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.hb-albs .alb{box-shadow:none;border:1px solid var(--line)}
/* ---------- конструктор главной ---------- */
.lay{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start}
@media (max-width:1000px){.lay{grid-template-columns:1fr}}
.lay-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.lay-it{display:grid;grid-template-columns:24px 52px 1fr 170px auto;gap:10px;align-items:center;padding:10px 12px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:grab}
.lay-it.off{background:var(--paper)}.lay-it.off b{color:var(--grey)}
.lay-it.drag{opacity:.5;border-style:dashed}
.lay-it select{padding:6px 10px;font-size:14px}
.lay-h{color:var(--grey);font-size:20px;text-align:center}
.lay-ar button{border:0;background:var(--mist);border-radius:8px;width:30px;height:30px;cursor:pointer;margin-left:2px}
@media (max-width:560px){.lay-it{grid-template-columns:20px 52px 1fr;}.lay-it select{grid-column:2/-1}.lay-ar{display:none}}
#tiles .chip i{font-style:normal;background:#fff;color:var(--navy);border-radius:50%;width:18px;height:18px;display:inline-grid;place-items:center;font-size:11px;font-weight:800;margin-right:2px}
.lay-prev{position:sticky;top:84px}
.lp-hero{background:var(--navy-deep);color:var(--sky-soft);border-radius:12px;padding:22px 14px;font-size:13px;text-align:center}
.lp-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:-10px 8px 12px;position:relative}
.lp-tiles span{background:#fff;border:1px solid var(--line);border-radius:8px;font-size:10.5px;padding:8px 4px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.lp-grid div{background:var(--mist);border-radius:8px;padding:14px 8px;font-size:12px;font-weight:600;color:var(--ink-2);text-align:center;min-height:56px;display:grid;place-items:center}
.sw.sm{width:44px;height:26px}.sw.sm i::after{width:20px;height:20px}.sw.sm input:checked+i::after{transform:translateX(18px)}
