/* ============================================================
   ПрофМедСтайл (profmedstyle.ru)
   Концепция: закрытая ОРДИНАТОРСКАЯ для медиков.
   Метафора: прикроватный монитор пациента + больница ночью.
   Тёмная «дежурная» тема по умолчанию, светлая «дневная смена» — опция.
   ============================================================ */
:root{
  --r-sm:8px; --r:14px; --r-lg:22px;
  --font-h:'Spectral',Georgia,serif;
  --font-b:'IBM Plex Sans',system-ui,sans-serif;
  --font-m:'IBM Plex Mono',monospace;
  /* цвета отделений */
  --d-ter:#4C86F9;  /* терапия */
  --d-sur:#FF5D5D;  /* хирургия */
  --d-car:#F5426C;  /* кардиология */
  --d-neu:#9B7DF0;  /* неврология */
  --d-ped:#2FD8A0;  /* педиатрия */
  --d-rea:#F5A623;  /* анестезиология-реанимация */
  --d-eme:#FF8A3D;  /* скорая помощь */
  --d-dia:#22D3EE;  /* диагностика */
  --d-ord:#59C173;  /* ординаторская / оффтоп */
  --d-car2:#8FA0B3; /* карьера и обучение */
}
[data-theme="dark"]{
  --bg:#0A0E13; --surface:#111823; --surface-2:#161F2C; --surface-3:#1C2836;
  --border:#233140; --border-soft:#1A2532;
  --text:#E9EFF5; --muted:#8698AB; --faint:#5C6E80;
  --amber:#F5A623; --mint:#2FD8A0; --red:#FF5D5D; --info:#4C86F9; --violet:#9B7DF0;
  --on-accent:#0A0E13;
  --grid:rgba(88,180,150,.05);
  --mon-bg:#060B10; --mon-line:#2FD8A0; --mon-glow:rgba(47,216,160,.55);
  --shadow:0 24px 60px -28px rgba(0,0,0,.75);
  --shadow-sm:0 10px 26px -16px rgba(0,0,0,.7);
  --hero-grad:radial-gradient(900px 480px at 8% -10%, rgba(76,134,249,.14), transparent 60%),
              radial-gradient(760px 420px at 100% 0%, rgba(245,166,35,.10), transparent 55%);
}
[data-theme="light"]{
  --bg:#EEF2F6; --surface:#FFFFFF; --surface-2:#F4F7FA; --surface-3:#EAF0F5;
  --border:#D8E0E8; --border-soft:#E6ECF1;
  --text:#0E1B26; --muted:#5A6B7A; --faint:#93A3B2;
  --amber:#C77A0A; --mint:#12A97A; --red:#DC2F42; --info:#2E6BE0; --violet:#7357D6;
  --on-accent:#FFFFFF;
  --grid:rgba(20,60,90,.05);
  --mon-bg:#0A1520; --mon-line:#2FD8A0; --mon-glow:rgba(47,216,160,.5);
  --shadow:0 22px 50px -30px rgba(20,50,80,.4);
  --shadow-sm:0 8px 22px -14px rgba(20,50,80,.28);
  --hero-grad:radial-gradient(900px 480px at 8% -10%, rgba(76,134,249,.12), transparent 60%),
              radial-gradient(760px 420px at 100% 0%, rgba(199,122,10,.10), transparent 55%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-b); font-size:16px; line-height:1.62; color:var(--text);
  background:var(--bg);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:44px 44px;
  text-align:left; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-h); line-height:1.15; letter-spacing:-.01em; font-weight:700}
