.co-*/.app/.cl) пришли из
   content.html как есть, без переименования (чтобы не трогать юридический текст) —
   поэтому здесь они скоупятся через предок .tp-doc, а не через префикс. Всё, что
   пишется заново в index.php (шапка блока, поиск, боковая навигация, breadcrumbs,
   плашка замка, кнопка "наверх") — уже со своим tp- префиксом. */

#tp-prog{position:fixed;top:0;left:0;height:3px;background:var(--orange);width:0;z-index:60;transition:width .1s}
.tp-crumbs{font-size:13px;color:var(--mute);padding:16px 0 0}
.tp-crumbs a{color:var(--mute);text-decoration:none}
.tp-hero{padding:18px 0 26px;border-bottom:1px solid var(--line)}
.tp-hero h1{font-size:34px;line-height:1.2;margin:6px 0 10px;letter-spacing:-.3px}
.tp-hero .tp-sub{color:var(--mute);max-width:760px;margin:0 0 18px}
.tp-meta{display:flex;flex-wrap:wrap;gap:10px}
.tp-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--steel);
border-radius:999px;padding:7px 14px;font-size:13px}
.tp-chip b{font-weight:700}
.tp-chip.ok{background:var(--green-l);border-color:#BFE3D2;color:var(--green)}
.tp-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);
position:sticky;top:68px;background:#fff;z-index:40}
.tp-tools input[type=search]{flex:1;min-width:220px;max-width:420px;border:1px solid var(--line);border-radius:var(--radius);
padding:10px 14px;font:inherit;font-size:14px;outline:none}
.tp-tools input[type=search]:focus{border-color:var(--blue)}
.tp-tg{display:inline-flex;align-items:center;gap:9px;font-size:14px;cursor:pointer;user-select:none;color:var(--ink)}
.tp-tg input{display:none}
.tp-tg .tp-box{width:38px;height:22px;border-radius:999px;background:#CBD6E0;position:relative;transition:.15s}
.tp-tg .tp-box:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}
.tp-tg input:checked+.tp-box{background:var(--orange)}
.tp-tg input:checked+.tp-box:after{transform:translateX(16px)}
.tp-btn{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:9px 15px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}
.tp-btn:hover{border-color:var(--blue);color:var(--blue)}
.tp-hits{font-size:13px;color:var(--mute)}
.tp-layout{display:grid;grid-template-columns:290px 1fr;gap:44px;align-items:start;padding:30px 0 70px}
.tp-aside{position:sticky;top:150px;max-height:calc(100vh - 170px);overflow:auto;padding-right:6px}
.tp-aside .tp-cap{font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:var(--mute);font-weight:700;margin:0 0 10px}
.tp-ni{margin-bottom:1px}
.tp-ni a.tp-top{display:flex;gap:10px;align-items:baseline;text-decoration:none;color:var(--ink);font-size:14.5px;
padding:7px 10px;border-radius:8px;border-left:3px solid transparent;line-height:1.35}
.tp-ni a.tp-top i{font-style:normal;color:var(--mute);font-size:12.5px;min-width:22px;font-weight:700}
.tp-ni a.tp-top:hover{background:var(--steel)}
.tp-ni a.tp-top.act{background:#EAF3FA;border-left-color:var(--blue);color:var(--blue);font-weight:600}
.tp-ni a.tp-top.act i{color:var(--blue)}
.tp-ni a.tp-sub{display:block;font-size:13.5px;color:var(--mute);text-decoration:none;padding:5px 10px 5px 42px;border-radius:8px}
.tp-ni a.tp-sub:hover{color:var(--blue);background:var(--steel)}
.tp-main{min-width:0}

.tp-doc .sec{padding:0 0 40px;scroll-margin-top:150px}
.tp-doc .sec h2{font-size:25px;line-height:1.25;margin:34px 0 16px;display:flex;gap:13px;align-items:baseline;letter-spacing:-.2px}
.tp-doc .sec h2 i{font-style:normal;font-size:14px;font-weight:700;color:#fff;background:var(--blue);border-radius:7px;
padding:5px 9px;min-width:34px;text-align:center;flex:none;line-height:1.1}
.tp-doc .sec.app h2 i{background:var(--navy)}
.tp-doc .sec h3{font-size:17.5px;margin:28px 0 10px;color:var(--navy)}
.tp-doc .sec p{margin:0 0 12px}
.tp-doc .sec p.cl{scroll-margin-top:160px}
.tp-doc .sec p.hl{background:#FFF6DA;border-left:3px solid #F0C64E;padding:11px 14px;border-radius:0 8px 8px 0;margin-bottom:14px}
.tp-doc.tp-nohl .sec p.hl{background:transparent;border-left-color:transparent;padding:0;border-radius:0;margin-bottom:12px}
.tp-doc .sec ol,.tp-doc .sec ul{margin:0 0 14px;padding-left:22px}
.tp-doc .sec li{margin-bottom:7px}
.tp-doc .sec em{color:var(--mute);font-style:italic}
.tp-doc table{width:100%;border-collapse:collapse;margin:6px 0 20px;font-size:14.5px;display:block;overflow-x:auto}
.tp-doc thead th{background:var(--steel);text-align:left;font-weight:700;font-size:13px;padding:11px 12px;border-bottom:2px solid var(--line);white-space:nowrap}
.tp-doc td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tp-doc tbody tr:hover{background:#FAFCFE}
.tp-doc mark{background:#FFE9A8;padding:1px 2px;border-radius:3px}
.tp-doc td.tp-mask{color:#A8B6C2;letter-spacing:2px}
.tp-doc .calc{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:26px 0 10px;background:#fff}
.tp-doc .calc-h{background:var(--steel);padding:15px 18px;border-bottom:1px solid var(--line)}
.tp-doc .calc-t{display:block;font-weight:700;font-size:16.5px}
.tp-doc .calc-s{display:block;font-size:13px;color:var(--mute);margin-top:3px}
.tp-doc .calc-b{display:grid;grid-template-columns:1fr 300px}
.tp-doc .calc-in{padding:18px;border-right:1px solid var(--line)}
.tp-doc .calc-in label{display:block;font-size:13px;color:var(--mute);margin-bottom:14px}
.tp-doc .calc-in select,.tp-doc .calc-in input[type=text]{display:block;width:100%;margin-top:6px;border:1px solid var(--line);
border-radius:9px;padding:10px 12px;font:inherit;font-size:15px;color:var(--ink);background:#fff}
.tp-doc .calc-cond label{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);
padding:9px 11px;border:1px solid var(--line);border-radius:9px;margin-bottom:8px;cursor:pointer}
.tp-doc .calc-cond label:hover{border-color:var(--blue)}
.tp-doc .calc-cond input{margin:3px 0 0}
.tp-doc .calc-cond .pp{margin-left:auto;color:var(--mute);font-size:13px;white-space:nowrap;font-weight:600}
.tp-doc .calc-out{padding:18px;background:#FCFDFE}
.tp-doc .co-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:7px 0;border-bottom:1px dashed var(--line)}
.tp-doc .co-row b{font-variant-numeric:tabular-nums}
.tp-doc .co-row.big b{font-size:21px;color:var(--blue)}
.tp-doc .co-row.tot{border-bottom:none;margin-top:6px;padding-top:11px;border-top:2px solid var(--line);font-weight:700}
.tp-doc .co-note{font-size:12.5px;color:var(--mute);margin:12px 0 0;line-height:1.5}

.tp-lock{display:flex;gap:12px;align-items:flex-start;background:var(--steel);border:1px dashed #C3D3E0;
border-radius:10px;padding:13px 16px;margin:6px 0 16px;font-size:14px;color:var(--navy)}
.tp-lock b{display:block;font-size:14.5px;margin-bottom:2px}
.tp-lock span{color:var(--mute);font-size:13px;display:block}
.tp-lock .tp-ico{font-size:17px;line-height:1.2}
.tp-lock a{color:var(--blue);font-weight:600;text-decoration:none;white-space:nowrap;margin-left:auto;align-self:center}
.tp-up{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;
border:none;font-size:19px;cursor:pointer;display:none;z-index:45;box-shadow:0 4px 14px rgba(10,74,120,.28)}
.tp-up.show{display:block}
.tp-mobnav{display:none}
@media(max-width:980px){
.tp-layout{grid-template-columns:1fr;gap:0;padding-top:14px}
.tp-aside{display:none}
.tp-mobnav{display:block;margin-bottom:20px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tp-mobnav summary{padding:13px 16px;font-weight:600;cursor:pointer;background:var(--steel);font-size:15px}
.tp-mobnav .tp-in{padding:8px;max-height:60vh;overflow:auto}
.tp-doc .calc-b{grid-template-columns:1fr}
.tp-doc .calc-in{border-right:none;border-bottom:1px solid var(--line)}
.tp-hero h1{font-size:26px}
.tp-doc .sec h2{font-size:21px}
}
@media print{
.tp-tools,.tp-aside,.tp-up,.tp-crumbs,.tp-mobnav,#tp-prog{display:none!important}
.tp-layout{display:block;padding:0}
.tp-doc .sec{page-break-inside:auto}
.tp-doc .sec h2{page-break-after:avoid}
.tp-doc .calc{display:none}
}
