@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{--bg:#f6f8fc;--white:#fff;--ink:#20283b;--muted:#8892a7;--line:#e9edf4;--blue:#5378f5;--blue-dark:#4267e8;--nav:#7b8499;--green:#28a879;--shadow:0 8px 30px rgba(38,54,91,.045)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'Plus Jakarta Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:#fff;border-right:1px solid var(--line);padding:27px 17px 18px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 9px;font:800 17px Plus Jakarta Sans,sans-serif;letter-spacing:-.6px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,#6688ff,#4669ed);color:white;font:800 23px Plus Jakarta Sans;box-shadow:0 5px 12px #5578f53b}.brand small{display:block;margin-top:2px;color:#a0a8b8;font:500 10px 'Plus Jakarta Sans',sans-serif;letter-spacing:.2px}.nav-caption{margin:47px 10px 13px;color:#b0b7c6;font-size:9px;letter-spacing:1.2px;font-weight:700}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:10px;color:#7f899d;font-size:13px;font-weight:600;transition:.15s}.sidebar nav a span{width:19px;text-align:center;font-size:17px}.sidebar nav a:hover{background:#f7f8fc;color:#40506f}.sidebar nav a.active{background:#eef2ff;color:#4e70ee}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 8px 0;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}.sidebar-bottom small{display:inline-block;color:#a1a9b8;font-size:10px;font-weight:400;margin-top:4px}.secure-dot{width:8px;height:8px;border-radius:50%;background:#3bbd8a;box-shadow:0 0 0 4px #e9f9f1;flex-shrink:0}.main{margin-left:246px;max-width:1700px;padding:31px 38px 20px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:1.55px;font-weight:700;color:#a0a9bc;margin-bottom:7px}.topbar h1{font:800 27px Plus Jakarta Sans,sans-serif;letter-spacing:-.8px;margin:0}.top-actions{display:flex;align-items:center;gap:14px}.today{color:#8993a6;font-size:12px}.avatar,.profile-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#eaf0ff;color:#5073f1;font-weight:800}.welcome-card{position:relative;overflow:hidden;border-radius:18px;min-height:210px;padding:29px 32px;background:linear-gradient(110deg,#587bf5,#7793ff);color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 25px #5276f522}.welcome-copy{max-width:520px;position:relative;z-index:1}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #ffffff50;background:#ffffff17;border-radius:30px;padding:6px 10px;font-size:9px;letter-spacing:.9px;font-weight:700}.pill span{width:5px;height:5px;background:#baf5d8;border-radius:50%}.welcome-card h2{font:800 27px Plus Jakarta Sans,sans-serif;letter-spacing:-.8px;margin:16px 0 8px}.welcome-card p{font-size:12px;color:#edf1ff;line-height:1.7;margin:0 0 18px;max-width:450px}.button{border:0;border-radius:9px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:700;transition:.15s}.button-primary{background:var(--blue);color:#fff;box-shadow:0 5px 12px #5378f52a}.button-primary:hover{background:var(--blue-dark)}.button-light{background:#fff;color:#5274f0}.button-light:hover{background:#f1f4ff}.button-secondary{background:#eef2ff;color:#4c6eec}.button-ghost{background:#f6f7fb;color:#758098}.full-width{width:100%}.welcome-art{position:relative;width:260px;height:160px;margin-right:25px;flex-shrink:0}.art-circle{position:absolute;border-radius:50%;border:1px solid #ffffff25}.circle-one{width:190px;height:190px;right:0;top:-15px}.circle-two{width:130px;height:130px;right:30px;top:15px}.art-card{position:absolute;right:18px;top:25px;width:190px;background:#ffffffed;color:#27334e;border-radius:13px;padding:17px;box-shadow:0 15px 35px #2943b044;transform:rotate(3deg)}.art-card>span{display:block;font-size:8px;letter-spacing:1px;color:#9aa3b7;font-weight:700}.art-card strong{display:block;font:800 30px Plus Jakarta Sans;margin:7px 0}.art-track,.progress-track,.debt-bar,.table-progress{height:6px;background:#edf0f7;border-radius:10px;overflow:hidden}.art-track i,.progress-track span,.debt-bar span,.table-progress span{display:block;height:100%;border-radius:10px;background:#6685ff}.art-card small{display:block;font-size:9px;color:#9aa3b7;margin-top:9px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:17px 0}.stat-grid.three-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card,.panel{background:#fff;border:1px solid #edf0f5;border-radius:14px;box-shadow:var(--shadow)}.stat-card{padding:17px 18px 16px;min-width:0}.stat-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:17px;font-weight:700;margin-bottom:15px}.blue{background:#edf2ff;color:#5d7df4}.amber{background:#fff5e4;color:#e8a13b}.violet{background:#f3edff;color:#9871ec}.green{background:#e8f8f1;color:#27ac7d}.stat-label{font-size:11px;color:#929bb0;font-weight:600}.stat-value{font:800 25px Plus Jakarta Sans;letter-spacing:-.6px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value small{font:600 13px 'Plus Jakarta Sans';color:#a3adbf}.stat-value.money-value{font-size:19px;letter-spacing:-.4px}.stat-foot{font-size:10px;color:#a2aabc;margin-top:8px}.content-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.panel{padding:22px;margin-bottom:16px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}.panel-head h3{font:800 15px Plus Jakarta Sans;margin:0;letter-spacing:-.25px}.panel-head p{font-size:11px;color:#a0a8b8;margin:6px 0 0}.text-link{font-size:11px;color:#5878f0;font-weight:700;white-space:nowrap}.subject-progress{margin:0 0 18px}.subject-line{display:flex;align-items:center;gap:10px;margin-bottom:9px}.subject-dot{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#f0f3ff;color:#5d7df4;font-weight:800;font-size:12px}.subject-name{flex:1;min-width:0}.subject-name strong{display:block;font-size:12px}.subject-name small{display:block;color:#a2aabc;font-size:10px;margin-top:3px}.subject-line>b{font-size:11px;color:#76839b}.progress-track{height:5px;margin-left:41px}.progress-track span{background:#6987f6}.empty-state{text-align:center;padding:24px 15px}.empty-state.compact{padding:35px 15px}.empty-icon{display:grid;place-items:center;width:42px;height:42px;background:#f1f4ff;color:#6c87f4;border-radius:13px;margin:0 auto 12px;font-size:19px}.empty-state strong{font-size:12px}.empty-state p{font-size:11px;color:#9ba5b8;line-height:1.6;max-width:260px;margin:8px auto 16px}.task-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #f0f2f7}.task-check{width:17px;height:17px;border:1.5px solid #d9deea;border-radius:6px;flex-shrink:0}.task-check.in-progress{border-color:#6d87f5;background:#eef2ff;color:#6d87f5;text-align:center;line-height:13px}.task-main{flex:1;min-width:0}.task-main strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-main small{display:block;font-size:10px;color:#a0a8b9;margin-top:4px}.task-date{font-size:10px;color:#8e9ab0;white-space:nowrap}.quote-box{margin-top:18px;border-radius:12px;background:#f6f8ff;padding:13px 15px;position:relative}.quote-mark{font:800 30px Georgia;color:#91a5fa;height:22px}.quote-box p{font-size:11px;font-weight:600;line-height:1.5;margin:3px 0 9px}.quote-box span{font-size:8px;letter-spacing:1px;color:#9ba8c7;font-weight:700}.recent-panel{margin-top:16px}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:#a0a9bb;background:#fafbfe;padding:12px 14px}td{padding:14px;border-bottom:1px solid #f0f2f7;font-size:11px;color:#79849a}td strong{color:#30394d;font-size:11px}.score-pill{background:#eaf8f1;color:#2aa579;padding:5px 8px;border-radius:7px;font-size:10px;font-weight:700}.footer{padding:12px 3px;color:#a9b1c0;font-size:10px}.footer span{padding:0 5px}.notice{padding:12px 15px;border-radius:10px;margin-bottom:16px;font-size:12px}.notice.success{background:#eaf8f1;color:#20875f}.notice.warning{background:#fff5e4;color:#a56b18}.notice.error{background:#fff0f0;color:#b23b48}.two-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-stack{display:grid;gap:15px}.form-stack label,.form-grid label{display:grid;gap:7px;color:#69758c;font-size:11px;font-weight:700}.form-stack input,.form-stack select,.form-stack textarea,.form-grid input,.form-grid select,.form-grid textarea,.payment-form input,.homework-item-actions select{width:100%;border:1px solid #e4e8f1;border-radius:8px;background:#fff;padding:11px 12px;color:#30394d;outline:none;min-width:0}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,.form-grid input:focus,.form-grid select:focus{border-color:#91a6fb;box-shadow:0 0 0 3px #5378f514}.form-stack textarea{resize:vertical}.form-stack .button{justify-self:start}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.wide-label{grid-column:span 2}.form-submit{display:flex;align-items:end}.subject-block{padding:17px 0;border-top:1px solid #f0f2f7}.subject-block-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.subject-block-head h4,.homework-item h4,.debt-item h4{font-size:13px;margin:0 0 5px}.subject-block-head p,.homework-item p,.debt-head p{font-size:10px;color:#9ca5b6;margin:0}.subject-block-head form{margin:0}.lesson-row{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:12px}.lesson-toggle{width:21px;height:21px;display:grid;place-items:center;flex-shrink:0;border:1px solid #dce2ee;border-radius:7px;background:#fff;color:#fff;padding:0}.lesson-toggle.checked{background:#4ebc8d;border-color:#4ebc8d}.lesson-row>span{flex:1}.mini-action{border:0;background:transparent;color:#7180a0;font-size:10px;padding:5px}.danger-text{color:#d46b74!important}.muted{color:#a3adbd!important}.small{font-size:10px}.line-through{text-decoration:line-through}.empty-inline{padding:20px 0;color:#9ba5b8;font-size:12px}.legend-row{display:flex;align-items:center;gap:12px;padding:15px 2px;border-bottom:1px solid #f1f3f8}.legend-row>div{display:grid;gap:4px}.legend-row strong{font-size:12px}.legend-row small{font-size:10px;color:#9ca5b6}.status-dot{width:9px;height:9px;border-radius:50%}.status-dot.pending{background:#e9ad50}.status-dot.working{background:#6885f5}.status-dot.done{background:#38b788}.task-list{display:grid}.homework-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid #f0f2f7}.homework-item-main{min-width:0}.homework-item h4{margin:10px 0 6px}.homework-item p{line-height:1.6;overflow-wrap:anywhere}.status-badge{display:inline-block;padding:5px 8px;border-radius:6px;font-size:9px;font-weight:700}.status-badge.pending{background:#fff5e5;color:#c28a32}.status-badge.in_progress{background:#edf1ff;color:#5a77e9}.status-badge.done{background:#e8f8f0;color:#269e71}.homework-item-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}.homework-item-actions select{width:auto;max-width:130px;padding:8px;font-size:10px}.due-label{font-size:10px;color:#8f9ab0;white-space:nowrap}.due-label.overdue{color:#d95f6a}.table-progress{width:75px;display:inline-block;vertical-align:middle;margin-right:6px;height:5px}.table-progress span{background:#6584f4}.table-note{display:block;color:#9da6b6;margin-top:5px;max-width:250px;overflow:hidden;text-overflow:ellipsis}.debt-item{padding:17px 0;border-bottom:1px solid #f0f2f7}.debt-head{display:flex;justify-content:space-between;gap:15px}.debt-remaining{text-align:right;white-space:nowrap}.debt-remaining strong{font:800 15px Plus Jakarta Sans;display:block}.debt-remaining small{font-size:9px;color:#a2aabc}.debt-bar{margin:14px 0 7px}.debt-bar span{background:#3db68a}.debt-meta{display:flex;justify-content:space-between;font-size:10px;color:#9ba5b6}.debt-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}.payment-form{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.payment-form input{max-width:150px;padding:9px;font-size:10px}.payment-form input[type=date]{max-width:140px}.payment-form .button{padding:9px 10px;white-space:nowrap;font-size:10px}.profile-row{display:flex;align-items:center;gap:12px;padding:8px 0 20px}.profile-row strong{font-size:13px}.profile-row p{font-size:10px;color:#a0a8b8;margin:5px 0 0}.profile-avatar{width:45px;height:45px;font-size:16px}.security-note{display:flex;gap:12px;padding:15px;background:#f7fbf9;border-radius:10px}.security-note strong{font-size:11px}.security-note p{font-size:10px;line-height:1.6;color:#8f9d9a;margin:5px 0 0}.login-body{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(ellipse at top left,#eaf0ff 0,transparent 38%),#f7f8fc}.login-card{width:min(100%,420px);background:#fff;border:1px solid #edf0f5;border-radius:20px;padding:33px;box-shadow:0 20px 70px #263b6810}.login-brand{padding:0}.login-heading{text-align:center;margin:30px 0 25px}.login-lock{width:49px;height:49px;margin:0 auto 15px;border-radius:16px;display:grid;place-items:center;background:#edf2ff;color:#5d7cf1;font-size:23px}.login-heading h1{font:800 23px Plus Jakarta Sans;letter-spacing:-.6px;margin:0}.login-heading p{font-size:12px;color:#99a2b4;margin:8px 0 0}.login-foot{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:22px;color:#a2aabb;font-size:10px}.login-foot .secure-dot{width:6px;height:6px}
@media(max-width:1150px){.main{padding:26px 23px;margin-left:220px}.sidebar{width:220px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-art{margin-right:0}.content-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{position:static;width:auto;height:auto;padding:13px 15px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0}.nav-caption,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:14px;gap:5px}.sidebar nav a{white-space:nowrap;padding:9px 11px;font-size:11px}.sidebar nav a span{font-size:14px;width:auto}.main{margin:0;padding:22px 14px}.topbar{margin-bottom:18px}.topbar h1{font-size:23px}.today{display:none}.welcome-card{padding:23px;min-height:0}.welcome-card h2{font-size:23px}.welcome-art{display:none}.welcome-copy{max-width:none}.stat-grid,.stat-grid.three-stats{gap:10px}.stat-card{padding:14px}.stat-value{font-size:22px}.stat-value.money-value{font-size:17px}.panel{padding:17px}.two-panels{grid-template-columns:1fr;gap:0}.form-grid{grid-template-columns:1fr}.wide-label{grid-column:auto}.form-submit{align-items:stretch}.homework-item{align-items:flex-start;flex-direction:column}.homework-item-actions{width:100%;flex-wrap:wrap}.payment-form{flex-wrap:wrap}.payment-form input{max-width:none;flex:1 1 120px}.payment-form input[type=date]{max-width:none}.debt-actions{align-items:flex-start;flex-wrap:wrap}.top-actions{gap:8px}}
@media(max-width:390px){.stat-grid,.stat-grid.three-stats{grid-template-columns:1fr 1fr}.stat-card{padding:12px}.stat-value{font-size:20px}.stat-value.money-value{font-size:15px}.panel-head{align-items:flex-start}.text-link{font-size:10px}.login-card{padding:25px 20px}}

/* Lucide-style SVG navigation icons */
.sidebar nav a .nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    color: #7b8aa7;
}