a{color:inherit; text-decoration:none}
button{font-family:inherit; cursor:pointer}
svg{display:block}
.wrap{max-width:1220px; margin:0 auto; padding:0 26px}
.mono{font-family:var(--font-m); font-variant-numeric:tabular-nums}
::selection{background:var(--mint); color:#04121E}

/* ---------- шапка ---------- */
.topbar{position:sticky; top:0; z-index:60; background:color-mix(in srgb,var(--bg) 82%, transparent); backdrop-filter:blur(16px); border-bottom:1px solid var(--border)}
.topbar .wrap{display:flex; align-items:center; gap:24px; height:70px}
.brand{display:flex; align-items:center; gap:12px; flex:none}
.brand .mk{width:42px; height:42px; border-radius:12px; background:var(--surface-2); border:1px solid var(--border); display:grid; place-items:center; position:relative; overflow:hidden}
.brand .mk svg{width:26px; height:26px; color:var(--mint)}
.brand .mk::after{content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 120%, var(--mon-glow), transparent 70%); opacity:.6}
.brand .nm{font-family:var(--font-h); font-weight:800; font-size:21px; letter-spacing:-.02em; line-height:1}
.brand .nm i{font-style:normal; color:var(--mint)}
.brand small{display:block; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin-top:4px; font-family:var(--font-b); font-weight:600}
.nav{display:flex; gap:2px; margin-left:8px}
.nav a{padding:9px 14px; border-radius:9px; font-weight:600; font-size:14px; color:var(--muted); transition:.16s}
.nav a:hover{color:var(--text); background:var(--surface-2)}
.nav a.on{color:var(--mint); background:color-mix(in srgb,var(--mint) 12%,transparent)}
.search{flex:1; max-width:300px; margin-left:auto; display:flex; align-items:center; gap:9px; background:var(--surface-2); border:1px solid var(--border); border-radius:10px; padding:9px 14px; color:var(--faint); font-size:13.5px}
.search svg{width:16px; height:16px; flex:none}
.search input{border:0; outline:0; background:none; color:var(--text); font:inherit; width:100%}
.search kbd{font-family:var(--font-m); font-size:11px; border:1px solid var(--border); border-radius:5px; padding:1px 6px; color:var(--faint)}
.tbtns{display:flex; align-items:center; gap:10px; flex:none}
.icon-btn{width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:var(--surface-2); border:1px solid var(--border); color:var(--muted); transition:.16s}
.icon-btn:hover{color:var(--mint); border-color:var(--mint)}
.icon-btn svg{width:18px; height:18px}
[data-theme="dark"] .t-sun{display:block} [data-theme="dark"] .t-moon{display:none}
[data-theme="light"] .t-sun{display:none} [data-theme="light"] .t-moon{display:block}
.btn{display:inline-flex; align-items:center; gap:8px; border:0; border-radius:10px; font-weight:600; font-size:14px; padding:10px 18px; transition:.16s; font-family:var(--font-b)}
.btn svg{width:17px; height:17px}
.btn-ghost{background:none; border:1px solid var(--border); color:var(--text)}
.btn-ghost:hover{border-color:var(--mint); color:var(--mint)}
.btn-primary{background:var(--mint); color:var(--on-accent); font-weight:700}
.btn-primary:hover{filter:brightness(1.08); transform:translateY(-1px)}

/* ---------- экраны ---------- */
.screen{display:none}
.screen.active{display:block; animation:fade .3s ease-out}
@keyframes fade{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}

/* ---------- герой = кардиомонитор ---------- */
.hero{background:var(--hero-grad); border-bottom:1px solid var(--border)}
.hero .wrap{display:grid; grid-template-columns:1fr 1.02fr; gap:40px; padding:54px 26px 46px; align-items:center}
.status-pill{display:inline-flex; align-items:center; gap:9px; padding:7px 14px; border-radius:999px; background:var(--surface-2); border:1px solid var(--border); font-size:12.5px; font-weight:600; color:var(--muted)}
.status-pill .beat{width:8px; height:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 0 var(--mon-glow); animation:beat 1.4s infinite}
@keyframes beat{0%{box-shadow:0 0 0 0 var(--mon-glow)} 70%{box-shadow:0 0 0 8px transparent} 100%{box-shadow:0 0 0 0 transparent}}
.hero h1{font-size:52px; font-weight:800; letter-spacing:-.02em; margin:18px 0 16px; line-height:1.06}
.hero h1 em{font-style:normal; color:var(--mint)}
.hero .lead{font-size:17.5px; color:var(--muted); max-width:500px; margin-bottom:26px}
.hero-cta{display:flex; gap:13px; flex-wrap:wrap; align-items:center}
.hero-cta .btn{padding:13px 24px; font-size:15px}
.hero-verify{display:flex; align-items:center; gap:9px; font-size:13px; color:var(--muted); margin-top:20px}
.hero-verify svg{width:17px; height:17px; color:var(--mint); flex:none}

