.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.12fr) minmax(500px,.88fr);gap:28px;padding:28px;overflow:hidden;color:#2b1b1f;background:radial-gradient(circle at 86% 12%,rgba(226,171,185,.22),transparent 29%),radial-gradient(circle at 10% 90%,rgba(201,79,109,.08),transparent 25%),#fbf8f7}.login-visual{position:relative;min-height:calc(100vh - 56px);overflow:hidden;padding:44px 50px;border-radius:26px;color:#fff;background-position:center;background-size:cover;box-shadow:0 24px 70px #360e1a2e}.login-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(38,7,17,.36),rgba(38,7,17,.08) 48%,transparent 74%),linear-gradient(180deg,rgba(28,5,12,.15),transparent 24%,transparent 74%,rgba(28,5,12,.16));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{text-shadow:0 2px 14px rgba(24,3,9,.28)}.login-brand span,.login-mobile-brand span{display:block;margin-top:4px;font-size:13px;letter-spacing:.08em}.login-brand span{color:#cfa8b3}.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:#f096ad}.login-hero p{max-width:530px;margin:20px 0 0;color:#d8bcc4;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:#8d7a80;font-size:12px;letter-spacing:.06em}.login-welcome-label{margin-bottom:12px;color:#c94f6d;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:#8d7a80;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:#594249;font-size:13px;font-weight:650}.login-form .ant-input-affix-wrapper{height:50px;padding:0 14px;border-color:#dfd2d6;border-radius:10px;background:#ffffffe6;box-shadow:0 2px 7px #41152105}.login-form .ant-input-affix-wrapper:hover{border-color:#d2bdc3}.login-form .ant-input-affix-wrapper-focused{border-color:#d06b84;background:#fff;box-shadow:0 0 0 4px #c94f6d1a}.login-form .ant-input-affix-wrapper-status-error,.login-form .ant-input-affix-wrapper-status-error:hover{border-color:#ba405f;box-shadow:0 0 0 4px #ba405f14}.login-form .ant-input-prefix{margin-right:12px;color:#a89198;font-size:18px}.login-form .ant-input{color:#2b1b1f;font-size:14px}.login-form .ant-input::placeholder{color:#b7a7ac}.login-form .ant-input-password-icon{color:#99858b}.login-form .ant-form-item-explain-error{padding-top:3px;color:#ba405f;font-size:11px}.login-form .login-options{margin-top:-2px;margin-bottom:25px}.login-options .ant-checkbox-wrapper{color:#7e6870;font-size:12px}.login-options .ant-checkbox-inner{width:16px;height:16px;border-color:#d5c4c9;border-radius:5px}.login-options .ant-checkbox-checked .ant-checkbox-inner{border-color:#c94f6d;background:#c94f6d}.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,#ce526f,#bd405f);box-shadow:0 10px 22px #c94f6d3d;transition:transform .18s,box-shadow .18s}.login-submit.ant-btn:not(:disabled):hover{transform:translateY(-1px);color:#fff;background:linear-gradient(110deg,#d75d79,#c64765);box-shadow:0 13px 26px #c94f6d4d}.login-submit.ant-btn:not(:disabled):active{transform:translateY(0)}.login-footer{margin-top:auto;padding-top:18px;color:#ad9ca1;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(225,155,172,.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: #c94f6d;--sys-brand-hover: #b6405d;--sys-brand-soft: #fff1f4;--sys-aside-gradient: linear-gradient(180deg, #4a1825 0%, #37111a 100%);--sys-hero-gradient: linear-gradient(120deg, #4a1f30 0%, #5c2438 60%, #6d2a40 100%);--sys-progress-gradient: linear-gradient(90deg, #d2506b, #a83550);--sys-bg: #fbf8f7;--sys-surface: #ffffff;--sys-line: #eadeda;--sys-ink: #2b1b1f;--sys-muted: #8d7a80;--sys-green: #16866f;--sys-green-soft: #eaf7f3;--sys-blue: #5875bd;--sys-blue-soft: #edf2ff;--sys-amber: #a96b08;--sys-amber-soft: #fff6e5;--sys-red: #ba405f;--sys-red-soft: #fff0f3;--sys-gray-soft: #f1eeee;--sys-gray: #8e7e82;--sys-toast-bg: #3d1b24;--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-gradient)!important}.sys-sider{position:sticky!important;top:0;height:100vh;height:100dvh;align-self:flex-start;overflow:hidden}.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:64px;flex:0 0 64px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;line-height:1.2}.sys-sider-brand strong{font-size:18px;letter-spacing:.08em}.sys-sider-brand span{margin-top:5px;color:#d8bcc4;font-size:11px;letter-spacing:.08em}.sys-sider-brand.is-collapsed strong{font-size:14px;letter-spacing:.04em}.sys-card{background:var(--sys-surface);border:1px solid var(--sys-line);border-radius:var(--sys-card-radius);box-shadow:0 4px 18px #41152109;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 #f0e6e8;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 #f0e6e8;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:#f2e7eb;color:#6b3948;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 #eadce1;border-radius:12px;overflow:hidden}.score-dimension-head{padding:10px 12px;background:linear-gradient(90deg,#fbf3f6,#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:#faf7f8;color:#8b737b;font-size:11px;font-weight:700}.score-item-row{padding:11px 12px;border-top:1px solid #f0e7ea}.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:#624c53}.score-side-body label i,.workflow-basic-grid label i{color:var(--sys-brand)}.score-report-switch{margin-top:8px;padding:12px 14px;background:#fcfafb;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 #e8d8de;border-radius:11px;background:#fcfafb;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:#b28d99}.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:#f2e7ea;color:#8a5666;font-size:10px;font-weight:800}.workflow-connector{width:104px;display:grid;place-items:center;color:#c6aab4}.workflow-connector>div{display:flex;align-items:center;white-space:nowrap;color:#8a747b;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:#c94f6d73;background:#c94f6d0f}.workflow-insert-target:before{content:"";position:absolute;left:50%;top:12%;bottom:12%;width:3px;transform:translate(-50%);border-radius:99px;background:#dec9d0;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 #dec9d0;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 #c94f6d1f}.workflow-insert-target.active:after,.workflow-insert-target:hover:after{border-color:var(--sys-brand);box-shadow:0 0 0 4px #c94f6d24}@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:#fff2f4;border:1px solid #f0c9d2;border-radius:10px;padding:12px 13px;color:#843047;font-size:13px;line-height:1.55;margin:4px 0 8px}.sys-table .ant-table-thead>tr>th{background:#fcfafa!important;color:#958188!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 #2a0d1533!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:#fffafb}.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}
