.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.12fr) minmax(500px,.88fr);gap:28px;padding:28px;overflow:hidden;color:#25313a;background:radial-gradient(circle at 86% 12%,rgba(110,180,148,.22),transparent 29%),radial-gradient(circle at 10% 90%,rgba(45,125,89,.08),transparent 25%),#eef4f7}.login-visual{position:relative;min-height:calc(100vh - 56px);overflow:hidden;padding:44px 50px;border-radius:26px;color:#25313a;background-position:center;background-size:cover;box-shadow:0 24px 70px #174d3a2e}.login-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(255,255,255,.78),rgba(255,255,255,.34) 50%,transparent 76%),linear-gradient(180deg,rgba(255,255,255,.12),transparent 28%,transparent 78%,rgba(23,77,58,.05));pointer-events:none}.login-brand,.login-hero{position:relative;z-index:1}.login-brand strong,.login-mobile-brand strong{display:block;font-size:18px;letter-spacing:.02em}.login-brand strong{color:#174d3a;text-shadow:0 1px 10px rgba(255,255,255,.7)}.login-brand span,.login-mobile-brand span{display:block;margin-top:4px;font-size:13px;letter-spacing:.08em}.login-brand span{color:#52616b}.login-hero{max-width:55%;margin-top:18vh}.login-hero h1{margin:0;font-size:38px;font-weight:680;line-height:1.3;letter-spacing:-.03em}.login-hero h1 span{color:#2d7d59}.login-hero p{max-width:530px;margin:20px 0 0;color:#52616b;font-size:15px;line-height:1.9}.login-side{position:relative;min-height:calc(100vh - 56px);display:flex;flex-direction:column;padding:20px 7vw 18px}.login-form-wrap{width:100%;max-width:440px;margin:auto;transform:translate(-28px)}.login-mobile-brand{display:none;margin-bottom:38px}.login-mobile-brand strong{font-size:16px}.login-mobile-brand span{color:#65727c;font-size:12px;letter-spacing:.06em}.login-welcome-label{margin-bottom:12px;color:#2d7d59;font-size:12px;font-weight:700;letter-spacing:.12em}.login-form-wrap h2{margin:0;font-size:31px;line-height:1.3;letter-spacing:-.03em}.login-subtitle{margin:12px 0 34px;color:#65727c;font-size:13px;line-height:1.7}.login-form .ant-form-item{margin-bottom:20px}.login-form .ant-form-item-label{padding-bottom:8px}.login-form .ant-form-item-label>label{height:auto;color:#4c5a63;font-size:13px;font-weight:650}.login-form .ant-input-affix-wrapper{height:50px;padding:0 14px;border-color:#d3dee3;border-radius:10px;background:#ffffffe6;box-shadow:0 2px 7px #25313a05}.login-form .ant-input-affix-wrapper:hover{border-color:#c2d1d7}.login-form .ant-input-affix-wrapper-focused{border-color:#4d9b76;background:#fff;box-shadow:0 0 0 4px #2d7d591a}.login-form .ant-input-affix-wrapper-status-error,.login-form .ant-input-affix-wrapper-status-error:hover{border-color:#b9414f;box-shadow:0 0 0 4px #b9414f14}.login-form .ant-input-prefix{margin-right:12px;color:#87939c;font-size:18px}.login-form .ant-input{color:#25313a;font-size:14px}.login-form .ant-input::placeholder{color:#9ba5ac}.login-form .ant-input-password-icon{color:#75828c}.login-form .ant-form-item-explain-error{padding-top:3px;color:#b9414f;font-size:11px}.login-form .login-options{margin-top:-2px;margin-bottom:25px}.login-options .ant-checkbox-wrapper{color:#5b6871;font-size:12px}.login-options .ant-checkbox-inner{width:16px;height:16px;border-color:#c8d5da;border-radius:5px}.login-options .ant-checkbox-checked .ant-checkbox-inner{border-color:#2d7d59;background:#2d7d59}.login-form .login-submit-item{margin-bottom:0}.login-submit.ant-btn{height:50px;border:0;border-radius:10px;color:#fff;font-size:14px;font-weight:700;letter-spacing:.12em;background:linear-gradient(110deg,#347b5c,#246a4c);box-shadow:0 10px 22px #2d7d593d;transition:transform .18s,box-shadow .18s}.login-submit.ant-btn:not(:disabled):hover{transform:translateY(-1px);color:#fff;background:linear-gradient(110deg,#3f906c,#2f7454);box-shadow:0 13px 26px #2d7d594d}.login-submit.ant-btn:not(:disabled):active{transform:translateY(0)}.login-footer{margin-top:auto;padding-top:18px;color:#8f9aa2;font-size:10px;line-height:1.7;text-align:center}@media (max-height: 760px) and (min-width: 901px){.login-hero{margin-top:12vh}.login-hero h1{font-size:36px}.login-subtitle{margin-bottom:25px}.login-form .ant-form-item{margin-bottom:15px}}@media (max-width: 1100px){.login-page{grid-template-columns:minmax(430px,1fr) minmax(430px,1fr)}.login-visual{padding:38px;background-position:58% center}.login-hero{max-width:75%}.login-hero h1{font-size:36px}.login-side{padding-right:5vw;padding-left:5vw}.login-form-wrap{transform:translate(-16px)}}@media (max-width: 900px){.login-page{display:block;padding:0}.login-visual{display:none}.login-side{min-height:100vh;padding:24px 8vw;background:radial-gradient(circle at 85% 8%,rgba(96,173,138,.2),transparent 32%)}.login-mobile-brand{display:block}.login-form-wrap{max-width:460px;transform:none}.login-footer{padding-bottom:8px}}@media (max-width: 520px){.login-side{padding:22px 24px}.login-mobile-brand{margin-bottom:48px}.login-welcome-label{font-size:11px}.login-form-wrap h2{font-size:27px}.login-subtitle{margin-bottom:29px}.login-footer{font-size:9px}}:root{--sys-brand: #2d7d59;--sys-brand-hover: #347b5c;--sys-brand-active: #246a4c;--sys-brand-soft: #e9f7f0;--sys-aside: #f8fbfc;--sys-hero-gradient: linear-gradient(120deg, #174d3a 0%, #23654b 58%, #2d7d59 100%);--sys-progress-gradient: linear-gradient(90deg, #43a579, #2d7d59);--sys-bg: #eef4f7;--sys-surface: #ffffff;--sys-surface-soft: #f7fafc;--sys-line: #dfe7eb;--sys-ink: #25313a;--sys-muted: #65727c;--sys-green: #16866f;--sys-green-soft: #eaf7f3;--sys-blue: #5875bd;--sys-blue-soft: #edf2ff;--sys-amber: #a96b08;--sys-amber-soft: #fff6e5;--sys-red: #b9414f;--sys-red-soft: #fff1f2;--sys-gray-soft: #edf2f4;--sys-gray: #73808a;--sys-toast-bg: #23322e;--sys-card-radius: 13px}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--sys-bg)}*,*:before,*:after{box-sizing:border-box}.sys-sider,.sys-sider .ant-layout-sider-children{background:var(--sys-aside)!important}.sys-sider{position:sticky!important;top:0;height:100vh;height:100dvh;align-self:flex-start;overflow:hidden;border-right:1px solid var(--sys-line)}.sys-sider .ant-layout-sider-children{height:100%;display:flex;flex-direction:column;overflow:hidden}.sys-sider .ant-menu-root{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.sys-sider .ant-menu-root::-webkit-scrollbar{display:none;width:0;height:0}.sys-sider-brand{height:80px;flex:0 0 80px;display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px;color:var(--sys-ink);line-height:1.2}.sys-sider-brand-logo{width:64px;height:64px;flex:0 0 64px;object-fit:contain}.sys-sider-brand-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.sys-sider-brand-copy strong{font-size:18px;letter-spacing:.08em}.sys-sider-brand-copy span{margin-top:5px;color:var(--sys-muted);font-size:11px;letter-spacing:.08em;white-space:nowrap}.sys-sider-brand.is-collapsed{justify-content:center;padding:8px}.sys-sider-brand.is-collapsed .sys-sider-brand-logo{width:56px;height:56px;flex-basis:56px}.sys-card{background:var(--sys-surface);border:1px solid var(--sys-line);border-radius:var(--sys-card-radius);box-shadow:0 4px 18px #25313a0a;overflow:hidden}.sys-page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.sys-page-title .ant-typography{margin:0 0 6px!important}.sys-toolbar{padding:14px 16px;border-bottom:1px solid #e7edf0;display:flex;gap:8px;flex-wrap:wrap}.sys-inner-tabs{padding:0 18px;margin-bottom:0!important}.score-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 344px;gap:16px;align-items:start}.score-editor-side{position:sticky;top:82px;display:grid;gap:12px}.score-editor-head,.score-side-head{padding:16px 18px;border-bottom:1px solid #e7edf0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.score-editor-head p,.score-side-head p{margin:4px 0 0;color:var(--sys-muted);font-size:12px}.score-editor-actions{display:flex;align-items:center;gap:10px}.score-editor-actions>span,.score-side-head>span{padding:4px 9px;border-radius:6px;background:#e9f0f2;color:#2f7454;font-size:12px;white-space:nowrap}.score-editor-actions>span b{color:var(--sys-brand);font-size:18px}.score-dimension-list{padding:16px;display:grid;gap:14px}.score-dimension-card{border:1px solid #dfe7eb;border-radius:12px;overflow:hidden}.score-dimension-head{padding:10px 12px;background:linear-gradient(90deg,#f1f8f5,#fff);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.score-dimension-head .ant-input{font-weight:700}.score-grid{display:grid;grid-template-columns:160px 80px minmax(190px,1fr) minmax(240px,1.25fr) 34px;gap:9px;align-items:start}.score-grid-head{padding:9px 12px;background:#f5f8fa;color:#65727c;font-size:11px;font-weight:700}.score-item-row{padding:11px 12px;border-top:1px solid #e7edf0}.score-item-row .ant-input-number{width:100%}.score-item-row textarea{resize:vertical!important}.score-side-body{padding:18px;display:grid;gap:9px}.score-side-body label,.workflow-basic-grid label{font-size:12px;font-weight:650;color:#52616b}.score-side-body label i,.workflow-basic-grid label i{color:var(--sys-brand)}.score-report-switch{margin-top:8px;padding:12px 14px;background:#f7fafc;border:1px solid var(--sys-line);border-radius:9px;display:flex;justify-content:space-between;align-items:center}.score-report-switch p{margin:4px 0 0;color:var(--sys-muted);font-size:11px}.score-side-note,.workflow-note{padding:11px 14px;border:1px solid #f0d7a7;background:#fff8ea;color:#815613;border-radius:9px;font-size:12px}.workflow-editor-stack{display:grid;gap:16px}.workflow-basic-grid{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.workflow-basic-grid>div{display:grid;gap:7px}.workflow-basic .workflow-note{margin:0 18px 18px}.workflow-canvas{min-height:180px;padding:24px;display:flex;align-items:center;overflow-x:auto}.workflow-segment{display:flex;align-items:center;flex:0 0 auto}.workflow-card{position:relative;width:190px;min-height:112px;padding:38px 34px 14px 14px;border:1px solid #dbe5e9;border-radius:11px;background:#f7fafc;cursor:grab;transition:opacity .24s ease,transform .24s cubic-bezier(.22,1,.36,1)}.workflow-card.drag-source{opacity:.34;transform:scale(.97);border-style:dashed}.workflow-card>.ant-btn{position:absolute;right:3px;top:3px;color:#8798a0}.workflow-card b{display:block;font-size:13px;line-height:1.5}.workflow-card small{display:block;color:var(--sys-muted);margin-top:9px}.workflow-index{position:absolute;left:12px;top:10px;padding:3px 7px;border-radius:6px;background:#e9f0f2;color:#477b64;font-size:10px;font-weight:800}.workflow-connector{width:104px;display:grid;place-items:center;color:#adbdc4}.workflow-connector>div{display:flex;align-items:center;white-space:nowrap;color:#65727c;font-size:11px}.workflow-connector .ant-input-number{width:58px}.workflow-connector strong{font-size:20px}.workflow-insert-target{position:relative;flex:0 0 28px;align-self:stretch;min-height:112px;opacity:0;pointer-events:none;border:1px dashed transparent;border-radius:11px;transition:flex-basis .34s cubic-bezier(.22,1,.36,1),opacity .22s ease,margin .34s cubic-bezier(.22,1,.36,1),background .22s ease,border-color .22s ease}.workflow-canvas.is-dragging>.workflow-insert-target{opacity:1;pointer-events:auto}.workflow-insert-target.active{flex-basis:190px;margin:0 5px;border-color:#2d7d5973;background:#2d7d590f}.workflow-insert-target:before{content:"";position:absolute;left:50%;top:12%;bottom:12%;width:3px;transform:translate(-50%);border-radius:99px;background:#ccd9de;transition:background .15s ease,box-shadow .15s ease}.workflow-insert-target:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);border:2px solid #ccd9de;border-radius:50%;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.workflow-insert-target.active:before,.workflow-insert-target:hover:before{background:var(--sys-brand);box-shadow:0 0 0 3px #2d7d591f}.workflow-insert-target.active:after,.workflow-insert-target:hover:after{border-color:var(--sys-brand);box-shadow:0 0 0 4px #2d7d5924}@media (max-width: 1100px){.score-editor-layout{grid-template-columns:1fr}.score-editor-side{position:static}.score-grid{grid-template-columns:130px 70px minmax(160px,1fr) minmax(190px,1.2fr) 32px}}.sys-hero{background:var(--sys-hero-gradient);color:#fff;border-radius:var(--sys-card-radius);padding:24px 28px}.sys-notice{display:flex;gap:11px;align-items:flex-start;background:#fff8ea;border:1px solid #f0d7a7;border-radius:10px;padding:11px 13px;margin-bottom:14px;color:#825315;font-size:13px}.sys-danger-box{background:#fff1f2;border:1px solid #efc8ce;border-radius:10px;padding:12px 13px;color:#913541;font-size:13px;line-height:1.55;margin:4px 0 8px}.sys-table .ant-table-thead>tr>th{background:#f7fafc!important;color:#6f7c85!important;font-size:11px!important;font-weight:650}.sys-table .ant-table-tbody>tr>td{font-size:12px}.sys-device-table .ant-table-tbody>tr>td{height:52px}.ant-table-pagination.ant-pagination{padding-right:16px!important}.ant-message-notice-content{background:var(--sys-toast-bg)!important;border-radius:9px!important;padding:10px 18px!important;box-shadow:0 10px 30px #23322e33!important}.ant-message-notice-content .ant-message-custom-content,.ant-message-notice-content .ant-message-success,.ant-message-notice-content .ant-message-error,.ant-message-notice-content .ant-message-warning,.ant-message-notice-content .ant-message-info,.ant-message-notice-content .anticon{color:#fff!important}.sys-org-item{width:100%;border:0;background:transparent;padding:13px 17px;display:flex;align-items:center;gap:10px;text-align:left;color:var(--sys-ink);cursor:pointer;border-radius:0}.sys-org-item:hover{background:#f7fafc}.sys-org-item.active{background:var(--sys-brand-soft);color:var(--sys-brand)}.student-transfer.ant-transfer{display:flex;align-items:center;width:100%}.student-transfer.ant-transfer .ant-transfer-list{flex:1 1 0;min-width:0;width:auto}