/* монитор */
.monitor{background:var(--mon-bg); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow); overflow:hidden; position:relative}
.monitor::before{content:""; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.012) 3px,rgba(255,255,255,.012) 4px); pointer-events:none}
.mon-top{display:flex; align-items:center; gap:12px; padding:13px 18px; border-bottom:1px solid rgba(255,255,255,.06)}
.mon-top .lbl{font-family:var(--font-m); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--mint)}
.mon-top .pt{font-family:var(--font-m); font-size:12px; color:#5f7488}
.mon-top .rec{margin-left:auto; display:flex; align-items:center; gap:7px; font-family:var(--font-m); font-size:11px; color:var(--red); letter-spacing:.1em}
.mon-top .rec .d{width:8px; height:8px; border-radius:50%; background:var(--red); animation:beat 1.2s infinite}
.ecg-wrap{position:relative; height:150px; overflow:hidden}
.ecg-wrap svg{position:absolute; inset:0; width:100%; height:100%}
.ecg-line{fill:none; stroke:var(--mon-line); stroke-width:2.2; filter:drop-shadow(0 0 6px var(--mon-glow)); stroke-linecap:round; stroke-linejoin:round}
/* бесшовный скролл: шаг = ширина одного удара (200 польз. ед.); темп спокойный ~55/мин */
@keyframes ecgScroll{from{transform:translateX(0)} to{transform:translateX(-200px)}}
#ecgGroup{animation:ecgScroll 1.15s linear infinite}
.ecg-scan{position:absolute; top:0; bottom:0; width:70px; right:0; background:linear-gradient(90deg,transparent,var(--mon-bg) 78%); pointer-events:none}
@media(prefers-reduced-motion:reduce){#ecgGroup{animation:none}}
.mon-vitals{display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.06)}
.vital{padding:15px 18px; border-right:1px solid rgba(255,255,255,.06)}
.vital:last-child{border-right:0}
.vital .vl{font-family:var(--font-m); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:#5f7488; display:flex; align-items:center; gap:6px}
.vital .vl .dot{width:7px; height:7px; border-radius:50%; background:var(--vc,var(--mint))}
.vital .vv{font-family:var(--font-m); font-size:30px; font-weight:600; color:var(--vc,var(--mint)); line-height:1.1; margin-top:5px; letter-spacing:-.02em}
.vital .vu{font-family:var(--font-m); font-size:11px; color:#5f7488; margin-left:3px}

/* ---------- секции ---------- */
.sec{padding:56px 0 8px}
.sec-h{display:flex; align-items:flex-end; gap:18px; margin-bottom:24px}
.sec-h .eyebrow{font-family:var(--font-m); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--mint); margin-bottom:9px; display:flex; align-items:center; gap:8px}
.sec-h .eyebrow::before{content:""; width:22px; height:1px; background:var(--mint)}
.sec-h h2{font-size:30px; font-weight:700}
.sec-h p{color:var(--muted); font-size:14.5px; max-width:480px; margin-top:6px}
.sec-h .right{margin-left:auto; flex:none}

/* табло отделений */
.wards{display:grid; grid-template-columns:repeat(auto-fill,minmax(238px,1fr)); gap:14px}
.ward{--wc:var(--d-ter); background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:18px; position:relative; overflow:hidden; transition:.17s; display:block}
.ward::before{content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--wc)}
.ward:hover{transform:translateY(-3px); border-color:var(--wc); box-shadow:0 14px 30px -20px color-mix(in srgb,var(--wc) 60%,transparent)}
.ward-top{display:flex; align-items:center; gap:11px; margin-bottom:14px}
.ward-ic{width:40px; height:40px; border-radius:11px; display:grid; place-items:center; background:color-mix(in srgb,var(--wc) 15%,transparent); color:var(--wc); flex:none}
.ward-ic svg{width:21px; height:21px}
.ward-code{font-family:var(--font-m); font-size:11px; color:var(--faint); letter-spacing:.08em}
.ward h3{font-size:17px; font-weight:700; font-family:var(--font-b); letter-spacing:-.01em}
.ward-desc{font-size:13px; color:var(--muted); margin:9px 0 14px; min-height:36px}
.ward-foot{display:flex; align-items:center; gap:14px; padding-top:12px; border-top:1px solid var(--border-soft); font-size:12px; color:var(--faint)}
.ward-foot b{font-family:var(--font-m); color:var(--text); font-weight:600}
.ward-foot .on{margin-left:auto; display:flex; align-items:center; gap:6px; color:var(--mint)}
.ward-foot .on .d{width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow:0 0 7px var(--mon-glow)}

/* клинический случай недели */
.case-feat{display:grid; grid-template-columns:1.35fr 1fr; gap:0; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm)}
.case-body{padding:30px 32px}
.case-tagrow{display:flex; align-items:center; gap:9px; margin-bottom:16px; flex-wrap:wrap}
.ctag{font-family:var(--font-m); font-size:11px; font-weight:500; padding:4px 10px; border-radius:6px; letter-spacing:.04em}
.ctag.dept{background:color-mix(in srgb,var(--d-car) 16%,transparent); color:var(--d-car)}
.ctag.week{background:color-mix(in srgb,var(--amber) 15%,transparent); color:var(--amber)}
.ctag.ecg{display:inline-flex; align-items:center; gap:6px; background:var(--surface-3); color:var(--muted)}
.case-body h3{font-size:25px; font-weight:700; margin-bottom:12px; line-height:1.22}
.case-anamnesis{font-size:14.5px; color:var(--muted); line-height:1.62}
.case-anamnesis b{color:var(--text); font-weight:600}
.case-meta{display:flex; align-items:center; gap:16px; margin-top:20px; font-size:13px; color:var(--faint)}
.case-meta .who{display:flex; align-items:center; gap:8px}
.case-meta .ava{width:28px; height:28px; border-radius:8px; background:linear-gradient(135deg,var(--d-car),#7a2d44); color:#fff; display:grid; place-items:center; font-weight:700; font-size:11px; font-family:var(--font-b)}
.case-meta .who b{color:var(--text); font-weight:600}
/* голосование-диагноз */
.case-poll{background:var(--surface-2); border-left:1px solid var(--border); padding:28px 28px}
.case-poll .pq{font-family:var(--font-m); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--mint); margin-bottom:4px}
.case-poll h4{font-size:17px; font-family:var(--font-b); font-weight:700; margin-bottom:16px}
.poll-opt{position:relative; border:1px solid var(--border); border-radius:10px; padding:11px 14px; margin-bottom:9px; cursor:pointer; overflow:hidden; transition:.15s; background:var(--surface)}
.poll-opt:hover{border-color:var(--mint)}
.poll-opt .fill{position:absolute; left:0; top:0; bottom:0; width:0; background:color-mix(in srgb,var(--mint) 14%,transparent); transition:width .6s cubic-bezier(.2,.8,.2,1); z-index:0}
.poll-opt.win .fill{background:color-mix(in srgb,var(--mint) 22%,transparent)}
.poll-opt .row{position:relative; z-index:1; display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:500}
.poll-opt .pct{margin-left:auto; font-family:var(--font-m); font-size:13px; font-weight:600; color:var(--muted); opacity:0; transition:.3s}
.case-poll.voted .poll-opt .pct{opacity:1}
.case-poll.voted .poll-opt{cursor:default}
.poll-opt .dotmark{width:15px; height:15px; border-radius:50%; border:2px solid var(--faint); flex:none}
.poll-opt.win .dotmark{border-color:var(--mint); background:var(--mint); box-shadow:inset 0 0 0 3px var(--surface)}
.poll-foot{font-size:12px; color:var(--faint); margin-top:12px; font-family:var(--font-m)}

/* дежурные инструменты (калькуляторы) */
.tools{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.tool{background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); padding:26px 28px; position:relative}
.tool-h{display:flex; align-items:center; gap:12px; margin-bottom:6px}
.tool-h .tic{width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:color-mix(in srgb,var(--tc,var(--info)) 15%,transparent); color:var(--tc,var(--info)); flex:none}
.tool-h .tic svg{width:20px; height:20px}
.tool-h h3{font-size:18px; font-weight:700; font-family:var(--font-b)}
.tool-h .tag{margin-left:auto; font-family:var(--font-m); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); border:1px solid var(--border); border-radius:6px; padding:3px 8px}
.tool > p{font-size:13px; color:var(--muted); margin-bottom:18px}
.field{margin-bottom:14px}
.field label{display:block; font-size:12.5px; color:var(--muted); margin-bottom:7px; font-weight:500}
.field label .v{float:right; font-family:var(--font-m); color:var(--tc,var(--info)); font-weight:600}
.seg{display:flex; gap:6px}
.seg button{flex:1; border:1px solid var(--border); background:var(--surface-2); color:var(--muted); border-radius:8px; padding:9px; font-size:13px; font-weight:600; transition:.14s}
.seg button.on{background:color-mix(in srgb,var(--tc,var(--info)) 16%,transparent); border-color:var(--tc,var(--info)); color:var(--tc,var(--info))}
input[type=range]{width:100%; accent-color:var(--tc,var(--info))}
.numrow{display:flex; align-items:center; gap:10px}
.numrow input[type=number]{width:100%; background:var(--surface-2); border:1px solid var(--border); border-radius:8px; color:var(--text); font-family:var(--font-m); font-size:15px; padding:10px 12px; outline:none}
.numrow input[type=number]:focus{border-color:var(--tc,var(--info))}
.tool-out{margin-top:18px; background:var(--surface-2); border:1px solid var(--border); border-radius:12px; padding:16px 18px; display:flex; align-items:center; gap:16px}
.tool-out .big{font-family:var(--font-m); font-size:32px; font-weight:600; color:var(--tc,var(--info)); line-height:1}
.tool-out .big small{font-size:14px; color:var(--muted); margin-left:4px}
.tool-out .interp{font-size:12.5px; color:var(--muted); line-height:1.5}
.tool-out .interp b{color:var(--text)}
.tool-out .stage{display:inline-block; margin-top:4px; font-family:var(--font-m); font-size:11px; font-weight:600; padding:3px 9px; border-radius:6px; background:color-mix(in srgb,var(--os,var(--mint)) 16%,transparent); color:var(--os,var(--mint))}
.tool-note{font-size:11px; color:var(--faint); margin-top:12px; line-height:1.5}

