:root{font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:#122448;background:#f5f8fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:1080px;background:#f5f8fc}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;flex:0 0 250px;background:linear-gradient(180deg,#132b50,#0d2241);color:#fff;padding:28px 16px 22px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 16px 32px}.brand-mark{width:42px;height:42px;border-radius:12px;background:#2aa7ef;display:grid;place-items:center;font-weight:700;font-size:22px}.brand-name{font-size:21px;font-weight:700;letter-spacing:1px}.brand-subtitle{font-size:11px;color:#95aacc;margin-top:4px}.nav-list{display:flex;flex-direction:column;gap:8px}.nav-item{border:0;background:transparent;color:#ced8e9;text-align:left;font-size:16px;padding:15px 17px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:14px}.nav-item:hover{background:#203d67;color:#fff}.nav-item.active{background:#1679ed;color:#fff;box-shadow:0 8px 18px #071a352c}.nav-icon{width:22px;text-align:center;font-size:22px;line-height:1}.developer-mark{margin-top:auto;color:#8394af;font-size:14px;padding:20px 20px 4px}.main-content{flex:1;min-width:0;padding:0 42px 48px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;color:#8290a6;font-size:14px;border-bottom:1px solid #e6edf5}.breadcrumb span{color:#122448}.account-area{display:flex;align-items:center;gap:9px;color:#263a5c}.notification-dot{width:10px;height:10px;background:#ed5b5b;border-radius:50%;display:inline-block;margin-right:18px}.avatar{height:34px;width:34px;border-radius:50%;display:grid;place-items:center;background:#dbe7f8;color:#2563a8;font-weight:700}.page{display:none;padding-top:42px}.page.active-page{display:block}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1{font-size:38px;margin:0 0 8px;letter-spacing:1px}.page-heading p{margin:0;color:#7787a0;font-size:16px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card,.content-card,.empty-card{background:#fff;border:1px solid #e8eef6;border-radius:18px;box-shadow:0 12px 28px #14335d0b}.feature-card{min-height:460px;padding:26px 24px;display:flex;flex-direction:column}.task-card{background:linear-gradient(135deg,#fffaf5,#fff)}.homework-card{background:linear-gradient(135deg,#f6faff,#fff)}.points-card{background:linear-gradient(135deg,#f8fff9,#fff)}.feature-heading{display:flex;align-items:center;gap:14px}.feature-heading h2{font-size:23px;margin:0 0 6px}.feature-heading p{font-size:14px;color:#7787a0;margin:0}.feature-icon{height:54px;width:54px;border-radius:16px;display:grid;place-items:center;font-size:30px;font-weight:700}.task-card .feature-icon{background:#ffead8;color:#ef6b24}.homework-card .feature-icon{background:#dcecff;color:#2477e6}.points-card .feature-icon{background:#ddf6e7;color:#0d9860}.chevron{margin-left:auto;color:#73839b;font-size:32px}.task-list{margin:30px 0 20px}.task-row{display:flex;align-items:center;gap:12px;padding:16px 2px;border-bottom:1px solid #eef2f7;font-size:15px}.task-row input{appearance:none;width:20px;height:20px;border:2px solid #b7c2d2;border-radius:5px;background:#fff;cursor:pointer}.task-row input:checked{background:#267ee5;border-color:#267ee5;position:relative}.task-row input:checked:after{content:"✓";color:#fff;position:absolute;left:3px;top:-2px;font-size:14px}.task-row .time{margin-left:auto;color:#8190a5;font-size:13px}.primary-button,.outline-button,.danger-button,.soft-button{border:0;border-radius:10px;padding:13px 16px;font-family:inherit;font-size:15px;cursor:pointer;font-weight:600}.primary-button{margin-top:auto;background:#1977ea;color:#fff;box-shadow:0 7px 14px #1977ea2b}.primary-button:hover{background:#0e66d6}.compact{margin-top:0;padding:12px 18px}.metric-box{margin:38px 0 24px;min-height:190px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center}.blue-metric{background:#eef6ff;color:#315d9d}.green-metric{background:#effbf3;color:#1b7551}.metric-box span{font-size:17px}.metric-box strong{font-size:72px;line-height:1.1;margin-top:10px}.metric-box em{font-style:normal;margin-top:-5px}.dual-actions{display:flex;gap:12px;margin-top:auto}.soft-button{flex:1}.add-button{background:#fff0df;color:#bd6400}.minus-button{background:#ffeaeb;color:#d24145}.content-card{padding:28px}.timetable-card{padding:24px 18px 18px}.card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 4px 18px}.card-toolbar h2{margin:0;font-size:22px}.toolbar-actions{display:flex;align-items:center;gap:10px}.toolbar-actions label{font-size:14px;color:#6f7e95}.toolbar-actions select,.term-select{border:1px solid #dce5f0;background:#fff;color:#243756;border-radius:9px;padding:10px 12px;font:inherit}.outline-button{background:#fff;border:1px solid #c8d7ea;color:#2374d8}.danger-button{background:#fff5f5;border:1px solid #ffb5b5;color:#e34343}.table-tip{margin:14px 4px 0;color:#8190a5;font-size:13px}.timetable-wrap{overflow:auto;border:1px solid #e1eaf4;border-radius:12px}.timetable{border-collapse:separate;border-spacing:0;min-width:980px;width:100%;table-layout:fixed}.timetable th,.timetable td{border-right:1px solid #e4ebf4;border-bottom:1px solid #e4ebf4;padding:9px;text-align:center}.timetable th{height:48px;background:#f2f7fd;font-size:15px}.timetable th:first-child{width:150px}.timetable td:first-child{background:#fbfcfe;text-align:left}.period-name{font-weight:700;display:block}.period-time{color:#8a98aa;font-size:12px;display:block;margin-top:4px}.lesson-cell{min-height:52px;border-radius:10px;padding:8px;background:#eaf3ff;color:#2776d9;cursor:pointer}.lesson-cell:hover{outline:2px solid #8dbdf7}.lesson-cell.empty{background:#fff;color:#a9b5c5;font-size:22px}.lesson-cell:nth-child(2n){background:#fff0f2;color:#db5a74}.lesson-cell small{display:block;font-size:11px;margin-top:4px;color:inherit}.term-select{min-width:250px}.empty-card{min-height:320px;display:grid;place-items:center;text-align:center;padding:60px;color:#7787a0}.empty-card h2{color:#1e3358;margin:8px 0}.empty-card p{margin:0}.empty-icon{font-size:48px;color:#2477e6}@media(max-width:1250px){.main-content{padding-left:26px;padding-right:26px}.feature-card{padding:20px 18px}.feature-heading h2{font-size:20px}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}}
