@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#e8eaf0;background:#101115;font-synthesis:none;text-rendering:optimizeLegibility;--bg:#101115;--panel:#17191f;--panel2:#1c1f27;--line:#292c35;--muted:#8b909f;--text:#e8eaf0;--blue:#7c9cff;--green:#62d6a6;--purple:#b39bff;--orange:#f4b66b}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;flex-shrink:0;background:#14161b;border-right:1px solid var(--line);padding:25px 15px 15px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 34px}.brand-mark{height:40px;width:40px;display:grid;place-items:center;border-radius:12px;color:#11141b;background:linear-gradient(140deg,#a4b9ff,#7d8dff)}.brand b{font:800 20px Manrope,sans-serif;letter-spacing:-.8px;color:#f0f2f7}.brand b span{color:#8da4ff}.brand small{display:block;font-size:8px;letter-spacing:1.05px;color:#777d8c;margin-top:3px}.workspace-label,.eyebrow{font-size:10px;letter-spacing:1.15px;font-weight:700;color:#777e8e}.workspace-label{padding:0 12px 12px}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#9399a8;display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:9px;text-align:left;font-size:13px;transition:.15s}.nav-item:hover{background:#20232c;color:#fff}.nav-item.active{color:#a9baff;background:#252b3b;font-weight:600}.nav-count{margin-left:auto;font-size:10px;background:#343b4e;padding:3px 7px;border-radius:6px;color:#b9c6ff}.sidebar-bottom{margin-top:auto}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:14px;padding:17px 7px 4px}.profile-avatar,.top-avatar{display:grid;place-items:center;border-radius:50%;background:#34313d;color:#d6c4ff;font-weight:700}.profile-avatar{width:35px;height:35px}.profile b{display:block;font-size:12px}.profile small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.profile>svg{margin-left:auto;color:var(--muted)}.main-area{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);background:#121419}.breadcrumbs{font-size:12px;color:#9a9eab}.breadcrumbs span{margin:0 10px;color:#4d5260}.breadcrumbs b{color:#e9eaf0;font-weight:500}.top-actions{display:flex;align-items:center;gap:19px}.today{display:flex;align-items:center;gap:7px;color:#a7acb9;font-size:11px}.icon-button{width:34px;height:34px;border:1px solid var(--line);background:#1a1d24;border-radius:9px;display:grid;place-items:center;color:#a6adbd}.icon-button:hover{background:#282c36;color:#fff}.notification{position:relative}.notification i{position:absolute;right:7px;top:7px;width:5px;height:5px;border-radius:50%;background:#ff8f9c}.top-avatar{width:32px;height:32px;background:#323a50;color:#b7c7ff;font-size:12px}.content{padding:31px 36px 20px;flex:1;max-width:1600px;width:100%;margin:0 auto}.dashboard,.panel-page{display:grid;gap:22px}.welcome-row,.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.h1,h1{font:700 28px Manrope,sans-serif;letter-spacing:-.9px;margin:8px 0 7px;color:#f3f4f8}.welcome-row p,.page-heading p{margin:0;color:#9298a7;font-size:12px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:9px;font-size:12px;font-weight:600;white-space:nowrap}.primary{background:#8199ff;border:1px solid #8199ff;color:#101522;box-shadow:0 3px 12px #8199ff14}.primary:hover{background:#a0b2ff}.secondary{background:#1c1f27;border:1px solid #343843;color:#d0d3dc}.secondary:hover{background:#282c36}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.card{background:var(--panel);border:1px solid var(--line);border-radius:13px}.stat-card{padding:18px 19px;min-height:154px}.stat-icon{height:35px;width:35px;display:grid;place-items:center;border-radius:10px;margin-bottom:13px}.stat-icon.blue,.quick-icon.blue{background:#252e47;color:#93aaff}.stat-icon.purple,.quick-icon.purple{background:#302942;color:#c3a9ff}.stat-icon.green,.quick-icon.green{background:#1d382f;color:#6fddb0}.stat-icon.orange,.quick-icon.orange{background:#3c2d20;color:#f3ba79}.stat-label{font-size:11px;color:#9ba0ae}.stat-value{font:700 25px Manrope,sans-serif;letter-spacing:-.8px;margin-top:5px}.stat-delta{font-size:10px;color:#75cfa7;margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr);gap:17px}.schedule-card,.quick-card,.students-card,.assignments-card{padding:20px;min-width:0}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px}.section-head h2,.calendar-head h2,.day-detail h2,.attendance-top h2{font:700 15px Manrope,sans-serif;margin:0;letter-spacing:-.2px}.section-head p,.calendar-head span,.attendance-top p{font-size:10px;color:var(--muted);margin:6px 0 0}.text-button{display:inline-flex;align-items:center;gap:5px;background:none;border:0;color:#9eafff;font-size:10px;white-space:nowrap;padding:4px}.text-button:hover{color:#c2ceff}.schedule-list{display:grid}.schedule-item{display:grid;grid-template-columns:63px 3px minmax(0,1fr) 30px;gap:12px;align-items:center;min-height:84px;border-top:1px solid #272a32}.time-col b{font-size:12px;display:block}.time-col span{font-size:9px;color:#7d8493;display:block;margin-top:6px}.schedule-bar{height:46px;border-radius:5px;background:#6d778b}.schedule-bar.done{background:#65d5a5}.schedule-bar.now{background:#8da4ff;box-shadow:0 0 10px #8da4ff20}.schedule-bar.upcoming{background:#bd9bff}.schedule-info{min-width:0}.schedule-info>b{font-size:12px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-info p{font-size:10px;color:#9a9eac;margin:5px 0}.schedule-info p span{padding:0 4px;color:#555b68}.schedule-info small{display:flex;align-items:center;gap:5px;color:#777e8c;font-size:9px}.subtle{border-color:transparent;background:transparent}.quick-card{padding-bottom:10px}.quick-action{display:flex;align-items:center;gap:11px;width:100%;padding:12px 0;background:none;border:0;border-top:1px solid #272a32;text-align:left}.quick-icon{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:10px}.quick-action>div:nth-child(2){min-width:0;flex:1}.quick-action b{font-size:11px;font-weight:600;display:block}.quick-action small{font-size:9px;color:#8e94a3;display:block;margin-top:5px}.quick-action>svg{color:#72798a}.quick-action:hover b{color:#aabaff}.lower-grid{grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr)}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;font-size:8px;letter-spacing:.8px;color:#737a89;font-weight:700;padding:11px 10px;border-bottom:1px solid #2b2e37}td{padding:12px 10px;border-bottom:1px solid #252830;font-size:10px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#1c1f27}.person-cell{display:flex;align-items:center;gap:9px;font-weight:500}.avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#2d3341;color:#b8c8ff;font-size:9px;font-weight:700;flex-shrink:0}.group-tag{padding:4px 7px;border-radius:5px;background:#242833;color:#b4b9c7;font-size:9px}.attendance-cell{display:flex;align-items:center;gap:8px}.progress{height:4px;width:63px;background:#30333c;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;border-radius:10px;background:#82a0ff}.attendance-cell>span{color:#c3c8d4;font-size:9px}.points{font-size:11px}.points small{color:#7f8593;font-size:9px;font-weight:400}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:5px;font-size:9px;white-space:nowrap}.status-pill span{width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.good{background:#1e342d;color:#6fd3a7}.status-pill.warning{background:#3a3022;color:#efb56c}.assignments-card .section-head{margin-bottom:6px}.assignment-mini{display:flex;align-items:center;gap:10px;padding:14px 0;border-top:1px solid #282b34}.mini-file{height:33px;width:33px;display:grid;place-items:center;border-radius:8px;background:#242b3a;color:#a7baff}.mini-info{flex:1;min-width:0}.mini-info b{font-size:10px;display:block;overflow:hidden;text-overflow:ellipsis}.mini-info small{font-size:9px;color:#8d93a2;display:block;margin:5px 0 8px}.mini-info .progress{width:100%;height:3px}.pending-count{font-size:11px;color:#f0b66c;background:#3a3022;border-radius:6px;padding:5px 7px}.footer-dot{display:inline-block;width:5px;height:5px;background:#65d5a5;border-radius:50%;margin:0 6px}footer{padding:16px 36px 19px;color:#666d7c;font-size:9px;border-top:1px solid #22252d}footer span{padding:0 6px;color:#4d5360}.panel-page{gap:22px}.toolbar{display:flex;gap:10px;align-items:center}.searchbox{display:flex;align-items:center;gap:8px;padding:0 12px;height:38px;flex:1;max-width:400px;background:#191c23;border:1px solid #30343e;border-radius:8px;color:#858c9b}.searchbox input{width:100%;background:none;border:0;outline:0;color:#eef0f5;font-size:11px}.searchbox input::placeholder{color:#707787}.toolbar select,.modal select{background:#1b1e26;border:1px solid #343843;color:#d9dce5;border-radius:8px;padding:10px 12px;font-size:11px}.panel-page>.table-wrap,.panel-page>.card{padding:10px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:17px}.calendar-card,.day-detail{padding:22px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.calendar-head h2{font-size:18px}.month-actions{display:flex;gap:7px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{margin-bottom:8px}.weekdays span{text-align:center;color:#777e8d;font-size:10px;padding:6px}.day{height:43px;border:1px solid transparent;background:transparent;border-radius:8px;color:#d2d6df;position:relative;font-size:11px}.day:hover{background:#282d3a}.day.muted{color:#535966}.day.selected{background:#29334f;border-color:#7089df;color:#b8c8ff;font-weight:700}.day i{position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;background:#7e9aff;border-radius:50%}.calendar-legend{display:flex;gap:18px;border-top:1px solid #2b2e37;margin-top:20px;padding-top:17px;color:#959baa;font-size:10px}.calendar-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:6px;height:6px;border-radius:50%;background:#829cff}.legend-dot.green{background:#63d5a5}.day-detail h2{font-size:19px;margin-top:9px}.day-list{margin-top:23px}.day-lesson{display:flex;gap:13px;padding:14px 0;border-top:1px solid #2b2e37}.lesson-line{width:3px;min-height:49px;border-radius:4px;background:#71809c}.lesson-line.done{background:#61d3a2}.lesson-line.now{background:#829cff}.lesson-line.upcoming{background:#ba9aff}.day-lesson b{font-size:11px}.day-lesson p{font-size:10px;color:#9a9fac;margin:6px 0}.day-lesson span{font-size:9px;color:#737a89}.attendance-card{padding:22px}.attendance-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:19px;border-bottom:1px solid #2b2e37}.attendance-top h2{font-size:17px}.status-pill.live{background:#252d43;color:#9db1ff}.attendance-summary{display:flex;gap:22px;padding:15px 0;color:#8e95a4;font-size:10px}.attendance-summary b{color:#e7e9ef;font-size:12px;margin-right:4px}.attendance-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #272a32}.student-name{font-size:11px;flex:1}.status-options{display:flex;gap:4px}.status-option{padding:7px 9px;border:1px solid #333742;background:#20232b;border-radius:6px;color:#9ca2b0;font-size:9px}.status-option.active.present{background:#1d382e;border-color:#3b775f;color:#73ddb0}.status-option.active.absent{background:#40262b;border-color:#7a3f49;color:#ff9da7}.status-option.active.late{background:#403322;border-color:#7a5d35;color:#f4c07a}.status-option.active.excused{background:#292c43;border-color:#4c5284;color:#b4baff}.attendance-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #2b2e37;padding-top:17px;margin-top:10px}.attendance-footer>span{font-size:9px;color:#828998}.assignment-list{display:grid;gap:12px}.assignment-card{padding:18px;display:flex;align-items:center;gap:15px}.assignment-icon{height:42px;width:42px;display:grid;place-items:center;border-radius:11px;background:#252d42;color:#a3b7ff}.assignment-main{flex:1;min-width:0}.assignment-title{font-size:12px;font-weight:700}.assignment-meta{font-size:10px;color:#969cab;margin:7px 0 10px}.assignment-meta span{margin:0 5px;color:#555b68}.assignment-main .progress{width:100%;max-width:280px}.assignment-main small{font-size:9px;color:#777f8e;display:block;margin-top:6px}.grading-note{display:flex;align-items:center;gap:13px;padding:18px}.note-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#302942;color:#c3a9ff}.grading-note>div:nth-child(2){flex:1}.grading-note b{font-size:11px}.grading-note p{font-size:10px;color:#959baa;margin:5px 0 0;line-height:1.6}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#08090dcc;display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(440px,100%);padding:23px;border-radius:15px;border:1px solid #393d49;background:#191c23;box-shadow:0 20px 70px #0008;display:grid;gap:17px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between}.modal h2{font:700 18px Manrope,sans-serif;margin:0}.modal p{font-size:11px;color:#9096a5;margin:6px 0 0}.modal label{display:grid;gap:8px;font-size:11px;color:#bfc4d0}.modal input,.modal select{width:100%;padding:11px 12px;border-radius:8px;border:1px solid #343843;background:#111319;color:#f1f2f6;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:3px}.toast{position:fixed;bottom:25px;right:25px;z-index:20;max-width:420px;display:flex;align-items:center;gap:10px;background:#1e332b;border:1px solid #3b6a55;color:#b9f0d3;padding:13px 15px;border-radius:10px;box-shadow:0 10px 35px #0005;font-size:11px}.toast span{flex:1}.toast button{border:0;background:none;color:inherit;display:grid;place-items:center}.empty{text-align:center;color:#8990a0;font-size:12px;padding:25px}@media(max-width:1100px){.sidebar{width:215px}.content{padding:25px 22px}.topbar{padding:0 22px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.lower-grid{grid-template-columns:minmax(0,1fr)}.quick-card{padding-bottom:15px}.quick-action{padding:10px 0}.calendar-layout{grid-template-columns:1fr}.day-detail{min-height:250px}}@media(max-width:700px){.sidebar{width:62px;padding:18px 7px}.brand{padding:0 3px 28px}.brand-mark{width:42px;height:42px}.brand>div:nth-child(2),.workspace-label,.nav-item span,.sidebar-bottom .nav-item span,.profile>div:nth-child(2),.profile>svg{display:none}.nav-item{justify-content:center;padding:12px 0}.nav-item svg{flex-shrink:0}.profile{justify-content:center;padding:15px 0 3px}.profile-avatar{width:35px;height:35px}.content{padding:22px 13px}.topbar{padding:0 14px;height:60px}.today{display:none}.breadcrumbs{font-size:10px}.welcome-row,.page-heading{align-items:flex-start}.welcome-row h1,h1{font-size:23px}.welcome-row p,.page-heading p{line-height:1.5}.welcome-row>.primary,.page-heading>.primary{font-size:0;padding:10px}.welcome-row>.primary svg,.page-heading>.primary svg{width:18px;height:18px}.stats-grid{gap:9px}.stat-card{padding:13px;min-height:140px}.stat-value{font-size:23px}.stat-label{line-height:1.5;min-height:32px}.schedule-card,.quick-card,.students-card,.assignments-card{padding:14px}.section-head{gap:5px}.section-head h2{font-size:13px}.text-button{font-size:9px}.schedule-item{grid-template-columns:48px 3px minmax(0,1fr) 25px;gap:8px}.schedule-info>b{font-size:10px}.quick-action b{font-size:10px}.lower-grid{gap:12px}.toolbar{flex-wrap:wrap}.searchbox{max-width:none;flex-basis:100%}.attendance-card{padding:13px}.attendance-row{flex-wrap:wrap}.student-name{min-width:calc(100% - 50px)}.status-options{width:100%;padding-left:38px}.status-option{flex:1;padding:8px 4px}.attendance-summary{gap:10px;justify-content:space-between}.attendance-summary span{font-size:9px}.attendance-footer{align-items:flex-start;flex-direction:column}.assignment-card{flex-wrap:wrap}.assignment-card>.secondary{margin-left:56px}.assignment-main{min-width:calc(100% - 60px)}.grading-note{align-items:flex-start;flex-wrap:wrap}.grading-note .text-button{margin-left:48px}.calendar-card,.day-detail{padding:14px}.day{height:38px}footer{padding:14px}.toast{left:12px;right:12px;bottom:12px}.profile{border-top:1px solid var(--line)}}.pad{padding:22px}.pad h2{font:700 16px Manrope,sans-serif;margin:0 0 14px}.pad p,.muted{font-size:12px;color:var(--muted);line-height:1.6}.toolbar>select,.pad>select{max-width:100%;min-width:200px;background:#1b1e26;color:#eee;border:1px solid #343843;padding:10px;border-radius:8px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding:13px 0;font-size:12px}.list-row span{color:var(--muted)}.actions{display:flex;gap:7px;align-items:center}.list-row b{font-weight:600}.points-input{width:90px;background:#111319;color:#fff;border:1px solid #343843;border-radius:7px;padding:9px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);padding:32px;display:grid;gap:17px}.login-card .brand{padding:0}.login-card label,.rules-form label{display:grid;gap:7px;font-size:12px;color:#c2c6d2}.login-card input,.rules-form input,.link-result input{width:100%;background:#111319;color:#fff;border:1px solid #343843;padding:12px;border-radius:8px}.error{padding:12px 15px;border-radius:8px;background:#48262b;color:#ffc0c6;font-size:12px;display:flex;justify-content:space-between}.error button{background:none;border:0}.rules-form{display:grid;gap:15px;max-width:500px}.link-result{display:flex;gap:8px;align-items:center;margin-top:14px}.link-result input{flex:1;min-width:0}.link-result a{color:#a4baff}.public-page{max-width:1150px;margin:35px auto;padding:20px}.public-page .brand{padding:0 0 30px}.public-page .brand b{font-size:22px}.public-page>p{color:var(--muted);margin-bottom:22px}.public-page table{min-width:500px}.public-page td,.public-page th{font-size:11px;padding:14px}.primary:disabled,.secondary:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.list-row,.actions{flex-wrap:wrap}.toolbar>select{width:100%}.link-result{flex-wrap:wrap}}*,*:before,*:after{box-sizing:border-box}html,body,#root{max-width:100%;min-width:0}body{overflow-x:hidden}.app-shell,.main-area,.content,.panel-page{min-width:0}.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.grade-table{width:100%;min-width:640px;border-collapse:collapse}.grade-table th,.grade-table td{padding:12px 14px;text-align:left;white-space:nowrap}.grade-table th:first-child,.grade-table td:first-child{position:sticky;left:0;background:#1b1e26;z-index:1;min-width:190px}.grade-main-row{cursor:pointer}.grade-main-row:hover td{background:#262c3a}.expand-name{border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.grade-details td{white-space:normal!important;position:static!important;background:#151922!important}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:8px}.detail-grid section{padding:12px;border:1px solid #353b47;border-radius:10px}.detail-grid h3{margin:0 0 10px;font-size:13px}.detail-grid p{font-size:12px;color:#bac2d2}.public-tools{margin:16px 0;flex-wrap:wrap}.public-tools input{background:#1b1e26;color:#fff;border:1px solid #343843;border-radius:8px;padding:11px;min-width:0;flex:1}.public-page{width:min(1250px,100%);margin:0 auto;padding:24px}.exam-row .actions{flex-wrap:nowrap}.sidebar nav{overflow-y:auto}.modal-backdrop{overflow-y:auto}.modal{max-height:calc(100dvh - 32px);overflow-y:auto}.toolbar{flex-wrap:wrap}.toolbar>*{max-width:100%}.list-row>div:first-child{min-width:0;overflow-wrap:anywhere}@media(max-width:900px){.main-area{width:calc(100% - 62px)}.sidebar{width:62px;min-width:62px;padding:15px 6px}.sidebar .brand{padding:0 2px 22px}.sidebar .brand>div:nth-child(2),.sidebar .workspace-label,.sidebar .nav-item span,.sidebar .profile>div:nth-child(2){display:none}.sidebar .nav-item{justify-content:center;padding:12px 0}.sidebar .profile{justify-content:center}.sidebar .sidebar-bottom{min-width:0}.content{padding:18px 14px}.topbar{padding:0 14px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.public-page{padding:14px}.public-page h1{font-size:23px}.public-tools>*{width:100%!important;flex-basis:100%}.main-area{width:calc(100% - 54px)}.sidebar{width:54px;min-width:54px;padding:12px 4px}.sidebar .brand-mark{width:36px;height:36px}.content{padding:12px 8px}.topbar{height:48px;padding:0 8px}.panel-page>.card,.pad{padding:13px}.toolbar>select,.pad>select{min-width:0;width:100%}.toolbar button{flex:1;justify-content:center}.list-row{flex-direction:column;align-items:stretch}.list-row .actions{justify-content:flex-start;flex-wrap:wrap}.list-row .actions button{min-height:35px}.status-options{padding-left:0;flex-wrap:wrap}.status-option{min-height:36px}.points-input{width:100px}.grade-table th:first-child,.grade-table td:first-child{min-width:145px;max-width:180px;white-space:normal}.grade-table{min-width:560px}.stats-grid{gap:8px}.stat-card{min-height:110px}.modal-backdrop{padding:8px}.modal{padding:15px}.link-result input{width:100%}.login-card{padding:20px}.exam-row .actions{flex-direction:row}}.delete-dialog{width:min(440px,100%);gap:18px}.delete-dialog p{font-size:13px;line-height:1.6;color:#c2c7d2;margin:0}.delete-confirm{border:1px solid #a84954;border-radius:8px;background:#a52e40;color:#fff;padding:11px 17px;font:600 12px Manrope,sans-serif;cursor:pointer}.delete-confirm:hover:not(:disabled){background:#bd374b}.delete-confirm:disabled{opacity:.55;cursor:wait}.delete-dialog .modal-actions{flex-wrap:wrap}@media(max-width:420px){.delete-dialog .modal-actions button{flex:1}}
