:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#253c35;background:#f5f8f6;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:9px}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #81bda6;outline-offset:3px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand>span{display:grid;place-items:center;width:43px;height:43px;background:#176f63;color:white;border-radius:12px;font-size:35px}.brand strong{font-size:21px;font-weight:650;letter-spacing:1px}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:3px;color:#8aa395;margin-top:3px}.loading{height:100vh;display:grid;place-items:center;color:#668578;font-size:14px}.login-page{min-height:100dvh;display:grid;grid-template-columns:1fr 460px;gap:8vw;align-items:center;max-width:1300px;margin:auto;padding:50px 6vw}.login-intro .brand{margin-bottom:80px}.eyebrow{color:#658b78;font-size:13px;letter-spacing:3px}.login-intro h1{font-size:clamp(32px,3.5vw,50px);font-weight:600;line-height:1.45;margin:18px 0 24px;letter-spacing:1px}.login-intro>p:last-of-type{font-size:15px;color:#759184}.platform-tags{display:flex;gap:9px;margin-top:30px;flex-wrap:wrap}.platform-tags span{font-size:12px;border:1px solid #dbe7df;background:#edf4ef;border-radius:22px;padding:8px 13px;color:#668774}.login-card{background:#fff;border:1px solid #e1eae4;border-radius:20px;padding:38px;box-shadow:0 14px 60px #173e2e06}.card-label{color:#568775;font-size:12px}.login-card h2{font-size:25px;margin:12px 0;font-weight:600}.muted{color:#8a9b93;font-size:12px;line-height:1.8}label{display:block;font-size:12px;margin:17px 0 8px;color:#556f61}input{width:100%;height:45px;border:1px solid #dfe7e2;border-radius:9px;background:#fcfdfc;padding:0 13px;color:#304b3e;font-size:14px}input::placeholder{color:#a7b7ad}.primary{width:100%;height:44px;background:#176f63;color:white;font-size:14px}.primary:hover{background:#11594e}.message{min-height:22px;color:#b34f49;font-size:12px;line-height:1.7;margin:13px 0}.message.success{color:#377e60}.login-foot{text-align:center;color:#a3b2a9;font-size:10px;margin:21px 0 0}.workspace{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.workspace-header{height:72px;flex-shrink:0;display:flex;align-items:center;gap:30px;padding:0 26px;background:#fff;border-bottom:1px solid #dfe8e2}.workspace-header .brand strong{font-size:18px}.workspace-header .brand>span{height:36px;width:36px;font-size:29px;border-radius:10px}#module-tabs{display:flex;align-items:center;gap:5px;background:#f3f6f4;padding:4px;border-radius:11px}#module-tabs button{background:transparent;font-size:13px;color:#789084;padding:11px 22px;white-space:nowrap}#module-tabs b{font-size:15px;font-weight:500;margin-right:5px}#module-tabs button[aria-current=page]{color:#1f6f55;background:#fff;box-shadow:0 2px 7px #1b493414}.session-info{margin-left:auto;display:flex;gap:18px;align-items:center;font-size:12px;color:#8ba092}.session-info button{padding:8px 11px;background:#f3f6f4;font-size:12px;color:#5b7868}.module-host{flex:1;min-height:0;background:#f7f9f8}.module-host iframe{border:0;width:100%;height:100%;display:block;background:#f7f9f8}.workspace-message{font-size:12px;padding:10px 25px;background:#fff7e6;color:#99752d;border-bottom:1px solid #f3e8cf}@media(min-width:1800px){.login-page{max-width:1450px;grid-template-columns:1fr 480px}.login-card{padding:42px}}@media(max-width:1000px){.workspace-header{gap:15px;padding:0 16px}#module-tabs button{padding:10px 13px}.session-info{gap:8px}.session-info span{display:none}.login-page{gap:5vw;grid-template-columns:1fr 400px;padding:35px 4vw}.login-card{padding:30px}.login-intro h1{font-size:32px}}@media(max-width:720px){.login-page{display:block;max-width:480px;padding:28px 20px}.login-intro .brand{margin:0 0 28px}.login-intro .eyebrow,.login-intro h1,.login-intro>p,.platform-tags{display:none}.login-card{padding:28px 24px;border-radius:15px}.workspace-header{height:108px;display:grid;grid-template-columns:1fr auto;gap:4px;padding:9px 12px}.workspace-header .brand{grid-row:1;gap:8px}.workspace-header .brand>span{height:28px;width:28px;font-size:23px}.workspace-header .brand strong{font-size:15px}.workspace-header .brand small{display:none}.session-info{grid-row:1;grid-column:2}.session-info button{font-size:11px}#module-tabs{grid-row:2;grid-column:1/3;width:100%}#module-tabs button{flex:1;padding:9px 8px;font-size:12px}.workspace-message{padding:9px 13px}}
