*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:#f1f5f9;color:#0f172a;font-size:13px}a{color:#2563eb;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}input,select,button,textarea{font-family:inherit;font-size:12.5px}button{cursor:pointer}[hidden]{display:none!important}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes flash{0%{background:#fef9c3}to{background:transparent}}@keyframes pulse{0%{box-shadow:0 0 #2563eb80}70%{box-shadow:0 0 0 8px #2563eb00}to{box-shadow:0 0 #2563eb00}}.login{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(1200px 600px at 20% 10%,#1e3a8a,#0f172a 60%);display:flex;align-items:center;justify-content:center;z-index:50}.login .box{width:900px;background:#fff;border-radius:16px;overflow:hidden;display:flex;box-shadow:0 30px 80px #0006}.login .lft{width:360px;background:#0f172a;color:#cbd5e1;padding:36px 32px;display:flex;flex-direction:column;gap:14px}.login .lft h1{color:#fff;font-size:22px;margin:10px 0 0}.login .lft p{font-size:12.5px;line-height:1.7;color:#94a3b8;margin:0}.login .lft .feat{margin-top:auto;display:flex;flex-direction:column;gap:8px;font-size:12px}.login .lft .feat div{display:flex;gap:8px;align-items:center}.login .lft .feat i{width:6px;height:6px;border-radius:50%;background:#3b82f6;display:inline-block}.login .rgt{flex:1;padding:36px 40px}.login .rgt h2{margin:0 0 4px;font-size:18px}.login .rgt .hint{color:#94a3b8;font-size:12px;margin-bottom:18px}.cert{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:12px;cursor:pointer;margin-bottom:10px;transition:all .15s}.cert:hover{border-color:#93c5fd;background:#f8fafc}.cert.on{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb1f}.cert .av{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;flex:none}.cert .nm{font-weight:600;font-size:13.5px}.cert .ds{font-size:11.5px;color:#64748b;margin-top:2px}.cert .st{margin-left:auto;font-size:11px;color:#10b981}.login-steps{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;font-size:12px;color:#475569;margin:14px 0;min-height:88px}.login-steps div{display:flex;align-items:center;gap:8px;padding:3px 0}.login-steps .ok{color:#059669}.login-steps .run{color:#2563eb}.login-steps .dot{width:14px;text-align:center}:root{--z:1}html.big{--z:1.15;zoom:1.15}html.big .vc{zoom:calc(1 / 1.15)}html.big .top{gap:10px}html.big .top .crumb-sys,html.big .top .uinfo,html.big .rw .mid .mh .mh-src{display:none}.rw .ev .ef .row{flex-wrap:wrap}.top.tight .uinfo,.top.tight2 .crumb-sys{display:none}.app{display:flex;height:calc(100vh / var(--z));min-width:calc(1280px / var(--z));overflow:hidden}.side{width:calc(220px / var(--z));background:#0f172a;color:#cbd5e1;display:flex;flex-direction:column;flex:none;transition:width .2s;overflow:hidden}.side.collapsed{width:calc(64px / var(--z))}.side .logo{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid #1e293b;min-height:64px}.side .logo .lg{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#2563eb,#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex:none}.side .logo-text b{display:block;color:#fff;font-size:14px}.side .logo-text span{font-size:10.5px;color:#64748b}.side .nav{flex:1;overflow-y:auto;padding:10px 0}.side .grp{font-size:10.5px;color:#475569;padding:12px 24px 4px;letter-spacing:1px}.side .ni{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:2px 10px;border-radius:8px;font-size:13.5px;color:#cbd5e1;cursor:pointer;white-space:nowrap}.side .ni:hover{background:#1e293b}.side .ni.active{background:#2563eb;color:#fff}.side .ni svg{flex:none}.side .ni .lb{flex:1;overflow:hidden}.side .ni .bd{background:#ef4444;color:#fff;font-size:10.5px;border-radius:9px;padding:1px 7px}.side .foot{padding:12px 18px;border-top:1px solid #1e293b;cursor:pointer;font-size:12px;color:#64748b;white-space:nowrap}.side.collapsed .lb,.side.collapsed .bd,.side.collapsed .logo-text,.side.collapsed .grp{display:none}.main{flex:1;display:flex;flex-direction:column;min-width:0}.top{height:64px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:14px;padding:0 24px;flex:none}.top .crumb{font-size:12px;color:#94a3b8;white-space:nowrap}.top>*{flex:none}.top .appsel{flex:0 1 300px;min-width:160px}.top .fsw div{padding:4px 9px;line-height:18px;font-weight:600}.top .toplink{font-size:13px;color:#2563eb;cursor:pointer;white-space:nowrap}.top .toplink:hover{text-decoration:underline}.top .crumb b{color:#0f172a;font-weight:600;font-size:15px}.content{flex:1;overflow-y:auto;padding:18px 24px 28px}.content.flush{padding:0;overflow:hidden}.role-sw{display:flex;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.role-sw div{padding:6px 12px;font-size:12px;cursor:pointer;color:#475569;border-right:1px solid #e2e8f0;white-space:nowrap}.role-sw div:last-child{border-right:0}.role-sw div.on{background:#2563eb;color:#fff}.avatar{width:34px;height:34px;border-radius:50%;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px}.bell{position:relative;width:34px;height:34px;border-radius:8px;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff}.bell:hover{background:#f8fafc}.bell .n{position:absolute;top:-6px;right:-6px;background:#ef4444;color:#fff;font-size:10px;border-radius:9px;padding:1px 5px;min-width:16px;text-align:center}.sysst{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#64748b}.sysst i{width:8px;height:8px;border-radius:50%;background:#10b981;display:inline-block;animation:blink 2s infinite}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px}.card h3{margin:0 0 12px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px}.card h3 .sub{font-weight:400;color:#94a3b8;font-size:11.5px;margin-left:auto}.btn{border:1px solid #e2e8f0;background:#fff;color:#0f172a;border-radius:8px;padding:7px 14px;font-size:12.5px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover{background:#f8fafc}.btn.pri{background:#2563eb;border-color:#2563eb;color:#fff}.btn.pri:hover{background:var(--ac2,#1d4ed8)}.btn.dan{background:#ef4444;border-color:#ef4444;color:#fff}.btn.ok{background:#10b981;border-color:#10b981;color:#fff}.btn.warn{background:#f59e0b;border-color:#f59e0b;color:#fff}.btn.dark{background:#0f172a;border-color:#0f172a;color:#fff}.btn.sm{padding:4px 10px;font-size:11.5px;border-radius:6px}.btn.xs{padding:2px 8px;font-size:11px;border-radius:5px}.btn:disabled{opacity:.45;cursor:not-allowed}.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;border-radius:6px;padding:2px 8px;white-space:nowrap;line-height:1.5}.t-blue{background:#dbeafe;color:var(--ac2,#1d4ed8)}.t-green{background:#d1fae5;color:#047857}.t-red{background:#fee2e2;color:#b91c1c}.t-amber{background:#fef3c7;color:#92400e}.t-purple{background:#ede9fe;color:#6d28d9}.t-gray{background:#f1f5f9;color:#475569}.t-teal{background:#ccfbf1;color:#0f766e}.t-dark{background:#0f172a;color:#fff}.t-out{border:1px dashed #f59e0b;background:#fffbeb;color:#92400e}.muted{color:#94a3b8}.small{font-size:11.5px}.mono{font-family:SF Mono,Menlo,Consolas,monospace;font-size:11.5px}.row{display:flex;align-items:center;gap:8px}.grid{display:grid;gap:14px}.kpi{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;position:relative;overflow:hidden}.kpi .v{font-size:24px;font-weight:600;line-height:1.1;margin-top:6px}.kpi .l{font-size:12px;color:#64748b}.kpi .d{font-size:11px;color:#94a3b8;margin-top:6px}.kpi .ic{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}.tabs{display:flex;gap:4px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:4px;width:max-content;margin-bottom:16px}.tabs div{padding:7px 18px;border-radius:7px;font-size:13px;cursor:pointer;color:#475569;display:flex;align-items:center;gap:6px}.tabs div.on{background:#0f172a;color:#fff}.chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.chip{padding:4px 11px;border-radius:14px;border:1px solid #e2e8f0;background:#fff;font-size:12px;cursor:pointer;color:#475569}.chip:hover{border-color:#93c5fd;color:var(--ac2,#1d4ed8)}.chip.on{background:#0f172a;color:#fff;border-color:#0f172a}table.tb{width:100%;border-collapse:collapse;font-size:12.5px}table.tb th{text-align:left;background:#f8fafc;color:#475569;font-weight:600;padding:8px 10px;border-bottom:1px solid #e2e8f0;white-space:nowrap}table.tb td{padding:8px 10px;border-bottom:1px solid #f1f5f9;vertical-align:top}table.tb tr:hover td{background:#f8fafc}.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.fld label{font-size:11.5px;color:#64748b}.fld input,.fld select,.fld textarea{border:1px solid #e2e8f0;border-radius:8px;padding:7px 10px;background:#fff;width:100%}.fld textarea{resize:vertical;min-height:60px}.fld input[type=checkbox],.fld input[type=radio]{width:auto;flex:none;padding:0}.prog{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.prog i{display:block;height:100%;background:#2563eb;border-radius:3px;transition:width .4s}.prog.ok i{background:#10b981}.empty{text-align:center;color:#94a3b8;padding:40px 0;font-size:12.5px}.sw{width:34px;height:18px;border-radius:9px;background:#cbd5e1;position:relative;cursor:pointer;display:inline-block;vertical-align:middle;transition:background .15s}.sw i{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}.sw.on{background:#2563eb}.sw.on i{left:18px}.spin{width:12px;height:12px;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .15s}.modal{background:#fff;border-radius:14px;width:640px;max-width:calc(94vw / var(--z));max-height:calc(90vh / var(--z));display:flex;flex-direction:column;box-shadow:0 24px 60px #00000040}.modal .mh{padding:14px 18px;border-bottom:1px solid #e2e8f0;font-weight:600;font-size:14px;display:flex;align-items:center}.modal .mh .x{margin-left:auto;cursor:pointer;color:#94a3b8;font-size:18px;line-height:1}.modal .mb{padding:16px 18px;overflow-y:auto}.modal .mf{padding:12px 18px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:8px}.drawer{position:fixed;top:0;right:0;bottom:0;width:420px;background:#fff;box-shadow:-10px 0 40px #00000026;z-index:90;display:flex;flex-direction:column;animation:fadeIn .15s}.drawer .dh{padding:14px 18px;border-bottom:1px solid #e2e8f0;font-weight:600;display:flex;align-items:center}.drawer .dh .x{margin-left:auto;cursor:pointer;color:#94a3b8;font-size:18px}.drawer .db{padding:14px 18px;overflow-y:auto;flex:1}#toast-root{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:#0f172a;color:#fff;padding:9px 16px;border-radius:8px;font-size:12.5px;box-shadow:0 8px 24px #0003;animation:fadeIn .2s;display:flex;gap:8px;align-items:center}.toast.ok{background:#059669}.toast.err{background:#dc2626}.toast.warn{background:#d97706}.appcard{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .15s;position:relative;animation:fadeIn .25s}.appcard:hover{border-color:#93c5fd;box-shadow:0 6px 18px #2563eb14;transform:translateY(-1px)}.appcard .ic{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;margin-bottom:10px}.appcard .nm{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:6px}.appcard .ds{font-size:11.5px;color:#64748b;margin-top:4px;line-height:1.5;min-height:34px}.appcard .ft{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.appcard.locked{opacity:.55;cursor:not-allowed}.appcard .pr{position:absolute;right:12px;top:12px}.newtag{display:inline-block;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;font-size:10.5px;font-weight:700;line-height:14px;padding:1px 6px;border-radius:8px;letter-spacing:.5px}.chatwrap{display:flex;height:100%;background:#fff}.convs{width:230px;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;flex:none;background:#f8fafc}.convs .ch{padding:12px 12px 8px;border-bottom:1px solid #e2e8f0}.convs .cl{flex:1;overflow-y:auto;padding:8px}.convs .ci{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:12.5px;margin-bottom:2px}.convs .ci:hover{background:#eef2f7}.convs .ci.on{background:#dbeafe;color:var(--ac2,#1d4ed8)}.convs .ci .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.convs .ci .s{font-size:10.5px;color:#94a3b8;margin-top:2px;display:flex;gap:6px}.appsel{border:1px solid #e2e8f0;border-radius:8px;padding:6px 8px;background:#fff;width:100%;font-size:12.5px}.chat{flex:1;display:flex;flex-direction:column;min-width:440px}.chat .hd{height:52px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:10px;padding:0 16px;flex:none}.chat .hd .nm{font-weight:600;font-size:14px;white-space:nowrap}.chat .hd .tag,.chat .hd .btn{flex:none}.chat .msgs{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:16px;background:#fafbfc}.chat .ipt{border-top:1px solid #e2e8f0;padding:10px 16px 12px;flex:none;background:#fff}.chat .ipt .box{border:1px solid #e2e8f0;border-radius:12px;padding:8px 10px;background:#fff;transition:border .15s}.chat .ipt .box:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.chat .ipt textarea{width:100%;border:0;outline:0;resize:none;min-height:44px;max-height:120px;font-size:13px;line-height:1.6}.chat .ipt .tools{display:flex;align-items:center;gap:8px;margin-top:6px}.chat .ipt .tools .sp{flex:1}.ck{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.ck input{margin:0}.msg{display:flex;gap:10px;animation:fadeIn .2s;max-width:100%}.msg.user{flex-direction:row-reverse}.msg .av{width:30px;height:30px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.msg.user .av{background:#2563eb}.msg.ai .av{background:linear-gradient(135deg,#7c3aed,#2563eb)}.msg .bd{max-width:82%;min-width:0}.msg.user .bd{background:#2563eb;color:#fff;padding:9px 13px;border-radius:12px 2px 12px 12px;font-size:13px;line-height:1.6;white-space:pre-wrap}.msg.ai .bd{background:#fff;border:1px solid #e2e8f0;padding:11px 14px;border-radius:2px 12px 12px;font-size:13px;line-height:1.7;max-width:92%}.msg .meta{font-size:10.5px;color:#94a3b8;margin-top:4px;display:flex;gap:8px;align-items:center}.msg.user .meta{justify-content:flex-end}.cursor{display:inline-block;width:7px;height:14px;background:#2563eb;vertical-align:-2px;animation:blink 1s infinite;margin-left:2px}.think{border:1px solid #e9d5ff;background:#faf5ff;border-radius:8px;margin-bottom:10px;font-size:12px}.think summary{padding:7px 10px;cursor:pointer;color:#6d28d9;font-weight:600;list-style:none;display:flex;align-items:center;gap:6px}.think summary::-webkit-details-marker{display:none}.think .tb{padding:2px 10px 8px;color:#4c1d95}.think .st{display:flex;gap:8px;padding:4px 0;align-items:flex-start}.think .st .ic{width:16px;flex:none;text-align:center}.toolcall{border:1px solid #bae6fd;background:#f0f9ff;border-radius:8px;padding:8px 10px;margin:6px 0;font-size:12px}.toolcall .tn{font-weight:600;color:#0369a1;display:flex;align-items:center;gap:6px}.toolcall .ta{font-family:Menlo,Consolas,monospace;font-size:11px;color:#475569;background:#fff;border-radius:6px;padding:4px 8px;margin:5px 0;border:1px solid #e0f2fe;white-space:pre-wrap}.toolcall .tr{color:#334155}.cite{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:4px;background:#dbeafe;color:var(--ac2,#1d4ed8);font-size:10px;font-weight:600;padding:0 4px;cursor:pointer;vertical-align:2px;margin:0 1px}.cites{margin-top:10px;padding-top:8px;border-top:1px dashed #e2e8f0;display:flex;flex-wrap:wrap;gap:6px}.cites div{border:1px solid #e2e8f0;border-radius:6px;padding:3px 8px;font-size:11px;color:#475569;cursor:pointer;display:flex;gap:5px;align-items:center;background:#fff}.cites div:hover{border-color:#93c5fd;color:var(--ac2,#1d4ed8)}.fb{display:flex;gap:6px;margin-top:8px;align-items:center}.fb button{border:1px solid #e2e8f0;background:#fff;border-radius:6px;padding:2px 8px;font-size:11px;color:#64748b}.fb button.on{background:#dbeafe;color:var(--ac2,#1d4ed8);border-color:#93c5fd}.fb button.on.bad{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}.formcard{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;background:#fff;margin-top:6px}.formcard h4{margin:0 0 10px;font-size:13px;display:flex;align-items:center;gap:8px}.formcard .fg{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.dims{display:flex;flex-wrap:wrap;gap:6px}.dim{border:1px solid #e2e8f0;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px;background:#fff;-webkit-user-select:none;user-select:none}.dim.on{border-color:#2563eb;background:#eff6ff;color:var(--ac2,#1d4ed8)}.dim .c{font-size:10.5px;color:#94a3b8}.taskcard{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;background:#fff;margin-top:6px}.stage{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px}.stage .ic{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;flex:none;background:#e2e8f0;color:#64748b}.stage.ok .ic{background:#10b981;color:#fff}.stage.run .ic{background:#2563eb;color:#fff;animation:pulse 1.2s infinite}.stage.fail .ic{background:#ef4444;color:#fff}.outlist{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.outlist div{border:1px solid #e2e8f0;border-radius:8px;padding:6px 9px;font-size:11.5px;display:flex;align-items:center;gap:6px;background:#f8fafc}.outlist div.ok{border-color:#a7f3d0;background:#ecfdf5}.filecard{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:10px;font-size:12px;background:#fff;margin-top:6px}.filecard .fi{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;flex:none}.filecard .prog{flex:1}.mapcard table td select{border:1px solid #e2e8f0;border-radius:6px;padding:3px 6px}.suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.suggest div{border:1px dashed #93c5fd;color:var(--ac2,#1d4ed8);border-radius:14px;padding:3px 10px;font-size:11.5px;cursor:pointer;background:#fff}.suggest div:hover{background:#eff6ff}.upzone{border:2px dashed #cbd5e1;border-radius:10px;padding:18px;text-align:center;color:#64748b;font-size:12.5px;cursor:pointer;background:#f8fafc;transition:all .15s}.upzone:hover,.upzone.over{border-color:#2563eb;background:#eff6ff;color:var(--ac2,#1d4ed8)}.outp{width:50%;min-width:520px;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;background:#f8fafc;flex:none}.outp.collapsed{width:44px;min-width:44px}.outp .oh{height:52px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;flex:none}.outp .oh .ttl{font-weight:600;font-size:13px}.otabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid #e2e8f0;background:#fff;padding:6px 10px 0;flex:none}.otabs div{padding:7px 12px;font-size:12px;border-radius:8px 8px 0 0;cursor:pointer;color:#64748b;white-space:nowrap;display:flex;align-items:center;gap:5px;border:1px solid transparent;border-bottom:0}.otabs div.on{background:#f8fafc;color:#0f172a;border-color:#e2e8f0;font-weight:600}.otabs div .st{width:7px;height:7px;border-radius:50%;background:#cbd5e1}.otabs div .st.ok{background:#10b981}.otabs div .st.run{background:#2563eb;animation:blink 1s infinite}.otabs div.grp{color:#94a3b8;font-size:10.5px;padding:7px 4px 7px 8px;cursor:default;border:0}.obar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid #e2e8f0;background:#fff;flex:none;font-size:12px;flex-wrap:wrap}.obar .sp{flex:1}.obody{flex:1;overflow:auto;padding:0}.doc{background:#fff;margin:14px;padding:28px 34px;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #00000008;font-size:13px;line-height:1.85;position:relative;min-height:400px}.doc h1{font-size:19px;text-align:center;margin:0 0 16px}.doc h2{font-size:15px;margin:18px 0 8px;border-left:3px solid #2563eb;padding-left:8px}.doc h3{font-size:13.5px;margin:12px 0 6px}.doc p{margin:6px 0;text-indent:0}.doc ul,.doc ol{margin:6px 0;padding-left:22px}.doc table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}.doc table th,.doc table td{border:1px solid #e2e8f0;padding:5px 8px;text-align:left}.doc table th{background:#f8fafc}.doc blockquote{border-left:3px solid #cbd5e1;margin:8px 0;padding:4px 10px;color:#475569;background:#f8fafc}.doc pre{background:#0f172a;color:#e2e8f0;padding:10px 12px;border-radius:8px;font-size:11.5px;overflow:auto}.doc code{background:#f1f5f9;padding:1px 4px;border-radius:4px;font-family:Menlo,Consolas,monospace;font-size:11.5px}.doc pre code{background:none;padding:0;color:inherit}.doc .chg{background:#fef9c3;border-left:3px solid #f59e0b;padding-left:6px;animation:flash 2s}.doc .chart{margin:10px 0;border:1px solid #f1f5f9;border-radius:8px;padding:8px;background:#fff}.doc .wm{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;opacity:.045;font-size:16px;color:#0f172a;font-weight:700;line-height:150px;transform:rotate(-20deg);white-space:nowrap;letter-spacing:1px}.doc .docmeta{font-size:11px;color:#94a3b8;border-bottom:1px solid #f1f5f9;padding-bottom:8px;margin-bottom:12px;display:flex;gap:12px;flex-wrap:wrap}.selpop{position:absolute;background:#0f172a;color:#fff;border-radius:8px;padding:6px 8px;font-size:12px;z-index:20;display:flex;gap:6px;align-items:center;box-shadow:0 8px 24px #00000040}.selpop input{border:0;border-radius:6px;padding:4px 8px;width:220px;font-size:12px}.sheettabs{display:flex;gap:4px;padding:10px 14px 0}.sheettabs div{padding:5px 12px;border:1px solid #e2e8f0;border-bottom:0;border-radius:8px 8px 0 0;font-size:12px;cursor:pointer;background:#f1f5f9;color:#64748b}.sheettabs div.on{background:#fff;color:#0f172a;font-weight:600}.sheet{background:#fff;margin:0 14px 14px;border:1px solid #e2e8f0;border-radius:0 10px 10px;overflow:auto}.sheet table{border-collapse:collapse;font-size:12px;min-width:100%}.sheet th{background:#f8fafc;position:sticky;top:0;padding:7px 10px;border-bottom:1px solid #e2e8f0;border-right:1px solid #f1f5f9;text-align:left;white-space:nowrap;cursor:pointer}.sheet th:hover{background:#eff6ff;color:var(--ac2,#1d4ed8)}.sheet td{padding:6px 10px;border-bottom:1px solid #f1f5f9;border-right:1px solid #f8fafc;white-space:nowrap}.sheet td.chg,.sheet th.chg{background:#fef9c3}.sheet td.warn{color:#b91c1c;background:#fef2f2}.pager{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:11.5px;color:#64748b;border-top:1px solid #f1f5f9;background:#fafafa}.vlist .vi{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:12px;display:flex;gap:10px;align-items:center;cursor:pointer}.vlist .vi:hover{border-color:#93c5fd}.vlist .vi.on{border-color:#2563eb;background:#eff6ff}.diff{font-family:Menlo,Consolas,monospace;font-size:11.5px;line-height:1.6;background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:420px;overflow:auto}.diff div{padding:1px 10px;white-space:pre-wrap}.diff .add{background:#dcfce7;color:#166534}.diff .del{background:#fee2e2;color:#991b1b;text-decoration:line-through}.diff .same{color:#64748b}.fmt{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;display:flex;gap:10px;align-items:center;cursor:pointer;margin-bottom:8px}.fmt.on{border-color:#2563eb;background:#eff6ff}.fmt.dis{opacity:.45;cursor:not-allowed}.fmt .fi{width:34px;height:34px;border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex:none}.notice{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:8px;padding:8px 10px;font-size:12px;margin-bottom:10px}.notice.blue{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.notice.red{background:#fef2f2;border-color:#fecaca;color:#991b1b}.guidebtn{position:fixed;right:20px;bottom:20px;z-index:60;background:#0f172a;color:#fff;border-radius:24px;padding:10px 16px;font-size:12.5px;display:flex;align-items:center;gap:8px;box-shadow:0 10px 30px #0000004d;cursor:pointer;border:0}.guide .sc{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;margin-bottom:8px}.guide .sc h4{margin:0 0 6px;font-size:13px;display:flex;align-items:center;gap:8px}.guide .sc p{margin:0 0 6px;font-size:11.5px;color:#64748b;line-height:1.5}.guide .sc .steps{display:flex;flex-direction:column;gap:4px}.guide .sc .steps div{display:flex;gap:6px;align-items:center;font-size:11.5px}.guide .sc .steps span{flex:1;color:#334155}.pipe{display:flex;gap:6px;align-items:flex-start}.pcol{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.ph{font-size:12.5px;font-weight:600;color:#0f172a;padding:6px 10px;background:#e2e8f0;border-radius:8px}.parr{width:18px;flex:none;text-align:center;color:#94a3b8;font-size:22px;padding-top:120px}.dn{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;font-size:12.5px;animation:fadeIn .2s;transition:all .15s}.dn.focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.dn.own{border-left:3px solid var(--ac,#0f766e)}.dn.st-reported{background:#f0fdf4}.dn.st-running{background:#eff6ff}.dn[onclick]{cursor:pointer}.list-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 16px;display:flex;gap:14px;align-items:center;margin-bottom:8px;animation:fadeIn .2s}.list-item:hover{border-color:#93c5fd}.list-item .ic{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex:none}.list-item .t{font-weight:600;font-size:13px}.list-item .s{font-size:11.5px;color:#64748b;margin-top:3px;display:flex;gap:10px;flex-wrap:wrap}.list-item .r{margin-left:auto;display:flex;gap:6px;align-items:center;flex:none}.notif{border-left:3px solid #2563eb;background:#fff;border-radius:8px;padding:10px 14px;margin-bottom:8px;display:flex;gap:12px;align-items:center;cursor:pointer;border:1px solid #e2e8f0;border-left-width:3px}.notif.read{border-left-color:#cbd5e1;opacity:.75}.notif:not(.read),.notif:not(.read) *{color:#0f172a;font-weight:600}.matrix td{text-align:center}.matrix td.on{background:#ecfdf5}.perm{width:18px;height:18px;border-radius:4px;border:1px solid #cbd5e1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;background:#fff}.perm.on{background:#2563eb;border-color:#2563eb;color:#fff}.bar{display:flex;align-items:flex-end;gap:4px;height:60px}.bar i{flex:1;background:#93c5fd;border-radius:3px 3px 0 0;min-width:6px}.bar i.hi{background:#2563eb}.kb-doc{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:12px}.side .logo .lg{background:linear-gradient(135deg,#0f766e,#2563eb)}.pkg{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;cursor:pointer;transition:all .15s;animation:fadeIn .2s}.pkg:hover{border-color:#93c5fd;box-shadow:0 6px 18px #2563eb14}.pkg .t{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pkg .files{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0}.pkg .stat{display:flex;gap:10px;font-size:11.5px;color:#475569;margin-top:6px}.pkg .stat b{font-size:14px}.ftag{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;border:1px solid #e2e8f0;border-radius:5px;padding:1px 6px;background:#f8fafc;color:#334155;font-family:Menlo,Consolas,monospace}.ftag.miss{border-style:dashed;color:#b91c1c;background:#fef2f2}.chipx{display:inline-flex;align-items:center;gap:2px;font-size:12px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:14px;padding:2px 4px 2px 10px}.chipx i{font-style:normal;cursor:pointer;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#64748b}.chipx i:hover{background:#dbeafe;color:#b91c1c}.btn.addx{border-style:dashed;border-radius:14px;padding:2px 12px;font-size:13px}.rupick{flex-basis:100%;border:1px solid #e2e8f0;border-radius:8px;padding:8px;background:#f8fafc}.rupick-list{max-height:200px;overflow-y:auto;margin-top:6px}.rupick-list>.it{padding:5px 8px;border-radius:6px;cursor:pointer;font-size:12px}.rupick-list>.it:hover{background:#eff6ff}.pkg .files .ftag{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pkg.compact{padding:10px 14px}.pkg.compact .t{font-size:13px;flex-wrap:nowrap}.pkg.compact .t .ttl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.pkg.compact .stat{gap:8px}.pkg.compact .stat b{font-size:12.5px}.home-row{display:grid;grid-template-columns:2fr 3fr;gap:14px;margin-top:14px}.home-row.single{grid-template-columns:1fr}@media(max-width:1100px){.home-row{grid-template-columns:1fr}}.ftag.more{background:#eff6ff;border-color:#bfdbfe;color:var(--ac2,#1d4ed8);font-family:inherit}.fno{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager.flat{border-top:none;background:none;padding:8px 0 0;justify-content:flex-end;flex-wrap:wrap;gap:4px}.pager .pn{min-width:24px;justify-content:center}.pager .pn.on{background:#2563eb;border-color:#2563eb;color:#fff}.scroll-list{max-height:300px;overflow-y:auto}.round{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;border-radius:10px;padding:1px 8px;background:#eef2ff;color:#4338ca;white-space:nowrap}.rtb{width:100%;border-collapse:collapse;font-size:11.5px;margin-top:6px}.rtb th{background:#f8fafc;color:#64748b;font-weight:500;text-align:left;padding:5px 6px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.rtb td{padding:5px 6px;border-bottom:1px solid #f1f5f9;vertical-align:top}.rtb tr.cur td{background:#f5f3ff}.st-parsed{background:#e2e8f0;color:#334155}.st-gate{background:#fef3c7;color:#92400e}.st-running{background:#dbeafe;color:var(--ac2,#1d4ed8)}.st-review{background:#ede9fe;color:#6d28d9}.st-reviewing{background:#ccfbf1;color:#0f766e}.st-signed{background:#d1fae5;color:#047857}.z1{background:#fee2e2;color:#b91c1c}.z2{background:#fef3c7;color:#92400e}.z4{background:#dbeafe;color:#1d4ed8}.z3{background:#e2e8f0;color:#475569}.z0{background:#d1fae5;color:#047857}.v-confirm{background:#fee2e2;color:#b91c1c}.v-false{background:#e2e8f0;color:#475569}.v-manual{background:#fef3c7;color:#92400e}.v-fixed{background:#d1fae5;color:#047857}.v-pending{background:#eff6ff;color:var(--ac2,#1d4ed8)}.fi{padding:8px 10px;border-radius:8px;cursor:pointer;margin-bottom:3px;border:1px solid transparent;background:#fff;font-size:12px}.fi:hover{border-color:#cbd5e1}.fi.on{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 2px #2563eb1a}.fi .r{display:flex;gap:6px;align-items:center}.fi .nm{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fi .d{color:#64748b;font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snaps{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px}.snap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.snap .sh{padding:7px 10px;border-bottom:1px solid #e2e8f0;font-size:11.5px;display:flex;align-items:center;gap:6px;background:#f8fafc}.snap .sh b{font-family:Menlo,Consolas,monospace}.snap .sb{background:#0b0f14;position:relative;min-height:220px}.snap .sb svg{display:block;width:100%;height:auto}.snap .sf{padding:6px 10px;font-size:11px;color:#64748b;display:flex;gap:10px;border-top:1px solid #f1f5f9;flex-wrap:wrap}.snap .ann{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair}.snap .sb.tbl{background:#fff;padding:10px;min-height:120px}.tsnap{border-collapse:collapse;font-size:11.5px;width:100%;font-family:Menlo,Consolas,monospace}.tsnap th{background:#f1f5f9;padding:4px 8px;border:1px solid #e2e8f0;font-weight:600}.tsnap td{padding:4px 8px;border:1px solid #e2e8f0}.tsnap tr.hl td{background:#fef9c3}.tsnap td.hl{background:#fecaca;font-weight:700;outline:2px solid #ef4444}.tsnap.pdf{font-family:SimSun,serif}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:12px;margin:6px 0}.kv span:nth-child(odd){color:#64748b;white-space:nowrap}.num{font-family:Menlo,Consolas,monospace;font-size:12px}.num.bad{color:#b91c1c;font-weight:700}.num.ok{color:#047857}.vbtns{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.vbtns button{border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:8px;font-size:12.5px;font-weight:600}.vbtns button.on{outline:2px solid #2563eb}.vbtns .b1{color:#b91c1c}.vbtns .b2{color:#475569}.vbtns .b3{color:#92400e}.vbtns .b4{color:#047857}.steps{font-size:11.5px;color:#475569}.steps div{padding:3px 0 3px 14px;position:relative}.steps div:before{content:"";position:absolute;left:3px;top:9px;width:5px;height:5px;border-radius:50%;background:#94a3b8}.prog-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:#e2e8f0}.prog-bar i{display:block;height:100%}.lay{display:flex;align-items:center;gap:6px;padding:4px 0}.lay i{width:12px;height:12px;border-radius:3px;display:inline-block}.el-item{padding:4px 6px;border-radius:6px;cursor:pointer;font-family:Menlo,Consolas,monospace;font-size:11px}.el-item:hover{background:#eff6ff;color:var(--ac2,#1d4ed8)}.skill{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;margin-bottom:8px;display:flex;gap:10px;align-items:flex-start;background:#fff}.skill.off{opacity:.55}.skill .sk{flex:1}.skill .sk b{font-size:13px}.skill .sk .rule{font-size:11.5px;color:#475569;margin-top:3px;line-height:1.5}.skill .tol{display:flex;align-items:center;gap:6px;font-size:11.5px}.skill .skn{flex:none;width:20px;height:20px;border-radius:50%;background:#f1f5f9;color:#475569;font-size:11px;display:flex;align-items:center;justify-content:center;margin-top:1px}.skill .tol input{width:60px;border:1px solid #e2e8f0;border-radius:6px;padding:3px 6px;text-align:right}.sklib{display:grid;grid-template-columns:3fr 2fr;gap:0 20px}.sklib .skcol{min-width:0}.sklib .skcol+.skcol{border-left:1px solid #f1f5f9;padding-left:20px}.sklib .skh{font-size:12px;font-weight:600;color:#475569;margin-bottom:8px;display:flex;align-items:center;gap:6px}.sklib .skh .muted{font-weight:400}.sklib .sksum{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.sklib .skgrp{font-size:11px;color:#94a3b8;margin:8px 0 5px}.sknew-list{display:flex;flex-direction:column}.sknew-list .it{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:12.5px;cursor:pointer}.sknew-list .it:last-child{border-bottom:0}.sknew-list .it:hover{background:#f8fafc}.sknew-list .it .id{flex:none;width:44px;color:var(--ac2,#1d4ed8);font-weight:600}.sknew-list .it .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sknew-list .it .ts{flex:none;color:#94a3b8;font-size:11.5px;font-variant-numeric:tabular-nums}.sknew{flex:none;display:inline-flex;align-items:center;font-size:9.5px;font-weight:700;line-height:1;letter-spacing:.5px;padding:3px 5px;border-radius:4px;background:#ef4444;color:#fff}@media(max-width:1100px){.sklib{grid-template-columns:1fr}.sklib .skcol+.skcol{border-left:0;padding-left:0;margin-top:14px;border-top:1px solid #f1f5f9;padding-top:12px}}.upl-file{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:6px;background:#fff;font-size:12px}.upl-file select{border:1px solid #e2e8f0;border-radius:6px;padding:3px 6px;font-size:11.5px}.rpt{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:26px 34px;font-size:13px;line-height:1.85;position:relative}.rpt h1{font-size:19px;text-align:center;margin:0 0 14px}.rpt h2{font-size:15px;margin:16px 0 8px;border-left:3px solid var(--ac,#0f766e);padding-left:8px}.rpt h3{font-size:13.5px;margin:10px 0 6px}.rpt table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}.rpt th,.rpt td{border:1px solid #e2e8f0;padding:5px 8px;text-align:left;vertical-align:top}.rpt th{background:#f8fafc}.rpt p{margin:6px 0}.rpt ul,.rpt ol{margin:6px 0;padding-left:22px}.rpt blockquote{border-left:3px solid #cbd5e1;margin:8px 0;padding:4px 10px;color:#475569;background:#f8fafc}.rpt .wm{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;opacity:.045;font-size:16px;font-weight:700;line-height:150px;transform:rotate(-20deg);white-space:nowrap}.rpt .chart{margin:10px 0;border:1px solid #f1f5f9;border-radius:8px;padding:8px}.rpt pre{background:#0f172a;color:#e2e8f0;padding:10px 12px;border-radius:8px;font-size:11.5px;overflow:auto}.rpt code{background:#f1f5f9;padding:1px 4px;border-radius:4px;font-family:Menlo,Consolas,monospace;font-size:11.5px}.qa-src{border:1px solid #e2e8f0;border-radius:6px;padding:3px 8px;font-size:11px;color:#475569;cursor:pointer;display:inline-flex;gap:5px;align-items:center;background:#fff;margin:2px 4px 2px 0}.qa-src:hover{border-color:#93c5fd;color:var(--ac2,#1d4ed8)}.md-edit{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gold-res td.bad{color:#b91c1c;font-weight:600}.rv{max-width:1180px;margin:0 auto}.rv-bar{position:sticky;top:-18px;z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;margin-bottom:12px;box-shadow:0 4px 12px #0f172a0f}.rv-head{display:grid;grid-template-columns:2.2fr 1fr 1.2fr 2.2fr;border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden;margin-bottom:12px}.rv-cell{padding:10px 14px;border-right:1px solid #f1f5f9;display:flex;flex-direction:column;gap:2px;min-width:0}.rv-cell:last-child{border-right:0}.rv-cell small{color:#94a3b8;font-size:11px}.rv-cell b{font-size:14px}.rv-cell span{font-size:11.5px;color:#64748b}.rv-pills{flex-direction:row;align-items:center;gap:6px}.rv-pill{flex:1;border-radius:8px;padding:6px 4px;text-align:center;font-size:11px;cursor:pointer;display:flex;flex-direction:column}.rv-pill b{font-size:18px;line-height:1.2}.rv-rules{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px}.rv-n1{color:#b91c1c!important;font-weight:700}.rv-n2{color:#92400e!important;font-weight:700}.rv-sec{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 18px;margin-bottom:12px}.rv-sec h2{font-size:14.5px;margin:0 0 8px;display:flex;align-items:center;gap:8px;border-left:3px solid var(--ac,#0f766e);padding-left:8px}.rv-mini{display:inline-flex;gap:4px;margin-left:auto}.rv-rule{font-size:12px;color:#475569;background:#f8fafc;border-radius:8px;padding:8px 10px;margin-bottom:10px;line-height:1.6}.rv-card{border:1px solid #e2e8f0;border-left:4px solid #cbd5e1;border-radius:8px;padding:10px 12px;margin-bottom:10px;transition:box-shadow .3s}.rv-card.z1,.rv-card.z2,.rv-card.z4,.rv-card.z3,.rv-card.z0{background:#fff;color:#0f172a}.rv-alt{font-size:12px;margin:4px 0 2px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.rv-card.z1{border-left-color:#ef4444}.rv-card.z2{border-left-color:#f59e0b}.rv-card.z4{border-left-color:#3b82f6}.rv-card.z3{border-left-color:#94a3b8}.rv-card.z0{border-left-color:#10b981}.rv-card.flash{box-shadow:0 0 0 3px #93c5fd}.rv-ch{display:flex;align-items:flex-start;gap:8px}.rv-tt{flex:1;font-size:13px;font-weight:600;line-height:1.6}.rv-tt .tag{font-weight:400;margin-left:2px}.rv-ev{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:#475569;margin:4px 0 6px}.rv-ev b{color:#0f172a;font-family:Menlo,Consolas,monospace;font-weight:600}.rv-ev b.bad{color:#b91c1c}.rv-snaps{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin:6px 0}.rv-snap{margin:0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;cursor:zoom-in;background:#fff}.rv-snap figcaption{font-size:11px;color:#64748b;padding:4px 8px;border-top:1px solid #f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-sb{background:#0b0f14}.rv-sb svg{display:block;width:100%;height:170px}.rv-tsnap{grid-column:span 2;cursor:default}.rv-tb{padding:6px 8px;max-height:190px;overflow:auto}.rv-steps{font-size:12px;color:#475569;margin:4px 0}.rv-steps summary{cursor:pointer;color:#64748b}.rv-steps ol{margin:4px 0;padding-left:20px}.rv-vd{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px dashed #e2e8f0;padding-top:6px;margin-top:6px}.rv-edit{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;margin-top:6px}.rv-edit .fld{margin-bottom:0}.rv-pass>summary{cursor:pointer;font-size:12px;color:#047857;padding:6px 0}.rv-trk td{font-size:12px}.rv-trk td.mono{white-space:nowrap}.rv-foot{font-size:11.5px;color:#94a3b8;margin-top:10px}.wflow{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.wflow li{position:relative;padding:0 14px 0 0;min-width:0}.wflow li b{position:relative;z-index:1;width:24px;height:24px;display:inline-grid;place-items:center;border:1px solid #2563eb;border-radius:50%;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:600}.wflow li:before{content:"";position:absolute;top:12px;left:24px;right:0;border-top:1px solid #e2e8f0}.wflow li:after{content:"";position:absolute;top:8.5px;right:2px;width:7px;height:7px;border-top:1px solid #64748b;border-right:1px solid #64748b;transform:rotate(45deg)}.wflow li.end:before,.wflow li.end:after{display:none}.wflow li.end b{background:#2563eb;color:#fff}.wflow h4{margin:8px 0 3px;font-size:13.5px;font-weight:600;color:#0f172a}.wflow p{margin:0;font-size:12.5px;line-height:1.55;color:#64748b}.wflow-loop{position:relative;width:calc(100% / 7 * 6 - 104px);margin:12px 0 10px;height:26px;border:1px dashed #64748b;border-top:0;border-radius:0 0 6px 6px}.wflow-loop:before{content:"";position:absolute;left:-4.5px;top:-3px;width:7px;height:7px;border-top:1px solid #64748b;border-left:1px solid #64748b;transform:rotate(45deg)}.wflow-loop span{position:absolute;left:50%;bottom:-9px;transform:translate(-50%);padding:0 10px;background:#fff;font-size:12.5px;color:#64748b;white-space:nowrap}:root{--paper:#f4f7f1;--face:#fff;--ink:#22313a;--ink2:#66767f;--ink3:#93a1a8;--line:#dee6d9;--line2:#ebf0e7;--ac:#4a8a4f;--ac2:#35703b;--acs:#e9f3e5;--grid:rgba(74,138,79,.055);--side:#fbfdf9;--hover:#eef5ea;--soft:#f3f8f0;--th:#f4f8f1;--rowh:#f6faf3;--tint:#f8fbf6;--acs2:#e6f1e2;--nbg:#f0f7ec;--nbd:#cfe3c8;--nfg:#2f5d33;--bdh:#c6d6c0;--lbg:#edf3e8;--dis:#c9d4c5;--pill:#f1f5ee;--scroll:#cdd8c8;--ring:rgba(74,138,79,.12);--ring2:rgba(74,138,79,.35);--grid2:rgba(74,138,79,.028);--lgrid:rgba(74,138,79,.09);--lgrid2:rgba(74,138,79,.04)}body{background:var(--paper);color:var(--ink);font-family:Microsoft YaHei,PingFang SC,Hiragino Sans GB,sans-serif}a{color:var(--ac)}::-webkit-scrollbar-thumb{background:var(--scroll)}.content{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),linear-gradient(var(--grid2) 1px,transparent 1px),linear-gradient(90deg,var(--grid2) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px;background-attachment:local}.side{background:var(--side);color:var(--ink);border-right:1px solid var(--line)}.side .logo{border-bottom:1px solid var(--line);padding:14px}.side .logo .lg{background:var(--ac)!important;border-radius:4px;box-shadow:0 0 0 2px var(--side),0 0 0 3px var(--ac)}.side .logo-text b{color:var(--ink)!important;letter-spacing:.04em}.side .logo-text{border:1px solid var(--ink3);outline:1px solid var(--ink3);outline-offset:2px;padding:3px 8px}.side.collapsed .logo-text{display:none}.side .grp{color:var(--ink3)!important;letter-spacing:.08em;padding:14px 24px 4px}.side .ni{color:#3d4d55;border-radius:6px;position:relative}.side .ni:hover{background:var(--hover)}.side .ni.active{background:var(--acs);color:var(--ac2);font-weight:600}.side .ni.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:var(--ac)}.side .ni .bd{background:#e5484d}.side .foot{border-top:1px solid var(--line);color:var(--ink3)}.top{border-bottom:1px solid var(--line)}.top .crumb{color:var(--ink3)}.top .crumb b{color:var(--ink)}.role-sw{border-color:var(--line);border-radius:6px}.role-sw div{color:var(--ink2);border-color:var(--line)}.role-sw div.on{background:var(--ac)}.bell{border-color:var(--line);border-radius:6px}.card,.kpi{border-color:var(--line);border-radius:8px}.card h3 .sub,.muted{color:var(--ink3)}.kpi .l{color:var(--ink2)}.btn{border-color:var(--line);color:var(--ink);border-radius:6px}.btn:hover{background:var(--soft)}.btn.dan:hover{background:#dc2626;border-color:#dc2626}.btn.pri{background:var(--ac);border-color:var(--ac)}.btn.pri:hover{background:var(--ac2)}.btn.dark{background:var(--ink);border-color:var(--ink)}.tabs{border-color:var(--line);border-radius:8px}.tabs div{color:var(--ink2);border-radius:5px}.tabs div.on{background:var(--acs);color:var(--ac2);font-weight:600;box-shadow:inset 0 -2px 0 var(--ac)}.chip.on{background:var(--ac);border-color:var(--ac)}table.tb th{background:var(--th);color:#4a5a62;border-bottom-color:var(--line)}table.tb td{border-bottom-color:var(--line2);font-variant-numeric:tabular-nums}table.tb tr:hover td{background:var(--rowh)}.fld label{color:var(--ink2)}.fld input,.fld select,.fld textarea{border-color:var(--line);border-radius:6px}.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px var(--ring)}.prog i,.sw.on{background:var(--ac)}.spin{border-top-color:var(--ac)}.t-blue{background:var(--acs2);color:var(--ac2)}.notice.blue{background:var(--nbg);border-color:var(--nbd);color:var(--nfg)}.modal{border-radius:10px}.modal .mh,.modal .mf,.drawer .dh{border-color:var(--line)}.toast{background:var(--ink)}.upzone{border-color:var(--bdh);background:var(--tint)}.upzone:hover,.upzone.over{border-color:var(--ac);background:var(--acs);color:var(--ac2)}.cert.on,.dim.on,.vlist .vi.on,.fmt.on{border-color:var(--ac);background:var(--acs)}.stage.run .ic{background:var(--ac)}.doc h2{border-left-color:var(--ac)}.wflow li b{border-color:var(--ac);background:var(--acs);color:var(--ac)}.wflow li.end b{background:var(--ac)}.login{background-color:var(--lbg);background-image:linear-gradient(var(--lgrid) 1px,transparent 1px),linear-gradient(90deg,var(--lgrid) 1px,transparent 1px),linear-gradient(var(--lgrid2) 1px,transparent 1px),linear-gradient(90deg,var(--lgrid2) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}.login .box{border-radius:10px;box-shadow:0 1px 0 var(--line),0 18px 50px #22313a1f;border:1px solid var(--line)}.login .lft{background:var(--tint);color:var(--ink2);border-right:1px solid var(--line)}.login .lft h1{color:var(--ink)}.login .lft p{color:var(--ink2)}.login .lft b{color:var(--ink)!important}.login .lft .row>div:first-child{background:var(--ac)!important;border-radius:4px!important}.login .lft .feat i{background:var(--ac);border-radius:1px}.cert{border-color:var(--line);border-radius:8px}.cert:hover{border-color:var(--bdh);background:var(--tint)}.cert.on{box-shadow:0 0 0 3px var(--ring)}.login-steps{background:var(--tint);border-color:var(--line)}.login-steps .run{color:var(--ac)}.guidebtn{background:var(--ink)}.round{background:#e9f0f5;color:#35607e}.pager{border-top-color:var(--line2);background:var(--tint);color:var(--ink2)}.pager .pn.on,.perm.on{background:var(--ac);border-color:var(--ac)}.bar i.hi,.otabs div .st.run,.avatar{background:var(--ac)}.side{width:calc(76px / var(--z))!important;align-items:center;padding:14px 0 12px;position:relative;overflow:visible;z-index:30}.rl-logo{width:36px;height:36px;display:block;cursor:pointer;margin-bottom:22px;flex:none}.rl-top,.rl-bot{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.rl-top{flex:1}.rl-it{position:relative;width:60px;padding:8px 0 6px;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:3px;color:#56666e;font-size:11.5px;cursor:pointer}.rl-it:hover{background:var(--hover);color:var(--ink)}.rl-it.on{background:var(--acs);color:var(--ac2);font-weight:600}.rl-bd{position:absolute;top:3px;right:9px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#e5484d;color:#fff;font-size:10px;font-style:normal;line-height:16px;text-align:center}.rl-me{width:32px;height:32px;border-radius:50%;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:8px}.rl-pop{position:absolute;left:68px;bottom:10px;width:248px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #22313a24;padding:12px;z-index:40}.rl-pop .rp-u{padding-bottom:10px;border-bottom:1px solid var(--line2);margin-bottom:6px}.rl-pop .rp-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;font-size:12px;color:var(--ink2)}.rl-pop .role-sw div{padding:4px 10px}.rl-pop .rp-out{margin-top:6px;padding:8px 0 2px;border-top:1px solid var(--line2);color:#b91c1c;font-size:12.5px;cursor:pointer}.top{height:56px;gap:12px}.top .pg-ttl{font-size:15px}.ws-top .tb-back{font-size:22px;line-height:1;color:var(--ink2);cursor:pointer;padding:0 6px 3px 0}.ws-top .ws-ttl{display:flex;flex-direction:column;line-height:1.35;min-width:0}.ws-top .ws-ttl b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.content.start{display:flex}.st-page{width:100%;max-width:880px;margin:0 auto;padding:13vh 24px 40px;display:flex;flex-direction:column;align-items:center}.st-h{margin:0;font-size:32px;font-weight:600;letter-spacing:.06em;color:var(--ink)}.st-sub{margin:10px 0 28px;color:var(--ink2);font-size:14px}.st-box{width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px #22313a0f;transition:border-color .15s,box-shadow .15s}.st-box.over{border-color:var(--ac);box-shadow:0 0 0 4px var(--ring)}.st-drop{min-height:112px;padding:18px 20px 10px;cursor:pointer}.st-ph{height:84px;display:flex;align-items:center;gap:12px;color:var(--ink3);font-size:14px}.st-files{display:flex;flex-wrap:wrap;gap:8px}.st-f{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--tint);border-radius:8px;padding:5px 8px;font-size:12.5px;cursor:default}.st-f b{cursor:pointer;color:var(--ink3);font-weight:400;padding:0 2px}.st-f b:hover{color:#b91c1c}.st-more{align-self:center;color:var(--ac2);font-size:12.5px;padding:5px 4px}.st-bar{display:flex;align-items:center;gap:8px;padding:10px 12px 12px 16px}.st-pill{border:0;background:var(--pill);border-radius:999px;padding:6px 12px;color:var(--ink);max-width:250px;cursor:pointer}.st-name{flex:1;min-width:120px;border:0;background:transparent;padding:6px 8px;color:var(--ink)}.st-name:focus,.st-pill:focus{outline:2px solid var(--ring2);outline-offset:1px}.st-send{width:38px;height:38px;border-radius:50%;border:0;background:var(--ac);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.st-send:disabled{background:var(--dis);cursor:not-allowed}.st-chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:16px}.st-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-size:12.5px;cursor:pointer;color:var(--ink)}.st-chip:hover{border-color:var(--ac);color:var(--ac2)}.st-recent{width:100%;margin-top:9vh;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 16px}.st-rh{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:12.5px;color:var(--ink2);border-bottom:1px solid var(--line2)}.st-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line2);cursor:pointer}.st-row:last-child{border-bottom:0}.st-row:hover b{color:var(--ac2)}.ws{display:grid;grid-template-columns:380px minmax(0,1fr);height:100%}.ws-l{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--side)}.ws-ls{flex:1;overflow-y:auto;padding:14px 14px 10px}.ws-pk{display:flex;flex-direction:column;gap:8px;padding:2px 2px 12px;border-bottom:1px solid var(--line2);margin-bottom:10px}.ws-h{display:flex;align-items:center;gap:8px;padding:2px 2px 8px}.ws-g{font-size:11.5px;color:var(--ink3);margin:10px 2px 6px}.wsk{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer}.wsk:hover{border-color:var(--bdh)}.wsk input{margin-top:3px;accent-color:var(--ac)}.wsk.off{background:transparent}.wsk.off .wsk-t,.wsk.off .wsk-r{color:var(--ink3)}.wsk.lock{cursor:default}.wsk-b{flex:1;min-width:0}.wsk-t{font-size:13px}.wsk-t b{color:var(--ac2);margin-right:2px}.wsk-r{font-size:12px;color:var(--ink2);line-height:1.5;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wsk-m{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:6px}.wsk-m .tag{cursor:pointer}.ws-act{border-top:1px solid var(--line);background:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.ws-go{justify-content:center;padding:9px 14px;font-size:13px}.ws-r{overflow-y:auto;padding:18px 24px 28px;min-width:0}.ws-empty{max-width:560px;margin:14vh auto 0;text-align:center}.ws-empty h3{font-size:18px;margin:0 0 10px;color:var(--ink)}.ws-empty p{line-height:1.8;font-size:13px}.ws-stages{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0}.ws.fold{grid-template-columns:52px minmax(0,1fr)}.ws-rail{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 0;border-right:1px solid var(--line);background:var(--side);cursor:pointer;color:var(--ink2)}.ws-rail:hover{background:var(--soft);color:var(--ac2)}.ws-rail .ar{font-size:16px;line-height:1}.ws-rail .vt{writing-mode:vertical-rl;letter-spacing:2px;font-size:12.5px}.ws-rail .vt b{color:var(--ac2)}.ws-fold-btn{font-size:12px;color:var(--ink3);cursor:pointer;padding:0 2px}.ws-fold-btn:hover{color:var(--ac2)}.rv-todo{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;background:var(--tint);border:1px solid var(--line);border-radius:10px;padding:9px 14px;margin:-4px 0 12px;font-size:12.5px;color:var(--ink2)}.rv-todo>b{color:var(--ink)}.rv-todo a{cursor:pointer;text-decoration:none;border-bottom:1px dashed currentColor}.rv-todo .z1{color:#b91c1c}.rv-todo .z2{color:#b45309}.rv-todo .z4{color:#1d4ed8}.rv-todo .z3{color:#475569}.rv-todo .tip{flex-basis:100%;font-size:12px;color:var(--ink3)}.rv-trk tr.fx{display:none}.rv-trk.show-fx tr.fx{display:table-row}.rv-trk tr.fx-sum td{background:var(--tint);color:var(--ink2);font-size:12px;cursor:pointer}.rv-trk tr.fx-sum td:hover{color:var(--ac2)}.rv-sec.allpass h2{margin:0}.rv-sec.allpass details{margin-top:8px}.rv-sec.allpass summary{font-size:12.5px;color:var(--ac2);cursor:pointer}.sk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sk-c{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px}.sk-rule{font-size:12.5px;line-height:1.6;margin:8px 0 4px}.sys{display:grid;grid-template-columns:176px minmax(0,1fr);gap:18px;align-items:start}.sys-nav{position:sticky;top:0;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px}.sys-nav div{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-size:13px;color:#3d4d55;cursor:pointer}.sys-nav div:hover{background:var(--soft)}.sys-nav div.on{background:var(--acs);color:var(--ac2);font-weight:600}.sys-b{min-width:0}.ws-r .rv-bar{flex-wrap:nowrap;top:-18px}.ws-r .rv-bar>span.small:first-child{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-r .rv-bar>span[style*="flex:1"]{display:none}.ws-r .rv-bar>*:not(:first-child){white-space:nowrap;flex:none}.ws-act .btn:not(.ws-go){align-self:flex-start}.q-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.q-kpi div{background:var(--tint);border:1px solid var(--line2,#eef2ee);border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}.q-kpi span{font-size:12px;color:var(--ink2,#64748b)}.q-kpi b{font-size:20px;font-variant-numeric:tabular-nums}.q-kpi small{font-size:12px;font-weight:400;color:var(--ink2,#64748b)}.q-tb td{vertical-align:middle}.q-tb .q-no b{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:var(--acs,#eff6ff);color:var(--ac2,#1d4ed8);font-size:12.5px}.q-tb tr.q-me td{background:#fbf8e8}.list-item .stage .ic{width:16px;height:16px;border-radius:50%;font-size:10px;flex:none}.hs-mask{position:fixed;top:0;bottom:0;left:calc(76px / var(--z));right:0;background:#22313a2e;z-index:31;animation:hsFade .15s}.hs{position:absolute;top:0;bottom:0;left:100%;width:360px;background:#fff;border-right:1px solid var(--line);box-shadow:8px 0 28px #22313a1f;z-index:32;display:flex;flex-direction:column;animation:hsIn .18s ease-out}@keyframes hsIn{0%{transform:translate(-16px);opacity:0}to{transform:none;opacity:1}}@keyframes hsFade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.hs,.hs-mask{animation:none}}.hs-h{display:flex;align-items:center;gap:8px;padding:16px 16px 10px}.hs-h b{font-size:15px}.hs-x{font-size:20px;line-height:1;color:var(--ink3);cursor:pointer;padding:0 4px}.hs-x:hover{color:var(--ink)}.hs-q{margin:0 16px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px}.hs-q:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px var(--ring)}.hs-tabs{display:flex;gap:4px;padding:10px 16px 6px}.hs-tabs span{padding:4px 10px;border-radius:999px;font-size:12px;color:var(--ink2);cursor:pointer}.hs-tabs span.on{background:var(--acs);color:var(--ac2);font-weight:600}.hs-list{flex:1;overflow-y:auto;padding:4px 10px 10px}.hs-it{padding:11px 10px;border-radius:8px;cursor:pointer;border:1px solid transparent}.hs-it+.hs-it{margin-top:2px}.hs-it:hover{background:var(--soft)}.hs-it.on{background:var(--acs);border-color:var(--nbd)}.hs-t{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.hs-bar{display:flex;height:4px;border-radius:2px;overflow:hidden;margin-top:8px;gap:1px;background:#eef2ee}.hs-f{padding:12px 16px;border-top:1px solid var(--line2)}.lg-btn{width:100%;justify-content:center;padding:9px 14px;font-size:13px;margin-top:4px}.lg-or{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:var(--ink3,#94a3b8);font-size:12px}.lg-or:before,.lg-or:after{content:"";flex:1;border-top:1px solid var(--line,#e2e8f0)}.lg-err{color:#b91c1c;font-size:12px;margin:-2px 0 8px}.login .rgt .fld input{padding:9px 11px;font-size:13px}.rv-top{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;margin:-6px 0 12px;position:sticky;top:-18px;z-index:5;background:var(--paper,#f1f5f9);padding:6px 0}.rv-top .rv-bar{position:static;margin:0 0 0 auto;flex:0 1 auto;min-width:0;flex-wrap:nowrap;background:transparent;border:0;box-shadow:none;padding:0;justify-content:flex-end}.rv-top>.tabs{flex:none}@media(max-width:1400px){.rv-top .rv-bar>span.muted.small:not(#rv-seen){display:none}}.rv-top .rv-bar>*{white-space:nowrap;flex:none}.rv-top .rv-bar>span.muted.small:not(#rv-seen){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}a.rv-lk{color:var(--ac2,#1d4ed8);cursor:pointer;text-decoration:none;font-variant-numeric:tabular-nums}a.rv-lk:hover{text-decoration:underline}a.rv-lk.rv-n0{color:#047857}a.rv-lk.rv-n3{color:#475569}.rv-pill[onclick],.rv-mini .tag,.wsk-m .tag,.rv-cell[onclick]{cursor:pointer}.pks{position:relative;width:340px;flex:0 1 340px}.pks-q{width:100%;border:1px solid var(--line);border-radius:8px;padding:7px 10px 7px 32px;font-size:12.5px;background:#fff}.pks-q:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px var(--ring)}.pks-ic{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink3);display:flex}.pks-list{position:absolute;right:0;top:calc(100% + 6px);width:420px;max-height:420px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 36px #22313a24;padding:6px;z-index:40}.pks-it{padding:9px 10px;border-radius:7px;cursor:pointer}.pks-it b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pks-it:hover,.pks-it.hl{background:var(--soft)}.pks-it.on{background:var(--acs)}.pks-none{padding:18px;text-align:center}.sk-c{cursor:pointer;transition:border-color .12s,box-shadow .12s}.sk-c:hover{border-color:var(--bdh);box-shadow:0 4px 14px #22313a0f}.login .lg-mark{width:36px;height:36px;display:block}.login .lg-foot{margin-top:auto;padding-top:18px;opacity:.75;line-height:1.7}.login .lft{min-height:520px}.rl-pop .rp-act{padding:7px 0;font-size:12.5px;color:var(--ink);cursor:pointer}.rl-pop .rp-act:hover{color:var(--ac2)}.pg-ph{max-width:620px;margin:12vh auto 0;text-align:center}.pg-ph h3{font-size:18px;margin:0 0 10px}.pg-ph p{line-height:1.8;color:var(--ink2)}.tb td .btn+.btn{margin-left:4px}.ops{white-space:nowrap}.tb.fixed{table-layout:fixed}.req:after{content:" *";color:#b91c1c}.sys-b .card+.card{margin-top:14px}.mn-ic{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer}.mn-ic.on{outline:2px solid var(--ac)}.loading{color:var(--ink3);padding:30px 0;text-align:center;font-size:12.5px}.rv-pill,.rv-mini .tag,.wsk-m .tag{cursor:pointer}.rv-sb img{display:block;width:100%;height:170px;object-fit:contain;background:#0b0f14}.rv-tbl{overflow:auto;max-height:420px;margin:8px 0}.rv-tbl .tb td,.rv-tbl .tb th{font-size:11.5px;white-space:nowrap}.zoom-img{max-width:100%;max-height:calc(80vh / var(--z));display:block;margin:0 auto;background:#0b0f14}.st-samples{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.ws-runs{max-width:640px;margin:10vh auto 0}.ws-run{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px}.ws-run .pbar{height:6px;background:#eef2ee;border-radius:3px;overflow:hidden;margin:8px 0 4px}.ws-run .pbar i{display:block;height:100%;background:var(--ac);transition:width .5s}.nt-it{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--line2);cursor:pointer}.nt-it:hover{background:#f8fbf6}.nt-it.read{opacity:.65}.nt-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none;background:var(--ac)}.nt-dot.err{background:#e5484d}.nt-dot.warn{background:#d97706}.nt-it.read .nt-dot{background:#cbd5e1}.sk-c{cursor:pointer}.sk-c.off{opacity:.55}.rv-sec .det-tb{margin-top:8px}.pbar{display:block;height:6px;background:#eef2ee;border-radius:3px;overflow:hidden;margin:6px 0 4px}.pbar i{display:block;height:100%;background:var(--ac);transition:width .5s;border-radius:0}.rsn{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.rsn-t{padding:3px 10px;border:1px solid #cbd5e1;border-radius:14px;font-size:12.5px;cursor:pointer;background:#fff;color:#334155;-webkit-user-select:none;user-select:none}.rsn-t:hover{border-color:#2563eb;color:#2563eb}.rsn-t.on{background:#2563eb;border-color:#2563eb;color:#fff}.pk-sw{position:relative}.pk-sw input{width:220px;height:30px;padding:0 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px}.pk-sw ul{position:absolute;right:0;top:34px;z-index:30;width:360px;max-height:360px;overflow:auto;margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.pk-sw li{padding:6px 12px;cursor:pointer;display:flex;gap:8px;align-items:center;font-size:13px}.pk-sw li.on,.pk-sw li:hover{background:#eff6ff}.pk-sw li .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content.flush{display:flex;flex-direction:column}.content.flush>.ws{flex:1;height:auto;min-height:0}.st-pill.need{color:#b45309;background:#fff7e6}.st-f.up{padding-right:10px}.st-fp{width:70px;height:5px;border-radius:3px;background:#e2e8f0;overflow:hidden;display:inline-block}.st-fp i{display:block;height:100%;background:var(--ac);transition:width .2s}.st-fn{font-size:11.5px;color:var(--ink3);min-width:30px;text-align:right}.st-fn.ok{color:var(--ac)}.hs-pg{padding:8px 14px;border-top:1px solid var(--line);display:flex;justify-content:center}.bf-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}.bf-q{width:180px;height:28px;padding:0 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:12.5px}.bf-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.bf-card{margin:0;min-width:0;overflow:hidden}.bf-card h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bf-n{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}.bf-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid #f1f5f9;font-size:12.5px}.bf-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1100px){.bf-grid{grid-template-columns:minmax(0,1fr)}}html[data-theme=dailan]{--paper:#f1f4f9;--face:#fff;--ink:#1e2a3a;--ink2:#5f6d80;--ink3:#94a0b0;--line:#d7dfea;--line2:#e7ecf3;--ac:#245199;--ac2:#173a73;--acs:#e5edf8;--grid:rgba(36,81,153,.05);--side:#f8fafd;--hover:#e9eff8;--soft:#f0f4fa;--th:#eff3f9;--rowh:#f4f7fc;--tint:#f6f8fc;--acs2:#e3ebf7;--nbg:#edf2fa;--nbd:#c8d6ec;--nfg:#1c3c6e;--bdh:#b7c8e2;--lbg:#e8eef6;--dis:#c3cddb;--pill:#edf1f7;--scroll:#c5cfdd;--ring:rgba(36,81,153,.14);--ring2:rgba(36,81,153,.38);--grid2:rgba(36,81,153,.026);--lgrid:rgba(36,81,153,.085);--lgrid2:rgba(36,81,153,.038);--rail:#14284b;--rail-fg:#a9b8d0;--rail-hover:rgba(255,255,255,.08);--rail-on:rgba(255,255,255,.14)}html[data-theme=dailan] .side{background:var(--rail);border-right-color:var(--rail)}html[data-theme=dailan] .rl-it{color:var(--rail-fg)}html[data-theme=dailan] .rl-it:hover{background:var(--rail-hover);color:#fff}html[data-theme=dailan] .rl-it.on{background:var(--rail-on);color:#fff}html[data-theme=dailan] .rl-me{box-shadow:0 0 0 2px #ffffff59}html[data-theme=dailan] .rl-bd{box-shadow:0 0 0 2px var(--rail)}