/* на смене сейчас */
.shift{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px}
.duty{display:flex; align-items:center; gap:13px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:14px 16px; transition:.15s}
.duty:hover{border-color:var(--dc,var(--mint))}
.duty .ava{width:44px; height:44px; border-radius:12px; flex:none; display:grid; place-items:center; font-weight:700; font-size:15px; color:#fff; font-family:var(--font-b); position:relative; background:linear-gradient(135deg,var(--dc,var(--mint)),color-mix(in srgb,var(--dc,var(--mint)) 55%,#000))}
.duty .ava .live{position:absolute; right:-3px; bottom:-3px; width:14px; height:14px; border-radius:50%; background:var(--mint); border:3px solid var(--surface)}
.duty .who{min-width:0; flex:1}
.duty .who b{display:block; font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.duty .who .role{font-size:12px; color:var(--muted); display:flex; align-items:center; gap:6px}
.duty .who .role .vf{color:var(--mint); display:inline-flex}
.duty .who .role .vf svg{width:12px; height:12px}
.duty .dept{font-family:var(--font-m); font-size:10.5px; letter-spacing:.06em; color:var(--dc,var(--mint)); padding:4px 8px; border-radius:6px; background:color-mix(in srgb,var(--dc,var(--mint)) 13%,transparent); flex:none}

/* CTA */
.cta{margin:64px 0 0; background:linear-gradient(120deg,var(--surface-2),var(--surface)); border:1px solid var(--border); border-radius:var(--r-lg); padding:40px 44px; display:flex; align-items:center; gap:30px; position:relative; overflow:hidden}
.cta::after{content:""; position:absolute; right:-40px; top:50%; transform:translateY(-50%); width:280px; height:280px; background:radial-gradient(circle,var(--mon-glow),transparent 68%); opacity:.4}
.cta h2{font-size:26px; font-weight:700; margin-bottom:7px}
.cta p{color:var(--muted); font-size:14.5px; max-width:560px}
.cta .btn{margin-left:auto; flex:none; padding:14px 26px; font-size:15px}

/* ---------- отделение (forumdisplay) ---------- */
.crumbs{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); padding:22px 0 0; flex-wrap:wrap}
.crumbs a{color:var(--muted); font-weight:500}
.crumbs a:hover{color:var(--mint)}
.crumbs svg{width:13px; height:13px; opacity:.5}
.crumbs .cur{color:var(--text); font-weight:600; pointer-events:none}
.ward-banner{--wc:var(--d-car); margin-top:16px; border:1px solid var(--border); border-left:3px solid var(--wc); border-radius:var(--r-lg); padding:28px 32px; background:linear-gradient(120deg,color-mix(in srgb,var(--wc) 10%,var(--surface)),var(--surface) 60%); position:relative; overflow:hidden}
.ward-banner .code{font-family:var(--font-m); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--wc)}
.ward-banner h1{font-size:34px; font-weight:800; margin:6px 0 8px}
.ward-banner p{color:var(--muted); font-size:14.5px; max-width:620px}
.ward-banner .st{display:flex; gap:26px; margin-top:18px}
.ward-banner .st b{font-family:var(--font-m); font-size:20px; display:block; font-weight:600}
.ward-banner .st span{font-size:12px; color:var(--faint)}
.listbar{display:flex; align-items:center; gap:12px; margin:26px 0 14px; flex-wrap:wrap}
.listbar h2{font-size:21px; font-weight:700}
.chips{display:flex; gap:7px; margin-left:8px}
.chip{font-size:12.5px; font-weight:600; padding:6px 13px; border-radius:8px; border:1px solid var(--border); background:var(--surface); color:var(--muted); transition:.14s}
.chip:hover{border-color:var(--mint); color:var(--mint)}
.chip.on{background:color-mix(in srgb,var(--mint) 14%,transparent); border-color:var(--mint); color:var(--mint)}
.listbar .btn{margin-left:auto}
.threads{display:flex; flex-direction:column; gap:9px}
.trow{--wc:var(--d-car); display:grid; grid-template-columns:auto 1fr auto auto; gap:16px; align-items:center; background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:15px 18px; transition:.15s}
.trow:hover{border-color:var(--wc); transform:translateX(3px)}
.trow .tk{width:44px; text-align:center; flex:none}
.trow .tk .kk{font-family:var(--font-m); font-size:10px; letter-spacing:.06em; color:var(--faint); text-transform:uppercase}
.trow .tk .icn{width:40px; height:40px; border-radius:11px; display:grid; place-items:center; background:color-mix(in srgb,var(--wc) 14%,transparent); color:var(--wc); margin:0 auto 4px}
.trow .tk .icn svg{width:19px; height:19px}
.trow .tm{min-width:0}
.trow .tm .tags{display:flex; gap:6px; margin-bottom:5px; flex-wrap:wrap}
.tt{font-size:10.5px; font-weight:600; padding:2px 8px; border-radius:5px; font-family:var(--font-m); letter-spacing:.03em}
.tt.razbor{background:color-mix(in srgb,var(--d-car) 15%,transparent); color:var(--d-car)}
.tt.srochno{background:color-mix(in srgb,var(--red) 16%,transparent); color:var(--red)}
.tt.resheno{background:color-mix(in srgb,var(--mint) 15%,transparent); color:var(--mint)}
.tt.expert{background:color-mix(in srgb,var(--amber) 15%,transparent); color:var(--amber)}
.trow .tm h4{font-size:15.5px; font-weight:700; font-family:var(--font-b); letter-spacing:-.01em; margin-bottom:3px}
.trow:hover .tm h4{color:var(--wc)}
.trow .tm p{font-size:12.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:560px}
.trow .au{display:flex; align-items:center; gap:9px; flex:none; width:160px}
.trow .au .ava{width:32px; height:32px; border-radius:9px; flex:none; display:grid; place-items:center; color:#fff; font-weight:700; font-size:11px; background:linear-gradient(135deg,var(--ac,var(--info)),color-mix(in srgb,var(--ac,var(--info)) 55%,#000))}
.trow .au .info{min-width:0; font-size:12px; line-height:1.35}
.trow .au .info b{display:block; color:var(--text); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.trow .au .info span{color:var(--faint)}
.trow .tn{flex:none; text-align:center; width:60px}
.trow .tn b{display:block; font-family:var(--font-m); font-size:16px; font-weight:600}
.trow .tn span{font-size:10.5px; color:var(--faint)}
.pager{display:flex; gap:6px; justify-content:center; padding:24px 0 60px}
.pager a{min-width:38px; height:38px; display:grid; place-items:center; border-radius:9px; padding:0 10px; border:1px solid var(--border); background:var(--surface); font-family:var(--font-m); font-size:13px; font-weight:600; color:var(--muted); transition:.14s}
.pager a:hover{border-color:var(--mint); color:var(--mint)}
.pager a.on{background:var(--mint); border-color:var(--mint); color:var(--on-accent)}

/* ---------- разбор (showthread) ---------- */
.thread-head{margin:18px 0 22px}
.thread-head .tags{display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap}
.thread-head h1{font-size:29px; font-weight:800; max-width:900px}
.thread-head .meta{display:flex; gap:18px; margin-top:12px; font-size:12.5px; color:var(--faint); flex-wrap:wrap}
.thread-head .meta b{color:var(--muted)}
/* карточка анамнеза */
.anamnesis-card{background:var(--surface); border:1px solid var(--border); border-left:3px solid var(--d-car); border-radius:var(--r); padding:20px 24px; margin-bottom:20px}
.anamnesis-card .ah{font-family:var(--font-m); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--d-car); margin-bottom:12px; display:flex; align-items:center; gap:8px}
.param-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px}
.param{background:var(--surface-2); border:1px solid var(--border-soft); border-radius:10px; padding:11px 13px}
.param .pl{font-size:11px; color:var(--faint); text-transform:uppercase; letter-spacing:.05em}
.param .pv{font-family:var(--font-m); font-size:16px; font-weight:600; margin-top:3px}
.param .pv.hi{color:var(--red)} .param .pv.ok{color:var(--mint)} .param .pv.warn{color:var(--amber)}

