*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#172b39;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:20px max(24px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid #e0e7eb;gap:20px}.brand{font-size:22px;font-weight:850;text-decoration:none;color:#163f43;white-space:nowrap}.brand span{font-weight:450;color:#567079;margin-left:9px}.identity{display:flex;gap:18px;align-items:center}main{max-width:1180px;padding:44px 24px 70px;margin:auto}h1{font-size:clamp(32px,4vw,52px);line-height:1.13;letter-spacing:-1.5px;margin:12px 0 18px}h2{font-size:22px;line-height:1.45;margin:0 0 16px}.lead{font-size:19px;color:#5b6d78;max-width:670px;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:750;color:#387575}.card{background:white;border:1px solid #e0e7eb;border-radius:18px;padding:28px;margin-bottom:24px}.login-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;padding-top:45px}.login{max-width:440px}.pill{display:inline-block;background:#dcefe7;padding:10px 18px;border-radius:30px;color:#246b55;font-size:14px}label{display:block;font-size:14px;font-weight:650;margin:0 0 16px}input,textarea{display:block;width:100%;border:1px solid #c5d1d9;border-radius:9px;padding:12px;font:inherit;color:inherit;background:#fff;margin-top:7px}input:focus,textarea:focus{outline:3px solid #c4e6dc;border-color:#23785e}input:not([type=date]){max-width:440px}button,.button{display:inline-block;background:#146d5b;color:#fff;border:0;border-radius:10px;padding:12px 20px;font:600 14px/1.5 system-ui;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(.94)}.quiet{background:#eef3f5;color:#345563;padding:7px 12px;white-space:nowrap}.secondary{background:#e9f1ee;color:#185f50}.notice{border:1px solid #dcd6ac;background:#fffae6;padding:14px 20px;border-radius:12px}.muted{color:#637884}.small{font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats .card{padding:20px 24px}.stats span{font-size:14px;color:#637884}.stats strong{display:block;font-size:36px;color:#176551}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:22px}.date-form{display:flex;gap:12px;align-items:end}.date-form label{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{color:#637884;font-size:12px;font-weight:650;background:#f5f8f9;white-space:nowrap}th,td{padding:14px 12px;border-bottom:1px solid #edf0f3}td small{display:block;color:#788b96;font-size:11px}.badge{display:inline-block;border-radius:20px;padding:5px 10px;font-size:12px;white-space:nowrap}.done{background:#def1e7;color:#20744a}.active{background:#fff0ce;color:#895d10}.absent{background:#f3e8e8;color:#8c4f54}.empty{text-align:center;padding:36px}.task h2{font-size:20px;font-weight:550}.task label{max-width:240px}.result{display:flex;align-items:center;gap:24px;background:#dcefe7;color:#186344;padding:24px;border-radius:18px;margin:26px 0}.result strong{font-size:44px}.correct{color:#14734c;font-weight:650}.incorrect{color:#9e4040;font-weight:650}.history{display:flex;gap:12px;flex-wrap:wrap}.history .card{padding:16px 22px}.history strong{display:block;font-size:24px}.history span{font-size:12px;color:#637884}footer{max-width:1180px;margin:auto;padding:20px 24px;border-top:1px solid #dde5ea;color:#71838d;font-size:12px}code{font-size:15px}a{color:#146d5b}@media(max-width:800px){.login-grid{grid-template-columns:1fr;gap:20px;padding-top:0}.stats{grid-template-columns:repeat(2,1fr)}header{padding:16px}.brand span{display:block;font-size:13px;margin:0}.identity{font-size:12px;gap:8px}main{padding:28px 16px}.card{padding:20px}.report{padding:12px}.toolbar{align-items:stretch}.date-form{flex:1}.date-form label{flex:1}}@media print{header,.toolbar,footer,.notice{display:none}body{background:#fff}main{padding:0}.card{border:0;padding:0}h1{font-size:28px}}
select{display:block;width:100%;border:1px solid #c5d1d9;border-radius:9px;padding:12px;font:inherit;color:inherit;background:#fff;margin-top:7px;min-height:46px}button,.button,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #79c5ad;outline-offset:3px}[hidden]{display:none!important}.subject-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.subject-card{display:block;color:inherit;text-decoration:none;transition:transform .15s,border-color .15s}.subject-card:hover{transform:translateY(-3px);border-color:#70a995}.subject-icon{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:18px;background:#e2efe9;color:#176d55;font-size:36px;margin-bottom:18px}.subject-card.math .subject-icon{background:#ede8f7;color:#685298}.subject-card p{color:#627983}.subject-card strong{color:#146d5b}.breadcrumbs{font-size:13px;color:#70838c;margin-bottom:25px}.subject-tabs{display:flex;gap:8px;margin:24px 0;flex-wrap:wrap}.subject-tabs a{padding:10px 18px;border-radius:25px;background:#e9eef0;color:#4d6773;text-decoration:none}.subject-tabs a.selected{background:#146d5b;color:#fff}.public-link{font-size:14px;overflow-wrap:anywhere}.achievement-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.warm{background:#fff0d2;color:#885a1c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid input{max-width:none!important}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.section-heading h2{margin-bottom:0}.bank-types{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin:18px 0}.bank-type{padding:12px 8px;background:#edf5f1;border:1px solid #ddebe3;border-radius:10px;text-decoration:none;text-align:center}.bank-type strong,.bank-type span{display:block}.bank-type span{font-size:11px;color:#658072}.bank-type.unavailable{background:#f3f3f3;border-color:#e5e5e5;color:#899197}.bank-type.unavailable span{color:#899197}details summary{cursor:pointer;font-weight:650;min-height:40px;line-height:40px}details summary+*{margin-top:12px}.topic-tools label{margin-bottom:0;flex:1;min-width:180px;max-width:460px}.topic-catalog details{border:1px solid #e1e9ed;border-radius:12px;padding:8px 16px;margin-bottom:12px}.topic-catalog summary{color:#345c5a}.topic-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.topic-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #eff2f4;min-height:58px}.topic-row label{display:flex;align-items:center;gap:10px;font-weight:450;font-size:14px;line-height:1.4;cursor:pointer;margin:0;padding:10px 0;flex:1}.topic-row input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:0;accent-color:#146d5b}.topic-row a{font-size:11px;white-space:nowrap;padding:8px 0}.save-row{justify-content:flex-start;margin:24px 0 0}.save-row p{max-width:550px;margin:0}.progress-card{padding:18px 24px}.progress-card .toolbar{margin-bottom:10px}progress{appearance:none;width:100%;height:10px;border:0;border-radius:20px;overflow:hidden;background:#e4ece8}progress::-webkit-progress-bar{background:#e4ece8}progress::-webkit-progress-value{background:#42a484;border-radius:20px}progress::-moz-progress-bar{background:#42a484}.solution{margin-top:20px;background:#f1f7f3;border-radius:12px;padding:18px 22px}.solution h3{font-size:16px;margin:0 0 12px}.solution li{margin-bottom:9px;line-height:1.7}.solution ol{padding-left:22px}.bank-prompt{font-size:17px;line-height:1.75;overflow-x:auto;overflow-wrap:anywhere}.bank-prompt table{width:auto;max-width:100%;font-size:15px;margin:12px 0}.bank-prompt td,.bank-prompt th{border:1px solid #cad7db;padding:7px 10px;background:white;color:#172b39}.bank-prompt p{margin:7px 0}.bank-prompt math{font-size:1.1em}.choices li{margin-bottom:8px}.submit-dock{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:24px 0 40px}.date-form{flex-wrap:wrap}.date-form label{min-width:150px}.date-form select{min-width:150px}.task input{font-size:18px}.task .eyebrow{line-height:1.7}.report h2{margin:8px 0 20px}
@media(max-width:1000px){.bank-types{grid-template-columns:repeat(4,1fr)}.topic-list{grid-template-columns:1fr}.date-form{align-items:end}}
@media(max-width:600px){body{font-size:15px}.subject-grid,.form-grid{grid-template-columns:1fr;gap:14px}h1{letter-spacing:-.6px}.lead{font-size:17px}.identity>span{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats{gap:10px}.stats .card{padding:15px;margin-bottom:16px}.stats strong{font-size:30px}.stats span{font-size:12px}.section-heading{gap:8px}.pill{font-size:12px;padding:8px 12px}.public-link{font-size:12px}.bank-types{gap:6px}.bank-type{padding:10px 4px}.form-grid{gap:0}.date-form{width:100%;gap:10px}.date-form label{min-width:0;flex:1}.date-form button{width:100%}.toolbar>.button{width:100%;text-align:center}.topic-catalog details{padding:6px 12px}.topic-catalog summary{font-size:14px;line-height:1.5;padding:12px 0}.topic-tools{gap:10px}.topic-row a{font-size:10px}.save-row>button,.submit-dock>button{width:100%;min-height:50px}.submit-dock{position:sticky;bottom:0;background:#f4f6f8eF;padding:12px 0;margin-bottom:20px;backdrop-filter:blur(8px)}.submit-dock span{font-size:11px;text-align:center;width:100%}.result{gap:14px;padding:18px}.result strong{font-size:34px;white-space:nowrap}.result span{font-size:12px}.bank-prompt{font-size:16px}.bank-prompt table{font-size:12px}.bank-prompt td{padding:5px}.solution{padding:15px}.solution li{font-size:14px}.report .table-wrap{overflow:visible}.report table,.report tbody{display:block;width:100%}.report thead{display:none}.report tr{display:block;border:1px solid #dfe8e9;border-radius:12px;margin-bottom:12px;padding:12px;background:#fff}.report td{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;font-size:13px;border-bottom:1px solid #f1f3f4}.report td:before{content:attr(data-label);font-size:11px;color:#71868d}.report td:first-child{display:block;font-size:17px;padding-bottom:12px}.report td:first-child:before{display:none}.report td:last-child{border-bottom:0}.report td[colspan]{display:block;text-align:center}.report td[colspan]:before{display:none}.subject-tabs a{padding:10px 14px;font-size:13px}input,select,textarea{font-size:16px!important}.task label{max-width:none}footer{font-size:11px}}

.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.check-label{display:flex;align-items:center;gap:10px;padding:9px 0}.check-label input{width:20px;height:20px;flex:none;margin:0}fieldset{border:1px solid var(--line,#d9e2de);border-radius:14px;margin:18px 0;padding:14px}legend{padding:0 8px}header .identity{flex-wrap:wrap;justify-content:flex-end}header .identity a{font-size:13px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.audit-list>div{border-top:1px solid var(--line,#d9e2de);padding:12px 0}.audit-list p{margin:4px 0}.skill-list{display:grid;gap:0}.skill-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line,#d9e2de)}.skill-row>div{display:grid;gap:4px}.skill-row.closed{opacity:.65}.skill-row .badge{white-space:normal}.topic-row:has(input:checked){background:#edf7f2;border-radius:10px}.topic-row label{cursor:pointer}.topic-row:has(input:checked) label:after{content:'Открыто';font-size:10px;color:#146d5b;letter-spacing:.03em}.topic-row{padding:8px}.topic-catalog details>summary{padding:12px;font-weight:700}.topic-catalog details{border:1px solid var(--line,#d9e2de);border-radius:12px;margin:10px 0}.skill-row strong{overflow-wrap:anywhere}@media(max-width:600px){header .identity{max-width:62%;gap:8px}header .identity>span{max-width:120px}.skill-row{align-items:flex-start;flex-direction:column;gap:8px}.check-grid{grid-template-columns:1fr}.subject-tabs{flex-wrap:wrap}.topic-row{gap:8px}.topic-row label:after{display:none}.topic-row a{white-space:normal;font-size:12px;flex:none}}
.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.library-grid .card{margin:0}.library-grid h2{font-size:21px}@media(max-width:600px){.library-grid{grid-template-columns:1fr}}

.grade-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px;margin-top:18px;border-bottom:2px solid var(--line,#d9e2de)}.grade-heading .check-label{margin:0;cursor:pointer}.grade-count{white-space:nowrap}@media(max-width:600px){.grade-heading{align-items:flex-start;flex-direction:column;gap:0}}
