:root{--ink:#25223c;--muted:#7b788c;--purple:#6752d8;--line:#e9e6f0;--bg:#f8f7fb;--soft:#f1eefc}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px/1.6 Arial,'PingFang SC','Microsoft YaHei',sans-serif;background:var(--bg)}[hidden]{display:none!important}h1,h2,p{margin-top:0}h1{font-size:32px;letter-spacing:-.5px;margin-bottom:10px}h2{font-size:18px;margin-bottom:8px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:9px;padding:9px 15px;color:var(--ink)}button:disabled{opacity:.55;cursor:wait}button:hover,a.primary:hover{filter:brightness(.97)}input,textarea{display:block;width:100%;border:1px solid #dcd8e7;border-radius:10px;background:#fff;padding:13px 15px;margin-top:8px;color:var(--ink)}input:focus,textarea:focus{outline:2px solid #b8aaf5;border-color:var(--purple)}textarea{resize:vertical;line-height:1.9}label{display:block;font-weight:600;margin:22px 0 0}label span{float:right;font-size:12px;font-weight:400;color:var(--muted)}label b{color:var(--purple)}.primary{display:inline-flex;justify-content:center;gap:20px;align-items:center;border:0;border-radius:9px;background:var(--purple);color:white;padding:12px 20px;font-weight:600}.full{width:100%;justify-content:space-between}.subtle,.hint{color:var(--muted)}.hint{display:block;font-size:12px;margin:15px 0 0;line-height:1.8}.error{color:#ad3e47;font-size:13px;margin:14px 0}.pill{display:inline-block;background:var(--soft);color:var(--purple);border-radius:20px;padding:5px 13px;font-size:12px}.wordmark{display:block;font-size:33px;font-weight:800;letter-spacing:-1.5px;line-height:1.2}.wordmark span{font-size:12px;font-weight:600;letter-spacing:2px;margin-left:10px;vertical-align:middle}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#9286b6}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:#eeeaf7;padding:60px 12%;display:flex;flex-direction:column;justify-content:space-between;gap:60px}.login-story h1{font-size:44px;line-height:1.45;margin:22px 0}.login-story p{color:#7e7394;line-height:2}.login-story small{color:#8b819b}.story-lines{display:flex;gap:12px;align-items:flex-end;height:110px;margin-top:30px}.story-lines i{width:26px;background:#afa0db;border-radius:8px 8px 0 0;height:55%}.story-lines i:nth-child(2n){height:85%;background:#c9bfee}.story-lines i:nth-child(3n){height:65%;background:#7861b4}.login-card{display:grid;place-items:center;padding:50px;background:white}.login-inner{max-width:380px;width:100%}.login-inner h2{font-size:27px;margin-top:30px}.login-inner form{margin-top:35px}.sidebar{width:232px;height:100vh;position:fixed;background:white;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column}.sidebar .wordmark{color:var(--purple);padding:0 12px}.workspace-name{font-size:11px;color:#9791a6;margin:12px 12px 34px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{border-radius:9px;padding:12px 14px;color:#6f6984;font-weight:500}.sidebar nav a span{display:inline-block;width:30px;font-size:19px;vertical-align:middle}.sidebar nav a.active{background:var(--soft);color:var(--purple);font-weight:600}.sidebar-foot{margin-top:auto;padding:20px 12px 0;border-top:1px solid var(--line)}.sidebar-foot p{font-size:12px;margin:14px 0 5px}.sidebar-foot button{padding:0;border:0;font-size:12px;color:#8e879c}.service-state{font-size:11px;color:#8e879c;display:flex;align-items:center;gap:8px}.service-state i{width:6px;height:6px;border-radius:50%;background:#c4b4a0}.service-state i.online{background:#6aae8f}.main{margin-left:232px}header{height:98px;padding:25px 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff}header p{font-size:12px;color:#aaa2b7;margin:4px 0 0}.workspace-badge{font-size:11px;background:var(--bg);padding:7px 13px;border-radius:20px;color:#92889f}#workspace-main{max-width:1390px;padding:42px 5%;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:8px}.page-heading .subtle{font-size:13px;margin-bottom:0}.create-grid{display:grid;grid-template-columns:minmax(350px,1.55fr) minmax(280px,1fr);gap:28px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:30px}.panel-heading{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:26px}.panel-heading h2{font-size:17px;margin:0 0 2px}.panel-heading p{font-size:12px;color:var(--muted);margin:0}.step-number{border-radius:10px;background:var(--soft);color:var(--purple);padding:12px;font-size:13px;font-weight:700}.input-feedback{font-size:12px;line-height:1.8;margin:10px 0;color:#938aa6;overflow-wrap:anywhere}.input-feedback.invalid{color:#ad3e47}.form-note{display:flex;gap:10px;background:#faf9fd;border-radius:8px;padding:14px;color:#8b839c;font-size:12px;margin:22px 0}.form-note p{margin:0}.form-note>span{color:var(--purple)}.outline-card{background:#f4f1fc;border-color:#e7e0f8;padding:32px}.outline-card h2{font-size:25px;margin:9px 0 26px}.report-outline{list-style:none;margin:0;padding:0;display:grid;gap:23px}.report-outline li{display:flex;gap:16px}.report-outline li>span{font-size:11px;color:#9b8fb9;line-height:23px}.report-outline b{font-weight:600;font-size:13px}.report-outline p{font-size:11px;margin:2px 0 0;color:#958aa7}.download-note{border-top:1px solid #e4ddef;margin-top:28px;padding-top:20px;font-size:11px;color:#8b7ba5}.small-note{padding:24px 14px;color:#8d829e;font-size:12px}.small-note b{color:#726280}.small-note p{margin:7px 0 0;line-height:1.9}footer{text-align:center;color:#b6adbf;font-size:10px;padding:8px 20px 28px;letter-spacing:1px}.task-card{background:white;border:1px solid var(--line);padding:23px;border-radius:13px;margin-bottom:16px;display:flex;gap:22px}.product-thumb{width:84px;min-width:84px;height:84px;object-fit:contain;border-radius:9px;border:1px solid #efedf4;padding:5px;background:#fff}.product-placeholder{display:grid;place-items:center;color:#aba3b6;background:#f5f3f9;font-size:11px}.task-content{flex:1;min-width:0}.task-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.task-title h2{margin:0;font-size:16px}.status{font-size:11px;padding:3px 10px;border-radius:20px;background:#f1eefb;color:#7968a5;white-space:nowrap}.status.completed{color:#318265;background:#ebf6f0}.status.partial,.status.waiting_data,.status.historical{background:#faf1e4;color:#a87936}.status.failed,.status.waiting_auth{background:#fbecef;color:#ab5265}.task-meta{color:#9b93a8;font-size:11px;margin:7px 0}.task-message{font-size:12px;color:#7b708c;margin:12px 0}.stage-list{display:flex;gap:6px;margin:16px 0;list-style:none;padding:0}.stage-list li{flex:1;font-size:10px;color:#b0a8bd;border-top:3px solid #efecf5;padding-top:8px}.stage-list li.done{border-color:#c4b9ed;color:#9b8cbb}.stage-list li.active{border-color:var(--purple);color:var(--purple)}.task-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.task-actions button,.task-actions a{padding:7px 12px;font-size:11px}.task-actions a:not(.primary){border:1px solid var(--line);border-radius:8px}.empty-state{background:#fff;border:1px dashed #dcd4e9;border-radius:14px;text-align:center;padding:70px 20px;color:#9b91aa}.empty-state h2{font-size:18px;color:#6f6187}.help{max-width:950px;color:#83778e}.help h2{color:var(--ink);margin:28px 0 10px}.help h2:first-child{margin-top:0}.help li{margin:12px 0}.help p{line-height:2}.reader-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.reader-toolbar>span{font-size:12px;color:#8a7c98}.reader-toolbar>div{display:flex;gap:18px;align-items:center;font-size:12px}#report-frame{width:100%;height:calc(100vh - 210px);min-height:650px;background:white;border:1px solid var(--line);border-radius:10px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:14px 24px;border-radius:12px;background:#342c48;color:white;box-shadow:0 5px 25px #0002;max-width:90vw;z-index:20}@media(min-width:1550px){#workspace-main{padding:50px 70px}.create-grid{gap:35px}.panel{padding:36px}.outline-card{padding:38px}.report-outline{gap:26px}}@media(max-width:1050px){.sidebar{width:190px;padding:30px 16px}.main{margin-left:190px}.create-grid{grid-template-columns:1fr}.create-aside{display:grid;grid-template-columns:1fr}.outline-card{max-width:none}.report-outline{grid-template-columns:1fr 1fr}.sidebar .wordmark{font-size:28px}}@media(max-width:650px){.login-layout{display:block}.login-story{padding:24px;gap:20px}.login-story>div:not(.wordmark),.login-story small{display:none}.login-card{padding:35px 24px;min-height:85vh}.sidebar{position:static;height:auto;width:100%;padding:18px 16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .wordmark{font-size:25px;padding:0}.workspace-name{margin:7px 0 15px}.sidebar nav{display:flex;gap:4px}.sidebar nav a{padding:9px 10px;font-size:12px;white-space:nowrap}.sidebar nav a span{display:none}.sidebar-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 0;padding:12px 0 0}.sidebar-foot p{margin:0}.sidebar-foot button{padding:6px;font-size:12px}.sidebar-foot .service-state{font-size:10px}.main{margin-left:0}header{height:65px;padding:14px 20px}header .workspace-badge{display:none}header p{font-size:10px}#workspace-main{padding:28px 16px}.page-heading{margin-bottom:24px}h1{font-size:25px}.page-heading .subtle{font-size:11px}.page-heading .primary{font-size:11px;padding:9px 12px}.create-grid{display:block}.panel{padding:22px 18px;border-radius:12px}.panel-heading{padding-bottom:18px;margin-bottom:20px}label{font-size:13px}label span{float:none;display:block;margin-top:4px;font-size:11px}.outline-card{margin-top:22px}.report-outline{grid-template-columns:1fr}.task-card{padding:17px;gap:13px;flex-wrap:wrap}.product-thumb{width:58px;height:58px;min-width:58px}.task-content{min-width:210px}.stage-list{flex-wrap:wrap;gap:9px}.stage-list li{flex-basis:29%}.task-title{align-items:start}.task-meta{overflow-wrap:anywhere}.reader-toolbar{flex-wrap:wrap}.reader-toolbar>span{width:100%;order:3}.reader-toolbar>div{gap:10px}.reader-toolbar .primary{padding:8px 12px}#report-frame{min-height:650px}.help{font-size:13px}.help ol{padding-left:20px}}
