:root{color:#193046;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f9fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#f7f9fc;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.62}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #277bc740}.app-shell{background:#f7f9fc;min-height:100vh;display:flex}.sidebar{color:#b7c5d7;z-index:30;background:#18324f;flex-direction:column;flex:0 0 244px;width:244px;height:100vh;padding:20px 13px 14px;display:flex;position:sticky;top:0}.brand-row{color:#fff;align-items:center;gap:10px;min-height:42px;padding:0 10px;display:flex}.brand-mark{color:#fff;background:#208b8e;border-radius:8px;place-items:center;width:29px;height:29px;font-size:15px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #ffffff24}.brand-copy{line-height:1.15;display:grid}.brand-copy strong{color:#fff;letter-spacing:.01em;font-size:16px}.brand-copy span{color:#9eb0c7;margin-top:3px;font-size:11px}.mobile-close{color:#c4d1df;background:0 0;margin-left:auto;padding:6px;display:none}.nav-label{color:#7d94ae;letter-spacing:.08em;padding:29px 12px 8px;font-size:10px;font-weight:700}.nav-label-system{padding-top:20px}.side-nav{gap:3px;display:grid}.nav-item{color:#b8c7d7;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:12px;width:100%;height:38px;padding:0 12px;font-size:13px;transition:background .16s,color .16s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.is-active{color:#fff;background:#28577d;box-shadow:inset 3px 0 #56c0b8}.nav-item svg{flex:none}.sidebar-bottom{margin-top:auto;padding:10px 7px 0}.demo-mode{color:#9bb0c7;border-top:1px solid #c2d6ec1f;align-items:center;gap:7px;padding:15px 5px 12px;font-size:11px;display:flex}.demo-dot{background:#58c3b1;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #58c3b11f}.sidebar-user{align-items:center;gap:9px;padding:9px 4px;display:flex}.sidebar-user>div{gap:2px;min-width:0;display:grid}.sidebar-user strong{color:#f4f8fd;font-size:12px}.sidebar-user span{text-overflow:ellipsis;white-space:nowrap;color:#92a7bd;font-size:10px;overflow:hidden}.app-main{flex:1;min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-bottom:1px solid #e4ebf2;justify-content:space-between;align-items:center;height:65px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-left,.topbar-actions{align-items:center;gap:13px;display:flex}.global-search{color:#8aa0b8;background:#f8fafc;border:1px solid #e2e9f0;border-radius:7px;align-items:center;gap:8px;width:min(330px,34vw);height:34px;padding:0 11px;display:flex}.global-search input{color:#334e68;background:0 0;border:0;outline:0;width:100%;font-size:12px}.global-search input::placeholder{color:#92a4b8}.icon-button{color:#58708b;background:0 0;border-radius:7px;place-items:center;width:34px;height:34px;transition:background .16s,color .16s;display:inline-grid}.icon-button:hover{color:#18324f;background:#eef4f8}.mobile-menu{display:none}.role-switcher{background:#fff;border:1px solid #e0e8ef;border-radius:8px;align-items:center;gap:8px;height:36px;padding:0 4px 0 3px;display:flex}.role-switcher select{appearance:none;color:#28455f;cursor:pointer;background:0 0;border:0;outline:0;padding:0 0 0 1px;font-size:12px;font-weight:650}.role-switcher svg{color:#7c92a8;pointer-events:none;margin-left:-5px}.notice-bar{color:#215b65;background:#e4f4f0;border-bottom:1px solid #cceae2;align-items:center;gap:8px;min-height:36px;padding:7px 32px;font-size:12px;display:flex}.notice-bar svg{color:#178278;flex:none}.page-content{max-width:1600px;margin:0 auto;padding:31px 32px 48px}.section-title{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:25px;display:flex}.section-title h1{color:#173149;letter-spacing:-.025em;margin:0;font-size:25px;line-height:1.2}.section-title p{color:#758a9e;margin:8px 0 0;font-size:13px;line-height:1.5}.section-title-action{flex:none}.eyebrow{color:#4a7c9b;letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700}.button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 13px;font-size:12px;font-weight:700;transition:transform .12s,background .16s,border-color .16s;display:inline-flex}.button:active{transform:translateY(1px)}.button-primary{color:#fff;background:#207c8a;box-shadow:0 2px 7px #207c8a26}.button-primary:hover{background:#176d7a}.button-secondary{color:#264a67;background:#fff;border-color:#d9e3ec}.button-secondary:hover{background:#f8fbfd;border-color:#aebfd0}.text-button{color:#3374a8;background:0 0;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:700;display:inline-flex}.text-button:hover{color:#205f91}.count-label{color:#8194a7;font-size:11px}.label,.form-label{color:#7a8fa5;font-size:11px;font-weight:700}.panel{background:#fff;border:1px solid #e1e9f0;border-radius:8px;min-width:0;box-shadow:0 1px 2px #17314906}.panel-head{border-bottom:1px solid #e8eef3;justify-content:space-between;align-items:center;gap:16px;min-height:53px;padding:0 20px;display:flex}.panel-head h2{color:#28455f;letter-spacing:-.01em;margin:0;font-size:14px}.panel-subtitle{color:#7c90a4;padding:0 20px;font-size:12px;line-height:1.5}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:15px;display:grid}.stat-card{background:#fff;border:1px solid #e1e9f0;border-radius:8px;align-items:flex-start;gap:12px;min-height:102px;padding:18px 16px;display:flex}.stat-icon{border-radius:7px;flex:none;place-items:center;width:32px;height:32px;display:grid}.stat-blue{color:#2e78c5;background:#e8f1fd}.stat-teal{color:#157b78;background:#e6f5f1}.stat-orange{color:#c77823;background:#fff3e5}.stat-purple{color:#7d5cae;background:#f1ebf9}.stat-card>div:last-child{gap:3px;min-width:0;display:grid}.stat-card span{color:#72879b;font-size:11px}.stat-card strong{color:#19364f;letter-spacing:-.04em;font-size:25px;line-height:1}.stat-card small{color:#9aacbb;font-size:10px}.workspace-grid{grid-template-columns:minmax(0,1.46fr) minmax(290px,.84fr);gap:15px;margin-bottom:15px;display:grid}.pending-panel .data-table{min-width:700px}.data-table-wrap{overflow:auto}.data-table{border-collapse:collapse;color:#3a5269;width:100%;font-size:12px}.data-table th{text-align:left;color:#8093a6;letter-spacing:.03em;white-space:nowrap;background:#fbfcfd;border-bottom:1px solid #e5ecf2;padding:12px 14px;font-size:10px;font-weight:800}.data-table td{vertical-align:middle;border-bottom:1px solid #edf2f6;padding:13px 14px;line-height:1.45}.data-table tbody tr:last-child td{border-bottom:0}.clickable-row{cursor:pointer;transition:background .16s}.clickable-row:hover{background:#f7fbfd}.data-table strong{color:#29475f;font-size:12px;font-weight:700;display:block}.subcell{color:#8da0b0;margin-top:3px;font-size:10px;display:block}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;min-height:22px;padding:3px 8px;font-size:10px;font-weight:750;line-height:1;display:inline-flex}.status-badge.is-small{min-height:20px;padding:3px 7px;font-size:9px}.tone-slate{color:#64798d;background:#f4f7f9;border-color:#e0e8ef}.tone-blue{color:#286da8;background:#eef6ff;border-color:#d8e7f5}.tone-teal{color:#13736f;background:#eef9f6;border-color:#d4ebe6}.tone-orange{color:#a8601b;background:#fff6eb;border-color:#f6dfc5}.tone-purple{color:#7451a3;background:#f7f2fc;border-color:#e8dff5}.tone-green{color:#4c7c4c;background:#f0f8ed;border-color:#d9ead4}.tone-red{color:#a7474e;background:#fff3f4;border-color:#f0d8db}.stage-panel{padding-bottom:4px}.stage-timeline{padding:12px 19px}.timeline-step{color:#90a1af;gap:11px;min-height:39px;display:flex;position:relative}.timeline-step:not(:last-child):before{content:"";background:#dce6ed;width:1px;position:absolute;top:23px;bottom:-4px;left:9px}.timeline-dot{z-index:1;color:#fff;background:#fff;border:1px solid #cad8e2;border-radius:50%;flex:none;place-items:center;width:19px;height:19px;display:grid;position:relative}.timeline-step.is-passed .timeline-dot{background:#7abdb5;border-color:#8dc6c0}.timeline-step.is-current .timeline-dot{color:#2d8c8c;background:#e4f5f1;border-color:#2d8c8c}.timeline-step>div{gap:1px;display:grid;transform:translateY(-2px)}.timeline-step strong{color:inherit;font-size:11px}.timeline-step small{color:#9baab8;font-size:10px}.timeline-step.is-current strong{color:#23566b}.lower-grid{grid-template-columns:1.18fr .82fr;gap:15px;margin-bottom:15px;display:grid}.chart-key{color:#7c90a4;flex-wrap:wrap;gap:13px;font-size:10px;display:flex}.chart-key span{align-items:center;gap:5px;display:inline-flex}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot-blue{background:#3d82d3}.dot-teal{background:#38a49b}.chart-shell{padding:9px 17px 8px}.chart-shell.large{padding:16px 20px 12px}.trend-chart{width:100%;height:135px;overflow:visible}.chart-grid{stroke:#e9eff4;stroke-width:1px}.chart-line{fill:none;stroke-width:2.2px}.chart-line-blue{stroke:#3f83d1}.chart-line-teal{stroke:#31a298}.chart-point{stroke:#fff;stroke-width:1.8px}.chart-point-blue{fill:#3f83d1}.chart-point-teal{fill:#31a298}.chart-xlabels{color:#94a4b2;justify-content:space-between;padding:0 4px;font-size:9px;display:flex}.risk-list{padding:5px 18px 7px}.risk-row{border-bottom:1px solid #ecf1f4;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;column-gap:9px;padding:11px 0;display:grid}.risk-row:last-child{border-bottom:0}.risk-dot{border-radius:50%;width:7px;height:7px}.risk-高{background:#d66062}.risk-中{background:#dc9a42}.risk-低{background:#75ac88}.risk-row>div{gap:2px;display:grid}.risk-row strong{color:#344f66;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.risk-row small{color:#93a3b1;font-size:10px}.risk-row time{color:#8da0b0;font-size:10px}.activity-panel{padding-bottom:2px}.activity-list{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.activity-row{border-right:1px solid #edf1f5;grid-template-rows:auto auto;grid-template-columns:25px 1fr;column-gap:8px;min-width:0;padding:16px 16px 17px;display:grid}.activity-row:last-child{border-right:0}.activity-icon{border-radius:50%;grid-row:1/span 2;place-items:center;width:23px;height:23px;display:grid}.activity-check{color:#36856d;background:#e9f7f1}.activity-progress{color:#347ac3;background:#eaf3fd}.activity-quote{color:#ad7636;background:#fff3e4}.activity-report{color:#7e61ae;background:#f2edf9}.activity-row strong{color:#41586b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.4;overflow:hidden}.activity-row time{color:#9bacba;margin-top:3px;font-size:10px}.customer-layout{grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:15px;display:grid}.customer-list-panel{overflow:hidden}.customer-list-panel .search-field{margin:14px}.search-field{color:#91a2b0;background:#fafcfd;border:1px solid #e0e8ee;border-radius:7px;align-items:center;gap:8px;min-height:35px;padding:0 10px;display:flex}.search-field input{color:#39536b;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.customer-list{border-top:1px solid #eef2f5}.customer-row{color:#28475f;text-align:left;background:#fff;border-bottom:1px solid #edf2f5;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:13px 14px;display:grid}.customer-row:hover,.customer-row.is-selected{background:#f3f8fb}.customer-row.is-selected{box-shadow:inset 3px 0 #2a8d8b}.customer-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.customer-row strong{color:#314f67;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.customer-row small{color:#8d9ead;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.customer-symbol{border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.customer-food{color:#3779bf;background:#eaf3fb}.customer-agri{color:#5d8d61;background:#edf7eb}.customer-detail-panel{padding:0 22px 22px}.customer-detail-panel .panel-head{margin:0 -22px;padding:0 22px}.detail-meta{color:#7e91a3;flex-wrap:wrap;gap:9px;margin:17px 0 0;font-size:11px;display:flex}.detail-meta span:not(:last-child):after{color:#bdc9d2;content:"·";margin-left:9px}.detail-note{color:#506a80;margin:13px 0 19px;font-size:13px;line-height:1.65}.detail-grid{border:1px solid #e5ecf2;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.detail-grid>div{border-bottom:1px solid #e5ecf2;border-right:1px solid #e5ecf2;gap:5px;min-height:72px;padding:13px 14px;display:grid}.detail-grid>div:nth-child(2n){border-right:0}.detail-grid>div:nth-last-child(-n+2){border-bottom:0}.detail-grid span{color:#8296a8;font-size:10px}.detail-grid strong{color:#3b566d;font-size:12px}.tag-row{flex-wrap:wrap;gap:5px;display:flex}.service-tag{background:#eaf6f5;border-radius:4px;padding:3px 6px;color:#296c83!important;font-size:10px!important}.subsection-heading{justify-content:space-between;align-items:center;margin:22px 0 10px;display:flex}.subsection-heading h3{color:#304d64;margin:0;font-size:13px}.subsection-heading span{color:#90a1af;font-size:10px}.mini-project-list{gap:7px;display:grid}.mini-project{border:1px solid #e7edf2;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.mini-project>span{gap:3px;min-width:0;display:grid}.mini-project strong{color:#3c556b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mini-project small{color:#98a8b6;font-size:10px}.empty-inline{color:#90a1b0;text-align:center;border:1px dashed #dce6ed;border-radius:6px;padding:16px;font-size:11px}.detail-actions{gap:9px;margin-top:19px;display:flex}.table-tools{border-bottom:1px solid #e8eef3;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.table-tools .search-field{width:min(300px,100%)}.filter-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-button{color:#6a8094;background:#fff;border:1px solid #e1e8ef;border-radius:5px;min-height:29px;padding:0 9px;font-size:11px}.filter-button:hover{border-color:#b8c9d7}.filter-button.is-active{color:#126c70;background:#eaf7f5;border-color:#c4e4de;font-weight:700}.projects-table{min-width:970px}.table-progress{align-items:center;gap:7px;min-width:100px;display:flex}.table-progress small{color:#7990a3;font-size:10px}.progress-track{background:#eaf0f4;border-radius:99px;width:100%;min-width:55px;height:5px;overflow:hidden}.progress-fill{border-radius:inherit;height:100%;display:block}.fill-teal{background:#2a9d97}.fill-blue{background:#3c81cc}.quote-toolbar{border-bottom:1px solid #e9eef3;justify-content:space-between;align-items:flex-end;gap:16px;padding:17px 19px;display:flex}.quote-toolbar>div:first-child{gap:6px;display:grid}.quote-toolbar select{color:#344f67;background:#fff;border:1px solid #dee7ee;border-radius:6px;outline:0;min-width:270px;height:34px;padding:0 10px;font-size:12px}.quote-rule{color:#628195;gap:8px;max-width:300px;font-size:10px;line-height:1.5;display:flex}.quote-rule svg{color:#2b8c8a;flex:none}.quote-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;padding:19px;display:grid}.quote-card{background:#fff;border:1px solid #e1e9ef;border-radius:8px;flex-direction:column;min-height:308px;display:flex;overflow:hidden}.quote-card.is-selected{border-color:#83c6b9;box-shadow:0 0 0 2px #3aa19117}.quote-card-head{border-bottom:1px solid #eaf0f4;justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 15px 13px;display:flex}.quote-card-head>div{grid-template-columns:30px 1fr;column-gap:9px;display:grid}.quote-partner-symbol{color:#3977b7;background:#ebf3fb;border-radius:7px;grid-row:1/span 2;place-items:center;width:29px;height:29px;display:grid}.quote-card h3{color:#2b4a62;margin:0;font-size:13px}.quote-card-head p{color:#8b9cac;margin:4px 0 0;font-size:10px;line-height:1.45}.quote-cost{padding:16px 15px 10px}.quote-cost span{color:#8799a8;font-size:10px;display:block}.quote-cost strong{color:#233c53;letter-spacing:-.04em;margin:5px 0;font-size:24px;display:block}.quote-cost small{color:#9baab7;font-size:10px}.quote-detail{gap:10px;margin:0;padding:4px 15px 16px;display:grid}.quote-detail div{gap:3px;display:grid}.quote-detail dt{color:#879aaa;font-size:10px}.quote-detail dd{color:#4b6479;margin:0;font-size:11px;line-height:1.5}.quote-card-footer{border-top:1px solid #eaf0f4;align-items:center;min-height:48px;margin-top:auto;padding:10px 15px;display:flex}.selected-line{color:#3d7c65;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.muted{color:#98a8b5;font-size:10px}.info-panel{margin-top:15px}.three-rule{grid-template-columns:repeat(3,1fr);display:grid}.three-rule>div{border-right:1px solid #e8eef3;gap:9px;padding:17px;display:flex}.three-rule>div:last-child{border-right:0}.three-rule span{color:#28777a;background:#e7f4f1;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:10px;font-weight:800;display:grid}.three-rule p{color:#5d7488;margin:2px 0 0;font-size:11px;line-height:1.55}.project-banner{background:#fff;border:1px solid #dce8ef;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;padding:18px 20px;display:flex}.project-banner-title{align-items:center;gap:12px;display:flex}.service-emblem{color:#3476bd;background:#eaf3fc;border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.service-emblem.emerald{color:#52885b;background:#eef7ec}.project-banner-title h2{color:#29485f;margin:0;font-size:16px}.project-banner-title p{color:#8c9dab;margin:5px 0 0;font-size:11px}.project-banner-meta{align-items:center;gap:23px;display:flex}.project-banner-meta>div:not(.status-badge){gap:4px;display:grid}.project-banner-meta span{color:#8ea0af;font-size:10px}.project-banner-meta strong{color:#405a71;font-size:12px}.tabs{background:#fff;border:1px solid #e1e9ef;border-radius:7px;gap:3px;width:max-content;max-width:100%;margin-bottom:15px;padding:4px;display:flex;overflow-x:auto}.tabs button{color:#778da1;white-space:nowrap;background:0 0;border-radius:5px;min-height:29px;padding:0 11px;font-size:11px;font-weight:700}.tabs button.is-active{color:#256f75;background:#e7f5f2}.traffic-grid{grid-template-columns:1.08fr .92fr;gap:15px;display:grid}.task-list{padding:5px 17px}.task-row{border-bottom:1px solid #edf2f5;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.task-row:last-child{border-bottom:0}.task-check{color:#fff;background:#fff;border:1px solid #cbd9e3;border-radius:5px;place-items:center;width:19px;height:19px;display:grid}.task-check.is-done{background:#55a892;border-color:#6ab9a5}.task-row>div{gap:3px;min-width:0;display:grid}.task-row strong{color:#3b566c;font-size:12px}.task-row small{color:#95a5b3;font-size:10px}.delivery-list{padding:8px 17px;display:grid}.delivery-list>div{border-bottom:1px solid #edf2f5;align-items:flex-start;gap:9px;padding:10px 0;display:flex}.delivery-list>div:last-child{border-bottom:0}.delivery-list svg{color:#378d80;flex:none;margin-top:1px}.delivery-list span{gap:3px;display:grid}.delivery-list strong{color:#435d73;font-size:11px}.delivery-list small{color:#95a5b2;font-size:10px}.metric-list{grid-template-columns:1fr 1fr;margin:0;display:grid}.metric-list div{border-bottom:1px solid #e9eff3;border-right:1px solid #e9eff3;gap:5px;padding:16px;display:grid}.metric-list div:nth-child(2n){border-right:0}.metric-list div:nth-last-child(-n+2){border-bottom:0}.metric-list dt{color:#8497a8;font-size:10px}.metric-list dd{color:#2d4f68;margin:0;font-size:18px;font-weight:750}.metric-list small{color:#9aabb8;margin-top:3px;font-size:9px;font-weight:400;display:block}.report-preview{padding:22px}.report-kicker{color:#3c8079;font-size:10px;font-weight:700}.report-preview h3{color:#29475f;margin:8px 0;font-size:18px}.report-preview p{color:#516b7f;max-width:780px;font-size:13px;line-height:1.75}.report-points{gap:7px;margin:16px 0;display:grid}.report-points span{color:#687f92;padding-left:16px;font-size:11px;position:relative}.report-points span:before{content:"";background:#63b5aa;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;left:1px}.acceptance-grid{grid-template-columns:repeat(4,1fr);display:grid}.acceptance-grid>div{border-right:1px solid #e8eef3;gap:6px;min-height:87px;padding:17px;display:grid}.acceptance-grid>div:last-child{border-right:0}.acceptance-grid span{color:#8c9dac;font-size:10px}.acceptance-grid strong{color:#435f75;font-size:12px;line-height:1.5}.soft-note{color:#7f92a2;margin:0;padding:0 17px 17px;font-size:11px;line-height:1.65}.ai-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);gap:17px;display:grid}.input-scope{flex-wrap:wrap;gap:6px;margin:7px 0 16px;display:flex}.input-scope span{color:#397273;background:#eff9f8;border:1px solid #d9e9ed;border-radius:5px;padding:5px 7px;font-size:10px}.ai-layout textarea,.generator-form textarea{resize:vertical;color:#415b70;background:#fbfdfe;border:1px solid #dce6ed;border-radius:7px;outline:0;width:100%;min-height:108px;margin:7px 0 10px;padding:10px;font-size:12px;line-height:1.65}.ai-hint{color:#7d8d9b;gap:6px;margin:8px 0 14px;font-size:10px;line-height:1.55;display:flex}.ai-hint svg{color:#c68438;flex:none}.ai-result-box{color:#5b7488;text-align:center;background:#fbfdfd;border:1px dashed #cadce4;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:19px;display:flex}.ai-result-box>svg{color:#4c92a5;margin-bottom:9px}.ai-result-box strong{color:#3a596e;font-size:13px}.ai-result-box p{color:#8b9ca9;margin:7px 0 14px;font-size:11px;line-height:1.6}.ai-result-box h3{color:#32536a;margin:12px 0 7px;font-size:15px}.loading-ring{border:3px solid #d7e9ec;border-top-color:#2c8d88;border-radius:50%;width:26px;height:26px;margin-bottom:11px;animation:.9s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.agri-layout{grid-template-columns:minmax(290px,.85fr) minmax(0,1.15fr);gap:15px;display:grid}.material-list{padding:5px 0}.material-row{color:#354f65;text-align:left;background:#fff;border-bottom:1px solid #edf2f5;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:11px 16px;display:grid}.material-row:last-child{border-bottom:0}.material-row:hover,.material-row.is-selected{background:#f5fafb}.material-row.is-selected{box-shadow:inset 3px 0 #2b8d88}.material-icon{border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.material-green{color:#4f8b60;background:#edf7ec}.material-orange{color:#bf7730;background:#fff4e8}.material-red{color:#ad555c;background:#fff0f1}.material-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.material-row strong{color:#3c566c;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.material-row small{color:#93a5b3;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.material-detail-panel{padding:0 20px 20px}.material-detail-panel .panel-head{margin:0 -20px;padding:0 20px}.material-title{justify-content:space-between;align-items:flex-start;gap:14px;padding:19px 0 15px;display:flex}.material-title h2{color:#2e5069;margin:5px 0 3px;font-size:17px}.material-title p{color:#8c9eac;margin:0;font-size:11px}.audit-block{background:#f4fbfa;border:1px solid #dcebed;border-radius:7px;padding:13px}.audit-label{color:#317a79;align-items:center;gap:6px;font-size:10px;font-weight:800;display:inline-flex}.audit-block p{color:#526f7e;margin:7px 0 0;font-size:12px;line-height:1.7}.material-meta{border:1px solid #e4ecf2;border-radius:7px;grid-template-columns:repeat(3,1fr);margin:15px 0;display:grid;overflow:hidden}.material-meta div{border-right:1px solid #e4ecf2;gap:5px;padding:12px;display:grid}.material-meta div:last-child{border-right:0}.material-meta dt{color:#8b9ba8;font-size:10px}.material-meta dd{color:#4e687c;margin:0;font-size:11px;line-height:1.45}.material-actions{gap:9px;display:flex}.rule-panel{margin-top:15px}.rule-grid{grid-template-columns:repeat(4,1fr);display:grid}.rule-grid>div{border-right:1px solid #e7eef3;padding:16px}.rule-grid>div:last-child{border-right:0}.rule-grid span{color:#2f7077;font-size:11px;font-weight:800}.rule-grid p{color:#73889a;margin:7px 0 0;font-size:10px;line-height:1.6}.market-tabs{margin-bottom:15px}.market-overview{grid-template-columns:1fr 1fr;gap:0;display:grid}.market-key-figures{border-top:1px solid #edf2f5;grid-template-columns:1fr 1fr;display:grid}.market-key-figures>div{border-bottom:1px solid #e9eff4;border-right:1px solid #e9eff4;gap:4px;min-height:95px;padding:16px 20px;display:grid}.market-key-figures span{color:#8b9dac;font-size:10px}.market-key-figures strong{color:#2f5069;letter-spacing:-.035em;font-size:22px}.market-key-figures small{color:#9aaab7;font-size:9px}.market-text{border-left:1px solid #e8eff4;padding:19px 22px}.market-text p{color:#5d7487;font-size:12px;line-height:1.75}.source-strip{color:#47788a;background:#f5fbfc;border:1px solid #dcecf0;border-radius:6px;gap:7px;padding:10px;font-size:10px;line-height:1.5;display:flex}.source-strip svg{color:#298782;flex:none}.share-layout{grid-template-columns:240px minmax(0,1fr);align-items:center;gap:28px;padding:22px;display:grid}.donut{border-radius:50%;place-items:center;width:175px;height:175px;margin:0 auto;display:grid;position:relative}.donut:before{content:"";background:#fff;border-radius:50%;width:111px;height:111px;position:absolute}.donut-core{z-index:1;text-align:center;display:grid;position:relative}.donut-core strong{color:#2e4d65;font-size:22px}.donut-core span{color:#92a3b1;font-size:9px}.chart-caption{color:#8fa0ad;text-align:center;margin:11px 0 0;font-size:10px}.bar-list{gap:13px;display:grid}.bar-row{color:#5e7588;grid-template-columns:100px minmax(80px,1fr) 38px 90px;align-items:center;gap:10px;font-size:11px;display:grid}.bar-track{background:#ecf1f4;border-radius:99px;height:7px;overflow:hidden}.bar-track i{border-radius:inherit;height:100%;display:block}.bar-row strong{color:#465f74;font-size:11px}.bar-row small{color:#99a8b4;font-size:9px}.row-action{color:#3373a5;background:0 0;align-items:center;gap:3px;font-size:11px;font-weight:700;display:inline-flex}.ai-workbench{grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:15px;display:grid}.template-list{display:grid}.template-item{color:#415c72;text-align:left;background:#fff;border-bottom:1px solid #edf2f5;grid-template-columns:31px minmax(0,1fr);gap:9px;padding:14px 16px;display:grid}.template-item:last-child{border-bottom:0}.template-item:hover,.template-item.is-selected{background:#f5fafb}.template-item.is-selected{box-shadow:inset 3px 0 #2d8b88}.template-icon{color:#3d8093;background:#e9f5f7;border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.template-item>span:last-child{gap:3px;display:grid}.template-item small{color:#688397;font-size:9px}.template-item strong{color:#35536a;font-size:12px}.template-item em{color:#9aa9b6;font-size:10px;font-style:normal;line-height:1.45;overflow:hidden}.generator-panel{grid-template-columns:minmax(260px,.78fr) minmax(310px,1.22fr);display:grid}.generator-panel .panel-head{grid-column:1/-1}.generator-form{border-right:1px solid #e8eff3;padding:19px}.ai-policy{color:#8d704b;background:#fffaf3;border:1px solid #f0e0c5;border-radius:6px;gap:7px;margin:9px 0 14px;padding:10px;font-size:10px;line-height:1.55;display:flex}.ai-policy svg{color:#c48940;flex:none}.draft-area{flex-direction:column;min-height:370px;padding:19px;display:flex}.draft-empty{color:#83a0af;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.draft-empty svg{color:#6d9faf;margin-bottom:10px}.draft-empty h3{color:#526e82;margin:0;font-size:14px}.draft-empty p{color:#94a5b3;max-width:220px;font-size:11px;line-height:1.65}.draft-head{justify-content:space-between;align-items:center;display:flex}.draft-head>div{align-items:center;gap:7px;display:flex}.draft-head span{color:#93a2ae;font-size:10px}.draft-editor{min-height:210px!important;margin:14px 0!important}.draft-footer{color:#91a2af;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.admin-grid{grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px;display:grid}.role-matrix{padding:6px 17px}.role-matrix>div{border-bottom:1px solid #edf2f5;align-items:center;gap:10px;padding:11px 0;display:flex}.role-matrix>div:last-child{border-bottom:0}.role-matrix span{flex:1;gap:2px;display:grid}.role-matrix strong{color:#405d72;font-size:12px}.role-matrix small{color:#93a3b0;font-size:10px}.role-matrix svg{color:#93a5b2}.config-status{gap:11px;padding:18px 18px 9px;display:flex}.config-symbol{color:#a9793a;background:#fff4e5;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.config-status strong{color:#486175;font-size:12px}.config-status p{color:#8b9ca9;margin:4px 0 0;font-size:10px;line-height:1.6}.admin-grid .button{margin:0 18px 18px}.log-list{display:grid}.log-list>div{border-bottom:1px solid #edf2f5;grid-template-columns:64px 78px 1fr auto;align-items:center;gap:10px;padding:13px 17px;display:grid}.log-list>div:last-child{border-bottom:0}.log-list span{color:#92a3b0;font-size:10px}.log-list strong{color:#466176;font-size:11px}.log-list p{color:#6e8597;margin:0;font-size:11px}.deepseek-config-panel{margin-bottom:15px}.deepseek-form{padding:19px}.config-header{border-bottom:1px solid #e8eef3;align-items:flex-start;gap:11px;padding-bottom:16px;display:flex}.config-header strong{color:#35556d;font-size:13px}.config-header p{color:#8a9baa;margin:4px 0 0;font-size:11px;line-height:1.6}.config-fields{grid-template-columns:minmax(260px,1.5fr) minmax(240px,1.2fr) minmax(190px,.8fr);gap:12px;margin:16px 0;display:grid}.config-fields label{color:#657d90;gap:6px;font-size:11px;font-weight:750;display:grid}.config-fields input,.config-fields select{color:#3f5b71;background:#fbfdfe;border:1px solid #d9e4ec;border-radius:6px;outline:0;width:100%;height:36px;padding:0 10px;font-size:12px}.config-actions{flex-wrap:wrap;gap:8px;display:flex}.config-footnote{color:#8a9aa8;margin:13px 0 0;font-size:10px;line-height:1.6}.api-test-result{color:#9a4c51;background:#fff6f6;border:1px solid #f0d7d9;border-radius:6px;align-items:flex-start;gap:6px;margin:13px 0 0;padding:10px;font-size:11px;line-height:1.5;display:flex}.api-test-result.is-success{color:#4b7f53;background:#f2faef;border-color:#d6e9d6}.api-test-result svg{flex:none;margin-top:1px}.ai-runtime-state{color:#7e8f9d;background:#fff;border:1px solid #e2e9ef;border-radius:5px;align-items:center;gap:7px;min-height:29px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.ai-runtime-state i{background:#aab8c3;border-radius:50%;width:7px;height:7px}.ai-runtime-state.is-ready{color:#29736d;background:#f1faf7;border-color:#d0e9e2}.ai-runtime-state.is-ready i{background:#3ca98e}.draft-error{color:#9a4f55}.draft-error svg{color:#ca6268}.modal-layer{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#162b3e6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border:1px solid #ffffff8c;border-radius:10px;width:min(540px,100%);max-height:min(760px,100vh - 40px);overflow:auto;box-shadow:0 24px 70px #0d253a40}.modal-wide{width:min(880px,100%)}.modal-head{border-bottom:1px solid #e8eef3;justify-content:space-between;align-items:center;height:58px;padding:0 17px 0 20px;display:flex}.modal-head h2{color:#29475f;margin:0;font-size:15px}.modal-body{padding:20px}.stack-form{gap:13px;display:grid}.stack-form label{color:#667f93;gap:6px;font-size:11px;font-weight:700;display:grid}.stack-form input,.stack-form select,.stack-form textarea{color:#3f5b71;background:#fbfdfe;border:1px solid #dbe5ed;border-radius:6px;outline:0;width:100%;min-height:35px;padding:8px 9px;font-size:12px}.stack-form textarea{resize:vertical;min-height:75px}.form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.form-note{color:#94a4b0;margin:-2px 0 0;font-size:10px;line-height:1.55}.project-detail-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.project-detail-head h2{color:#2a4b64;margin:5px 0 4px;font-size:19px}.project-detail-head p{color:#8a9ba9;margin:0;font-size:11px}.project-detail-grid{margin:19px 0}.project-progress-large{border:1px solid #e2e9ef;border-radius:7px;padding:13px}.project-progress-large>div{color:#5a7386;justify-content:space-between;margin-bottom:9px;font-size:11px;display:flex}.project-progress-large strong{color:#2b5f70}.detail-callout{color:#638098;background:#f6fbfc;border:1px solid #dcebf0;border-radius:7px;gap:8px;margin-top:15px;padding:11px;font-size:11px;line-height:1.6;display:flex}.detail-callout svg{color:#3a8e8b;flex:none}.detail-callout p{margin:0}.report-detail h2{color:#29495f;margin:12px 0 6px;font-size:18px}.report-detail p{color:#61788b;font-size:12px;line-height:1.75}@media (width<=1100px){.sidebar{flex-basis:218px;width:218px}.page-content{padding:28px 24px 42px}.topbar{padding:0 24px}.workspace-grid{grid-template-columns:minmax(0,1fr) 300px}.activity-list{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-row:nth-child(2){border-right:0}.activity-row:nth-child(-n+2){border-bottom:1px solid #edf1f5}.project-banner-meta{gap:12px}.project-banner-meta>div{display:none}.project-banner-meta>div:last-child{display:grid}}@media (width<=900px){.sidebar{width:258px;height:100dvh;transition:transform .2s;position:fixed;left:0;transform:translate(-105%);box-shadow:18px 0 36px #0c22362e}.sidebar.is-open{transform:translate(0)}.mobile-close,.mobile-menu{display:inline-grid}.mobile-scrim{z-index:25;background:#0f243554;position:fixed;inset:0}.topbar{height:59px;padding:0 16px}.global-search{width:min(340px,56vw)}.page-content{padding:24px 16px 34px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid,.lower-grid,.customer-layout,.traffic-grid,.agri-layout,.ai-workbench,.admin-grid{grid-template-columns:1fr}.activity-list{grid-template-columns:1fr 1fr}.generator-panel{grid-template-columns:1fr}.generator-form{border-bottom:1px solid #e8eff3;border-right:0}.quote-toolbar{flex-direction:column;align-items:flex-start}.quote-toolbar select{width:100%}.market-overview{grid-template-columns:1fr}.market-text{border-top:1px solid #e8eff4;border-left:0}.share-layout{grid-template-columns:1fr}.bar-row{grid-template-columns:100px minmax(80px,1fr) 34px 74px}.rule-grid,.acceptance-grid{grid-template-columns:repeat(2,1fr)}.rule-grid>div:nth-child(2){border-right:0}.rule-grid>div:nth-child(-n+2){border-bottom:1px solid #e7eef3}.acceptance-grid>div:nth-child(2){border-right:0}.acceptance-grid>div:nth-child(-n+2){border-bottom:1px solid #e8eef3}}@media (width<=610px){.topbar-actions{gap:4px}.topbar-actions>.icon-button{display:none}.global-search{flex:1;width:auto}.topbar-left{flex:1}.global-search input{width:100%}.role-switcher{background:0 0;border:0;justify-content:center;width:36px;padding:0}.role-switcher select,.role-switcher svg{display:none}.section-title{flex-direction:column;align-items:stretch;gap:13px;margin-bottom:19px}.section-title h1{font-size:22px}.section-title-action .button{width:100%}.stats-grid{gap:9px}.stat-card{gap:9px;min-height:88px;padding:14px 11px}.stat-icon{width:29px;height:29px}.stat-card strong{font-size:22px}.stat-card small{display:none}.workspace-grid,.lower-grid{gap:10px;margin-bottom:10px}.panel-head{min-height:49px;padding:0 14px}.panel-head h2{font-size:13px}.data-table th,.data-table td{padding:11px 12px}.pending-panel .data-table{table-layout:fixed;min-width:0}.pending-panel .data-table th:nth-child(2),.pending-panel .data-table td:nth-child(2),.pending-panel .data-table th:nth-child(3),.pending-panel .data-table td:nth-child(3){display:none}.pending-panel .data-table th:first-child{width:71%}.pending-panel .data-table td:first-child{max-width:0}.pending-panel .data-table td:first-child strong,.pending-panel .data-table td:first-child .subcell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pending-panel .data-table th:last-child,.pending-panel .data-table td:last-child{text-align:right}.stage-panel{display:none}.activity-list{grid-template-columns:1fr}.activity-row{border-bottom:1px solid #edf1f5;border-right:0}.activity-row:nth-child(-n+2){border-bottom:1px solid #edf1f5}.activity-row:last-child{border-bottom:0}.customer-detail-panel{padding:0 14px 16px}.customer-detail-panel .panel-head{margin:0 -14px;padding:0 14px}.detail-grid,.metric-list,.material-meta{grid-template-columns:1fr}.detail-grid>div,.metric-list div,.material-meta div{border-bottom:1px solid #e5ecf2;border-right:0}.detail-grid>div:nth-last-child(-n+2),.metric-list div:nth-last-child(-n+2){border-bottom:1px solid #e5ecf2}.detail-grid>div:last-child,.metric-list div:last-child,.material-meta div:last-child{border-bottom:0}.detail-actions,.material-actions{flex-direction:column}.detail-actions .button,.material-actions .button{width:100%}.table-tools{flex-direction:column;align-items:stretch}.table-tools .search-field{width:100%}.filter-row{flex-wrap:nowrap;padding-bottom:1px;overflow-x:auto}.projects-table{min-width:900px}.quote-cards{grid-template-columns:1fr;padding:12px}.project-banner{flex-direction:column;align-items:flex-start;padding:15px}.project-banner-meta{justify-content:space-between;width:100%}.project-banner-meta>div:last-child{display:grid}.tabs{width:100%}.tabs button{flex:1}.agri-layout{gap:10px}.material-detail-panel{padding:0 14px 15px}.material-detail-panel .panel-head{margin:0 -14px;padding:0 14px}.material-title{flex-direction:column;align-items:flex-start}.rule-grid,.acceptance-grid{grid-template-columns:1fr}.rule-grid>div,.acceptance-grid>div{border-bottom:1px solid #e7eef3;border-right:0}.rule-grid>div:nth-child(-n+2),.acceptance-grid>div:nth-child(-n+2){border-bottom:1px solid #e7eef3}.rule-grid>div:last-child,.acceptance-grid>div:last-child{border-bottom:0}.market-key-figures{grid-template-columns:1fr 1fr}.market-key-figures>div{padding:13px}.market-text{padding:15px}.share-layout{gap:18px;padding:17px}.bar-row{grid-template-columns:82px minmax(50px,1fr) 30px;gap:7px}.bar-row small{display:none}.ai-workbench{gap:10px}.generator-panel .panel-head{padding:0 14px}.generator-form,.draft-area{padding:14px}.modal-layer{padding:10px}.modal-body{padding:16px}.modal{max-height:calc(100dvh - 20px)}.ai-layout{grid-template-columns:1fr}.log-list>div{grid-template-columns:48px 1fr auto;gap:7px}.log-list p{grid-column:2/span 2}.log-list strong{grid-column:2}.log-list>div>.status-badge{grid-area:1/3}.config-status{padding:15px}.admin-grid .button{width:calc(100% - 30px);margin:0 15px 15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=700px){.config-fields{grid-template-columns:1fr}.config-actions .button{width:100%}.ai-runtime-state{justify-content:center;width:100%}}
