button,input,select{font:inherit}button{cursor:pointer}
.topbar{height:72px;background:#142c45;border-bottom:1px solid #263f58;display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:9;color:#fff}
.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:40px;height:40px;border-radius:4px;background:#fff;color:#173b5f;display:grid;place-items:center;font-weight:900;font-size:18px}.brand-title{font-size:18px;font-weight:800;letter-spacing:.05em}.brand-sub{font-size:10px;color:#aebdca;margin-top:3px;letter-spacing:.12em}
.private{display:flex;align-items:center;gap:8px;color:#d7e0e8;background:#203b55;border:1px solid #36516a;border-radius:4px;padding:9px 13px;font-size:12px}.private i{width:6px;height:6px;border-radius:50%;background:#b69a6e}
.pw-input{width:120px;background:#102f4e;border:1px solid #36516a;border-radius:3px;color:#fff;padding:6px 9px;font-size:12px;outline:none}
.pw-input:focus{border-color:#7fa6c4}
.pw-input::placeholder{color:#7f93a8}
.credential-clear{border:1px solid #49627a;background:transparent;color:#c6d1dc;border-radius:3px;padding:6px 8px;font-size:11px;white-space:nowrap}.credential-clear:hover{background:#2a465f;color:#fff}
.shell{max-width:1320px;margin:0 auto;padding:34px 34px 52px}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px;gap:24px}.eyebrow{font-size:11px;font-weight:800;color:var(--orange);letter-spacing:.2em;text-transform:uppercase;margin-bottom:3px}.intro h1{font-size:31px;line-height:1.22;margin:7px 0 8px;letter-spacing:-.02em;color:var(--ink)}.intro p{margin:0;color:var(--muted);font-size:14.5px;max-width:560px;line-height:1.6}.demo-note{background:#fff9ec;border:1px solid #f0dba6;color:#765d22;padding:10px 13px;border-radius:8px;font-size:12px;max-width:340px;line-height:1.6}
.modebar{display:grid;grid-template-columns:1fr 1fr;background:#dfe4e9;border-radius:5px;padding:4px;margin-bottom:16px;max-width:650px}.mode{border:0;background:transparent;border-radius:3px;padding:13px 18px;color:#647180;font-weight:700;display:flex;justify-content:center;gap:8px;align-items:center;transition:background .16s,color .16s,box-shadow .16s}.mode.active{background:#fff;color:var(--green);box-shadow:0 2px 8px rgba(28,45,63,.09)}.mode b{font-size:16px}.mode:not(.active):hover{background:#e7ebef;color:#3f5163}
.searchbox{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px 24px;box-shadow:var(--shadow);margin-bottom:20px}.field-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr auto;gap:12px;align-items:end}.field label{display:block;color:#536171;font-size:12px;font-weight:700;margin:0 0 8px}.input,.select{width:100%;height:46px;border:1px solid #ccd3db;border-radius:4px;background:#fff;padding:0 13px;color:var(--ink);outline:none;transition:border-color .16s,box-shadow .16s}.input:focus,.select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,59,95,.1)}.searchbtn{height:46px;border:0;border-radius:4px;background:var(--green);color:#fff;font-weight:800;padding:0 25px;box-shadow:none;transition:background .16s,box-shadow .16s}.searchbtn:hover{background:#102f4e;box-shadow:0 6px 16px rgba(23,59,95,.25)}.quick{display:flex;align-items:center;gap:8px;margin-top:15px;padding-top:15px;border-top:1px solid #edf0f2;color:#788491;font-size:12px;flex-wrap:wrap}.chip{border:1px solid #d9dfe5;background:#f7f8fa;border-radius:3px;padding:6px 10px;color:#536171;transition:border-color .16s,color .16s,box-shadow .16s}.chip:hover{border-color:#8da1b3;color:var(--green);box-shadow:0 1px 4px rgba(23,59,95,.08)}.deep-option{margin-left:auto;display:flex;align-items:center;gap:7px;color:#33485d;font-weight:700;background:#edf2f6;border:1px solid #d3dde6;padding:7px 10px;border-radius:3px}.deep-option input{accent-color:#173b5f}
.status{display:flex;align-items:center;justify-content:space-between;margin:0 2px 13px}.count strong{font-size:17px;color:var(--ink)}.count span{color:#87929e;margin-left:8px;font-size:12px}.sort{border:0;background:transparent;color:#667281;font-size:12px}.workspace{min-height:420px}.list{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 10px 28px rgba(22,38,55,.045)}.empty{min-height:336px;display:flex;align-items:center;justify-content:center;text-align:center;color:#7c8894;font-size:13.5px;line-height:1.95;padding:56px 24px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}.empty:before{content:"寻";display:grid;place-items:center;width:52px;height:52px;margin:0 20px 0 0;border:1px solid #ccd7e1;border-radius:50%;background:#f1f5f8;color:#173b5f;font-size:19px;font-weight:900;box-shadow:0 4px 12px rgba(23,59,95,.08)}.company{display:block;color:inherit;text-decoration:none;padding:22px 26px;border-bottom:1px solid #e5e9ed;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s;position:relative;box-shadow:inset 3px 0 0 transparent}.company:last-child{border-bottom:0}.company:hover{background:#f7f9fb;box-shadow:inset 3px 0 0 var(--green)}.co-top{display:flex;justify-content:space-between;gap:140px;padding-right:44px}.co-name{font-size:16px;font-weight:800;letter-spacing:.01em;color:#162a3d}.score{flex:0 0 auto;color:#6f542f;background:var(--orange2);border:1px solid #e2d7c7;border-radius:4px;padding:5px 8px;font-size:11px;font-weight:800}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}.tag{background:#edf1f5;border-radius:3px;padding:4px 7px;color:#536171;font-size:11px}.co-address{font-size:12px;color:#63717f;line-height:1.75;padding-right:150px}.source{display:flex;gap:24px;color:#919ba5;font-size:11px;margin-top:12px;padding-right:150px}
@media(max-width:980px){.field-grid{grid-template-columns:1fr 1fr}.field:first-child{grid-column:1/-1}.searchbtn{width:100%}.workspace{grid-template-columns:1fr}.detail{min-height:400px}}
@media(max-width:620px){.topbar{padding:0 12px}.private{padding:6px}.brand-sub{display:none}.shell{padding:22px 15px}.intro{display:block}.demo-note{margin-top:14px}.intro h1{font-size:25px}.modebar{max-width:none}.field-grid{grid-template-columns:1fr}.field:first-child{grid-column:auto}.workspace{display:block}.detail{margin-top:14px}.info-grid,.contact-grid{grid-template-columns:1fr}.info:nth-child(odd){padding-right:0}.company{padding:18px 16px}.co-top{display:block;padding-right:38px}.score{display:inline-block;margin-top:8px}.co-address,.source{padding-right:0}.empty{min-height:270px;flex-direction:column}.empty:before{margin:0 0 14px}.pw-input{width:68px}.credential-clear{width:26px;padding:6px 0;font-size:0}.credential-clear:after{content:"×";font-size:14px}.detail-head,.detail-body{padding-left:20px;padding-right:20px}}
/* 状态栏 */
.statusbar{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:12px;line-height:1.6;margin:0 0 16px}
.statusbar[data-kind="info"]{background:#eef4f9;border-color:#cfe0ee;color:#2c4a63}
.statusbar[data-kind="success"]{background:#edf5f1;border-color:#cadfd5;color:#315c4d}
.statusbar[data-kind="warning"]{background:#fff9ec;border-color:#f0dba6;color:#765d22}
.statusbar[data-kind="error"]{background:#fdeded;border-color:#f3c9c9;color:#8a2b2b}
.statusbar[data-kind="progress"]{background:#eef4f9;border-color:#cfe0ee;color:#2c4a63}
.statusbar .sb-text{white-space:pre-wrap}
.statusbar .sb-detail{color:inherit;opacity:.85;margin-top:2px}
.statusbar .sb-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.statusbar .sb-btn{border:1px solid currentColor;background:transparent;color:inherit;border-radius:4px;padding:6px 11px;font-size:12px;font-weight:700;cursor:pointer}
.statusbar .sb-btn.primary{background:var(--green);border-color:var(--green);color:#fff}
/* 进度面板 */
.progress-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:0 0 16px;box-shadow:var(--shadow)}
.progress-panel .pp-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.progress-panel .pp-bar{flex:1;height:8px;background:#e8edf2;border-radius:99px;overflow:hidden}
.progress-panel .pp-fill{height:100%;width:0;background:linear-gradient(90deg,var(--green),#2f6ea8);transition:width .3s ease}
.progress-panel .pp-pct{font-size:12px;font-weight:800;color:var(--green);min-width:38px;text-align:right}
.progress-panel .pp-phases{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.progress-panel .pp-pill{font-size:11px;padding:4px 9px;border-radius:99px;background:#eef1f5;color:#7a8692;border:1px solid #e2e8ee}
.progress-panel .pp-pill.active{background:var(--green);color:#fff;border-color:var(--green)}
.progress-panel .pp-pill.done{background:#e7f1ea;color:#315c4d;border-color:#cadfd5}
.progress-panel .pp-detail{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}
.progress-panel .pp-text{flex:1}
.progress-panel .pp-timer{color:#97a09d}
.progress-panel .pp-abort{border:1px solid #d8a0a0;background:#fdeded;color:#8a2b2b;border-radius:4px;padding:5px 11px;font-size:12px;font-weight:700;cursor:pointer}
/* 骨架屏 */
.skeleton{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:0}
.sk-row{padding:21px 24px;border-bottom:1px solid #e5e9ed}
.sk-row:last-child{border-bottom:0}
.sk-line{height:12px;border-radius:4px;background:linear-gradient(90deg,#eef1f4 25%,#e3e8ee 37%,#eef1f4 63%);background-size:400% 100%;animation:sk-shimmer 1.3s ease-in-out infinite;margin-bottom:10px}
.sk-line.w1{width:40%}.sk-line.w2{width:70%}.sk-line.w3{width:55%}
@keyframes sk-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.sk-line{animation:none}}
/* 企业卡片内联按钮 */
.company .retry-btn{position:absolute;right:24px;bottom:21px;border:1px solid #c9a36a;background:#fbf3e6;color:#7a5a22;border-radius:4px;padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer}
.company .open-new{position:absolute;right:24px;top:18px;border:1px solid #ccd3db;background:#fff;color:#536171;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;text-decoration:none}
.company .open-new:hover{color:var(--green);border-color:var(--green)}
/* 凭据按钮 + 抽屉 */
.cred-btn{display:flex;align-items:center;gap:8px;background:#203b55;border:1px solid #36516a;color:#d7e0e8;border-radius:4px;padding:9px 13px;font-size:12px;cursor:pointer}
.cred-btn:hover{background:#2a465f}
.cred-dot{width:7px;height:7px;border-radius:50%;background:#b69a6e}
.cred-dot.ok{background:#5fc28a}
.drawer{position:fixed;inset:0;z-index:50}
.drawer.hidden{display:none}
.drawer-mask{position:absolute;inset:0;background:rgba(16,29,42,.45)}
.drawer-panel{position:absolute;top:0;right:0;height:100%;width:340px;max-width:90vw;background:#fff;box-shadow:-12px 0 34px rgba(22,38,55,.18);padding:22px 22px 28px;overflow-y:auto;animation:drawer-in .2s ease}
@keyframes drawer-in{from{transform:translateX(20px);opacity:.6}to{transform:translateX(0);opacity:1}}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.drawer-head h2{font-size:17px;margin:0;color:var(--ink)}
.drawer-x{border:0;background:transparent;font-size:22px;line-height:1;color:#87929e;cursor:pointer}
.drawer-sub{font-size:12px;color:var(--muted);margin:0 0 16px;line-height:1.6}
.field-label{display:block;color:#536171;font-size:12px;font-weight:700;margin:0 0 7px}
.pw-wrap{display:flex;gap:8px;align-items:center;margin-bottom:14px}
.pw-input.full{flex:1;width:100%;background:#f4f6f8;border:1px solid #ccd3db;border-radius:4px;color:var(--ink);padding:10px 12px;font-size:13px;outline:none}
.pw-input.full:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,59,95,.1)}
.pw-toggle{border:1px solid #ccd3db;background:#fff;border-radius:4px;padding:0 10px;cursor:pointer;font-size:14px}
.cred-msg{font-size:12px;min-height:16px;margin-bottom:10px}
.cred-msg.ok{color:#315c4d}.cred-msg.warn{color:#8a6d2b}.cred-msg.err{color:#8a2b2b}
.drawer-actions{display:flex;gap:8px;margin-bottom:10px}
.drawer-btn{flex:1;border:1px solid #ccd3db;background:#fff;color:var(--ink);border-radius:5px;padding:10px;font-size:13px;font-weight:700;cursor:pointer}
.drawer-btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.drawer-store{font-size:11px;color:#97a09d}
/* 排序 */
.sort-wrap{font-size:12px;color:#667281;display:flex;align-items:center;gap:6px}
.sort-select{border:1px solid #ccd3db;border-radius:4px;padding:5px 8px;font-size:12px;color:var(--ink);background:#fff}
.researching{padding:20px 24px;border-bottom:1px solid #dce5ec;background:#f5f8fb;display:flex;align-items:center;gap:12px;color:#173b5f}.researching:before{content:"";width:9px;height:9px;border:2px solid #9eb2c4;border-top-color:#173b5f;border-radius:50%;animation:research-spin .8s linear infinite}.researching strong{font-size:13px}.researching span{font-size:12px;color:#6f7d8a}.researching.compact{padding:14px 24px}@keyframes research-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.researching:before{animation:none}}