.sidebar nav a .nav-icon svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sidebar nav a.active .nav-icon,
.sidebar nav a:hover .nav-icon {
    color: #5275f8;
}

/* Fix sidebar SVG icon appearance */
.sidebar a .nav-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    margin-right: 10px;
    color: #7183a5;
}

.sidebar a .nav-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sidebar a.active .nav-icon,
.sidebar a:hover .nav-icon {
    color: #5275f8 !important;
}

/* Final fix: keep all navigation SVGs as blue outline icons */
.sidebar nav a .nav-icon {
    color: #7183a5 !important;
}

.sidebar nav a.active .nav-icon,
.sidebar nav a:hover .nav-icon {
    color: #5275f8 !important;
}

.sidebar nav a .nav-icon svg,
.sidebar nav a .nav-icon svg * {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

/* Consistent outline icons for statistic cards */
.stat-icon svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: none !important;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Compact mock exam statistic cards */
.stat-grid.three-stats .stat-card {
    align-self: start;
    min-height: 0;
}

/* Final sizing for dashboard and exam statistic icons */
.stat-card .stat-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

.stat-card .stat-icon svg {
    display: block !important;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    min-height: 19px !important;
    max-width: 19px !important;
    max-height: 19px !important;
    flex: 0 0 19px !important;
}

/* MyProgress statistics */
.stats-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 30px;margin-bottom:17px;border-radius:17px;background:linear-gradient(115deg,#eef2ff,#f8faff);border:1px solid #e7ecff}
.stats-kicker{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#6b83e8}
.stats-intro h2{font:800 24px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.7px;color:#2d3850;margin:9px 0 7px}
.stats-intro p{margin:0;color:#8590a6;font-size:12px;line-height:1.6}
.stats-intro-mark{width:58px;height:58px;border-radius:17px;background:#fff;color:#6482f5;display:grid;place-items:center;flex-shrink:0}
.stats-intro-mark svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.stats-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px}
.stats-tag{font-size:10px;font-weight:700;color:#6882ec;background:#eef2ff;padding:7px 9px;border-radius:8px;white-space:nowrap}
.stats-chart{display:block;width:100%;height:auto;overflow:visible}
.stats-empty{padding:38px 12px;text-align:center;color:#9ba5b8;font-size:12px;background:#fafbfe;border-radius:10px}
.stats-insight{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px;border-radius:10px}
.stats-insight>span{font-size:20px;font-weight:800}.stats-insight strong,.stats-insight small{display:block}.stats-insight strong{font-size:11px}.stats-insight small{font-size:10px;margin-top:4px}
.stats-insight.good{background:#eaf8f1;color:#238b66}.stats-insight.attention{background:#fff5e6;color:#ae792a}
.stats-subject{padding:12px 0;border-bottom:1px solid #f0f2f7}.stats-subject:last-child{border-bottom:0}
.stats-subject-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.stats-subject-head strong{font-size:11px}.stats-subject-head>span{font-size:11px;font-weight:800;color:#5878ef}.stats-subject-head small{font-weight:500;color:#a0a8b8;font-size:10px}
.stats-bar{height:7px;background:#edf0f7;border-radius:10px;position:relative;overflow:visible}.stats-bar span{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#6885f5,#8ea4ff)}.stats-bar i{position:absolute;top:-3px;width:2px;height:13px;background:#e6a447;border-radius:3px;transform:translateX(-1px)}
.stats-subject>small{display:block;color:#9ba5b8;font-size:10px;margin-top:7px}
.stats-goals-form{display:grid;gap:5px}.goal-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,2fr) 48px;align-items:center;gap:17px;padding:14px 0;border-bottom:1px solid #f0f2f7}
.goal-row>span strong,.goal-row>span small{display:block}.goal-row>span strong{font-size:12px}.goal-row>span small{font-size:10px;color:#9ba5b8;margin-top:5px}.goal-row input[type=range]{width:100%;accent-color:#6482f5;cursor:pointer}.goal-row output{text-align:right;font-size:12px;font-weight:800;color:#5878ef}
.stats-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.analysis-card{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:12px;border:1px solid transparent}.analysis-card.good{background:#eff9f4;border-color:#e1f4ea}.analysis-card.neutral{background:#f4f6ff;border-color:#e9edff}.analysis-card.attention{background:#fff7ec;border-color:#ffeed8}
.analysis-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#fff;flex-shrink:0;font-weight:800;font-size:15px;color:#6482f5}.analysis-card.good .analysis-icon{color:#29a477}.analysis-card.attention .analysis-icon{color:#d69a3e}
.analysis-card strong{display:block;font-size:11px;color:#39445a;margin:3px 0 6px}.analysis-card p{font-size:10px;line-height:1.7;color:#7f8ba1;margin:0}
.stats-next-step{display:flex;gap:12px;margin-top:15px;padding:16px;border-radius:12px;background:#f7f8fc;border:1px solid #edf0f5}.stats-next-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#eaf0ff;color:#5d7df4;flex-shrink:0}.stats-next-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.stats-next-step strong{font-size:11px}.stats-next-step p{font-size:11px;line-height:1.7;color:#7f8ba1;margin:5px 0 0}
@media(max-width:1000px){.stats-columns{grid-template-columns:1fr}}
@media(max-width:760px){.stats-intro{padding:22px}.stats-intro h2{font-size:21px}.stats-analysis-grid{grid-template-columns:1fr}.goal-row{grid-template-columns:1fr 44px;gap:8px 12px}.goal-row>span{grid-column:1/-1}.goal-row input[type=range]{grid-column:1}.goal-row output{grid-column:2;grid-row:2}.stats-columns{gap:0}}

/* Homework points */
.homework-points-grid { margin-bottom: 18px; }
.homework-points-grid .stat-card strong { font-variant-numeric: tabular-nums; }
.bonus-toggle { display:flex; align-items:center; gap:9px; }
.bonus-toggle input { width:auto; }
.points-explainer { margin-top:14px; color:var(--muted, #777); line-height:1.55; }
.homework-score-line { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:10px; font-size:13px; color:var(--muted, #777); }
.homework-score-line strong { color:var(--text, inherit); }
.homework-item-actions .score-form { display:flex; align-items:end; flex-wrap:wrap; gap:8px; }
.homework-item-actions .score-form label { display:flex; align-items:center; gap:6px; font-size:13px; }
.homework-item-actions .score-form input { width:82px; min-width:0; }
.homework-item-actions .score-form .button { white-space:nowrap; }
@media (max-width:700px) {
  .homework-item-actions .score-form { width:100%; }
  .homework-item-actions .score-form label { flex:1; }
}


/* Hotfix: readable homework points cards and responsive layout */
.homework-points-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
  gap: 14px !important;
  width: 100%;
  margin: 16px 0 18px;
}
.homework-points-grid .stat-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  width: auto !important;
  box-sizing: border-box;
  padding: 18px !important;
  overflow-wrap: anywhere;
}
.homework-points-grid .stat-card > span,
.homework-points-grid .stat-card > strong,
.homework-points-grid .stat-card > small {
  display: block !important;
  width: 100%;
  margin: 0 !important;
  line-height: 1.4;
}
.homework-points-grid .stat-card > span { font-size: 13px; }
.homework-points-grid .stat-card > strong { font-size: 28px; font-weight: 750; }
.homework-points-grid .stat-card > small { font-size: 12px; opacity: .75; }
.homework-points-summary { overflow: hidden; }
.homework-points-summary .panel-head { display: block; margin-bottom: 10px; }
.homework-points-summary .points-explainer { white-space: normal; overflow-wrap: anywhere; }
.homework-item-actions { min-width: 0; }
.homework-score-line { line-height: 1.5; }
