:root{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#1c2927;background:#f3f6f5;font-synthesis:none;text-rendering:optimizeLegibility;--pine: #163b35;--pine-light: #245b50;--glacier: #eaf1f0;--porcelain: #f7f9f8;--ink: #1c2927;--gold: #c69a3a;--line: #dce5e2;--display: "Noto Serif SC", "Songti SC", SimSun, serif;--data: "DIN Alternate", "Roboto Mono", ui-monospace, monospace}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,a,[role=menuitem]{outline-offset:3px}:focus-visible{outline:2px solid var(--gold)}.app-layout{min-height:100vh;background:#f3f6f5}.app-sider{background:var(--pine)!important;box-shadow:10px 0 32px #163b3514}.brand{display:flex;align-items:center;gap:13px;min-height:104px;padding:22px 20px;border-bottom:1px solid rgb(255 255 255 / 10%)}.brand-seal{display:grid;place-items:center;width:40px;height:44px;flex:0 0 auto;border:1px solid rgb(198 154 58 / 75%);color:#e3bd68;font-family:var(--display);font-size:25px;line-height:1}.brand-title{color:#fff;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:4px}.brand-subtitle{margin-top:5px;color:#ffffff8c;font-size:11px;letter-spacing:1px}.nav-caption{padding:25px 24px 8px;color:#ffffff61;font-size:11px;letter-spacing:2px}.app-sider .ant-menu{padding:4px 10px;background:transparent;border-inline-end:0!important}.app-sider .ant-menu-item{margin-block:6px;color:#ffffffad}.app-sider .ant-menu-item-selected{background:#28564d!important;color:#fff;box-shadow:inset 3px 0 0 var(--gold)}.sider-foot{position:absolute;bottom:24px;left:24px;display:flex;align-items:center;gap:8px;color:#ffffff6b;font-size:11px}.sider-foot-mark{width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}.app-header{display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 32px;background:#f7f9f8eb!important;border-bottom:1px solid var(--line);line-height:normal}.header-location{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:600}.header-divider{width:1px;height:14px;background:#cad7d3}.header-context{color:#71817d;font-size:12px;font-weight:400}.version{color:#84928f;font-family:var(--data);font-size:11px;letter-spacing:1px}.app-content{padding:30px 32px 42px}.content-shell{width:100%;max-width:1420px;margin:0 auto}.dashboard-intro{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px;align-items:end;padding:16px 0 32px}.eyebrow,.section-kicker{margin:0 0 12px;color:#9b7729;font-size:11px;font-weight:700;letter-spacing:2px}.dashboard-intro h1{max-width:760px;margin:0;color:var(--pine);font-family:var(--display);font-size:clamp(30px,3.2vw,46px);font-weight:600;line-height:1.35;letter-spacing:1px}.dashboard-intro h1 span{display:block}.intro-copy{margin:18px 0 0;color:#647570;font-size:14px;line-height:1.8}.api-card{padding:20px;background:var(--porcelain);border:1px solid var(--line);border-top:3px solid #b6a26d;border-radius:8px}.api-card.online{border-top-color:#4d8172}.api-card.offline{border-top-color:#b44336}.api-card-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:#71817d;font-size:12px}.api-card strong{color:var(--pine);font-family:var(--data);font-size:16px}.api-card p{min-height:38px;margin:8px 0 14px;color:#75837f;font-size:12px;line-height:1.6}.flow-panel{padding:28px 30px 30px;overflow:hidden;color:#fff;background:var(--pine);border-radius:12px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{margin:0;color:var(--pine);font-size:18px;font-weight:600}.section-heading.dark h2{color:#fff;font-family:var(--display);font-weight:500;letter-spacing:1px}.section-heading.dark .section-kicker{color:#d7b768}.flow-status{color:#ffffff73;font-size:11px}.flow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.flow-step{position:relative;padding-top:20px;border-top:1px dashed rgb(198 154 58 / 55%)}.flow-step:before{position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--gold);content:"";transform:rotate(45deg)}.flow-number{margin-right:10px;color:#d7b768;font-family:var(--data);font-size:12px}.flow-code{color:#ffffff59;font-family:var(--data);font-size:10px;letter-spacing:1px}.flow-step h3{margin:12px 0 8px;color:#fff;font-size:17px;font-weight:500}.flow-step p{margin:0;color:#ffffff85;font-size:12px;line-height:1.6}.dashboard-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:24px;margin-top:24px}.panel{min-height:300px;padding:26px 28px;background:var(--porcelain);border:1px solid var(--line);border-radius:10px}.milestone-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.milestone-list li{display:flex;gap:16px;padding:14px 0;color:#7b8985;border-top:1px solid #e5ebe9}.milestone-list li>span{padding-top:2px;color:#9ba8a4;font-family:var(--data);font-size:11px}.milestone-list li.current>span{color:var(--gold)}.milestone-list strong{color:#344944;font-size:14px;font-weight:600}.milestone-list li.current strong{color:var(--pine)}.milestone-list p{margin:4px 0 0;font-size:12px}.today-panel .ant-empty{margin-top:34px;color:#8a9793;font-size:12px}.module-placeholder{display:grid;place-items:center;min-height:calc(100vh - 180px);background:var(--porcelain);border:1px solid var(--line);border-radius:10px}@media(max-width:900px){.dashboard-intro{grid-template-columns:1fr;gap:22px}.api-card{max-width:none}.flow-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:640px){.app-header{padding:0 18px}.header-context,.header-divider{display:none}.app-content{padding:20px 16px 30px}.dashboard-intro{padding-top:4px}.dashboard-intro h1{font-size:30px}.flow-panel,.panel{padding:22px 20px}.flow-steps{grid-template-columns:1fr}.flow-status{display:none}}.auth-loading{display:grid;place-items:center;align-content:center;min-height:100vh;color:#71817d;background:#f3f6f5}.auth-loading p{margin-top:18px;font-size:13px}.login-page{display:grid;grid-template-columns:minmax(480px,1.15fr) minmax(400px,.85fr);min-height:100vh;background:var(--porcelain)}.login-brand-panel{display:flex;flex-direction:column;min-height:100vh;padding:42px 52px;color:#fff;background:var(--pine)}.login-brand{display:flex;align-items:center;gap:14px}.login-statement{max-width:680px;margin:auto 0;padding:60px 0}.login-statement h1{margin:0;font-family:var(--display);font-size:clamp(38px,4.2vw,62px);font-weight:500;line-height:1.35;letter-spacing:2px}.login-statement h1 span{display:block;color:#d7b768}.login-statement>p:last-child{max-width:540px;margin:24px 0 0;color:#ffffff94;font-size:14px;line-height:1.9}.login-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.login-flow>div{padding-top:14px;border-top:1px dashed rgb(198 154 58 / 55%)}.login-flow span{display:block;margin-bottom:8px;color:#d7b768;font-family:var(--data);font-size:11px}.login-flow strong{font-size:13px;font-weight:500}.login-form-panel{display:grid;place-items:center;padding:40px}.login-form-wrap{width:100%;max-width:400px}.login-form-wrap h2{margin:0;color:var(--pine);font-family:var(--display);font-size:32px;font-weight:600}.login-form-intro{margin:12px 0 30px;color:#71817d;font-size:13px;line-height:1.7}.login-form-wrap .ant-form-item{margin-bottom:22px}.login-form-wrap .ant-btn{margin-top:6px}.verification-code-row{width:100%}.verification-code-row .ant-btn{margin-top:0;white-space:nowrap}.login-error{margin-bottom:22px}.login-security{margin:24px 0 0;color:#8a9793;font-size:11px;text-align:center}.user-menu-button{display:flex;align-items:center;gap:9px;height:52px!important;padding-inline:10px!important}.user-menu-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.3}.user-menu-copy strong{color:#344944;font-size:12px}.user-menu-copy small{max-width:230px;overflow:hidden;color:#8a9793;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.page-title-row h1{margin:0;color:var(--pine);font-family:var(--display);font-size:34px;font-weight:600}.page-title-row p:last-child{margin:10px 0 0;color:#71817d;font-size:13px}.users-page>.ant-alert{margin-bottom:18px}.users-table-panel{overflow:hidden;background:var(--porcelain);border:1px solid var(--line);border-radius:10px}.users-table-panel .ant-table{background:transparent}.role-options{display:grid;gap:12px;width:100%}.role-options .ant-checkbox-wrapper{align-items:flex-start;margin-inline-start:0!important;padding:10px 12px;background:#f5f8f7;border:1px solid #e3eae7;border-radius:6px}.role-options strong,.role-options span{display:block}.role-options span{margin-top:3px;color:#82908c;font-size:11px}.users-page+.ant-modal .ant-alert,.ant-modal .ant-alert+.ant-form{margin-bottom:20px}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-brand-panel{min-height:auto;padding:28px 32px}.login-statement{padding:48px 0}.login-form-panel{min-height:520px}}@media(max-width:640px){.login-brand-panel{padding:22px 20px}.login-statement{padding:42px 0 16px}.login-statement h1{font-size:34px}.login-flow{display:none}.login-form-panel{min-height:auto;padding:42px 20px}.user-menu-copy small{display:none}.page-title-row{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
