.workspace-main:has(.policy-training-home){max-width:none;padding:18px 22px 42px}.policy-training-home{min-width:0}.policy-training-home .policy-home-notice{margin-bottom:12px;overflow-wrap:anywhere}.policy-training-home .policy-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.policy-training-home .policy-home-grid>.lab-card{margin:0;min-width:0}.policy-training-home h4{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.policy-training-home .policy-home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.policy-training-home .policy-home-heading .lab-tag{flex-shrink:0}.policy-training-home .policy-home-meta{color:#6b7280;font-size:12.5px;margin:6px 0;overflow-wrap:anywhere}.policy-training-home .policy-home-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 12px;margin:6px 0;font-size:12.5px}.policy-training-home .policy-home-kv dt{color:#6b7280}.policy-training-home .policy-home-kv dd{margin:0;overflow-wrap:anywhere}.policy-training-home .policy-home-cover{font-size:30px;line-height:1.4;margin-bottom:4px}.policy-training-home .policy-home-intro{margin:6px 0;font-size:13px;color:#4b5563;line-height:1.8;overflow-wrap:anywhere}.policy-training-home .policy-home-actions{margin-top:10px}.policy-training-home .policy-home-result{margin:8px 0;font-size:13px}.policy-training-home .policy-home-result b{color:#1a56db}.policy-training-home .policy-home-issue{margin:8px 0;font-size:12px;color:#b91c1c;overflow-wrap:anywhere}.policy-training-home .policy-home-notes{color:#6b7280;font-size:12px;margin-top:10px}.policy-training-home .policy-home-notes summary{cursor:pointer}.policy-training-home .policy-home-notes p{margin:6px 0}.policy-training-home .policy-home-detail h3{font-size:15px;margin:16px 0 8px}.policy-training-home .policy-home-detail h3:first-child{margin-top:0}.policy-training-home .policy-home-detail p{font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:1180px){.policy-training-home .policy-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.policy-training-home .policy-home-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.workspace-main:has(.policy-training-home){padding:14px}}.workspace-main:has(.policy-scores){max-width:none}.policy-scores .policy-score-table{min-width:1140px}.policy-scores .policy-score-table td,.policy-scores .policy-score-table th{padding:11px 10px}.policy-scores .policy-score-table tbody tr:nth-child(2n) td{background:#fafbfd}.policy-scores .policy-score-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.policy-scores .policy-score-account{white-space:nowrap}.policy-scores .policy-score-table td:nth-child(3){max-width:180px;overflow-wrap:anywhere}.policy-scores .policy-score-table td:nth-child(4){min-width:170px;max-width:260px;overflow-wrap:anywhere}.policy-scores .policy-score-table td:last-child,.policy-scores .policy-score-table th:last-child{position:sticky;right:0;min-width:142px;background:#fff;box-shadow:-2px 0 5px #1e3a5f0a}.policy-scores .policy-score-table th:last-child{z-index:1;background:#f8fafc}.policy-scores .policy-score-row-actions{flex-wrap:nowrap}.policy-scores .policy-score-filter{max-width:250px;border:1px solid #cfd7e3;background:#fff;color:#334155;font-family:inherit}.policy-scores .policy-score-estimate{display:block;color:#b45309;font-size:11px;font-weight:400}.policy-scores .policy-score-notice{margin-bottom:12px}.policy-scores .policy-score-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;color:#6b7280;font-size:12px}.policy-scores .policy-score-notes{margin-top:10px;color:#6b7280;font-size:12px}.policy-scores summary{cursor:pointer}.policy-scores .policy-score-run-heading{margin:12px 0}.policy-scores .policy-score-history-select{min-width:280px;max-width:440px;margin-bottom:0}.policy-scores .policy-score-report{min-width:0;padding:14px;border:1px solid #e3e8ef;border-radius:8px;overflow-wrap:anywhere}.policy-scores .policy-score-report table{max-width:100%}.policy-scores .policy-score-report .rp-sec:last-of-type{-moz-column-break-inside:auto;break-inside:auto}.policy-scores .policy-score-report .rp-tb tr{-moz-column-break-inside:avoid;break-inside:avoid}.policy-scores .policy-score-section{padding:18px 0;border-top:1px solid #e3e8ef}.policy-scores .policy-score-section>h4{margin-bottom:12px;font-size:14px}.policy-scores .policy-score-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.policy-scores .policy-score-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.policy-scores .policy-score-metric{display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px;border:1px solid #e3e8ef;border-radius:8px}.policy-scores .policy-score-metric>b{font-size:13px}.policy-scores .policy-score-metric>strong{color:#1e40af;font-size:23px;overflow-wrap:anywhere}.policy-scores .policy-score-metric small,.policy-scores .policy-score-metric>span{color:#64748b;font-size:12px;font-weight:400}.policy-scores .policy-score-metric em{font-style:normal}.policy-scores .policy-score-meter{height:8px;margin-top:auto;overflow:hidden;border-radius:6px;background:#edf2f8}.policy-scores .policy-score-meter i{display:block;height:100%;border-radius:inherit;background:#0e7490}.policy-scores .policy-score-meter i.over{background:#b91c1c}.policy-scores .policy-score-measures{display:flex;flex-wrap:wrap;gap:8px}.policy-scores .policy-score-event-table{min-width:650px}.policy-scores .policy-score-event-table td:last-child{min-width:240px;max-width:450px;overflow-wrap:anywhere}.policy-scores .policy-score-event-table p{margin:4px 0}.policy-scores .policy-score-formula-table{min-width:650px}.policy-scores .policy-score-formula-table td:nth-child(2){min-width:230px;overflow-wrap:anywhere;white-space:pre-wrap}.policy-scores .policy-score-execution{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid #edf1f6}.policy-scores .policy-score-evidence{max-height:350px;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8fc;border-radius:6px;font-size:12px}.policy-scores .policy-score-class-preview{margin-top:18px}.policy-scores .policy-score-class-preview h4{margin-bottom:10px}.policy-scores .policy-score-class-preview .lab-table{min-width:650px}.policy-scores .policy-score-export-filters{margin-top:12px}@media (max-width:1100px){.policy-scores .policy-score-actions{width:100%}.policy-scores .policy-score-filter{flex:1;min-width:150px;max-width:270px}}@media (max-width:800px){.policy-scores .policy-score-metrics,.policy-scores .policy-score-resources{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:540px){.policy-scores .policy-score-metrics,.policy-scores .policy-score-resources{grid-template-columns:minmax(0,1fr)}.policy-scores .policy-score-history-select{min-width:0;width:100%}.policy-scores .policy-score-filter{max-width:none}}.workspace-main:has(.policy-teacher-assist){max-width:none;padding:18px 22px 42px}.policy-teacher-assist{min-width:0}.policy-teacher-assist .policy-assist-notice{margin:0 0 12px;overflow-wrap:anywhere}.policy-teacher-assist .policy-assist-notice a{margin-left:10px;color:#1a56db;white-space:nowrap}.policy-teacher-assist .policy-assist-intro{margin:0 0 10px}.policy-teacher-assist .policy-assist-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0}.policy-teacher-assist .policy-assist-case{margin:0}.policy-teacher-assist .policy-assist-case h4{font-size:14px;overflow-wrap:anywhere}.policy-teacher-assist .policy-assist-meta{margin:6px 0;color:#6b7280;font-size:12.5px;overflow-wrap:anywhere}.policy-teacher-assist .policy-assist-validation{margin:6px 0;color:#b91c1c;font-size:12px;overflow-wrap:anywhere}.policy-teacher-assist .policy-assist-notes{margin-top:10px;color:#6b7280;font-size:12px;overflow-wrap:anywhere}.policy-teacher-assist .policy-assist-notes summary{cursor:pointer}.policy-teacher-assist .policy-assist-notes p{margin:8px 0 0}.policy-teacher-assist .policy-assist-shared-table{min-width:650px}.policy-teacher-assist .policy-assist-shared-table th:first-child{width:34%}.policy-teacher-assist .policy-assist-shared-table th:nth-child(2){width:15%}.policy-teacher-assist .policy-assist-shared-table th:nth-child(3){width:9%}.policy-teacher-assist .policy-assist-shared-table th:last-child{width:160px}.policy-teacher-assist .policy-assist-shared-table td:first-child,.policy-teacher-assist .policy-assist-shared-table td:nth-child(2){max-width:420px;overflow-wrap:anywhere}.policy-teacher-assist .policy-assist-shared-table .btn,.policy-teacher-assist .policy-assist-shared-table td:nth-child(4){white-space:nowrap}.policy-teacher-assist .policy-assist-shared-table .policy-assist-number{text-align:right;font-variant-numeric:tabular-nums}.policy-teacher-assist .policy-assist-shared-table .lab-empty{padding:36px 12px;text-align:center}.policy-teacher-assist .lab-empty .btn{margin-left:8px}@media (max-width:1180px){.policy-teacher-assist .policy-assist-cases{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.policy-teacher-assist .policy-assist-cases{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.workspace-main:has(.policy-teacher-assist){padding:14px}}:root{color:#1b3553;background:#f3f6fa;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;--navy:#112f61;--navy-deep:#0d2752;--blue:#2d72cf;--line:#e1e8f1;--muted:#7a8ca3;--green:#22b981;--orange:#f39a12;--shadow:0 12px 32px rgba(22,55,96,.08)}*{box-sizing:border-box}body{margin:0;min-width:1060px;background:#f3f6fa}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.platform-shell,.sidebar{display:flex}.sidebar{width:260px;flex:0 0 260px;color:#dceaff;background:var(--navy);flex-direction:column}.sidebar-brand{padding:25px 20px 20px;border-bottom:1px solid hsla(0,0%,100%,.1)}.brand-cn{font-size:19px;letter-spacing:.02em}.brand-en{margin-top:8px;color:#8eafe0;font-size:13px;line-height:1.6}.sidebar-scroll{overflow:auto;padding:14px 0 28px}.menu-section{margin-bottom:14px}.menu-section-title{padding:9px 21px;color:#7896c3;font-size:13px}.menu-item{display:flex;gap:10px;align-items:center;margin:2px 12px;padding:11px 9px;border-radius:7px;color:#d5e5ff;font-size:14px;text-decoration:none;transition:.15s}.sidebar-home-item{margin-top:4px;margin-bottom:10px}.menu-item.router-link-exact-active,.menu-item:hover{background:#285694}.menu-dot{width:19px;color:#8ab9f4;text-align:center;font-size:15px}.workspace{min-width:0;flex:1}.workspace-header{height:68px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.breadcrumb{font-size:22px;font-weight:700;color:#1b2c43}.account-bar{display:flex;gap:11px;align-items:center;color:#65758a;font-size:14px}.account-name{color:#68778e}.role-badge{padding:4px 9px;color:#2f72c9;background:#edf5ff;border-radius:12px}.header-button{padding:8px 12px;border:1px solid #dce5ef;color:#465b77;text-decoration:none}.header-button:hover{color:var(--blue);border-color:#a9c9f1}.workspace-main{max-width:1540px;margin:0 auto;padding:26px 30px 56px}.page-header{display:flex;min-height:78px;align-items:flex-start;justify-content:space-between;gap:24px}.page-kicker{letter-spacing:.18em}.page-header h1{margin:8px 0 7px;color:#1b3553;font-size:28px}.page-header p{margin:0;color:var(--muted)}.page-actions{display:flex;align-items:center}.btn{padding:9px 15px;border:1px solid #cedbe9;border-radius:7px;color:#4a617b;background:#fff}.btn.primary{color:#fff}.btn.success{color:#fff;border-color:var(--green);background:var(--green)}.btn.warning{color:#fff;border-color:var(--orange);background:var(--orange)}.btn.danger{color:#fff;border-color:#d9534f;background:#d9534f}.btn.small{padding:6px 10px}.btn:disabled{opacity:.55;cursor:not-allowed}.inline-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.hint,.muted{color:var(--muted)}.notice{margin:14px 0;padding:11px 14px;border:1px solid #cfe1f6;border-radius:7px;color:#2961a1;background:#eff7ff}.notice.error{color:#a23a3a;border-color:#f1c9c9;background:#fff1f1}.notice.success{color:#257451;border-color:#c9ead9;background:#effbf5}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}.hero-card,.module-card,.panel,.stat-card{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow)}.stat-card{padding:20px}.stat-card .label{color:var(--muted);font-size:13px}.stat-card .value{margin:10px 0 3px;color:#204d84;font-size:30px}.stat-card .extra{color:#8292a5}.panel{padding:20px;margin-bottom:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;color:#234466;font-weight:700}.panel-title small{color:var(--muted)}.panel-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{color:#60738a;background:#f7f9fc;text-align:left;font-weight:700;white-space:nowrap}td,th{padding:12px 10px}td{color:#324c69;border-bottom:1px solid #edf1f5;vertical-align:middle}tr:hover td{background:#fbfdff}.status-tag{display:inline-block;padding:4px 8px;border-radius:12px;color:#65788f;background:#eff3f7;font-size:12px;white-space:nowrap}.status-tag.closed,.status-tag.enabled,.status-tag.generated,.status-tag.published,.status-tag.submitted{color:#14784e;background:#e8f8f0}.status-tag.draft,.status-tag.not_started{color:#7e6a17;background:#fff8dd}.status-tag.in_progress,.status-tag.running{color:#1f64af;background:#eaf3ff}.status-tag.archived,.status-tag.disabled,.status-tag.expired,.status-tag.returned{color:#8b5361;background:#f9edf0}.filter-bar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:15px}.field,.filter-input{min-width:150px;padding:9px 10px;border:1px solid #d7e2ee;border-radius:7px;outline:none}.field:focus,.filter-input:focus{border-color:#78a8df;box-shadow:0 0 0 2px rgba(45,114,207,.1)}.field.full{width:100%}textarea.field{min-height:80px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px}.form-item label{display:block;color:#63758b}.form-item.full{grid-column:1/-1}.check-list{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 12px;border:1px solid #d7e2ee;border-radius:7px;background:#fbfdff}.check-item{display:inline-flex!important;align-items:center;gap:5px;margin:0!important;color:#405a77!important}.small-value{font-size:18px!important;white-space:nowrap}.form-footer{display:flex;justify-content:flex-end;margin-top:16px}.empty{padding:42px 15px;color:var(--muted);text-align:center}.tabs{display:flex;gap:7px;margin-bottom:17px;border-bottom:1px solid var(--line)}.tab{padding:9px 15px;border-bottom:2px solid transparent;color:#72849b;cursor:pointer}.tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}.hero-card{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 28px;margin-bottom:20px;background:linear-gradient(135deg,#eaf3ff,#fff 76%)}.hero-card h1{margin:7px 0;color:#1f4068;font-size:25px}.hero-card p{max-width:680px;margin:0;color:#70839b}.hero-status{min-width:210px;padding:16px;border-radius:8px;background:#fff;box-shadow:0 8px 18px rgba(42,83,135,.08)}.hero-status strong{display:block;margin-bottom:12px;color:#325273}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.module-card{padding:20px;min-height:135px}.module-card.selected{border-color:#72a7e5;box-shadow:0 0 0 2px rgba(45,114,207,.12)}.case-card{display:flex;flex-direction:column;gap:9px}.case-card h2{margin:0}.case-card p{min-height:42px}.case-card-head{display:flex;align-items:center;justify-content:space-between}.case-cover{font-size:28px}.case-meta{display:flex;flex-wrap:wrap;gap:10px;color:#71849a;font-size:12px}.module-card h2{margin:11px 0 6px;color:#274d77;font-size:17px}.module-card p{margin:0;color:var(--muted);line-height:1.7}.module-code{color:var(--blue);font-size:11px;letter-spacing:.16em;font-weight:700}.home-crumb{margin:3px 0 16px;color:#7a8ca3;font-size:15px}.home-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px}.home-welcome h2{margin:0 0 7px;color:#1f4068}.home-welcome p{margin:0;color:#6b7f96}.home-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-notice-item{padding:7px 0;border-bottom:1px solid #eef1f6}.home-notice-item strong{display:inline-block;color:#315678;font-size:13px}.home-notice-item span{float:right;color:#7b8c9e;font-size:11px}.home-notice-item p{margin:4px 0 0;color:#6b7f96;font-size:12px;line-height:1.6}.score-list{min-height:80px}.score-row{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(120px,2fr) 62px;gap:10px;align-items:center;margin:13px 0;color:#3a5877}.score-track{height:12px;overflow:hidden;border-radius:8px;background:#edf1f6}.score-bar{display:block;height:100%;border-radius:8px;background:#245bdd}.score-bar.policy{background:#6d5bd0}.score-value{color:#6b7e94;text-align:right;font-size:12px}.login-shell{position:relative;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:linear-gradient(135deg,#0b2b6b,#1a56db 45%,#2f7ae5)}.login-shell:after{position:absolute;inset:0;background:transparent;pointer-events:none;content:""}.login-card{position:relative;z-index:1;width:960px;max-width:100%;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border:0;border-radius:16px;background:#fff;box-shadow:0 20px 60px rgba(6,20,60,.28)}.login-intro{display:flex;flex-direction:column;justify-content:space-between;padding:38px 34px;color:#fff;background:linear-gradient(160deg,#123a7a,#1a56db 60%,#3b82f6)}.intro-brand h1{margin:0;color:#fff;font-weight:600;line-height:1.2;letter-spacing:1px}.intro-brand p{margin:8px 0 0;color:hsla(0,0%,100%,.9);font-size:13px;line-height:1.5}.login-features{padding:0;list-style:none;color:hsla(0,0%,100%,.95);font-size:13px}.login-features li{display:flex;gap:10px;align-items:flex-start;margin-bottom:9px;line-height:1.6}.feature-icon{flex:0 0 20px;color:#fff;font-size:14px;line-height:1.6;text-align:center}.intro-demo-accounts{margin-top:0}.intro-demo-accounts p{margin:0 0 6px;color:hsla(0,0%,100%,.85);font-size:12px}.intro-account-pills{display:block}.intro-account-pill{padding:3px 10px;margin:3px 6px 0 0;border:1px solid hsla(0,0%,100%,.3);border-radius:18px;color:#fff;background:hsla(0,0%,100%,.18);font-size:12px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.intro-account-pill:hover{border-color:hsla(0,0%,100%,.65);background:hsla(0,0%,100%,.25)}.login-form-panel{padding:34px;background:#fff}.login-form-content h2{margin:0 0 4px;color:#1b3553;font-size:20px;font-weight:400}.login-description{margin:0 0 18px;color:#6b7280;font-size:13px}.login-form-content .notice.error{margin:-10px 0 16px}.login-form-content .form-item{margin-bottom:14px}.login-form-content .form-item label{display:block;color:#374151;font-size:13px}.login-form-content .field{width:100%;min-width:0;border-color:#cfd7e3;color:#1f2937;font-size:14px}.login-form-content .primary-login{width:100%;margin-top:6px;border:1px solid #1a56db;color:#fff;background:#1a56db;font-size:13.5px;transition:background-color .15s ease,box-shadow .15s ease}.login-form-content .primary-login:hover{background:#1442ac;box-shadow:0 7px 16px rgba(51,120,209,.2)}.login-form-content .primary-login:disabled{cursor:wait}.quick-login{margin-top:0;padding-top:0;border-top:0}.quick-login-title{margin:14px 0 0;color:#6b7280;font-size:12.5px}.quick-login-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-login-item{padding:7px 8px;border:1px dashed #cfd7e3;color:#1f2937;background:#fafbfd;font-size:12.5px;cursor:pointer;text-align:left;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.quick-login-item small{display:block;margin-top:0;color:#6b7280;font-size:12px}.quick-login-item:hover{border-color:#1a56db;color:#1442ac;background:#e8f0fe}.login-note{margin-top:14px;padding:10px 12px;border:1px dashed #cfd7e3;color:#4b5563;background:#f8fafc;font-size:12px;line-height:1.6}@media (max-width:640px){body{min-width:0}.login-shell{padding:18px;align-items:center}.login-card{width:min(560px,100%);display:block}.login-intro{padding:32px 26px}.login-features{margin:42px 0 22px}.intro-demo-accounts{margin-top:0}.login-form-panel{padding:32px 26px 28px}}@media (min-width:641px) and (max-width:1050px){.login-card{grid-template-columns:1fr 1fr}.login-form-panel,.login-intro{padding-left:30px;padding-right:30px}}.permission-layout{display:grid;grid-template-columns:minmax(300px,.76fr) minmax(560px,1.6fr);gap:18px;align-items:start}.role-list{display:flex;flex-direction:column}.role-list-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:1px solid transparent;border-radius:8px;background:#f8fbfe;text-align:left}.role-list-item.active,.role-list-item:hover{background:#edf6ff}.role-list-main,.role-list-meta{display:flex;flex-direction:column;gap:4px}.role-list-main small,.role-list-meta small{color:var(--muted);font-size:11px}.role-list-meta{align-items:flex-end}.permission-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:-3px 0 16px;color:#617890;font-size:12px}.permission-summary>span{padding:5px 9px;border-radius:12px;background:#f2f6fb}.permission-summary>span strong{color:#215e9f}.permission-summary .btn:first-of-type{margin-left:auto}.permission-groups{display:flex;flex-direction:column;gap:15px}.permission-group{overflow:hidden;border:1px solid #e0e8f1;border-radius:8px}.permission-group-title{display:flex;justify-content:space-between;font-weight:700}.permission-group-title span{color:var(--muted);font-size:11px;font-weight:400}.permission-row{display:flex!important;align-items:center;gap:10px;margin:0!important;border-top:1px solid #edf1f5;color:#425f7a!important}.permission-row:hover{background:#fbfdff}.permission-row>input{flex:0 0 auto}.permission-row-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.permission-row-main small{color:var(--muted)}.permission-row-main small,.permission-row-route{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.permission-row-route{max-width:42%;color:#8091a5}.compact-field{min-width:155px;padding:6px 8px;font-size:12px}.permission-editor{margin:-2px 0 18px;padding:15px;border:1px solid #dae6f2;border-radius:8px;background:#f8fbfe}@media (max-width:1150px){.permission-layout{grid-template-columns:1fr}.permission-matrix-panel{min-height:0}}.map-layout{display:grid;grid-template-columns:minmax(560px,1fr) 350px;gap:18px}.map-canvas{position:relative;min-height:620px;overflow:auto;padding:18px;border:1px solid #d9e4ef;border-radius:8px;background:#eaf2fb}.map-grid{display:grid;gap:2px;min-width:650px;min-height:500px;padding:4px;background:#c7d8eb}.map-cell{position:relative;min-height:58px;padding:5px;border:1px solid rgba(85,126,169,.22);color:#6782a1;background:#e7f1fc;cursor:pointer;font-size:10px;transition:.12s}.map-cell.selected,.map-cell:hover{z-index:1;border:2px solid #f09b14;box-shadow:0 0 0 2px rgba(240,155,20,.16)}.map-cell.commercial{background:#ffe9a2}.map-cell.industrial{background:#e3e8ed}.map-cell.education{background:#dafa9d}.map-cell.park{background:#c2f3d7}.prototype-map{position:relative;overflow:auto;border:1px solid #b9cadc;background:#dcebf8;box-shadow:inset 0 0 0 8px hsla(0,0%,100%,.32)}.map-preview-toolbar,.map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border:1px solid #c7d8e8;border-bottom:0;background:#f5f9fd}.map-layer-toggle{display:inline-flex;align-items:center;gap:4px;color:#526c88;font-size:12px}.map-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:8px 10px;color:#5d7690;background:#f7fbff;border-top:1px solid #cad9e7;font-size:11px}.legend-swatch{display:inline-block;width:12px;height:12px;margin-right:3px;border:1px solid rgba(25,65,100,.18);vertical-align:-2px}.zone-home{background:#dcebf9}.zone-business{background:#ffe89a}.zone-park{background:#b9f0d1}.zone-risk{background:#ef9c87}.map-reference-grid{pointer-events:none}.map-compass{fill:#e37e17;font-size:16px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3px}.prototype-map-svg{display:block;width:100%;min-width:720px;height:auto;background:#d9eafa}.prototype-map-svg text{font-family:Microsoft YaHei,Arial,sans-serif}.map-cell-code{fill:rgba(33,75,115,.62);font-size:9px;pointer-events:none}.map-cell-selected{stroke:#f39a12;stroke-width:3;filter:drop-shadow(0 0 3px rgba(240,145,12,.55))}.map-roads path:first-child{opacity:.92}.map-grid-label text{fill:#173a63;font-size:18px;font-weight:700;paint-order:stroke;stroke:hsla(0,0%,100%,.82);stroke-width:4px}.map-grid-label text+text{font-size:11px;font-weight:400}.map-object rect{fill:#fff;stroke:#9ab0c4;stroke-width:2;opacity:.9}.map-object ellipse{fill:#57c98b;stroke:#2c9b65;stroke-width:2;opacity:.88}.map-object-community rect,.map-object-transport_hub rect{fill:#fff0b0;stroke:#e49b1d}.map-object-label{fill:#1b3d64;font-size:11px;font-weight:700;pointer-events:none}.map-title-label{fill:#173a63;font-size:18px;font-weight:700;paint-order:stroke;stroke:hsla(0,0%,100%,.85);stroke-width:4px}.map-subtitle-label{fill:#2e5c86;font-size:11px;paint-order:stroke;stroke:hsla(0,0%,100%,.85);stroke-width:3px}.map-object-detail{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;color:#1b456f;background:#f5f9fd;border-top:1px solid #cad9e7;font-size:12px}.incident-item.locked{opacity:.55;cursor:not-allowed}.cell-code{font-weight:700}.cell-zone{position:absolute;right:4px;bottom:3px;color:#67809c}.detail-list{margin:0;padding:0;list-style:none}.detail-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf1f5;color:#58708a;font-size:12px}.detail-list li span:last-child{color:#1e426a;font-weight:700;text-align:right}.guide-panel p{margin:0;color:#526c88;line-height:1.8}.guide-card{padding:10px 12px;margin-bottom:8px;border:1px solid #d7e4f0;border-radius:4px;background:#f7fbff}.guide-card p{margin:4px 0 0;color:#67809c;font-size:12px;line-height:1.6}.guide-steps{display:grid;gap:10px}.guide-step{display:flex;gap:10px;align-items:flex-start;padding:10px;background:#f7fbff;border:1px solid #d7e4f0}.guide-step-number{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#2f72bf;font-weight:700}.guide-step p{margin:4px 0 0;color:#67809c;font-size:12px}.layer-list label{display:flex;gap:8px;align-items:center;padding:7px 0;color:#526c88;font-size:12px}.metric-bars{display:grid;gap:10px}.metric-bar label{display:flex;justify-content:space-between;margin-bottom:4px;color:#6d8096;font-size:11px}.bar-track{height:7px;overflow:hidden;border-radius:4px;background:#edf2f7}.bar-track i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#66a8ef,#2d72cf)}.run-layout{display:grid;grid-template-columns:minmax(650px,1fr) 390px;gap:17px}.run-map{min-height:500px}.run-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.run-back-link{margin:-6px 0 12px}.chip-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.chip{padding:5px 8px;border:1px solid #d8e6f3;border-radius:999px;color:#426789;background:#f2f8ff;font-size:11px}.timeline{max-height:300px;overflow:auto}.timeline-item{position:relative;padding:10px 0 10px 17px;border-left:2px solid #cfe0f2;color:#61778e;font-size:12px}.timeline-item:before{position:absolute;top:15px;left:-5px;width:7px;height:7px;border-radius:50%;background:#4b94df;content:""}.timeline-item strong{display:block;margin-bottom:3px;color:#315678}.incident-list{max-height:320px;overflow:auto}.incident-item{display:flex;justify-content:space-between;gap:8px;padding:10px;margin-bottom:7px;border:1px solid #e1eaf3;border-radius:7px;cursor:pointer}.incident-item.active{border-color:#77aee6;background:#f2f8ff}.incident-item h4{margin:0 0 4px;color:#315578;font-size:13px}.incident-item p{margin:0;color:#8a99a9;font-size:11px}.indicator-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.indicator{padding:11px;border-radius:7px;background:#f4f8fc}.indicator label{display:block;color:#7b8c9e;font-size:11px}.indicator strong{display:block;margin-top:4px;color:#2c679e;font-size:20px}@media (max-width:1240px){body{min-width:960px}.sidebar{width:226px;flex-basis:226px}.workspace-main{padding-left:20px;padding-right:20px}.map-layout,.run-layout{grid-template-columns:minmax(520px,1fr) 310px}}:root{--font-ui:"Inter","PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--canvas:#f3f6fa;--surface:#fff;--surface-muted:#f7f9fc;--ink-strong:#162f4b;--ink:#294661;--ink-muted:#71849a;--line-soft:#e5ebf2;--line-strong:#d5e0ec;--navy:#102f61;--navy-deep:#0c2752;--blue:#2769c9;--blue-deep:#1d55ad;--shadow-card:0 5px 18px rgba(27,62,103,.055);--shadow-float:0 16px 38px rgba(27,62,103,.1)}html{font-size:16px}body,html{background:var(--canvas)}body{min-width:1180px;color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font-family:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}.platform-shell{min-height:100vh;background:var(--canvas)}.sidebar{width:240px;flex-basis:240px;position:sticky;top:0;height:100vh;align-self:flex-start;background:linear-gradient(180deg,#123568,#102e5d 52%,#0d2851);box-shadow:3px 0 18px rgba(18,48,91,.08)}.sidebar-brand{min-height:132px;flex-shrink:0;padding:24px 22px 20px;border-bottom-color:hsla(0,0%,100%,.09)}.brand-cn{color:#f7fbff;font-size:18px;font-weight:700;line-height:1.4}.brand-cn,.brand-en{letter-spacing:.015em}.brand-en{margin-top:7px;color:#91b0db;font-size:12px;line-height:1.55}.sidebar-scroll{padding:13px 8px 26px;flex:1;min-height:0;scrollbar-color:rgba(164,197,235,.35) transparent;scrollbar-width:thin}.menu-section{margin-bottom:11px}.menu-section-title{padding:10px 14px 6px;color:#7898c7;font-size:11px;font-weight:500;letter-spacing:.025em}.menu-item{min-height:40px;margin:3px 4px;padding:9px 12px;gap:9px;border:1px solid transparent;border-radius:8px;color:#d5e5fb;font-size:13px;font-weight:400;line-height:20px}.sidebar-home-item{margin-top:3px;margin-bottom:12px}.menu-item.router-link-exact-active,.menu-item:hover{color:#fff;border-color:rgba(134,186,246,.12);background:linear-gradient(90deg,#2c66aa,#285e9d);box-shadow:inset 3px 0 0 #8fc4fa,0 4px 12px rgba(6,29,69,.14)}.menu-dot{width:18px;color:#86b7ee;font-size:14px;line-height:18px}.workspace{background:var(--canvas)}.workspace-header{height:64px;padding:0 28px;border-bottom-color:var(--line-soft);background:hsla(0,0%,100%,.97)}.breadcrumb{color:var(--ink-strong);font-size:20px;font-weight:650;letter-spacing:-.015em}.account-bar{gap:9px;color:#708198;font-size:13px}.account-name{color:#60748d}.role-badge{padding:4px 10px;border:1px solid #e0ebf9;border-radius:999px;color:#2b6ac2;background:#f1f7ff;font-size:12px}.header-button{min-height:34px;padding:6px 12px;border-color:var(--line-strong);border-radius:8px;color:#47617d;font-size:13px;background:#fff}.workspace-main{max-width:1720px;padding:24px 32px 56px}.page-header{min-height:74px;gap:28px;margin-bottom:4px}.page-kicker{color:var(--blue);font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.16em}.page-header h1{margin:7px 0 6px;color:var(--ink-strong);font-size:26px;font-weight:700;line-height:1.25;letter-spacing:-.02em}.page-header p{color:var(--ink-muted);font-size:13px;line-height:1.6}.page-actions{gap:8px;flex-wrap:wrap}.btn{min-height:36px;padding:7px 14px;border-color:var(--line-strong);border-radius:8px;color:#47617b;font-size:13px;line-height:20px;background:var(--surface);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}.btn:hover{border-color:#8bb7e8;color:var(--blue);box-shadow:0 3px 8px rgba(39,105,201,.08)}.btn.danger,.btn.primary,.btn.success,.btn.warning{color:#fff}.btn.primary{border-color:var(--blue);background:var(--blue)}.btn.primary:hover{border-color:var(--blue-deep);color:#fff;background:var(--blue-deep)}.btn.success{border-color:#20ad7d;background:#20ad7d}.btn.warning{border-color:#e69516;background:#e69516}.btn.danger{border-color:#dc5a56;background:#dc5a56}.btn.small{min-height:30px;padding:4px 10px;font-size:12px}.hint,.muted{color:var(--ink-muted);font-size:12px}.notice{margin:13px 0;padding:10px 13px;border-radius:8px;font-size:13px;line-height:1.55}.stat-grid{gap:14px;margin-bottom:18px}.hero-card,.module-card,.panel,.stat-card{border-color:var(--line-soft);border-radius:12px;box-shadow:var(--shadow-card)}.stat-card{min-height:118px;padding:18px 20px}.stat-card .label{color:#788ba1;font-size:12px;font-weight:500}.stat-card .value{margin:8px 0 3px;color:#1f5b9d;font-size:29px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stat-card .extra{color:#8798ab;font-size:12px}.panel{padding:20px 22px;margin-bottom:16px}.panel-title{min-height:24px;margin-bottom:14px;color:var(--ink-strong);font-size:16px;font-weight:650;line-height:1.5}.panel-title small{color:var(--ink-muted);font-size:12px;font-weight:400}.panel-grid{gap:16px}.hero-card{gap:28px;padding:22px 26px;margin-bottom:18px;background:linear-gradient(135deg,#eaf3ff,#f8fbff 55%,#fff)}.hero-card h1{margin:5px 0 6px;color:#1c4776;font-size:24px;font-weight:700;line-height:1.35}.hero-card p{color:#71859c;font-size:13px;line-height:1.7}.hero-status{min-width:215px;padding:15px 16px;border:1px solid #eef3f8;border-radius:10px;box-shadow:0 8px 22px rgba(42,83,135,.07)}.hero-status strong{margin-bottom:10px;color:#365677;font-size:14px}.module-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.module-card{min-height:132px;padding:18px 19px}.module-card h2{margin:10px 0 5px;color:#254c76;font-size:16px;font-weight:650;line-height:1.4}.module-card p{color:var(--ink-muted);font-size:12px;line-height:1.65}.module-code{font-size:10px;letter-spacing:.14em}.home-crumb{margin:2px 0 14px;color:#8294a8;font-size:13px}.home-welcome h2{margin-bottom:5px;color:var(--ink-strong);font-size:20px;line-height:1.4}.home-welcome p{color:#71849b;font-size:13px}.home-score-grid{gap:16px}.score-row{grid-template-columns:minmax(110px,.8fr) minmax(150px,2fr) 62px;gap:12px;margin:12px 0;color:#3b5875;font-size:13px}.score-track{height:10px}.score-bar,.score-track{border-radius:999px}.filter-bar{gap:8px;margin-bottom:14px}.field,.filter-input{min-height:38px;padding:8px 11px;border-color:var(--line-strong);border-radius:8px;color:#314d6b;font-size:13px;line-height:20px;background:#fff}textarea.field{min-height:88px;line-height:1.6}.form-grid{gap:14px 18px}.form-item label{margin-bottom:6px;color:#62778f;font-size:12px;font-weight:500}.check-list{padding:9px 11px;border-radius:8px}.check-item{font-size:13px!important}.form-footer{gap:8px;margin-top:15px}.table-wrap{border:1px solid #edf1f5;border-radius:9px}table{font-size:13px;font-variant-numeric:tabular-nums}th{padding:11px 12px;color:#637991;background:#f6f8fb;font-size:12px;font-weight:650}td{padding:12px;color:#34516e;border-bottom-color:#edf1f5;line-height:1.55}tr:last-child td{border-bottom:0}.status-tag{padding:4px 9px;border-radius:999px;font-size:11px;line-height:16px}.tabs{gap:4px;margin-bottom:16px}.tab{padding:8px 14px;color:#74879c;font-size:13px}.login-shell{min-height:100vh;padding:32px;background:linear-gradient(120deg,#123a80,#1c56bc 48%,#3179e1)}.login-card{width:min(920px,100%);grid-template-columns:1fr 1fr;border-radius:18px;box-shadow:0 22px 58px rgba(6,23,65,.28)}.login-intro{min-height:548px;padding:43px 38px 35px;background:linear-gradient(155deg,#123b80,#1a56be 62%,#347de8)}.intro-brand h1{font-size:26px;line-height:1.3;letter-spacing:0}.intro-brand p{margin-top:7px;font-size:12px}.login-features{margin:22px 0;font-size:12px}.login-features li{gap:9px;margin-bottom:8px;line-height:1.55}.feature-icon{flex-basis:18px;font-size:13px}.intro-demo-accounts p{font-size:11px}.intro-account-pill{padding:4px 10px;margin:3px 5px 0 0;font-size:11px}.login-form-panel{padding:40px 38px 34px}.login-form-content h2{margin-bottom:5px;color:var(--ink-strong);font-size:22px;font-weight:600;line-height:1.35}.login-description{margin-bottom:19px;color:#71839a;font-size:12px;line-height:1.7}.login-form-content .form-item{margin-bottom:15px}.login-form-content .form-item label{margin-bottom:6px;color:#425b76;font-size:12px;font-weight:600}.login-form-content .field{min-height:40px;padding:9px 11px;border-color:#cfdbe8;border-radius:8px;font-size:13px}.login-form-content .primary-login{min-height:40px;margin-top:5px;padding:9px 16px;border-radius:8px;background:#245ed2;font-size:13px}.login-form-content .primary-login:hover{background:#1d51b9}.quick-login-title{margin-top:15px;color:#77889d;font-size:12px}.quick-login-grid{gap:8px}.quick-login-item{min-height:45px;padding:7px 9px;border-color:#d2deeb;border-radius:8px;color:#34516e;font-size:12px;line-height:1.35}.quick-login-item small{color:#7c8da0;font-size:11px}.login-note{margin-top:13px;padding:9px 11px;border-color:#d3dfeb;border-radius:8px;color:#5d7086;font-size:11px;line-height:1.65}.permission-layout{grid-template-columns:minmax(270px,.72fr) minmax(560px,1.8fr);gap:16px}.role-list{gap:6px}.role-list-item{padding:11px 12px;border-radius:9px;color:#36536f;background:#f8fafc}.role-list-item.active,.role-list-item:hover{border-color:#a9c9ec;color:#1e5ea8;background:#eef6ff;box-shadow:inset 3px 0 #5d9de5}.permission-matrix-panel{min-height:450px}.permission-group{border-color:#e0e8f1;border-radius:9px}.permission-group-title{padding:10px 13px;color:#315b83;background:#f5f8fc;font-size:13px}.permission-row{min-height:49px;padding:8px 12px;font-size:12px!important}.map-layout,.run-layout{gap:16px}.map-canvas,.prototype-map{border-radius:10px}.map-preview-toolbar,.map-toolbar{gap:7px;padding:9px}@media (max-width:1240px){body{min-width:0}.sidebar{width:224px;flex-basis:224px}.workspace-header,.workspace-main{padding-left:22px;padding-right:22px}.map-layout,.run-layout{grid-template-columns:minmax(520px,1fr) 310px}}@media (max-width:900px){.sidebar{width:208px;flex-basis:208px}.workspace-header,.workspace-main{padding-left:18px;padding-right:18px}.breadcrumb{font-size:18px}.account-name{display:none}.stat-grid-five{grid-template-columns:repeat(3,minmax(0,1fr))}.map-layout,.panel-grid,.run-layout{grid-template-columns:1fr}.map-layout .map-canvas,.run-layout .run-map{min-width:0}}@media (max-width:640px){body{min-width:0}.platform-shell{display:block}.sidebar{position:static;width:100%;height:auto;min-height:auto}.sidebar-brand{min-height:0;padding:16px 18px}.sidebar-scroll{display:flex;overflow-x:auto;padding:8px 10px 10px}.menu-section{display:contents}.menu-section-title{display:none}.menu-item,.sidebar-home-item{flex:0 0 auto;margin:2px}.workspace-header{height:58px}.workspace-main{padding:18px 14px 36px}.page-header{display:block}.page-actions{margin-top:14px}.home-score-grid,.stat-grid,.stat-grid-five{grid-template-columns:1fr}.hero-card,.home-welcome{align-items:flex-start;flex-direction:column}.hero-status{width:100%}.form-grid{grid-template-columns:1fr}.form-item.full{grid-column:auto}.login-shell{padding:18px}.login-card{width:min(560px,100%);display:block}.login-intro{min-height:0;padding:32px 26px}.login-form-panel{padding:32px 26px 28px}}.training-map{min-width:0}.training-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 0 14px}.training-layer-options,.training-map-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.training-layer-options label{display:inline-flex;align-items:center;gap:4px;color:#42546b;font-size:12px;white-space:nowrap}.training-layer-options input{margin:0;accent-color:#1e68d7}.training-map-label{color:#7c8a9b;font-size:12px;white-space:nowrap}.training-map-controls .field{min-width:136px;min-height:30px;padding:4px 9px;font-size:12px}.training-map-controls .btn{min-height:30px}.training-map-viewport{overflow:auto;border:1px solid #c7d5e3;border-radius:10px;background:#eef4fa}.training-map-stage{min-width:560px}.training-map svg{display:block}.training-map svg text{font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}.training-map .cell{cursor:pointer;stroke:#d7e1ec;stroke-width:.45px}.training-map .cell:hover{filter:brightness(.96)}.training-map .map-legend{gap:12px;padding:12px 14px;background:#fff;font-size:11px}.training-map .map-legend>span{display:inline-flex;align-items:center;gap:5px}.training-map .map-legend i{display:inline-block;width:11px;height:11px;border:1px solid #0000000d;border-radius:2px}.training-map .heat-scale .bar{display:inline-block;width:100px;height:9px;border-radius:4px}.training-map-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 13px;border:1px solid #d8e7f6;border-radius:8px;background:#f4f9ff;font-size:12px}.training-map-selection strong{display:block;color:#284d77;margin-bottom:3px}.training-map-selection span{color:#6b8096}.network-case-library{color:#263b52}.network-library-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:0 0 14px;color:#8995a5;font-size:13px}.network-library-crumb a{color:#8290a3;text-decoration:none}.network-library-crumb strong{color:#24364b;font-weight:600}.network-library-panel,.network-region-map-panel{overflow:hidden;margin-bottom:16px;border:1px solid #e0e7f0;border-radius:12px;background:#fff;box-shadow:0 1px 3px #1635640c}.network-library-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid #e7edf4}.network-library-panel-header h2{margin:0;color:#1a2e45;font-size:16px;font-weight:700;line-height:1.4}.network-library-panel-header>span{color:#8995a5;font-size:12px;line-height:1.5}.network-library-panel-body{padding:16px}.network-training-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px}.network-training-card{display:flex;flex-direction:column;min-width:0;padding:19px 17px 16px;border:1px solid #e2e9f2;border-radius:11px;background:#fff;box-shadow:0 1px 3px #173b6610}.network-training-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.network-training-cover{flex:0 0 34px;font-size:31px;line-height:1.2}.network-training-card h3{margin:0 0 4px;color:#152b43;font-size:15px;font-weight:700;line-height:1.4}.network-training-badges{display:flex;align-items:center;flex-wrap:wrap;gap:4px;color:#8691a1;font-size:12px}.network-training-tag{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid #e4eaf2;border-radius:999px;color:#7c8798;background:#f4f6f9;font-size:12px;line-height:19px;white-space:nowrap}.network-training-tag.category{color:#346dd1;border-color:#d2e2ff;background:#eaf1ff}.network-training-tag.running{color:#dc8214;border-color:#fde0b8;background:#fff6e8}.network-training-tag.finished{color:#16845f;border-color:#c9eddd;background:#edf9f3}.network-training-description{flex:1;min-height:66px;margin:0 0 12px;color:#66758a;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.network-training-counts{margin:0 0 10px;color:#8995a5;font-size:12px}.network-training-counts b{color:#21364e;font-weight:600}.network-training-assignment{display:block;margin-bottom:10px;color:#7d8a9c;font-size:12px}.network-training-assignment select{margin-top:4px}.network-training-progress{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-height:25px;margin-bottom:10px;font-size:13px}.network-training-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.network-training-actions .btn{min-height:30px;border-radius:7px}.network-training-actions .btn.primary{border-color:#1f58df;background:#1f58df}.network-training-actions .network-training-reset{border-color:#f6c6c6;color:#df5656;background:#fff}.network-training-blocked{margin:9px 0 0;color:#9a7b4a;font-size:12px;line-height:1.6}.network-library-mode-note{margin:12px 0 0;color:#8b98a8;font-size:12px}.network-region-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.network-region-stats>div{display:flex;flex-direction:column;justify-content:center;min-height:86px;padding:15px;border:1px solid #e2e9f2;border-radius:10px;box-shadow:0 1px 3px #173b6610}.network-region-stats span{color:#8996a7;font-size:12px}.network-region-stats strong{display:block;margin-top:5px;color:#1e3148;font-size:18px;font-weight:700;line-height:1.4}.network-region-map-panel{margin-bottom:0}.network-region-map-body{padding:15px 16px 16px}@media (max-width:1280px){.network-training-cards{gap:10px}.network-training-card{padding:16px 13px}.network-region-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1000px){.network-training-cards{grid-template-columns:1fr}.network-training-description{min-height:0}}@media (max-width:640px){.network-library-panel-header{align-items:flex-start;flex-direction:column;gap:5px;padding:13px 14px}.network-library-panel-body{padding:12px}.network-region-stats{grid-template-columns:1fr}.network-region-map-body{padding:10px}}.network-training-home .network-training-empty{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center}.network-training-home .network-task-filters{margin-bottom:14px}.network-training-home .network-task-table{min-width:960px}.network-training-home .network-task-table td:nth-child(2),.network-training-home .network-task-table td:nth-child(3),.network-training-home .network-task-table td:nth-child(4),.network-training-home .network-task-table th{white-space:nowrap}.network-training-home .network-task-table td:first-child{min-width:250px}.network-training-home .network-task-table td:last-child{min-width:190px}.network-training-home .network-task-table .lab-hint{margin:5px 0}.workspace-main.workspace-main-wide{max-width:none;padding:18px 22px 42px}.city-lab,.lab-mask{color:#1f2937;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;font-size:14px;line-height:1.6}.city-lab h3,.city-lab h4,.lab-mask h4{margin:0;font-weight:600;line-height:1.35}.city-lab .btn,.lab-mask .btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border:1px solid #cfd7e3;border-radius:8px;background:#fff;color:#1f2937;font-size:13.5px;line-height:1.6;text-decoration:none;box-shadow:none}.city-lab .btn:hover,.lab-mask .btn:hover{border-color:#1a56db;color:#1a56db}.city-lab .btn.primary,.lab-mask .btn.primary{border-color:#1a56db;background:#1a56db;color:#fff}.city-lab .btn.primary:hover,.lab-mask .btn.primary:hover{border-color:#1442ac;background:#1442ac}.city-lab .btn.small,.lab-mask .btn.small{min-height:30px;padding:5px 11px;border-radius:7px;font-size:12.5px}.city-lab .btn.lab-danger,.lab-mask .btn.lab-danger{color:#b91c1c;border-color:#f0b4b4;background:#fff}.city-lab button:disabled,.lab-mask button:disabled{opacity:.5;cursor:not-allowed}.lab-crumb{margin-bottom:10px;color:#6b7280;font-size:12.5px}.lab-crumb b{color:#1f2937;font-weight:600}.lab-card{min-width:0;margin-bottom:14px;border:1px solid #e3e8ef;border-radius:10px;background:#fff;box-shadow:0 1px 3px #1018280f,0 1px 2px #1018280a}.lab-card-h{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 16px;border-bottom:1px solid #e3e8ef}.lab-card-h h3{font-size:15px}.lab-card-b{min-width:0;padding:16px}.lab-card-b.tight{padding:10px 16px}.lab-card .lab-card{margin-bottom:0}.lab-heading-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.lab-run-heading .lab-card-b{padding:12px 16px}.lab-heading-row h3{font-size:16px}.lab-heading-meta{margin-top:3px;color:#6b7280;font-size:12.5px}.lab-button-row,.lab-identity-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.lab-desc{color:#6b7280;font-size:12.5px;font-weight:400}.lab-tabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:14px;border-bottom:1px solid #e3e8ef}.lab-tab{padding:8px 14px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;color:#6b7280;font-size:13.5px;cursor:pointer}.lab-tab.active{border-bottom-color:#1a56db;color:#1a56db;font-weight:600}.lab-tab:hover{color:#1a56db}.lab-flow{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.lab-step{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid #e3e8ef;border-radius:20px;background:#f3f4f6;color:#6b7280;font-size:12.5px;line-height:1.6}button.lab-step{cursor:pointer}.lab-step.done{border-color:#bfe3cd;background:#e8f6ee;color:#15803d}.lab-step.cur{border-color:#c3d7fb;background:#e8f0fe;color:#1442ac;font-weight:600}.lab-step small{font-size:11px;opacity:.8}.lab-arrow{color:#9aa3af;font-size:12px}.lab-guide{display:flex;gap:12px;margin-bottom:12px;padding:12px;border:1px solid #d8e6fb;border-radius:10px;background:linear-gradient(180deg,#f8fbff,#fff)}.lab-avatar{display:flex;flex:0 0 46px;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid #c3d7fb;border-radius:50%;background:#e8f0fe;font-size:22px}.lab-guide-main{flex:1;min-width:0}.lab-guide-who{margin-bottom:3px;color:#1442ac;font-size:12px;font-weight:700}.lab-guide-bubble{padding:10px 12px;border:1px solid #e3e8ef;border-radius:10px;background:#fff;box-shadow:0 1px 3px #1018280f;font-size:13.5px}.city-lab .lab-header-select{min-width:0;min-height:32px;padding:6px 8px;border-radius:7px;font-size:13px}.city-lab .training-layer-options label,.city-lab .training-map-label{font-size:12.5px}.city-lab .training-map-toolbar{padding:8px 8px 12px}.city-lab .training-map-controls .btn{padding:5px 11px}.lab-error,.lab-note,.lab-ok,.lab-warning{margin:10px 0 0;padding:10px 12px;border-radius:8px;font-size:12.5px;line-height:1.6}.lab-note{border:1px dashed #cfd7e3;background:#f8fafc;color:#4b5563}.lab-warning{border:1px solid #f3d9ae;background:#fdf3e3;color:#8a4b06}.lab-error{border:1px solid #f4c3c3;background:#fdecec;color:#b91c1c}.lab-ok{border:1px solid #bfe3cd;background:#e8f6ee;color:#15803d}.lab-note p{margin:3px 0}.lab-next-row{margin-top:12px;margin-bottom:14px}.lab-table-wrap{min-width:0;overflow:auto}table.lab-table{width:100%;border-collapse:collapse;font-size:13px}table.lab-table td,table.lab-table th{padding:9px 10px;border-bottom:1px solid #e3e8ef;text-align:left;vertical-align:middle;color:#1f2937;line-height:1.6}table.lab-table th{white-space:nowrap;background:#f8fafc;color:#374151;font-size:13px;font-weight:600}table.lab-table tr:hover td{background:#fafbfd}table.lab-table.compact td,table.lab-table.compact th{padding:6px 8px;font-size:12.5px}.lab-empty{padding:30px;color:#6b7280;font-size:13px;text-align:center}.lab-tag{display:inline-block;padding:2px 8px;border:1px solid #e3e8ef;border-radius:20px;background:#f1f4f9;color:#4b5563;font-size:11.5px;line-height:1.6;white-space:nowrap}button.lab-tag{cursor:pointer}.lab-tag.blue{border-color:#c3d7fb;background:#e8f0fe;color:#1442ac}.lab-tag.green{border-color:#bfe3cd;background:#e8f6ee;color:#15803d}.lab-tag.orange{border-color:#f3d9ae;background:#fdf3e3;color:#b45309}.lab-tag.red{border-color:#f4c3c3;background:#fdecec;color:#b91c1c}.lab-tag.gray{background:#f3f4f6;color:#6b7280}.lab-grid{display:grid;gap:14px;min-width:0}.lab-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.lab-grid>.lab-card{margin-bottom:0}.lab-split{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;min-width:0}.lab-split>.lab-card{margin-bottom:0}.lab-spaced{margin-top:12px}.lab-subtitle{margin:0 0 8px!important;font-size:14px}.lab-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lab-field{display:block;min-width:0;margin-bottom:14px;color:#374151;font-size:13px;font-weight:600}.lab-field.full{grid-column:1/-1}.lab-field input,.lab-field select,.lab-field textarea{display:block;width:100%;margin-top:6px;padding:9px 11px;border:1px solid #cfd7e3;border-radius:8px;background:#fff;color:#1f2937;outline:none;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5}.lab-field textarea{min-height:68px;resize:vertical}.lab-field input:focus,.lab-field select:focus,.lab-field textarea:focus{border-color:#1a56db;box-shadow:0 0 0 3px #1a56db1f}.lab-field input[readonly]{background:#f8fafc}.lab-field em{color:#b91c1c;font-style:normal}.lab-hint{margin:4px 0;color:#6b7280;font-size:12px}.lab-runtime-stats{margin-bottom:14px}.lab-stat{min-width:0;padding:13px 14px;border:1px solid #e3e8ef;border-radius:10px;background:#fff;box-shadow:0 1px 3px #1018280f}.lab-stat .k{color:#6b7280;font-size:12.5px}.lab-stat .v{margin-top:3px;color:#1f2937;font-size:23px;font-weight:700;letter-spacing:.5px;font-variant-numeric:tabular-nums}.lab-stat .d{margin-top:2px;color:#9aa3af;font-size:12px}.city-lab .success,.lab-mask .success{color:#15803d!important}.city-lab .danger,.lab-mask .danger{color:#b91c1c!important}.city-lab .warning{color:#b45309}.city-lab .brand{color:#1a56db}.lab-incident-list{max-height:560px;overflow:auto}.lab-incident-item{display:block;width:100%;padding:9px 12px;border:0;border-bottom:1px solid #eef1f6;background:#fff;text-align:left;cursor:pointer;font-family:inherit}.lab-incident-item.selected{padding-left:9px;border-left:3px solid #1a56db;background:#e8f0fe}.lab-incident-item>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.lab-incident-item b{min-width:0;overflow:hidden;color:#1f2937;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.lab-incident-item small{color:#6b7280}.lab-incident-item small,.lab-incident-item>span{display:block;margin-top:3px;font-size:12px}.lab-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0 0 10px;font-size:13px}.lab-kv dt{color:#6b7280}.lab-kv dd{margin:0;overflow-wrap:anywhere}.lab-case-flow{margin:10px 0 14px}.lab-timeline{position:relative;max-height:220px;margin-top:14px;padding-left:20px;overflow:auto}.lab-timeline:before{position:absolute;top:4px;bottom:4px;left:6px;width:2px;background:#e3e8ef;content:""}.lab-timeline>div{position:relative;padding-bottom:12px}.lab-timeline>div:before{position:absolute;top:5px;left:-17px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#1a56db;box-shadow:0 0 0 1px #cfd7e3;content:""}.lab-timeline small{color:#6b7280;font-size:12px}.lab-timeline p{margin:0;font-size:13px}.lab-progress{height:8px;margin-top:6px;overflow:hidden;border-radius:6px;background:#eef1f6}.lab-progress i{display:block;height:100%;max-width:100%;border-radius:inherit;background:#1a56db}.lab-kpi-chart{display:block;width:100%;height:auto}.city-lab .lab-staff-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:210px;overflow:auto;margin:8px 0}.lab-mono{font-family:Consolas,monospace;font-size:12px}.lab-formula-table td:first-child{width:110px;min-width:90px;white-space:nowrap}.lab-formula-table td:nth-child(2){width:150px;min-width:140px;white-space:nowrap}.lab-formula-table td:last-child{overflow-wrap:anywhere}.lab-report-actions{margin-bottom:12px}.lab-mask{position:fixed;z-index:150;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a80}.lab-modal{display:flex;flex-direction:column;width:720px;max-width:100%;max-height:88vh;border-radius:12px;background:#fff;box-shadow:0 24px 60px #0f172a40;outline:none}.lab-modal.narrow{width:480px}.lab-modal.wide{width:1000px}.lab-modal-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid #e3e8ef}.lab-modal-h h4{font-size:15.5px}.lab-modal-b{overflow:auto;padding:16px 18px}.lab-modal-f{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:12px 18px;border-top:1px solid #e3e8ef}.lab-close{padding:0 3px;border:0;background:transparent;color:#6b7280;font-size:23px;line-height:1;cursor:pointer}.lab-help-item{margin-bottom:10px}.lab-help-item b{font-size:13.5px;font-weight:600}.lab-help-item p{margin:0;color:#4b5563;font-size:13px}.lab-toast{position:fixed;top:74px;right:24px;z-index:200;max-width:380px;padding:10px 14px;border:1px solid #e3e8ef;border-left:4px solid #15803d;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a24;font-size:13px}.lab-toast.err{border-left-color:#b91c1c}.lab-toast.warn{border-left-color:#b45309}.lab-toast button{margin-left:9px;padding:0;border:0;background:transparent;color:#9aa3af;cursor:pointer}.lab-pdf-preview{max-height:56vh;overflow:auto;padding:16px;border:1px solid #e3e8ef;border-radius:8px}.lab-report .rp-cover{margin-bottom:14px;padding:24px;border:2px solid #1a56db;border-radius:6px;text-align:center}.lab-report .rp-cover h1{margin:0 0 6px;color:#1442ac;font-size:22px;letter-spacing:2px}.lab-report .rp-cover small{color:#6b7280;font-size:12px}.lab-report .rp-sec{margin-bottom:10px;padding:12px 14px;border:1px solid #d7dce5;border-radius:6px;font-size:12.5px;line-height:1.8;-moz-column-break-inside:avoid;break-inside:avoid}.lab-report .rp-sec h3{margin:0 0 8px;padding-left:8px;border-left:4px solid #1a56db;font-size:15px}.lab-report .rp-tb{width:100%;border-collapse:collapse;font-size:12.5px}.lab-report .rp-tb td,.lab-report .rp-tb th{padding:6px 8px;border:1px solid #d7dce5;text-align:left}.lab-report .rp-tb th{width:110px;background:#f2f5fa;color:#374151}.lab-report .rp-foot{margin-top:14px;padding-top:8px;border-top:1px solid #d7dce5;color:#6b7280;font-size:11.5px;text-align:center}.lab-print-root{display:none}.network-rule-editor .rule-fieldset{min-width:0;margin:0;padding:0;border:0}.network-rule-editor .rule-number{width:90px}.network-rule-editor .rule-sample{margin:14px 0}.lab-calculation-details summary,.network-rule-editor summary{cursor:pointer}.network-rule-editor .rule-sample textarea{font:12px/1.6 Consolas,monospace}.network-rule-editor .form-item{margin:12px 0}.network-rule-editor .hint{display:block}.network-rule-editor table input{font-size:12px;min-width:85px}.network-rule-editor table td{vertical-align:middle}@media (max-width:1180px){.lab-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1000px){.lab-grid-two,.lab-split{grid-template-columns:1fr}}@media (max-width:640px){.workspace-main.workspace-main-wide{padding:14px}.lab-card-b,.lab-card-h{padding:12px}.lab-form-grid{grid-template-columns:1fr}.lab-field.full{grid-column:auto}.lab-mask{padding:12px}}@media print{body>*{display:none!important}body>#network-lab-print-area{display:block!important;position:static;padding:0;background:#fff}@page{size:A4;margin:16mm}}.network-modules .module-intro{margin-top:0;margin-bottom:12px}.network-modules .module-count{color:#1a56db}.network-modules .module-time{white-space:nowrap;font-variant-numeric:tabular-nums}.network-modules .module-list{min-width:1080px}.network-modules .module-list td:first-child{min-width:230px}.network-modules .module-list td:last-child{min-width:280px}.network-modules .module-list td,.network-modules .module-list th{padding:13px 12px}.network-modules .module-resource-links{padding:8px 4px;color:#6b7280;font-size:12.5px}.network-modules .module-fieldset{min-width:0;padding:0;margin:0;border:0}.network-modules .module-entry-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;padding-top:14px;border-top:1px solid #e3e8ef}.network-modules .module-basic-form{margin-top:0;padding-top:0;border-top:0}.network-modules .module-wide-field{grid-column:1/-1}.network-modules .module-actions{white-space:nowrap}.network-modules .module-actions button+button{margin-left:6px}.network-modules .module-personnel{min-height:120px;max-width:620px}.network-modules small{color:#6b7280;font-size:12px;line-height:1.7}.network-modules .lab-mono{overflow-wrap:anywhere}.module-sample{padding:12px;max-height:300px;overflow:auto;border:1px solid #e3e8ef;border-radius:8px;font-size:12px}.network-modules .module-row-editor .lab-table{min-width:600px}.network-modules .lab-field textarea{resize:vertical}@media (max-width:1180px){.network-modules .module-entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.network-modules .module-entry-form{grid-template-columns:minmax(0,1fr)}}.workspace-main:has(.network-modules){max-width:none}.workspace-main:has(.network-scores){max-width:none}.network-scores .network-score-table{min-width:1120px}.network-scores .network-score-table td,.network-scores .network-score-table th{padding:11px 10px}.network-scores .network-score-table tbody tr:nth-child(2n) td{background:#fafbfd}.network-scores .score-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.network-scores .score-account{white-space:nowrap}.network-scores .network-score-table td:last-child,.network-scores .network-score-table th:last-child{position:sticky;right:0;min-width:72px;background:#fff;box-shadow:-2px 0 5px #1e3a5f0a}.network-scores .network-score-table th:last-child{z-index:1;background:#f6f8fb}.network-scores .network-score-table td:nth-child(3){max-width:200px}.network-scores .network-score-table td:nth-child(4){min-width:135px;max-width:220px}.network-scores .network-score-case{min-width:240px;max-width:360px;border:1px solid #d7e2f0;border-radius:7px;padding:7px 12px;background:#fff;color:#334155;font:inherit}.network-score-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#6b7280;font-size:12px}.network-score-foot>span{max-width:85%}.score-class-preview{margin-top:18px}.score-class-preview h4{margin-bottom:10px}.score-history-select{min-width:280px;max-width:420px;margin-bottom:0}.score-report-content{padding:14px;border:1px solid #e3e8ef;border-radius:8px}.score-report-content .rp-sec:last-of-type{-moz-column-break-inside:auto;break-inside:auto}.score-report-content .rp-tb tr{-moz-column-break-inside:avoid;break-inside:avoid}@media (max-width:900px){.network-score-actions{width:100%}.network-scores .network-score-case{flex:1;max-width:none;min-width:180px}}.workspace-main:has(.policy-custom-cases),.workspace-main:has(.policy-workbench){max-width:none}.policy-custom-cases .policy-case-list{min-width:1100px}.policy-custom-cases .policy-case-list td:first-child{min-width:210px}.policy-custom-cases .policy-case-list td:last-child{min-width:280px}.policy-case-tabs{overflow-x:auto;white-space:nowrap}.policy-evaluation,.policy-map-config{align-items:start}.policy-custom-cases .lab-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.policy-dept-check{display:flex;align-items:start;gap:10px;margin:14px 0}.policy-dept-check small{display:block;color:#6b7280;padding-top:4px}.policy-formula-row input{flex:1;min-width:200px}.policy-config-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#6b7280;font-size:12px}.policy-task-targets{max-height:260px;overflow:auto;border:1px solid #e2e8f0;padding:14px;border-radius:8px}.policy-import-group{margin-top:16px}.policy-import-group .lab-check,.policy-task-targets .lab-check{display:inline-flex;margin:8px 18px 8px 0;gap:7px}.policy-sample{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8fc;padding:12px}.policy-legacy-note{margin-top:18px}.policy-custom-cases .module-row-editor{min-width:0}.policy-evaluation .module-entry-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:1200px){.policy-custom-cases .lab-split{grid-template-columns:1fr}}.policy-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}.policy-resource>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.policy-resource span{color:#64748b;font-size:12px}.policy-meter{height:8px;border-radius:6px;background:#edf2f8;overflow:hidden}.policy-meter i{display:block;height:100%;background:#2563eb;border-radius:inherit}.policy-region-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.policy-region{display:grid;gap:5px;padding:12px 16px;background:#eef6ff;border:1px solid #dbe8f7;border-radius:8px;min-width:210px}.policy-region small,.policy-region span{color:#64748b}.policy-department-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.policy-department{border:1px solid #dbe4f0;border-radius:8px;background:#fff;color:#334155;padding:14px 10px;text-align:left;font:inherit;cursor:pointer}.policy-department b{display:block;margin-bottom:8px}.policy-department span{color:#64748b;font-size:12px}.policy-department.active{background:#eaf2ff;border-color:#2563eb}.policy-measure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.policy-measure-card{border:1px solid #dfe7f0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px}.policy-measure-card .lab-field{margin-bottom:0}.policy-measure-cost{color:#64748b;font-size:12px}.policy-formula{background:#f0f7fb;color:#0e7490;border-radius:6px;padding:8px;overflow-wrap:anywhere}.policy-description{white-space:pre-wrap;line-height:1.9;color:#475569}.policy-core-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.policy-indicator{display:grid;gap:10px;padding:14px;border:1px solid #e2e8f0;border-radius:8px}.policy-indicator>b{font-size:25px;color:#1e40af}.policy-indicator small,.policy-indicator>span{font-size:12px;color:#64748b}.policy-trend{width:100%;max-height:260px;font-size:12px;fill:#64748b}.policy-history-row{padding:12px 0;border-bottom:1px solid #e5eaf1;display:grid;gap:8px}.policy-workbench .rp-sec:last-of-type{-moz-column-break-inside:auto;break-inside:auto}.policy-task-table{min-width:1120px}.policy-tasks .module-fieldset{min-width:0;margin:0;padding:0;border:0}.policy-tasks .module-wide-field{grid-column:1/-1}.policy-tasks .policy-task-targets{border:0;padding:0;max-height:none}.policy-tasks .policy-task-checks .lab-check{align-items:center;white-space:nowrap;font-weight:400;margin:3px 12px 3px 0}.policy-tasks .policy-task-checks input[type=checkbox]{display:inline-block;width:16px;min-width:16px;height:16px;min-height:16px;flex:0 0 16px;margin:0;padding:0;box-shadow:none}.policy-task-table th:first-child,.policy-task-table th:nth-child(2){width:22%}.policy-task-table th:nth-child(3),.policy-task-table th:nth-child(4),.policy-task-table th:nth-child(7){white-space:nowrap}.policy-task-table th:last-child{width:210px}.policy-task-table td:last-child .lab-button-row{flex-wrap:nowrap}.policy-task-progress{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #edf1f6}.policy-task-progress:last-child{border-bottom:0}.policy-task-progress-value{flex:0 0 90px;text-align:right}.policy-task-progress-value .policy-meter{margin-top:5px;height:7px}.policy-task-checks{display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px;border:1px solid #e3e8ef;border-radius:8px;max-height:190px;overflow:auto}.policy-task-explanation{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:12px}@media (max-width:1200px){.policy-department-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.policy-core-grid,.policy-measure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.policy-measure-grid,.policy-resource-grid{grid-template-columns:1fr}.policy-department-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.workspace-main:has(.experiment-management){max-width:none;padding:18px 22px 42px}.management-stats{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.management-stat{padding:13px 15px;border:1px solid #dfe6f0;border-radius:10px;background:#fff;box-shadow:0 1px 3px #173b6610;display:flex;flex-direction:column;gap:7px}.management-stat span{font-size:13px;color:#7c8a9d}.management-stat strong{font-size:25px;font-weight:650;line-height:1.25;color:#182e49;font-variant-numeric:tabular-nums}.management-stat strong.green{color:#128041}.management-task-table th:first-child{width:32%}.management-task-table th:nth-child(2){width:25%}.management-network-table th:last-child,.management-task-table th:last-child{width:76px}.management-network-table .num,.management-network-table th:nth-child(n+4):nth-child(-n+6),.management-task-table .num,.management-task-table th:nth-child(4),.management-task-table th:nth-child(6){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.management-network-table th:first-child{width:15%}.management-network-table th:nth-child(2){width:25%}.experiment-management .identity{display:block;font-size:11px;color:#7c8a9d}.experiment-management .warning-mark{color:#b65f00}.management-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;font-size:12px;color:#7c8a9d}.management-foot details{max-width:900px;line-height:1.8}.management-foot summary{cursor:pointer}.management-foot p{margin:8px 0}.management-fieldset{border:0;padding:0;margin:0;min-width:0}.management-wide{grid-column:1/-1}.management-checks{display:flex;flex-wrap:wrap;gap:8px 22px;padding:10px;border:1px solid #dfe6f0;border-radius:8px;max-height:220px;overflow:auto}@media(max-width:1000px){.management-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.management-network-table,.management-task-table{min-width:860px}}@media(max-width:600px){.management-foot{flex-direction:column}.management-fieldset .lab-form-grid{grid-template-columns:1fr}.management-stat strong{font-size:23px}}.experiment-management .management-checks .lab-check{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:400}.experiment-management .management-checks input[type=checkbox]{display:inline-block;width:16px;height:16px;min-height:16px;margin:0;padding:0;flex:0 0 16px}.workspace-main:has(.report-management){max-width:none;padding:18px 22px 42px}.report-management-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.report-management-stats article{min-width:0;display:flex;flex-direction:column;gap:7px;padding:13px 15px;border:1px solid #dfe6f0;border-radius:10px;background:#fff;box-shadow:0 1px 3px #173b6610}.report-management-stats span{font-size:13px;color:#7c8a9d}.report-management-stats strong{font-size:25px;line-height:1.25;font-weight:650;font-variant-numeric:tabular-nums;color:#182e49}.report-management-stats small{font-size:11.5px;color:#986500}.report-management .report-management-table{min-width:980px}.report-management-table th:first-child,.report-management-table th:nth-child(2){width:10%}.report-management-table th:nth-child(3){width:18%}.report-management-table th:nth-child(4){width:30%}.report-management-table th:nth-child(6){width:19%}.report-management .report-number{text-align:right}.report-management .report-finished,.report-management .report-number{white-space:nowrap;font-variant-numeric:tabular-nums}.report-management .report-management-table td:last-child,.report-management .report-management-table th:last-child{min-width:100px;white-space:nowrap;position:sticky;right:0;background:#fff}.report-management .report-management-table th:last-child{background:#f8fafc}.report-management .report-management-table tbody tr:nth-child(odd) td{background:#fafbfd}.report-management .report-purple{color:#7c3aed;border-color:#e1d0fd;background:#f4edff}.report-management .report-warning-mark{color:#986500;cursor:help}.report-management-more{position:relative}.report-management-more summary{cursor:pointer;list-style:none}.report-management-more summary::-webkit-details-marker{display:none}.report-management-menu{display:grid;gap:7px;position:absolute;right:0;top:calc(100% + 7px);z-index:12;min-width:155px;padding:10px;background:#fff;border:1px solid #dfe6f0;border-radius:8px;box-shadow:0 8px 24px #173b661a}.report-management-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;color:#7c8a9d;font-size:12px;line-height:1.8}.report-management-foot details{max-width:1000px}.report-management-foot summary{cursor:pointer}.report-management-foot p{margin:6px 0}.report-management-document{min-width:0;padding:14px;border:1px solid #dfe6f0;border-radius:8px;overflow-wrap:anywhere}.report-management-document .rp-sec:last-of-type{-moz-column-break-inside:auto;break-inside:auto}.report-management-document .rp-tb tr{-moz-column-break-inside:avoid;break-inside:avoid}.report-management-evidence pre{padding:12px;border-radius:8px;background:#f8fafc;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto}.report-export-class{max-width:360px}.report-class-preview{margin-top:18px}.report-class-preview h4{margin-bottom:10px}.report-class-preview small{color:#7c8a9d;font-size:12px;font-weight:400}.report-management .report-export-table{min-width:650px}@media (max-width:1000px){.report-management-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-management-actions{width:100%}}@media (max-width:640px){.workspace-main:has(.report-management){padding:14px}.report-management-foot{flex-direction:column}.report-management-stats strong{font-size:23px}.report-management-document{padding:8px}.report-management-document .rp-cover{padding:14px}.report-management-document h1{font-size:18px}}.student-reports .student-report-table{min-width:1040px}.student-reports .platform-col{width:105px}.student-reports .status-col{width:110px}.student-reports .score-col{width:90px}.student-reports .time-col{width:180px}.student-reports .action-col{width:290px}.student-reports .score-cell{text-align:right}.student-reports .lab-tag,.student-reports .time-cell{white-space:nowrap}.student-reports .student-download-reason,.student-reports .student-task-name{margin-top:4px}.student-reports .lab-tag.purple{color:#7c3aed;background:#f2eafe;border-color:#e7d6fb}.notifications .notification-actions{width:100px}.notifications .resource-content{overflow-wrap:anywhere}.notifications .table-wrap table{min-width:1060px}.notifications .table-wrap td:not(:first-child),.notifications .table-wrap th:not(:first-child){white-space:nowrap}.notifications .notification-detail h3{margin:0 0 18px;color:#1b3553;font-size:18px;overflow-wrap:anywhere}.notifications .notification-detail-grid{display:grid;grid-template-columns:112px minmax(0,1fr) 84px minmax(0,1fr);align-items:start;gap:14px 12px;margin:0 0 20px}.notifications .notification-detail-grid dt{color:var(--muted)}.notifications .notification-detail-grid dd{margin:0;overflow-wrap:anywhere}.notifications .notification-related-name{grid-column:span 3}.notifications .notification-full-content{padding:16px;border:1px solid var(--line);border-radius:8px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:700px){.notifications .notification-detail-grid{grid-template-columns:76px minmax(0,1fr)}.notifications .notification-related-name{grid-column:auto}}.operation-logs .logs-table{min-width:1280px;table-layout:fixed}.operation-logs .log-operator{width:148px}.operation-logs .log-role{width:104px}.operation-logs .log-module{width:188px}.operation-logs .log-request{width:32%}.operation-logs .log-result{width:104px}.operation-logs .log-time{width:184px}.operation-logs .log-nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.operation-logs .log-detail{overflow-wrap:anywhere}.map-templates .page-header{flex-wrap:wrap;min-height:0;margin-bottom:16px}.map-templates .page-actions{max-width:100%;flex-wrap:wrap}.map-templates .map-editor-more{position:relative}.map-templates .map-editor-more>summary{list-style:none;cursor:pointer}.map-templates .map-editor-more>summary:after{content:" ▾"}.map-templates .map-editor-more-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:25;display:grid;gap:7px;width:230px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow)}.map-templates .map-template-selector{padding:12px 16px}.map-templates .map-template-selector .filter-bar{margin-bottom:0}.map-templates .map-editor-layout{grid-template-columns:minmax(0,1fr) 400px;align-items:start}.map-templates .map-canvas{display:flex;flex-direction:column;height:var(--map-editor-height);min-height:0;min-width:0;margin-bottom:0;padding:14px;overflow:hidden}.map-templates .map-preview-toolbar{flex:0 0 auto}.map-templates .map-editor-toolbar{display:grid;gap:7px}.map-templates .map-editor-toolbar-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}.map-templates .map-editor-toolbar-row>.field{width:145px;min-width:0}.map-templates .map-cell-locator{display:flex;align-items:center;gap:5px;margin:0;min-width:0}.map-templates .map-cell-locator .field{width:160px;min-width:0;padding:6px 8px}.map-templates .map-editor-toolbar-spacer{flex:1}.map-templates .map-editor-zoom{min-width:37px;text-align:center}.map-templates .map-lookup-error{margin:0;color:#bf3f3f;font-size:12px}.map-templates .map-editor-interaction{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:7px 9px;border:1px solid #c7d8e8;color:#426789;background:#f5f9fd}.map-templates .prototype-map{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.map-templates .map-editor-viewport{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#d9eafa}.map-templates .prototype-map-svg{flex:0 0 auto;display:block;min-height:0;min-width:0;max-width:none;width:100%;height:auto;margin:0 auto}.map-templates .map-editor-viewport.is-panning{cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.map-templates .map-editor-viewport.is-dragging{cursor:grabbing}.map-templates .map-editor-viewport.is-scene-drawing{cursor:crosshair}.map-templates .scene-map-actions{margin-bottom:8px}.map-templates .map-editor-viewport:focus-visible{outline:2px solid #2d72cf;outline-offset:-2px}.map-templates .map-editor-cell-code{fill:#294e70;font-size:11px;font-weight:650;paint-order:stroke;stroke:hsla(0,0%,100%,.9);stroke-width:2.5px}.map-templates .map-editor-cell-zone{fill:#456985;font-size:10px;paint-order:stroke;stroke:hsla(0,0%,100%,.85);stroke-width:2px}.map-templates .map-editor-legend{gap:8px}.map-templates .map-editor-legend>strong{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-templates .map-selected-summary{flex-basis:100%;color:#34516e}.map-templates .map-legend{flex:0 0 auto}.map-templates .map-editor-layout.is-config-collapsed{grid-template-columns:minmax(0,1fr)}.map-templates .map-editor-layout.is-map-expanded{position:fixed;inset:12px;z-index:80;padding:10px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#f3f7fb;box-shadow:0 0 0 12px rgba(18,40,67,.35)}.map-templates .map-editor-layout.is-map-expanded .map-canvas,.map-templates .map-editor-layout.is-map-expanded .map-editor-sidebar{height:calc(100dvh - 46px)}.map-templates .map-editor-sidebar{display:flex;flex-direction:column;height:var(--map-editor-height);min-width:0;margin-bottom:0;padding:0;overflow:hidden}.map-templates .map-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 10px;color:#234466}.map-templates .map-editor-tabs{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 12px 12px;border-bottom:1px solid var(--line)}.map-templates .map-editor-tabs button{padding:8px 4px;border:1px solid transparent;border-radius:7px;color:#65758a;background:#f6f8fb}.map-templates .map-editor-tabs button.active{border-color:#bad3f3;color:#2166bf;background:#edf5ff;font-weight:600}.map-templates .map-editor-tabs button:focus-visible{outline:2px solid #2d72cf;outline-offset:1px}.map-templates .map-editor-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.map-templates .map-editor-pane>.panel{margin:0;padding:16px;border:0;border-radius:0;box-shadow:none}.map-templates .map-editor-pane>.panel+.panel{border-top:1px solid var(--line)}.map-templates .map-editor-pane .panel-title{flex-wrap:wrap;gap:7px;margin-bottom:12px}.map-templates .map-editor-pane .panel-title small{line-height:1.6}.map-templates .map-editor-fields{min-width:0;margin:0;padding:0;border:0}.map-templates .map-editor-sidebar .field{min-width:0;max-width:100%}.map-templates .map-editor-sidebar .form-item>.field:not(.full){width:100%;margin-bottom:6px}.map-templates .map-editor-advanced{margin-top:14px;border-top:1px solid var(--line)}.map-templates .map-editor-advanced>summary{padding:12px 0;color:#526c88;cursor:pointer}.map-templates .map-editor-footer{flex:0 0 auto;padding:10px 16px 14px;border-top:1px solid var(--line);background:#fff}.map-templates .map-editor-footer p{margin:0 0 8px}.map-templates .map-editor-footer .inline-actions{justify-content:flex-end}.map-templates .map-point-coordinates{white-space:nowrap}.map-templates .map-point-modes{margin-bottom:12px}.map-templates .map-point-batch-list{max-height:180px;overflow:auto;margin-top:10px}.map-templates .map-point-batch-list td{padding:7px 8px}.map-templates .map-part-preview{display:inline-flex;align-items:center;gap:5px;color:#f39b12;vertical-align:middle}.map-templates .map-part-preview svg{flex:0 0 26px;width:26px;height:26px}.map-templates .map-part-symbol{font-size:8.5px;text-anchor:middle;fill:#f39b12;pointer-events:none}.map-templates .map-part-list-symbol{display:inline-flex;justify-content:center;align-items:center;width:22px;height:22px;margin-right:5px;border:2px solid #f39b12;border-radius:50%;color:#f39b12;background:#fff;font-size:11px;vertical-align:middle}.map-templates .map-point-actions{min-width:126px}.map-templates .map-point-actions .btn{padding-left:7px;padding-right:7px;margin:2px}.map-templates .map-points-list .filter-input{flex:1;min-width:0;width:100%}.map-templates .map-points-list td{padding:9px 8px}.map-templates .map-points-pagination{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-top:10px}.map-templates .map-points-pagination .hint{margin-right:auto}.map-templates .map-scene-config .scene-section-tabs{margin-bottom:12px}.map-templates .map-scene-config .scene-style>.form-item{margin-bottom:10px}.map-templates .map-scene-config .table-wrap{margin-top:12px}.map-templates .map-scene-config td{padding:9px 6px}.map-templates .map-scene-config td small{display:block}.map-templates .map-scene-config .form-grid input[type=checkbox]{justify-self:start}@media (max-width:1500px){.map-templates .map-editor-layout{grid-template-columns:minmax(0,1fr) 370px}}@media (max-width:1100px){.map-templates .map-editor-layout{grid-template-columns:minmax(0,1fr)}.map-templates .map-canvas{height:clamp(420px,62vh,660px)}.map-templates .map-editor-sidebar{height:clamp(440px,70vh,760px)}}@media (max-width:640px){.map-templates .map-editor-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.map-templates .map-editor-sidebar .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.map-template-library .map-template-table{min-width:1040px}.map-template-library .map-template-table td:not(:first-child),.map-template-library .map-template-table th:not(:first-child){white-space:nowrap}.map-template-library .map-template-table th:first-child{min-width:240px}.map-template-library .map-template-time{font-variant-numeric:tabular-nums}body.login-screen-active{min-width:320px}.login-page{--login-unit:min(0.05208vw,calc(100svh/925),1px);min-height:100vh;min-height:100svh;padding:0;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;color:#163b6c;background:#bddbfb url(/img/background.96092096.png) 50%/cover no-repeat}.login-page:after{display:none}.login-stage{position:relative;width:calc(var(--login-unit)*1920);height:calc(var(--login-unit)*925);flex:none}.login-visual{position:absolute;left:calc(var(--login-unit)*196);top:calc(var(--login-unit)*166);width:calc(var(--login-unit)*820);height:calc(var(--login-unit)*700)}.login-brand{position:relative;z-index:2}.login-brand h1{margin:0;font-size:calc(var(--login-unit)*60);font-weight:700;line-height:1.25;letter-spacing:0;white-space:nowrap}.login-brand p{margin:calc(var(--login-unit)*6) 0 0;color:#5a7da8;font-size:calc(var(--login-unit)*28);line-height:calc(var(--login-unit)*40);white-space:nowrap}.login-model{position:absolute;left:calc(var(--login-unit)*64);top:calc(var(--login-unit)*20);width:calc(var(--login-unit)*642);height:calc(var(--login-unit)*642);-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none}.login-capabilities{margin:0;padding:0;list-style:none}.login-badge{position:absolute;z-index:3;display:flex;align-items:center;gap:calc(var(--login-unit)*20);width:calc(var(--login-unit)*208);height:calc(var(--login-unit)*68);padding:calc(var(--login-unit)*10);border-radius:calc(var(--login-unit)*40);background:rgba(220,235,255,.82);box-shadow:0 calc(var(--login-unit)*4) calc(var(--login-unit)*8) rgba(69,123,196,.18);color:#364c6b;font-size:calc(var(--login-unit)*24);font-weight:600;white-space:nowrap;backdrop-filter:blur(5px)}.login-badge img{width:calc(var(--login-unit)*48);height:calc(var(--login-unit)*48);flex:none}.login-badge-collection{left:0;top:calc(var(--login-unit)*220)}.login-badge-trace{left:calc(var(--login-unit)*546);top:calc(var(--login-unit)*220)}.login-badge-simulation{left:calc(var(--login-unit)*40);top:calc(var(--login-unit)*404)}.login-badge-report{left:calc(var(--login-unit)*520);top:calc(var(--login-unit)*444)}.login-panel{position:absolute;left:calc(var(--login-unit)*1205);top:calc(var(--login-unit)*172);width:calc(var(--login-unit)*561);min-height:calc(var(--login-unit)*619);padding:calc(var(--login-unit)*68) calc(var(--login-unit)*52) calc(var(--login-unit)*35.6);border:calc(var(--login-unit)*.7) solid rgba(245,255,255,.53);border-radius:calc(var(--login-unit)*11);background:linear-gradient(180deg,rgba(245,250,255,.85),rgba(236,246,255,.69))}.login-title{margin:0 0 calc(var(--login-unit)*54);color:#163b6c;text-align:center;font-size:calc(var(--login-unit)*36);font-weight:700;line-height:calc(var(--login-unit)*50)}.login-field+.login-field{margin-top:calc(var(--login-unit)*28)}.login-field label{display:block;margin-bottom:calc(var(--login-unit)*12);color:#294a76;font-size:calc(var(--login-unit)*20);line-height:calc(var(--login-unit)*28)}.login-input-wrap{display:flex;align-items:center;height:calc(var(--login-unit)*54);border:1px solid transparent;border-radius:calc(var(--login-unit)*4);background:#fff;transition:border-color .15s,box-shadow .15s}.login-input-wrap:focus-within{border-color:#5a99ed;box-shadow:0 0 0 2px rgba(62,136,241,.12)}.login-input-wrap img{width:calc(var(--login-unit)*26);height:calc(var(--login-unit)*26);margin:0 calc(var(--login-unit)*14);flex:none}.login-input-wrap input{width:100%;min-width:0;height:100%;padding:0 calc(var(--login-unit)*14) 0 0;border:0;outline:0;border-radius:inherit;background:transparent;color:#264a78;font-size:calc(var(--login-unit)*20)}.login-input-wrap input::-moz-placeholder{color:#8fa6c6}.login-input-wrap input::placeholder{color:#8fa6c6}.login-input-wrap input:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 100px #fff;-webkit-text-fill-color:#264a78;caret-color:#264a78}.login-input-wrap input:disabled{cursor:wait;opacity:.75}.login-submit{display:block;width:100%;height:calc(var(--login-unit)*60);margin-top:calc(var(--login-unit)*52);padding:0;border:0;border-radius:calc(var(--login-unit)*4);background:linear-gradient(100deg,#31a4ff,#255cf3);color:#fff;font-size:calc(var(--login-unit)*24);font-weight:400;transition:filter .15s,box-shadow .15s}.login-submit span{display:inline-block;letter-spacing:.5em;text-indent:.5em}.login-submit:hover:not(:disabled){filter:brightness(1.04);box-shadow:0 4px 14px rgba(44,111,236,.15)}.login-submit:disabled{cursor:wait;opacity:.72}.login-submit:focus-visible,.login-terms button:focus-visible{outline:2px solid #2c72dd;outline-offset:3px}.login-terms{margin:calc(var(--login-unit)*60) 0 0;color:#93a9c8;text-align:center;font-size:calc(var(--login-unit)*14);line-height:calc(var(--login-unit)*22);white-space:nowrap}.login-terms button{padding:0;border:0;background:transparent;color:#458eec;font:inherit;line-height:inherit}.login-terms button:hover{text-decoration:underline}.login-page .login-error{margin:calc(var(--login-unit)*-32) 0 calc(var(--login-unit)*18);padding:calc(var(--login-unit)*10) calc(var(--login-unit)*14);border:1px solid rgba(219,89,89,.16);border-radius:4px;background:hsla(0,100%,97%,.8);color:#b54444;font-size:max(12px,calc(var(--login-unit)*18));line-height:1.5;overflow-wrap:anywhere}.login-policy-state{font-weight:600}@media (max-width:1023px){.login-page{--login-unit:min(0.11111vw,.75px);padding:30px 20px;overflow:auto}.login-stage{width:min(520px,100%);height:auto}.login-visual{position:relative;top:auto;left:auto;width:100%;height:calc(var(--login-unit)*620)}.login-brand{text-align:center}.login-brand h1{font-size:clamp(24px,5vw,38px)}.login-brand p{margin-top:10px;padding:0 4px;font-size:clamp(12px,2.3vw,16px);line-height:1.7;white-space:normal}.login-model{left:50%;top:calc(var(--login-unit)*-10);width:calc(var(--login-unit)*670);height:calc(var(--login-unit)*670);transform:translateX(-50%)}.login-badge{gap:8px;width:auto;height:34px;padding:5px 12px 5px 5px;font-size:12px;border-radius:24px}.login-badge img{width:24px;height:24px}.login-badge-collection{left:1%;top:calc(var(--login-unit)*240)}.login-badge-trace{left:auto;right:0;top:calc(var(--login-unit)*240)}.login-badge-simulation{left:4%;top:calc(var(--login-unit)*420)}.login-badge-report{left:auto;right:2%;top:calc(var(--login-unit)*450)}.login-panel{position:relative;top:auto;left:auto;width:min(420px,100%);min-height:0;margin:8px auto 0;padding:28px 26px 24px;border-radius:11px}.login-title{margin-bottom:26px;font-size:24px;line-height:1.5}.login-field label{margin-bottom:9px;font-size:14px;line-height:20px}.login-field+.login-field{margin-top:20px}.login-input-wrap{height:46px;border-radius:4px}.login-input-wrap img{width:22px;height:22px;margin:0 12px}.login-input-wrap input{padding-right:12px;font-size:16px}.login-submit{height:46px;margin-top:28px;border-radius:4px;font-size:16px}.login-terms{margin-top:24px;font-size:11px;line-height:20px}.login-page .login-error{margin:-12px 0 18px;padding:8px 10px;font-size:13px}}@media (max-width:380px){.login-page{padding:24px 14px}.login-brand h1{font-size:24px}.login-panel{padding-left:20px;padding-right:20px}}