.posts{display:flex; flex-direction:column; gap:14px; margin-bottom:26px}
.post{display:grid; grid-template-columns:210px 1fr; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm)}
.post.expert{border-color:color-mix(in srgb,var(--amber) 45%,var(--border))}
.post.expert .pside{background:linear-gradient(180deg,color-mix(in srgb,var(--amber) 9%,var(--surface-2)),var(--surface-2))}
.pside{background:var(--surface-2); border-right:1px solid var(--border); padding:22px 18px; text-align:center}
.pside .ava{width:66px; height:66px; border-radius:18px; margin:0 auto 11px; display:grid; place-items:center; font-weight:700; font-size:22px; color:#fff; font-family:var(--font-b); position:relative; background:linear-gradient(135deg,var(--ac,var(--info)),color-mix(in srgb,var(--ac,var(--info)) 55%,#000))}
.pside .ava .vf{position:absolute; right:-4px; bottom:-4px; width:24px; height:24px; border-radius:50%; background:var(--mint); border:3px solid var(--surface-2); display:grid; place-items:center}
.pside .ava .vf svg{width:12px; height:12px; color:var(--on-accent)}
.pside .nm{font-weight:700; font-size:15px; font-family:var(--font-b)}
.pside .role{display:inline-flex; align-items:center; gap:5px; margin-top:7px; font-size:11px; font-weight:600; padding:4px 11px; border-radius:7px; font-family:var(--font-m); letter-spacing:.03em}
.role.doc{background:color-mix(in srgb,var(--mint) 15%,transparent); color:var(--mint)}
.role.res{background:color-mix(in srgb,var(--info) 15%,transparent); color:var(--info)}
.role.stud{background:color-mix(in srgb,var(--violet) 15%,transparent); color:var(--violet)}
.role.exp{background:color-mix(in srgb,var(--amber) 16%,transparent); color:var(--amber)}
.pside .spec{font-size:12px; color:var(--muted); margin-top:9px; line-height:1.5}
.pside .pstats{display:flex; justify-content:center; gap:14px; margin-top:13px; padding-top:13px; border-top:1px solid var(--border); font-size:11px; color:var(--faint)}
.pside .pstats b{display:block; font-family:var(--font-m); font-size:14px; color:var(--text); font-weight:600}
.pmain{padding:20px 26px; display:flex; flex-direction:column; min-width:0}
.pbar{display:flex; align-items:center; gap:12px; font-size:12px; color:var(--faint); padding-bottom:12px; border-bottom:1px solid var(--border); margin-bottom:15px}
.pbar .num{margin-left:auto; font-family:var(--font-m)}
.ptext{font-size:15px; line-height:1.72}
.ptext p+p{margin-top:12px}
.ptext .lead-dx{background:color-mix(in srgb,var(--amber) 9%,transparent); border:1px solid color-mix(in srgb,var(--amber) 26%,transparent); border-radius:10px; padding:12px 16px; margin:14px 0; font-size:14px}
.ptext .lead-dx b{color:var(--amber)}
.ptext ul{margin:12px 0 12px 4px; list-style:none}
.ptext ul li{position:relative; padding-left:22px; margin-bottom:7px; font-size:14.5px}
.ptext ul li::before{content:""; position:absolute; left:2px; top:9px; width:7px; height:7px; border-radius:2px; background:var(--mint)}
.expert-badge{margin-top:16px; display:flex; align-items:center; gap:10px; padding:11px 15px; border-radius:10px; background:color-mix(in srgb,var(--amber) 10%,transparent); border:1px solid color-mix(in srgb,var(--amber) 28%,transparent); color:var(--amber); font-weight:600; font-size:13px}
.expert-badge svg{width:17px; height:17px}
.pacts{display:flex; gap:8px; margin-top:auto; padding-top:16px; flex-wrap:wrap; align-items:center}
.pact{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--muted); border:1px solid var(--border); background:none; border-radius:8px; padding:7px 13px; transition:.14s}
.pact:hover{border-color:var(--mint); color:var(--mint)}
.pact.up:hover{border-color:var(--mint)}
.pact svg{width:14px; height:14px}
.pact .c{font-family:var(--font-m); font-weight:600}
.pact .spacer{flex:1}
.reply-box{background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); padding:22px 24px; margin-bottom:56px}
.reply-box h3{font-size:17px; font-weight:700; margin-bottom:6px; font-family:var(--font-b)}
.reply-box p.sub{font-size:12.5px; color:var(--muted); margin-bottom:14px}
.reply-box textarea{width:100%; min-height:100px; resize:vertical; background:var(--surface-2); border:1px solid var(--border); border-radius:12px; color:var(--text); font:inherit; font-size:14.5px; padding:13px 15px; outline:none}
.reply-box textarea:focus{border-color:var(--mint)}
.reply-row{display:flex; align-items:center; gap:14px; margin-top:14px; flex-wrap:wrap}
.reply-row .hint{font-size:12px; color:var(--faint); display:flex; align-items:center; gap:7px}
.reply-row .hint svg{width:15px; height:15px; color:var(--mint)}
.reply-row .btn{margin-left:auto}

