:root{--ink:#1d2738;--muted:#718096;--primary:#345ff0;--line:#e6ebf2;--bg:#f5f7fb;--white:#fff;--radius:18px;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #8ca8ff;outline-offset:3px}
.topbar{height:82px;background:#ffffffed;border-bottom:1px solid var(--line)}.topbar-inner{max-width:1120px;height:100%;margin:auto;padding:0 30px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:13px;font-size:21px;font-weight:750;letter-spacing:.5px}.brand b{font-size:19px;font-weight:650;letter-spacing:0}.brand small{display:block;font-size:10px;font-weight:500;color:#8592a4;letter-spacing:2px;line-height:1.2}.brand-mark{display:grid;place-items:center;width:44px;height:44px;background:var(--primary);border-radius:13px;color:white;font-size:30px;font-weight:850;box-shadow:0 6px 15px #345ff029}.top-actions{display:flex;align-items:center;gap:10px}.status-chip{display:flex;align-items:center;gap:7px;color:#64748b;font-size:12px}.status-chip i{width:6px;height:6px;border-radius:50%;background:#49a78d}.user-name{font-size:13px;color:#58677b}
.portal{max-width:1120px;margin:auto;padding:36px 30px 22px}.eyebrow{display:block;font-size:11px;color:var(--primary);font-weight:650;letter-spacing:1px}.workspace-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}h1{font-size:30px;line-height:1.4;letter-spacing:-.7px;margin:7px 0 6px;font-weight:720}.muted{color:var(--muted);margin:0;font-size:13px}.external-box{background:white;border:1px solid var(--line);border-radius:13px;padding:10px 14px;min-width:235px}.external-box>span{display:block;color:#8b96a6;font-size:10px;margin-bottom:4px;letter-spacing:1px}.external-box>div{display:flex;gap:16px}.external-box a{font-size:12px;font-weight:650;color:#48617e}.external-box a:hover{color:var(--primary)}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tool-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 3px 18px #23365204;overflow:hidden;transition:border-color .18s,transform .18s,box-shadow .18s}.tool-card:hover{border-color:#b8c8f8;transform:translateY(-2px);box-shadow:0 8px 28px #34466b0c}.tool-main{display:block;position:relative;flex:1;padding:23px 25px 16px}.tool-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf3ff;color:#4874d9}.tool-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.green{background:#eaf5f1;color:#409882}.blue{background:#edf2ff;color:#507be1}.amber{background:#fbf2e8;color:#bb8c45}.violet{background:#f1edfb;color:#8a72c4}.card-number{position:absolute;top:26px;right:25px;font-size:11px;letter-spacing:2px;color:#a9b4c5}.tool-card h2{font-size:18px;margin:13px 0 5px;line-height:1.4;font-weight:680}.tool-card p{font-size:12px;color:#7c899b;margin:0;max-width:410px}.tool-open{display:flex;align-items:center;gap:12px;font-size:11px;color:#5065a1;margin-top:15px}.tool-open b{font-size:17px;font-weight:400}.quick{border-top:1px solid #eff2f7;padding:10px 25px;min-height:44px;display:flex;flex-wrap:wrap;gap:5px 11px;align-content:center;background:#fcfdff}.quick a{font-size:11px;color:#6c7e99;border-bottom:1px solid transparent}.quick a:hover{color:var(--primary);border-bottom-color:var(--primary)}.quick>span{font-size:10px;color:#8b98ac}
footer{display:flex;justify-content:space-between;gap:16px;margin-top:25px;font-size:10px;color:#9aa6b7}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:39px;border:1px solid var(--line);border-radius:9px;padding:8px 14px;background:white;color:#526079;font-size:12px;font-weight:600}.button:hover{background:#f5f8ff}.button.primary{background:var(--primary);color:white;border-color:var(--primary);box-shadow:0 5px 12px #345ff020}.button.primary:hover{background:#264bd5}.button.full{width:100%;height:48px;font-size:14px}.button.subtle{border-color:transparent;background:#f4f6fb}.button.danger{color:#bd4d50;background:#fff5f5;border-color:#f1dadb}
.landing{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;min-height:620px}.landing-copy{padding:26px 0;position:relative;overflow:hidden}.landing-copy h1{font-size:47px;line-height:1.27;margin:16px 0 21px;letter-spacing:-1px}.landing-copy>p{color:#8491a4;font-size:14px;line-height:1.9}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px;margin-top:37px;position:relative;z-index:1}.feature-list>div{display:grid;grid-template-columns:22px 1fr;gap:0 6px}.feature-list span{font-size:10px;color:#92a3c6;line-height:24px}.feature-list strong{font-size:13px;font-weight:650}.feature-list small{grid-column:2;font-size:10px;color:#9aa6b7}.brand-graphic{position:relative;height:130px;overflow:hidden;margin-top:36px}.brand-graphic>span{font-size:105px;font-weight:900;line-height:1;color:#e7ecf8;letter-spacing:-12px}.brand-graphic i,.brand-graphic b{position:absolute;display:block;width:72px;height:72px;border-radius:22px;transform:rotate(-12deg);border:1px solid #dfe7fc;right:74px;top:24px}.brand-graphic b{width:43px;height:43px;border-radius:13px;background:#e8edff;border:0;right:34px;top:61px;transform:rotate(15deg)}
.login-card{max-width:410px;width:100%;justify-self:end;padding:36px;background:white;border:1px solid #e7ecf4;border-radius:22px;box-shadow:0 18px 60px #38577d0b}.form-kicker{font-size:11px;color:#9aa5b4;letter-spacing:2px}.login-card h2{font-size:22px;font-weight:700;margin:5px 0 7px}.login-card .muted{font-size:12px}.login-card form{margin-top:27px}form>label{display:block;font-size:12px;font-weight:600;color:#52627a;margin-top:16px}input:not([type=checkbox]){display:block;width:100%;height:45px;border:1px solid #dfe6ef;border-radius:9px;background:#fbfcfe;padding:11px 13px;outline-offset:2px;color:#26384f;margin-top:7px}input::placeholder{color:#a9b2c0;font-size:12px}input:not([type=checkbox]):focus{border-color:#7396ff;background:white}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:57px}.password-toggle{position:absolute;right:12px;top:13px;border:0;background:none;color:#7c8aa1;font-size:11px;padding:0}.form-options{display:flex;justify-content:space-between;align-items:center;margin:17px 0 23px;font-size:10px;color:#95a0b2}.check{display:flex;align-items:center;gap:6px;font-size:11px;color:#7b889e;font-weight:400}.check input{accent-color:var(--primary);margin:0}.login-help{display:flex;align-items:flex-start;gap:9px;border-top:1px solid #f0f2f7;margin-top:25px;padding-top:20px;font-size:10px;color:#a1abbc;line-height:1.8}.login-help b{font-weight:400;color:#8896ad}.help-icon{display:grid;place-items:center;border:1px solid #c5cede;border-radius:50%;width:15px;height:15px;font-size:9px;margin-top:2px;flex:none}.notice{font-size:12px;border-radius:9px;padding:10px 12px;margin:15px 0;background:#edf7f3;color:#287f61}.notice.error{background:#fff3f1;color:#c65f52}
body[data-cloud=false] .cloud-only,body[data-cloud=true] .desktop-only{display:none!important}body[data-state=desktop] .landing,body[data-state=owner] .landing,body[data-state=member] .landing{display:none}body[data-state=guest] .workspace,body[data-state=loading] .workspace{display:none}body[data-state=loading] .landing{visibility:hidden}body[data-state=guest] #userName{display:none}
.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-header h1{font-size:27px}.admin-layout{display:grid;grid-template-columns:1fr 310px;gap:20px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:17px;padding:23px}.panel h2{font-size:17px;margin:0 0 8px}.panel .muted{font-size:11px}.panel form{margin-top:15px}.panel form .button{margin-top:20px}.accounts{width:100%;border-collapse:collapse;margin-top:15px}.accounts th{text-align:left;padding:11px 9px;color:#9aa6b7;font-size:10px;font-weight:500;border-bottom:1px solid var(--line)}.accounts td{padding:17px 9px;border-bottom:1px solid #f0f3f8;font-size:12px;vertical-align:middle}.accounts small{display:block;font-size:10px;color:#97a3b5}.role{display:inline-block;border-radius:6px;background:#edf2ff;color:#5b7abb;font-size:10px;padding:3px 7px}.role.member{color:#789087;background:#eff7f3}.role.off{color:#9fa9b7;background:#f3f5f8}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.text-button{border:0;padding:0;background:none;color:#6e86bb;font-size:10px}.text-button:hover{color:var(--primary)}.text-button.danger{color:#c08283}.dialog{border:1px solid var(--line);border-radius:18px;padding:27px;width:min(440px,calc(100vw - 30px));box-shadow:0 20px 80px #20344b30}.dialog::backdrop{background:#17263b50;backdrop-filter:blur(3px)}.dialog h2{margin:0 0 5px;font-size:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.empty-row{text-align:center;color:#9aa6b7}.denied{max-width:540px;margin:90px auto;text-align:center}.denied h1{font-size:30px}.denied p{color:var(--muted);margin:15px 0 28px}
@media(min-width:1600px){.portal{padding-top:45px}.tool-main{padding-top:28px;padding-bottom:20px}.tool-card p{font-size:13px}}
@media(max-width:850px){.landing{gap:26px;grid-template-columns:1fr 1fr}.landing-copy h1{font-size:36px}.login-card{padding:27px}.admin-layout{grid-template-columns:1fr}.topbar-inner,.portal{padding-left:22px;padding-right:22px}.brand b{font-size:17px}}
@media(max-width:600px){.topbar{height:72px}.topbar-inner,.portal{padding-left:17px;padding-right:17px}.brand{font-size:18px;gap:9px}.brand b{font-size:15px}.brand-mark{width:36px;height:36px;font-size:25px;border-radius:10px}.brand small{font-size:8px}.top-actions{gap:3px}.user-name{display:none}.top-actions .button{font-size:10px;padding:6px 8px}.status-chip{font-size:10px}.portal{padding-top:25px}.workspace-head{display:block}.workspace-head h1{font-size:25px}.external-box{display:flex;justify-content:space-between;align-items:center;margin-top:17px;min-width:0;padding:11px 13px}.external-box>span{margin:0}.tool-grid{grid-template-columns:1fr;gap:13px}.tool-main{padding:20px}.quick{padding:9px 20px}.card-number{right:20px;top:24px}.tool-card h2{font-size:17px}.landing{display:block;min-height:0}.landing-copy{padding:0 0 23px}.landing-copy h1{font-size:31px;margin:10px 0 12px}.landing-copy h1 br{display:none}.landing-copy>p{font-size:12px}.feature-list,.brand-graphic{display:none}.login-card{max-width:none;padding:26px;border-radius:17px}.login-card h2{font-size:21px}footer{font-size:9px;display:block;margin-top:22px}footer>span{display:block}.panel{padding:18px}.admin-header h1{font-size:24px}.accounts th,.accounts td{padding-left:4px;padding-right:4px}.row-actions{max-width:72px;gap:7px}.accounts td{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
