:root{--red:#9d292f;--red-dark:#7d1d25;--ink:#282b32;--muted:#8a8c92;--line:#eaeaec;--bg:#f7f8fa;--cream:#fbf6ef;--green:#3e806c;--amber:#b47a32;--blue:#537d9d;--sidebar:246px;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}button{background:0 0;border:0}a{color:inherit;text-decoration:none}button,input,select,textarea,a{outline-offset:3px}:is(button:focus-visible,a:focus-visible){outline:2px solid var(--red)}input:focus,select:focus,textarea:focus{border-color:#b86b70;outline:0;box-shadow:0 0 0 3px #9d292f0b}h1,h2,h3,p{margin:0}h1{letter-spacing:-.8px;font-size:30px;font-weight:600}h2{font-size:17px;font-weight:600}h3{font-size:15px;font-weight:600}p{line-height:1.85}small{font-size:12px}svg{flex-shrink:0}::selection{background:#ead0d1}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:500;line-height:1.7}.brand{white-space:nowrap;align-items:center;gap:13px;display:flex}.brand .seal{background:#fff;border-radius:100%;flex-shrink:0;width:54px;height:54px;display:block;overflow:hidden}.seal img{object-fit:cover;object-position:left center;width:100%;height:100%}.brand strong{letter-spacing:1px;font-size:22px;font-weight:600;display:block}.brand .school-name{letter-spacing:3px;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:25px;font-weight:700}.brand small{letter-spacing:.5px;margin-top:5px;font-size:7.4px;font-weight:600;display:block}.brand.light{color:#fff}.text-button{color:var(--red);white-space:nowrap;align-items:center;gap:7px;padding:4px 0;font-size:12px;display:inline-flex}.text-button:hover{color:var(--red-dark)}.button{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:10px 18px;font-size:13px;font-weight:500;transition:background .15s,transform .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--red);color:#fff;box-shadow:0 3px 6px #5f1a2110}.button.primary:hover{background:var(--red-dark)}.button.secondary{color:#555a65;background:#fff;border:1px solid #dddfe3}.button.secondary:hover{border-color:#bda9ab}.button.danger{color:#fff;background:#a13739}.full-width{width:100%}.icon-button{color:#8d929c;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.icon-button:hover{color:var(--red);background:#f5eded}.button-row{gap:10px;display:flex}.field{margin:20px 0;font-size:12px;font-weight:500;line-height:1.6;display:block}.field>b{color:var(--red);font-weight:500}.field input,.field select,.field textarea{color:#2e323a;background:#fff;border:1px solid #e0e2e6;border-radius:6px;width:100%;min-height:44px;margin-top:9px;padding:12px 13px;font-size:13px;transition:border-color .2s;display:block}.field textarea{resize:vertical;min-height:88px}.field input::placeholder,.field textarea::placeholder{color:#a5a7ad;font-size:12px;font-weight:400}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-grid .field{margin:0}.input-icon{margin-top:9px;position:relative}.input-icon>svg{color:#989ba4;position:absolute;top:17px;left:15px}.field .input-icon input{min-height:50px;margin:0;padding-left:44px;padding-right:44px}.input-icon>button{color:#989ba4;padding:0;display:flex;position:absolute;top:15px;right:13px}.error{color:#a43838;background:#fff0ee;border:1px solid #f3d9d5;border-radius:6px;align-items:center;gap:8px;margin:14px 0;padding:11px 14px;font-size:12px;line-height:1.6;display:flex}.error>button{margin-left:auto}.login-page{background:#fff;min-height:100vh}.login-header{align-items:center;max-width:1500px;height:104px;margin:auto;padding:0 6%;display:flex}.division{color:#4a4b51;letter-spacing:4px;border-left:1px solid #ddd;margin-left:27px;padding-left:26px;font-size:19px}.division span{letter-spacing:2px;color:#949398;margin-top:7px;font-size:10px;display:block}.login-help{color:#777b84;margin-left:auto}.login-main{grid-template-columns:53% 47%;height:calc(100vh - 164px);min-height:660px;max-height:890px;display:grid}.login-story{color:#fff;background-color:#8c2028;background-image:radial-gradient(at 8% 0,#af4243 0%,#0000 55%),linear-gradient(140deg,#a33136 0%,#8c2028 62%,#721d25 100%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;position:relative;overflow:hidden}.login-story:before,.login-story:after{content:"";border:1px solid #ffffff0b;border-radius:50%;width:800px;height:800px;position:absolute;top:20px;right:-480px}.login-story:after{width:990px;height:990px;top:-75px;right:-575px}.story-inner{max-width:820px;height:100%;margin-left:auto;padding:58px 10.5% 55px;position:relative}.story-inner>.eyebrow{color:#e5b7b7;align-items:center;gap:10px;font-size:9px;display:flex}.eyebrow i{background:currentColor;border-radius:100%;width:5px;height:5px;display:inline-block}.story-tag{letter-spacing:3px;color:#e4b7b7;margin-top:41px;font-size:12px}.story-inner h1{letter-spacing:2px;z-index:2;margin-top:14px;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:clamp(30px,3.2vw,48px);font-weight:600;line-height:1.6;position:relative}.story-inner h1>span{color:#d9ad86}.story-inner>p{color:#dcafaf;letter-spacing:1.5px;margin-top:18px;font-size:13px;line-height:2}.story-points{color:#edd2d1;gap:24px;margin-top:29px;display:flex}.story-points span{align-items:center;gap:8px;font-size:11px;display:flex}.story-points svg{stroke-width:1.5px}.campus{color:#e4b1a8;opacity:.24;width:100%;height:240px;position:absolute;bottom:39px;left:0}.motto{z-index:1;position:absolute;bottom:74px;left:10.5%}.motto span,.motto b{letter-spacing:3px;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:17px;font-weight:500}.motto b{margin-left:20px}.motto small{letter-spacing:1.2px;color:#d3a5a4;margin-top:12px;font-size:6.8px;display:block}.story-footer{letter-spacing:.8px;color:#d0a3a3;border-top:1px solid #ffffff16;justify-content:space-between;width:100%;padding:17px 10.5%;font-size:8px;display:flex;position:absolute;bottom:0}.login-form-area{background:linear-gradient(125deg,#fff 40%,#fbfaf8);justify-content:center;align-items:center;display:flex;position:relative}.login-box{width:366px;max-width:80%;margin-top:-13px}.login-kicker{letter-spacing:1px;color:#999399;align-items:center;gap:8px;margin-bottom:15px;font-size:10px;display:flex}.login-kicker span{background:var(--red);border-radius:50%;width:5px;height:5px}.login-box h2{letter-spacing:1px;font-size:29px;font-weight:600}.login-box>.muted{letter-spacing:.3px;margin-top:9px;font-size:12px}.login-tabs{border-bottom:1px solid #eae8e9;margin-top:31px;margin-bottom:25px;display:flex}.login-tabs button{color:#85858c;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 0 14px;font-size:12px;display:flex;position:relative}.login-tabs button.active{color:var(--red);font-weight:600}.login-tabs button.active:after{content:"";background:var(--red);height:2px;position:absolute;bottom:-1px;left:14px;right:14px}.login-box .field{margin:21px 0 0}.form-under{color:#9a99a1;justify-content:space-between;margin:16px 0 23px;font-size:10px;display:flex}.form-under span:last-child{color:#847075}.login-submit{width:100%;height:47px;font-size:14px;position:relative}.login-submit svg{position:absolute;right:20px}.login-note{color:#a09b9f;gap:9px;margin-top:20px;display:flex}.login-note svg{color:#b3a6a6;margin-top:3px}.login-note p{font-size:10px;line-height:1.9}.demo-divider{color:#b1acaf;letter-spacing:.5px;align-items:center;gap:14px;margin:27px 0 16px;font-size:9px;display:flex}.demo-divider:before,.demo-divider:after{content:"";background:#eee9e9;flex:1;height:1px}.demo-entry{color:#806e70;background:#fff;border:1px solid #e9e2e2;border-radius:5px;justify-content:space-between;align-items:center;width:100%;padding:12px 15px;font-size:11px;display:flex}.demo-entry>span{align-items:center;gap:9px;display:flex}.demo-entry:hover{background:#fcf7f7;border-color:#ccadb0}.login-security{color:#ada7aa;align-items:center;gap:7px;font-size:9px;display:flex;position:absolute;bottom:20px}.login-footer{color:#929196;letter-spacing:.4px;justify-content:space-between;align-items:center;max-width:1500px;height:60px;margin:auto;padding:0 6%;font-size:9px;display:flex}.footer-sep{color:#c2bdc0;margin:0 14px}.password-page{background:radial-gradient(at 20% 40%,#f0e4e2,#0000 60%),#f8f7f5;min-height:100vh;padding:35px 6%}.password-card{background:#fff;border:1px solid #ebe5e4;border-radius:12px;width:460px;max-width:100%;margin:60px auto;padding:35px;box-shadow:0 15px 50px #45202508}.password-card>.icon-tile{width:53px;height:53px;margin-bottom:20px}.password-card>.eyebrow{color:var(--red)}.password-card h1{margin:10px 0;font-size:24px}.password-card>p{color:#8b8791;font-size:12px}.password-card>.text-button{margin:20px auto 0;display:flex}.password-checks{color:#a8a6ae;gap:15px;margin-top:-8px;font-size:10px;display:flex}.password-checks span{align-items:center;gap:4px;display:flex}.password-checks .met{color:var(--green)}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);border-right:1px solid var(--line);z-index:25;background:#fff;flex-direction:column;padding:30px 18px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar .brand{gap:11px;padding:0 6px}.sidebar .brand .seal{width:46px;height:46px}.sidebar .brand strong{letter-spacing:2px;font-size:20px}.sidebar .brand small{color:#9a9297;letter-spacing:.8px;font-size:8px;font-weight:400}.side-division{color:#928d94;letter-spacing:.6px;border-bottom:1px solid #f0eeef;margin:24px 11px 30px;padding-bottom:24px;font-size:10px}.side-division span{color:#d0c6c9;padding:0 8px}.side-label{letter-spacing:1.5px;color:#b1afb6;margin:0 15px 13px;font-size:9px}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav button{color:#7c7d86;border-radius:6px;align-items:center;gap:13px;width:100%;padding:13px 15px;font-size:12px;display:flex;position:relative}.sidebar nav button:hover{background:#faf7f7}.sidebar nav button.active{color:var(--red);background:#f7eded;font-weight:600}.sidebar nav button.active:before{content:"";background:var(--red);border-radius:0 3px 3px 0;width:3px;height:21px;position:absolute;left:-18px}.sidebar nav button svg{stroke-width:1.6px}.sidebar nav b{color:var(--red);background:#e9d3d5;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:10px}.sidebar nav i{background:#c89958;border-radius:50%;width:5px;height:5px;margin-left:auto}.side-tip{color:#ad967c;background:linear-gradient(130deg,#fbf8f4,#f9f8f6);border:1px solid #f0eae3;border-radius:7px;margin:auto 7px 26px;padding:20px 15px;position:relative}.side-tip svg{stroke-width:1.6px;margin-bottom:10px}.side-tip b{color:#8d7c6e;margin-bottom:7px;font-size:11px;display:block}.side-tip p{color:#aba096;font-size:10px}.side-bottom{border-top:1px solid var(--line);align-items:center;gap:10px;margin:0 -18px;padding:22px 19px;display:flex}.avatar{color:#945653;background:#efe1de;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;font-size:13px;display:inline-flex}.avatar.small{width:30px;height:30px;font-size:11px}.side-bottom strong{font-size:11px;font-weight:500;display:block}.side-bottom small{color:#9f9ba3;margin-top:5px;font-size:8px;display:block}.side-bottom button{color:#aaa6af;margin-left:auto;padding:4px}.main-wrap{margin-left:var(--sidebar);min-height:100vh}.app-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 36px;display:flex}.breadcrumb{color:#a29da5;align-items:center;gap:13px;font-size:10px;display:flex}.breadcrumb b{color:#625f68;font-weight:400}.header-right{align-items:center;gap:20px;display:flex}.header-right>button{color:#89838f;padding:0;display:flex}.academic-year{color:#95919a;margin-right:8px;font-size:10px}.bell{position:relative}.bell i{background:var(--red);border:1px solid #fff;border-radius:50%;width:4px;height:4px;position:absolute;top:0;right:0}.menu-button{display:none}.main-content{max-width:1620px;margin:auto;padding:32px 36px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.page-heading .eyebrow{letter-spacing:1.8px;margin-bottom:8px;font-size:8px}.page-heading h1{letter-spacing:.4px;font-size:27px;line-height:1.6}.greeting-dot{color:var(--red)}.page-heading p{color:#92909a;margin-top:5px;font-size:11px}.page-heading>.button{margin-top:10px}.welcome-strip{background:#f5eeeb linear-gradient(100deg,#f5eae6,#f8f4ef);border:1px solid #ece1df;border-radius:8px;align-items:center;gap:16px;margin-bottom:24px;padding:20px 24px;display:flex}.icon-tile{color:#a15e58;background:#eededa;border:1px solid #e8d3cf;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:43px;height:43px;display:inline-flex}.welcome-strip b{letter-spacing:.4px;color:#74514b;font-size:13px;font-weight:550}.welcome-strip p{color:#a18a80;margin-top:5px;font-size:10px}.welcome-strip>.text-button{color:#98726b;margin-left:auto;font-size:10px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px;display:grid}.stat-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:20px 21px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 5px 20px #37303706}.stat-card>div{color:#8c8994;justify-content:space-between;align-items:center;font-size:11px;display:flex}.stat-card svg{stroke-width:1.6px}.stat-card strong{letter-spacing:-1px;margin:16px 0 11px;font-family:Arial,sans-serif;font-size:35px;font-weight:500;line-height:1;display:block}.stat-card strong small{color:#a29ba3;letter-spacing:0;margin-left:9px;font-family:Noto Sans SC,sans-serif;font-size:10px;font-weight:400}.stat-card p{color:#a5a0aa;align-items:center;gap:5px;font-size:9px;display:flex}.neutral{color:#8d8b96}.blue{color:var(--blue)}.green{color:var(--green)}.amber{color:var(--amber)}.tiny-dot{background:#c08e4b;border-radius:50%;width:4px;height:4px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 245px;align-items:stretch;gap:21px;margin-bottom:24px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:12px;padding:22px 23px 20px;display:flex}.panel-heading h2{letter-spacing:.3px;font-size:14px}.panel-heading p{color:#a6a0a8;margin-top:6px;font-size:9px}.panel-heading .text-button{color:#9a9199;font-size:9px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}th{color:#9a949e;white-space:nowrap;background:#fcfcfd;border-top:1px solid #f0eff1;border-bottom:1px solid #f0eff1;padding:13px 20px;font-size:9px;font-weight:400}td{color:#6b6571;border-bottom:1px solid #f0eff2;padding:19px 20px}tr:last-child td{border-bottom:0}td>b{color:#55505d;font-weight:500}.records-table th:first-child,.records-table td:first-child{padding-left:23px}.records-table td,.records-table th{padding-left:12px;padding-right:12px}.records-table th:first-child{width:50%}.records-table td:last-child{width:20px;padding-left:0;padding-right:13px}.records-table .record-name{text-align:left;align-items:center;gap:11px;max-width:100%;padding:0;display:flex}.record-name>span:last-child{min-width:0}.record-name b{color:#554f5b;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:320px;font-size:11px;font-weight:500;line-height:1.6;display:-webkit-box;overflow:hidden}.record-name:hover b{color:var(--red)}.record-name small{color:#aba5ae;margin-top:5px;font-size:8px;display:block}.file-tile{color:#b48b80;background:#f8f0ed;border:1px solid #f0e5e2;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:40px;display:inline-flex}.file-tile svg{stroke-width:1.4px}.file-tile.gold{color:#b69e71;background:#faf5eb;border-color:#f2eadc}.file-tile.blue{color:#91aab9;background:#f0f5f8;border-color:#e3edf2}.score{font-family:Arial,sans-serif;font-size:14px;font-weight:500}.score small{color:#a59da8;font-family:inherit;font-size:9px;font-weight:400}.date-cell{white-space:nowrap;color:#a49da8;font-size:9px}.status{white-space:nowrap;color:#96909a;background:#f2f1f3;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-size:9px;font-weight:400;line-height:1.5;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:4px;height:4px}.status.pending_lead,.status.pending_teacher{color:#6e8ea6;background:#eff4f8}.status.needs_material{color:#b49156;background:#fbf3e7}.status.approved{color:#6a9683;background:#edf5f1}.status.rejected{color:#b7787c;background:#f9eeee}.panel-foot{color:#b0a9b2;border-top:1px solid #f0eff2;justify-content:space-between;align-items:center;gap:10px;padding:15px 23px;font-size:9px;display:flex}.panel-foot>span:first-child{align-items:center;gap:5px;display:flex}.count-tag{color:#ae844a;background:#f9f0e1;border-radius:4px;padding:2px 6px;font-size:9px}.todo-panel{flex-direction:column;padding-bottom:0;display:flex}.todo-panel .panel-heading{padding:23px}.todo-icon{color:#b79b66;background:#fbf6ed;border:1px solid #f1e5ce;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:1px 23px 15px;display:flex}.todo-icon.green{color:#7aa18d;background:#f0f7f3;border-color:#dfede4}.todo-icon.blue{color:#7d99ac;background:#eff4f7;border-color:#e1ebf2}.todo-panel h3{margin:0 23px;font-size:13px;font-weight:550}.todo-panel>p{color:#aba2ad;margin:8px 23px 18px;font-size:10px}.todo-item{color:#a18a65;text-align:left;background:#fffdf8;border:1px solid #ede7de;border-radius:5px;align-items:center;gap:5px;margin:0 23px 10px;padding:10px 11px;font-size:9px;display:flex}.todo-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.todo-tip{color:#b8ac9f;background:#fcfbf9;border-top:1px solid #f1eee8;align-items:center;gap:6px;margin-top:auto;padding:13px 20px;font-size:8px;display:flex}.todo-panel>.button{margin:0 23px 17px;font-size:10px}.process-panel{align-items:center;gap:25px;padding:24px;display:flex}.process-title{white-space:nowrap;align-items:center;gap:12px;display:flex}.process-title .icon-tile{color:#b3a591;background:#f7f5f2;border-color:#ece7e1;width:36px;height:36px}.process-title h2{font-size:12px}.process-title p{color:#a49da6;margin-top:5px;font-size:8px}.process-panel>.text-button{color:#a3979f;margin-left:auto;font-size:9px}.steps{flex:1;justify-content:space-between;align-items:flex-start;gap:0;display:flex}.step{flex:1;justify-content:center;align-items:center;gap:9px;display:flex;position:relative}.step:not(:last-child):after{content:"";background:#e5e3e7;width:17%;height:1px;position:absolute;top:14px;right:-8.5%}.step>span{color:#b8b1bd;background:#fcfbfd;border:1px solid #e5e2e6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:29px;height:29px;font-family:Arial,sans-serif;font-size:11px;display:flex}.step b{color:#8c8491;font-size:10px;font-weight:400;display:block}.step small{color:#b7b0ba;margin-top:5px;font-size:8px;display:block}.step.done>span{color:#7c9f84;background:#f0f5f0;border-color:#deeadf}.step.done b{color:#718a76}.step.active>span{color:#ad777b;background:#fcf4f4;border-color:#c89d9e;box-shadow:0 0 0 3px #faf2f2}.step.active b{color:var(--red)}.app-footer{color:#b5aeb9;letter-spacing:.3px;justify-content:space-between;align-items:center;padding:29px 0 20px;font-size:8px;display:flex}.filter-tabs{border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:0 23px;display:flex;overflow-x:auto}.filter-tabs button{white-space:nowrap;color:#97909a;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:20px 0 16px;font-size:11px;display:flex}.filter-tabs button.active{color:var(--red);border-bottom-color:var(--red);font-weight:500}.filter-tabs button>span{background:#f3f1f4;border-radius:4px;padding:1px 4px;font-size:9px}.filter-tabs button.active>span{background:#f5e9ea}.table-tools{align-items:center;gap:13px;padding:19px 23px;display:flex}.search-field{color:#aaa2ad;border:1px solid #e6e3e9;border-radius:5px;align-items:center;gap:9px;min-width:260px;padding:9px 12px;display:flex}.search-field input{color:#736a78;background:0 0;border:0;outline:0;width:100%;font-size:11px}.search-field input:focus{box-shadow:none}.search-field input::placeholder{color:#b1aab5}.table-tools select{color:#89828e;background:#fff;border:1px solid #e6e3e9;border-radius:5px;padding:10px 25px 10px 12px;font-size:11px}.table-tools>.muted{margin-left:auto;font-size:11px}.cell-sub{color:#a29aa9;margin-top:6px;font-size:9px;display:block}.subtle-tag{color:#9c93a1;background:#fff;border:1px solid #e7e2e9;border-radius:5px;align-items:center;gap:7px;padding:9px 12px;font-size:10px;display:flex}.progress-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.progress-card{padding:23px}.progress-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.category-label{color:#a38c87;letter-spacing:1px;font-size:9px}.progress-card h2{font-size:15px;line-height:1.6}.progress-card>.muted{margin:10px 0 25px;font-size:9px}.progress-card>.muted>span{float:right}.progress-card .steps{padding:5px 0 22px}.progress-card .step{justify-content:flex-start}.progress-card .step:not(:last-child):after{width:13%;right:5%}.progress-link{border-top:1px solid var(--line);color:#9c7c80;justify-content:space-between;align-items:center;width:100%;margin-top:20px;padding:14px 0 0;font-size:10px;display:flex}.inline-warning{color:#ad905d;background:#fcf6eb;border-radius:4px;align-items:center;gap:7px;padding:10px 12px;font-size:10px;display:flex}.inline-warning.red{color:#b77777;background:#fbefef}.info-banner{color:#8a95a4;background:#f0f3f6;border:1px solid #e5eaf0;border-radius:6px;align-items:center;gap:10px;margin:0 0 22px;padding:16px 20px;font-size:11px;display:flex}.empty{text-align:center;background:#fff;padding:50px 25px}.empty>span{color:#c0b5c2;background:#f6f3f6;border-radius:50%;margin-bottom:15px;padding:14px;display:inline-flex}.empty h3{color:#8e8494;font-size:13px;font-weight:400}.empty p{color:#b1a8b4;margin-top:8px;font-size:10px}.list-loading{color:#ad8e94;background:#faf7f7;padding:9px 23px;font-size:10px}.guide-intro{padding:28px}.guide-intro h2{margin-bottom:26px}.guide-intro .steps{margin:25px 0 30px}.guide-intro>p{color:#958a99;border-top:1px solid var(--line);padding-top:20px;font-size:12px}.guide-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin:22px 0;display:grid}.guide-card{padding:25px;position:relative}.guide-card>span{float:right;color:#ebe4e9;font-family:Arial,sans-serif;font-size:37px}.guide-card>svg{color:#a87f81;margin-bottom:19px}.guide-card h2{margin-bottom:10px;font-size:14px}.guide-card p{color:#9f929f;font-size:12px}.demo-banner{z-index:35;color:#d8cbd8;background:#322b35;justify-content:space-between;align-items:center;gap:15px;min-height:38px;padding:5px 22px;font-size:10px;display:flex;position:sticky;top:0}.demo-banner>span{align-items:center;gap:8px;display:flex}.demo-banner b{color:#f1e7f2;font-weight:500}.demo-description{color:#a89aa9}.demo-banner>div{align-items:center;gap:4px;display:flex}.demo-banner button{color:#baacbc;border-radius:4px;padding:4px 10px;font-size:9px}.demo-banner .chosen{color:#f6e4eb;background:#51414d}.demo-banner .demo-exit{color:#baa9b8;align-items:center;gap:4px;margin-left:10px;display:flex}.app-shell:has(.demo-banner) .sidebar{top:38px}.toast{z-index:100;color:#5a8b6b;background:#f8fffa;border:1px solid #d6e5db;border-radius:8px;align-items:center;gap:9px;max-width:90vw;padding:14px 22px;font-size:12px;display:flex;position:fixed;top:25px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #20302415}.modal-overlay,.drawer-overlay{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#20172555;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;outline:0;flex-direction:column;width:460px;max-width:100%;max-height:calc(100dvh - 60px);display:flex;overflow:hidden;box-shadow:0 25px 100px #25132d33}.modal.large{width:740px}.modal-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;display:flex}.modal-head h2{font-size:18px;line-height:1.5}.modal-head .eyebrow{margin-bottom:7px;font-size:8px}.modal-body{padding:22px 28px;overflow-y:auto}.modal-body>p{color:#8b7d91;margin-bottom:15px;font-size:12px}.modal-foot{border-top:1px solid var(--line);background:#fdfcfd;flex-shrink:0;align-items:center;gap:10px;padding:17px 28px;display:flex}.modal-foot>.muted{margin-right:auto;font-size:10px}.form-section-title{align-items:center;gap:8px;margin:6px 0 15px;font-size:12px;font-weight:550;display:flex}.form-section-title span{color:#b48888;background:#f7eded;border-radius:4px;padding:4px 6px;font-family:Arial;font-size:10px;display:inline-flex}.upload-zone{cursor:pointer;text-align:center;color:#b19ba5;background:#fdfafb;border:1px dashed #d5c5cc;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:151px;padding:20px;display:flex;position:relative}.upload-zone:hover{background:#faf4f6;border-color:#b98798}.upload-zone input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;position:absolute;inset:0}.upload-zone strong{color:#967c88;font-size:12px;font-weight:500}.upload-zone p{color:#b3a4b0;font-size:9px}.upload-zone.disabled{opacity:.6}.attachments>div{border:1px solid #eae4eb;border-radius:6px;align-items:center;gap:12px;margin-top:10px;padding:13px;display:flex}.attachments .file-icon{color:#b5999b;background:#f7efef;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:36px;display:flex}.attachments>div>span:nth-child(2){flex:1;min-width:0}.attachments b{color:#8a788d;overflow-wrap:anywhere;font-size:11px;font-weight:500;display:block}.attachments small{color:#b5a7b8;margin-top:3px;font-size:9px;display:block}.attachments a{color:#a18ca4;padding:8px;display:flex}.form-hint{color:#b0a1af;align-items:center;gap:7px;margin:18px 0 7px;font-size:9px;line-height:1.7;display:flex}.drawer-overlay{justify-content:flex-end;padding:0}.detail-drawer{background:#fff;flex-direction:column;width:700px;max-width:100%;height:100dvh;display:flex;box-shadow:-15px 0 80px #33223520}.drawer-body{flex:1;padding:28px 30px;overflow-y:auto}.detail-title>.muted{margin-left:12px;font-size:10px}.detail-title h1{letter-spacing:0;margin:17px 0 13px;font-size:24px;line-height:1.6}.detail-title p{color:#a899aa;font-size:11px}.detail-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;margin:25px 0;padding:20px 0;display:flex}.detail-meta small{color:#ae9fb0;margin-bottom:8px;font-size:9px;display:block}.detail-meta strong{color:var(--red);font-family:Arial;font-size:25px;font-weight:500}.detail-meta strong span{color:#b098a8;font-family:Noto Sans SC,sans-serif;font-size:11px}.detail-meta b{color:#847489;font-size:10px;font-weight:400}.drawer-body>.steps{margin:30px 0}.detail-section{border-top:1px solid var(--line);margin-top:10px;padding:22px 0 0}.detail-section h3{margin-bottom:16px;font-size:13px}.detail-section h3 small{color:#b1a5b7;margin-left:6px;font-size:10px;font-weight:400}.detail-section>p{color:#98899f;font-size:11px}.timeline{margin-top:20px}.timeline-item{align-items:flex-start;gap:15px;padding-bottom:24px;display:flex;position:relative}.timeline-item:not(:last-child):after{content:"";background:#eee6ef;width:1px;position:absolute;top:12px;bottom:0;left:4px}.timeline-dot{z-index:1;background:#fff;border:2px solid #a5b6aa;border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:4px}.timeline-dot.amber{border-color:#c6a976}.timeline-item>div{flex:1;min-width:0}.timeline-item b{color:#83748c;font-size:11px;font-weight:500}.timeline-item time{float:right;color:#b4a6bc;font-size:9px}.timeline-item p{color:#aa9ab2;margin-top:6px;font-size:9px}.timeline-item blockquote{color:#99849d;white-space:pre-wrap;overflow-wrap:anywhere;background:#faf7fa;border-left:2px solid #ddcbdc;border-radius:0 5px 5px 0;margin:10px 0 0;padding:12px 15px;font-size:11px;line-height:1.8}.drawer-foot{border-top:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:15px;padding:18px 28px;display:flex}.drawer-foot>span{color:#a393ac;align-items:center;gap:6px;font-size:10px;display:flex}.review-form{background:#fdfafb;border:1px solid #e8dce3;border-radius:8px;margin-top:20px;padding:22px}.review-form h3{color:#987787;align-items:center;gap:7px;margin-bottom:18px;font-size:13px;display:flex}.review-options{gap:10px;display:flex}.review-options label{color:#a18c9f;cursor:pointer;border:1px solid #e8dee5;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px;font-size:10px;display:flex}.review-options label.selected{color:#9e6275;background:#fcf1f3;border-color:#c498a2}.review-options input{accent-color:var(--red);margin:0}.filter-tabs.compact{gap:30px;margin-top:-12px;margin-bottom:22px;padding:0}.filter-tabs.compact button{padding:12px 0}.import-instructions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.import-instructions b{font-size:12px;font-weight:500}.import-instructions p{color:#ad9db0;margin-top:7px;font-size:10px}.import-instructions .button{font-size:10px}.import-preview{border:1px solid var(--line);border-radius:5px;max-height:220px;overflow:auto}.import-count{color:#719883;align-items:center;gap:6px;margin:15px 0;font-size:11px;display:flex}.mobile-backdrop{display:none}@media (min-width:1450px){.login-header{padding:0 6%}.story-inner{padding-top:85px}.story-tag{margin-top:55px}.story-points{margin-top:38px}.campus{height:300px}.motto{bottom:98px}.main-content{padding:38px 45px 0}.records-table th:first-child{width:48%}.dashboard-columns{grid-template-columns:minmax(0,1fr) 275px}.stat-card{padding:24px}.sidebar{padding-top:33px}}@media (max-width:1200px){:root{--sidebar:218px}.sidebar{padding-left:14px;padding-right:14px}.sidebar .brand strong{font-size:18px}.sidebar .brand .seal{width:41px;height:41px}.sidebar .brand{gap:8px;padding:0 4px}.sidebar nav button{gap:10px;font-size:11px}.sidebar nav button.active:before{left:-14px}.side-bottom{margin:0 -14px;padding:19px 15px}.main-content{padding:26px 25px 0}.app-header{padding:0 25px}.stats-grid{gap:12px}.stat-card{padding:17px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 219px;gap:17px}.records-table .file-tile{display:none}.records-table th:first-child{width:45%}.records-table .date-cell,.records-table th:nth-last-child(2){display:none}.process-panel{gap:15px;padding:20px}.process-title p,.process-panel>.text-button{display:none}.story-inner{padding-left:10%;padding-right:8%}.story-tag{margin-top:37px}.story-inner h1{font-size:36px}.story-inner>p{font-size:12px}.login-box{width:340px}.login-header{padding:0 5%}.division{margin-left:22px;padding-left:22px;font-size:16px}.brand .school-name{font-size:22px}.brand .seal{width:48px;height:48px}.brand small{font-size:6.4px}.login-header .brand{gap:10px}.story-footer{font-size:7px}.record-name b{font-size:10px}.stat-card strong{font-size:31px}}@media (max-width:1000px){.dashboard-columns{grid-template-columns:minmax(0,1fr)}.todo-panel{display:none}.records-table .date-cell,.records-table th:nth-last-child(2){display:table-cell}.login-help{font-size:0}.login-help svg{width:20px;height:20px}.story-inner h1{font-size:30px}.story-points{gap:15px}.story-points span{gap:5px;font-size:9px}.story-tag{font-size:10px}.story-inner>.eyebrow{letter-spacing:1px;font-size:7px}.login-box{width:320px;max-width:80%}.login-box h2{font-size:26px}.division{font-size:14px}.division span{font-size:8px}.progress-grid{grid-template-columns:1fr}.process-title{display:none}.step b{font-size:9px}.stat-card{padding:15px}.stat-card>div{font-size:10px}.stat-card>div svg{width:16px}.stat-card p{font-size:8px}.welcome-strip{padding:17px}.welcome-strip>.text-button{display:none}.page-heading h1{font-size:25px}.header-right{gap:13px}.academic-year{display:none}.filter-tabs{gap:20px}.table-tools{flex-wrap:wrap}.search-field{flex:1;min-width:0}.login-main{grid-template-columns:51% 49%}.motto span,.motto b{font-size:14px}.motto b{margin-left:10px}.login-footer{font-size:8px}.login-footer>span:last-child{text-align:right;max-width:55%}.footer-sep{margin:0 7px}}@media (max-width:760px){:root{--sidebar:230px}.sidebar{z-index:50;transition:transform .2s;transform:translate(-100%);top:0!important}.sidebar.open{transform:translate(0)}.mobile-backdrop{z-index:45;background:#20152c50;display:block;position:fixed;inset:0}.main-wrap{margin-left:0}.app-header{justify-content:flex-start;gap:13px;height:62px;padding:0 18px}.menu-button{color:#8c7c91;padding:0;display:flex}.header-right{gap:15px;margin-left:auto}.breadcrumb{gap:8px;font-size:9px}.breadcrumb>b,.breadcrumb>svg{display:none}.main-content{padding:24px 18px 0}.page-heading{gap:12px;margin-bottom:22px}.page-heading h1{font-size:24px}.page-heading p{font-size:10px}.page-heading .eyebrow{font-size:7px}.page-heading>.button{min-height:38px;padding:9px 12px;font-size:11px}.page-heading .button-row .button{padding:9px 11px;font-size:10px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.stat-card{padding:18px}.stat-card>div{font-size:11px}.stat-card p{font-size:9px}.stat-card strong{margin-top:16px;font-size:32px}.welcome-strip{gap:12px;padding:17px}.welcome-strip b{font-size:12px}.welcome-strip p{font-size:9px}.welcome-strip .icon-tile{width:38px;height:38px}.dashboard-columns{margin-bottom:20px}.records-table th:first-child{width:50%}.records-table .date-cell,.records-table th:nth-last-child(2){display:none}.record-name b{max-width:190px}.records-table th:first-child,.records-table td:first-child{padding-left:16px}.records-table td{padding-top:18px;padding-bottom:18px}.panel-heading{padding:18px 16px}.panel-foot{padding:14px 16px;font-size:8px}.table-tools{gap:8px;padding:16px}.search-field{min-width:180px;padding:9px}.search-field input{font-size:10px}.table-tools select{padding:9px;font-size:10px}.filter-tabs{gap:20px;padding:0 16px}.filter-tabs button{font-size:10px}.process-panel{padding:22px 15px}.step{gap:7px}.step>span{width:25px;height:25px;font-size:10px}.step:not(:last-child):after{width:10%;top:12px;right:-5%}.step b{font-size:9px}.step small{font-size:7px}.app-footer{padding:22px 0;font-size:7px}.login-header{height:83px;padding:0 24px}.login-header .brand .seal{width:42px;height:42px}.login-header .brand .school-name{letter-spacing:2px;font-size:19px}.login-header .brand small{font-size:5.5px}.division{letter-spacing:2px;margin-left:16px;padding-left:15px;font-size:12px}.division span{letter-spacing:1px;font-size:6px}.login-help{display:none}.login-main{height:auto;min-height:0;max-height:none;display:block}.login-story{height:217px}.story-inner{max-width:none;padding:25px 28px}.story-inner>.eyebrow{letter-spacing:1.5px;font-size:7px}.story-tag{letter-spacing:2px;margin-top:17px;font-size:9px}.story-inner h1{letter-spacing:1px;margin-top:9px;font-size:26px;line-height:1.5}.story-inner>p,.story-points{display:none}.campus{opacity:.2;width:54%;height:185px;bottom:-15px;left:auto;right:-35px}.motto,.story-footer{display:none}.login-form-area{background:#fff;padding:34px 24px 60px}.login-box{width:400px;max-width:100%;margin:0}.login-box h2{font-size:26px}.login-kicker{margin-bottom:9px;font-size:9px}.login-box>.muted{font-size:11px}.login-tabs{margin-top:24px;margin-bottom:20px}.login-tabs button{font-size:11px}.login-note p{font-size:9px}.login-security{font-size:8px;bottom:15px}.login-footer{background:#faf9f8;align-items:flex-start;gap:12px;height:auto;padding:17px 24px;font-size:7px;line-height:1.7}.login-footer>span:last-child{font-size:7px}.footer-sep{display:none}.login-footer>span:last-child{max-width:none;font-size:0}.login-footer>span:last-child:after{content:"学术诚信，始于每一份材料";font-size:7px}.demo-banner{min-height:38px;padding:6px 10px;font-size:9px}.demo-banner .demo-description{display:none}.demo-banner>span{gap:5px}.demo-banner button{padding:4px 6px;font-size:8px}.demo-banner .demo-exit{margin-left:0;padding-right:0;font-size:0}.demo-banner .demo-exit svg{width:15px}.guide-grid{grid-template-columns:1fr}.guide-intro{padding:23px 18px}.guide-intro p,.guide-card p{font-size:11px}.progress-card{padding:20px}.progress-card h2{font-size:14px}.progress-card>.muted{font-size:8px}.subtle-tag{max-width:125px;font-size:9px;line-height:1.5}.modal-overlay{padding:12px}.modal{border-radius:9px;max-height:calc(100dvh - 24px)}.modal-head{padding:19px}.modal-head h2{font-size:17px}.modal-body{padding:18px 19px}.modal-foot{gap:8px;padding:15px 19px}.modal-foot>.muted{display:none}.modal-foot .button{flex:1;font-size:12px}.form-grid{gap:15px}.field{font-size:11px}.field input,.field select,.field textarea{font-size:12px}.upload-zone{min-height:140px;padding:15px}.upload-zone p{font-size:8px}.upload-zone strong{font-size:11px}.drawer-body{padding:20px}.detail-title h1{font-size:21px}.detail-meta b{font-size:9px}.detail-meta small{font-size:8px}.drawer-foot{padding:14px 20px}.drawer-foot>span{font-size:9px}.drawer-foot .button{font-size:11px}.review-form{padding:18px}.timeline-item time{font-size:8px}.review-options label{padding:10px 6px;font-size:9px}.import-instructions{flex-direction:column;align-items:flex-start}.password-card{margin:30px auto;padding:25px}.password-card h1{font-size:22px}.password-checks{gap:10px;font-size:9px}.info-banner{padding:14px;font-size:10px}.modal-body .filter-tabs.compact{margin-top:-5px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.muted{color:#817986}.sidebar nav button{font-size:13px}.side-label{font-size:10px}.side-division{font-size:11px}.side-bottom strong{font-size:12px}.side-bottom small{font-size:10px}.side-tip p,.breadcrumb{font-size:11px}.page-heading p{color:#817986;font-size:12px}.welcome-strip p{color:#8e766e;font-size:11px}.stat-card>div{font-size:12px}.stat-card p{color:#8d8493;font-size:10px}.panel-heading h2{font-size:16px}.panel-heading p{color:#938697;font-size:11px}.panel-heading .text-button{font-size:11px}.records-table .record-name b{font-size:12px}.record-name small,.status{font-size:10px}.status.pending_lead,.status.pending_teacher{color:#547994}.status.approved{color:#477c65}.status.needs_material{color:#9d742c}th{color:#8e8195;font-size:11px}.date-cell{font-size:10px}.panel-foot{color:#9b8e9f;font-size:10px}.todo-panel h3{font-size:14px}.todo-panel>p{color:#9b8b9f;font-size:11px}.todo-item{font-size:10px}.todo-tip{font-size:9px}.step b{font-size:11px}.step small{font-size:9px}.filter-tabs button,.search-field input,.table-tools select{font-size:12px}.login-note p,.form-under{font-size:11px}.login-box>.muted{font-size:13px}.demo-entry{font-size:12px}.login-tabs button,.login-story .story-tag{font-size:13px}@media (max-width:760px){.sidebar nav button{font-size:13px}.page-heading p{font-size:11px}.welcome-strip p{font-size:10px}.stat-card>div{font-size:12px}.records-table .record-name b{font-size:11px}.record-name small{font-size:9px}.panel-heading h2{font-size:15px}.panel-heading p{font-size:10px}.panel-foot{font-size:9px}.step b{font-size:10px}.step small{font-size:8px}.step{gap:6px}.step>span{width:23px;height:23px}.step:not(:last-child):after{display:none}.login-story .story-tag,.login-note p,.form-under{font-size:10px}.table-tools select,.search-field input{font-size:11px}}.review-list{box-shadow:none;background:#fff;border-top:1px solid #e3dfe5;border-bottom:1px solid #e3dfe5;border-radius:0;overflow:hidden}.organization-toolbar{border-bottom:1px solid #eee9ef;padding:21px 23px}.organization-path{color:#a398a8;align-items:center;gap:9px;margin-bottom:17px;font-size:11px;display:flex}.organization-path>b{color:#75667c;font-weight:550}.organization-path>svg:first-child{color:#a27b80;margin-right:2px}.organization-selects{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.organization-selects label{color:#716477;align-items:center;gap:11px;font-size:12px;display:flex}.organization-selects select{color:#66556e;background:#fff;border:1px solid #ded8e2;border-radius:4px;min-width:175px;max-width:260px;padding:9px 30px 9px 12px;font-size:12px}.organization-selects>.text-button{margin-left:auto}.review-rows{table-layout:auto;min-width:1020px}.review-rows th{color:#83768c;background:#f8f7f9;border-top:1px solid #ede9ef;padding:13px 16px;font-size:11px}.review-rows td{white-space:nowrap;color:#776780;background:0 0;border-bottom:1px solid #eeebf0;padding:18px 16px;font-size:12px;line-height:1.5}.review-rows tr:hover td{background:#fcf9fa}.review-rows th:first-child,.review-rows td:first-child{width:30%;min-width:230px;padding-left:23px}.row-title{text-align:left;white-space:nowrap;text-overflow:ellipsis;color:#504253;max-width:310px;padding:0;font-size:12px;font-weight:500;display:block;overflow:hidden}.row-title:hover{color:var(--red)}.review-rows .cell-sub{color:#a18faa;margin-top:5px;font-size:10px}.review-rows .status{font-size:10px}.review-rows .text-button{font-size:11px}.review-rows .review-date{color:#a493ad;font-size:10px}.review-stage{color:#b7acbd;white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:flex}.review-stage.complete{color:#5b8a72}.review-stage.current{color:#617e9b}.review-stage.supplement{color:#ae813e}.review-stage.rejected{color:#b77079}.row-actions{white-space:nowrap;align-items:center;gap:15px;display:flex}.organization-fields{margin-top:20px;margin-bottom:20px}.organization-fields input{min-width:0}.review-list .panel-foot{border-top:1px solid #ece7ef}.review-list .empty{border-top:1px solid #eee8f0}.review-list .filter-tabs{gap:22px}.review-list .table-tools{justify-content:flex-start}.review-list .search-field{min-width:270px}.review-list .search-field input{min-width:180px}.review-list .table-tools .search-field{flex:0 340px}@media (max-width:760px){.organization-toolbar{padding:17px 16px}.organization-path{flex-wrap:wrap;gap:6px;font-size:10px}.organization-selects{align-items:flex-end;gap:12px}.organization-selects label{flex-direction:column;flex:1;align-items:flex-start;gap:7px;min-width:130px;font-size:11px;display:flex}.organization-selects select{width:100%;min-width:0;max-width:none;font-size:11px}.organization-selects>.text-button{margin-left:0;font-size:10px}.review-rows th{padding:12px}.review-rows td{padding:15px 12px;font-size:11px}.review-rows th:first-child,.review-rows td:first-child{min-width:190px;padding-left:16px}.row-title{max-width:250px;font-size:11px}.review-list .table-tools{align-items:center}.review-list .search-field{min-width:150px}.review-list .search-field input{min-width:0}.review-list .filter-tabs{gap:17px}.organization-fields{grid-template-columns:1fr;gap:14px}}.review-rows{min-width:900px}.review-rows th,.review-rows td{padding-left:12px;padding-right:12px}.review-rows th:first-child,.review-rows td:first-child{width:28%;min-width:220px}.row-title{max-width:280px}@media (max-width:1200px){.review-rows{min-width:780px}.review-rows .review-date{display:none}.row-title{max-width:230px}.review-rows th:first-child,.review-rows td:first-child{min-width:200px}}.material-source{color:#8d8385;margin:12px 0 22px;font-size:12px;line-height:1.9}.material-upload-row{border-top:1px solid var(--line);padding:20px 0}.material-upload-heading{align-items:flex-start;gap:12px;display:flex}.item-number{color:#b6a5a7;padding-top:4px;font-size:12px}.material-upload-heading>div{flex:1}.material-upload-heading h3{font-size:14px;line-height:1.6}.material-upload-heading h3 b{color:var(--red)}.material-upload-heading h3 small{color:#a49799;margin-left:9px;font-size:10px;font-weight:400}.material-upload-heading p{color:#8c8588;margin-top:6px;font-size:11px;line-height:1.9}.upload-item-button{cursor:pointer;flex-shrink:0;min-height:34px;padding:8px 12px;font-size:11px;position:relative;overflow:hidden}.upload-item-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.item-attachments{margin:12px 0 0 28px}.item-attachments>div{background:#faf8f7;align-items:center;gap:9px;margin-top:5px;padding:7px 11px;font-size:11px;display:flex}.item-attachments>div>span{overflow-wrap:anywhere;flex:1}.item-attachments small,.no-file{color:#a19699;font-size:10px}.extra-upload{border-top:1px dashed #ceb8ba}.extra-upload h3{color:var(--red)}.review-workspace-overlay{z-index:55;background:#43333866;padding:20px;position:fixed;inset:0;overflow:auto}.review-workspace{background:#fff;border-radius:10px;max-width:1480px;min-height:calc(100dvh - 40px);margin:auto;overflow:hidden;box-shadow:0 20px 80px #33212826}.review-workspace>.modal-head{border-bottom:1px solid var(--line);z-index:4;background:#fff;position:sticky;top:-20px}.workspace-summary{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:25px 30px;display:flex}.workspace-summary .status{margin-right:12px}.workspace-summary h1{margin:14px 0 8px;font-size:23px;line-height:1.6}.workspace-summary p{color:#8e8387;font-size:11px;line-height:1.8}.workspace-summary p.pre-wrap{color:#675d61;max-width:900px;margin-top:10px}.workspace-score{text-align:right;min-width:100px}.workspace-score small{color:#968a8e;margin:8px 0;font-size:11px;display:block}.workspace-score strong{color:var(--red);font-size:31px}.workspace-score strong span{font-size:12px;font-weight:400}.workspace-error{margin:14px 30px}.online-review{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 370px;display:grid}.preview-column{background:#efedeb;align-self:start;min-width:0;padding:18px;position:sticky;top:78px}.preview-section-head{color:#93878a;align-items:center;gap:16px;margin-bottom:13px;font-size:11px;display:flex}.preview-section-head b{color:#64565d;font-size:13px}.preview-file-tabs{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.preview-file-tabs button{color:#887b7e;overflow-wrap:anywhere;background:#f8f6f5;border:1px solid #0000;align-items:center;gap:5px;max-width:100%;padding:8px 10px;font-size:11px;display:flex}.preview-file-tabs button.active{color:var(--red);background:#fff;border-color:#b88e92}.file-preview{background:#fff;border:1px solid #e2dedd}.preview-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 15px;display:flex}.preview-toolbar>div:first-child{overflow-wrap:anywhere;flex:1;min-width:120px}.preview-toolbar b{font-size:12px;display:block}.preview-toolbar small{color:#a2989a;margin-top:4px;font-size:10px;display:block}.preview-image-tools{color:#8e7e84;align-items:center;gap:12px;font-size:10px;display:flex}.preview-caption{color:#9c9094;background:#fcfbfa;justify-content:space-between;padding:10px 15px;font-size:10px;display:flex}.preview-caption a{color:var(--red);gap:5px;display:flex}.document-frame{width:100%;height:650px;background:#fff;border:0;height:65dvh;min-height:420px;display:block}.image-preview{background:#f6f4f2;justify-content:center;align-items:center;height:65dvh;min-height:420px;padding:35px;display:flex;overflow:auto}.image-preview img{object-fit:contain;transform-origin:50%;max-width:100%;max-height:100%;transition:transform .15s}.preview-empty{color:#b6a8ad;text-align:center;background:#f7f5f3;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;padding:30px;display:flex}.preview-empty h3{color:#8f7d84;font-size:15px}.preview-empty p{font-size:12px}.word-text{white-space:pre-wrap;height:65dvh;min-height:420px;padding:26px;font:14px/2 system-ui;overflow:auto}.item-review-column{border-left:1px solid var(--line);min-width:0;padding-bottom:20px}.item-review-head{border-bottom:1px solid var(--line);background:#fcfaf9;justify-content:space-between;align-items:center;gap:6px;padding:21px 20px;display:flex}.item-review-head p{color:#9c8d92;margin-top:7px;font-size:11px}.item-review-head .subtle-tag{padding:5px 8px;font-size:9px}.review-item-row{border-bottom:1px solid #f0ebeb;border-left:3px solid #0000;padding:14px 18px}.review-item-row.active{border-left-color:var(--red);background:#fbf4f3}.select-review-item{text-align:left;align-items:flex-start;gap:10px;width:100%;display:flex}.select-review-item>span{color:#ba9d9f;margin-top:3px;font-size:10px}.select-review-item b{font-size:12px;line-height:1.6}.select-review-item small{color:#a8989c;margin-top:4px;font-size:10px;display:block}.stage-marks{gap:16px;margin:10px 0 0 22px;display:flex}.stage-marks>div{color:#a3969b;flex:1;font-size:9px}.stage-marks>div>span:first-child{margin-right:6px}.stage-marks p{color:#a56d6d;overflow-wrap:anywhere;margin-top:5px;font-size:10px;line-height:1.7}.item-mark{border-radius:3px;align-items:center;gap:2px;padding:2px 5px;font-size:9px;display:inline-flex}.item-mark.pass{color:#4d8161;background:#edf5ef}.item-mark.fail{color:#b64747;background:#fae8e8}.item-mark.unmarked{color:#aaa0a0;background:#f0eeec}.item-mark.previous{color:#b09b89;background:#f4efeb}.item-decision{border-bottom:1px solid var(--line);background:#fff;padding:20px}.item-decision h4{font-size:12px;line-height:1.6}.item-decision>p{color:#96898f;margin:9px 0 15px;font-size:10px;line-height:1.9}.item-decision .field{margin-bottom:12px;font-size:11px}.item-decision textarea{font-size:11px}.item-mark-actions{gap:9px;display:flex}.item-mark-actions .button{flex:1;padding:9px;font-size:12px}.item-decision>small{color:#b0a0a5;margin-top:12px;font-size:9px;line-height:1.9;display:block}.mark-pass-selected{color:#477d59;background:#eaf4ed;border:1px solid #93b99f}.item-review-column .review-form{background:#fcfaf9;border:0;border-radius:0;margin:0;padding:20px}.review-gate-hint{color:#a58d78;margin:14px 0;font-size:10px;line-height:1.8}.item-review-column .review-options label{padding:10px 6px;font-size:10px}.workspace-history{padding:26px 30px}.workspace-history .steps{max-width:650px;margin-bottom:25px}.workspace-history details{border-top:1px solid var(--line);padding-top:18px}.workspace-history summary{color:#8c7a82;cursor:pointer;font-size:12px}.workspace-history .timeline{margin-top:24px}.review-workspace .drawer-foot{position:static}.preview-loader{border:2px solid #e9dddd;border-top-color:var(--red);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite preview-spin}@keyframes preview-spin{to{transform:rotate(360deg)}}@media (max-width:1000px){.review-workspace-overlay{padding:8px}.review-workspace>.modal-head{top:-8px}.online-review{grid-template-columns:minmax(0,1fr) 320px}.preview-column{padding:12px}.workspace-summary{padding:20px}.workspace-summary h1{font-size:20px}}@media (max-width:720px){.online-review{flex-direction:column;display:flex}.preview-column{order:1;position:static}.item-review-column{border-left:0;order:0}.review-items{border-bottom:1px solid var(--line);max-height:230px;display:flex;overflow:auto}.review-item-row{flex-shrink:0;min-width:210px;max-width:240px}.item-review-column .review-form{margin-top:10px}.workspace-summary h1{font-size:18px}.workspace-score{min-width:55px}.workspace-score strong{font-size:24px}.material-upload-heading{flex-wrap:wrap;gap:8px}.upload-item-button{margin-left:25px}.material-upload-heading>div{min-width:190px}.preview-toolbar{gap:10px}.document-frame,.image-preview{height:60dvh;min-height:380px}.review-workspace>.modal-head h2{font-size:16px}.workspace-history{padding:22px}.workspace-summary p{font-size:10px}}.review-workspace{flex-direction:column;height:calc(100dvh - 40px);min-height:0;display:flex}.review-workspace>.modal-head{flex-shrink:0;padding:16px 24px;position:static}.workspace-summary{flex-shrink:0;padding:14px 24px}.workspace-summary h1{margin:8px 0 4px;font-size:20px}.workspace-summary p.pre-wrap{max-height:40px;margin-top:4px;overflow:auto}.online-review{flex:1;min-height:0;overflow:hidden}.preview-column{flex-direction:column;height:100%;display:flex;position:static}.file-preview{flex-direction:column;flex:1;min-height:0;display:flex}.preview-column>.preview-empty{flex:1;min-height:0}.document-frame,.image-preview,.word-text{flex:1;height:auto;min-height:0}.file-preview>.preview-empty{flex:1;min-height:0}.item-review-column{overflow:auto}.review-items{max-height:280px;overflow-y:auto}.workspace-history{flex-shrink:0;max-height:150px;padding:10px 24px;overflow:auto}.workspace-history .steps{display:none}.workspace-history details{border:0;padding:0}.review-workspace .drawer-foot{flex-shrink:0;padding:12px 24px}.review-workspace .drawer-foot .button{min-height:34px}.workspace-error,.preview-section-head,.preview-toolbar,.preview-file-tabs,.preview-caption{flex-shrink:0}@media (max-width:1000px){.review-workspace{height:calc(100dvh - 16px)}}@media (max-width:720px){.review-workspace{height:auto;min-height:calc(100dvh - 16px);overflow:visible}.online-review{display:flex;overflow:visible}.preview-column{order:0;height:60dvh;min-height:400px}.item-review-column{order:1;overflow:visible}.review-items{max-height:230px;overflow:auto}.workspace-summary{padding:14px 18px}.workspace-summary h1{font-size:17px}.workspace-summary .pre-wrap{display:none}}.pdf-viewer{background:#e5e1de;flex-direction:column;flex:1;min-height:0;display:flex}.pdf-controls{background:#f5f2ef;flex-shrink:0;justify-content:center;align-items:center;gap:14px;padding:10px;font-size:11px;display:flex}.pdf-controls button{padding:2px;display:flex}.pdf-controls small{color:#a68a90;font-size:10px}.pdf-canvas-scroll{text-align:center;flex:1;min-height:0;padding:16px;overflow:auto}.pdf-canvas-scroll canvas{background:#fff;margin:auto;display:block;box-shadow:0 1px 5px #30232220}.review-workspace-overlay{padding:0}.review-workspace{border-radius:0;max-width:none;height:100dvh}.review-workspace>.modal-head{padding:12px 22px}.review-workspace>.modal-head .eyebrow{display:none}.review-workspace>.modal-head h2{font-size:17px}.workspace-summary{padding:10px 22px}.workspace-summary p.pre-wrap{max-height:20px}.item-review-head{padding:14px 18px}.item-review-head h3{font-size:14px}.item-decision{padding:14px 18px}.item-decision>p{margin:6px 0 9px}.item-decision textarea{min-height:56px;padding:9px}.item-decision>small{margin-top:8px}.review-items{max-height:240px}.preview-section-head{margin-bottom:9px}.preview-toolbar{padding:9px 12px}.preview-caption{padding:7px 12px}.preview-file-tabs{margin-bottom:7px}.preview-column{padding:12px}.review-workspace .drawer-foot,.workspace-history{padding:8px 22px}.preview-section-head{line-height:1.6}@media (max-width:720px){.review-workspace{height:auto;min-height:100dvh}.preview-column{height:65dvh;min-height:400px}.review-items{max-height:230px}}.admin-summary{color:#69717e;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:24px;padding:18px 4px 25px;font-size:13px;display:flex}.admin-summary>span{align-items:center;gap:8px;display:flex}.admin-summary>span>b{color:#242a36;margin-left:4px;font-size:24px}.admin-summary>button{color:#626977;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:12px;padding:7px 13px;display:flex}.admin-summary>button>b{color:#2d3441}.admin-summary>button.selected{color:#a92a2e;background:#fbf0f0;border-color:#ebd3d4}.admin-summary .admin-boundary{color:#7f8892;margin-left:auto;font-size:12px}.admin-table{width:100%;min-width:950px}.admin-table th{white-space:nowrap}.admin-table td{vertical-align:middle}.admin-table td:first-child{min-width:160px}.admin-table td:last-child{min-width:250px}.account-role{color:#626c7e;white-space:nowrap;background:#f1f3f6;border-radius:4px;padding:4px 9px;font-size:12px}.account-role.lead{color:#7b5d9b;background:#f4effb}.account-role.teacher{color:#47729f;background:#edf4fb}.delete-account{color:#ad3d43!important}.admin-footnote{color:#9097a1;align-items:center;gap:9px;margin:18px 0;font-size:12px;display:flex}.admin-footnote p{margin:0}.admin-empty{text-align:center;color:#939ba6;padding:64px 24px}.admin-empty>svg{margin:0 auto 14px}.admin-empty h3{color:#5b6574;font-size:16px}.admin-empty p{font-size:13px}.admin-target{background:#f7f8fa;border-radius:8px;align-items:center;gap:13px;margin-bottom:20px;padding:18px;display:flex}.admin-target small{color:#808896;margin-top:5px;display:block}.admin-confirm{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.import-defaults{background:#f7f8fa;border:1px solid #e6e8ec;border-radius:7px;margin:16px 0;padding:14px}.import-defaults summary{cursor:pointer;color:#505c6e;font-size:13px;font-weight:600}.import-defaults p{color:#8a919b;font-size:12px;line-height:1.8}.import-default-grid{grid-template-columns:1fr 1.2fr 1.2fr;gap:12px;display:grid}.import-default-grid .field{margin-bottom:0}.account-upload{min-height:135px}.admin-shell .row-actions{gap:16px}@media (max-width:1000px){.admin-summary .admin-boundary{display:none}.admin-shell .page-heading{flex-wrap:wrap;align-items:flex-start;gap:16px}.admin-shell .button-row{flex-wrap:wrap}}@media (max-width:600px){.admin-summary{gap:10px}.admin-summary>span{width:100%}.admin-summary>button{padding:7px 9px}.admin-shell .table-tools{flex-wrap:wrap}.admin-shell .table-tools .search-field{flex:100%}.import-default-grid{grid-template-columns:1fr}.admin-shell .panel-foot>span:last-child{display:none}.admin-shell .button-row .button{padding:10px;font-size:12px}.admin-shell .demo-banner{flex-wrap:wrap;height:auto;min-height:42px}}.teacher-password-table{width:100%;min-width:710px}.teacher-password-table th{white-space:nowrap}.teacher-password-table td{vertical-align:middle}.teacher-password-table td:first-child{min-width:150px}.teacher-password-management .table-tools .search-field{max-width:460px}@media (max-width:600px){.teacher-password-management .page-heading{flex-wrap:wrap;gap:14px}.teacher-password-management .panel-foot>span:last-child{display:none}}.modal-overlay:has(.admin-confirm){z-index:100}.step.skipped>span,.review-stage.skipped,.item-mark.skipped{color:#a84648;background:#fbefef;border-color:#e7c7c8}.step.skipped small,.skipped-text{color:#a84648}.skip-banner{color:#975a32;background:#fff5ed;border-bottom:1px solid #f0dfcf;align-items:center;gap:10px;padding:14px 26px;font-size:12px;display:flex}.withdraw-review{background:#faf7f3;border:1px solid #ece4da;border-radius:6px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:18px 20px;display:flex}.withdraw-review p{color:#8c8180;margin-top:6px;font-size:11px}.withdraw-review b{font-size:13px}.final-results-table{min-width:1120px}.final-results-table th,.final-results-table td{padding:16px 14px}.final-results-table td:first-child{min-width:180px;max-width:260px}.final-results-table td:first-child b{line-height:1.7}.handler-person+.handler-person{margin-top:8px}.review-rows td:has(.cell-sub)>b{font-size:11px}.review-rows .cell-sub{line-height:1.5}@media (max-width:650px){.withdraw-review{flex-direction:column;align-items:flex-start}.skip-banner{padding:12px 16px}}.sidebar .side-bottom,.sidebar .side-tip{flex-shrink:0}.side-bottom>div:nth-child(2){flex:1;min-width:0}.side-bottom small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-bottom button{flex-shrink:0}.settings-editor{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:24px}.settings-categories{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;display:flex}.settings-categories .field{flex:1;min-width:200px;margin:0}.settings-item{border-top:1px solid var(--line);padding:20px 0}.settings-item-title{align-items:center;gap:18px;margin-bottom:14px;display:flex}.settings-item-title .text-button{margin-left:auto}.settings-item-title input{accent-color:var(--red)}.settings-editor>p{margin-top:15px;font-size:12px}.contact-card{background:#faf7f7;border:1px solid #e8e3e3;border-radius:12px;margin-bottom:24px;padding:20px}.contact-card h3{margin:0 0 10px;font-size:15px}.contact-card p{color:#777;margin:10px 0 4px;font-size:13px;line-height:1.7}.contact-card a{color:#9f3035;overflow-wrap:anywhere;font-size:13px}.contact-card.compact{margin:18px 0;padding:14px}.contact-card.compact p{font-size:12px}.sidebar{overflow-y:auto}.guide-documents{margin:24px 0;padding:24px}.guide-documents h2{margin:0 0 8px;font-size:17px}.guide-documents p{color:#777;margin:0 0 16px;font-size:13px}.guide-document-list{gap:10px;display:grid}.guide-document{color:#922e33;border:1px solid #e8e3e3;border-radius:9px;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.guide-document:hover{background:#faf5f5}.guide-document span{flex:1;min-width:0}.guide-document b{color:#272936;font-size:14px;line-height:1.5;display:block}.guide-document small{color:#888;margin-top:3px;display:block}.guide-document:focus-visible{outline-offset:2px;outline:2px solid #9f3035}.guide-documents-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.guide-document>a:first-of-type{min-width:0;color:inherit;flex:1;text-decoration:none}.guide-document>a:last-of-type{color:#922e33}.guide-upload{cursor:pointer;position:relative}.guide-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.guide-confirm{color:#777;font-size:12px}.review-workspace>.modal-head{flex-wrap:wrap;gap:12px}.review-workspace>.modal-head>.button-row{flex-wrap:wrap}