/* ---------- футер ---------- */
.footer{background:var(--surface); border-top:1px solid var(--border); margin-top:24px}
.footer .wrap{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; padding:44px 26px 30px}
.footer .fb .brand{margin-bottom:12px}
.footer .fb p{font-size:13px; color:var(--muted); max-width:290px}
.footer h5{font-family:var(--font-m); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); margin-bottom:13px}
.footer ul{list-style:none; display:flex; flex-direction:column; gap:9px; font-size:14px}
.footer ul a{color:var(--muted)} .footer ul a:hover{color:var(--mint)}
.disclaimer{border-top:1px solid var(--border); padding:15px 26px; text-align:center; font-size:12px; color:var(--faint)}
.disclaimer b{color:var(--amber)}

@media(max-width:1000px){
  .hero .wrap{grid-template-columns:1fr}
  .case-feat{grid-template-columns:1fr}
  .case-poll{border-left:0; border-top:1px solid var(--border)}
  .tools{grid-template-columns:1fr}
  .post{grid-template-columns:1fr}
  .pside{border-right:0; border-bottom:1px solid var(--border)}
  .trow{grid-template-columns:auto 1fr auto}
  .trow .au{display:none}
  .nav,.search{display:none}
  .footer .wrap{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important}}

/* ============================================================
   PMS-BRIDGE — интеграция с MyBB (сброс дефолтов global.css, аватары, формы)
   ============================================================ */
