:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#17211d;background:#f5f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased;background:#f5f7f5}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;background:#f5f7f5}.sidebar{position:fixed;inset:0 auto 0 0;z-index:2;width:220px;height:100vh;overflow-y:auto;background:#143a2e;color:#eef5ef;padding:24px 16px;display:flex;flex-direction:column}.brand-lockup{display:flex;gap:10px;align-items:center;margin:0 8px 42px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px 10px 10px 3px;background:#c6e3a1;color:#143a2e;font-weight:900}.brand-lockup strong{display:block;font-size:15px;letter-spacing:-.02em}.brand-lockup span{display:block;margin-top:4px;color:#a8c4b5;font-size:11px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{color:#c2d8cc;background:transparent;border:0;border-radius:8px;text-align:left;padding:12px 10px;display:flex;gap:12px;align-items:center;font-size:13px}.sidebar nav button:hover,.sidebar nav button.active{color:#143a2e;background:#eff7ee}.nav-index{font-size:10px;opacity:.7;width:20px}.sidebar-note{border-top:1px solid rgba(255,255,255,.15);margin-top:auto;padding:18px 8px 0;color:#bad2c3}.sidebar-note span{display:block;font-size:12px}.sidebar-note small{display:block;margin-top:6px;color:#7fa896;font-size:11px;line-height:1.5}.main-area{min-width:0;min-height:100vh;margin-left:220px}.topbar{height:58px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8e3;background:#ffffffd6}.breadcrumb{color:#68766e;font-size:12px}.breadcrumb span{color:#b0bbb4;padding:0 8px}.sync{display:flex;align-items:center;gap:8px;color:#50635a;font-size:12px}.sync i{width:8px;height:8px;border-radius:50%;background:#3c9e68}.sync span{color:#8b9991}.sync b{margin-left:12px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#143a2e;color:#fff;font-size:10px}.workspace-head{padding:34px 42px 26px;display:flex;justify-content:space-between;gap:30px}.eyebrow{margin:0 0 10px;color:#668376;font-size:10px;font-weight:750;letter-spacing:.14em}.workspace-head h1{margin:0;color:#18352b;font-size:clamp(26px,3vw,40px);letter-spacing:-.045em}.workspace-head p:not(.eyebrow){margin:12px 0 0;max-width:660px;color:#73827a;font-size:14px;line-height:1.6}.head-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding-top:14px;color:#8b9991;font-size:11px}.head-actions button{border:1px solid #bfd3c3;color:#2e6048;background:#f4faf3;border-radius:7px;padding:9px 15px;font-size:12px}.head-actions button:hover{background:#e6f3e5}.metric-strip{margin:0 42px 14px;display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid #e4ebe5;border-radius:12px}.metric{min-height:96px;display:flex;align-items:center;gap:12px;padding:18px 16px;border-right:1px solid #eef2ef}.metric:last-child{border-right:0}.metric-dot{width:11px;height:11px;flex:0 0 auto;border-radius:50%}.metric-dot.green{background:#62aa78}.metric-dot.amber{background:#e6b94f}.metric-dot.orange{background:#e68d5d}.metric-dot.blue{background:#6e9bc2}.metric-dot.red{background:#c36c5d}.metric small,.metric strong,.metric em{display:block}.metric small{color:#7b8981;font-size:11px}.metric strong{margin-top:5px;color:#19382d;font-size:23px;letter-spacing:-.04em}.metric em{margin-top:4px;color:#9aa69f;font-size:10px;font-style:normal}.completeness-panel{margin:0 42px 22px;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px 18px;border:1px solid #dfeadf;border-radius:9px;background:#eff7ee;color:#476651;font-size:11px}.completeness-panel div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.completeness-panel strong{color:#285d3c;font-size:12px}.completeness-panel span{padding-left:12px;border-left:1px solid #cfe0d0}.completeness-panel small{color:#78907d}.table-section{margin:0 42px;background:#fff;border:1px solid #e4ebe5;border-radius:12px;overflow:hidden}.toolbar{display:flex;align-items:center;gap:8px;padding:16px 18px;border-bottom:1px solid #edf1ee}.search{flex:1;min-width:180px;display:flex;align-items:center;gap:8px;border:1px solid #dce6de;border-radius:7px;padding:0 10px;color:#809187}.search span{font-size:20px;line-height:1}.search input{width:100%;border:0;outline:0;padding:10px 0;color:#2d463a;background:transparent;font-size:12px}.toolbar select,.filter-button{border:1px solid #dce6de;border-radius:7px;padding:10px 11px;color:#60736a;background:#fff;font-size:12px}.filter-button{color:#397253;background:#f5fbf4}.toolbar select:focus,.search:focus-within{border-color:#6aa878;outline:2px solid rgba(105,168,120,.16)}.table-heading,.company-row{display:grid;grid-template-columns:minmax(190px,1.3fr) 1fr minmax(180px,1.35fr) .9fr .48fr .58fr .75fr 22px;align-items:center;gap:10px;padding:0 18px}.table-heading{min-height:42px;color:#839088;background:#f7faf7;border-bottom:1px solid #e8eee9;font-size:11px}.company-list{min-height:540px}.company-row{width:100%;min-height:78px;border:0;border-bottom:1px solid #eff3f0;background:#fff;color:#53645a;text-align:left;font-size:11px}.company-row:hover{background:#f4faf3}.company-row:focus-visible{outline:2px solid #5ca36f;outline-offset:-2px}.company-name strong,.company-name small,.company-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-name strong{color:#27473a;font-size:12px}.company-name small{margin-top:4px;color:#99a59e;font-size:10px}.subline{margin-top:5px;color:#9ba79f;font-size:10px}.product-cell{overflow:hidden;line-height:1.35}.product-cell strong{display:block;color:#3a5a49;font-size:11px}.product-cell small{margin-top:3px;color:#89978e}.fit-stack{display:grid;gap:4px}.grade,.fit,.status,.completeness{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:5px;padding:4px 7px;font-size:10px;font-style:normal}.grade{min-width:25px;border-radius:50%;font-weight:800}.grade-a{background:#d7eedc;color:#257048}.grade-b{background:#fff0ce;color:#976913}.grade-c{background:#f8dfd7;color:#a1533f}.fit-fsc{color:#286b4a;background:#e1f1e5}.fit-grs{color:#496b81;background:#e2edf4}.completeness-high{color:#287047;background:#dcefe0}.completeness-mid{color:#916e18;background:#fff1cf}.completeness-low{color:#9b5544;background:#f8e1db}.status{color:#6d7771;background:#eef2ef}.chevron{color:#9daa9f;font-size:20px;text-align:right}.loading-state,.error-state{padding:80px 24px;text-align:center;color:#728178}.error-state{color:#a55342}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;color:#89968f;font-size:11px}.pagination{display:flex;align-items:center;gap:10px}.pagination button{border:1px solid #dce6de;background:#fff;border-radius:6px;color:#476b57;padding:7px 10px;font-size:11px}.pagination button:disabled{color:#b7c1ba;cursor:default}.source-note{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 42px 38px}.source-note div{display:flex;gap:12px;padding:15px 18px;border-left:3px solid #8dbd92;background:#eff7ee;color:#62746a;font-size:11px;line-height:1.55}.source-note strong{flex:0 0 auto;color:#2e6642;font-size:12px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#152b2342;z-index:3}.detail-drawer{width:min(520px,94vw);height:100%;overflow-y:auto;padding:34px 30px;background:#fff;box-shadow:-18px 0 40px #122c201f;position:relative}.close{position:absolute;top:22px;right:22px;border:0;background:transparent;color:#8b9991;font-size:26px}.detail-drawer h2{max-width:420px;margin:0;color:#18352b;font-size:27px;letter-spacing:-.04em}.detail-tags{display:flex;align-items:center;gap:7px;margin-top:13px}.detail-tags span{padding:5px 9px;border-radius:5px;background:#f2f5f2;color:#6f7c73;font-size:11px}.detail-tabs{display:flex;gap:17px;margin:25px 0 22px;border-bottom:1px solid #e8eee9}.detail-tabs button{border:0;border-bottom:2px solid transparent;padding:0 0 10px;color:#92a098;background:transparent;font-size:12px}.detail-tabs button.selected{color:#2c7247;border-bottom-color:#4e9c61}.detail-block{padding:0 0 20px;border-bottom:1px solid #edf1ee;margin-bottom:20px}.detail-block h3{margin:0 0 14px;color:#365247;font-size:13px}.detail-line{display:flex;justify-content:space-between;gap:20px;margin:10px 0;font-size:12px}.detail-line span{color:#9aa69f}.detail-line strong,.detail-line a{max-width:320px;color:#385b49;text-align:right;overflow-wrap:anywhere}.detail-line a{color:#3376a2;text-decoration:none}.product-detail,.contact-card,.evidence-card,.task-card{margin:11px 0;padding:11px 12px;border:1px solid #e8efe9;border-radius:7px}.product-detail strong,.product-detail span,.product-detail small,.contact-card small,.evidence-card span,.evidence-card small,.task-card span,.task-card small{display:block}.product-detail strong,.evidence-card strong,.task-card strong{color:#355a47;font-size:12px}.product-detail span,.evidence-card span,.task-card span{margin-top:6px;color:#6c7d72;font-size:11px}.product-detail small,.contact-card small,.evidence-card small,.task-card small{margin-top:6px;color:#9aa69f;font-size:10px}.evidence-card p,.task-card p{margin:8px 0 0;color:#6e7d74;font-size:11px;line-height:1.55}.evidence-card a{display:inline-block;margin-top:8px;color:#3376a2;font-size:11px}.task-card b{display:inline-block;margin-top:8px;padding:4px 7px;border-radius:5px;background:#eef2ef;color:#6d7771;font-size:10px}.quality-list{display:grid;gap:8px;padding:0;margin:0;list-style:none}.quality-list li{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:9px 10px;border-radius:6px;font-size:11px}.quality-list li.done{color:#37724c;background:#edf7ee}.quality-list li.missing{color:#946d23;background:#fff8df}.quality-list li span{font-weight:800}.quality-list li b{font-size:10px;font-weight:500}.muted{color:#9aa69f;font-size:12px}@media(max-width:1050px){.sidebar{width:188px}.main-area{margin-left:188px}.workspace-head,.metric-strip,.completeness-panel,.table-section,.source-note{margin-left:24px;margin-right:24px}.workspace-head{padding-left:0;padding-right:0}.metric-strip{grid-template-columns:repeat(3,1fr)}.metric:nth-child(3){border-right:0}.metric:nth-child(-n+3){border-bottom:1px solid #eef2ef}.table-heading,.company-row{grid-template-columns:minmax(190px,1.5fr) 1fr minmax(160px,1.1fr) .8fr .45fr .55fr .7fr 22px}.toolbar{flex-wrap:wrap}.search{flex:1 1 100%}.table-heading span:nth-child(4),.company-row>span:nth-child(4){display:none}}@media(max-width:760px){.sidebar{width:64px;padding:18px 8px}.main-area{margin-left:64px}.brand-lockup{margin:0 auto 30px}.brand-lockup>div:last-child,.sidebar nav button:not(.active){display:none}.sidebar nav button{justify-content:center;padding:12px 0}.nav-index{width:auto}.sidebar-note{display:none}.topbar{padding:0 18px}.breadcrumb{display:none}.workspace-head{display:block;padding-top:24px}.head-actions{align-items:flex-start}.metric-strip,.source-note{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid #eef2ef}.metric:last-child{border-bottom:0}.completeness-panel{align-items:flex-start;flex-direction:column}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.toolbar select,.filter-button{flex:1 1 40%}.table-section{overflow-x:auto}.table-heading,.company-row{min-width:940px}.source-note{margin-bottom:24px}.detail-drawer{padding:28px 22px}}.mobile-prototype{width:min(100vw,390px);height:min(100dvh,844px);margin-inline:auto;overflow:hidden;position:relative}.source-card{margin:11px 0;padding:11px 12px;border:1px solid #e8efe9;border-radius:7px}.source-card strong,.source-card span{display:block}.source-card strong{color:#355a47;font-size:12px}.source-card span{margin-top:6px;color:#6c7d72;font-size:11px}.source-card a{display:inline-block;margin-top:8px;color:#3376a2;font-size:11px}@media(max-width:1050px){.workspace-view{margin-left:24px;margin-right:24px}.data-table{overflow-x:auto}.data-row{min-width:780px}}@media(max-width:760px){.workspace-view{margin-left:18px;margin-right:18px}.view-intro{align-items:flex-start;flex-direction:column}.view-stat-strip,.quality-dashboard{grid-template-columns:1fr}.quality-warning{grid-column:auto}}.workspace-view{margin:0 42px 38px}.view-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;padding:24px 26px;border:1px solid #e0e9e1;border-radius:12px;background:#fff}.view-intro h2{margin:0;color:#18352b;font-size:27px;letter-spacing:-.04em}.view-intro p:not(.eyebrow){margin:8px 0 0;color:#74847a;font-size:13px}.view-count{color:#397253;font-size:12px}.view-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.view-stat-strip .metric{min-height:82px;border:1px solid #e4ebe5;border-radius:10px;background:#fff}.data-table{overflow:hidden;border:1px solid #e4ebe5;border-radius:12px;background:#fff}.data-row{width:100%;display:grid;grid-template-columns:1.45fr 1fr 1.3fr .8fr .8fr 1.15fr;align-items:center;gap:14px;min-height:68px;padding:12px 18px;border:0;border-bottom:1px solid #edf1ee;background:#fff;color:#53645a;text-align:left;font-size:11px}button.data-row{cursor:pointer}.data-row:hover{background:#f4faf3}.data-row strong,.data-row small{display:block}.data-row strong{color:#315343;font-size:12px}.data-row small{margin-top:5px;color:#93a098;font-size:10px;line-height:1.35}.data-header{min-height:42px;color:#839088;background:#f7faf7;font-size:11px}.data-header:hover{background:#f7faf7}.data-row a{color:#3376a2;text-decoration:none}.quality-dashboard{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.quality-card,.quality-warning{padding:18px;border:1px solid #e4ebe5;border-radius:10px;background:#fff}.quality-card>div:first-child{display:flex;align-items:center;justify-content:space-between}.quality-card strong{color:#355a47;font-size:13px}.quality-card b{color:#2c7247;font-size:23px}.quality-card small{display:block;margin-top:10px;color:#89978f;font-size:11px}.quality-bar{height:8px;margin-top:14px;overflow:hidden;border-radius:99px;background:#edf2ee}.quality-bar i{display:block;height:100%;border-radius:inherit;background:#62aa78}.quality-warning{grid-column:1 / -1;border-left:3px solid #d29b3d;background:#fff8e5}.quality-warning strong{color:#8b681f;font-size:13px}.quality-warning p{margin:8px 0 0;color:#7b704e;font-size:12px;line-height:1.6}.contact-mode{display:flex;align-items:center;gap:8px;margin-bottom:10px}.contact-mode button{border:1px solid #dce6de;border-radius:7px;padding:9px 13px;color:#60736a;background:#fff;font-size:12px}.contact-mode button.selected{color:#fff;border-color:#2e6d48;background:#2e6d48}.contact-mode span{margin-left:8px;color:#9a7b37;font-size:11px}.contact-safety{margin-bottom:14px;padding:12px 14px;border-left:3px solid #d29b3d;background:#fff8e5;color:#7b704e;font-size:11px;line-height:1.5}.draft-preview{display:grid;gap:9px;margin-bottom:16px;padding:16px;border:1px solid #bcd9c0;border-radius:10px;background:#f4fbf3}.draft-preview>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.draft-preview strong{color:#2f6645;font-size:13px}.draft-preview span{color:#7b8b80;font-size:10px}.draft-preview input,.draft-preview textarea{width:100%;border:1px solid #d5e5d7;border-radius:6px;padding:9px;color:#3d5648;background:#fff;font-size:11px;line-height:1.55;resize:vertical}.draft-preview button{justify-self:end;border:1px solid #bdd3c1;border-radius:6px;padding:7px 11px;color:#397253;background:#fff;font-size:11px}.draft-button{border:1px solid #9bc7a2;border-radius:6px;padding:6px 8px;color:#2f7149;background:#f1faf1;font-size:10px}.plan-status{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:5px 8px;font-size:10px;font-style:normal;white-space:nowrap}.plan-ready{color:#287047;background:#dcefe0}.plan-review{color:#916e18;background:#fff1cf}.plan-missing{color:#9b5544;background:#f8e1db}.promotion-plan{color:#53645a}.plan-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:13px 15px;border:1px solid #e4ebe5;border-radius:8px;background:#f7faf7;color:#718178;font-size:12px}.plan-summary strong{font-weight:650}.next-action{padding:12px 13px;border-left:3px solid #6aa878;border-radius:0 6px 6px 0;background:#eff7ee;color:#426550;font-size:12px;line-height:1.55}.plan-steps{display:grid;gap:8px;margin:14px 0 0;padding-left:22px;color:#65776c;font-size:11px;line-height:1.45}.plan-steps li::marker{color:#5c9f6c;font-weight:700}.send-boundary{margin-top:16px;padding:12px 13px;border-left:3px solid #d29b3d;border-radius:0 6px 6px 0;background:#fff8e5;color:#7b704e;font-size:11px;line-height:1.55}
