/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--ink:#28251f;--muted:#858078;--red:#a9242c;--sand:#b18a58;--line:#e8e3dc;--paper:#f5f3ef;--card:#fff}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,input,select{font:inherit}button{color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{color:#e9e3d8;z-index:5;background:#27251f;flex-direction:column;width:228px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 8px 28px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#a5252c,#6d171d);border-radius:7px;place-items:center;width:34px;height:34px;font:700 22px Georgia;display:grid;box-shadow:0 6px 18px #0005}.brand strong,.brand small{display:block}.brand strong{letter-spacing:2px;font-size:16px}.brand small{color:#a9a398;letter-spacing:1px;margin-top:4px;font-size:10px}.sidebar nav{gap:6px;display:grid}.sidebar nav button{color:#aba69d;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;padding:11px 12px;transition:all .2s;display:flex;position:relative}.sidebar nav button:hover{color:#fff;background:#ffffff0c}.sidebar nav button.active{color:#fff;background:#a32930;box-shadow:0 5px 15px #150d0e55}.sidebar nav button span{text-align:center;width:19px;font-size:17px}.sidebar nav button em{color:#3c2b16;background:#d8b37c;border-radius:9px;margin-left:auto;padding:2px 6px;font-size:10px;font-style:normal}.side-foot{border-top:1px solid #ffffff17;align-items:center;gap:9px;margin-top:auto;padding:18px 5px 0;display:flex}.avatar{color:#5a4530;background:#ddd0bd;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.side-foot strong,.side-foot small{font-size:12px;display:block}.side-foot small{color:#8f8a82;margin-top:3px;font-size:10px}.side-foot button{color:#928d84;background:0 0;border:0;margin-left:auto}.workspace{width:calc(100% - 228px);min-width:0;margin-left:228px}header{border-bottom:1px solid var(--line);z-index:4;background:#fff;justify-content:space-between;align-items:center;height:91px;padding:0 34px;display:flex;position:sticky;top:0}header h1{letter-spacing:.5px;margin:0 0 7px;font-size:22px}header p{color:var(--muted);margin:0;font-size:12px}.header-actions{align-items:center;gap:12px;display:flex}.icon-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;width:38px;height:38px;position:relative}.icon-btn i{background:var(--red);border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px}.primary,.secondary{cursor:pointer;border:0;border-radius:6px;padding:10px 16px;font-size:12px;font-weight:600}.primary{background:var(--red);color:#fff;box-shadow:0 5px 14px #a9242c25}.primary:hover{background:#901d24}.secondary{border:1px solid var(--line);background:#fff}.page{max-width:1500px;margin:auto;padding:27px 34px 40px}.card{background:var(--card);border:1px solid #ebe6de;border-radius:10px;box-shadow:0 2px 8px #40342109}.metrics,.supplier-stats{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:17px;display:grid}.metric{align-items:center;gap:15px;padding:19px;display:flex}.metric-icon{border-radius:8px;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.metric-icon.red{color:#aa2830;background:#f8e8e8}.metric-icon.amber{color:#9a6b29;background:#f7eee1}.metric-icon.blue{color:#39728a;background:#e7f0f4}.metric-icon.purple{color:#77538a;background:#efe9f3}.metric p{color:var(--muted);margin:0 0 6px;font-size:11px}.metric strong{margin-right:9px;font:600 21px Georgia,serif}.metric small{color:#8d9278;font-size:10px}.grid-main{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:17px;display:grid}.card-title{justify-content:space-between;align-items:flex-start;padding:20px 21px 14px;display:flex}.card-title h2{margin:0 0 5px;font-size:14px}.card-title p{color:var(--muted);margin:0;font-size:10px}.card-title button{color:#8b6a43;cursor:pointer;background:0 0;border:0;font-size:10px}.count{color:var(--red);background:#f7e7e7;border-radius:10px;padding:3px 8px;font-size:10px}.project-row{border-top:1px solid #f0ede8;grid-template-columns:minmax(200px,1.3fr) 1fr 75px 58px;align-items:center;gap:19px;padding:13px 21px;display:grid}.project-name{align-items:center;gap:11px;display:flex}.project-thumb{color:#fff;background:linear-gradient(145deg,#342f28,#8f7e67);border-radius:5px;place-items:center;width:38px;height:38px;font-size:9px;display:grid}.project-name strong,.project-name small{display:block}.project-name strong{font-size:11px}.project-name small,.due small{color:#99938c;margin-top:5px;font-size:9px}.progress-cell>div:first-child{color:#938e87;justify-content:space-between;font-size:9px;display:flex}.progress-cell b{color:#57524c}.progress{background:#eeeae4;border-radius:5px;height:5px;margin-top:7px}.progress i{border-radius:5px;height:100%;display:block}.due strong{margin-top:5px;font-size:10px;display:block}.status{white-space:nowrap;text-align:center;color:#39735e;background:#edf4f0;border-radius:9px;padding:4px 7px;font-size:9px;font-style:normal}.status.需关注,.status.待发货,.status.整改中{color:#9a6d27;background:#faf1dc}.status.有风险,.status.观察{color:#a53036;background:#fae8e8}.status.生产中{color:#4d6f91;background:#e8eff7}.alert{text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #f0ede8;align-items:center;gap:11px;width:100%;padding:13px 17px;display:flex}.alert:hover{background:#faf9f7}.alert-dot{color:#af3034;background:#fae7e6;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;display:grid}.alert-dot.a1{color:#a77a34;background:#f9f0df}.alert-dot.a2{color:#4b798b;background:#e8f0f4}.alert-dot.a3{color:#705981;background:#ece9f2}.alert div{min-width:0}.alert strong,.alert small{display:block}.alert strong{margin-bottom:5px;font-size:10px}.alert small{color:#9c9790;white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.alert>b{color:#aaa;margin-left:auto}.bottom-grid{grid-template-columns:1fr 1fr;gap:17px;margin-top:17px;display:grid}.bars{padding:0 21px 15px}.bars>div{grid-template-columns:70px 1fr 60px;align-items:center;gap:10px;margin:11px 0;font-size:9px;display:grid}.bars i{background:#eeeae4;border-radius:5px;height:6px}.bars b{background:#ad8657;border-radius:5px;height:100%;display:block}.bars strong{text-align:right}.mini-order{border-top:1px solid #f0ede8;grid-template-columns:1fr 70px 58px;align-items:center;gap:13px;padding:12px 21px;display:grid}.mini-order strong,.mini-order small{font-size:10px;display:block}.mini-order small{color:#99938c;margin-top:4px;font-size:9px}.mini-order>b{font-size:10px}.material-summary{color:#fff;background:#2c2a24;border-radius:10px;grid-template-columns:repeat(4,1fr);margin-bottom:17px;display:grid;overflow:hidden}.material-summary div{border-right:1px solid #ffffff18;padding:19px 23px}.material-summary span{color:#aaa49a;margin-bottom:7px;font-size:10px;display:block}.material-summary strong{font:24px Georgia}.material-summary small{color:#c4bba9;font:10px Arial}.table-card{overflow:hidden}.table-tools{border-bottom:1px solid var(--line);gap:9px;padding:17px;display:flex}.search{border:1px solid var(--line);color:#888;border-radius:6px;flex:1;align-items:center;gap:8px;min-width:180px;height:38px;padding:0 11px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%;font-size:11px}.table-tools select{border:1px solid var(--line);color:#625e58;background:#fff;border-radius:6px;padding:0 28px 0 10px;font-size:10px}.chips{border-bottom:1px solid var(--line);gap:7px;padding:12px 17px;display:flex;overflow:auto}.chips button{border:1px solid var(--line);white-space:nowrap;cursor:pointer;background:#fff;border-radius:14px;padding:6px 10px;font-size:9px}.chips button.on{color:#fff;background:#332f29;border-color:#332f29}.data-table .tr{text-align:left;background:#fff;border:0;border-top:1px solid #f0ede8;align-items:center;gap:15px;width:100%;padding:12px 17px;font-size:10px;display:grid}.data-table button.tr{cursor:pointer}.data-table button.tr:hover{background:#faf9f6}.data-table .th{color:#88827b;background:#faf8f5;border-top:0;font-size:9px}.data-table .tr span{min-width:0}.data-table .tr strong,.data-table .tr small,.data-table .tr em{display:block}.data-table .tr strong{margin:3px 0;font-size:11px}.data-table .tr small{color:#99928a;font-size:8px;line-height:1.45}.data-table .tr em{color:#9a7041;font-size:8px;font-style:normal}.material-table .tr{grid-template-columns:1.3fr 1.3fr 1.3fr .8fr 45px 10px}.material-table .risk{margin-top:5px;color:#ad4e35!important}.table-foot{color:#9a958e;border-top:1px solid var(--line);padding:13px 17px;font-size:9px}.supplier-table .tr{grid-template-columns:1.4fr 1fr .7fr 1fr .7fr .8fr .65fr}.supplier-table .tr>span:first-child{grid-template-rows:1fr 1fr;grid-template-columns:31px 1fr;column-gap:9px;display:grid}.supplier-logo{color:#7a5b35;background:#eee8dd;border-radius:5px;grid-row:1/3;place-items:center;width:31px;height:31px;font-style:normal;display:grid}.supplier-table .tr>span:nth-child(3){align-items:center;gap:7px;display:flex}.grade{color:#317159;background:#e7f2ed;border-radius:50%;place-items:center;width:23px;height:23px;display:grid!important}.grade.gB{color:#9a6b25;background:#f7f0df}.grade.gC{color:#a42e32;background:#f8e7e7}.order-banner{color:#fff;background:#2c2a24;border-radius:10px;grid-template-columns:1.2fr .65fr 1fr 1fr;margin-bottom:17px;display:grid}.order-banner>div{border-right:1px solid #ffffff18;padding:22px}.order-banner small,.order-banner strong,.order-banner span{display:block}.order-banner small{color:#aaa49a;font-size:9px}.order-banner strong{margin:7px 0;font:23px Georgia}.order-banner span{color:#c4bfb6;font-size:9px}.ring{text-align:center;font:600 20px Georgia!important}.ring small{margin-top:7px}.orders-table .tr{grid-template-columns:1fr 1.3fr 1.1fr .7fr .6fr .6fr}.module-stage{padding-top:60px}.module-hero{text-align:center;max-width:580px;margin:auto}.module-hero>span{color:#fff;background:#2e2b25;border-radius:16px;place-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:28px;display:grid}.module-hero h2{margin:0 0 12px;font:30px Georgia,Songti SC}.module-hero p{color:#817c74;font-size:13px;line-height:1.8}.module-hero button{margin-top:14px}.module-steps{grid-template-columns:repeat(4,1fr);gap:15px;max-width:980px;margin:55px auto 0;display:grid}.module-steps div{border:1px solid var(--line);background:#fff;border-radius:9px;padding:22px}.module-steps b{color:#9d6630;background:#f3e8dd;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.module-steps strong,.module-steps small{display:block}.module-steps strong{margin:16px 0 8px;font-size:12px}.module-steps small{color:#918b83;font-size:10px;line-height:1.6}.overlay{z-index:20;background:#1c191650;position:fixed;inset:0}.drawer{background:#fff;width:min(490px,92vw);height:100%;padding:40px;position:absolute;top:0;right:0;overflow:auto;box-shadow:-20px 0 50px #0002}.close{color:#8f8980;cursor:pointer;background:0 0;border:0;font-size:25px;position:absolute;top:18px;right:22px}.eyebrow{color:#a0282d;letter-spacing:1.5px;text-transform:uppercase;font-size:9px}.drawer h2,.modal h2{margin:8px 0;font:27px Georgia,Songti SC}.drawer-intro,.modal>p{color:#817b73;font-size:12px;line-height:1.7}.detail-grid{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;margin:25px 0;display:grid;overflow:hidden}.detail-grid div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px}.detail-grid small,.detail-grid strong{display:block}.detail-grid small{color:#918b84;margin-bottom:7px;font-size:9px}.detail-grid strong{font-size:11px}.warning{color:#8c632a;background:#fff5e4;border-radius:6px;padding:13px;font-size:10px;line-height:1.6}.drawer h3{margin:24px 0 10px;font-size:12px}.drawer ul{color:#69645e;padding-left:18px;font-size:10px;line-height:2}.strategy{background:#f6f4f0;border-radius:7px;gap:12px;padding:13px;display:flex}.strategy>span{color:#fff;background:#2d2a24;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.strategy p{margin:0}.strategy strong,.strategy small{font-size:10px;display:block}.strategy small{color:#8c867e;margin-top:5px}.drawer-actions{justify-content:flex-end;gap:10px;margin-top:28px;display:flex}.modal-overlay{place-items:center;display:grid}.modal{background:#fff;border-radius:12px;width:min(580px,92vw);padding:34px;position:relative;box-shadow:0 25px 70px #0003}.modal label{color:#6f6961;gap:7px;margin-top:17px;font-size:10px;display:grid}.modal input,.modal select{border:1px solid var(--line);background:#fff;border-radius:6px;outline:none;height:39px;padding:0 11px}.modal input:focus{border-color:#ae8555}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.toast{color:#fff;z-index:50;background:#2d2a24;border-radius:7px;padding:13px 18px;font-size:11px;animation:.25s pop;position:fixed;bottom:28px;right:28px;box-shadow:0 10px 30px #0003}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}@media (width<=1050px){.metrics,.supplier-stats{grid-template-columns:1fr 1fr}.grid-main,.bottom-grid{grid-template-columns:1fr}.material-table .tr{grid-template-columns:1.2fr 1fr 1fr .7fr}.material-table .tr span:nth-child(5),.material-table .tr span:nth-child(6){display:none}.supplier-table .tr{grid-template-columns:1.3fr 1fr .7fr 1fr .7fr}.supplier-table .tr span:nth-child(5),.supplier-table .tr span:nth-child(6){display:none}}@media (width<=720px){.sidebar{width:68px;padding:24px 10px}.brand div,.sidebar nav button:not(.active){font-size:0}.brand{padding-left:7px}.brand-mark{flex:none}.sidebar nav button{justify-content:center}.sidebar nav button span{font-size:18px}.sidebar nav button.active{font-size:0}.side-foot>div:not(.avatar),.side-foot button{display:none}.workspace{width:calc(100% - 68px);margin-left:68px}header{padding:0 18px}header p{display:none}.page{padding:18px}.metrics,.supplier-stats,.material-summary{grid-template-columns:1fr 1fr}.table-tools{flex-wrap:wrap}.table-tools .search{flex-basis:100%}.project-row{grid-template-columns:1fr 58px}.progress-cell,.due{display:none}.material-table .tr{grid-template-columns:1.2fr 1fr}.material-table .tr span:nth-child(n+3){display:none}.supplier-table .tr{grid-template-columns:1.4fr 1fr}.supplier-table .tr span:nth-child(n+3){display:none}.order-banner{grid-template-columns:1fr 1fr}.orders-table .tr{grid-template-columns:1fr 1.3fr .7fr}.orders-table .tr span:nth-child(3),.orders-table .tr span:nth-child(5),.orders-table .tr span:nth-child(6){display:none}.module-steps{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.header-actions .icon-btn{display:none}}.stock-ok,.low-stock{width:max-content;margin-top:5px;padding:3px 7px;border-radius:9px!important;display:inline-block!important}.stock-ok{background:#e8f2ec;color:#327157!important}.low-stock{background:#fae8e8;color:#a52d32!important}.inventory-strip{background:var(--line);border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.inventory-strip>div{background:#faf9f7;padding:11px}.inventory-strip small,.inventory-strip strong{display:block}.inventory-strip small{color:#938d85;font-size:8px}.inventory-strip strong{margin-top:5px;font-size:10px}.quote-list{border:1px solid var(--line);border-radius:7px;overflow:hidden}.quote-list>div{border-top:1px solid var(--line);grid-template-columns:26px 1fr 120px;align-items:center;gap:8px;padding:11px;display:grid}.quote-list>div:first-child{border-top:0}.quote-list>div>b{background:#eee8df;border-radius:50%;place-items:center;width:21px;height:21px;font-size:9px;display:grid}.quote-list p{margin:0}.quote-list p strong,.quote-list p small,.quote-list>div>span,.quote-list>div>span small{display:block}.quote-list p strong{font-size:10px}.quote-list p small{color:#918b83;margin-top:4px;font-size:8px}.quote-list>div>span{text-align:right;font-size:10px;font-weight:700}.quote-list>div>span small{color:#9b7041;margin-top:4px;font-size:8px;font-weight:400}.demo-note{color:#a09a92;font-size:8px;line-height:1.6}.sku-scroll{border:1px solid var(--line);border-radius:7px;overflow-x:auto}.sku-table{min-width:700px}.sku-row{border-top:1px solid var(--line);grid-template-columns:1.35fr .75fr repeat(3,.8fr) .65fr;align-items:center;font-size:9px;display:grid}.sku-row:first-child{border-top:0}.sku-row>span{border-left:1px solid #f0ece6;padding:10px 8px}.sku-row>span:first-child{border-left:0}.sku-row strong,.sku-row small{display:block}.sku-row strong{font-size:9px}.sku-row small{color:#989188;margin-top:3px;font-size:7px}.sku-head{color:#777068;background:#f5f2ed;font-size:8px;font-weight:700}.best-price{color:#267050;background:#edf5ef;font-weight:700}.best-price:after{content:"最低";background:#d7eadc;border-radius:4px;margin-left:3px;padding:1px 3px;font-size:6px;display:inline-block}.project-button{text-align:left;width:100%;color:inherit;cursor:pointer;background:#fff;border:0}.project-button:hover{background:#faf9f7}.project-top{color:#fff;background:#2c2a24;border-radius:10px;align-items:center;gap:10px;padding:20px 22px;display:flex}.project-top>div:first-child{margin-right:auto}.project-top small,.project-top p{color:#aaa49a;margin:0;font-size:9px}.project-top h2{margin:7px 0;font:22px Georgia,Songti SC}.project-health{gap:20px;margin-right:16px;display:flex}.project-health span{color:#aaa49a;font-size:8px;display:block}.project-health b{color:#fff;margin-top:6px;font-size:11px;display:block}.quote-tabs{border-bottom:1px solid var(--line);margin:18px 0;display:flex}.quote-tabs button{color:#8d877f;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 20px;font-size:11px}.quote-tabs button.on{color:#9f272e;border-bottom-color:#9f272e;font-weight:700}.drawing-pipeline{grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:16px;display:grid}.file-row{border-top:1px solid #f0ede8;align-items:center;gap:11px;padding:12px 18px;display:flex}.file-type{color:#8d6332;background:#eee8df;border-radius:6px;place-items:center;width:36px;height:36px;font-size:8px;font-weight:700;display:grid}.file-type.f1{color:#a12c32;background:#f6e7e7}.file-type.f2{color:#3e7185;background:#e7edf1}.file-row div{margin-right:auto}.file-row strong,.file-row small{font-size:10px;display:block}.file-row small{color:#969087;margin-top:5px;font-size:8px}.file-row em{color:#39735e;font-size:8px;font-style:normal}.file-row button{color:#8b673d;cursor:pointer;background:0 0;border:0;font-size:9px}.ai-badge{color:#347159;background:#e8f2ed;border-radius:10px;padding:4px 8px;font-size:8px}.result-numbers{border:1px solid var(--line);border-radius:7px;grid-template-columns:1fr 1fr;margin:0 18px;display:grid;overflow:hidden}.result-numbers div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px}.result-numbers strong,.result-numbers small{display:block}.result-numbers strong{font:20px Georgia}.result-numbers small{color:#918b83;margin-top:4px;font-size:8px}.auto-note{background:#fff5e5;border-radius:7px;margin:14px 18px;padding:13px}.auto-note b{color:#96682e;font-size:9px}.auto-note p{color:#7e7161;font-size:9px;line-height:1.6}.auto-note button{color:#9c652c;cursor:pointer;background:0 0;border:0;padding:0;font-size:8px}.legend{gap:13px;font-size:8px;display:flex}.legend span:first-child{color:#36745d}.legend span:nth-child(2){color:#a67729}.legend span:nth-child(3){color:#a02b31}.bom-table{overflow-x:auto}.bom-row{border-top:1px solid #f0ede8;grid-template-columns:.8fr 1.7fr .55fr .65fr .7fr .75fr .7fr;align-items:center;gap:12px;min-width:950px;padding:11px 18px;font-size:9px;display:grid}.bom-head{color:#888179;background:#faf8f5;font-size:8px}.bom-row strong,.bom-row small{display:block}.bom-row small{color:#989188;margin-top:4px;font-size:7px}.shortage{color:#a32b31;font-weight:700}.enough{color:#36745d}.match{color:#347159;background:#e8f2ed;border-radius:9px;width:max-content;padding:4px 7px}.match.新类目{color:#a32b31;background:#fae8e8}.match.按需生产{color:#976b2b;background:#f8efdf}.bom-total{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:18px;padding:16px 18px;font-size:10px;display:flex}.bom-total strong{font:18px Georgia}.bom-total button{color:#9a642a;cursor:pointer;background:0 0;border:0;font-size:9px}.quote-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:16px;display:grid}.version{color:#847e76;background:#f0ede8;border-radius:10px;padding:4px 8px;font-size:8px}.cost-section{padding:0 20px 18px}.cost-section h3{color:#9d292f;border-bottom:1px solid var(--line);margin:9px 0;padding-bottom:10px;font-size:10px}.cost-line,.labor-line{border-bottom:1px dashed #eee9e2;grid-template-columns:1fr 150px 90px;align-items:center;min-height:36px;font-size:9px;display:grid}.cost-line>b,.labor-line>b{text-align:right}.cost-line small,.labor-line small{color:#999289;margin-top:3px;font-size:7px;display:block}.input-line label{border:1px solid var(--line);background:#faf9f7;border-radius:5px;justify-self:end;padding:5px 7px}.input-line input{text-align:right;background:0 0;border:0;outline:0;width:65px;font-size:9px}.labor-line em{text-align:right;color:#817b73;font-style:normal}.labor-line strong{font-size:9px}.cost-subtotal{justify-content:flex-end;gap:25px;padding:12px 0;font-size:10px;display:flex}.cost-hero{color:#fff;background:#2c2a24;border-radius:10px;margin-bottom:15px;padding:22px}.cost-hero small,.cost-hero strong,.cost-hero span{display:block}.cost-hero small{color:#aaa49a;font-size:9px}.cost-hero strong{margin:9px 0;font:30px Georgia}.cost-hero span{color:#c6c0b6;font-size:8px}.quote-controls{padding:20px}.quote-controls h3{margin:0 0 14px;font-size:12px}.quote-controls>label{justify-content:space-between;align-items:center;padding:8px 0;font-size:9px;display:flex}.quote-controls>label div{border:1px solid var(--line);background:#faf9f7;border-radius:5px;padding:6px}.quote-controls>label input{text-align:right;background:0 0;border:0;outline:0;width:50px}.summary-line{border-top:1px solid #f0ece6;justify-content:space-between;padding:8px 0;font-size:9px;display:flex}.client-price{background:#f4eee5;border-radius:8px;margin:12px 0;padding:16px}.client-price small,.client-price strong,.client-price span{display:block}.client-price small{color:#886a47;font-size:8px}.client-price strong{color:#95262c;margin:8px 0;font:26px Georgia}.client-price span{color:#877b6d;font-size:8px}.quote-controls>button{width:100%;margin-top:8px}.quote-warning{background:#fff3df;border:1px solid #efdcb9;border-radius:8px;margin-top:15px;padding:13px}.quote-warning b{color:#966a2d;font-size:9px}.quote-warning p{color:#80715d;margin-bottom:0;font-size:8px;line-height:1.6}@media (width<=1100px){.project-health{display:none}.drawing-pipeline,.quote-layout{grid-template-columns:1fr}.quote-summary{grid-template-columns:1fr 1fr;gap:15px;display:grid}.quote-warning{margin-top:0}.project-top{flex-wrap:wrap}}@media (width<=720px){.project-top button{width:100%}.drawing-pipeline,.quote-summary{grid-template-columns:1fr}.cost-line,.labor-line{grid-template-columns:1fr 100px}.cost-line>b,.labor-line>b{display:none}}.product-picker{margin-bottom:16px}.product-pills{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:220px;display:grid;overflow:auto}.product-pills button{text-align:left;color:#2c2925;background:#fff;border:1px solid #e7e2da;border-radius:10px;padding:12px 14px}.product-pills button:hover{background:#fffaf3;border-color:#b78a51}.product-pills button.on{background:#f8eee0;border-color:#a56d2d;box-shadow:inset 0 0 0 1px #a56d2d}.product-pills strong,.product-pills small{display:block}.product-pills strong{margin-bottom:4px;font-size:13px}.product-pills small{color:#81786d;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}@media (width<=1100px){.product-pills{grid-template-columns:repeat(2,minmax(0,1fr))}}.issue-row{grid-template-columns:1.2fr 1.35fr .55fr .55fr .7fr .65fr;min-width:900px}.batch-matrix{margin-bottom:15px;overflow:hidden}.matrix-scroll{padding:0 18px 18px;overflow:auto}.matrix-grid{border:1px solid #e7e1d9;border-radius:7px;min-width:900px;overflow:hidden}.matrix-row{border-top:1px solid #eee9e2;grid-template-columns:120px repeat(9,1fr);display:grid}.matrix-row:first-child{border-top:0}.matrix-row>span{color:#aaa39a;border-left:1px solid #eee9e2;place-items:center;min-height:38px;font-size:8px;display:grid}.matrix-row>span:first-child{color:#4b4640;border-left:0;justify-items:start;padding-left:12px}.matrix-row strong,.matrix-row small{display:block}.matrix-row small{color:#999188;margin-top:2px;font-size:7px}.matrix-row.head{background:#f7f4ef}.matrix-row.head>span{color:#766f67;font-weight:700}.matrix-row.head small{font-weight:400}.matrix-row>span.done{color:#2e7758;background:#e8f3ed;font-weight:700}.matrix-row>span.doing{color:#9d6a25;background:#fbefd9;font-weight:700}.team-workbench{grid-template-columns:260px 1fr;gap:15px;display:grid}.team-tabs{height:max-content;overflow:hidden}.team-tabs>button{text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #eee9e2;grid-template-rows:1fr 1fr;grid-template-columns:26px 1fr auto;column-gap:10px;width:100%;padding:12px 14px;display:grid}.team-tabs>button:hover,.team-tabs>button.on{background:#f8f1e7}.team-tabs>button>span{background:#eee9e2;border-radius:50%;grid-row:1/3;place-items:center;width:25px;height:25px;font-size:8px;display:grid}.team-tabs>button strong,.team-tabs>button small{display:block}.team-tabs>button strong{font-size:9px}.team-tabs>button small{color:#928b83;margin-top:3px;font-size:7px}.team-tabs>button em{color:#9a6329;background:#fff;border-radius:8px;grid-area:1/3/3;align-self:center;padding:4px 6px;font-size:7px;font-style:normal}.team-tasks{overflow:hidden}.task-list{padding:0 18px 18px}.team-task{opacity:.68;background:#faf9f7;border:1px solid #eee9e2;border-radius:7px;grid-template-columns:1fr 1.25fr .7fr .5fr .65fr .8fr;align-items:center;gap:12px;margin-top:8px;padding:12px;font-size:8px;display:grid}.team-task.ready{opacity:1;background:#fff8eb;border-color:#e8c994}.team-task.completed{opacity:1;background:#f1f7f3}.team-task strong,.team-task small{display:block}.team-task small{color:#969087;margin-bottom:3px;font-size:7px}.team-task button{color:#fff;cursor:pointer;background:#9e292f;border:0;border-radius:5px;padding:8px;font-size:8px}.team-task button:disabled{color:#99938b;cursor:default;background:#e8e3dd}.unit-code b{font-size:10px}.trace-card{margin-bottom:15px;overflow:hidden}.trace-table{overflow:auto}.trace-row{border-top:1px solid #eee9e2;grid-template-columns:.75fr 1.3fr .8fr .65fr .8fr .7fr;align-items:center;gap:12px;min-width:850px;padding:11px 18px;font-size:8px;display:grid}.trace-row.head{color:#857e76;background:#f7f4ef}.trace-row strong,.trace-row small{display:block}.trace-row small{color:#999188;margin-top:3px;font-size:7px}@media (width<=1000px){.team-workbench{grid-template-columns:1fr}.team-tabs{grid-template-columns:1fr 1fr;display:grid}.team-tabs .card-title{grid-column:1/-1}.team-tasks .card-title{align-items:flex-start;gap:10px}.team-task{grid-template-columns:1fr 1fr .7fr}.team-task>span:nth-child(3),.team-task>span:nth-child(4){display:none}}.qr-actions{gap:4px;display:grid}.qr-actions button{color:#fff;cursor:pointer;background:#9e292f;border:0;border-radius:5px;padding:6px;font-size:7px}.qr-actions button:first-child{background:#2f765c}.qr-actions button:disabled{color:#99938b;background:#e8e3dd}.qr-overlay{place-items:center;display:grid}.qr-modal{text-align:center;background:#fff;border-radius:14px;width:min(360px,90vw);padding:28px 35px;position:relative;box-shadow:0 20px 60px #0004}.qr-modal>small{color:#39735e;font-size:9px}.qr-modal h2{margin:8px 0 18px;font:24px Georgia}.qr-modal img{border:10px solid #fff;width:260px;max-width:100%;height:260px;margin:auto;display:block;box-shadow:0 0 0 1px #e7e1d8}.qr-modal p{color:#736c64;font-size:10px}.qr-modal a{color:#fff;background:#a32930;border-radius:6px;padding:10px;font-size:10px;text-decoration:none;display:block}.mobile-task{color:#302d28;background:#f2efe9;min-height:100vh;padding-bottom:28px}.mobile-task>header{color:#fff;background:#27251f;align-items:center;gap:10px;height:68px;padding:0 18px;display:flex}.mobile-task>header .brand-mark{width:34px;height:34px}.mobile-task>header strong,.mobile-task>header small{display:block}.mobile-task>header strong{font-size:14px}.mobile-task>header small{color:#aaa49a;margin-top:3px;font-size:8px}.mobile-task>header em{background:#ffffff18;border-radius:9px;margin-left:auto;padding:5px 8px;font-size:8px;font-style:normal}.mobile-identity{color:#fff;background:#a32930;padding:24px 20px}.mobile-identity small{color:#f0cdd0;font-size:8px}.mobile-identity h2{margin:7px 0;font:26px Georgia,Songti SC}.mobile-identity p{color:#f6dfe0;margin:0;font-size:9px}.mobile-product,.mobile-status,.mobile-actions{background:#fff;border:1px solid #e6e0d8;border-radius:10px;margin:14px;overflow:hidden}.mobile-code{border-bottom:1px solid #eee9e2;padding:18px}.mobile-code span,.mobile-code strong,.mobile-code small{display:block}.mobile-code span{color:#918a82;font-size:8px}.mobile-code strong{color:#9d292f;margin:6px 0;font:28px Georgia}.mobile-code small{color:#8e877f;font-size:8px}.mobile-product dl{margin:0;padding:4px 18px}.mobile-product dl div{border-bottom:1px solid #eee9e2;justify-content:space-between;padding:11px 0;font-size:9px;display:flex}.mobile-product dl div:last-child{border-bottom:0}.mobile-product dt{color:#918a82}.mobile-product dd{margin:0;font-weight:700}.mobile-status{align-items:center;gap:13px;padding:16px;display:flex}.mobile-status>span{color:#a16b28;background:#f8ead6;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.mobile-status.complete>span{color:#347159;background:#e4f0e9}.mobile-status.locked>span{color:#89827a;background:#eeeae5}.mobile-status strong,.mobile-status small{display:block}.mobile-status strong{font-size:11px}.mobile-status small{color:#918a82;margin-top:5px;font-size:8px}.mobile-actions{gap:9px;padding:14px;display:grid}.mobile-actions button{background:#fff;border:1px solid #dcd5cc;border-radius:7px;height:44px;font-size:11px}.mobile-actions button.finish{color:#fff;background:#a32930;border-color:#a32930;font-weight:700}.mobile-actions button:disabled{color:#aaa39a;background:#ebe7e1;border-color:#ebe7e1}.mobile-success{color:#347159;background:#e4f0e9;border-radius:8px;margin:14px;padding:12px;font-size:9px}.mobile-task>footer{text-align:center;color:#999188;padding:8px 18px;font-size:7px;line-height:1.6}.production-hero{color:#fff;background:#2c2a24;border-radius:11px;align-items:center;gap:22px;margin-bottom:15px;padding:22px 25px;display:flex}.production-hero>div:first-child{margin-right:auto}.production-hero small,.production-hero p{color:#aaa49a;margin:0;font-size:9px}.production-hero h2{margin:7px 0;font:23px Georgia,Songti SC}.production-score{text-align:center;border-left:1px solid #ffffff20;padding-left:24px}.production-score strong,.production-score span{display:block}.production-score strong{font:28px Georgia}.production-score span{color:#bdb7ad;margin-top:4px;font-size:8px}.flow-strip{grid-template-columns:repeat(9,1fr);margin-bottom:15px;padding:16px;display:grid;overflow:auto}.flow-strip>div{text-align:center;min-width:94px;padding:4px 6px;position:relative}.flow-strip>div:after{content:"";background:#ddd7cf;height:1px;position:absolute;top:17px;left:64%;right:-36%}.flow-strip>div:last-child:after{display:none}.flow-strip span{z-index:1;color:#8c857d;background:#ede9e3;border-radius:50%;place-items:center;width:27px;height:27px;margin:auto;font-size:9px;display:grid;position:relative}.flow-strip strong,.flow-strip small{display:block}.flow-strip strong{margin:8px 0 4px;font-size:8px}.flow-strip small{color:#9a948c;font-size:7px}.flow-strip .done span{color:#fff;background:#3f7964}.flow-strip .doing span{color:#fff;background:#a42a30;box-shadow:0 0 0 4px #f7e5e5}.flow-strip .done:after{background:#6e9d89}.production-metrics{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:15px;display:grid}.execution-card,.issue-card,.inbound-card{overflow:hidden}.execution-table,.issue-table{overflow:auto}.execution-row{border-top:1px solid #eeeae4;grid-template-columns:1.35fr .8fr .8fr 1.2fr .65fr .65fr;align-items:center;gap:12px;min-width:900px;padding:12px 18px;font-size:9px;display:grid}.execution-row.head,.issue-row.head{color:#888179;background:#f7f4ef;font-size:8px}.execution-row>span:first-child{align-items:center;gap:9px;display:flex}.execution-row>span:first-child>b{background:#eee9e1;border-radius:50%;place-items:center;width:23px;height:23px;font-size:8px;display:grid}.execution-row button,.outsource-card button,.inbound-row button{color:#765b3b;cursor:pointer;background:#fff;border:1px solid #dcd5cc;border-radius:5px;padding:6px 8px;font-size:8px}.execution-row button:disabled{color:#aaa5a0;cursor:default;background:#f6f4f1}.process-state{color:#817b73;background:#eeeae5;border-radius:10px;width:max-content;padding:4px 8px;font-size:8px;display:inline-block}.process-state.done{color:#347159;background:#e5f1ea}.process-state.doing{color:#9c6a27;background:#f8ead6}.issue-summary{border:1px solid #e8e3dc;border-radius:7px;grid-template-columns:repeat(4,1fr);margin:0 18px 14px;display:grid;overflow:hidden}.issue-summary span{color:#8c857e;border-right:1px solid #e8e3dc;padding:12px;font-size:8px}.issue-summary b{color:#38342f;margin-top:5px;font:17px Georgia;display:block}.issue-row{border-top:1px solid #eeeae4;grid-template-columns:1.2fr 1.4fr .6fr .7fr .6fr;align-items:center;gap:12px;min-width:800px;padding:11px 18px;font-size:9px;display:grid}.issue-row strong,.issue-row small{display:block}.issue-row small{color:#989188;margin-top:4px;font-size:7px}.outsourcing-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.outsource-card{padding:18px}.outsource-card>div:first-child{justify-content:space-between;align-items:center;display:flex}.outsource-card>div:first-child small{color:#9a938b;font-size:8px}.outsource-card h3{margin:15px 0 7px;font:18px Georgia,Songti SC}.outsource-card>p{color:#8c857c;font-size:9px}.outsource-card dl{border-top:1px solid #eee9e2;margin:15px 0}.outsource-card dl div{border-bottom:1px solid #eee9e2;justify-content:space-between;padding:9px 0;font-size:8px;display:flex}.outsource-card dt{color:#918a82}.outsource-card dd{margin:0;font-weight:700}.outsource-card>button{width:100%;padding:9px}.inbound-board{padding:0 18px}.inbound-row{border-top:1px solid #eee9e2;grid-template-columns:1.5fr .6fr .6fr .6fr .7fr .7fr;align-items:center;gap:12px;padding:13px 0;font-size:9px;display:grid}.inbound-row strong,.inbound-row small,.inbound-row b{display:block}.inbound-row small{color:#999189;margin-bottom:4px;font-size:7px}.quality-note{background:#f8f3e9;border-top:1px solid #ede0c7;align-items:center;gap:9px;padding:13px 18px;font-size:8px;display:flex}.quality-note b{color:#8f6027;margin-right:5px}.quality-note span{background:#fff;border-radius:9px;padding:4px 7px}.production-page .metric-card{min-width:0}@media (width<=1100px){.production-metrics{grid-template-columns:1fr 1fr}.outsourcing-grid{grid-template-columns:1fr}.production-hero{flex-wrap:wrap}.production-score{border-left:0;padding-left:0}.inbound-row{grid-template-columns:1.3fr .6fr .6fr .7fr}.inbound-row>span:nth-child(4),.inbound-row button{display:none}}@media (width<=720px){.production-metrics{grid-template-columns:1fr}.production-hero button{width:100%}.issue-summary{grid-template-columns:1fr 1fr}.quality-note{flex-wrap:wrap}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