body{text-align:left}
.wrap,.hero,.pmain,.ptext,.pbar,.thread-head,.trow,.trow .tm,.trow .tm h4,.trow .tm p,.posts,.shift,.wards,.ward,.ward-banner,.crumbs,.listbar,.reply-box{text-align:left}
.ptext p,.ptext li,.ptext ul,.ptext ol{text-align:left}
.pside{text-align:center}
#content{width:auto;padding:0}
/* global.css MyBB ставит a:hover underline — гасим (эффекты у нас свои) */
a,a:hover,a:active,a:focus{text-decoration:none}
.trow:hover .tm h4,.ward:hover h3{text-decoration:none}

/* дефолтные таблицы MyBB (вход, регистрация, редактор, поиск, ЛС) в тёмной теме */
.tborder{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);margin:16px auto}
.thead{background:var(--surface-3)!important;color:var(--text)!important;padding:12px 16px;font-family:var(--font-h);font-weight:700;border-bottom:1px solid var(--border)}
.thead a,.thead strong{color:var(--text)!important}
.tcat{background:var(--surface-2)!important;color:var(--muted)!important;padding:9px 14px;font-weight:600;font-size:13px}
.tcat a{color:var(--text)!important}
.trow1,.trow2{background:var(--surface)!important;color:var(--text);padding:11px 14px;border-top:1px solid var(--border-soft)}
.trow_shaded{background:color-mix(in srgb,var(--amber) 8%,var(--surface))!important}
table.tborder td{border-color:var(--border-soft)}
.smalltext{color:var(--muted)}
fieldset{border:1px solid var(--border);border-radius:12px;padding:14px 16px}
legend{color:var(--muted);font-family:var(--font-m);font-size:12px}
input.textbox,textarea,select{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;color:var(--text);font:inherit;font-size:14px;padding:9px 12px;outline:none}
input.textbox:focus,textarea:focus,select:focus{border-color:var(--mint)}
.button,input[type=submit],button.button{background:var(--mint);color:var(--on-accent);border:0;border-radius:9px;font-family:var(--font-b);font-weight:700;font-size:13.5px;padding:10px 20px;cursor:pointer}
.button:hover,input[type=submit]:hover{filter:brightness(1.08)}
/* цитаты MyBB */
blockquote{margin:12px 0;padding:12px 16px;border-left:3px solid var(--mint);border-radius:0 10px 10px 0;background:var(--surface-2);color:var(--muted);font-size:14px}
blockquote cite{display:block;color:var(--mint);font-style:normal;font-weight:700;font-size:12px;margin-bottom:5px;font-family:var(--font-m)}
.codeblock,.code{background:var(--mon-bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-family:var(--font-m);font-size:13px;color:var(--text)}
/* popup-меню MyBB */
.popup_menu{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.popup_menu .popup_item{background:var(--surface);color:var(--text)}
.popup_menu .popup_item:hover{background:var(--surface-2)}
/* пагинация MyBB (класс .pagination поверх нашего .pager) */
.pagination{display:flex;gap:6px;justify-content:center;align-items:center;padding:24px 0 56px;flex-wrap:wrap}
.pagination .pages{color:var(--muted);font-size:12.5px;margin-right:8px;font-family:var(--font-m)}
.pagination a,.pagination .pagination_current{min-width:38px;height:38px;display:inline-grid;place-items:center;border-radius:9px;padding:0 10px;border:1px solid var(--border);background:var(--surface);font-family:var(--font-m);font-size:13px;font-weight:600;color:var(--muted)}
.pagination a:hover{border-color:var(--mint);color:var(--mint)}
.pagination .pagination_current{background:var(--mint);border-color:var(--mint);color:var(--on-accent)}
/* тело поста: длинные слова/картинки */
.ptext{overflow-wrap:break-word}
.ptext img{max-width:100%;height:auto;border-radius:8px}
.trow .tm h4{overflow-wrap:anywhere}
/* низ страницы MyBB */
#debug,.bottommenu{display:none}

/* PMS-BRIDGE-2 — роль фельдшера + плашка «решение» + аноним */
.role.para{background:color-mix(in srgb,var(--d-ped) 15%,transparent);color:var(--d-ped)}
.role.anon{background:color-mix(in srgb,var(--faint) 20%,transparent);color:var(--muted)}
.solution-badge{margin-top:16px;display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:10px;background:color-mix(in srgb,var(--mint) 10%,transparent);border:1px solid color-mix(in srgb,var(--mint) 30%,transparent);color:var(--mint);font-weight:600;font-size:13px}
.solution-badge svg{width:17px;height:17px}
.ava.anon{background:repeating-linear-gradient(45deg,var(--faint),var(--faint) 6px,color-mix(in srgb,var(--faint) 70%,#000) 6px,color-mix(in srgb,var(--faint) 70%,#000) 12px)!important}

/* PMS-BRIDGE-3 — аватар-ФОТО не должны вылезать за рамку.
   Без явных размеров <img> рендерится в натуральные 128px и спиливается из круглого блока
   (постбит .pside .ava, список тем .trow .au .ava, дежурная смена .duty .ava). */
.ava img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.pside .ava,.trow .au .ava,.duty .ava,.case-meta .ava{overflow:visible}
.pside .ava img{border-radius:18px}
.trow .au .ava img{border-radius:9px}
.duty .ava img{border-radius:12px}
