/* Visual baseline: app/docs/ui-redesign-v2.html + ui-workspace-visual.css.
   Presentation only: no role, student-stage or financial business mutations. */
:root{--next-purple:#6657db;--next-line:#e1e6f1;--next-muted:#68758c;--primary:#6657db;--muted:#68758c}
#appView{font:13px/1.6 "Microsoft YaHei","Microsoft YaHei UI","PingFang SC",sans-serif;color:#253049;background:radial-gradient(ellipse 620px 370px at 87% 3%,#e9e3fc88,transparent 80%),radial-gradient(ellipse 580px 440px at 15% 95%,#dff2f788,transparent 80%),#f2f4fa}
#appView :is(h1,h2,h3,p,span,strong,small,label,td,th,a,button,input,select,textarea,summary){font-family:"Microsoft YaHei","Microsoft YaHei UI","PingFang SC",sans-serif}
#appView :is(h1,h2,h3){color:#253049;line-height:1.5}#appView h2{font-size:14px;font-weight:600}#appView h3{font-size:13px;font-weight:500}
#appView :is(button,input,select,textarea){font-size:12px}#appView :is(.line-btn,.primary-btn,.danger-btn){min-height:32px;padding:6px 12px;border-radius:7px;white-space:nowrap;font-weight:500;line-height:1.5;box-sizing:border-box}
#appView .primary-btn{background:linear-gradient(120deg,#7765e7,#6353d8);border:1px solid #6c59d8;box-shadow:0 4px 11px #7358d42a,inset 0 1px 0 #ffffff28;color:white}
#appView .line-btn{background:#ffffffd9;border-color:#dce2ee;color:#53617a}
#appView :is(.line-btn,.primary-btn){transition:transform .16s,box-shadow .16s,background .16s}#appView :is(.line-btn,.primary-btn):hover{transform:translateY(-1px);box-shadow:0 5px 14px #7358d426}#appView :is(.line-btn,.primary-btn):active{transform:translateY(0)}
#appView .panel{background:linear-gradient(165deg,#fff,#fefeff);border:1px solid #e2e6f1;border-radius:12px;box-shadow:0 3px 15px #403b6f04,inset 0 1px 0 #fff;overflow:hidden}
#appView .section-head{padding:15px 20px;min-height:52px;border-bottom:1px solid #edf0f6;background:linear-gradient(100deg,#fff,#faf9fe88);gap:12px}
#appView .section-head h2{margin:0;font-size:14px}#appView .panel-body{padding:18px 20px}
#appView .pill{font-size:11px;font-weight:500;border:0;border-radius:5px;padding:3px 8px;line-height:1.5;background:#f0f2f7;color:#68758c}
#appView .pill.green{background:#eaf5ef;color:#267f65}#appView .pill.amber{background:#fbf0df;color:#a47429}#appView .pill.cyan{background:#edf5fb;color:#547b99}
#appView .topbar{min-height:60px;margin:0;padding:12px 28px;border:0;border-bottom:1px solid #e3e6f0;border-radius:0;background:#ffffffd9;backdrop-filter:blur(15px);box-shadow:0 1px 0 #ffffffa0;gap:12px;flex-wrap:wrap}
#pageTitle{font-size:12px!important;font-weight:500;color:#53617a;white-space:nowrap}#pageTitle:before{content:"工作空间　/　";color:#8b94a5;font-weight:400}
#next-page-search{order:2;width:230px;margin-left:auto;background:#f7f6fd;border-color:#e5e2f2;font-size:11px}
#next-contact-toggle{order:3;font-size:11px!important}#next-student-selector{order:1;font-size:11px!important;max-width:170px}
#next-development-banner{order:4;margin:0;padding:4px 8px;color:#80709c;background:#faf7ff;border:1px solid #e9e2f4;white-space:nowrap;font-size:10px}
#appView .page-lead{display:none}#appView .workbench-head>div:first-child{display:none}#appView .workbench-head{min-height:0;padding:0;border:0;background:transparent;box-shadow:none;margin:0 0 16px}
#next-product-brand{display:flex;align-items:center;gap:11px;padding:2px 12px 20px;flex:none}#next-product-brand strong{font-size:23px;font-weight:700;letter-spacing:1px;color:#253049}
.next-brand-mark{width:29px;height:29px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(-8deg);filter:drop-shadow(0 3px 5px #7862c62b)}.next-brand-mark i{border-radius:3px;background:#6355da}.next-brand-mark i:nth-child(2){background:#9d91ee}.next-brand-mark i:nth-child(3){background:#81bcd7}.next-brand-mark i:nth-child(4){background:#7565df}
#appView .rail-brand{font-size:12px;font-weight:500;line-height:1.6;text-align:left;padding:12px;background:linear-gradient(125deg,#f6f3ff,#f8fbff);border:1px solid #e7e2f6;border-radius:9px;min-height:64px;height:auto;margin-bottom:10px;color:#53617a;overflow-wrap:anywhere}
#appView .app-rail{gap:8px;background:linear-gradient(165deg,#ffffff 55%,#f7f6ff)}#appView .rail-nav{gap:2px;scrollbar-width:thin;overflow-x:hidden}
#appView .nav-btn{min-height:40px;padding:9px 13px;font-size:12px}#appView .nav-btn span{font-size:12px;font-weight:400}#appView .nav-btn.active{background:linear-gradient(100deg,#ede8ff,#f2efff);box-shadow:inset 2px 0 0 #8574e5}#appView .nav-btn.active span{font-weight:600}
.next-nav-group{margin:3px 0}.next-nav-group>summary{padding:12px 13px;font-size:12px;color:#637087}.next-subnav{padding:4px 0 5px 12px;margin-left:9px;border-left:1px solid #e6e2f3}#appView .next-subnav .nav-btn{padding-left:12px;min-height:34px}#appView .next-subnav .nav-btn span{font-size:11px}
#appView .rail-logout{min-height:32px;padding:6px 12px;font-size:11px;border:0;background:transparent;text-align:left}#next-function-finder{border-top:1px solid #e1e6f1!important;border-radius:0!important;padding-top:13px!important;margin-top:6px}
#appView #profileBtn{width:100%;display:flex;align-items:flex-start;flex-direction:column;text-align:left;min-height:52px;border:0;border-top:1px solid #e1e6f1;background:transparent;border-radius:0;padding:10px 12px;box-shadow:none}#currentRole{font-size:10px;color:#68758c}#currentUser{font-size:11px;font-weight:500;color:#53617a}
#appView .next-profile-identity{padding:22px 24px;background:radial-gradient(ellipse 340px 200px at 85% 0,#f0ebff88,transparent),#fff}#appView .next-profile-identity h2{font-size:19px}#appView .next-profile-identity p{font-size:11px;color:#68758c}
.next-avatar{background:linear-gradient(140deg,#eeebff,#e9f0fb);border:1px solid #eeebfa}.next-profile-facts{background:#fafbff}.next-profile-facts small{font-size:10px}.next-profile-facts strong{font-size:12px}
#appView .next-profile-grid{gap:18px}.next-target .panel-body{display:grid;gap:15px}.next-target .panel-body>.row:first-child{border:1px solid #e4def8;background:radial-gradient(ellipse 210px 100px at 95% 0,#e5e1ff99,transparent),#f7f5ff;border-radius:8px;padding:15px;align-items:center;flex-wrap:wrap}.next-target .panel-body>.row:first-child>div:first-child{flex:1;min-width:0}.next-target strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.next-target p{font-size:11px;color:#68758c}.next-target details{font-size:11px}
.next-archive-grid{padding:0 20px;gap:0 18px}.next-archive-item{padding:17px 0}.next-archive-item strong{font-size:11px}.next-archive-item strong:before{content:"PDF / 文档";display:block;font-size:9px;font-weight:500;color:#9584b7;margin-bottom:6px}.next-archive-item p{font-size:10px}
#appView .next-table th{font-size:11px;font-weight:500;background:#f7f8fc;color:#68758c;padding:13px 20px}#appView .next-table td{font-size:12px;padding:16px 20px;border-color:#edf0f6}#appView .next-table tr:hover td{background:#faf9fe}.next-table-person{display:flex;align-items:center;gap:12px}.next-table-person .next-avatar{width:30px;height:34px;border-radius:7px;font-size:12px;flex:none}.next-table-person strong{font-size:12px;font-weight:500}
.next-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.next-stat{padding:20px;position:relative;border:1px solid #e2e6f1;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 3px 12px #4c3d7e05;min-width:0;isolation:isolate;transition:transform .2s,box-shadow .2s}.next-stat:after{content:"";position:absolute;right:-30px;top:-40px;width:170px;height:170px;background:radial-gradient(ellipse,#e7e0ffaa,transparent 70%);z-index:-1}.next-stat-1{background:linear-gradient(135deg,#fff,#fffbf4)}.next-stat-2{background:linear-gradient(135deg,#fff,#f5fcfa)}.next-stat-3{background:linear-gradient(135deg,#fff,#f5faff)}.next-stat>span{font-size:11px;color:#68758c;display:block;padding-right:32px}.next-stat>strong{display:block;font-size:30px;line-height:1.3;font-weight:600;margin:12px 0 9px;color:#253049}.next-stat>small{font-size:10px;color:#68758c;display:block}.next-stat-orbit{position:absolute;right:18px;top:17px;background:#f4f0ff;border:1px solid #eee7fb;color:#9884ca;border-radius:12px;width:36px;height:36px;display:grid;place-items:center;box-shadow:0 4px 12px #7364c210,inset 0 1px 0 #fff;transform:perspective(250px) rotateY(-12deg) rotateX(8deg)}
.next-home-students{margin-bottom:18px}.next-home-students .section-head{display:flex;justify-content:space-between;align-items:center}#next-home-scopes{margin:0;gap:3px;background:#f2f3f9;border-radius:7px;padding:3px}#next-home-scopes button{font-size:11px!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:5px 12px!important;min-height:28px!important;color:#68758c!important}#next-home-scopes button[aria-pressed=true]{background:#fff!important;color:#6657db!important;box-shadow:0 1px 5px #64588e14!important}
.next-home-filters{display:flex;gap:3px;padding:14px 20px;border-bottom:1px solid #edf0f6}.next-home-filters button{font-size:11px!important;border:0;border-radius:6px;background:transparent;color:#68758c;padding:5px 10px}.next-home-filters button.active{background:#efedfc;color:#6657db}
.next-panel-footer{padding:10px 20px;background:#fcfcfe;border-top:1px solid #edf0f6;font-size:10px;color:#68758c}.next-home-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.next-chart-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:25px;align-items:center}.next-donut{width:152px;height:152px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#d9b574 0 var(--pending),#79b69e var(--pending) var(--formal),#8ab6d4 var(--formal) var(--completed),#a293dc var(--completed) 100%);box-shadow:0 7px 22px #7364c215;position:relative;transform:perspective(650px) rotateX(8deg);animation:next-chart-enter .5s ease-out}.next-donut>div{width:116px;height:116px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 2px 5px #7364c209}.next-donut strong{font-size:26px;font-weight:600}.next-donut small{font-size:10px;color:#68758c}.next-chart-legend{display:grid;gap:14px}.next-chart-row{display:grid;grid-template-columns:1fr auto;gap:5px;color:#68758c;font-size:10px;--chart-tone:#a293dc}.next-chart-row.amber{--chart-tone:#d9b574}.next-chart-row.green{--chart-tone:#79b69e}.next-chart-row.cyan{--chart-tone:#8ab6d4}.next-chart-row>span{display:flex;align-items:center;gap:7px}.next-chart-row>span>i{width:6px;height:6px;border-radius:50%;background:var(--chart-tone);flex:none}.next-chart-row strong{color:#53617a;font-size:12px;font-weight:600}.next-chart-row strong small{font-size:9px;font-weight:400}.next-chart-track{grid-column:1/-1;background:#f0edf8;height:4px;border-radius:4px;overflow:hidden}.next-chart-track i{height:100%;display:block;background:var(--chart-tone);border-radius:4px;transition:width .4s}
.next-home-lessons{padding:0 20px}.next-home-lesson{display:flex;align-items:center;gap:13px;width:100%;padding:16px 0;border:0;border-bottom:1px solid #edf0f6;background:transparent;text-align:left}.next-home-lesson:last-child{border:0}.next-home-lesson>span:nth-child(2){flex:1;min-width:0}.next-home-lesson strong{font-size:12px;font-weight:500;display:block}.next-home-lesson small{display:block;font-size:10px;color:#68758c;margin-top:5px}.next-lesson-icon{border:1px solid #e8e6f2;border-radius:8px;background:#faf9ff;color:#9584b7;width:38px;height:42px;display:grid;place-items:center;flex:none}.next-original-home{margin-top:18px}.next-original-home>summary{font-size:11px;color:#68758c;padding:10px;cursor:pointer}
#appView .grid.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}#appView .metric-card{padding:20px;border:1px solid #e2e6f1;border-radius:12px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 3px 12px #4c3d7e05}#appView .metric-card>span{font-size:11px;color:#68758c}#appView .metric-card>strong{font-size:28px;color:#253049}#appView .metric-card small{font-size:10px;color:#68758c}
@keyframes next-chart-enter{from{opacity:0;transform:perspective(650px) rotateX(8deg) translateY(8px)}to{opacity:1;transform:perspective(650px) rotateX(8deg) translateY(0)}}
@media(min-width:901px){#appView{grid-template-columns:208px minmax(0,1fr)}#appView .app-rail{padding:22px 14px 14px}#appView .main{padding:0;display:block}#content{max-width:1512px;padding:24px 28px 30px;margin:auto}body.next-contact-open #appView .contact-pane{left:208px}body[data-page=messages] #appView{grid-template-columns:208px 290px minmax(0,1fr)}body[data-page=messages] #content{max-width:none;padding:0}}
@media(max-width:1200px){.next-chart-layout{grid-template-columns:120px minmax(0,1fr);gap:16px;padding:20px}.next-donut{width:118px;height:118px}.next-donut>div{width:88px;height:88px}.next-home-students .section-head{flex-wrap:wrap}.next-stat{padding:16px}.next-stat-orbit{right:12px;width:30px;height:30px}.next-stat>strong{font-size:26px}}
@media(max-width:1000px){.next-home-bottom{grid-template-columns:1fr}.next-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.next-stat>span{min-height:18px}#next-development-banner{font-size:9px}#appView .topbar{padding:12px 18px}#next-contact-toggle{max-width:100px}#next-page-search{width:180px}#content{padding:20px 18px}}
@media(max-width:700px){.next-stats{gap:10px}.next-profile-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.next-home-students .section-head{padding:12px}#next-home-scopes{max-width:100%;overflow-x:auto}.next-home-students .next-table{overflow-x:auto}.next-home-students table{min-width:620px}.next-chart-layout{grid-template-columns:120px minmax(0,1fr)}#next-product-brand{display:none}#next-page-search{max-width:50%}#next-student-selector{max-width:130px}}
@media(hover:hover){.next-stat:hover{transform:translateY(-3px);box-shadow:0 9px 26px #7364c218}.next-home-lesson:hover{background:#faf9fe}}
.next-activity-list{padding:8px 20px}.next-activity-list article{display:grid;grid-template-columns:6px minmax(0,1fr) auto;gap:12px;padding:16px 0;border-bottom:1px solid #edf0f6}.next-activity-list article:last-child{border:0}.next-activity-list article>i{width:5px;height:5px;border-radius:50%;background:#a499d9;margin-top:8px}.next-activity-list strong{font-size:12px;font-weight:500}.next-activity-list p{font-size:11px;color:#68758c;margin:5px 0 0}.next-activity-list time{font-size:10px;color:#738097;max-width:115px;overflow-wrap:anywhere}.next-profile-history .next-course-card{min-width:0}
.next-assignment-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.next-assignment-layout .assignment-create{margin:0!important}.next-assignment-layout .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px}.next-assignment-layout .field{min-width:0;margin:0}.next-assignment-layout .field.full{grid-column:1/-1}.next-assignment-layout .field>label{display:block;font-size:12px;margin-bottom:9px;color:#53617a}.next-assignment-layout :is(input:not([type=file]),textarea){width:100%;border:1px solid #dfe4ee;border-radius:8px;background:#fff;padding:10px 12px;box-shadow:none;min-height:38px}.next-assignment-layout textarea{height:110px;resize:vertical}.next-assignment-layout .field:last-child{display:flex;justify-content:flex-end;border-top:1px solid #edf0f6;padding-top:18px}.next-assignment-layout .field-hint{font-size:10px;color:#68758c;line-height:1.8}.next-context-student{display:flex;align-items:center;gap:14px;padding:5px 0 24px;border-bottom:1px solid #e1e6f1}.next-context-student strong{font-size:15px;font-weight:600}.next-context-student p{font-size:11px;color:#68758c;margin:5px 0 0}.next-context-row{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #edf0f6;gap:15px;font-size:12px}.next-context-row>span{color:#68758c}.next-context-row strong{font-size:12px;font-weight:500}.next-context-note{padding:17px;margin-top:24px;background:#f7f8fc;border-radius:9px;font-size:11px;color:#68758c;line-height:2}
.next-upload-field{padding:20px;border:1px dashed #d9d1f2;border-radius:9px;background:linear-gradient(125deg,#faf8ff,#fdfdff);text-align:center}.next-upload-field>label:before{content:"↑";display:block;font-size:28px;line-height:1.6;color:#a293dc}.next-upload-field input[type=file]{max-width:100%;padding:10px;font-size:11px!important}.next-upload-field input[type=file]::file-selector-button{background:#fff;border:1px solid #dce2ee;border-radius:7px;padding:8px 12px;color:#6657db;font:inherit;cursor:pointer}.next-upload-selection{display:grid;gap:5px;margin:8px 0}.next-upload-selection span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#68758c;font-size:11px}.next-resource-options{max-height:45vh;overflow:auto;margin:16px 0;display:grid;gap:8px}.next-resource-options label{display:flex!important;gap:12px!important;align-items:center;padding:12px;border:1px solid #e1e6f1;border-radius:8px;min-width:0}.next-resource-options label[hidden]{display:none!important}.next-resource-options label>span{display:block;min-width:0;flex:1}.next-resource-options strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next-resource-options small{font-size:10px;color:#68758c;display:block}.next-resource-options input{flex:none;width:16px;height:16px}
@media(max-width:1100px){.next-assignment-layout{grid-template-columns:1fr}.next-assignment-context{display:none}}
.next-teachers-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.next-teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.next-teacher-card{padding:18px}.next-teacher-person{display:flex;align-items:center;gap:11px}.next-teacher-person>.next-avatar{height:36px;width:36px;font-size:15px;border-radius:9px;flex:none}.next-teacher-person>div{flex:1;min-width:0}.next-teacher-person h3{font-size:13px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next-teacher-person p{font-size:10px;color:#68758c;margin:4px 0 0}.next-teacher-person .pill{font-size:9px!important;flex:none}.next-teacher-slots{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px;font-size:11px;color:#68758c;line-height:1.8;margin:15px 0}.next-teacher-card footer{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid #edf0f6}.next-teacher-card footer button{font-size:10px!important;min-height:28px!important;padding:4px 9px!important}
@media(max-width:1200px){.next-teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.next-teacher-grid{grid-template-columns:1fr}}
.next-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.next-pagination{display:flex;align-items:center;gap:10px;white-space:nowrap}.next-pagination button{border:1px solid #e1e6f1;border-radius:5px;background:white;color:#6657db;width:24px;height:24px;padding:0!important;min-height:0!important}.next-pagination button:disabled{color:#aeb5c4;cursor:default;background:#f8f9fc}
@media(prefers-reduced-motion:reduce){.next-donut{animation:none;transform:none}#appView :is(.primary-btn,.line-btn),.next-stat,.next-chart-track i{transition:none}#appView :is(.primary-btn,.line-btn):hover,.next-stat:hover{transform:none}}
