/* ВВ Знания. Шрифты лежат на сервере (assets/fonts): Villula — для коротких заголовков и цифр, Euclid Circular B — для текста. */
@font-face{font-family:"Villula";src:url(fonts/Villula-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Euclid";src:url(fonts/EuclidCircularB-Regular-WebXL.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Euclid";src:url(fonts/EuclidCircularB-Medium-WebXL.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Euclid";src:url(fonts/EuclidCircularB-Semibold-WebXL.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Euclid";src:url(fonts/EuclidCircularB-Bold-WebXL.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --text:"Euclid",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --disp:"Villula","Euclid",system-ui,sans-serif;
  --ink:#1A2420;--ink2:#5E6B63;--line:#E5E9E6;--soft:#F4F6F4;--paper:#fff;
  --green:#1F7A36;--deep:#14502B;--cover:#B7E3C3;
  --bad:#C0392B;--bad-bg:#FBE9E6;--ok-bg:#E8F2E9;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.45 var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:6px}

.app{max-width:560px;margin:0 auto;padding:0 20px calc(96px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:24px}
body.wide{background:var(--soft)}
body.wide .app{max-width:1480px;padding:20px 20px 40px}
h1{margin:0;font:400 28px/1.05 var(--disp)}
h2{margin:0;font-size:19px;font-weight:700;line-height:1.2}
.disp{font-family:var(--disp);font-weight:400}
.sub,.muted{color:var(--ink2)}
.sub{font-size:15px}
.small{font-size:14px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* верхняя полоса */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:calc(16px + env(safe-area-inset-top))}
.top.start{align-items:flex-start}
.brand{display:flex;align-items:center;gap:10px;font:400 22px/1 var(--disp)}
.mark{width:30px;height:30px;border-radius:9px;background:var(--deep);display:flex;align-items:center;justify-content:center;flex:none}
.avatar{width:42px;height:42px;border-radius:21px;background:var(--soft);border:1px solid var(--line);color:var(--deep);display:flex;align-items:center;justify-content:center;font:400 20px/1 var(--disp);flex:none}
.avatar.big{width:64px;height:64px;border-radius:32px;font-size:30px}

/* обложка курса, везде одна пропорция 2:1 */
.cv{position:relative;aspect-ratio:2/1;background:var(--cover);overflow:hidden}
.cv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cv .cc{position:absolute;left:-30px;top:-40px;width:120px;height:120px;border-radius:60px;background:#fff;opacity:.35}
.cv .cn{position:absolute;right:10px;bottom:-12px;font:400 80px/1 var(--disp);color:#fff;opacity:.7}
.cv.sm .cn{font-size:52px;right:6px;bottom:-8px}.cv.sm .cc{width:70px;height:70px;left:-20px;top:-26px}
.bd{position:absolute;left:8px;top:8px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:9px;line-height:1.2}
.bd.dn{background:var(--deep);color:#fff}.bd.av{background:#fff;color:var(--ink)}

/* блок «Продолжить» */
.hero{position:relative;border-radius:26px;background:var(--deep);color:#fff;padding:18px;display:flex;flex-direction:column;gap:16px}
.hero .hd{display:flex;gap:14px;align-items:center}
.hero .th{width:132px;flex:none;border-radius:12px;overflow:hidden}
.hero .lab{font-size:14px;font-weight:500;opacity:.75}
.hero .ttl{font:400 22px/1.1 var(--disp);margin-top:4px;overflow-wrap:anywhere}
.hero .prog{display:flex;align-items:center;gap:12px}
.hero .track{flex:1;height:8px;border-radius:4px;background:rgba(255,255,255,.22);overflow:hidden}
.hero .track i{display:block;height:100%;border-radius:4px;background:#fff;transform-origin:left;animation:grow .9s .15s cubic-bezier(.2,.7,.2,1) both}
.hero .prog b{font-size:15px;font-weight:600;min-width:42px;text-align:right}
.hero .btn{background:#fff;color:var(--deep);position:relative;z-index:2}
.hero .cover-link{position:absolute;inset:0;border-radius:26px;z-index:1}
.hero .cover-link:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.hero.calm{background:var(--soft);color:var(--ink)}

/* результаты */
.rowlink{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:19px;font-weight:600;line-height:1.2;min-height:44px}
.ic{flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ic-chev{color:var(--ink2);stroke-width:2.4}
.snap{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 4px;scrollbar-width:none}
.snap::-webkit-scrollbar{display:none}
.rc{flex:none;width:310px;scroll-snap-align:start;background:var(--soft);border-radius:22px;padding:18px 20px 22px;display:flex;flex-direction:column;gap:16px}
.snap.one .rc{width:100%}
.rc .h{font-size:16px;font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--line)}
.rc .body{display:flex;align-items:center;gap:24px}
.leg div{display:flex;align-items:baseline;gap:10px;color:var(--ink2);font-size:15px;margin:4px 0}
.leg b{font:400 28px/1 var(--disp);min-width:30px;color:var(--ink)}
.leg .g b{color:var(--green)}
.donut .arc{animation:draw 1s .2s cubic-bezier(.2,.7,.2,1) both}

/* витрина курсов */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(min-width:520px){.grid{grid-template-columns:repeat(3,1fr)}}
.card.c{padding:0;gap:0;overflow:hidden}
.card.c .b{padding:12px 12px 14px;display:flex;flex-direction:column;gap:10px;flex:1}
.card.c .t{font-size:16px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.pbar{display:flex;align-items:center;gap:8px;margin-top:auto}
.pbar .tr{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.pbar i{display:block;height:100%;border-radius:3px;background:var(--green);transform-origin:left;animation:grow .8s .1s both}
.pbar b{font-size:13px;font-weight:600}

/* вкладки и поиск */
.tabs2{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin:0 -20px;padding:0 20px}
.tabs2::-webkit-scrollbar{display:none}
.tabs2 a{flex:none;min-height:48px;display:flex;align-items:center;color:var(--ink2);font-weight:500;border-bottom:3px solid transparent;margin-bottom:-1px}
.tabs2 a.on{color:var(--ink);font-weight:700;border-color:var(--green)}
.search{position:relative}
.search .ic{position:absolute;left:16px;top:16px;color:var(--ink2)}
.search input[type=search]{padding-left:46px;background:var(--soft);border-color:transparent}
.search input[type=search]:focus{background:#fff;border-color:var(--green)}

/* формы и кнопки */
input[type=text],input[type=password],input[type=search],input[type=email],input[type=tel],input[type=number],input[type=file],textarea,select{width:100%;min-height:52px;border-radius:14px;border:1.5px solid #CDD5CF;background:#fff;padding:10px 16px;font:inherit;color:var(--ink)}
select{-webkit-appearance:none;appearance:none;height:52px;padding-right:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.5l6 6 6-6' fill='none' stroke='%235E6B63' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(31,122,54,.18)}
textarea{min-height:110px}
label{display:flex;flex-direction:column;gap:7px;font-size:15px;font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 24px;border-radius:16px;border:none;background:var(--green);color:#fff;font:600 17px var(--text);cursor:pointer;transition:transform .08s}
.btn:active{transform:scale(.98)}
.btn.sec{background:var(--soft);color:var(--deep)}
.btn.danger{background:var(--bad-bg);color:var(--bad)}
.btn.sm{min-height:42px;padding:0 16px;font-size:15px;border-radius:12px}
.btn.block{width:100%}
.err{background:var(--bad-bg);color:#7a1a14;padding:12px 16px;border-radius:12px;font-size:15px}
.ok{background:var(--ok-bg);color:#0d4a25;padding:12px 16px;border-radius:12px;font-size:15px}
.empty{padding:36px 8px;text-align:center;color:var(--ink2);display:flex;flex-direction:column;gap:6px;align-items:center}
.empty b{color:var(--ink);font-size:18px}

.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px}
.row{display:flex;align-items:center;gap:12px}
.between{justify-content:space-between}

/* страница курса */
.cover-bleed{margin:0 -20px}
.back{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600;color:var(--green)}
.facts{margin:0;display:flex;flex-direction:column}
.facts div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line)}
.facts dt{color:var(--ink2)}.facts dd{margin:0;font-weight:600}
.desc{margin:0;max-width:34em;color:#2F3D34;line-height:1.5}

/* профиль */
.sec-h{font-weight:700;font-size:19px;margin-bottom:6px}
.info{padding:12px 0;border-top:1px solid var(--line)}
.info .l{color:var(--ink2);font-size:14px}
.info .v{font-size:17px;font-weight:500;margin-top:2px;overflow-wrap:anywhere}
.item{border-top:1px solid var(--line);min-height:56px;display:flex;align-items:center;justify-content:space-between;font-weight:500;font-size:17px}
details.item2{border-top:1px solid var(--line)}
details.item2 summary{list-style:none;min-height:56px;display:flex;align-items:center;justify-content:space-between;font-weight:500;font-size:17px;cursor:pointer}
details.item2 summary::-webkit-details-marker{display:none}
details.item2[open] summary .ic-chev{transform:rotate(90deg)}
details.item2 form{display:flex;flex-direction:column;gap:14px;padding:4px 0 20px}

/* нижняя навигация */
.bnav{position:fixed;left:0;right:0;bottom:0;z-index:10;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center}
.bnav .in{display:flex;width:100%;max-width:560px}
.bnav a{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:68px;color:var(--ink2);font-size:13px;font-weight:500}
.bnav svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.bnav a.on{color:var(--deep);font-weight:600}
.bnav a.on svg{fill:#E8EFE9}
.bnav a.on::before{content:"";position:absolute;top:-1px;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--green)}

/* вход */
body.loginpg{background:var(--deep)}
.loginpg .app{padding:0;gap:0;min-height:100dvh;max-width:560px}
.lhero{color:#fff;padding:calc(60px + env(safe-area-inset-top)) 28px 40px;display:flex;flex-direction:column;gap:14px}
.lhero .mark{width:48px;height:48px;border-radius:14px;background:#fff}
.lhero h1{font-size:36px;max-width:9em}
.lhero p{margin:0;opacity:.75;font-size:17px;max-width:20em}
.sheet{flex:1;background:#fff;border-radius:28px 28px 0 0;padding:30px 24px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px;align-content:start}
.sheet .help{margin:0;font-size:14px}
.sheet .help a{color:var(--green);font-weight:600;text-decoration:underline}

/* плеер */
body.player{overflow:hidden}
.ptop{position:fixed;left:0;right:0;top:0;height:56px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 12px 0 4px;z-index:5}
.ptop a{width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;color:var(--deep);flex:none}
.ptop a svg{stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ptop .pt{flex:1;min-width:0;font-weight:600;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#savestate{white-space:nowrap;flex:none;font-size:13px}
#frame{position:fixed;left:0;right:0;top:56px;bottom:0;width:100%;height:calc(100dvh - 56px);border:0;background:#fff}

/* админка */
.admin-top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.tabs{display:flex;gap:6px}
.tabs a{padding:10px 16px;border-radius:12px;background:#fff;font-weight:500;font-size:15px;border:1px solid var(--line)}
.tabs a.on{background:var(--deep);color:#fff;border-color:var(--deep);font-weight:600}
table{width:100%;border-collapse:collapse;background:#fff;font-size:15px}
th,td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--soft);font-size:14px;font-weight:600;color:var(--ink2)}
.tablewrap{overflow-x:auto;border-radius:16px;border:1px solid var(--line)}
.two{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:800px){.two{grid-template-columns:1fr 1fr}}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.filters input[type=search]{flex:1;min-width:200px;max-width:340px}
.filters select{width:auto;min-width:160px}
.pager{display:flex;gap:6px;flex-wrap:wrap}
.pager a,.pager span{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:500}
.pager .on{background:var(--deep);border-color:var(--deep);color:#fff;font-weight:600}
.pill{display:inline-block;padding:3px 10px;border-radius:10px;font-size:13px;font-weight:600;background:var(--ok-bg);color:var(--deep)}
.pill.off{background:var(--soft);color:var(--ink2)}
.inline{display:inline}
code,.mono{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--soft);padding:2px 6px;border-radius:6px}

@keyframes grow{from{transform:scaleX(0)}}
@keyframes draw{from{stroke-dasharray:0 999}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- админка: каркас ---------- */
.adm{display:flex;gap:24px;align-items:flex-start}
.adm-side{width:232px;flex:none;position:sticky;top:20px;background:#fff;border-radius:20px;padding:18px 12px;display:flex;flex-direction:column;gap:18px;min-height:calc(100vh - 40px)}
.adm-brand{display:flex;align-items:center;gap:10px;padding:0 8px;font-weight:700;font-size:17px;line-height:1.15}
.adm-side nav{display:flex;flex-direction:column;gap:4px}
.adm-side nav a,.adm-out{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 12px;border-radius:12px;font-weight:500;color:var(--ink2)}
.adm-side nav a:hover,.adm-out:hover{background:var(--soft)}
.adm-side nav a.on{background:var(--ok-bg);color:var(--deep);font-weight:700}
.adm-side svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.adm-out{margin-top:auto}
.adm-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.adm-main>h1{font-size:26px}
.adm-body{display:flex;gap:16px;align-items:flex-start}
.adm-filters{width:236px;flex:none;display:flex;flex-direction:column;gap:12px}
.fcard{background:#fff;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.fcard .fh{font-weight:700;font-size:15px;margin-bottom:6px}
.fi{position:relative;display:flex;align-items:center;gap:10px;min-height:34px;font-size:15px;cursor:pointer}
.fi input{position:absolute;opacity:0;width:0;height:0}
.chk{width:20px;height:20px;flex:none;border-radius:6px;border:1.5px solid #B9C4BC;background:#fff;display:inline-flex;align-items:center;justify-content:center}
input:checked+.chk{background:var(--green);border-color:var(--green)}
input:checked+.chk::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
input:focus-visible+.chk{outline:3px solid var(--green);outline-offset:2px}
.fi .n{margin-left:auto;color:var(--ink2);font-size:13px}
.fcard details summary{cursor:pointer;color:var(--green);font-weight:700;font-size:15px;min-height:34px;display:flex;align-items:center;list-style:none}
.fcard details summary::-webkit-details-marker{display:none}
.fcard .reset{color:var(--green);font-weight:700;font-size:14px}
.adm-panel{background:#fff;border-radius:20px;min-width:0;flex:1;position:relative}
.adm-bar{display:flex;align-items:center;gap:16px;padding:18px 22px 10px;flex-wrap:wrap}
.adm-bar .cnt{color:var(--ink2);font-size:15px;margin-right:auto}
.lnk{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--green);cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:40px}
.adm-search{flex:1;max-width:560px;position:relative}
.adm-search input{border-radius:26px;padding-left:46px;background:#fff}
.adm-search svg{position:absolute;left:16px;top:16px;stroke:var(--ink2);fill:none;stroke-width:2;stroke-linecap:round}
.menu{position:relative}
.menu>summary{list-style:none;cursor:pointer;font-weight:700;color:var(--green);min-height:40px;display:inline-flex;align-items:center;gap:6px}
.menu>summary::-webkit-details-marker{display:none}
.menu>summary::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px)}
.mbox{position:absolute;right:0;top:100%;margin-top:6px;z-index:20;background:#fff;border-radius:14px;box-shadow:0 8px 28px rgba(26,36,32,.16);border:1px solid var(--line);padding:6px 0;min-width:250px}
.mbox a,.mbox button{display:block;width:100%;text-align:left;background:none;border:0;font:inherit;font-size:15px;padding:11px 18px;cursor:pointer;color:var(--ink);white-space:nowrap}
.mbox a:hover,.mbox button:hover{background:var(--soft)}
.mbox .bad{color:var(--bad)}
.pnl{margin:0 22px 14px;padding:18px;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;gap:12px}
.js .pnl.js-h{display:none}
.pnl h2{font-size:17px}
.pnl .grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.pnl label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.pnl .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.adm-msg{margin:0 22px 12px}
.bulk{margin:0 22px 8px;background:var(--green);color:#fff;border-radius:12px;padding:6px 10px 6px 16px;display:none;align-items:center;gap:6px;font-size:15px;flex-wrap:wrap}
.bulk.on{display:flex}
.bulk b{margin-right:10px}
.bulk button{background:none;border:0;color:#fff;font:inherit;font-weight:600;padding:8px 12px;border-radius:10px;cursor:pointer}
.bulk button:hover{background:rgba(255,255,255,.16)}
.bulk .clr{margin-left:auto;opacity:.85}
.adm-panel table{border-radius:0;background:none}
.adm-panel th:first-child,.adm-panel td:first-child{padding-left:22px}
.adm-panel th:last-child,.adm-panel td:last-child{padding-right:18px}
.adm-panel tr.sel td{background:#F1F8F2}
.adm-panel td{vertical-align:middle}
.adm-panel .tablewrap{border:0;border-radius:0;border-top:1px solid var(--line)}
.st{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:700;background:var(--ok-bg);color:var(--deep);white-space:nowrap}
.st.o{background:var(--soft);color:var(--ink2)}
.tag{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:8px;font-size:12px;font-weight:700;background:var(--ok-bg);color:var(--deep);vertical-align:2px}
.dots{position:relative;display:inline-block}
.dots>summary{list-style:none;cursor:pointer;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.dots>summary::-webkit-details-marker{display:none}
.dots>summary:hover,.dots[open]>summary{background:var(--soft)}
.dots>summary i{width:4px;height:4px;border-radius:50%;background:var(--ink2);margin:0 1.5px}
.dots .mbox{min-width:210px}
.adm-foot{display:flex;align-items:center;gap:14px;padding:16px 22px 22px;flex-wrap:wrap}
.pager{gap:0;flex-wrap:nowrap;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pager a,.pager span{border:0;border-radius:0;background:#fff;height:42px;min-width:42px;font-size:15px}
.pager a:hover{background:var(--soft)}
.pager .dis{color:#B9C4BC}
.pager .on{background:var(--deep);color:#fff}
.adm-foot select{width:auto;height:42px;min-height:42px;padding-right:38px;background-position:right 14px center;border-radius:12px;border:1px solid var(--line)}
.adm-foot .hint{margin-left:auto;font-size:13px;color:var(--ink2)}
.thm{display:block;width:92px;flex:none;border-radius:8px;overflow:hidden}
.thm .cv{border-radius:8px}
.thm .cn{font-size:20px}
.crs{display:flex;align-items:center;gap:14px}
.bar{display:flex;align-items:center;gap:10px;min-width:130px}
.bar .tr{flex:1;height:8px;border-radius:4px;background:var(--soft);overflow:hidden}
.bar .tr i{display:block;height:100%;background:var(--green);border-radius:4px}
.bar b{font-size:14px;min-width:38px}
.grip{display:inline-grid;grid-template-columns:repeat(2,4px);gap:3px;cursor:grab;padding:8px 6px;touch-action:none}
.grip i{width:4px;height:4px;border-radius:50%;background:#B9C4BC}
.grip.off{opacity:.3;cursor:not-allowed}
tr.drag{opacity:.45}
tr.over td{box-shadow:inset 0 3px 0 var(--green)}
tr.over-b td{box-shadow:inset 0 -3px 0 var(--green)}
@media(max-width:1180px){
  .adm{flex-direction:column;gap:16px;align-items:stretch}
  .adm-side{width:100%;position:static;min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px}
  .adm-side nav{flex-direction:row;flex-wrap:wrap}
  .adm-out{margin:0 0 0 auto}
  .adm-brand{display:none}
  .adm-body{flex-direction:column}
  .adm-filters{width:100%;flex-direction:row;flex-wrap:wrap}
  .adm-filters .fcard{flex:1;min-width:200px}
  .adm-panel{width:100%}
}
label.fi,.adm label.fi{flex-direction:row;align-items:center;gap:10px;font-weight:400;font-size:15px}
.adm-foot label{flex-direction:row;font-weight:400}
.thm .cv.cv{aspect-ratio:2/1}
.thm .cn{font-size:30px;right:4px;bottom:-5px}
.thm .cc{width:50px;height:50px;left:-14px;top:-18px}
@media(min-width:1181px){.adm-panel .tablewrap{overflow:visible}}
.adm-panel .tablewrap table{min-width:640px}
.adm-panel .tablewrap th:first-child:not(:has(input)),.adm-panel .tablewrap td:first-child:not(:has(input)){min-width:170px}
/* выравнивание таблиц админки */
.adm-panel table.fx{table-layout:fixed;min-width:780px}
.adm-panel table.fx th,.adm-panel table.fx td{padding:14px 10px;vertical-align:middle;text-align:left}
.adm-panel table.fx th:first-child,.adm-panel table.fx td:first-child{padding-left:22px}
.adm-panel table.fx td{overflow:hidden;text-overflow:clip}
.adm-panel table.fx td:nth-child(2):has(.grip){padding-left:0;padding-right:0}
.adm-panel table.fx td:last-child{overflow:visible;text-align:right}
.adm-panel table.fx th:last-child{padding:0}
.adm-panel table.fx .fi{justify-content:flex-start}
.adm-panel table.fx td:has(.dots){overflow:visible}
.nw{white-space:nowrap}
.crs>div:last-child{min-width:0}
.crs .t{font-weight:700;overflow-wrap:anywhere;line-height:1.25}
.adm-panel td .st{vertical-align:middle}
.adm-panel table.fx .tag{vertical-align:middle}
@media(max-width:1360px){
  .adm-body{flex-direction:column}
  .adm-filters{width:100%;flex-direction:row;flex-wrap:wrap;align-items:flex-start}
  .adm-filters .fcard{flex:1;min-width:200px}
  .adm-panel{width:100%}
}
.thm{width:80px}

/* курс: содержание (материалы) */
.mats{display:flex;flex-direction:column}
.mats .mh{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.mats .gh{font-size:17px;font-weight:700;line-height:1.3;margin:22px 0 4px;overflow-wrap:anywhere}
.mats .gh:first-of-type{margin-top:10px}
.mrow{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line);min-height:84px}
.mrow:last-child{border-bottom:1px solid var(--line)}
.mrow .mt{width:56px;height:56px;border-radius:14px;background:var(--soft);display:flex;align-items:center;justify-content:center;flex:none}
.mrow .mt svg{fill:none;stroke:var(--ink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.mrow .mx{flex:1;min-width:0}
.mrow .mn{display:block;font-weight:600;font-size:16px;line-height:1.25;overflow-wrap:anywhere}
.mrow .ms{display:block;color:var(--ink2);font-size:14px;margin-top:3px}
.mrow>svg{flex:none;stroke:var(--ink2);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mrow .mok{width:28px;height:28px;border-radius:14px;background:var(--green);display:flex;align-items:center;justify-content:center;flex:none}
.mrow .mok svg{stroke:#fff;fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.mrow .stop{color:var(--green);font-weight:600}
.mrow .mpc{font-weight:700;color:var(--green);font-size:15px;flex:none}
table.fx tr.grp td{background:var(--soft);padding-top:12px;padding-bottom:12px}
table.fx tr.grp td b{font-size:15px}
