:root{font-family:"Microsoft YaHei","Segoe UI",sans-serif;color:#20304d;background:#f4f7fc;font-size:15px;line-height:1.65;--primary:#2563eb;--muted:#687790;--line:#dce4f1}*{box-sizing:border-box}body{margin:0}header{min-height:88px;background:#ffffff;color:#24345a;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1160px)/2));gap:20px}.brand{color:inherit;text-decoration:none;font-weight:800;font-size:26px;letter-spacing:2px;white-space:nowrap}.brand span{font-weight:500;font-size:15px;letter-spacing:1px;margin-left:18px}#identity{display:flex;gap:16px;align-items:center;font-size:13px}.sample{background:#eaf1ff;color:#52678d;text-align:center;font-size:12px;padding:7px 16px}main{max-width:1160px;margin:40px auto;padding:0 24px 70px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.3;margin-bottom:12px}h2{font-size:20px}h3{font-size:16px;margin-bottom:10px}.muted,small{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--primary);font-weight:bold;margin-bottom:12px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;flex-wrap:wrap}.toolbar h1{margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px}.stat b{display:block;font-size:29px;line-height:1.4}.stat span{font-size:12px;color:var(--muted)}button,.button{font:inherit;cursor:pointer;border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:7px;padding:9px 17px;text-decoration:none;min-height:42px}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#fff;color:var(--primary);border-color:var(--line)}.danger{background:#fff;color:#a64036;border-color:#eac7c0}.link{border:0;background:transparent;color:var(--primary);padding:3px 0;min-height:32px;text-align:left}header button{color:var(--primary)!important;background:#fff!important;border-color:#cbd7ed!important;padding:5px 12px;min-height:32px}label{display:block;font-size:13px;font-weight:600;margin-bottom:15px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #cbd7e9;border-radius:6px;background:#fff;font:inherit;color:inherit;min-width:0}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #9bb4f5;outline-offset:1px}input[type=checkbox]{display:inline;width:auto;margin:0 8px 0 0}input:disabled{background:#f4f7fc}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.wide{grid-column:1/-1}.pill{display:inline-block;background:#eaf0ff;color:#344b8e;padding:3px 9px;border-radius:4px;font-size:12px;font-weight:500}.pill.pending{background:#fff1d9;color:#85652e}.amount{font-size:26px;font-weight:650;margin:16px 0}.order{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.order h3{margin:0}.order .link{margin-top:auto}.order p{margin:0;font-size:13px}.login{max-width:440px;margin:65px auto}.login .card{padding:32px}.login button{width:100%}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px}.step{border-left:2px solid var(--line);margin-left:5px;padding:0 0 22px 20px;position:relative}.step:before{content:"";position:absolute;left:-6px;top:7px;width:10px;height:10px;border-radius:50%;background:#c4cfe3}.step.done:before{background:var(--primary)}.step b,.step small{display:block}.step:last-child{padding-bottom:0}.device{background:#f7f9ff;border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:15px}.kv{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #edf1f8;overflow-wrap:anywhere}.kv span:first-child{color:var(--muted)}.note{border-left:3px solid #829cf0;background:#f0f5ff;padding:12px 16px;font-size:13px;margin-bottom:18px;white-space:pre-wrap;overflow-wrap:anywhere}.empty{text-align:center;padding:45px;color:var(--muted)}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#263459;color:white;padding:12px 24px;border-radius:9px;box-shadow:0 5px 25px #0002;z-index:99}.checklist{display:flex;flex-wrap:wrap;gap:10px}.checklist label{font-weight:400;margin:0}.configfield{border-bottom:1px solid var(--line);padding:18px 0}.configfield:last-child{border:0}.flow-node{display:flex;gap:10px;align-items:center;margin-bottom:10px}.flow-node select{margin:0}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px;text-align:left;border-bottom:1px solid var(--line)}.sticky{position:sticky;bottom:12px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px;box-shadow:0 4px 20px #0001}.history{margin-top:16px}summary{cursor:pointer;color:var(--primary);padding:8px 0}pre{white-space:pre-wrap;word-break:break-word}.subtitle{max-width:650px}.statusline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#search{max-width:300px;margin:0}.badge{font-size:12px;color:#566e96;background:#edf3ff;padding:3px 8px;border-radius:4px}button:focus-visible,a:focus-visible{outline:3px solid #daa65c;outline-offset:3px}@media(max-width:760px){header{height:64px;padding:0 18px}.brand{font-size:22px}.brand span{font-size:12px;margin-left:8px}#identity{gap:8px;font-size:11px}.sample{font-size:10px}main{margin-top:25px;padding:0 16px 50px}h1{font-size:25px}.grid,.split{grid-template-columns:1fr}.card{padding:19px}.stats{gap:8px}.stat{padding:13px}.stat b{font-size:24px}.fields{grid-template-columns:1fr}.toolbar{align-items:flex-start}.login{margin-top:40px}.amount{font-size:24px}.flow-node{flex-wrap:wrap}.flow-node select{flex:1;min-width:140px}.sticky .actions button{flex:1}#search{max-width:none}.kv{font-size:13px}.configfield .fields{gap:0}}
[hidden]{display:none!important}
/* Company branding and persistent toggle states. */
header{color:#243450;border-bottom:1px solid #dfe6f2;box-shadow:0 2px 12px #233b7010;height:88px}
.brand{display:flex;align-items:center;gap:20px;letter-spacing:0}
.brand img{display:block;width:145px;height:61px;object-fit:contain}
.brand span{margin:0;padding-left:20px;border-left:1px solid #dfe6f2;color:#566988;font-size:15px}
header button{color:#25258a!important;background:#fff!important;border-color:#d8e3f4!important}
#identity label{margin:0;color:#607399;font-weight:500}
#identity select{margin-top:2px;background:#f7f9ff}
.secondary:hover{background:#eef3ff;border-color:#a9b9e2;filter:none}
.quick-dates{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}
.expense-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}
.expense-filters>h2,.expense-filters>p,.expense-filters>.quick-dates{grid-column:1/-1;margin:0}
.expense-filters>label{margin:0}
.expense-filters>button{align-self:end}
.expense-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}
.expense-form-grid>h2,.expense-form-grid>p{grid-column:1/-1}
.expense-line{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,2fr) minmax(140px,1fr) minmax(100px,1fr) auto;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:12px}
.expense-line label{margin:0}
.expense-line-list{margin-bottom:16px}
.expense-list-amount,.expense-payment-status{display:block}
.expense-list-amount{font-variant-numeric:tabular-nums;color:#25258a}
.expense-payment-status{font-size:12px;color:var(--muted)}
@media(max-width:700px){.expense-form-grid{grid-template-columns:1fr}.expense-line{grid-template-columns:1fr 1fr}.expense-line>label:first-child{grid-column:1/-1}.expense-table td[data-column="actions"]{flex-wrap:wrap}.expense-table td[data-column="actions"]>*{margin-right:8px}}
@media(max-width:900px){.expense-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.expense-filters{grid-template-columns:1fr}}
button[aria-pressed="true"],button[aria-pressed="true"]:hover{background:#25258a;color:#fff;border-color:#25258a;box-shadow:0 3px 9px #25258a25;font-weight:600;filter:none}
button[aria-pressed="false"]{background:#fff;color:#52678c;border-color:#d7e1f0}
.record-table tbody tr:hover{background:#f1f5ff}
input[type=checkbox]{accent-color:#25258a}
dialog{border-color:#dfe6f2!important;color:#243450;box-shadow:0 20px 70px #1c327333}
dialog::backdrop{background:#1a2d5338}
@media(max-width:760px){header{height:auto;min-height:80px;padding:12px 16px;flex-wrap:wrap;gap:12px}.brand img{width:112px;height:47px}.brand{gap:12px}.brand span{padding-left:12px;font-size:13px}#identity{margin-left:auto}}
.customer-entry{border-top:1px solid var(--line);padding:18px 0;margin-top:14px}.customer-entry p,.kv{overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap}
.customer-address{min-width:0;border:1px solid var(--line);border-radius:8px;margin:0 0 18px;padding:16px}.customer-address legend{font-weight:600;padding:0 6px}

/* Dense desktop lists; compact labeled records on narrow screens. */
.record-table {width:100%;font-size:14px;}
.record-table th {white-space:nowrap;position:sticky;top:0;background:#f3f6fa;z-index:1;}
.record-table td {vertical-align:middle;min-width:95px;max-width:260px;overflow-wrap:anywhere;}
.record-table td:first-child {min-width:44px;}
.record-table button {white-space:normal;padding:5px 8px;}
@media(min-width:701px) {
 .order-query-table td[data-column=number],.order-query-table td[data-column=amount],
 .order-query-table td[data-column=created_at],.order-query-table td[data-column=updated_at],
 .order-query-table td[data-column=completed_at],.order-query-table td[data-column=delivery_date] {white-space:nowrap;overflow-wrap:normal;}
}
.record-table input[type=checkbox], .toolbar input[type=checkbox] {width:18px;min-height:18px;}
.filter-row,.filter-values {display:flex;gap:12px;align-items:end;flex-wrap:wrap;}
.filter-row {padding:12px 0;border-bottom:1px solid #e2e8f0;}
.filter-row label {min-width:140px;}
.filter-builder {margin-bottom:12px;}
@media(max-width:700px) {
 .record-table thead {display:none;}
 .record-table,.record-table tbody,.record-table tr,.record-table td {display:block;width:100%;max-width:none;min-width:0;}
 .record-table tr {border:1px solid #dce4ee;border-radius:10px;padding:10px;margin-bottom:10px;background:white;}
 .record-table td {display:flex;gap:12px;justify-content:space-between;padding:6px 0;border:0;}
 .record-table td::before {content:attr(data-label);color:#64748b;flex:0 0 76px;}
 .filter-row,.filter-values {align-items:stretch;flex-direction:column;width:100%;}
}

#identity select {color:#233653;min-width:135px;}
@media(min-width:701px){.record-table td:nth-child(3){white-space:nowrap;min-width:125px;}.record-table td:nth-last-child(2),.record-table td:nth-last-child(3){min-width:125px;}}

.column-order-row{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid #dce4f1;margin:5px 0;border-radius:8px;flex-wrap:wrap;cursor:grab;background:white}.column-order-row>span{min-width:140px;flex:1}.record-table td[data-column="phone"]{white-space:nowrap;min-width:130px}

/* Company identity and selected controls. Preserve the supplied logo artwork. */
.brand{display:flex;align-items:center;gap:18px;letter-spacing:0;min-width:0}
.brand img{display:block;width:160px;height:auto;object-fit:contain;flex-shrink:0}
.brand span{margin-left:0;padding-left:18px;border-left:1px solid var(--line);color:#334766;letter-spacing:.5px}
#identity{flex-wrap:wrap;justify-content:flex-end}
#identity label{margin-bottom:0}
.period-shortcuts{justify-content:flex-start;gap:8px}
button[aria-pressed="true"],button.is-selected{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 6px #2563eb24}
.secondary:hover{background:#edf2ff;border-color:#a3b5e1}
button[aria-pressed="true"]:hover{background:#1d4ed8}
.card,.stat{box-shadow:0 3px 14px #28396b05}
.record-table tbody tr:hover{background:#f0f5ff}
@media(max-width:760px){header{height:auto;min-height:80px;padding:12px 16px;flex-wrap:wrap;gap:10px}.brand img{width:125px}.brand span{padding-left:12px;margin-left:0}.brand{gap:12px}#identity{margin-left:auto}.period-shortcuts button{flex:1 0 28%;padding:8px 10px}}

.followup-image { max-width: 360px; max-height: 240px; border-radius: 8px; border: 1px solid #dbe7f5; object-fit: contain; background: #f8fbff; }
.journey-entry { border-left: 3px solid var(--primary); padding: 10px 16px; margin: 14px 0; background: #f8fbff; border-radius: 0 8px 8px 0; }
.journey-entry h3 { margin: 0 0 5px; }
.journey-entry p { margin: 5px 0; }
.quick-followup>summary { width:fit-content; cursor:pointer; font-size:20px; font-weight:600; color:var(--primary); }
.quick-followup>summary:focus-visible { outline:2px solid var(--primary); outline-offset:5px; }
.quick-followup>form.card { margin:18px 0 0; padding:0; border:0; box-shadow:none; }
.journey-controls { justify-content:flex-start; align-items:end; gap:12px; }
.journey-controls label { flex:1 1 160px; margin:0; }
.journey-entry { overflow-wrap:anywhere; }
.journey-entry .followup-image { max-width:100%; }
/* Payment details keep the add/remove interaction compact on desktop and mobile. */
.receipt-proof { display: block; max-width: 180px; max-height: 180px; object-fit: contain; margin: 8px 0; }
details.device > summary { cursor: pointer; font-weight: 700; color: #203b79; padding: 8px 0; }
 .notification-button{position:relative;display:inline-flex;align-items:center;gap:8px}
 .notification-count{background:#dc2626;color:white;min-width:21px;height:21px;border-radius:12px;padding:1px 6px;font-size:12px;font-weight:700;line-height:19px}
 .notification-count[hidden]{display:none}
 .detail-line{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;padding:16px 0;border-bottom:1px solid #e2e8f0;align-items:end}
 .catalog-results{grid-column:1/-1;max-height:240px;overflow:auto}
 dialog.detail-dialog{width:min(660px,calc(100vw - 32px));max-height:85vh;border:1px solid #dbeafe;border-radius:16px;padding:24px;color:#18365d;box-shadow:0 24px 80px #102f6040;overflow:auto}
 dialog.detail-dialog::backdrop{background:#102f6055}
 .payment-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #e2e8f0}
 .payment-row p{margin:3px 0}
 @media(max-width:600px){.detail-line{grid-template-columns:1fr 1fr}.payment-row{flex-wrap:wrap}}
 .product-summary-table{min-width:780px}.product-summary-table td,.product-summary-table th{white-space:nowrap}

/* Persistent navigation: solid workspace selection, a quieter selected child. */
#workspace-navigation{position:fixed;top:92px;bottom:0;left:0;width:218px;box-sizing:border-box;overflow-y:auto;scrollbar-gutter:stable;background:#f8fbff;color:#334766;padding:18px 10px;border-right:1px solid #dce7f5;z-index:20}
#workspace-navigation[hidden]{display:none}
.workspace-caption{font-size:12px;color:#71829d;padding:0 12px 14px;letter-spacing:2px}
.workspace-group{border:0;margin:0 0 12px;padding:0;background:transparent;border-radius:0}
.workspace-group-header{display:flex;align-items:stretch;border-radius:9px;background:transparent;transition:background-color .16s ease,box-shadow .16s ease}
.workspace-group.is-active>.workspace-group-header{background:#2563eb;box-shadow:0 3px 8px #2563eb20}
.workspace-switch,.workspace-toggle{border:0;border-radius:9px;background:transparent;color:#334766;box-shadow:none;min-height:48px}
.workspace-switch{flex:1;min-width:0;display:flex;align-items:center;gap:8px;text-align:left;padding:11px 10px;font-weight:700;font-size:15px;white-space:nowrap}
.workspace-toggle{flex:0 0 28px;padding:6px;display:flex;align-items:center;justify-content:center}
.workspace-switch:hover,.workspace-toggle:hover{background:#e7effb}
.workspace-group.is-active .workspace-switch,.workspace-group.is-active .workspace-toggle{color:#fff}
.workspace-group.is-active .workspace-switch:hover,.workspace-group.is-active .workspace-toggle:hover{background:#ffffff16}
.workspace-item{position:relative;display:block;width:100%;text-align:left;background:transparent;color:#526581;border:0;border-radius:7px;margin:4px 0;padding:10px 13px;box-shadow:none;line-height:1.5;transition:background-color .15s ease,color .15s ease}
.workspace-group .workspace-item{padding-left:28px}
.workspace-item:hover{background:#eaf1fc;color:#1d4ed8}
.workspace-item[aria-current="page"]{background:#e0ecff;color:#174cba;font-weight:700}
.workspace-item[aria-current="page"]:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:4px;background:#2563eb}
.workspace-chevron{display:block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s ease}
.workspace-toggle[aria-expanded="true"] .workspace-chevron{transform:rotate(45deg)}
.workspace-children{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .22s ease,opacity .18s ease}
.workspace-children[data-open="true"]{grid-template-rows:1fr;opacity:1}
.workspace-children-inner{min-height:0;overflow:hidden}
#workspace-navigation button:hover{filter:none}
#workspace-navigation button:active{background-color:#d8e7fc}
#workspace-navigation .is-active .workspace-switch:active,#workspace-navigation .is-active .workspace-toggle:active{background-color:#1d4ed8}
#workspace-navigation button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
#workspace-navigation .is-active .workspace-switch:focus-visible,#workspace-navigation .is-active .workspace-toggle:focus-visible{outline-color:#9dc5ff;outline-offset:-3px}
.with-sidebar>header{min-height:92px;box-sizing:border-box;position:sticky;top:0;z-index:30;background:#fff}
.with-sidebar>.sample{margin-left:218px}
.with-sidebar>main{margin-left:218px;max-width:none;padding:28px 32px;width:auto;box-sizing:border-box}
.with-sidebar .tablewrap{max-width:100%;overflow:auto}
#app.workspace-loading{cursor:progress}
#app.workspace-loading:before{content:"";position:fixed;top:92px;left:218px;right:0;height:3px;z-index:29;background:linear-gradient(90deg,transparent,#2563eb,transparent);background-size:50% 100%;background-repeat:no-repeat;animation:workspace-progress 1s ease-in-out infinite}
#app.workspace-enter{animation:workspace-enter .16s ease-out}
@keyframes workspace-enter{from{opacity:.8;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@keyframes workspace-progress{from{background-position:-100% 0}to{background-position:200% 0}}
.product-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:start}
.product-layout.without-categories{grid-template-columns:minmax(0,1fr)}
.product-category-list{padding:15px 10px}.product-category-list h2{font-size:16px;padding:0 8px}
.category-choice{display:block;width:100%;text-align:left;border:0;background:transparent;color:#526581;margin:3px 0;padding:8px 12px;overflow-wrap:anywhere}
.category-choice:hover{background:#eef4ff}.category-choice[aria-pressed="true"]{background:#e0ecff;color:#174cba;box-shadow:inset 3px 0 #2563eb}
.product-results{min-width:0}.product-results input[type="checkbox"]{cursor:pointer}
.category-toggle{border:0;background:transparent;color:#2563eb;padding:2px 8px;margin-right:4px;min-height:32px;min-width:32px;font-size:20px}
@media(max-width:1050px){.product-layout{grid-template-columns:minmax(0,1fr)}.product-category-list{max-height:200px;overflow:auto}}
@media(prefers-reduced-motion:reduce){.workspace-chevron,.workspace-children,.workspace-group-header,.workspace-item{transition:none}#app.workspace-enter,#app.workspace-loading:before{animation:none}}
@media(max-width:600px){#workspace-navigation{position:static;width:auto;max-height:230px;display:flex;gap:8px;align-items:flex-start;padding:8px;overflow:auto}#workspace-navigation .workspace-caption{display:none}.workspace-group{min-width:180px;flex-shrink:0}.workspace-item{min-width:130px}.with-sidebar>.sample,.with-sidebar>main{margin-left:0}.with-sidebar>main{padding:18px 12px}.with-sidebar>header{min-height:92px;position:relative}#app.workspace-loading:before{left:0;top:0}}
.order-customer-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0 20px}.order-customer-fields .kv{align-items:flex-start}.order-customer-fields .kv span:first-child{flex-shrink:0}
.customer-select-trigger{display:block;width:100%;margin-top:10px;background:white;color:#2563eb;border:1px solid #bfd2ef;text-align:left;padding:16px}
dialog.customer-picker{width:min(1250px,calc(100vw - 40px));max-height:90vh;box-sizing:border-box;padding:24px;border:1px solid #d8e2ef;border-radius:12px;color:#18365d;box-shadow:0 24px 80px #102f6040}
dialog.customer-picker::backdrop{background:#102f6055}.customer-picker h2{margin:0}.customer-picker-search{display:flex;align-items:end;justify-content:flex-end;gap:12px;margin:24px 0 16px}.customer-picker-search label{width:min(100%,400px);margin:0}.customer-picker-search button{margin-bottom:0}.customer-picker-table{max-height:48vh;overflow:auto;border:1px solid #dce5f0}.customer-picker-table table{min-width:1080px;width:100%;border-collapse:collapse}.customer-picker-table th{position:sticky;top:0;z-index:1;background:#f4f7fb}.customer-picker-table td{max-width:210px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:1px solid #e5ebf3}.customer-picker-table tr.is-selected td{background:#e8f1ff;color:#184fba}.customer-picker-table tbody tr:hover td{background:#f0f6ff;cursor:pointer}.customer-picker-table input[type=radio]{width:18px;height:18px;accent-color:#2563eb}.customer-picker-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #e5ebf3;padding-top:14px;margin-top:12px}.product-thumbnail{width:64px;height:64px;object-fit:contain;border:1px solid #e1e8f2;border-radius:6px;background:white;display:block}.product-gallery{display:flex;flex-wrap:wrap;gap:14px;margin:12px 0 22px}.product-gallery img{width:150px;height:150px;object-fit:contain;border:1px solid #dce5f0;border-radius:8px;background:white}.product-gallery figure{margin:0;max-width:154px}.product-gallery figcaption{font-size:12px;color:#64748b;overflow-wrap:anywhere;margin-top:6px}
@media(max-width:600px){dialog.customer-picker{padding:16px}.customer-picker-footer{flex-wrap:wrap}.customer-picker-search{align-items:stretch;flex-direction:column}}
.product-picker-search{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;justify-content:stretch}
.product-picker-search label{width:auto;min-width:0}
.product-picker-search .actions{align-self:end;white-space:nowrap}
.detail-line input[readonly][aria-haspopup=dialog]{cursor:pointer}
@media(max-width:900px){.product-picker-search{grid-template-columns:repeat(2,minmax(0,1fr))}.product-picker-search .actions{grid-column:1/-1}}
@media(max-width:600px){.product-picker-search{display:flex}.product-picker-search .actions{grid-column:auto}}

.form-draft-box{margin:16px 0;padding:16px;border:1px solid #bfd7f5;border-radius:10px;background:#f5f9ff;color:#18365d}
.form-draft-box>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.form-draft-box button,.preorder-draft-list button{margin:0}
.form-draft-box [role="status"]{margin:10px 0 0}
.form-draft-box>div[hidden]{display:none}
.form-draft-box>div>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:10px 0;border-top:1px solid #d7e5f7}
.form-draft-box[aria-busy="true"]{border-style:dashed}
.form-draft-box[aria-busy="true"]::before{content:"正在处理，请稍候";display:block;margin-bottom:8px;font-weight:600}
.preorder-draft-list{display:flex;flex-direction:column;gap:10px}
.preorder-draft-list .note,.preorder-draft-list .muted{margin:0;padding:10px 12px;border:1px solid #d7e5f7;border-radius:8px;background:#f5f9ff}
.preorder-draft-list button{width:100%;margin:0;padding:12px;text-align:left;border:1px solid #c7daf3;border-radius:8px;background:#fff;color:#1d4ed8}
.preorder-draft-list button:hover{background:#edf5ff}
.reimbursement-groups { display: grid; gap: 22px; }
.reimbursement-group { border: 1px solid #d9e4fa; border-radius: 12px; background: #fafdff; padding: 20px; }
.reimbursement-group-head { display: grid; grid-template-columns: minmax(200px,1fr) auto auto; gap: 16px; align-items: center; margin-bottom: 16px; }
.reimbursement-group-head strong { color: #263a87; font-size: 14px; }
.reimbursement-details { display: grid; gap: 14px; margin-bottom: 16px; counter-reset: expense-detail; }
.reimbursement-detail { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 12px 16px; border: 1px solid #e1e9f7; border-radius: 10px; background: white; padding: 18px; counter-increment: expense-detail; }
.reimbursement-detail::before { content: '明细 ' counter(expense-detail); grid-column: 1 / -1; font-weight: 600; color: #3159a5; }
.reimbursement-detail > label { margin: 0; grid-column: span 6; }
.reimbursement-detail > label:nth-of-type(1), .reimbursement-detail > label:nth-of-type(3) { grid-column: span 3; }
.reimbursement-detail > button, .reimbursement-detail > a { grid-column: 1 / -1; justify-self: start; }
.reimbursement-total { border-top: 1px solid #d9e4fa; padding-top: 18px; font-size: 17px; font-weight: 700; color: #243e94; }
.reimbursement-detail-summary { display: grid; grid-template-columns: 130px 1fr auto; gap: 10px 16px; padding: 16px 0; border-top: 1px solid #e1e9f7; }
.reimbursement-detail-summary .expense-attachment { grid-column: 1 / -1; }
.expense-attachment { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 8px 0; }
.expense-attachment small { color: #687a97; }
.workflow-step { border-left: 3px solid #cbdcfb; padding: 10px 16px; margin: 10px 0; }
.workflow-step p { margin: 8px 0; }
.workflow-step pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
@media (max-width: 760px) {
  .reimbursement-group { padding: 14px; }
  .reimbursement-group-head { grid-template-columns: 1fr; gap: 8px; }
  .reimbursement-detail { padding: 14px; }
  .reimbursement-detail > label, .reimbursement-detail > label:nth-of-type(1), .reimbursement-detail > label:nth-of-type(3) { grid-column: 1 / -1; }
  .reimbursement-detail-summary { grid-template-columns: 1fr; }
}

.expense-saved-files { display:flex; flex-direction:column; gap:4px; margin-top:8px; overflow-wrap:anywhere; }
