:root{--ink:#122b1e;--paper:#ede9e1;--accent:#122b1e;--bs-primary:#122b1e;--bs-body-font-family:Verdana,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif}body{background:var(--paper);color:var(--ink);font-size:15px;line-height:1.65}a{color:#25140c;text-underline-offset:3px}h1{font-size:1.7rem;font-weight:650;line-height:1.4}h2{font-size:1.15rem;font-weight:600}h3{font-size:1.1rem}.site-header{background:white;border-bottom:1px solid #e5e8e2;padding:18px 0}.brand{font-size:1.15rem;font-weight:700;text-decoration:none;letter-spacing:.08em}.brand span{font-size:.75rem;color:#78877d;letter-spacing:.02em;margin-left:15px}.text-button{border:0;background:none;color:#536c5e;padding:0}.role-nav{background:white;border-bottom:1px solid #e4e8e1}.role-nav a{padding:14px 18px;text-decoration:none;white-space:nowrap}.role-nav a.active{font-weight:650;border-bottom:3px solid var(--accent)}.page-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin:6px 0 24px}.page-heading p{color:#69786d;margin-bottom:0}.actions{display:flex;flex-wrap:wrap;gap:8px}.card{border:1px solid #e0e5dd;border-radius:12px;box-shadow:0 2px 6px #122b1e04}.narrow{max-width:760px}.auth-card{max-width:450px;margin-top:48px}.auth-card input:not([type=checkbox]){width:100%;border:1px solid #cbd4cb;border-radius:6px;padding:10px}.auth-card label{display:block;margin-bottom:6px}.auth-card .helptext{font-size:12px;color:#657666}.btn-primary{--bs-btn-bg:#122b1e;--bs-btn-border-color:#122b1e;--bs-btn-hover-bg:#25140c;--bs-btn-hover-border-color:#25140c;--bs-btn-active-bg:#25140c;--bs-btn-active-border-color:#25140c}.btn-outline-primary{--bs-btn-color:#122b1e;--bs-btn-border-color:#122b1e;--bs-btn-hover-bg:#122b1e;--bs-btn-hover-border-color:#122b1e}.btn{font-weight:500;padding:.5rem 1rem}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric{display:flex;flex-direction:column;background:white;border:1px solid #e0e5dd;border-radius:12px;padding:20px 24px;text-decoration:none}.metric span{font-size:.85rem;color:#64776b}.metric strong{font-size:1.9rem;line-height:1.6}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters .form-control,.filters .form-select{flex:1;min-width:150px;width:auto}.filters .form-control{flex:1.5}.table{--bs-table-color:#302F2B;--bs-table-border-color:#edf0e9}.table th{background:#ede9e1;font-size:13px;font-weight:600;white-space:nowrap;padding:14px}.table td{padding:14px;min-width:85px}.table td:first-child{min-width:190px}.table .qty-input{min-width:110px}.status-pill{background:#ede9e1;color:#25140c;padding:4px 9px;border-radius:6px;font-size:13px;display:inline-block}.status-large{font-size:1rem;padding:8px 15px}.catalog-hero{background:#ede9e1;border-radius:16px;padding:35px;margin:0 0 24px}.catalog-hero h1{margin:12px 0}.catalog-hero p{margin:0;color:#69665F}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#786D58}.bean-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bean-card{padding:24px}.bean-card h2{margin:15px 0 8px;line-height:1.55}.flavor{color:#546955;min-height:50px;margin:0 0 20px}.price{font-size:1.4rem;white-space:nowrap}.price small{font-size:12px;color:#839080;font-weight:400}.stock-note{font-size:12px;color:#73816e;white-space:nowrap}.submit-strip{display:flex;flex-direction:row;gap:20px;justify-content:space-between;align-items:center}.submit-strip>div{flex:1}.flow-track{display:flex;gap:0;background:#ede9e1;border-radius:8px;margin-bottom:24px;padding:12px 20px;justify-content:space-between;flex-wrap:wrap}.order-number{word-break:break-all;font-variant-numeric:tabular-nums}.order-total{margin-left:auto;min-width:260px}.order-total p{display:flex;justify-content:space-between;gap:40px}.grand-total{border-top:1px solid #dce3d5;padding-top:14px;font-size:1.35rem}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.timeline>div{border-left:2px solid #dee5d7;padding:0 0 20px 20px;margin:0 0 0 5px}.timeline pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;background:#f6f6f2;padding:10px}.errorlist{color:#9b322c;list-style:none;padding-left:0}.form-label{font-size:14px}.form-control:focus,.form-select:focus{border-color:#7f9a82;box-shadow:0 0 0 .2rem #122b1e18}details summary{cursor:pointer}footer a{font-size:12px}.no-print form{margin:0}
@media(max-width:900px){.bean-grid{grid-template-columns:repeat(2,1fr)}.page-heading{flex-direction:column}.role-nav a{padding:12px 10px}.brand span{display:none}}@media(max-width:580px){.bean-grid{grid-template-columns:1fr}.metric-row{gap:8px}.metric{padding:12px}.metric strong{font-size:1.35rem}.metric span{font-size:11px}.catalog-hero{padding:24px}.submit-strip{flex-direction:column;align-items:stretch}.submit-strip>div{width:100%}.flow-track{font-size:12px;padding:10px}.site-header .small{font-size:11px}.container{padding-left:16px;padding-right:16px}.role-nav .ms-auto{display:none}.auth-card{margin-top:15px}.actions .btn{font-size:13px}}
@media print{.no-print,.role-nav,.site-header,footer{display:none!important}body{background:white;font-size:12px}main.container{width:100%;max-width:none;padding:0!important}.card{border:0;box-shadow:none}.page-heading{display:flex}.table td,.table th{padding:8px}.order-number{font-size:18px}.table-responsive{overflow:visible}.page-heading a{display:none}}

.brand img{width:112px;height:auto;display:block}.brand{display:flex;align-items:center;gap:12px}.brand span{margin-left:0;color:#6D695F}.bean-card .badge{background:#25140c!important}

/* Application palette from the authoritative 如诺基础.pdf; Chinese fonts are system fallbacks. */
.catalog-hero{background:transparent;color:#25140c;border-radius:0;padding:0 0 16px;border-bottom:1px solid #d3b892}.catalog-hero .eyebrow{color:#9e6843}.catalog-hero p{color:#6d695f}.brand img{width:104px;max-height:40px;object-fit:contain}.bean-card .badge{background:#122b1e!important;color:#ede9e1}.bean-card{border-top:3px solid #d3b892}.card[hidden]{display:none!important}.selection-panel{border-color:#9e6843}.login-note{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.form-control,.form-select{min-height:42px}.btn{min-height:42px}.table-responsive{max-width:100%}.site-header .small{min-width:0}.site-header .small>span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card,.page-heading>div{min-width:0}.order-total{max-width:100%}
@media(max-width:580px){.catalog-hero{padding:26px 22px}.login-note{flex-direction:column;align-items:stretch}.site-header .small>span{max-width:125px}.role-nav>.container{overflow-x:auto}.order-total{min-width:0;width:100%}.brand img{width:88px}.flow-track{gap:8px}.action-grid{grid-template-columns:minmax(0,1fr)}}

/* Keep before/after values visible when bean names and batch labels are long. */
.table.audit-diff{table-layout:fixed;width:100%;min-width:0}
.table.audit-diff th,.table.audit-diff td{white-space:normal;overflow-wrap:anywhere}
.table.audit-diff th:first-child{width:56%}
.table.audit-diff tbody th{font-weight:500}

/* Staff data density: keep current actions visible; expand history when needed. */
@media screen{
 .staff-interface{line-height:1.45}
 .staff-interface .site-header{padding:10px 0}
 .staff-interface .role-nav a{padding:10px 14px}
 .staff-interface main.container{padding-top:16px!important;padding-bottom:24px!important}
 .staff-interface h1{font-size:1.4rem;margin-bottom:4px}
 .staff-interface .page-heading{gap:12px;margin:2px 0 14px}
 .staff-interface .metric-row{gap:12px}
 .staff-interface .metric{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}
 .staff-interface .metric strong{font-size:1.5rem;line-height:1.2}
 .staff-interface .table th,.staff-interface .table td{padding:8px 10px}
 .staff-interface .card.p-4,.staff-interface .card.p-md-4{padding:16px!important}
 .staff-interface .my-4{margin-top:16px!important;margin-bottom:16px!important}
 .staff-interface .filters.my-4{margin-top:12px!important;margin-bottom:12px!important}
 .staff-interface .flow-track{padding:8px 12px;margin-bottom:14px}
 .staff-interface .action-grid{gap:12px}
 .staff-interface .order-total p{margin-bottom:8px}
 .staff-interface .grand-total{padding-top:10px;font-size:1.2rem}
 .staff-interface .timeline>div{padding-bottom:12px}
 .staff-interface .history-panel>summary{font-weight:600;padding:6px 0}
 .staff-interface footer{padding-bottom:16px!important}
}
@media screen and (max-width:580px){
 .staff-interface .metric-row{gap:6px}
 .staff-interface .metric{flex-direction:column;align-items:flex-start;gap:3px;padding:9px 10px}
 .staff-interface .role-nav a{min-height:44px}
 .staff-interface .actions .btn{padding:.4rem .7rem}
}

/* S15: compact selection, native form controls, original VI wordmark and palette. */
body{background:#f7f6f3;color:#25140c}h1,h2,h3{letter-spacing:-.025em}.site-header{padding:12px 0}.card{border-radius:8px;box-shadow:none;border-color:#dedbd5}.catalog-hero h1{font-size:1.8rem;margin:5px 0 8px}.catalog-hero p{font-size:14px}.bean-grid{display:flex;flex-direction:column;gap:10px}.bean-card{padding:18px 20px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,1fr);gap:24px;border-top:1px solid #dedbd5}.bean-card h2{font-size:1.1rem;margin:5px 0 6px}.bean-kicker{display:flex;align-items:center;gap:10px;font-size:12px;color:#7a6450}.bean-origin{font-size:12px;color:#767269;margin:0 0 6px}.flavor{min-height:0;margin:0 0 8px;font-size:14px;color:#514d45}.bean-order{align-self:center}.package-picker{display:flex;flex-wrap:wrap;gap:12px}.package-option{flex:1 1 145px;max-width:240px}.package-option label{font-size:13px;display:block;margin-bottom:4px}.package-option label span{display:block;font-size:14px;color:#122b1e;font-weight:600}.package-option small{display:block;color:#767269;font-size:11px;margin-top:3px}.quantity-control{display:flex;align-items:center;gap:8px}.quantity-control>span{font-size:12px;color:#767269}.quantity-control input{min-width:80px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.form-field label{display:block;font-size:13px;margin-bottom:4px}.form-field input[type=checkbox]{width:1.1em;height:1.1em;min-height:0}.form-field:has(textarea){grid-column:1/-1}.order-line-heading{padding:12px 16px;border-bottom:1px solid #dedbd5;font-weight:600}.order-line-heading span{font-weight:400;margin-left:10px}.staff-bean-line{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr);gap:20px;padding:12px 16px;border-bottom:1px solid #eeece6}.staff-bean-line:last-child{border-bottom:0}.staff-bean-line .package-option{max-width:200px}.box-input-row{display:flex;gap:12px;align-items:end;margin-top:8px}.box-input-row label{font-size:12px}.box-input-row input{max-width:200px}.package-detail td{font-size:12px;color:#6d695f!important;background:#faf9f6}.package-detail td:first-child{padding-left:24px}.package-detail small{display:block}.selection-panel{border-color:#d3b892;background:#fffefa}.login-note{background:#fff;border-left:3px solid #d3b892}.contact-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.contact-row p{margin:0}.contact-row label{font-size:12px}.contact-row input:not([type=checkbox]){width:100%}.table{font-variant-numeric:tabular-nums}.form-control,.form-select{border-color:#d6d2ca}.btn-outline-secondary{--bs-btn-color:#514d45;--bs-btn-border-color:#c7c0b5}.alert-info,.alert-secondary{background:#f0ede7;border-color:#d8d0c3;color:#514d45}.action-grid{align-items:start}.stock-note{white-space:normal}
@media(max-width:700px){.bean-card{grid-template-columns:1fr;gap:14px;padding:16px}.form-grid{grid-template-columns:1fr;gap:12px}.staff-bean-line{grid-template-columns:1fr;gap:10px}.package-option{max-width:none}.contact-row{grid-template-columns:1fr}.box-input-row{flex-wrap:wrap}.catalog-hero h1{font-size:1.5rem}.catalog-hero{padding:0 0 14px}.order-line-heading span{display:block;margin:4px 0 0}.form-control,.form-select,.btn{min-height:44px}}

/* Visible native controls and compact, paged quote selection. */
.form-check-input,.form-field input.form-check-input[type=checkbox]{width:1.1em;height:1.1em;min-height:0;flex:0 0 1.1em;margin:.15em 0 0;vertical-align:middle}
.form-field.form-check-field{display:flex;align-items:center;gap:10px;align-self:end;min-height:42px}
.form-field.form-check-field label{margin:0;cursor:pointer}
.quote-audience{margin:0;border:0;padding:0}.quote-audience legend{font-size:14px;font-weight:600;margin-bottom:8px}
.audience-options{display:flex;flex-wrap:wrap;gap:10px}.audience-option{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #d6d2ca;border-radius:6px;cursor:pointer}.audience-option:has(input:checked){border-color:#122b1e;background:#f0f3ee}.audience-option input{width:1.1em;height:1.1em;accent-color:#122b1e}
.quote-picker-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);align-items:start;gap:16px}.quote-picker-layout>*,.picker-result-row>div,.selected-bean-row>div{min-width:0}
.picker-search,.picker-filters{display:flex;gap:8px;align-items:center}.picker-search .form-control{flex:1;min-width:0}.picker-search .btn{flex-shrink:0}.picker-filters .form-select{min-width:0;flex:1}.picker-filters .btn{flex-shrink:0}
.picker-status{font-size:12px;color:#6d695f;min-height:18px;margin:8px 0}.picker-result-row,.selected-bean-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #eeece6}.picker-result-row:last-child,.selected-bean-row:last-child{border-bottom:0}.picker-result-row strong,.selected-bean-row strong{font-size:14px;line-height:1.45;overflow-wrap:anywhere}.picker-result-row small,.selected-bean-row small,.selected-customer small{display:block;font-size:12px;color:#767269;margin-top:3px;overflow-wrap:anywhere}.picker-result-row .btn,.selected-bean-row button{flex-shrink:0}.picker-price{color:#122b1e!important}.picker-results[aria-busy=true]{opacity:.6}
.picker-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px}.picker-pagination span{font-size:12px;text-align:center}.selected-customer{padding:8px 10px;background:#f7f6f3;border-radius:6px;margin-bottom:8px}.quote-customer{max-width:760px}.customer-results .picker-result-row{padding:7px 0}.quote-basket{position:sticky;top:12px}.quote-selected-list{max-height:55vh;overflow:auto}.quote-basket .form-text{font-size:12px}.quote-basket .errorlist{font-size:13px}.import-success-summary strong{font-size:1.15rem}.catalog-preview-note{border-left:3px solid #d3b892}
@media(max-width:800px){.quote-picker-layout{grid-template-columns:minmax(0,1fr)}.quote-basket{position:static}.quote-selected-list{max-height:none}.picker-filters{flex-wrap:wrap}.picker-filters .form-select{flex-basis:40%}.picker-filters .btn{padding-left:0}.picker-search .btn{padding-left:.7rem;padding-right:.7rem}}

/* UE2: compact work controls, visible quantities, explicit action feedback. */
.picker-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.picker-result{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e4e1da}.picker-result small,.batch-label{display:block;font-size:12px;color:#626860}.picker-result>span{font-size:13px}.picker-pagination{display:flex;gap:14px;justify-content:flex-end;align-items:center;margin-top:12px;font-size:13px}.selected-heading{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px}.selected-heading>span{font-size:13px;color:#626860}.selected-bean{background:white;border:1px solid #ddd9d1;border-radius:8px;padding:14px 16px;margin-bottom:10px}.selected-bean-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.selected-bean .package-picker{display:block}.selected-bean .package-option,.bean-order .package-option{display:grid;grid-template-columns:minmax(175px,1.8fr) minmax(85px,.7fr) minmax(95px,1fr);align-items:center;gap:12px;padding:8px 0}.package-option label span{display:block;font-size:13px;font-weight:400;margin-top:2px}.available-note{font-size:14px;color:#122b1e;white-space:nowrap}.package-option small{grid-column:1/-1;font-size:12px}.line-total{text-align:right;padding-top:8px;border-top:1px solid #eee9e0}.selection-footer{position:sticky;bottom:12px;background:#122b1e;color:white;border-radius:10px;padding:14px 20px;margin-top:18px;display:flex;gap:16px;justify-content:space-between;align-items:center;z-index:5;box-shadow:0 5px 20px #122b1e22}.selection-footer strong{font-size:25px;margin-left:12px}.selection-footer small{display:block;color:#d9e1d7;font-size:12px}.selection-footer .btn{background:#ede9e1;color:#122b1e;border-color:#ede9e1}.search-results:empty{display:none}.search-results{border:1px solid #d4d9d2;background:white;border-radius:6px;padding:8px;max-height:280px;overflow:auto}.customer-option{display:block;width:100%;background:transparent;text-align:left;border:0;padding:9px;color:#122b1e}.customer-option:hover{background:#ede9e1}.empty-note{padding:20px;text-align:center;background:#f4f2ed;color:#626860}.order-status-summary{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#f0f3ee;border-radius:8px;margin-bottom:16px}.order-status-summary .status-pill{font-size:22px;padding:8px 16px}.order-status-summary .grand-total{font-size:26px;margin:0}.order-status-summary small{display:block;font-size:12px}.confirmation-note{display:flex;gap:12px;align-items:center;padding:12px;background:#f5f3ed;border:1px solid #d4d0c5}.confirmation-note input{min-width:20px;height:20px}.action-dialog{border:1px solid #d5d3ca;border-radius:12px;padding:28px;max-width:520px;width:calc(100% - 32px);color:#25140c}.action-dialog::backdrop{background:#122b1e66}.action-dialog p{line-height:1.8}.operation-feedback{border-left:5px solid #345c42;font-weight:600;padding:16px 20px}.submit-feedback{padding:10px 0;font-weight:600;color:#122b1e}.is-saving{pointer-events:none;opacity:.75}.is-saving:before{content:'';display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:8px;vertical-align:-2px;animation:busy-spin .8s linear infinite}@keyframes busy-spin{to{transform:rotate(360deg)}}.stock-actions{display:flex;gap:10px;flex-wrap:wrap}.stock-actions a{padding:7px 10px;border:1px solid #ddd9d1;border-radius:5px;text-decoration:none}.pack-summary{display:flex;gap:24px;flex-wrap:wrap;background:#f0f3ee;padding:16px;border-radius:8px;margin:12px 0}.pack-summary strong{display:block;font-size:23px;color:#122b1e}.quote-share{border-top:4px solid #122b1e}.quote-share .btn-primary{font-size:17px;padding:12px 28px}.history-separator{border-top:1px solid #ddd9d1;margin-top:14px;padding-top:14px}
@media(max-width:700px){.picker-filters{grid-template-columns:1fr 1fr}.picker-filters input{grid-column:1/-1}.picker-result{grid-template-columns:1fr auto}.picker-result>span{grid-column:1}.picker-result button{grid-column:2;grid-row:1/3}.selected-bean .package-option,.bean-order .package-option{grid-template-columns:1fr 95px}.available-note{grid-column:1;font-size:14px}.selected-heading{display:block}.selection-footer{padding:12px}.selection-footer strong{font-size:22px}.selection-footer .btn{max-width:160px}.order-status-summary{align-items:flex-start;gap:10px}.order-status-summary .grand-total{font-size:22px}}

/* Keep the existing selection visible while searching large inventories. */
.order-picker-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:20px;align-items:start}
.order-finder{position:sticky;top:12px}.order-finder .picker-filters{grid-template-columns:1fr 1fr}.order-finder [data-picker-search]{grid-column:1/-1}
.order-finder .picker-results{max-height:420px;overflow-y:auto;overscroll-behavior:contain}.order-finder .picker-result{grid-template-columns:1fr auto}.order-finder .picker-result>span{grid-column:1;font-size:.82rem}.order-finder .picker-result>button{grid-column:2;grid-row:1/3}
.order-basket{min-width:0}.order-basket .selected-heading{flex-wrap:wrap}.order-basket .package-option{max-width:none;width:100%;grid-template-columns:minmax(190px,1fr) 110px 100px;gap:10px}.order-basket .package-option .available-note{font-size:.9rem}
@media(max-width:991px){.order-picker-layout{grid-template-columns:1fr}.order-finder{position:static}.order-finder .picker-results{max-height:260px}}
.selected-bean .package-option,.bean-order .package-option{max-width:none}.package-option label span{white-space:normal}.package-option label .unit-price{display:inline;margin-left:8px;white-space:nowrap}
@media(max-width:700px){.order-basket .package-option{grid-template-columns:minmax(120px,1fr) 100px}.order-basket .package-option .available-note{grid-column:1}.order-basket .package-option label span{font-size:12px}}
/* Keep each mobile order line's identity, quantity, price and amount together. */
@media (max-width: 575px) {
  .order-detail-lines thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .order-detail-lines tbody { display: block; }
  .order-detail-lines tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--bs-border-color, #ddd); padding: .5rem 0; }
  .order-detail-lines td { display: block; border: 0; min-width: 0; padding: .35rem .25rem; overflow-wrap: anywhere; }
  .order-detail-lines td:first-child { grid-column: 1 / -1; }
  .order-detail-lines td[data-label]::before { content: attr(data-label); display: block; font-size: .75rem; color: #53665b; margin-bottom: .25rem; }
  .order-detail-lines td:last-child { font-weight: 700; }
}
