:root{--ink:#10131a;--muted:#707786;--line:#e7eaf0;--blue:#1473e6;--blue2:#5b5ce2;--pale:#f4f6f9;--amber:#ff9f0a;--red:#e5484d;--green:#168553;--sidebar:242px}*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:#f5f6f8}body{margin:0}.hidden{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}.eyebrow{font-size:10px;letter-spacing:.16em;color:#9299a6;font-weight:800;text-transform:uppercase}.primary,.secondary,.round,.toolbar button,.classify{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 15px;color:var(--ink)}.primary{background:linear-gradient(135deg,#1473e6,#4f46e5)!important;color:#fff!important;border-color:transparent!important;font-weight:750;box-shadow:0 8px 20px #1473e626}.primary:hover{filter:brightness(.96)}.secondary:hover,.toolbar button:hover,.round:hover{background:#f5f7fb}.large{width:100%;padding:14px;font-size:15px}.quiet{border:0;background:none;color:#54708f;margin-top:18px}.icon-button{border:0;background:none;color:#8d95a3}.app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:rgba(255,255,255,.94);backdrop-filter:blur(20px);border-right:1px solid var(--line);padding:28px 18px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 32px}.brandmark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#111827,#2788ff 70%,#7c3aed);color:#fff;display:grid;place-items:center;font-weight:850;box-shadow:0 9px 22px #1d4ed834}.brand b,.brand span{display:block}.brand b{font-size:16px}.brand span{font-size:12px;color:var(--muted);margin-top:2px}.sidebar nav{display:grid;gap:4px}.sidebar nav button{border:0;background:transparent;border-radius:12px;padding:11px 12px;display:flex;align-items:center;gap:12px;color:#555d6c;font-size:14px;text-align:left;position:relative}.sidebar nav button:hover{background:#f5f7fb}.sidebar nav button.active{background:#edf5ff;color:#0969d8;font-weight:750}.sidebar nav em{margin-left:auto;background:#ff3b30;color:#fff;border-radius:99px;padding:2px 7px;font-size:11px;font-style:normal}.nav-icon{width:23px;text-align:center;font-size:17px}.profile{margin-top:auto;border-top:1px solid var(--line);padding:20px 6px 0;display:flex;align-items:center;gap:10px}.profile .avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#141821;color:#fff}.profile b,.profile span{display:block;font-size:13px}.profile span{font-size:11px;color:var(--muted);margin-top:2px}.profile button{margin-left:auto}.shell{margin-left:var(--sidebar);width:calc(100% - var(--sidebar))}.shell>header{height:104px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;position:sticky;top:0;z-index:4}.shell>header h1{font-size:26px;margin:5px 0 0}.header-actions{display:flex;gap:9px}.round{width:42px;height:42px;padding:0}.content{max-width:1400px;margin:auto;padding:34px 42px}.loading{padding:100px;text-align:center;color:#707786}.hero{min-height:350px;border-radius:28px;padding:54px;background:radial-gradient(circle at 85% 15%,#d9ebff 0,transparent 32%),radial-gradient(circle at 68% 100%,#ece7ff 0,transparent 28%),linear-gradient(145deg,#fff,#f5f9ff);border:1px solid #e2eaf5;box-shadow:0 16px 50px rgba(34,76,126,.07)}.hero h2{font-size:42px;letter-spacing:-.04em;margin:20px 0 8px}.hero>p{color:var(--muted);font-size:16px}.pill{display:inline-block;color:#0969d8;background:#e9f3ff;border-radius:99px;padding:7px 11px;font-size:12px;font-weight:750}.search{max-width:850px;min-height:64px;margin-top:28px;background:#fff;border:1px solid #dfe5ee;border-radius:17px;box-shadow:0 12px 35px rgba(37,71,111,.1);display:flex;align-items:center;padding:8px 9px 8px 20px;gap:12px}.search input{border:0;outline:0;flex:1;font-size:15px;background:transparent;min-width:0}.search button{height:46px;border:0;background:#111722;color:#fff;border-radius:11px;padding:0 24px;font-weight:750}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.chips button{border:1px solid #e1e6ed;background:rgba(255,255,255,.82);border-radius:99px;padding:8px 12px;color:#616a78}.answer{margin-top:18px;max-width:850px;background:#fff;border-left:3px solid var(--blue);padding:14px 18px;border-radius:8px;box-shadow:0 8px 24px #1c68b912}.answer p{margin:7px 0 0;color:#555;line-height:1.65}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stats article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:21px}.stats span,.stats b,.stats small{display:block}.stats span{font-size:12px;color:var(--muted)}.stats b{font-size:30px;margin:7px 0}.stats small{color:#969daa}.stats .warning{cursor:pointer;background:#fffaf0;border-color:#ffe2ad}.stats .warning b{color:#d97706}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:18px}.panelhead{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panelhead h3{margin:4px 0 0;font-size:20px}.panelhead .actions{display:flex;gap:8px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:16px 18px;border-bottom:1px solid #f0f1f4;font-size:13px;vertical-align:middle}th{font-size:11px;letter-spacing:.05em;color:#8b92a0;background:#fafbfc;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfe}tbody tr.selected{background:#eef6ff}.tag{display:inline-block;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:750}.green{color:#18864b;background:#e8f8ef}.amber{color:#a35d00;background:#fff1d8}.blue{color:#0769d8;background:#eaf4ff}.red{color:#b42318;background:#feeceb}.link{border:0;background:none;color:#0872df;font-weight:750;padding:3px}.muted{color:#9ca3af}.block{display:block;color:#969daa;margin-top:4px}.meter{display:inline-block;width:80px;height:6px;background:#edf0f3;border-radius:99px;overflow:hidden;margin-right:8px}.meter i{display:block;height:100%;background:linear-gradient(90deg,#3184ee,#695be8);border-radius:99px}.toolbar{display:flex;gap:9px;margin-bottom:16px;align-items:center}.toolbar .filter,.toolbar input,.toolbar select{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:#555}.toolbar .filter{margin-right:auto;min-width:290px}.toolbar button:disabled{opacity:.4}.modulehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modulehead h2{font-size:30px;margin:5px 0}.modulehead select{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.modulehead .actions{display:flex;gap:8px}.upload{text-align:center;background:#fff;border:2px dashed #cbd8e9;border-radius:24px;padding:60px 24px;transition:.2s}.upload.dragging{border-color:#1473e6;background:#f4f9ff;transform:scale(1.005)}.uploadicon{width:62px;height:62px;border-radius:18px;background:#eaf4ff;color:#0c71dd;display:grid;place-items:center;margin:auto;font-size:30px}.upload h2{font-size:27px;margin:20px 0 7px}.upload p{color:var(--muted)}.file-picker{display:inline-block;margin:16px}.file-picker input{display:none}.upload small{display:block;color:#9097a4}.upload-progress{max-width:650px;margin:14px auto 0;text-align:left}.progressbar{height:7px;background:#e9edf3;border-radius:10px;overflow:hidden}.progressbar i{height:100%;display:block;background:linear-gradient(90deg,#1473e6,#7c3aed);transition:.2s}.rule,.notice,.formula{margin:18px 0;background:#fff9ed;border:1px solid #ffe2ab;border-radius:15px;padding:18px 21px}.rule p,.notice p{margin:6px 0 0;color:#666e7b;font-size:13px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.flow article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px}.flow span,.flow b,.flow small{display:block}.flow span{color:#1473e6;font-weight:800}.flow b{margin:18px 0 5px}.flow small{color:var(--muted)}.notice{display:flex;justify-content:space-between;align-items:center}.notice>span{font-size:12px;font-weight:800;padding:8px 11px;background:#fff;border-radius:99px}.notice.blue{background:#eef6ff;border-color:#cfe5ff}.filename{display:flex;align-items:center;gap:10px}.filename span{width:40px;height:40px;border-radius:9px;background:#eef3f9;color:#53708e;display:grid;place-items:center;font-size:9px;font-weight:800;flex:none}.empty{padding:65px!important;text-align:center;color:#555}.empty span{display:block;color:#9299a6;font-size:12px;margin-top:5px}.progressgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:18px}.progressgrid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px}.progressgrid article.current{border-color:#1473e6;background:#eef6ff;box-shadow:0 8px 22px #1473e61f}.progressgrid span,.progressgrid b{display:block}.progressgrid span{font-size:10px;color:#1473e6}.progressgrid b{font-size:12px;margin:18px 0}.formula{background:#fff;border-color:var(--line);display:flex;gap:28px}.formula span{color:#68707d}.modalback{position:fixed;inset:0;background:#11182766;backdrop-filter:blur(8px);z-index:30;display:grid;place-items:center;padding:25px}.modal{width:min(850px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 80px #0004}.modal.wide{width:min(1120px,100%)}.modalhead{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid #e9ebf0;position:sticky;top:0;background:#fff;z-index:2}.modalhead h2{margin:0;font-size:21px}.modalhead button{border:0;background:#f1f3f6;width:34px;height:34px;border-radius:50%;font-size:22px}.formgrid{padding:24px 26px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.formgrid label>span{display:block;font-size:12px;font-weight:750;color:#596170;margin-bottom:7px}.formgrid input,.formgrid select,.formgrid textarea{width:100%;border:1px solid #dfe3e9;background:#fff;border-radius:10px;padding:11px 12px;outline:none}.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus{border-color:#1473e6;box-shadow:0 0 0 3px #1473e61b}.formgrid textarea{min-height:82px;resize:vertical}.formgrid .full,.formhint,.formactions{grid-column:1/-1}.formhint{background:#eef6ff;color:#1768ba;border-radius:10px;padding:11px 13px;font-size:13px}.formactions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e9ebf0;padding-top:18px}.checkline{display:flex!important;align-items:center;gap:8px}.checkline input{width:auto}.detailbody{padding:24px 26px}.detailgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.detailgrid article{border:1px solid var(--line);border-radius:13px;padding:14px}.detailgrid small,.detailgrid b{display:block}.detailgrid small{color:var(--muted);margin-bottom:5px}.category-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.category-links button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 11px}.category-links button.active{background:#eaf4ff;color:#0769d8;border-color:#bfdbfe}.toast{position:fixed;right:28px;bottom:28px;background:#151a23;color:#fff;padding:14px 19px;border-radius:12px;box-shadow:0 14px 34px #0003;z-index:50;max-width:380px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(145deg,#f8fbff,#f5f3ff);position:relative;overflow:hidden}.auth-card{width:min(460px,100%);position:relative;background:rgba(255,255,255,.8);backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.9);box-shadow:0 35px 100px rgba(56,68,104,.16);border-radius:32px;padding:44px;text-align:center;z-index:2}.auth-mark{width:64px;height:64px;margin:0 auto 22px;display:grid;place-items:center;border-radius:19px;background:linear-gradient(145deg,#111827,#2788ff 70%,#7c3aed);color:#fff;font-weight:850;font-size:20px;box-shadow:0 14px 34px #2563eb42}.auth-card h1{font-size:30px;letter-spacing:-.03em;margin:9px 0}.auth-copy{color:var(--muted);line-height:1.6;margin:0 0 28px}.auth-form{display:grid;gap:14px;text-align:left}.auth-form label span{display:block;font-size:12px;font-weight:750;color:#596170;margin:0 0 6px}.auth-form input{width:100%;border:1px solid #dce2eb;background:rgba(255,255,255,.9);border-radius:13px;padding:13px 14px;outline:0}.auth-form input:focus{border-color:#1473e6;box-shadow:0 0 0 4px #1473e615}.form-error{min-height:18px;margin:0;color:#c7352b;font-size:12px}.auth-glow{position:absolute;border-radius:50%;filter:blur(4px);opacity:.7}.auth-glow.one{width:500px;height:500px;background:radial-gradient(circle,#cfe8ff,transparent 66%);top:-180px;right:-100px}.auth-glow.two{width:520px;height:520px;background:radial-gradient(circle,#e1d7ff,transparent 66%);bottom:-220px;left:-140px}@media print{.sidebar,.shell>header,.toolbar,.modulehead .actions,.notice,.no-print{display:none!important}.shell{margin:0;width:100%}.content{padding:0}.panel{border:0}.app{display:block}body{background:#fff}}@media(max-width:1050px){:root{--sidebar:78px}.sidebar{padding:24px 12px}.brand>div:last-child,.sidebar nav button span,.profile>div:nth-child(2),.profile button{display:none}.brand{padding-left:6px}.sidebar nav button{justify-content:center}.sidebar nav em{position:absolute;margin:0 0 26px 28px}.stats{grid-template-columns:repeat(2,1fr)}.flow{grid-template-columns:repeat(2,1fr)}.progressgrid{grid-template-columns:repeat(4,1fr)}.content{padding:25px}.shell>header{padding:0 26px}}@media(max-width:700px){.auth-card{padding:32px 24px}.sidebar{display:none}.shell{margin:0;width:100%}.shell>header{height:84px;padding:0 16px}.header-actions .round{display:none}.content{padding:16px}.hero{padding:30px 22px}.hero h2{font-size:32px}.search{align-items:stretch;flex-wrap:wrap;height:auto}.search input{min-height:42px}.search button{width:100%}.stats{grid-template-columns:1fr 1fr}.flow,.progressgrid,.detailgrid{grid-template-columns:1fr 1fr}.toolbar{flex-wrap:wrap}.toolbar .filter{width:100%;min-width:0}.modulehead{align-items:flex-start;gap:12px;flex-direction:column}.modulehead .actions{width:100%;flex-wrap:wrap}.formgrid{grid-template-columns:1fr}.formgrid>*{grid-column:1!important}.panel{overflow:auto}.panel table{min-width:760px}.modalback{padding:10px}.modal{border-radius:17px}.notice{align-items:flex-start;gap:12px}.profile{display:none}}
