@font-face{font-family:Google Sans;src:url('/static/portal/fonts/GoogleSans-Cyrillic.woff2') format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+400-52F,U+2116}
@font-face{font-family:Google Sans;src:url('/static/portal/fonts/GoogleSans-Latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--paper:#faf7f6;--ink:#161616;--brand:#0066ff;--lime:#b7ff00;--line:#e0dddb;--muted:#62615f;--radius:22px;font-family:Google Sans,Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:var(--brand);text-underline-offset:4px}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:12px 22px;border:1px solid transparent;border-radius:28px;background:var(--brand);color:white;cursor:pointer;text-decoration:none;font-weight:600;line-height:1.3;transition:background .15s,transform .15s}button:hover,.button:hover{background:#0058de;transform:translateY(-1px)}button.secondary,.button.secondary{background:white;color:var(--ink);border-color:var(--line)}button.secondary:hover{background:#f2f0ee}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--brand);outline-offset:4px}header{max-width:1440px;margin:auto;padding:24px 44px;border-bottom:1px solid var(--line);display:flex;gap:24px;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:-.7px;font-size:23px}.brand-mark{display:inline-block;font-size:34px;color:var(--brand);font-weight:900;line-height:1;transform:skew(-15deg)}.brand small{display:block;font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:500;margin-top:4px}nav{display:flex;flex-wrap:wrap;align-items:center;gap:18px;font-size:13px}nav a{color:var(--ink);text-decoration:none;font-weight:600}nav a:hover{text-decoration:underline}nav form{margin:0}nav button{padding:8px 16px;min-height:38px;background:var(--ink)}main{max-width:1270px;margin:0 auto;padding:40px 36px 96px}h1{font-size:clamp(30px,4.3vw,58px);letter-spacing:-2px;line-height:1.04;font-weight:700;margin:18px 0 24px}h2{font-size:26px;letter-spacing:-.8px;margin:0 0 20px}h3{font-size:21px;letter-spacing:-.4px;line-height:1.25}p{line-height:1.6}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 14px;color:var(--muted)}.hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px 0 48px;background:radial-gradient(ellipse at 60% 30%,#0066ff0a,transparent 60%)}.hero h1{font-size:clamp(36px,5.4vw,70px);max-width:800px;letter-spacing:-3px}.hero p:not(.eyebrow){color:var(--muted);max-width:580px}.hero-orbit{display:flex;flex-direction:column;align-items:center;justify-content:center;width:245px;height:245px;border:1px solid var(--line);border-radius:50%;position:relative;flex-shrink:0;transform:rotate(-8deg)}.hero-orbit:before{content:'✦';position:absolute;right:0;top:4px;font-size:55px;background:var(--paper);color:var(--brand)}.hero-orbit span{font-size:130px;line-height:1;color:var(--brand);font-weight:700}.hero-orbit small{text-align:center;font-size:10px;letter-spacing:2px;line-height:1.6}.stats{background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:28px 34px;display:flex;align-items:center;gap:54px;margin:0 0 50px}.stats>div{display:flex;flex-direction:column;gap:6px}.stats strong{font-size:44px;line-height:1;letter-spacing:-2px;color:var(--lime)}.stats span{font-size:13px;color:#ccc}.stats .button{margin-left:auto;background:var(--lime);color:var(--ink)}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:15px}.section-title h2{margin:0}.muted{color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0 32px}.card,.panel{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:28px;min-width:0}.panel{margin:24px 0}.grid .panel{margin:0}.card{text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--brand);box-shadow:0 8px 28px #16161607}.course-card{min-height:280px;display:flex;flex-direction:column;align-items:flex-start}.course-card h3{font-size:27px;margin:22px 0 10px}.course-card>p{margin:0 0 18px;color:var(--muted);font-size:14px}.course-action{font-size:14px;color:var(--brand);font-weight:600;margin-top:auto}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:6px 10px;border-radius:20px;background:#f1f1ee;color:#555}.badge.success{background:var(--lime);color:var(--ink)}.badge.overdue{background:#fff0e8;color:#9d3000}.progress{height:5px;background:#eee;border-radius:4px;overflow:hidden;width:100%;margin:10px 0}.progress>div{height:100%;background:var(--brand)}label{display:block;font-size:14px;font-weight:500;margin:0 0 8px}input:not([type=checkbox]):not([type=radio]),textarea,select{display:block;width:100%;border:1px solid #c8c5c2;border-radius:12px;background:#fff;color:var(--ink);padding:12px 14px;margin-top:7px;min-height:46px}textarea{resize:vertical;min-height:90px}input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:19px;height:19px;flex-shrink:0}form>p{margin:18px 0}form .helptext{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin-top:8px}.helptext ul{padding-left:20px}.errorlist{color:#ae2222;font-size:13px;line-height:1.5}.notice,[role=alert]{padding:14px 18px;background:#fff2df;border:1px solid #f0d2a6;border-radius:12px}.notice.success{background:#effcd5;border-color:#b7db7b}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:30px 0}.filters label{flex:1;min-width:160px}.filters button{margin-bottom:8px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:20px;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.6}th{background:#f4f2f0;font-size:12px;font-weight:600;white-space:nowrap}td p{margin:0 0 8px;font-size:12px}td input{min-width:70px}.material{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.material:last-child{border:0}.material h3{margin:12px 0}.material form{flex-shrink:0}fieldset.panel{margin:25px 0;padding-top:20px}legend{padding:0 8px;font-size:22px;font-weight:600;max-width:100%;overflow-wrap:anywhere}.answer{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0;font-weight:400;cursor:pointer}.answer:has(input:checked){border-color:var(--brand);background:#0066ff05}.result{max-width:760px;margin:40px auto;padding:48px}.score{font-size:90px;font-weight:700;letter-spacing:-5px;margin:30px 0;color:var(--brand);line-height:1}.login-shell{max-width:470px;margin:45px auto}.login-shell h1{font-size:40px}.login-shell form>button{width:100%;margin-top:12px}.empty{grid-column:1/-1;background:transparent;min-height:180px;border-style:dashed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{max-width:1200px;margin:auto;padding:24px 36px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between}article{overflow-wrap:anywhere}section.panel>article+article{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}@media(min-width:1400px){header{padding-left:70px;padding-right:70px}}@media(max-width:900px){header{padding:20px 24px;flex-wrap:wrap}nav{gap:14px}main{padding:28px 24px 60px}.hero-orbit{width:170px;height:170px}.hero-orbit span{font-size:90px}.hero-orbit small{font-size:8px}.hero h1{letter-spacing:-2px}.stats{gap:28px;padding:24px}.stats strong{font-size:36px}}@media(max-width:600px){header{padding:18px 20px}.brand{font-size:21px}nav{font-size:12px;gap:12px}nav button{font-size:12px}main{padding:25px 18px 50px}.hero{padding:20px 0 28px}.hero h1{font-size:43px;letter-spacing:-2px}.hero-orbit{display:none}.hero p:not(.eyebrow){font-size:14px}.stats{flex-wrap:wrap;gap:26px;margin-bottom:34px}.stats .button{width:100%;margin:0}.grid{grid-template-columns:1fr;gap:16px}.panel,.card{padding:22px;border-radius:18px}.section-title{align-items:flex-start;flex-direction:column;gap:8px}.material{align-items:flex-start;flex-direction:column}.result{padding:26px}.score{font-size:72px}h1{letter-spacing:-1px}h2{font-size:24px}.filters label{width:100%}.filters{gap:10px}.question legend{font-size:19px}.answer{padding:14px}.login-shell{margin:20px auto}footer{padding:20px;gap:16px;flex-direction:column}.table-wrap{margin:0 -4px}}

.outline-section{margin:14px 0;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0}.outline-root{margin:20px 0;border-radius:22px}.outline-section>summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;padding:20px;font-weight:600;line-height:1.4}.outline-section>summary::-webkit-details-marker{display:none}.outline-section>summary:before{content:'+';color:var(--brand);font-size:24px;flex-shrink:0}.outline-section[open]>summary:before{content:'−'}.outline-section>summary .badge{margin-left:auto;white-space:nowrap}.outline-title{overflow-wrap:anywhere}.outline-content{padding:0 20px 16px}.outline-content .material:first-child{padding-top:10px}.outline-content .outline-section{background:var(--paper)}summary:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:16px}@media(max-width:600px){.outline-section>summary{padding:15px;gap:8px;font-size:14px}.outline-content{padding:0 12px 12px}.outline-title{min-width:0}.outline-section>summary .badge{font-size:10px;padding:4px 6px}.outline-content .material h3{font-size:17px}}

input[type=checkbox]+label{display:inline}.credentials{border-color:var(--brand);background:#eef4ff}.credentials dl{display:grid;grid-template-columns:80px 1fr;gap:12px}.credentials dd{margin:0;overflow-wrap:anywhere}.credentials code{font-size:16px}#id_mandatory_courses>div{padding:8px 0}#id_mandatory_courses label{display:flex;align-items:center;gap:10px}.card form{margin-top:16px}
