/*! 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-border-style:solid}}}@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{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.table{display:table}.shrink{flex-shrink:1}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--navy:#10213d;--navy-2:#172b4d;--blue:#2563eb;--blue-2:#1d4ed8;--ink:#182230;--muted:#667085;--line:#e4e9f1;--soft:#f4f7fb;--white:#fff;--green:#149f68;--amber:#d88912;--red:#d64545;--violet:#7955c8;--shadow:0 16px 40px #10213d14;--font:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Inter,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--soft);color:var(--ink)}body{background:var(--soft);font-family:var(--font);margin:0;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.brand-mark{background:var(--blue);color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 8px 20px #2563eb40}.brand-mark-large{border-radius:15px;width:52px;height:52px}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-lockup>div:last-child{flex-direction:column;display:flex}.brand-lockup strong{letter-spacing:-.02em;font-size:16px}.brand-lockup span{color:#92a5c0;margin-top:2px;font-size:11px}.brand-lockup.dark span{color:#718096}.eyebrow{color:var(--blue);letter-spacing:.16em;font-family:Arial,sans-serif;font-size:10px;font-weight:800}.eyebrow.light{color:#91a5c4}.primary-btn,.secondary-btn,.danger-btn,.text-btn,.icon-btn{border:0;justify-content:center;align-items:center;gap:8px;transition:all .18s;display:inline-flex}.primary-btn{background:var(--blue);color:#fff;border-radius:10px;padding:11px 16px;font-weight:700;box-shadow:0 7px 16px #2563eb2e}.primary-btn:hover{background:var(--blue-2);transform:translateY(-1px)}.secondary-btn{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 16px;font-weight:650}.secondary-btn:hover{background:#f8fafc}.danger-btn{color:var(--red);background:#fff1f1;border:1px solid #ffdada;border-radius:10px;padding:10px 16px;font-weight:700}.text-btn{color:#52627a;background:0 0;padding:7px 8px;font-weight:650}.text-btn:hover{color:var(--blue)}.icon-btn{color:#667085;background:0 0;border-radius:9px;width:38px;height:38px}.icon-btn:hover{color:var(--blue);background:#eef3f8}.icon-btn.small{width:30px;height:30px}.icon-btn.danger,.danger{color:var(--red)!important}.small-btn{border-radius:8px;padding:7px 10px;font-size:12px}.login-page{background:#fff;grid-template-columns:minmax(460px,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.login-brand{background:var(--navy);color:#fff;flex-direction:column;padding:46px 58px;display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";background:radial-gradient(circle,#2563eb66,#0000 67%);border-radius:50%;width:520px;height:520px;position:absolute;bottom:-220px;right:-240px}.login-message{z-index:1;max-width:600px;margin:auto 0;position:relative}.login-message h1{letter-spacing:-.05em;margin:18px 0 24px;font-size:clamp(40px,4.2vw,66px);line-height:1.14}.login-message>p{color:#b7c5d8;max-width:520px;font-size:16px;line-height:1.8}.login-points{color:#d8e2ef;flex-wrap:wrap;gap:12px 20px;margin-top:38px;display:flex}.login-points span{align-items:center;gap:7px;font-size:13px;display:flex}.login-orbit{border:1px solid #ffffff17;border-radius:50%;position:absolute}.orbit-one{width:360px;height:360px;top:90px;right:-100px}.orbit-two{width:180px;height:180px;top:180px;right:30px}.login-form-wrap{background:linear-gradient(135deg,#fff 55%,#f7faff);place-items:center;padding:40px;display:grid}.login-card{width:min(420px,100%);padding:20px}.login-card h2{letter-spacing:-.04em;margin:12px 0 8px;font-size:32px}.login-card>p{color:var(--muted);margin-bottom:32px}.login-card .field{margin-bottom:12px}.login-btn{justify-content:space-between;width:100%;height:48px;margin-top:8px}.security-note{text-align:center;color:#98a2b3;margin-top:20px;display:block}.mobile-brand{display:none}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field>span{color:#475467;font-size:12px;font-weight:700}.field input,.field select,.field textarea,.filter-panel input,.filter-panel select,.category-add input,.category-list input,.logistics-edit input,.logistics-edit select,.ppt-filters select{width:100%;color:var(--ink);background:#fff;border:1px solid #dce3ec;border-radius:9px;outline:none;padding:10px 12px;transition:all .16s}.field input:focus,.field select:focus,.field textarea:focus,.filter-panel input:focus,.filter-panel select:focus{border-color:#86aaf4;box-shadow:0 0 0 3px #2563eb1a}.field small{color:#98a2b3}.field-full{grid-column:1/-1}.form-error{color:#b42318;background:#fff2f2;border:1px solid #ffd4d4;border-radius:9px;padding:10px 12px;font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.color-field,.quantity-field{gap:7px;display:flex}.color-field input[type=color]{width:48px;padding:4px}.quantity-field input{flex:1}.quantity-field select{width:95px}.form-divider{background:var(--line);height:1px;margin:4px 0 20px;position:relative}.form-divider span{color:#7c8a9f;background:#fff;padding-right:12px;font-size:11px;font-weight:700;position:absolute;top:-11px;left:0}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#08122294;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:#fff;border-radius:18px;flex-direction:column;width:min(570px,100%);max-height:92vh;display:flex;overflow:hidden;box-shadow:0 28px 80px #050f1e4d}.modal-wide{width:min(920px,100%)}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:20px 22px;display:flex}.modal-header h2{font-size:19px}.modal-header p{color:var(--muted);max-width:640px;margin-top:5px;font-size:12px}.modal-body{flex-direction:column;gap:22px;padding:22px;display:flex;overflow:auto}.modal-actions{justify-content:flex-end;gap:10px;padding-top:2px;display:flex}.warning-box,.privacy-box,.preflight-error{border-radius:10px;gap:10px;padding:12px;display:flex}.warning-box{color:#9a6700;background:#fff8eb}.privacy-box{color:#087e52;background:#eefaf5}.privacy-box span{flex-direction:column;display:flex}.privacy-box small{color:#4b7d6b;margin-top:3px}.preflight-error{color:#b42318;background:#fff4f2}.preflight-error div{flex-direction:column;gap:3px;display:flex}.preflight-error span,.preflight-error small{font-size:11px}.app-loading{color:#667085;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:100vh;display:flex}.app-loading .brand-mark{margin-bottom:10px}.project-center{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:74px;padding:0 5vw;display:flex;position:sticky;top:0}.topbar-actions{align-items:center;gap:8px;display:flex}.center-content{width:min(1280px,90%);margin:0 auto;padding:52px 0 80px}.center-hero{justify-content:space-between;align-items:end;margin-bottom:30px;display:flex}.center-hero h1{letter-spacing:-.04em;margin:8px 0;font-size:36px}.center-hero p{color:var(--muted)}.center-stats{background:var(--navy);color:#fff;border-radius:17px;grid-template-columns:repeat(3,1fr);margin-bottom:28px;display:grid;overflow:hidden}.center-stats>div{border-right:1px solid #ffffff1a;align-items:center;gap:14px;padding:20px 24px;display:flex}.center-stats>div:last-child{border:0}.center-stats svg{color:#6da0ff}.center-stats span{color:#aab9cf;flex-direction:column;font-size:11px;display:flex}.center-stats strong{color:#fff;margin-bottom:2px;font-size:20px}.list-toolbar{color:#7b8798;justify-content:space-between;align-items:center;margin:24px 0 16px;font-size:12px;display:flex}.search-box{border:1px solid var(--line);color:#98a2b3;background:#fff;border-radius:10px;align-items:center;gap:8px;min-width:min(430px,100%);padding:0 12px;display:flex}.search-box input{outline:0;box-shadow:none!important;background:0 0!important;border:0!important;padding:11px 0!important}.project-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.project-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 3px 14px #10213d0a}.project-card:hover{box-shadow:var(--shadow);border-color:#cdd7e6;transform:translateY(-3px)}.project-card.archived{opacity:.68}.project-accent{width:4px;position:absolute;inset:0 auto 0 0}.project-card-head{justify-content:space-between;align-items:center;display:flex}.card-menu{gap:3px;display:flex}.project-status{color:#52627a;background:#edf3fb;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.status-执行中{color:#1d5fc1;background:#e9f2ff}.status-已完成{color:#087e52;background:#e9f8f2}.status-已归档{color:#667085;background:#f0f1f3}.project-card h2{margin:18px 0 4px;font-size:19px}.client-name{color:#667085;font-size:12px}.project-meta{color:#7c899b;flex-direction:column;gap:8px;margin:18px 0;font-size:12px;display:flex}.project-meta span{align-items:center;gap:7px;display:flex}.project-progress>div:first-child{color:#667085;justify-content:space-between;margin-bottom:7px;font-size:11px;display:flex}.progress-track,.large-progress{background:#e9edf3;border-radius:99px;height:5px;overflow:hidden}.progress-track i,.large-progress i{border-radius:inherit;height:100%;display:block}.project-card-foot{color:#7b8798;border-top:1px solid #edf0f4;align-items:center;gap:12px;margin-top:18px;padding-top:16px;font-size:11px;display:flex}.project-card-foot span{white-space:nowrap}.project-card-foot span:nth-child(2){margin-right:auto}.project-card-foot button{color:var(--blue);background:0 0;border:0;align-items:center;gap:4px;font-weight:700;display:flex}.empty-state{text-align:center;color:#7c899b;background:#fff;border:1px dashed #ccd5e2;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:32px;display:flex}.empty-state h3{color:#344054;margin:14px 0 7px}.empty-state p{max-width:360px;font-size:12px;line-height:1.65}.empty-state .primary-btn{margin-top:18px}.empty-icon{color:#7c91ac;background:#eef3f9;border-radius:14px;place-items:center;width:50px;height:50px;display:grid}.toast{z-index:300;background:var(--navy);color:#fff;box-shadow:var(--shadow);border-radius:11px;align-items:center;gap:9px;padding:12px 16px;font-weight:650;display:flex;position:fixed;bottom:24px;right:24px}.workspace{min-height:100vh}.sidebar{background:var(--navy);color:#fff;z-index:40;flex-direction:column;width:250px;padding:22px 16px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{align-items:center;gap:10px;padding:0 7px 20px;display:flex}.sidebar-brand>div:last-child{flex-direction:column;display:flex}.sidebar-brand strong{font-size:15px}.sidebar-brand span{color:#8296b5;font-size:10px}.back-projects{color:#a9b8cd;background:0 0;border:0;border-top:1px solid #ffffff14;align-items:center;gap:8px;padding:15px 7px;font-size:11px;display:flex}.back-projects:hover{color:#fff}.current-project{background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;margin-bottom:16px;padding:14px;display:flex}.current-project>span{color:#7890b1;text-transform:uppercase;letter-spacing:.14em;font-size:9px}.current-project strong{white-space:nowrap;text-overflow:ellipsis;margin:7px 0 3px;font-size:13px;overflow:hidden}.current-project small{color:#91a2ba;font-size:10px}.current-project select{color:#dce6f4;background:#223757;border:0;border-radius:7px;width:100%;margin-top:10px;padding:7px;font-size:10px}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav button{color:#9db0ca;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:11px 12px;font-weight:650;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#3977e333}.sidebar nav button.active{box-shadow:inset 3px 0 #4c8cff}.sidebar-foot{background:#ffffff0d;border-radius:10px;margin-top:auto;padding:12px}.sidebar-foot>span{color:#8094b2;font-size:9px}.sidebar-foot strong{float:right;font-size:11px}.sidebar-foot .progress-track{background:#ffffff1f;margin-top:8px}.workspace-main{min-height:100vh;margin-left:250px}.workspace-top{border-bottom:1px solid var(--line);z-index:25;background:#fff;align-items:center;height:78px;padding:0 30px;display:flex;position:sticky;top:0}.workspace-top>div:first-of-type{flex-direction:column;display:flex}.workspace-top>div>span{color:#7b8798;font-size:10px}.workspace-top h1{margin-top:3px;font-size:18px}.workspace-meta{color:#7c899b;align-items:center;gap:14px;margin-left:auto;font-size:11px;flex-direction:row!important;display:flex!important}.workspace-meta>span:first-child{align-items:center;gap:6px;display:flex}.workspace-content{max-width:1500px;margin:0 auto;padding:30px}.page-loading{color:#7b8798;justify-content:center;align-items:center;gap:10px;height:60vh;display:flex}.page-stack{flex-direction:column;gap:22px;display:flex}.page-intro{justify-content:space-between;align-items:flex-end;display:flex}.page-intro h2{letter-spacing:-.035em;margin:7px 0;font-size:27px}.page-intro p{color:var(--muted);font-size:12px}.intro-actions{gap:10px;display:flex}.view-toggle{background:#e9eef5;border-radius:9px;padding:3px;display:flex}.view-toggle button{color:#7b8798;background:0 0;border:0;border-radius:7px;width:34px}.view-toggle button.active{color:var(--blue);background:#fff;box-shadow:0 2px 5px #10213d1f}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:auto 1fr;column-gap:12px;padding:18px;display:grid;box-shadow:0 2px 9px #10213d08}.metric-icon{border-radius:10px;grid-row:1/4;place-items:center;width:40px;height:40px;display:grid}.tone-blue{color:#2563eb;background:#e9f2ff}.tone-amber{color:#d88912;background:#fff5e5}.tone-violet{color:#7955c8;background:#f0ebff}.tone-green{color:#149f68;background:#e8f8f2}.metric-card>span{color:#667085;font-size:10px}.metric-card>strong{letter-spacing:-.03em;margin:3px 0;font-size:22px}.metric-card>small{color:#98a2b3;font-size:9px}.dashboard-grid{grid-template-columns:1.1fr .9fr;gap:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:15px;padding:22px;box-shadow:0 2px 10px #10213d08}.panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.panel-head h3{margin-top:5px;font-size:16px}.big-progress{color:var(--blue);font-size:28px}.status-flow{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.status-flow>div{border:1px solid #edf0f4;border-radius:10px;grid-template-columns:auto 1fr;gap:7px;padding:12px;display:grid}.status-flow span{color:#667085;grid-column:1/3;font-size:9px}.status-dot{border-radius:50%;width:9px;height:9px}.dot-gray{background:#98a2b3}.dot-blue{background:#2563eb}.dot-amber{background:#e89b18}.dot-violet{background:#7955c8}.dot-green{background:#16a36a}.large-progress{height:8px;margin-top:20px}.category-cost-list{flex-direction:column;display:flex}.category-cost-list>div{border-bottom:1px solid #edf0f4;justify-content:space-between;padding:12px 0;display:flex}.category-cost-list span{flex-direction:column;font-weight:650;display:flex}.category-cost-list small{color:#98a2b3;margin-top:3px;font-size:9px;font-weight:400}.category-cost-list strong{font-size:12px}.quick-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.quick-grid>button{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:13px;align-items:center;gap:12px;padding:16px;display:flex}.quick-grid>button:hover{box-shadow:var(--shadow);border-color:#adc3ea}.quick-grid>button>div{color:#547095;background:#eff4fa;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.quick-grid>button>span{flex-direction:column;flex:1;display:flex}.quick-grid small{color:#98a2b3;margin-top:4px;font-size:9px}.quick-grid>button>svg{color:#98a2b3;width:16px}.mobile-nav,.mobile-menu,.sidebar-scrim{display:none}.filter-panel{border:1px solid var(--line);background:#fff;border-radius:13px;flex-wrap:wrap;align-items:center;gap:12px;padding:15px;display:flex}.filter-panel .search-box{flex:1;min-width:250px}.filter-selects{flex-wrap:wrap;gap:8px;display:flex}.filter-selects select{width:auto;min-width:122px;padding:10px;font-size:11px}.filter-panel.compact{border:0;padding:0;display:block}.filter-panel.compact .search-box{margin-bottom:10px}.filter-panel.compact .filter-selects select{flex:1}.filter-panel.compact .filter-selects{display:flex}.clear-filter{margin-left:auto}.selection-line{color:#7c899b;justify-content:space-between;padding:0 3px;font-size:11px;display:flex}.check-label{color:#475467;align-items:center;gap:8px;font-size:11px;font-weight:650;display:flex}.bulk-bar{z-index:15;background:var(--navy);color:#fff;box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:92px}.bulk-bar strong{margin-right:auto}.bulk-bar select,.bulk-bar>button:not(.icon-btn){color:#fff;background:#223757;border:1px solid #3a4f6d;border-radius:8px;padding:7px 9px;font-size:11px}.material-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.material-card{border:1px solid var(--line);background:#fff;border-radius:14px;transition:all .18s;overflow:hidden}.material-card:hover{box-shadow:var(--shadow);border-color:#c7d3e3}.material-card.selected{outline:2px solid var(--blue);outline-offset:-1px}.material-card>header{align-items:center;height:38px;padding:5px 8px;display:flex}.card-check{display:flex}.drag-handle{color:#abb5c3;cursor:grab;margin-left:6px}.card-actions{opacity:.18;margin-left:auto;transition:all .15s;display:flex}.material-card:hover .card-actions{opacity:1}.card-actions button,.row-actions button,.ppt-order-list button{color:#7c899b;background:0 0;border:0;border-radius:6px;place-items:center;width:26px;height:26px;display:grid}.card-actions button:hover,.row-actions button:hover,.ppt-order-list button:hover{color:var(--blue);background:#edf2f8}.material-image{background:#f2f5f9;place-items:center;height:190px;display:grid;position:relative;overflow:hidden}.material-image img{object-fit:contain;background:#fff;width:100%;height:100%}.material-image>div{color:#aab4c2;flex-direction:column;align-items:center;gap:8px;font-size:10px;display:flex}.incomplete-flag{color:#a15c00;background:#fff2df;border:1px solid #ffd9a4;border-radius:99px;padding:4px 7px;font-size:9px;font-weight:700;position:absolute;bottom:9px;right:9px}.material-body{padding:16px}.material-title{justify-content:space-between;gap:10px;display:flex}.material-title h3{font-size:14px;line-height:1.45}.material-title>div>span{color:#98a2b3;font-size:9px}.badge{white-space:nowrap;border-radius:99px;align-items:center;height:23px;padding:0 8px;font-size:9px;font-weight:800;display:inline-flex}.badge-gray{color:#667085;background:#eef0f3}.badge-blue{color:#1d5fc1;background:#e8f2ff}.badge-amber{color:#aa6500;background:#fff3df}.badge-violet{color:#6941c6;background:#f0ebff}.badge-green{color:#087e52;background:#e8f8f2}.material-spec{grid-template-columns:1.4fr .6fr;gap:9px;margin:14px 0;display:grid}.material-spec span{color:#98a2b3;flex-direction:column;font-size:9px;display:flex}.material-spec strong{color:#344054;margin-top:3px;font-size:11px}.client-note{color:#667085;background:#f7f9fc;border-left:2px solid #93afd8;margin-bottom:12px;padding:8px;font-size:10px;line-height:1.5}.material-body footer{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.material-body footer>div{flex-wrap:wrap;gap:5px;display:flex}.material-body footer>strong{font-size:11px}.soft-tag{color:#667085;background:#f0f3f7;border-radius:5px;align-items:center;gap:3px;padding:4px 6px;font-size:8px;font-weight:700;display:inline-flex}.soft-tag.success{color:#087e52;background:#eaf8f2}.soft-tag.warning{color:#b54708;background:#fff1eb}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:1020px}.data-table th{color:#667085;text-transform:uppercase;letter-spacing:.08em;text-align:left;background:#f7f9fc;padding:12px;font-size:9px}.data-table td{color:#475467;border-top:1px solid #edf0f4;padding:11px 12px;font-size:11px}.data-table td small{color:#98a2b3;margin-top:3px;display:block}.table-material{align-items:center;gap:9px;display:flex}.table-material img,.table-material>span{object-fit:cover;background:#edf1f5;border-radius:7px;place-items:center;width:36px;height:36px;display:grid}.row-actions{display:flex}.material-form-layout{grid-template-columns:260px 1fr;gap:22px;display:grid}.image-upload-panel>span,.brand-upload>span{color:#475467;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.large-upload{color:#7e8fa8;cursor:pointer;background:#f7f9fc;border:1px dashed #b9c6d7;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:260px;display:flex;position:relative;overflow:hidden}.large-upload.has-image{background:#fff}.large-upload img{object-fit:contain;width:100%;height:100%}.large-upload input,.brand-upload input{display:none}.large-upload small{font-size:9px}.upload-overlay{background:#ffffffb8;place-items:center;display:grid;position:absolute;inset:0}.image-upload-panel>.text-btn{width:100%;margin-top:6px}.logistics-sections{flex-direction:column;gap:25px;display:flex}.logistics-group>header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.logistics-group h3{font-size:14px}.logistics-group header>span{color:#98a2b3;font-size:10px}.logistics-dot{border-radius:50%;width:8px;height:8px}.logistics-未发货{background:#98a2b3}.logistics-运输中{background:#e89b18}.logistics-已签收{background:#16a36a}.logistics-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.logistics-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px}.logistics-card-head{align-items:center;gap:10px;display:flex}.logistics-card-head>div:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.logistics-card-head strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.logistics-card-head span{color:#98a2b3;margin-top:3px;font-size:9px}.mini-material-image{color:#98a2b3;background:#eef2f6;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;display:grid;overflow:hidden}.mini-material-image img{object-fit:cover;width:100%;height:100%}.tracking-line{background:#f7f9fc;border-radius:8px;grid-template-columns:1fr auto;gap:3px;margin-top:15px;padding:9px;display:grid}.tracking-line>span{color:#98a2b3;grid-column:1/3;font-size:8px}.tracking-line strong{font-family:monospace;font-size:10px}.tracking-line button{color:var(--blue);background:0 0;border:0;align-items:center;gap:3px;font-size:9px;display:flex}.arrival-line{color:#7c899b;align-items:center;gap:5px;margin:10px 0;font-size:9px;display:flex}.delivery-progress{background:#edf0f4;border-radius:99px;height:4px;overflow:hidden}.delivery-progress i{border-radius:inherit;background:#e89b18;height:100%;display:block}.logistics-edit{flex-direction:column;gap:7px;margin-top:12px;display:flex}.logistics-edit input,.logistics-edit select{padding:8px;font-size:10px}.logistics-edit>div{justify-content:flex-end;gap:6px;display:flex}.empty-lane{text-align:center;color:#98a2b3;border:1px dashed #d6dde6;border-radius:10px;padding:18px;font-size:10px}.cost-metrics{grid-template-columns:repeat(3,1fr)}.bar-list{flex-direction:column;gap:16px;display:flex}.bar-list>div>div:first-child{justify-content:space-between;font-size:11px;display:flex}.bar-list strong{font-size:10px}.bar-track{background:#eef1f5;border-radius:99px;height:7px;margin-top:8px;overflow:hidden}.bar-track i{background:var(--blue);border-radius:inherit;height:100%;display:block}.donut-legend{flex-direction:column;gap:12px;display:flex}.donut-legend>div{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:11px;display:grid}.donut-legend i{border-radius:50%;width:8px;height:8px}.legend-0{background:#2563eb}.legend-1{background:#7955c8}.legend-2{background:#e89b18}.destination-list{border-top:1px solid #edf0f4;margin-top:25px;padding-top:18px}.destination-list h4{margin-bottom:10px;font-size:11px}.destination-list>div{justify-content:space-between;padding:9px 0;display:flex}.destination-list span{align-items:center;gap:5px;font-size:10px;display:flex}.destination-list small{color:#98a2b3}.destination-list strong{font-size:10px}.settings-grid{grid-template-columns:1.1fr .9fr;gap:18px;display:grid}.settings-panel{align-self:start}.brand-assets{grid-template-columns:1fr 1.5fr;gap:12px;margin-top:20px;display:grid}.brand-upload label{color:#98a2b3;cursor:pointer;background:#f7f9fc;border:1px dashed #c3cedd;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:5px;height:105px;display:flex;overflow:hidden}.brand-upload img{object-fit:contain;background:#fff;width:100%;height:100%}.brand-upload small{font-size:8px}.brand-upload>.text-btn{width:100%;font-size:10px}.category-add{gap:8px;margin-bottom:14px;display:flex}.category-add input{flex:1}.category-add .primary-btn{padding:9px 12px}.category-list{flex-direction:column;display:flex}.category-list>div:not(.empty-state){border-top:1px solid #edf0f4;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:7px;padding:8px 0;display:grid}.category-list>div>svg{color:#a6b1c0;cursor:grab}.category-list input{border-color:#0000;padding:8px}.category-list input:focus{border-color:#b7c9e9}.category-list span{color:#98a2b3;white-space:nowrap;font-size:9px}.inline-select-action{grid-template-columns:1fr auto;gap:7px;display:grid}.inline-select-action button{color:var(--blue);background:#f5f8fc;border:1px solid #c9d5e5;border-radius:9px;align-items:center;gap:4px;padding:0 10px;font-size:10px;font-weight:700;display:flex}.option-manager{grid-column:1/-1}.option-tabs{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.option-tabs button{color:#5c6b7d;background:#f8fafc;border:1px solid #d7e0eb;border-radius:99px;padding:7px 11px;font-size:10px}.option-tabs button.active{color:#1d5cc0;background:#eaf1ff;border-color:#a9c1ef;font-weight:700}.option-help{color:#667085;background:#f6f8fb;border-radius:8px;margin:-4px 0 10px;padding:9px 11px;font-size:10px}.option-list{grid-template-columns:1fr 1fr;column-gap:22px;display:grid}.tracking-line{grid-template-columns:1fr auto auto}.tracking-line>span{grid-column:1/4}.tracking-line .tracking-query{color:#0b72ce;align-items:center;gap:3px;font-size:9px;text-decoration:none;display:flex}.tracking-line .tracking-query:hover{text-decoration:underline}.export-tabs{background:#e7ecf3;border-radius:11px;gap:5px;width:max-content;padding:4px;display:flex}.export-tabs button{color:#667085;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:10px 15px;font-weight:700;display:flex}.export-tabs button.active{color:var(--blue);background:#fff;box-shadow:0 2px 7px #10213d1f}.export-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:18px;display:grid}.export-config{grid-template-columns:1fr 1fr;gap:15px;display:grid}.config-section{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:18px}.config-title{align-items:flex-start;gap:9px;margin-bottom:16px;display:flex}.config-title>svg{color:var(--blue);margin-top:2px}.config-title>div{flex-direction:column;display:flex}.config-title strong{font-size:13px}.config-title small{color:#98a2b3;margin-top:3px;font-size:9px}.export-item-list{border-top:1px solid #edf0f4;max-height:350px;margin-top:13px;overflow:auto}.export-item-list>label:not(.check-label){cursor:pointer;border-bottom:1px solid #f0f2f5;grid-template-columns:auto 34px 1fr;align-items:center;gap:8px;padding:8px 2px;display:grid}.export-item-list img,.list-placeholder{object-fit:cover;color:#a6b1c0;background:#eef2f6;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.export-item-list>label>span:last-child{flex-direction:column;font-size:10px;font-weight:650;display:flex}.export-item-list small{color:#98a2b3;margin-top:2px;font-size:8px}.export-item-list>.check-label{padding:10px 2px}.field-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field-options label{border:1px solid var(--line);cursor:pointer;color:#667085;border-radius:8px;align-items:center;gap:7px;padding:9px;font-size:10px;display:flex}.field-options label input{display:none}.field-options label svg{opacity:0;margin-left:auto}.field-options label.checked{color:#1d5fc1;background:#f0f6ff;border-color:#a8c1ef}.field-options label.checked svg{opacity:1}.export-summary{background:var(--navy);color:#fff;border-radius:15px;padding:22px;position:sticky;top:100px}.export-icon{border-radius:11px;place-items:center;width:45px;height:45px;margin-bottom:18px;display:grid}.export-icon.excel{background:#118b58}.export-icon.ppt{background:#da6b2f}.export-summary h3{margin:7px 0 18px;font-size:18px}.export-summary dl{margin:0}.export-summary dl>div{border-top:1px solid #ffffff17;justify-content:space-between;padding:10px 0;display:flex}.export-summary dt{color:#91a5c4;font-size:9px}.export-summary dd{text-align:right;max-width:165px;margin:0;font-size:10px;font-weight:700}.export-btn{width:100%;margin-top:16px}.export-summary>p{color:#7185a4;text-align:center;margin-top:10px;font-size:8px;line-height:1.5}.export-summary .privacy-box,.export-summary .preflight-error{margin-top:14px}.ppt-layout .export-config{grid-template-columns:.78fr 1.22fr}.ppt-filters{gap:8px;margin-bottom:11px;display:flex}.ppt-filters select{font-size:10px}.ppt-order-list{max-height:470px;overflow:auto}.ppt-order-list>div{opacity:.55;border-top:1px solid #edf0f4;grid-template-columns:auto auto 38px 1fr auto auto auto;align-items:center;gap:7px;padding:8px 2px;display:grid}.ppt-order-list>div.selected{opacity:1}.ppt-order-list>div.incomplete{background:#fff9f3}.ppt-order-list img{object-fit:cover;border-radius:7px;width:38px;height:38px}.ppt-order-list>div>span:first-of-type{flex-direction:column;min-width:0;display:flex}.ppt-order-list strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.ppt-order-list small{color:#98a2b3;margin-top:3px;font-size:8px}.ppt-order-list>div>svg{color:#a6b1c0}@media (width<=1180px){.project-grid,.material-grid,.logistics-grid,.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.settings-grid,.export-layout{grid-template-columns:1fr}.export-summary{position:static}.export-config,.ppt-layout .export-config{grid-template-columns:1fr 1fr}}@media (width<=820px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-form-wrap{min-height:100vh;padding:24px}.mobile-brand{align-items:center;gap:10px;margin-bottom:45px;display:flex}.topbar{padding:0 18px}.center-content{width:92%;padding-top:30px}.center-hero{align-items:flex-start;gap:18px}.center-hero h1{font-size:29px}.center-stats{grid-template-columns:1fr}.center-stats>div{border-bottom:1px solid #ffffff1a;border-right:0;padding:15px 18px}.project-grid{grid-template-columns:1fr}.sidebar{width:270px;transition:all .22s;transform:translate(-102%)}.sidebar.open{transform:translate(0)}.sidebar-scrim{z-index:35;background:#08122280;display:block;position:fixed;inset:0}.workspace-main{margin-left:0}.workspace-top{height:68px;padding:0 15px}.mobile-menu{margin-right:9px;display:grid}.workspace-meta>span:first-child{display:none}.workspace-content{padding:18px 14px 86px}.mobile-nav{z-index:30;border-top:1px solid var(--line);background:#fff;justify-content:space-around;height:66px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#8a96a7;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:8px;display:flex}.mobile-nav button.active{color:var(--blue)}.page-intro{align-items:flex-start;gap:14px}.page-intro h2{font-size:23px}.page-intro .primary-btn{white-space:nowrap;padding:10px 12px}.dashboard-grid,.quick-grid{grid-template-columns:1fr}.status-flow{grid-template-columns:repeat(5,minmax(78px,1fr));overflow:auto}.filter-panel{display:block}.filter-panel .search-box{margin-bottom:10px}.filter-selects select{flex:1;min-width:130px}.material-grid{grid-template-columns:1fr 1fr}.material-form-layout{grid-template-columns:1fr}.large-upload{height:220px}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.bulk-bar{top:78px;overflow:auto}.logistics-grid,.export-config,.ppt-layout .export-config,.settings-grid{grid-template-columns:1fr}.option-manager{grid-column:auto}.option-list,.cost-metrics{grid-template-columns:1fr}.brand-assets{grid-template-columns:1fr 1fr}}@media (width<=560px){.topbar .brand-lockup span,.topbar-actions .text-btn{display:none}.center-hero{flex-direction:column}.center-stats{margin-bottom:18px}.material-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{grid-template-columns:auto 1fr;padding:13px}.metric-card>strong{font-size:17px}.metric-icon{width:34px;height:34px}.material-image{height:220px}.page-intro{flex-direction:column}.page-intro .intro-actions{justify-content:space-between;width:100%}.field-options{grid-template-columns:1fr}.ppt-order-list>div{grid-template-columns:auto auto 34px 1fr auto}.ppt-order-list .badge,.ppt-order-list>div>button:first-of-type{display:none}.export-summary{padding:18px}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel{border-radius:18px 18px 0 0;max-height:94vh}.modal-header,.modal-body{padding:17px}.brand-assets{grid-template-columns:1fr}.toast{justify-content:center;bottom:78px;left:14px;right:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.material-image{aspect-ratio:1;height:auto}.material-image img{object-fit:contain;object-position:center}@media (width<=560px){.material-image{height:auto}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
