:root{
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --font-xs:12px;--font-sm:13px;--font-base:14px;--font-title:24px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;
  --bg:#f5f7f8;--surface:#fff;--ink:#213538;--muted:#7b898c;--line:#e7edec;
  --accent:#237560;--accent-soft:#edf6f2;--nav:#183833;--amber:#96722c;--amber-soft:#faf5e9;
  --radius:10px;--shadow:0 8px 32px #12332c0a;
  font:var(--font-base)/1.7 var(--font);color:var(--ink);background:var(--bg)
}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #539b84}.hidden{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:var(--font-title);line-height:1.4;font-weight:650;letter-spacing:-.02em}h2{font-size:16px;line-height:1.5;font-weight:650}h3{font-size:14px;font-weight:650}small{font-size:var(--font-xs)}.muted{color:var(--muted)}.error{color:#ad4f48}.nowrap{white-space:nowrap}.mono{font-variant-numeric:tabular-nums}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;padding:var(--space-8) var(--space-4);background:var(--nav);color:#ccdad6;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:var(--space-3);color:#fff;font-size:16px;font-weight:650;padding:0 var(--space-2)}.brand:hover{text-decoration:none}.brand small{display:block;font-size:10px;font-weight:400;color:#91aaa3;letter-spacing:.02em;margin-top:var(--space-1)}.logo-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#39886e;color:#ecf9f1;font-size:30px;line-height:1;flex-shrink:0}.nav-label{margin:40px var(--space-3) var(--space-3);color:#7f9e92;font-size:11px;letter-spacing:.1em}.sidebar nav{display:flex;flex-direction:column;gap:var(--space-2)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:7px;color:#b7ccc3;font-size:13px;line-height:20px}.nav-item svg{width:18px;height:18px;flex-shrink:0}.nav-item.active{background:#2c4b42;color:#fff}.nav-item:hover{background:#28463e;text-decoration:none;color:#fff}.nav-badge{margin-left:auto;font-size:11px;padding:0 6px;border-radius:4px;background:#49665b;line-height:18px}.nav-divider{height:1px;background:#345046;margin:var(--space-4) 10px}.sidebar-bottom{margin-top:auto;font-size:10px;color:#9bb5a7;padding:var(--space-6) var(--space-2) 0}.sidebar-bottom p{font-size:12px;line-height:22px;color:#b3c8be;margin:var(--space-4) 0 var(--space-6)}.sidebar-bottom a{color:#91b3a1;display:flex;justify-content:space-between;border-top:1px solid #355145;padding-top:var(--space-4)}.workspace{margin-left:220px;min-width:0;flex:1}.topbar{height:68px;background:var(--surface);border-bottom:1px solid var(--line);padding:0 var(--space-8);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.breadcrumb,.topbar-actions{display:flex;align-items:center;gap:var(--space-3)}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb strong{font-weight:500;color:#465e58}.separator{color:#c7d0cd}.connection{display:flex;gap:var(--space-2);align-items:center;font-size:11px;color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#76ad89;margin-right:var(--space-1)}main{padding:var(--space-8);max-width:1600px;margin:auto;min-height:calc(100vh - 130px)}footer{max-width:1600px;margin:auto;display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-8);font-size:11px;color:#8e9b96}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-6)}.page-head p{margin-top:var(--space-2);font-size:13px;line-height:22px;color:var(--muted)}.head-actions{display:flex;gap:var(--space-2);align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);font-size:13px;font-weight:500;line-height:20px;border:1px solid #dfe7e3;border-radius:7px;background:#fff;white-space:nowrap;transition:background .12s}.button:hover{background:#f5f8f6;text-decoration:none}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:#1d624f}.button.small{height:34px;font-size:12px;padding:0 var(--space-3)}.button.ghost{background:transparent;border-color:transparent;color:var(--muted)}.button.danger{color:#a35851}.icon-button{border:0;background:transparent;padding:var(--space-2);line-height:1;color:var(--muted)}.mobile{display:none}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat{padding:var(--space-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.stat-label{display:flex;align-items:center;justify-content:space-between;color:#6d8278;font-size:12px}.stat-icon{width:28px;height:28px;border-radius:8px;background:#f3f6f4;color:#5a8a71;display:flex;align-items:center;justify-content:center}.stat-icon svg{width:16px;height:16px}.stat-value{font-size:32px;line-height:40px;font-weight:600;letter-spacing:-.04em;margin:var(--space-2) 0}.stat-caption{font-size:11px;color:var(--muted)}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-6);align-items:start}.overview-grid>*,.overview-side>*,.settings-grid>*{min-width:0}.panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);gap:var(--space-4)}.panel-header p{font-size:12px;color:var(--muted);margin-top:var(--space-1)}.panel-body{padding:0 var(--space-6) var(--space-6)}.province-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);padding:0 var(--space-6) var(--space-6)}.province-card{border:1px solid var(--line);border-radius:8px;background:#fcfdfc;text-align:left;padding:var(--space-4);min-width:0}.province-card:hover{border-color:#bdd6c7;background:#f7fbf8}.province-card strong{font-size:14px;font-weight:600}.province-card .count{font-size:25px;font-weight:600;line-height:36px;margin:var(--space-2) 0 var(--space-1)}.province-card span{font-size:11px;color:var(--muted);display:block}.section-gap{margin-top:var(--space-6)}.empty{padding:48px var(--space-6);text-align:center;color:var(--muted);font-size:13px;line-height:24px}.empty svg{width:30px;height:30px;color:#a4b8ab;margin-bottom:var(--space-3)}.empty p{margin-bottom:var(--space-4)}.tips{padding:var(--space-6)}.tips ol{padding-left:18px;margin:var(--space-4) 0 0}.tips li{padding-left:var(--space-1);margin-bottom:var(--space-4);color:#6b7f75;font-size:12px;line-height:22px}.tips li strong{display:block;font-weight:600;color:#355549}.tip-highlight{background:var(--accent-soft);color:#567261;border-radius:7px;padding:var(--space-3);font-size:12px;line-height:22px;margin-top:var(--space-2)}.tabs{display:flex;align-items:center;gap:var(--space-6);border-bottom:1px solid var(--line);padding:0 var(--space-6)}.tab{position:relative;border:0;background:none;padding:var(--space-4) 0;font-size:13px;color:var(--muted)}.tab.active{color:var(--accent);font-weight:600}.tab.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:#fdfefd;border-bottom:1px solid var(--line)}.search-field{position:relative;flex:1;min-width:190px}.search-field svg{position:absolute;left:12px;top:12px;width:16px;height:16px;color:#8da095}.search-field input{padding-left:36px;width:100%}.field,input:not([type=checkbox]):not([type=file]),select,textarea{height:40px;border:1px solid #dfe7e3;border-radius:7px;padding:0 var(--space-3);background:#fff;font-size:13px;line-height:22px;min-width:0}textarea{height:96px;padding:var(--space-3);resize:vertical}input::placeholder,textarea::placeholder{color:#a0aba5}.filters select{min-width:126px}.result-bar{padding:var(--space-3) var(--space-6);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.result-bar strong{font-weight:600;color:var(--ink)}.table-wrap{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:13px;line-height:22px}th{text-align:left;font-size:11px;font-weight:500;color:#87978f;background:#fafcfb;padding:var(--space-3) var(--space-4);white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:var(--space-4);border-bottom:1px solid #edf1ef;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfb}.check-col{width:40px;padding-right:0}.check-col input{width:14px;height:14px;accent-color:var(--accent)}.party-name{display:flex;align-items:center;gap:var(--space-3);min-width:210px}.avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:9px;background:#f0f5f2;color:#487f65;font-weight:600;font-size:13px}.name-button{padding:0;border:0;background:none;color:var(--ink);text-align:left;font-size:13px;font-weight:600}.name-button:hover{color:var(--accent)}.subline{font-size:11px;color:var(--muted);line-height:20px;margin-top:2px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;line-height:18px;border-radius:4px;padding:1px 6px;background:#f0f4f2;color:#6d8175;white-space:nowrap}.pill.green{background:var(--accent-soft);color:#3e8162}.pill.amber{background:var(--amber-soft);color:var(--amber)}.pill.blue{background:#edf3f9;color:#597a96}.pill.red{background:#f9eeeb;color:#a1675c}.contact-line{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap;max-width:240px}.contact-line span{overflow:hidden;text-overflow:ellipsis;max-width:190px}.contact-line .contact-label{font-size:10px;color:#8a9b91;width:28px;flex-shrink:0}.copy-button{padding:0;border:0;background:none;color:#94a69a;display:flex;align-items:center}.copy-button svg{width:13px;height:13px}.row-action{padding:0;color:var(--accent);border:0;background:none;font-size:12px;white-space:nowrap}.table-bottom{padding:var(--space-4) var(--space-6);border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:var(--space-4)}.job-list{display:grid;gap:var(--space-4)}.job{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.job-top{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between}.job-title svg{width:20px;height:20px;flex-shrink:0}.job-title{display:flex;align-items:center;gap:var(--space-3)}.job p{font-size:12px;line-height:22px;color:var(--muted);margin-top:var(--space-3)}.job-meta{display:flex;gap:var(--space-6);font-size:11px;color:var(--muted);margin-top:var(--space-4);flex-wrap:wrap}.job-progress{height:3px;background:#edf4ee;margin-top:var(--space-4);overflow:hidden;border-radius:3px}.job-progress i{display:block;height:100%;width:40%;background:#85b19b;animation:progress 2s infinite}.job-log{font:11px/20px ui-monospace,monospace;color:#6d8177;background:#f6f9f7;padding:var(--space-4);white-space:pre-wrap;max-height:240px;overflow:auto;border-radius:6px;margin-top:var(--space-3)}.notice{padding:var(--space-4);border:1px solid #e1eae3;border-radius:8px;background:#f7fbf8;color:#627d69;font-size:12px;line-height:22px;margin-bottom:var(--space-6)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.setting-item{padding:var(--space-4) 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--space-4)}.setting-item:last-child{border:0}.setting-item p{font-size:12px;color:var(--muted);margin-top:4px}.settings-panel{padding:var(--space-6)}.drawer-backdrop{position:fixed;inset:0;background:#142e2840;z-index:40}.drawer{position:fixed;inset:0 0 0 auto;width:min(600px,100vw);background:#fff;z-index:41;overflow:auto;box-shadow:-12px 0 48px #162d2814}.drawer-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:var(--space-6);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);z-index:1}.drawer-head h2{font-size:18px}.drawer-head p{font-size:12px;color:var(--muted);margin-top:var(--space-2)}.drawer-body{padding:0 var(--space-6) var(--space-6)}.detail-section{padding:var(--space-6) 0;border-bottom:1px solid var(--line)}.detail-section:last-child{border:0}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);gap:var(--space-3)}.detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.detail-field small{display:block;color:var(--muted);margin-bottom:var(--space-1)}.detail-field span{font-size:13px;overflow-wrap:anywhere}.contact-card{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:7px;margin-bottom:var(--space-3)}.contact-card-head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center}.contact-card-value{font-size:14px;font-weight:500;overflow-wrap:anywhere;max-width:360px}.contact-card p{font-size:11px;color:var(--muted);margin-top:var(--space-1);line-height:20px}.contact-card-actions{display:flex;gap:var(--space-3);align-items:center;font-size:11px;margin-top:var(--space-2)}.case-card{border-left:2px solid #cee2d3;padding:0 0 0 var(--space-4);margin:var(--space-4) 0 var(--space-6)}.case-card h3{font-size:13px;line-height:22px;font-weight:600}.case-card p{font-size:12px;color:var(--muted);white-space:pre-wrap;line-height:22px;margin:var(--space-2) 0}.case-meta{display:flex;gap:var(--space-2);flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:var(--space-2)}.drawer-actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-top:var(--space-4)}dialog{border:1px solid var(--line);padding:0;border-radius:12px;width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 64px);box-shadow:0 24px 80px #163e2926;color:var(--ink)}dialog::backdrop{background:#14302955}.modal-head{padding:var(--space-6);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:var(--space-6)}.modal-foot{padding:var(--space-4) var(--space-6);border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:var(--space-2);background:#fcfdfc}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-grid .wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:var(--space-2);font-size:12px;color:#5e7667}label input,label select,label textarea{width:100%}.field-label{font-size:12px;color:#5e7667;margin-bottom:var(--space-3);display:block}.choices{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}.choice{flex-direction:row;align-items:center;gap:var(--space-2);font-size:13px;border:1px solid var(--line);border-radius:7px;padding:var(--space-3)}.choice input{width:14px;height:14px;accent-color:var(--accent);flex-shrink:0}.types-choices{grid-template-columns:repeat(3,1fr)}.form-hint{font-size:11px;color:var(--muted);line-height:22px;margin-top:var(--space-3)}.form-error{font-size:12px;color:#a54c43;margin-top:var(--space-3)}.toast{position:fixed;bottom:var(--space-6);left:50%;transform:translateX(-50%);z-index:100;background:#24483c;color:#fff;border-radius:8px;padding:var(--space-3) var(--space-6);font-size:13px;box-shadow:var(--shadow);max-width:calc(100vw - 32px)}.login{min-height:100vh;display:grid;place-items:center;padding:var(--space-6)}.login-card{width:min(420px,100%);padding:var(--space-8);border:1px solid var(--line);background:#fff;border-radius:12px}.login-card h1{margin:var(--space-6) 0 var(--space-2);font-size:22px}.login-card p{font-size:13px}.login-card label{margin:var(--space-6) 0 var(--space-4)}.login-card .button{width:100%}.login-card .error{margin-top:var(--space-3)}.loading{padding:64px;color:var(--muted);text-align:center;font-size:13px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid #d5e5da;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}.inline-check{flex-direction:row;align-items:center;gap:var(--space-2);font-size:12px}.inline-check input{width:14px;accent-color:var(--accent)}.file-drop{padding:var(--space-6);border:1px dashed #cadbd0;border-radius:8px;background:#f9fcfa;text-align:center;color:var(--muted);font-size:12px}.file-drop input{margin:var(--space-4) 0 0;max-width:100%;font-size:12px}.feedback-item{font-size:12px;line-height:22px;padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.feedback-item p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.document{font-size:12px;padding:var(--space-2) 0}.chip-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.coverage-note{font-size:11px;color:var(--muted);line-height:20px;margin-top:var(--space-3)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
@media(min-width:1600px){.overview-grid{grid-template-columns:minmax(0,1fr) 340px}}
@media(max-width:1200px){.overview-grid{grid-template-columns:minmax(0,1fr)}.overview-side{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.overview-side .section-gap{margin-top:0}.stats{gap:var(--space-3)}.stat{padding:var(--space-4)}main{padding:var(--space-6)}.topbar{padding:0 var(--space-6)}.sidebar{width:204px}.workspace{margin-left:204px}.brand{font-size:14px;gap:8px}.brand small{font-size:9px}}
@media(max-width:850px){.sidebar{width:184px;padding:24px 12px}.workspace{margin-left:184px}.brand{font-size:13px}.brand small{display:none}.stats{grid-template-columns:repeat(2,1fr)}.province-grid{grid-template-columns:repeat(2,1fr)}.connection{display:none}.topbar{padding:0 16px}main{padding:24px 16px}.overview-side,.settings-grid{grid-template-columns:1fr}.overview-side .section-gap{margin-top:0}.head-actions{flex-wrap:wrap;justify-content:flex-end}.page-head{gap:16px}.filters{padding:16px}.tabs{padding:0 16px;gap:20px}.panel-header{padding:20px}.panel-body{padding:0 20px 20px}.province-grid{padding:0 20px 20px}}
@media(max-width:600px){.sidebar{transform:translateX(-100%);width:220px;transition:transform .15s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.mobile{display:block}.topbar{height:60px;padding:0 12px}.breadcrumb>span:first-of-type{display:none}.breadcrumb .separator{display:none}main{padding:24px 12px}.page-head{flex-direction:column;gap:16px;margin-bottom:24px}.head-actions{justify-content:flex-start}.stats{gap:12px}.stat{padding:16px}.stat-value{font-size:28px}.stat-label{font-size:11px}.stat-caption{font-size:10px}.province-grid{gap:12px}.province-card{padding:12px}.province-card .count{font-size:22px}.filters .search-field{flex-basis:100%}.filters select{flex:1;min-width:110px}.result-bar,.table-bottom{padding:12px 16px}.table-bottom{flex-direction:column;gap:4px}footer{padding:16px;flex-direction:column;font-size:10px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.choices{grid-template-columns:repeat(2,1fr)}.types-choices{grid-template-columns:repeat(2,1fr)}.drawer-head,.modal-head,.modal-body{padding:20px}.drawer-body{padding:0 20px 20px}.contact-card-value{max-width:220px}.settings-panel{padding:20px}.inline-check{flex-basis:100%}.page-head h1{font-size:22px}.job{padding:20px}.job-top{align-items:flex-start}.detail-fields{gap:16px}.sidebar-bottom{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(max-width:600px){.panel-header{align-items:flex-start;flex-wrap:wrap}.job-title{flex-wrap:wrap}.section-head{flex-wrap:wrap}.drawer-head .pill{white-space:normal}.modal-body{overflow-wrap:anywhere}}

.sidebar{overflow:auto}.daily-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;margin-bottom:24px;flex-wrap:wrap}.daily-strip strong{display:block;font-size:18px}.daily-strip small{display:block;color:var(--muted);font-size:11px}.source-body{font:12px/22px var(--font);white-space:pre-wrap;max-height:440px;overflow:auto;overflow-wrap:anywhere;background:var(--bg);padding:16px}.result-snippet{min-width:260px;max-width:420px;font-size:12px;line-height:22px;color:var(--muted)}@media(max-width:600px){.daily-strip{padding:16px;gap:16px}.daily-strip>div{flex:1 0 40%}.daily-strip .row-action{flex-basis:100%}.sidebar-bottom{padding-top:32px}}

.industry-panel{padding:20px;margin-bottom:18px}.industry-filters{gap:8px;flex-wrap:wrap;margin-top:12px}.industry-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.industry-tag{background:#edf5f1;color:#31654e;font-size:11px}.industry-filters button span{opacity:.7;margin-left:5px}
.recruit-evidence{max-width:420px;min-width:220px;white-space:pre-wrap}.recruit-evidence details{margin-top:8px}.recruit-evidence p{white-space:pre-wrap}.detail-section .case-card p{overflow-wrap:anywhere;white-space:pre-wrap}
