:root{--ink:#414552;--muted:#9da3af;--red:#ff3a2f;--orange:#ff914b;--green:#08a66a;--soft:#f5f7f8;--line:#e7eaed;--brown:#9d765e}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--soft)}button,input,textarea,select{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;background:white;overflow:hidden;position:relative}.mint{position:absolute;border:80px solid #effcf6;border-radius:50%}.mint-a{width:620px;height:620px;left:-350px;top:130px}.mint-b{width:680px;height:680px;right:-390px;top:-190px}.login-card{position:relative;width:min(430px,calc(100% - 32px));padding:42px;border-radius:30px;background:#fff;box-shadow:0 24px 80px #2a544719;display:grid;gap:16px}.brand{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px;color:var(--green);margin-bottom:22px}.brand span{grid-row:1/3;font-size:32px}.brand strong{font-size:18px;letter-spacing:.08em}.brand small{font-size:10px}.brand.white{color:white;margin:6px 14px 52px}.eyebrow{margin:0;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.15em}.login-card h1{margin:0 0 10px;font-size:29px}.login-card h1 em{font-style:normal;color:var(--red)}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#656a75}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff;color:var(--ink);outline:none;transition:.2s}input:focus,textarea:focus,select:focus{border-color:var(--orange);box-shadow:0 0 0 4px #ff914b18}textarea{resize:vertical;min-height:90px}.primary{border:0;border-radius:15px;padding:14px 18px;color:#fff;font-weight:800;background:linear-gradient(90deg,var(--orange),var(--red));cursor:pointer;box-shadow:0 8px 18px #ff4e3830}.primary:disabled{opacity:.6}.error{min-height:16px;margin:0;color:var(--red);font-size:12px}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;background:linear-gradient(165deg,#ff9a54,#ff5145 58%,#e93c34);display:flex;flex-direction:column}.sidebar nav{display:grid;gap:8px}.sidebar nav button,.logout{border:0;color:#fff;background:transparent;border-radius:14px;padding:13px 16px;text-align:left;cursor:pointer}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff25}.logout{margin-top:auto;border:1px solid #ffffff55}.workspace{padding:32px 38px 60px;min-width:0}.workspace header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.workspace h2{font-size:30px;margin:4px 0 0}.live{font-size:12px;color:var(--green);background:#e9f9f2;border-radius:30px;padding:9px 13px}.live i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:5px;box-shadow:0 0 0 5px #08a66a18}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat,.panel{background:#fff;border:1px solid #edf0f1;border-radius:22px;box-shadow:0 10px 28px #263d3310}.stat{padding:22px}.stat b{display:block;font-size:30px;margin-top:8px}.stat small{color:var(--muted)}.stat:nth-child(1){border-top:4px solid var(--green)}.stat:nth-child(2){border-top:4px solid var(--orange)}.stat:nth-child(3){border-top:4px solid var(--red)}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel h3{margin:0 0 18px;font-size:18px}.panel-head h3{margin:0}.panel-head button,.panel-head span{border:0;background:#f3f6f5;color:var(--green);padding:8px 11px;border-radius:10px;font-size:12px;cursor:pointer}.grid-form{display:grid;grid-template-columns:minmax(300px,420px) minmax(420px,1fr);gap:18px;align-items:start}.form-card{display:grid;gap:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.file-drop{border:1.5px dashed #cbd4d0;border-radius:15px;padding:16px;text-align:center;color:var(--green);cursor:pointer}.file-drop input{border:0;padding:5px;background:transparent}.file-drop span{font-weight:400;color:var(--muted)}.check{display:flex;align-items:center;gap:8px;padding-top:26px}.check input{width:auto}.list{display:grid;gap:10px}.list-item{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center;padding:12px;border-radius:15px;background:#f8faf9}.list-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:white;background:var(--green);font-weight:800}.list-icon.news{background:var(--orange)}.list-icon.user{background:var(--brown)}.list-copy b{display:block;font-size:14px;margin-bottom:4px}.list-copy small{color:var(--muted)}.item-actions{display:flex;gap:7px}.icon-btn{border:0;border-radius:9px;padding:8px 10px;cursor:pointer;color:var(--red);background:#fff0ef}.icon-btn.secondary{color:var(--green);background:#eaf9f2}.badge{display:inline-block;padding:4px 7px;border-radius:8px;background:#eaf9f2;color:var(--green);font-size:10px;font-weight:800}.badge.blocked{background:#fff0ef;color:var(--red)}.empty{text-align:center;color:var(--muted);padding:28px 10px}.toast{position:fixed;right:28px;bottom:28px;max-width:360px;padding:13px 18px;border-radius:13px;color:#fff;background:#30343c;box-shadow:0 12px 30px #0003;transform:translateY(100px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}@media(max-width:1000px){.app{grid-template-columns:82px 1fr}.sidebar{padding:18px 9px}.sidebar .brand strong,.sidebar .brand small,.sidebar nav button{font-size:0}.sidebar nav button:first-letter{font-size:20px}.brand.white{margin-bottom:38px}.grid-form,.grid-two{grid-template-columns:1fr}}@media(max-width:680px){.app{display:block}.sidebar{position:relative;width:100%;height:auto;display:flex;flex-direction:row;align-items:center;overflow:auto}.sidebar .brand{display:none}.sidebar nav{display:flex}.sidebar nav button{font-size:12px;white-space:nowrap}.logout{margin:0 0 0 auto}.workspace{padding:22px 14px 40px}.workspace header{display:block}.live{display:inline-block;margin-top:12px}.stats{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.grid-form{grid-template-columns:1fr}.panel{padding:17px}}

.news-sortable{grid-template-columns:28px 44px minmax(0,1fr) auto;cursor:grab;transition:opacity .18s,transform .18s,box-shadow .18s}
.news-sortable:active{cursor:grabbing}.news-sortable.dragging{opacity:.45;transform:scale(.985)}.news-sortable.drag-over{box-shadow:0 0 0 2px #08a66a55;background:#eefaf5}
.drag-handle{color:#8b919d;font-size:22px;line-height:1;text-align:center;user-select:none;touch-action:none}
.sort-note{margin:-4px 0 13px;color:var(--muted);font-size:12px}
.assignment{display:inline-block;margin-top:5px;padding:4px 7px;border-radius:8px;background:#edf7f3;color:var(--green);font-size:10px;font-weight:700}
.modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:18px;background:#20242bb8;backdrop-filter:blur(5px)}
.modal-card{width:min(460px,100%);display:grid;gap:15px;padding:26px;border-radius:24px;background:#fff;box-shadow:0 24px 80px #0005}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-head h3{margin:4px 0 0;font-size:22px}.modal-close{width:38px;height:38px;border:0;border-radius:50%;background:#f3f5f5;color:var(--ink);font-size:25px;cursor:pointer}
.modal-note{margin:-5px 0 2px;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.secondary-action{border:1px solid var(--line);border-radius:14px;padding:13px 18px;background:#fff;color:var(--ink);cursor:pointer}
@media(max-width:680px){.news-sortable{grid-template-columns:24px 40px minmax(0,1fr)}.news-sortable .item-actions{grid-column:2/4;justify-content:flex-end}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions button{width:100%}}

.tests-grid{grid-template-columns:minmax(420px,1.2fr) minmax(360px,.8fr)}
.question-builder-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.question-builder-head h3{margin:0}
.question-card-admin{display:grid;gap:12px;margin-top:12px;padding:16px;border:1px solid #e5e9e7;border-radius:18px;background:#f8faf9}
.question-card-admin header{display:flex;align-items:center;justify-content:space-between;margin:0}
.question-card-admin header b{color:var(--green)}
.question-card-admin header button{border:0;background:#fff0ef;color:var(--red);padding:7px 10px;border-radius:9px;cursor:pointer}
.answer-option{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:8px}
.answer-option input[type=radio]{width:20px;height:20px;accent-color:var(--green)}
.answer-option input[type=text]{padding:11px 12px}
.lesson-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.lesson-meta span{padding:5px 8px;border-radius:8px;background:#eaf9f2;color:var(--green);font-size:10px;font-weight:700}
.results-list{display:grid;gap:10px}
.result-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1.4fr) 100px 90px;gap:14px;align-items:center;padding:14px;border-radius:15px;background:#f8faf9}
.result-row strong,.result-row b{display:block}
.result-row small{display:block;margin-top:4px;color:var(--muted)}
.result-score{font-size:18px;color:var(--green)}
.result-score.low{color:var(--red)}
.student-progress-mini{margin-top:7px;color:var(--muted);font-size:11px}
@media(max-width:1000px){.tests-grid{grid-template-columns:1fr}.result-row{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.question-builder-head{align-items:flex-start;flex-direction:column}.result-row{grid-template-columns:1fr}.tests-grid{grid-template-columns:1fr}}

.danger-strong{color:#fff;background:var(--red)}
.item-actions{flex-wrap:wrap}
.lesson-form-actions{display:flex;justify-content:flex-end;gap:10px}.lesson-form-actions .primary{flex:1}
.results-list{display:grid;gap:18px}.student-result-card{padding:22px;border-radius:22px;background:linear-gradient(145deg,#fff,#fbfcfc);border:1px solid #e8ecea;box-shadow:0 10px 30px #203b2f0b}
.student-result-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #edf0ef}.student-result-identity{display:flex;align-items:center;gap:12px}.student-result-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(145deg,#ff9652,#ff5144);font-style:normal;font-size:18px;font-weight:900;box-shadow:0 8px 18px #ff68452b}.student-result-head strong{display:block;font-size:18px}.student-result-head small{display:block;margin-top:5px;color:var(--muted)}
.student-result-total{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:14px;background:#ecfaf4;color:var(--green);white-space:nowrap}.student-result-total b{font-size:20px}.student-result-total small{margin:0;color:#5c8373;font-size:11px}
.subject-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.subject-result{--subject-color:#08a66a;min-width:0;padding:16px;border-radius:17px;background:#fff;border:1px solid #e8ecea;box-shadow:0 5px 16px #263d3308}.subject-tone-1{--subject-color:#7985ee}.subject-tone-2{--subject-color:#ff8a4c}.subject-tone-3{--subject-color:#d75ea7}
.subject-result>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.subject-name{display:flex;align-items:center;gap:9px;min-width:0}.subject-name>i{width:9px;height:32px;border-radius:8px;background:var(--subject-color);flex:0 0 auto}.subject-result>header b,.subject-result>header small{display:block}.subject-result>header b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-result>header small{margin-top:4px;color:var(--muted);font-size:11px}.subject-result>header>strong{padding:5px 8px;border-radius:9px;color:var(--subject-color);background:color-mix(in srgb,var(--subject-color) 10%,white);font-size:18px}
.subject-progress{height:6px;margin:14px 0 8px;border-radius:10px;background:#edf1ef;overflow:hidden}.subject-progress>i{display:block;height:100%;border-radius:inherit;background:var(--subject-color);transition:width .35s ease}.subject-attempts{display:grid}.subject-attempt{display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 0;border-top:1px solid #eff2f1}.attempt-number{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#f2f5f4;color:#8c9390;font-size:10px;font-weight:800}.attempt-copy{min-width:0}.attempt-copy b,.attempt-copy small{display:block}.attempt-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.attempt-copy small{margin-top:4px;color:var(--muted);font-size:10px}.score-pill{padding:6px 8px;border-radius:9px;background:#eaf9f2;color:var(--green);font-size:12px;white-space:nowrap}.score-pill.low{background:#fff0ef;color:var(--red)}
.subject-empty{min-height:74px;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;border-radius:12px;background:#f6f8f7;color:var(--muted);font-size:12px;text-align:left}.subject-empty>span{font-size:22px;color:#c4cbc8}.subject-empty p{margin:0;line-height:1.45}
.header-status{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.panel-version{padding:8px 11px;border-radius:10px;background:#fff3ec;color:var(--red);font-size:12px;font-weight:800;border:1px solid #ffddd4}
@media(max-width:1180px){.subject-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.subject-results-grid{grid-template-columns:1fr}}
@media(max-width:680px){.lesson-form-actions{display:grid;grid-template-columns:1fr}.student-result-card{padding:15px}.student-result-head{align-items:flex-start;flex-direction:column}.student-result-total{width:100%;justify-content:center;white-space:normal}.subject-attempt{grid-template-columns:27px minmax(0,1fr)}.score-pill{grid-column:2;justify-self:start}.header-status{width:100%;justify-content:flex-start}.header-status .live{max-width:100%;white-space:normal;line-height:1.35}}

/* Purpose-built admin cards: news editor, tests and students */
.editor-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.editor-title-row h3{margin:4px 0 0}.compact-check{padding-top:0;justify-content:flex-start}.compact-check input{width:auto}.news-sortable{border:1px solid transparent}.news-sortable:hover{border-color:#e4ebe8;background:#fbfcfc}.news-sortable .item-actions{justify-content:flex-end}

.tests-grid{grid-template-columns:minmax(560px,1.15fr) minmax(360px,.85fr);gap:20px}.lesson-builder{min-width:0;padding:25px}.lesson-builder>h3{font-size:20px}.lesson-builder textarea[name=lecture]{min-height:190px;line-height:1.55}.lesson-library{position:sticky;top:22px;min-width:0;padding:20px}.lesson-library .panel-head{padding-bottom:14px;border-bottom:1px solid #edf1ef}.lesson-library .panel-head h3{margin-top:4px}.lesson-list{gap:9px}.lesson-list-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid #edf1ef;border-radius:16px;background:#fafcfb;transition:.18s}.lesson-list-card:hover{transform:translateY(-1px);border-color:#dce8e3;box-shadow:0 8px 18px #263d330a}.lesson-card-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,#10b778,#079d65);font-size:20px;font-weight:900;box-shadow:0 7px 15px #08a66a25}.lesson-card-copy{min-width:0}.lesson-card-copy>b,.lesson-card-copy>small{display:block}.lesson-card-copy>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.lesson-card-copy>small{margin-top:4px;color:var(--muted);font-size:11px}.lesson-card-actions{display:flex;align-items:center;gap:6px}.question-card-admin{padding:18px;border-color:#e2e8e5;background:linear-gradient(145deg,#fbfdfc,#f7faf8)}.question-card-admin header{padding-bottom:9px;border-bottom:1px solid #e7ece9}.question-card-admin header b{font-size:14px}.question-card-admin input,.question-card-admin textarea{background:#fff}.answer-option{padding:2px 0}

.students-grid{grid-template-columns:minmax(340px,410px) minmax(520px,1fr);gap:20px}.student-library{min-width:0;padding:20px}.student-library .panel-head{padding-bottom:14px;border-bottom:1px solid #edf1ef}.student-library .panel-head h3{margin-top:4px}.student-list{gap:12px}.student-list-card{display:grid;grid-template-columns:54px minmax(210px,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid #e8eeeb;border-radius:18px;background:linear-gradient(145deg,#fbfdfc,#f7faf8);box-shadow:0 6px 18px #263d3307}.student-card-avatar{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(145deg,#b58b72,#916b56);font-size:19px;font-weight:900;box-shadow:0 8px 16px #9d765e25}.student-card-main{min-width:0}.student-card-main>small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.student-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-card-title>b{font-size:16px}.student-subjects{display:flex;align-items:center;gap:6px;min-width:0;margin-top:9px}.student-subjects span{padding:4px 7px;border-radius:7px;background:#eaf9f2;color:var(--green);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.student-subjects b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#258162;font-size:11px}.student-card-metrics{display:flex;align-items:stretch;gap:7px}.student-card-metrics>span{min-width:72px;padding:9px 10px;border-radius:12px;background:#fff;border:1px solid #e9eeec;text-align:center}.student-card-metrics b,.student-card-metrics small{display:block}.student-card-metrics b{color:var(--green);font-size:16px}.student-card-metrics small{margin-top:2px;color:var(--muted);font-size:9px;white-space:nowrap}.student-card-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;padding-top:12px;border-top:1px solid #e6ece9}.student-card-actions .icon-btn{min-height:36px;padding:8px 12px}

@media(min-width:1540px){.student-list-card{grid-template-columns:54px minmax(210px,1fr) auto auto}.student-card-actions{grid-column:auto;padding-top:0;border-top:0}}
@media(max-width:1180px){.tests-grid,.students-grid{grid-template-columns:1fr}.lesson-library{position:static}.student-list-card{grid-template-columns:54px minmax(0,1fr) auto}}
@media(max-width:760px){.lesson-builder,.lesson-library,.student-library{padding:16px}.lesson-list-card{grid-template-columns:40px minmax(0,1fr)}.lesson-card-icon{width:40px;height:40px}.lesson-card-actions{grid-column:2;justify-content:flex-start}.student-list-card{grid-template-columns:48px minmax(0,1fr);padding:14px}.student-card-avatar{width:48px;height:48px}.student-card-metrics{grid-column:1/-1}.student-card-metrics>span{flex:1}.student-card-actions{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}.student-card-actions .icon-btn{width:100%}.editor-title-row{align-items:center}.editor-title-row .secondary-action{padding:9px 12px}}

/* Compact lesson constructor */
.lesson-builder-title{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #edf1ef}.lesson-builder-title h3{margin:4px 0 5px;font-size:20px}.lesson-builder-title small{display:block;color:var(--muted);font-size:11px;font-weight:500}.lesson-basics{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(170px,.8fr) minmax(130px,.55fr);gap:12px}.lesson-theory-field{gap:8px}.lesson-theory-field>span{font-weight:700}.lesson-theory-field textarea{min-height:150px!important}.lesson-theory-field>small{color:var(--muted);font-size:10px;font-weight:500}.question-builder-head{margin-top:2px;padding-top:18px;border-top:1px solid #edf1ef}.question-builder-head>div{display:flex;align-items:center;gap:10px}.question-count-pill{padding:5px 8px;border-radius:9px;background:#eaf9f2;color:var(--green);font-size:10px;font-weight:800}.question-card-admin{position:relative;gap:14px;margin-top:14px;padding:18px 18px 16px;border-radius:17px;border-left:3px solid var(--green);box-shadow:0 6px 18px #263d3307}.question-card-admin header b{display:flex;align-items:center;gap:8px;font-size:14px}.question-card-admin header b:before{content:'?';width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#eaf9f2;color:var(--green);font-size:12px}.question-card-admin header button{padding:8px 11px}.question-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.answer-option{grid-template-columns:24px minmax(0,1fr);gap:5px;padding:4px 8px;border:1px solid #e5eae8;border-radius:12px;background:#fff;transition:.18s}.answer-option:focus-within{border-color:#94d7bb;box-shadow:0 0 0 3px #08a66a0e}.answer-option input[type=radio]{width:17px;height:17px;margin:0}.answer-option input[type=text]{min-width:0;padding:9px 5px;border:0;border-radius:8px;box-shadow:none;background:transparent}.question-card-admin>label:last-child textarea{min-height:68px}.lesson-form-actions{position:sticky;z-index:2;bottom:12px;padding:10px;border:1px solid #edf1ef;border-radius:17px;background:#ffffffed;box-shadow:0 12px 30px #263d3317;backdrop-filter:blur(8px)}.lesson-card-icon{font-size:12px;letter-spacing:.04em}.lesson-library{box-shadow:0 12px 34px #263d3312}.lesson-list-card{padding:14px}.lesson-card-actions .icon-btn.secondary{font-weight:700}
@media(max-width:1280px){.lesson-basics{grid-template-columns:1fr 1fr}.lesson-basics label:last-child{grid-column:1/-1}.question-options{grid-template-columns:1fr}}
@media(max-width:760px){.lesson-basics{grid-template-columns:1fr}.lesson-basics label:last-child{grid-column:auto}.question-builder-head>div{align-items:flex-start;flex-direction:column;gap:5px}.question-builder-head .secondary-action{width:100%}.lesson-form-actions{position:static;padding:0;border:0;background:transparent;box-shadow:none}.question-card-admin{padding:15px 13px}.question-card-admin header{align-items:flex-start;gap:10px}.question-card-admin header button{font-size:11px}}
.lesson-form-actions{position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
