
:root { --ink:#18221e; --muted:#6f7a73; --line:#e6e9e4; --panel:#ffffff; --paper:#f4f5f1; --forest:#173d32; --lime:#dff173; --sand:#e7ddc9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif; }
button,input,select { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:flex; }
.sidebar { width:258px; flex:0 0 258px; background:#122b24; color:#eff5ef; padding:28px 16px 20px; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; }
.brand-mark { display:flex; align-items:center; gap:11px; margin:0 8px 35px; }
.brand-symbol { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(225,243,179,.6); border-radius:12px; color:var(--lime); font-weight:800; letter-spacing:-1px; }
.brand-mark strong { display:block; font-size:16px; letter-spacing:.02em; }.brand-mark small,.factory small { display:block; font-size:10px; opacity:.55; letter-spacing:.12em; margin-top:3px; }
.factory-switch { display:grid; gap:7px; margin-bottom:29px; }.factory { color:#c9d5cd; background:transparent; border:1px solid transparent; border-radius:12px; padding:11px; display:flex; align-items:center; gap:10px; text-align:left; font-size:13px; transition:.2s ease; }.factory:hover { background:#1b4538; }.factory.active { border-color:#48665a; background:#1d493c; color:#fff; }.factory-icon { color:var(--lime); font-size:17px; width:16px; }
.nav-list { display:grid; gap:3px; }.nav-item { color:#b8c7be; text-decoration:none; border-radius:10px; padding:11px 12px; display:flex; align-items:center; gap:8px; font-size:13px; transition:.2s; }.nav-item:hover,.nav-item.active { color:#fff; background:rgba(255,255,255,.1); }.nav-item small { color:#8fa398; font-size:9px; letter-spacing:.03em; }.nav-item b { margin-left:auto; background:rgba(224,242,116,.13); color:var(--lime); border-radius:999px; font-size:11px; padding:2px 7px; }
.sidebar-bottom { margin-top:auto; padding:17px 9px 2px; border-top:1px solid rgba(255,255,255,.12); }.sidebar-bottom p { margin:0 0 4px; color:var(--lime); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }.sidebar-bottom span { color:#94a99e; font-size:11px; }
.team-user { display:flex; align-items:center; gap:7px; border:1px solid #dce4dc; color:#34493c; background:#fff; border-radius:999px; padding:5px 9px 5px 5px; }.team-user>span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:var(--lime); background:var(--forest); font-size:11px; font-weight:800; }.team-user b { max-width:110px; overflow:hidden; text-overflow:ellipsis; font-size:11px; }.team-user small { color:#88948c; font-size:9px; }
.workspace { width:calc(100% - 258px); max-width:1500px; padding:35px 42px 70px; }.topbar { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:27px; }.eyebrow { margin:0 0 7px; color:#728076; font-size:10px; font-weight:800; letter-spacing:.13em; }.topbar h1,.panel h2,.focus-banner h2 { margin:0; font-size:24px; letter-spacing:-.04em; }.panel h2 small,.focus-banner h2 small,.modal h2 small { color:#7b887f; font-size:11px; font-weight:600; letter-spacing:0; }.focus-banner h2 small { color:#c9d5cb; }.topbar-actions { display:flex; align-items:center; gap:12px; }.week-pill { color:#496054; background:#e8eee7; border-radius:999px; padding:8px 11px; font-size:11px; }.primary-button { border:0; background:var(--forest); color:#fff; border-radius:10px; padding:11px 16px; font-weight:700; font-size:13px; box-shadow:0 8px 20px rgba(23,61,50,.14); }.primary-button small { font-size:9px; opacity:.72; margin-left:4px; }.primary-button:hover { background:#245643; }
.focus-banner { background:var(--forest); color:#fff; padding:26px 29px; border-radius:16px; display:flex; justify-content:space-between; align-items:center; gap:28px; overflow:hidden; position:relative; }.focus-banner:after { content:""; position:absolute; width:270px; height:270px; border:1px solid rgba(223,241,115,.22); border-radius:50%; right:-82px; top:-150px; }.focus-banner .eyebrow { color:var(--lime); }.focus-banner h2 { font-size:23px; }.focus-banner p:not(.eyebrow) { margin:10px 0 0; color:#d0ddd5; font-size:13px; }.progress-wrap { width:290px; position:relative; z-index:1; }.progress-top { display:flex; justify-content:space-between; font-size:12px; margin-bottom:10px; color:#d4ded7; }.progress-top strong { color:var(--lime); }.progress { background:rgba(255,255,255,.2); height:7px; border-radius:20px; overflow:hidden; }.progress i { display:block; height:100%; width:36%; background:var(--lime); border-radius:20px; }.progress-wrap small { display:block; margin-top:9px; color:#abbeb3; font-size:10px; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:18px 0; }.metric-card,.panel { background:var(--panel); border:1px solid var(--line); box-shadow:0 8px 27px rgba(24,34,30,.035); }.metric-card { border-radius:13px; padding:18px; }.metric-card span,.metric-card small { display:block; color:var(--muted); font-size:11px; }.metric-card strong { display:block; font-size:27px; letter-spacing:-.06em; margin:8px 0 4px; }.metric-card.accent { background:#eff5da; border-color:#dce8b7; }.metric-card.accent strong { color:#3e5d23; }
.content-grid,.bottom-grid { display:grid; grid-template-columns:1.35fr .9fr; gap:18px; margin-bottom:18px; }.panel { border-radius:15px; padding:22px; }.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:17px; }.panel h2 { font-size:18px; }.text-button { border:0; background:transparent; color:#52675b; font-size:12px; padding:4px 0; }.text-button:hover { color:var(--forest); }
.tasks { border-top:1px solid var(--line); }.task { width:100%; padding:14px 0; border:0; border-bottom:1px solid var(--line); background:transparent; display:flex; text-align:left; align-items:center; gap:13px; color:var(--ink); }.task:last-child { border-bottom:0; }.task-number { width:27px; height:27px; border-radius:8px; display:grid; place-items:center; font-weight:800; font-size:10px; }.n1{background:#ecf4cc;color:#496225}.n2{background:#e2eef0;color:#2e5960}.n3{background:#f6e9d8;color:#8e6535}.task strong,.task small { display:block; }.task strong { font-size:13px; }.task small { color:var(--muted); font-size:11px; margin-top:4px; line-height:1.4; }.task-arrow { margin-left:auto; color:#8a968d; font-size:18px; }
.market-list { display:grid; gap:14px; }.market-list>div { display:flex; align-items:center; gap:10px; }.flag { width:34px; height:27px; border-radius:7px; display:grid; place-items:center; background:#edf1eb; color:#466155; font-weight:800; font-size:9px; }.market-list p { margin:0; flex:1; }.market-list strong,.market-list small { display:block; }.market-list strong { font-size:12px; }.market-list small { color:var(--muted); font-size:10px; margin-top:3px; }.market-list b { font-size:10px; color:#5c7119; background:#f0f6d3; border-radius:99px; padding:4px 7px; }
.pipeline-panel { padding-bottom:8px; }.table-title { align-items:center; }.table-controls { display:flex; gap:9px; }.search { display:flex; align-items:center; gap:7px; border:1px solid var(--line); border-radius:8px; padding:0 9px; color:#6d7d73; }.search input { border:0; outline:0; width:180px; height:34px; background:transparent; font-size:12px; }.table-controls select { border:1px solid var(--line); border-radius:8px; background:white; padding:0 8px; color:#536258; font-size:12px; }.table-wrap { overflow-x:auto; } table { width:100%; border-collapse:collapse; min-width:1050px; } th { color:#879188; font-weight:700; font-size:10px; letter-spacing:.06em; text-transform:uppercase; text-align:left; background:#fafbf9; padding:11px 9px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); } td { padding:13px 9px; border-bottom:1px solid #eef0ed; font-size:12px; vertical-align:middle; } tbody tr { cursor:pointer; transition:.18s; } tbody tr:hover,tbody tr.selected-row { background:#f7f9f4; } td strong,td small { display:block; } td strong { font-size:12px; }.table-wrap td small { margin-top:4px; color:var(--muted); font-size:10px; }.stage-select { border:0; outline:0; border-radius:999px; padding:5px 8px; font-size:10px; font-weight:700; appearance:none; }.stage-select.neutral{background:#edf0ed;color:#657068}.stage-select.blue{background:#e1edf5;color:#3f677d}.stage-select.violet{background:#ede8f4;color:#695987}.stage-select.orange{background:#faebd7;color:#8b6032}.stage-select.gold{background:#f2efd1;color:#766920}.stage-select.green{background:#e2f0dd;color:#4f7948}.score { display:grid; gap:2px; color:#6b796f; font-size:9px; }.score b { color:#385441; font-size:15px; }.next-action { max-width:205px; color:#4e5e53; line-height:1.4; }.empty-state { text-align:center; padding:30px; color:var(--muted); font-size:13px; }.assignee-input { width:128px; border:1px solid #dce3dc; background:#fff; border-radius:7px; padding:7px 8px; color:#3f5146; font-size:10px; }
.activity-panel { margin-bottom:18px; }.activity-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.activity-list article { display:flex; align-items:flex-start; gap:10px; border:1px solid var(--line); background:#fafbf9; border-radius:10px; padding:12px; }.activity-list article>span { width:28px; height:28px; flex:0 0 28px; display:grid; place-items:center; border-radius:50%; color:#e7f58c; background:#244b3c; font-size:10px; font-weight:800; }.activity-list p { margin:0; color:#536157; font-size:11px; line-height:1.4; }.activity-list strong,.activity-list b { color:#25382d; }.activity-list small { display:block; color:#859188; margin-top:4px; font-size:9px; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:22px; background:radial-gradient(circle at 85% 5%,#dae6a8 0,transparent 34%),#eef1ea; }.login-card { width:min(440px,100%); border:1px solid #dfe5dc; background:rgba(255,255,255,.96); border-radius:22px; padding:31px; box-shadow:0 24px 70px rgba(19,49,40,.13); }.login-brand { display:flex; align-items:center; gap:11px; margin-bottom:34px; }.login-brand>span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--lime); background:var(--forest); font-weight:900; }.login-brand strong,.login-brand small { display:block; }.login-brand strong { font-size:14px; }.login-brand small { color:#7b887f; margin-top:3px; font-size:9px; letter-spacing:.09em; }.login-card h1 { margin:0; color:#1b3025; font-size:27px; letter-spacing:-.05em; line-height:1.22; }.login-copy { color:#68766d; margin:12px 0 22px; font-size:13px; line-height:1.7; }.login-form { display:grid; gap:13px; }.login-form label { display:grid; gap:6px; color:#4a5c50; font-size:11px; font-weight:700; }.login-form input { width:100%; border:1px solid #d9e0d8; border-radius:10px; background:#fbfcfa; padding:12px; outline-color:#799778; }.login-button { width:100%; margin-top:5px; padding:13px; }.login-button:disabled { opacity:.65; cursor:wait; }.form-error { margin:0; color:#a5443f; font-size:11px; }.login-note { margin:17px 0 0; color:#8a958e; text-align:center; font-size:10px; }
.outreach-panel pre { margin:0; background:#f6f8f4; color:#405047; border:1px solid #e9ede6; white-space:pre-wrap; font-family:Arial,"PingFang SC",sans-serif; font-size:12px; line-height:1.6; padding:14px; border-radius:10px; }.language-toggle { display:flex; gap:5px; margin:-3px 0 12px; }.language-toggle button { border:1px solid #d7dfd6; border-radius:7px; color:#66746b; background:#fff; padding:7px 10px; font-size:11px; font-weight:700; }.language-toggle button.active { color:#244c38; background:#edf4d6; border-color:#d6e5a6; }.language-toggle button small { font-size:9px; font-weight:500; margin-left:3px; }.copy-button,.outline-button { border:1px solid #ccdacb; color:#2c513c; background:#fff; border-radius:8px; padding:8px 10px; font-size:11px; font-weight:700; }.copy-button:hover,.outline-button:hover { background:#f0f5ed; }.quality-note { margin:10px 0 0; color:#8a6040; font-size:10px; line-height:1.4; }.asset-list { display:grid; gap:13px; }.asset-list>div { display:flex; gap:10px; align-items:flex-start; }.asset-type { width:39px; min-width:39px; border-radius:7px; padding:6px 0; text-align:center; font-size:8px; font-weight:800; }.asset-type.video { background:#e1edf5;color:#3b617a }.asset-type.pdf { background:#f5e6dd;color:#936248 }.asset-type.photo { background:#eaf1d7;color:#617531 }.asset-list p { margin:0; }.asset-list strong,.asset-list small { display:block; }.asset-list strong { font-size:12px; }.asset-list strong em { color:#839087; font-size:10px; font-style:normal; font-weight:600; }.asset-list small { margin-top:3px; color:var(--muted); font-size:10px; line-height:1.35; }.outline-button { margin-top:18px; width:100%; }
.modal-backdrop { position:fixed; inset:0; z-index:10; background:rgba(14,35,28,.48); display:grid; place-items:center; padding:20px; }.modal { width:min(440px,100%); max-height:calc(100vh - 40px); overflow-y:auto; padding:25px; border-radius:16px; background:#fff; box-shadow:0 24px 60px rgba(0,0,0,.25); }.modal-heading { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:18px; }.modal h2 { margin:0; font-size:20px; letter-spacing:-.04em; }.close-button { border:0; background:#eff2ee; width:30px; height:30px; border-radius:8px; font-size:20px; color:#516158; }.modal label { display:grid; gap:6px; color:#526158; margin-top:12px; font-size:11px; font-weight:700; }.modal input,.modal select { border:1px solid #dce2dc; border-radius:8px; padding:10px; outline-color:#779779; color:#29372f; background:#fff; font-size:13px; }.submit-button { width:100%; margin-top:20px; }.toast { position:fixed; z-index:12; bottom:22px; right:25px; display:flex; align-items:center; gap:18px; max-width:410px; border:0; color:#fff; background:#1e4135; padding:13px 14px 13px 16px; border-radius:10px; font-size:12px; text-align:left; box-shadow:0 14px 35px rgba(0,0,0,.18); }.toast span { color:var(--lime); font-size:16px; }
.product-library { margin-bottom:18px; }.product-heading { align-items:center; }.privacy-badge { color:#36523f; background:#eef4d8; border:1px solid #d7e4ab; border-radius:999px; padding:7px 10px; font-size:9px; font-weight:800; letter-spacing:.04em; white-space:nowrap; }.product-layout { display:grid; grid-template-columns:315px 1fr; border:1px solid var(--line); border-radius:12px; overflow:hidden; min-height:480px; }.product-index { max-height:720px; overflow-y:auto; background:#f8faf7; border-right:1px solid var(--line); padding:7px; }.product-tab { width:100%; border:0; border-radius:8px; background:transparent; color:#34443a; padding:10px 11px; text-align:left; }.product-tab:hover { background:#edf2e9; }.product-tab.active { background:var(--forest); color:#fff; box-shadow:0 7px 15px rgba(23,61,50,.12); }.product-tab span,.product-tab small { display:block; }.product-tab span { font-size:12px; font-weight:800; }.product-tab small { margin-top:4px; color:#7c8a80; font-size:9px; line-height:1.25; }.product-tab.active small { color:#c8d7ce; }.product-tab b { display:inline-block; margin-left:6px; color:#40561f; background:var(--lime); border-radius:999px; padding:2px 5px; font-size:8px; vertical-align:1px; }.product-detail { padding:27px; }.product-title { display:flex; align-items:center; gap:13px; padding-bottom:21px; border-bottom:1px solid var(--line); }.product-code { display:grid; place-items:center; width:54px; height:54px; border-radius:12px; color:var(--lime); background:var(--forest); font-size:11px; font-weight:900; letter-spacing:.04em; }.product-title h3 { margin:0; font-size:21px; letter-spacing:-.03em; }.product-title p { margin:5px 0 0; color:var(--muted); font-size:11px; }.product-photo { position:relative; display:grid; place-items:center; height:260px; margin:18px 0; overflow:hidden; border:1px solid #edf0ea; border-radius:10px; background:#fbfcfa; }.product-photo img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }.product-photo span { position:absolute; left:10px; bottom:10px; color:#526359; background:rgba(255,255,255,.9); border:1px solid #e3e8e1; border-radius:999px; padding:5px 8px; font-size:8px; font-weight:800; letter-spacing:.05em; }.spec-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:20px 0; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; }.spec-grid>div { min-height:78px; padding:14px; background:#fff; }.spec-grid .wide { grid-column:span 2; }.spec-grid dt { color:#7a887f; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.spec-grid dd { margin:7px 0 0; color:#2f4036; font-size:11px; line-height:1.45; }.product-note { margin:0 0 12px; color:#875c36; background:#fbf2e6; border-radius:8px; padding:10px 11px; font-size:10px; line-height:1.45; }.tbc-box { display:grid; gap:5px; border-left:3px solid #d1df99; background:#f5f8e9; padding:11px 13px; }.tbc-box strong { color:#40533f; font-size:10px; }.tbc-box span { color:#687768; font-size:10px; line-height:1.45; }.research-notice { margin:-5px 0 13px; border-left:3px solid #aabe58; background:#f7f9ef; color:#69756c; padding:9px 11px; font-size:10px; line-height:1.45; }.research-notice strong { color:#40543f; }.source-link { display:block; margin-top:4px; color:#55705f; font-size:9px; text-decoration:none; }.source-link:hover { text-decoration:underline; }.contact-strip { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:-3px 0 10px; }.contact-strip span { color:#46564c; background:#f6f8f4; border:1px solid #e8ece6; border-radius:8px; padding:9px; font-size:10px; line-height:1.35; overflow-wrap:anywhere; }.contact-strip b { display:block; color:#7a887f; margin-bottom:4px; font-size:8px; letter-spacing:.04em; }.fit-reason { margin:0 0 12px; color:#526258; font-size:10px; line-height:1.45; }.compact-empty { margin:14px 0 0; color:var(--muted); font-size:12px; }
.camper-standards { margin-bottom:18px; }.profile-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.profile-grid article { min-height:145px; border:1px solid var(--line); border-radius:11px; background:#fafbf8; padding:14px; }.profile-grid article>span { display:block; color:#91a15f; font-size:9px; font-weight:900; letter-spacing:.08em; }.profile-grid strong { display:block; margin:14px 0 7px; font-size:12px; }.profile-grid p,.grade-card p { margin:0; color:var(--muted); font-size:10px; line-height:1.55; }.grade-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }.grade-card { display:flex; align-items:flex-start; gap:11px; border-radius:11px; padding:14px; }.grade-card>b { display:grid; place-items:center; width:34px; min-width:34px; height:34px; border-radius:9px; font-size:16px; }.grade-card strong { display:block; margin:1px 0 5px; font-size:11px; }.grade-a { background:#eef4d8; border:1px solid #d8e3af; }.grade-a>b { color:#415719; background:var(--lime); }.grade-b { background:#edf2ee; border:1px solid #dfe6e1; }.grade-b>b { color:#315247; background:#d9e7df; }.grade-c { background:#f5f0e9; border:1px solid #e9dfd1; }.grade-c>b { color:#795f45; background:#eadfce; }.verification-next { margin:0 0 12px; color:#675d50; background:#f8f4ee; border-left:3px solid #d9c9ae; padding:9px 11px; font-size:10px; line-height:1.5; }.draft-status { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 13px; border:1px solid #d8e3af; border-radius:9px; background:#f3f7e5; padding:10px 11px; }.draft-status strong { color:#4e651d; font-size:9px; letter-spacing:.05em; }.draft-status span { color:#66715d; font-size:9px; text-align:right; }.copy-button:disabled { cursor:not-allowed; opacity:.45; background:#f2f4f1; }
@media (max-width:1050px) { .sidebar { width:210px; flex-basis:210px; }.workspace { width:calc(100% - 210px); padding:28px 25px 55px; }.content-grid,.bottom-grid { grid-template-columns:1fr; }.metric-grid,.profile-grid { grid-template-columns:repeat(2,1fr); }.product-layout { grid-template-columns:250px 1fr; } }
@media (max-width:760px) { .app-shell { display:block; }.sidebar { width:100%; height:auto; position:relative; padding:14px 14px 10px; }.brand-mark { margin:0 0 12px; }.factory-switch { grid-template-columns:1fr 1fr; margin-bottom:10px; }.nav-list { display:flex; overflow:auto; padding-bottom:2px; }.nav-item { white-space:nowrap; padding:8px 9px; }.sidebar-bottom { display:none; }.workspace { width:100%; padding:18px 12px 88px; }.topbar,.focus-banner { align-items:flex-start; flex-direction:column; }.topbar h1 { font-size:21px; }.topbar-actions { width:100%; justify-content:space-between; }.team-user b { max-width:90px; }.progress-wrap { width:100%; }.metric-grid { gap:8px; }.metric-card { padding:12px; }.metric-card strong { font-size:22px; }.panel { padding:15px; }.table-title,.product-heading { align-items:flex-start; flex-direction:column; }.table-controls { width:100%; }.search { flex:1; }.search input { width:100%; }.focus-banner { padding:20px; }.focus-banner h2 { font-size:20px; }.product-layout { display:block; }.product-index { max-height:none; display:flex; overflow-x:auto; border-right:0; border-bottom:1px solid var(--line); }.product-tab { min-width:190px; }.product-detail { padding:17px; }.product-photo { height:210px; }.spec-grid,.profile-grid,.grade-grid { grid-template-columns:1fr; }.spec-grid .wide { grid-column:span 1; }.contact-strip { grid-template-columns:1fr; }.draft-status { align-items:flex-start; flex-direction:column; }.draft-status span { text-align:left; }.activity-list { grid-template-columns:1fr; }.login-card { padding:24px 19px; border-radius:17px; }.login-card h1 { font-size:24px; } }
