/* One size system for every page. Layout and semantic colors stay with their components. */
:root {
 --ui-control-height:40px; --ui-form-height:44px; --ui-control-font:14px;
 --ui-control-line:20px; --ui-control-radius:6px; --ui-control-padding:8px;
 --ui-touch-size:40px; --ui-action-gap:4px;
 --ui-badge-height:24px; --ui-badge-font:11px; --ui-badge-radius:6px; --ui-badge-padding:2px 6px;
 --ui-note-line:20px; --ui-note-padding:10px; --ui-bottom-clearance:90px;
}
/* Important component dimensions take precedence over legacy page rules in one named layer. */
@layer nzip-components {
 button,summary,[role=button]{min-height:var(--ui-touch-size)!important}
 :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]):not([type=file]), select) {
  box-sizing:border-box; height:var(--ui-control-height)!important; min-height:var(--ui-control-height)!important;
  font-family:inherit!important; font-size:var(--ui-control-font)!important; font-weight:400!important; line-height:var(--ui-control-line)!important;
  border-radius:var(--ui-control-radius)!important;
 }
 :is(.field,.cart-identity) {--ui-control-height:var(--ui-form-height)}
 :is(.search-wrap,#audit-search) {--ui-control-height:var(--ui-form-height);border-radius:var(--ui-control-radius)!important}
 :is(button.primary,button.neutral,button.action,button.op-button,button.filter-chip,button.choice,button.danger,button.text-btn,button.store-switch,button.store-text-action,button.store-more,button.recon-detail-button,.action-menu>summary,.action-menu-items>button,.receipt-tabs>button,.hold-row-actions>button,.inventory-card-actions button,.recon-pager button,.mobile-history-quick button) {
  box-sizing:border-box; height:var(--ui-control-height)!important; min-height:var(--ui-control-height)!important;
  padding-block:6px!important; font-family:inherit!important; font-size:var(--ui-control-font)!important;
  font-weight:500!important; line-height:var(--ui-control-line)!important; border-radius:var(--ui-control-radius)!important;
 }
 :is(.ui-badge,.hold-state,.prep-badge,.pill,.sample-badge,.recon-state,.count) {
  display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;
  height:var(--ui-badge-height)!important;min-height:var(--ui-badge-height)!important;
  padding:var(--ui-badge-padding)!important;border:0!important;border-radius:var(--ui-badge-radius)!important;
  font-size:var(--ui-badge-font)!important;font-weight:400!important;line-height:18px!important;white-space:nowrap;
 }
 .ui-badge--info{color:#2767b4!important;background:#edf4ff!important}
 .ui-badge--warning{color:#98531b!important;background:#fff1df!important}
 .ui-badge--danger{color:#b4232c!important;background:#ffeaec!important}
 .ui-badge--neutral{color:#667085!important;background:#f1f4f7!important}
 button.reserved-badge{height:var(--ui-touch-size)!important;min-height:var(--ui-touch-size)!important;padding:0!important;background:transparent!important;border:0!important}
 .hold-controls .hold-timeout-input{height:var(--ui-control-height)!important}
 .ui-date-filter.panel select,.ui-date-filter.panel>button {
  width:100%;min-width:0;max-height:none!important;margin:0;padding:6px var(--ui-control-padding)!important;
 }
 .ui-date-filter.panel select {padding-right:22px!important;appearance:none;background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='7'%3E%3Cpath d='m1 1 3.5 4 3.5-4' fill='none' stroke='%23728094'/%3E%3C/svg%3E") no-repeat right 6px center;border:1px solid var(--line)}
 .order-editor .cart-identity textarea#cart-note {
  font-family:inherit!important;font-size:var(--ui-control-font)!important;line-height:var(--ui-note-line)!important;
  padding:var(--ui-note-padding)!important;border-radius:var(--ui-control-radius)!important;resize:none!important;
  scroll-margin-block:16px;overflow-anchor:none;align-content:start;vertical-align:top;
 }
 .order-editor .cart-identity :is(#cart-note,#cart-customer)::placeholder {font-size:var(--ui-control-font)!important;line-height:var(--ui-note-line)!important}
}
/* A full-width note keeps the one-line empty field and its hint readable in the cart. */
.order-editor .cart-identity{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.order-editor .cart-identity .field{display:block;width:100%;margin:0!important;min-width:0}
.order-editor .cart-identity .field>span{margin-bottom:4px}
.ui-date-filter.panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;padding:12px 14px;align-items:end;height:auto;min-width:0}
.ui-date-filter>label{display:grid;gap:4px;margin:0;min-width:0;font-size:13px;line-height:18px;color:var(--muted)}
.ui-date-filter>.report-period{grid-column:1/-1;margin:0;font-size:12px;line-height:18px;color:var(--ink)}
.ui-date-filter>button{grid-column:4;grid-row:1}
.recon-history .ui-date-filter.panel{margin:8px 0 12px;padding:0;border:0;box-shadow:none;background:transparent}
@media(min-width:951px){
 .order-editor .cart-identity{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .mobile-hold-panel .hold-organized{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}
 .mobile-hold-panel .hold-row-actions{position:static;display:flex;align-self:end;justify-self:end;justify-content:flex-end;flex-wrap:wrap;gap:var(--ui-action-gap);margin:0}
 .mobile-hold-panel .hold-main-info{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:950px){
 :root{--ui-control-font:13px;--ui-control-padding:4px}
 @layer nzip-components {
  button,summary,[role=button]{min-height:var(--ui-touch-size)!important}
  .qty button,.text-btn[aria-label],.close,.camera-scan-button,.hold-info-plus{min-width:var(--ui-touch-size)!important}
  .ui-date-filter.panel select{padding-left:4px!important;padding-right:16px!important}
  dialog[data-sheet="audit-simple"]{max-height:85vh!important;max-height:85dvh!important}
  dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]{font-size:12px!important;padding-inline:3px!important}
  .order-editor>.cart{overflow-anchor:none}
 }
 .ui-date-filter.panel{grid-template-columns:minmax(0,29fr) minmax(0,22fr) minmax(0,22fr) minmax(0,27fr);gap:5px;padding:10px;align-items:center}
 .ui-date-filter .ui-date-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .ui-date-filter>label{display:block}
 .inventory-card-actions,.mobile-hold-panel .hold-row-actions{column-gap:var(--ui-action-gap)!important}
 dialog[data-sheet="audit-simple"][open]{overflow:hidden;display:flex;flex-direction:column}
 dialog[data-sheet="audit-simple"] .modal-head{flex:0 0 auto}
 dialog[data-sheet="audit-simple"] #dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:0 1 auto}
 dialog[data-sheet="audit-simple"] #audit-more>summary{display:flex;align-items:center;gap:5px}
 dialog[data-sheet="audit-simple"] #audit-more>summary:before{content:'▸';font-size:11px}
 dialog[data-sheet="audit-simple"] #audit-more[open]>summary:before{transform:rotate(90deg)}
 .order-editor .cart-identity textarea#cart-note{scroll-margin-bottom:var(--ui-bottom-clearance)}
 .mobile-bottom-nav{transition:none}
 body.ui-keyboard-open .mobile-bottom-nav,body.ui-keyboard-open .mobile-cart{display:none!important}
}

/* September 11: compact mobile audit, reconciliation and inventory actions. */
.permission-help{margin:6px 0 10px;font-size:13px;line-height:1.5}
.ui-date-filter select,.ui-date-filter button,.recon-tools select,.recon-tools button[aria-pressed=true]{color:var(--ink);-webkit-text-fill-color:var(--ink)}
.recon-tools button[aria-pressed=true]{background:#eef0f3;border-color:#b9c1cb}
.product,.product .product-name,.product .price{color:var(--ink);-webkit-text-fill-color:var(--ink)}
.product .product-code,.product .product-meta{color:var(--muted);-webkit-text-fill-color:var(--muted)}
@media(max-width:950px){
 dialog[data-sheet="audit-simple"]{--ui-control-height:34px;--ui-form-height:34px;--ui-touch-size:34px}
 dialog[data-sheet="audit-simple"] .modal-head{min-height:44px;padding:5px 12px;align-items:center}
 dialog[data-sheet="audit-simple"] .modal-head .close{width:34px;height:34px;min-height:34px;flex-basis:34px;margin:0;background:#f2f4f6;color:#77818e;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}
 dialog[data-sheet="audit-simple"] .modal-head .close:before{display:none}
 dialog[data-sheet="audit-simple"] .modal-head .close:focus{outline:none;box-shadow:none}
 dialog[data-sheet="audit-simple"] .modal-head .close:focus-visible{outline:1px solid #a0a9b5;outline-offset:2px}
 dialog[data-sheet="audit-simple"] #dialog-body{padding:4px 12px 8px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters{display:grid;grid-template-columns:minmax(0,1fr) 66px;gap:5px 4px;align-items:center;margin:0 0 4px}
 dialog[data-sheet="audit-simple"] #audit-search{grid-column:1/-1;min-width:0;width:100%;margin:0}
 dialog[data-sheet="audit-simple"] .audit-simple-filters>label{grid-column:1;grid-row:2;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:3px;min-width:0;white-space:nowrap}
 dialog[data-sheet="audit-simple"] #audit-more{display:contents}
 dialog[data-sheet="audit-simple"] #audit-more>summary{grid-column:2;grid-row:2;white-space:nowrap;justify-content:flex-end;padding:0;font-size:11px}
 dialog[data-sheet="audit-simple"] #audit-more>div{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:2px 0 4px}
 dialog[data-sheet="audit-simple"] #audit-more:not([open])>div{display:none}
 dialog[data-sheet="audit-simple"] .audit-simple-table th{padding:5px 3px}
 dialog[data-sheet="audit-simple"] .audit-simple-table td{padding:6px 3px}
 dialog[data-sheet="audit-simple"] #audit-empty{margin:0;padding:12px 4px}
 body[data-mobile-page=closing]{--ui-control-height:32px;--ui-touch-size:32px}
 body[data-mobile-page=closing] .topbar{min-height:48px;height:auto;padding:5px 12px;gap:6px}
 body[data-mobile-page=closing] .topbar>div:first-child{display:flex;align-items:center;gap:7px;min-width:0}
 body[data-mobile-page=closing] .topbar h1{font-size:16px;line-height:22px;white-space:nowrap}
 body[data-mobile-page=closing] .parent-back{margin:0;padding:3px 0;font-size:12px;min-width:28px}
 body[data-mobile-page=closing] .topbar .store{gap:5px;flex:none;font-size:11px}
 body[data-mobile-page=closing] #today{font-size:10px;white-space:nowrap}
 body[data-mobile-page=closing] #preview-role{padding:3px 5px;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body[data-mobile-page=closing] .demo-banner{font-size:10px;line-height:15px;padding:3px 12px}
 body[data-mobile-page=closing] #main{padding-top:8px}
 .recon-top{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 8px}
 .recon-top>strong{font-size:12px;line-height:18px;max-width:100%;overflow-wrap:anywhere}
 .recon-top #recon-date{width:124px;min-width:0;padding:3px 5px;background:white;color:var(--ink);-webkit-text-fill-color:var(--ink)}
 .recon-top>button{padding:3px 7px}
 .recon-top .recon-state{--ui-badge-height:22px}
 .recon-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 6px}
 .recon-metrics .recon-metric-card{min-height:56px;padding:7px 10px;gap:2px;border-radius:6px;box-shadow:none}
 .recon-metric-card>span{font-size:11px;line-height:16px}
 .recon-metric-card>strong{font-size:19px;line-height:23px;margin:0}
 .recon-business{margin:4px 0}
 .recon-business>summary{padding:4px 8px;font-size:12px;line-height:20px;min-height:28px}
 .recon-business>p{margin:4px 8px;font-size:12px;gap:6px}
 .recon-problems,.recon-problems:not(:has(button)){min-height:0;padding:5px 8px;margin:4px 0 6px;font-size:11px;line-height:17px;border-radius:5px;gap:3px}
 .recon-problems>button{font-size:11px;padding:2px 0;min-height:28px;text-align:left}
 .recon-payment-wrap{overflow:visible;max-height:none;margin:0}
 .recon-payment-wrap .recon-table,.recon-payment-wrap .recon-table tbody{display:block;width:100%;min-width:0;border:0;white-space:normal;overflow:visible;background:transparent}
 .recon-payment-wrap .recon-table thead{display:none}
 .recon-payment-wrap .recon-table tbody>tr{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4px 6px;padding:7px 8px;margin:0 0 5px;border:1px solid var(--line);border-radius:6px;background:white}
 .recon-payment-wrap .recon-table td{display:flex;align-items:center;min-width:0;gap:4px;border:0;padding:0;font-size:12px;line-height:20px}
 .recon-payment-wrap .recon-table td:nth-child(1){font-weight:600;grid-column:1;grid-row:1}
 .recon-payment-wrap .recon-table td:nth-child(2){grid-column:2;grid-row:1;justify-content:flex-end}
 .recon-payment-wrap .recon-table td:nth-child(2):before{content:'系统应收';font-size:10px;color:var(--muted)}
 .recon-payment-wrap .recon-table td:nth-child(3){grid-column:1;grid-row:2;text-align:left}
 .recon-payment-wrap .recon-table td:nth-child(3):before{content:'实际收款';flex:none;font-size:11px;color:var(--muted)}
 .recon-payment-wrap .recon-table td:nth-child(4){grid-column:2;grid-row:2;justify-content:flex-end}
 .recon-payment-wrap .recon-table td:nth-child(4):before{content:'差异';font-size:11px;color:var(--muted)}
 .recon-payment-wrap .recon-table td:nth-child(5){grid-column:1;grid-row:3}
 .recon-payment-wrap .recon-table td:nth-child(6){grid-column:2;grid-row:3;justify-content:flex-end}
 .recon-payment-wrap .recon-table input:not([type=hidden]){width:82px;max-width:100%;min-width:0;padding:3px 5px;box-shadow:none}
 .recon-payment-wrap .recon-payment-note{width:100%;min-height:26px;height:26px;padding:3px 5px;font-size:11px;line-height:18px;resize:vertical;border-radius:4px}
 .recon-payment-wrap .recon-detail-button{padding:3px 6px;color:#596575;background:#f5f6f8;border-color:var(--line)}
 .recon-payment-wrap .has-difference{border-color:#e4c6a6!important}
 body[data-mobile-page=closing] #main>p.secondary,.recon-meta{font-size:11px;line-height:17px;margin:6px 0}
 .inventory-card-actions{--ui-control-height:32px;--ui-touch-size:32px;--ui-control-font:12px;gap:3px;margin-top:0;padding-top:2px}
 .inventory-card-actions button{height:32px;min-height:32px;line-height:18px;white-space:nowrap}
 @layer nzip-components{
  dialog[data-sheet="audit-simple"] #audit-search,dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]{height:34px!important;min-height:34px!important}
  dialog[data-sheet="audit-simple"] .modal-head .close{min-width:34px!important;min-height:34px!important}
  .recon-payment-wrap{--ui-control-height:30px;--ui-control-font:12px;--ui-touch-size:30px}
  .recon-payment-wrap .recon-detail-button{height:28px!important;min-height:28px!important;padding-block:3px!important}
  .inventory-card-actions button{height:32px!important;min-height:32px!important;padding-block:3px!important}
 }
}
@media(max-width:950px){
 .recon-business{padding:0;border-radius:6px}
 .recon-business>summary{--ui-touch-size:28px}
 .recon-payment-wrap .recon-table tbody>tr{padding:5px 8px;gap:3px 6px}
 dialog[data-sheet="audit-simple"] #audit-more>summary{color:#596575;-webkit-text-fill-color:#596575}
 .inventory-card-head h3,.inventory-card-fields dd,.inventory-card-actions button{color:var(--ink);-webkit-text-fill-color:var(--ink)}
 .ui-date-filter select,.recon-tools select,.audit-simple-filters input{color:var(--ink);-webkit-text-fill-color:var(--ink)}
}

/* Keep all available held-order actions together on mobile. */
@media(max-width:950px){
 .mobile-hold-panel .hold-row-actions{display:flex!important;flex-wrap:nowrap;width:100%;gap:4px!important;margin:4px 0 0}
 .mobile-hold-panel .hold-row-actions>button{flex:1 1 0;width:0;min-width:0!important;white-space:nowrap;text-align:center;padding-inline:2px!important}
 .mobile-hold-panel .hold-row-actions>.hold-cancel{flex:1 1 0;width:0;min-width:0!important;background:transparent;color:#b45149;border:0;box-shadow:none;padding-inline:2px!important}
}

/* Product-photo editor: equal preview and action columns, without native file-name clutter. */
#dialog[data-sheet=photo-editor]{width:min(520px,calc(100vw - 24px));max-height:85dvh}
#dialog[data-sheet=photo-editor] .modal-head{padding:12px 16px;min-height:52px;align-items:center}
#dialog[data-sheet=photo-editor] #dialog-title{font-size:18px;line-height:24px;margin:0}
#dialog[data-sheet=photo-editor] .close{background:#f2f4f6;color:#77818e;border-radius:50%;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}
#dialog[data-sheet=photo-editor] .close:focus{outline:none;box-shadow:none}
#dialog[data-sheet=photo-editor] .close:focus-visible{outline:1px solid #a0a9b5;outline-offset:2px}
#dialog[data-sheet=photo-editor] #dialog-body{padding:12px 16px}
#dialog[data-sheet=photo-editor] #dialog-body>p:first-child{font-size:14px;line-height:20px;margin:0 0 4px}
#dialog[data-sheet=photo-editor] #dialog-body>p.secondary{font-size:12px;line-height:18px;margin:0 0 10px}
#dialog[data-sheet=photo-editor] .photo-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch;padding:0;border:0;background:transparent;margin:0}
#dialog[data-sheet=photo-editor] #upload-preview{min-width:0;align-self:stretch;background:#f6f8fa;border:1px solid var(--line);border-radius:7px;overflow:hidden}
#dialog[data-sheet=photo-editor] .upload-preview{width:100%;height:100%;min-height:150px;max-height:240px;object-fit:contain;background:#f6f8fa}
#dialog[data-sheet=photo-editor] .upload-file-column{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:6px;min-width:0}
#dialog[data-sheet=photo-editor] .photo-select-button{display:flex;position:relative;align-items:center;justify-content:center;height:36px;border:1px solid #d7e0e8;border-radius:6px;background:#f2f5f8;font-size:13px;font-weight:500;color:var(--ink);overflow:hidden}
#dialog[data-sheet=photo-editor] .photo-select-button:focus-within{outline:1px solid #a0a9b5;outline-offset:2px}
#dialog[data-sheet=photo-editor] .photo-select-button input{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;cursor:pointer}
#dialog[data-sheet=photo-editor] .photo-remove-button{--ui-control-height:32px;--ui-touch-size:32px;padding:3px 6px;background:transparent;color:#77818e}
#dialog[data-sheet=photo-editor] .photo-format-hint{margin:0;color:var(--muted);font-size:11px;line-height:17px;text-align:center}
#dialog[data-sheet=photo-editor] #upload-status:empty{display:none}
#dialog[data-sheet=photo-editor] #upload-status{font-size:11px;line-height:16px;overflow-wrap:anywhere}
#dialog[data-sheet=photo-editor] .photo-scope-hint{font-size:11px;color:var(--muted);line-height:17px;padding:0;margin:8px 0 0;background:none}
#dialog[data-sheet=photo-editor] #dialog-footer{padding:10px 16px;gap:8px}
#dialog[data-sheet=photo-editor] #dialog-error:empty{display:none}

/* Photo editor uses its footer Cancel action as the single visible exit. */
#dialog[data-sheet=photo-editor] .modal-head .close{display:none}

@media(max-width:950px){
 .recon-payment-wrap .recon-table input:not([type=hidden]){text-align:left}
}

/* Back actions follow the same sizing tokens as other controls in their region. */
@layer nzip-components{
 .parent-back,.detail-back{
  box-sizing:border-box;height:var(--ui-control-height)!important;min-height:var(--ui-control-height)!important;
  padding:6px 8px!important;border-radius:var(--ui-control-radius)!important;
  font-family:inherit!important;font-size:var(--ui-control-font)!important;font-weight:500!important;line-height:var(--ui-control-line)!important;
  white-space:nowrap;align-items:center;justify-content:center;
 }
}

/* Audit dates are a content-sized toolbar, including Safari's native date editor. */
@media(max-width:950px){
 dialog[data-sheet="audit-simple"] .audit-simple-filters{grid-template-columns:max-content minmax(0,1fr);column-gap:6px;row-gap:5px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters>label{display:flex;align-items:center;gap:3px;width:max-content;min-width:0;font-size:11px;line-height:18px}
 dialog[data-sheet="audit-simple"] #audit-more>summary{justify-self:start;align-self:center;justify-content:flex-start;width:max-content;min-width:0;min-height:26px;line-height:18px;gap:2px;font-size:11px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]{box-sizing:border-box;flex:0 0 101px;width:101px;max-width:101px;min-width:0;margin:0;border:1px solid #dce3e8;border-radius:5px;background:#fff;appearance:none;-webkit-appearance:none;color:var(--ink);-webkit-text-fill-color:var(--ink)}
 dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]::-webkit-date-and-time-value{min-height:0;margin:0;text-align:center;padding:0;line-height:20px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]::-webkit-datetime-edit{padding:0;min-width:0}
 dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]::-webkit-calendar-picker-indicator{width:10px;height:10px;margin:0;padding:0}
 @layer nzip-components{
  dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]{height:36px!important;min-height:36px!important;max-height:36px!important;padding:0 3px!important;line-height:20px!important;font-size:11px!important}
  dialog[data-sheet="audit-simple"] #audit-search{height:36px!important;min-height:36px!important}
  dialog[data-sheet="audit-simple"] #audit-more>summary{min-height:26px!important}
 }
}
@media(max-width:374px){
 dialog[data-sheet="audit-simple"] .audit-simple-filters{column-gap:4px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters>label{gap:2px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]{flex-basis:92px;width:92px;max-width:92px}
}
@media(max-width:339px){
 dialog[data-sheet="audit-simple"] #audit-more>summary{grid-column:1/-1;grid-row:3;justify-self:end}
}
@media(max-width:950px){
 @layer nzip-components{
  dialog[data-sheet="audit-simple"] .audit-simple-filters :is(#audit-from,#audit-until){height:36px!important;min-height:36px!important;max-height:36px!important}
 }
 dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]:focus{outline:1px solid #a0a9b5;outline-offset:1px;box-shadow:none}
}

/* Current round: compact filters, preserving existing control state. */
.hold-more-filters{display:none}
.hold-row-actions>.hold-cancel,.mobile-hold-panel .hold-row-actions>.hold-cancel{border:1px solid #cf7770;background:#fffafa;color:#b45149}
.hold-row-actions>.hold-cancel:hover,.hold-row-actions>.hold-cancel:active{background:#fcebea}
#dialog:has(.report-detail) .modal-head .close{display:none}
#dialog:has(.report-detail) #dialog-title{font-size:19px;line-height:26px;font-weight:600}
#dialog:has(.report-detail) .modal-head{padding:14px 18px;min-height:0}
#dialog:has(.report-detail) #dialog-body{padding:12px 18px;font-size:14px;line-height:1.5}
#dialog .report-detail .secondary{font-size:12px;line-height:18px;color:var(--muted);font-weight:400;margin:0 0 8px}
#dialog .report-detail .detail-summary{font-size:16px;font-weight:600;line-height:24px;padding:10px;margin:0 0 10px;color:var(--ink)}
#dialog .report-detail .average-empty-note{font-size:13px;font-weight:400;color:var(--muted);margin:10px 0}
#dialog:has(.report-detail) #dialog-footer{display:flex;padding:10px 18px;justify-content:flex-end}
.sales-compact-toolbar:empty{display:none}
@media(min-width:951px){
 .inventory-search-row{gap:6px;margin-bottom:8px;--ui-control-height:36px;--ui-form-height:36px;--ui-touch-size:36px;--ui-control-font:12px}
 .inventory-search-row>.search-wrap{flex:1 1 46%;max-width:50%;min-width:220px;padding:0 8px;gap:5px}
 .inventory-search-row>.inventory-chips{display:flex;flex:none;gap:5px;margin:0;padding:0}
 .inventory-search-row>.inventory-more-toggle{margin-left:auto;flex:none}
 .inventory-search-row .camera-scan-button{height:36px;min-height:36px}
 .sales-compact-toolbar{display:grid;grid-template-columns:86px 68px 68px 58px minmax(150px,1fr) auto;gap:5px;align-items:center;margin:0 0 8px;--ui-control-height:34px;--ui-form-height:34px;--ui-control-font:12px;--ui-touch-size:34px}
 .sales-compact-toolbar>#sales-period{display:contents}
 .sales-compact-toolbar #sales-period>label{display:block;grid-row:1}
 .sales-compact-toolbar #sales-period .ui-date-label{display:none}
 .sales-compact-toolbar #sales-period>button{grid-row:1;grid-column:4}
 .sales-compact-toolbar #sales-period>.report-period{grid-row:2;grid-column:1/-1;font-size:11px;line-height:16px;margin:0;color:var(--muted)}
 .sales-compact-toolbar>.toolbar{grid-row:1;grid-column:5;margin:0;min-width:0}
 .sales-compact-toolbar .search-wrap{min-width:0;padding:0 8px;gap:5px}
 .sales-compact-toolbar>.primary{grid-row:1;grid-column:6;padding-inline:8px;white-space:nowrap}
}
@media(max-width:950px){
 .hold-search-toolbar{display:flex;align-items:center;gap:5px}
 .hold-search-toolbar>.search-wrap{flex:1;min-width:0;padding-inline:7px;gap:5px}
 .hold-search-toolbar .hold-more-filters{display:block;flex:none;white-space:nowrap;padding:3px 0;background:transparent;color:#596575;font-size:11px;--ui-touch-size:32px}
 .mobile-hold-panel:not(.hold-filters-expanded) #hold-advanced-controls{display:none}
 .mobile-hold-panel .inventory-chips{--ui-control-height:26px;--ui-touch-size:26px;--ui-control-font:11px;gap:3px;margin-block:7px}
 .mobile-hold-panel .inventory-chips>.filter-chip{white-space:nowrap;padding-inline:2px}
 .stock-range-fields{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:4px!important;align-items:center;--ui-control-height:32px;--ui-control-font:12px}
 .stock-range-fields>label{display:flex!important;flex-direction:row!important;align-items:center;gap:3px!important;min-width:0;font-size:0!important;margin:0}
 .stock-range-fields>label:nth-child(3):before{content:'至';font-size:11px;flex:none;color:var(--muted)}
 .stock-range-fields select,.stock-range-fields input{width:100%!important;min-width:0!important;max-width:100%;padding-inline:5px}
 .stock-range-fields>.error{grid-column:1/-1;font-size:12px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters{display:grid;grid-template-columns:minmax(52px,1fr) 150px 54px;gap:3px;align-items:center}
 dialog[data-sheet="audit-simple"] #audit-search{grid-column:1;grid-row:1;min-width:0;padding-inline:4px;--ui-control-font:10px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters>label{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:3px;font-size:0;width:150px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]{flex:none;width:73.5px;max-width:73.5px;min-width:0}
 dialog[data-sheet="audit-simple"] #audit-more>summary{grid-column:3;grid-row:1;justify-self:start;font-size:10px;gap:1px;width:54px}
 dialog[data-sheet="audit-simple"] #audit-more>div{grid-column:1/-1;grid-row:2}
 dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]::-webkit-calendar-picker-indicator{display:none}
 @layer nzip-components{
  .mobile-hold-panel .inventory-chips>.filter-chip{padding-block:2px!important}
  dialog[data-sheet="audit-simple"] .audit-simple-filters :is(#audit-search,#audit-from,#audit-until),dialog[data-sheet="audit-simple"] #audit-more>summary{height:32px!important;min-height:32px!important;max-height:32px!important;font-size:10px!important;padding-inline:2px!important}
 }
}
@media(max-width:950px){dialog[data-sheet="audit-simple"] .audit-date-word{display:none}}
@media(min-width:951px){
 @layer nzip-components{
  .inventory-search-row>.search-wrap{height:36px!important;min-height:36px!important}
  .inventory-search-row #inventory-search{height:34px!important;min-height:34px!important}
  .sales-compact-toolbar .search-wrap{height:34px!important;min-height:34px!important}
  .sales-compact-toolbar #order-search{height:32px!important;min-height:32px!important}
 }
}

/* Shared dialog close appearance; hidden close buttons remain hidden. */
@layer nzip-components{
 :is(#dialog,#sample-confirm-dialog) .modal-head button.close{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;flex:0 0 32px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:#f2f4f6!important;color:#77818e!important;font:400 20px/32px Arial,sans-serif!important;text-align:center!important;box-shadow:none!important;outline:none!important;transform:none!important;-webkit-tap-highlight-color:transparent}
 :is(#dialog,#sample-confirm-dialog) .modal-head button.close:before{display:none!important}
 :is(#dialog,#sample-confirm-dialog) .modal-head button.close:hover{background:#e9edf1!important}
 :is(#dialog,#sample-confirm-dialog) .modal-head button.close:active{background:#dfe5eb!important}
 :is(#dialog,#sample-confirm-dialog) .modal-head button.close:focus-visible{outline:1px solid #aeb5bd!important;outline-offset:2px!important}
}
#dialog-title:focus,#sample-confirm-title:focus{outline:none}
.payment-note-toggle{background:transparent;color:inherit;font:inherit;padding:0;text-align:left;--ui-touch-size:20px}
.inventory-sort-fields{display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:6px;margin-top:8px;--ui-control-height:32px;--ui-control-font:12px}
.inventory-sort-fields select{min-width:0;width:100%}
@media(max-width:950px){
 body .main{padding:10px 12px 80px}
 body .demo-banner{padding:4px 12px;font-size:10px;line-height:16px}
 body .section-heading{margin-bottom:8px;gap:6px}
 body .panel{padding:10px}
 body .toolbar{margin-bottom:8px;gap:6px}
 body .filters,body .inventory-chips{margin-top:6px;margin-bottom:6px}
 body .stats{gap:6px;margin-bottom:10px}
 body .stat{padding:10px}
 body .stat strong{margin-top:5px}
 body .report-grid{gap:10px}
 body .report-filters.panel{padding:8px;margin-bottom:6px}
 body .report-scope{margin:5px 0;font-size:11px;line-height:17px}
 .management-grid,.nzip-grid{gap:8px}
 .mobile-hold-panel .held-card{padding:6px;margin-bottom:5px}
 .mobile-hold-panel .hold-search-toolbar .search-wrap{display:flex;justify-content:flex-start;align-items:center;padding-left:7px;gap:5px}
 .mobile-hold-panel .hold-search-toolbar .search-icon{position:static;transform:none;flex:0 0 16px;width:16px;min-width:16px;display:flex;align-items:center;justify-content:flex-start;margin:0}
 .mobile-hold-panel .hold-search-toolbar .search-icon svg{width:16px;height:16px}
 .mobile-hold-panel #hold-search{flex:1;min-width:0;text-align:left;padding-left:0}
 .mobile-hold-panel .hold-row-actions{margin:2px 0 0;gap:3px!important;--ui-control-height:24px;--ui-touch-size:24px;--ui-control-font:11px}
 #hold-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:5px 0;padding:0}
 #hold-summary>button{min-width:0;white-space:nowrap;background:#f4f6f8;color:#52647b;font-size:11px;padding:4px 1px;border:1px solid transparent;border-radius:5px;--ui-touch-size:28px}
 #hold-summary>button[aria-pressed=true]{border-color:#b7c4d3;background:#edf1f5;color:var(--ink)}
 .summary-highlight{outline:1px solid #8da8c5;outline-offset:1px}
 .inventory-actions{padding:2px 0;margin:0 0 6px;gap:4px;--ui-control-height:26px;--ui-touch-size:26px;--ui-control-font:11px}
 .inventory-actions>button,.inventory-actions>.action-menu>summary{white-space:nowrap;padding-inline:5px}
 .inventory-product-card{margin-bottom:6px;padding:8px}
 .inventory-card-actions{--ui-control-height:24px;--ui-touch-size:24px;--ui-control-font:11px;margin:0;padding-top:2px;gap:3px}
 .inventory-card-actions>button{background:#f5f6f8!important;color:#29313b!important;-webkit-text-fill-color:#29313b!important;border:1px solid #dce1e6!important;border-radius:5px}
 .inventory-card-actions>button:hover{background:#e9edf1!important}
 .inventory-mobile-tools{display:none}
 .inventory-product-card.card-selected{border-color:#2767b4!important;box-shadow:inset 0 0 0 1px #2767b4!important}
 .recon-top{justify-content:flex-start;gap:4px}
 .recon-top #recon-date{text-align:left;padding-left:3px;max-width:117px}
 .recon-top #recon-date::-webkit-date-and-time-value{text-align:left;margin:0;padding:0}
 .recon-top #recon-date::-webkit-datetime-edit{padding:0;text-align:left}
 .recon-payment-wrap .recon-table tbody>tr{grid-template-columns:42px minmax(36px,1fr) 54px minmax(36px,1fr) 48px;gap:3px;padding:5px;margin-bottom:4px}
 .recon-payment-wrap .recon-table td:nth-child(1){grid-column:1;grid-row:1;gap:0;white-space:nowrap}
 .recon-payment-wrap .payment-dot{display:none}
 .recon-payment-wrap .recon-table td:nth-child(2){grid-column:2;grid-row:1;justify-content:flex-start}
 .recon-payment-wrap .recon-table td:nth-child(3){grid-column:3;grid-row:1}
 .recon-payment-wrap .recon-table td:nth-child(4){grid-column:4;grid-row:1;justify-content:flex-start;flex-wrap:wrap;gap:0}
 .recon-payment-wrap .recon-table td:nth-child(6){grid-column:5;grid-row:1;justify-content:flex-end}
 .recon-payment-wrap .recon-table td:nth-child(5){grid-column:1/-1;grid-row:2;display:none}
 .recon-payment-wrap .recon-table tr:is(.has-difference,.has-note,.note-open)>td:nth-child(5){display:flex}
 .recon-payment-wrap .recon-table td:nth-child(2):before,.recon-payment-wrap .recon-table td:nth-child(3):before,.recon-payment-wrap .recon-table td:nth-child(4):before{display:none}
 .recon-payment-wrap .recon-table td{font-size:10px;line-height:16px;overflow-wrap:anywhere;white-space:normal}
 .recon-payment-wrap .recon-table input:not([type=hidden]){width:54px;max-width:100%;padding:2px 3px;text-align:left}
 .recon-payment-wrap .recon-payment-note{min-height:30px;height:30px;font-size:11px}
 .recon-payment-wrap .payment-note-toggle{font-size:11px;white-space:nowrap;line-height:20px;text-decoration:underline;text-decoration-color:#c6ccd4;text-underline-offset:3px}
 .recon-payment-wrap .recon-detail-button{font-size:10px;padding-inline:1px;white-space:nowrap}
 .recon-payment-wrap .recon-table tbody>tr.card-selected{border-color:#2767b4!important;box-shadow:inset 0 0 0 1px #2767b4!important}
 @layer nzip-components{
  .mobile-hold-panel .hold-row-actions>button,.inventory-card-actions button{height:24px!important;min-height:24px!important;padding:1px 2px!important;font-size:11px!important;line-height:18px!important}
  .inventory-actions :is(button,summary){height:26px!important;min-height:26px!important;padding-block:2px!important;font-size:11px!important}
  .recon-payment-wrap .recon-table input:not([type=hidden]),.recon-payment-wrap .recon-detail-button{height:26px!important;min-height:26px!important;font-size:10px!important;padding-block:2px!important}
 }
}
.recon-mobile-columns{display:none}
@media(max-width:950px){.recon-mobile-columns{display:grid;grid-template-columns:42px minmax(36px,1fr) 54px minmax(36px,1fr) 48px;gap:3px;padding:0 6px 4px;font-size:9px;color:var(--muted);line-height:16px}.recon-mobile-columns>span{white-space:nowrap}}

@media(min-width:951px){
 .inventory-search-row>.inventory-more-toggle{margin-left:0}
}

@media(min-width:951px){
 .inventory-search-row>.search-wrap{flex:1 1 0;max-width:none}
}

/* Desktop held-order filters share the existing disclosure and retain all values. */
@media(min-width:951px){
 .mobile-hold-panel .hold-search-toolbar{display:flex;align-items:center;gap:8px}
 .mobile-hold-panel .hold-search-toolbar>.search-wrap{flex:1;min-width:0}
 .mobile-hold-panel .hold-more-filters{display:inline-flex;align-items:center;justify-content:center;flex:none;white-space:nowrap;height:40px;padding:0 12px;border:1px solid #dce3eb;border-radius:6px;background:#f5f7fa;color:#52647b;font-size:13px}
 .mobile-hold-panel:not(.hold-filters-expanded) #hold-advanced-controls,
 .mobile-hold-panel:not(.hold-filters-expanded)>.inventory-chips,
 .mobile-hold-panel:not(.hold-filters-expanded)>#hold-summary{display:none}
 .mobile-hold-panel .hold-more-filters:hover{background:#edf1f5}
}

/* Keep the desktop held-order summary visible above the search toolbar. */
@media(min-width:951px){
 .mobile-hold-panel{display:flex;flex-direction:column}
 .mobile-hold-panel>#hold-summary,.mobile-hold-panel:not(.hold-filters-expanded)>#hold-summary{display:block;order:-1;margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid var(--line)}
}

/* Desktop expanded hold filters and quick states share one row. */
@media(min-width:951px){
 .mobile-hold-panel{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:12px;align-items:end}
 .mobile-hold-panel>#hold-summary{grid-column:1/-1;grid-row:1}
 .mobile-hold-panel>.hold-search-toolbar{grid-column:1/-1;grid-row:2}
 .mobile-hold-panel>#hold-advanced-controls{grid-column:1;grid-row:3;margin:10px 0 0}
 .mobile-hold-panel>.inventory-chips{grid-column:2;grid-row:3;align-self:end;flex-wrap:wrap;gap:6px;margin:10px 0 0}
 .mobile-hold-panel>#hold-list{grid-column:1/-1;grid-row:4}
}

/* Desktop quick hold states sit beside the always-visible summary. */
@media(min-width:951px){
 .mobile-hold-panel{grid-template-columns:max-content minmax(0,1fr);column-gap:20px;align-items:center}
 .mobile-hold-panel>#hold-summary,.mobile-hold-panel:not(.hold-filters-expanded)>#hold-summary{grid-column:1;grid-row:1;align-self:center;margin:0;padding:0;border-bottom:0}
 .mobile-hold-panel>.inventory-chips,.mobile-hold-panel:not(.hold-filters-expanded)>.inventory-chips{display:flex;grid-column:2;grid-row:1;align-self:center;gap:6px;margin:0;padding:0;flex-wrap:wrap}
 .mobile-hold-panel>.hold-search-toolbar{grid-column:1/-1;grid-row:2;margin-top:10px}
 .mobile-hold-panel>#hold-advanced-controls{grid-column:1/-1;grid-row:3}
}

/* Actual receipt amounts use left-aligned input text on every screen. */
.recon-payment-wrap .recon-table input:not([type=hidden]){text-align:left}

/* Reconciliation Today actions match the light-blue detail buttons. */
.recon-top>button.neutral,.recon-history .ui-date-filter>button{
 background:#f0f5fb;color:#31649a;-webkit-text-fill-color:#31649a;border:1px solid #cedbea;
}
.recon-top>button.neutral:hover,.recon-history .ui-date-filter>button:hover{
 background:#e5eef9;border-color:#94b1d0;
}

/* Overview Today matches the reconciliation Today and detail actions. */
body[data-mobile-page=reports] .ui-date-filter>button{
 background:#f0f5fb;color:#31649a;-webkit-text-fill-color:#31649a;border:1px solid #cedbea;
}
body[data-mobile-page=reports] .ui-date-filter>button:hover{
 background:#e5eef9;border-color:#94b1d0;
}

/* History quick filters and export share the light-blue action palette. */
.recon-history .mobile-history-quick>button,.recon-history .mobile-history-export{
 background:#f0f5fb;color:#31649a;-webkit-text-fill-color:#31649a;border:1px solid #cedbea;
}
.recon-history .mobile-history-quick>button:hover,.recon-history .mobile-history-export:hover{
 background:#e5eef9;border-color:#94b1d0;
}
.recon-history .mobile-history-quick>button[aria-pressed=true]{
 background:#e5eef9;color:#31649a;-webkit-text-fill-color:#31649a;border-color:#94b1d0;box-shadow:inset 0 0 0 1px #94b1d0;
}

/* Cart Hold uses the shared light-blue action palette. */
.cart-actions>.hold-action{background:#f0f5fb;color:#31649a;-webkit-text-fill-color:#31649a;border:1px solid #cedbea}
.cart-actions>.hold-action:hover:not(:disabled){background:#e5eef9;border-color:#94b1d0}

/* Order discount and rounding match the shared light-blue actions. */
#cart-panel button[onclick="openOrderDiscount()"]{background:#f0f5fb;color:#31649a;-webkit-text-fill-color:#31649a;border:1px solid #cedbea}
#cart-panel button[onclick="openOrderDiscount()"]:hover:not(:disabled){background:#e5eef9;border-color:#94b1d0}

/* Inventory More Filters matches the shared light-blue action palette. */
button.inventory-more-toggle{background:#f0f5fb;color:#31649a;-webkit-text-fill-color:#31649a;border:1px solid #cedbea}
button.inventory-more-toggle:hover:not(:disabled){background:#e5eef9;border-color:#94b1d0}

/* Hold More Filters matches the shared light-blue action palette. */
.mobile-hold-panel .hold-search-toolbar .hold-more-filters{background:#f0f5fb;color:#31649a;-webkit-text-fill-color:#31649a;border:1px solid #cedbea;border-radius:6px}
.mobile-hold-panel .hold-search-toolbar .hold-more-filters:hover:not(:disabled){background:#e5eef9;border-color:#94b1d0}

/* Shared cart action colors: keep item discount, order discount and hold identical. */
#cart-panel{--cart-action-bg:#f0f5fb;--cart-action-text:#31649a;--cart-action-border:#cedbea}
#cart-panel :is(.line-discount-action,button[onclick="openOrderDiscount()"],.hold-action){
 background:var(--cart-action-bg);color:var(--cart-action-text);-webkit-text-fill-color:var(--cart-action-text);border:1px solid var(--cart-action-border);
}
#cart-panel :is(.line-discount-action,button[onclick="openOrderDiscount()"],.hold-action):hover:not(:disabled){background:#e5eef9;border-color:#94b1d0}
#cart-panel :is(.line-discount-action,button[onclick="openOrderDiscount()"],.hold-action):active:not(:disabled){background:#dce8f6;border-color:#94b1d0}

/* Align the receipt heading with the amount text inside its input. */
@media(min-width:951px){
 .recon-payment-wrap .recon-table{--actual-input-width:142px;--actual-input-inset:9px}
 .recon-payment-wrap .recon-table input:not([type=hidden]){width:var(--actual-input-width);padding-left:var(--actual-input-inset)}
 .recon-payment-wrap .recon-actual-heading{display:inline-block;box-sizing:border-box;width:var(--actual-input-width);padding-left:calc(var(--actual-input-inset) + 1px);text-align:left}
}

/* Shift the entire desktop difference column toward actual receipts. */
@media(min-width:951px){
 .recon-payment-wrap .recon-table th:nth-child(4),
 .recon-payment-wrap .recon-table td:nth-child(4){text-align:left;padding-left:18px}
}

/* Compact, left-aligned inventory filter actions. */
.inventory-advanced .range-actions{justify-content:flex-start;gap:6px;margin-left:0;padding:0}
@layer nzip-components{
 .inventory-advanced .range-actions>button{height:32px!important;min-height:32px!important;min-width:64px!important;padding:3px 10px!important;font-size:12px!important;line-height:20px!important;white-space:nowrap}
}

/* History actions remain neutral until a quick filter is selected. */
.recon-history .mobile-history-quick>button,
.recon-history .mobile-history-export{
 background:#f5f6f8;color:#26313e;-webkit-text-fill-color:#26313e;border:1px solid #dce1e7;box-shadow:none;
}
.recon-history .mobile-history-quick>button:hover,
.recon-history .mobile-history-export:hover{background:#edf0f3;color:#26313e;-webkit-text-fill-color:#26313e;border-color:#c8d0da}
.recon-history .mobile-history-quick>button[aria-pressed=true]{
 background:#e5eef9;color:#31649a;-webkit-text-fill-color:#31649a;border-color:#94b1d0;box-shadow:inset 0 0 0 1px #94b1d0;
}
.recon-history .mobile-history-export:active{background:#e5eef9;color:#31649a;-webkit-text-fill-color:#31649a;border-color:#94b1d0}

/* Held-order action priority comes only from preparation state, on all screens. */
.hold-row-actions>:is(.hold-resume,.hold-checkout).primary{background:#ed6d2b;color:#fff;-webkit-text-fill-color:#fff;border:1px solid #ed6d2b}
.hold-row-actions>:is(.hold-resume,.hold-checkout).primary:is(:hover,:active){background:#d85f28;border-color:#d85f28}
.hold-row-actions>:is(.hold-resume,.hold-checkout,.hold-preparation).neutral{background:#edf0f3;color:#45505f;-webkit-text-fill-color:#45505f;border:1px solid #dce1e7}
.hold-row-actions>:is(.hold-resume,.hold-checkout,.hold-preparation).neutral:is(:hover,:active):not(:disabled){background:#e2e6eb;border-color:#c8d0da}
.hold-row-actions>:is(.hold-resume,.hold-checkout,.hold-preparation):disabled{background:#f3f4f6;color:#9aa2ad;-webkit-text-fill-color:#9aa2ad;border-color:#e5e7eb;opacity:1;cursor:not-allowed}

/* Resumed orders: compact editing with an unmistakable original-hold context. */
.hold-editor{gap:10px}
.hold-editor .hold-edit-status{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid #cbd7e4;border-radius:6px;background:#f0f4f8;color:#354f69;font-size:14px;font-weight:600;line-height:20px}
.hold-editor .section-heading h2{font-size:20px;font-weight:700;color:#203249}
.hold-editor .hold-strip{font-size:15px;font-weight:600;line-height:22px;padding:6px 18px;color:#354f69;background:#f6f8fa}
.hold-editor .cart-head{padding:8px 18px}
.hold-editor .hold-return{background:#f6f7f9;color:#46515f;border:1px solid #cfd5dd}
.hold-editor .cart-line{grid-template-columns:minmax(0,1fr) auto auto 28px;gap:4px 10px;padding:8px 0;align-items:center}
.hold-editor .cart-line .line-top,.hold-editor .cart-line .line-bottom{display:contents}
.hold-editor .cart-line .line-top>div{grid-column:1;grid-row:1/3;min-width:0}
.hold-editor .cart-line .line-top>button{grid-column:4;grid-row:1;align-self:start}
.hold-editor .cart-line .line-name{font-size:15px;line-height:21px}
.hold-editor .cart-line .line-meta{font-size:12px;line-height:18px;margin-top:2px;color:#7a8492;overflow-wrap:anywhere}
.hold-editor .cart-line .qty{grid-column:2;grid-row:1;gap:4px;align-self:center}
.hold-editor .cart-line .line-price{grid-column:3;grid-row:1;font-size:16px;text-align:right;justify-self:end}
.hold-editor .cart-line .line-discount-action{grid-column:3;grid-row:2;justify-self:end;padding:0 7px}
.hold-editor .cart-line .line-discount-value{grid-column:2;grid-row:2;font-size:11px;text-align:right}
.hold-editor .cart-details{padding:8px 18px}
.hold-editor .cart-details .sumrow{display:flex;justify-content:space-between;gap:12px;line-height:17px;margin-bottom:2px;font-size:12px}
.hold-editor .sumrow>span:last-child{text-align:right}
.hold-editor .cart-checkout{padding:10px 18px}
.hold-editor .total-row{padding:0;margin:0 0 8px}
.hold-editor .total-row strong{font-size:24px}
.hold-editor #cart-panel .cart-actions>.hold-action{background:#edf0f3;color:#45505f;-webkit-text-fill-color:#45505f;border-color:#d3d9e0}
.hold-editor #cart-panel .cart-actions>.hold-action:hover:not(:disabled){background:#e2e6eb;border-color:#c8d0da}
@layer nzip-components{
 .hold-editor .cart-line :is(.line-discount-action,.text-btn),.hold-editor #cart-panel button[onclick="openOrderDiscount()"]{height:28px!important;min-height:28px!important;padding:2px 7px!important;font-size:12px!important;line-height:20px!important}
 .hold-editor .cart-line .qty button{height:30px!important;min-height:30px!important;min-width:30px!important;padding:2px!important}
 .hold-editor .hold-return,.hold-editor .cart-actions>button{height:34px!important;min-height:34px!important;padding-block:4px!important;font-size:13px!important}
}
@media(max-width:600px){
 .hold-editor .cart-line{grid-template-columns:minmax(0,1fr) auto 28px;gap:4px 6px}
 .hold-editor .cart-line .line-top>div{grid-column:1/3;grid-row:1}
 .hold-editor .cart-line .line-top>button{grid-column:3;grid-row:1}
 .hold-editor .cart-line .qty{grid-column:1;grid-row:2}
 .hold-editor .cart-line .line-price{grid-column:2/4;grid-row:2}
 .hold-editor .cart-line .line-discount-action{grid-column:2/4;grid-row:3}
 .hold-editor .cart-line .line-discount-value{grid-column:1;grid-row:3}
}

/* One visual contract for icon-led search fields across all pages. */
@layer nzip-components{
 :is(#main,#dialog) .search-wrap{--ui-control-height:36px;--ui-control-font:14px;display:flex!important;align-items:center!important;justify-content:flex-start!important;height:36px!important;min-height:36px!important;box-sizing:border-box!important;padding:0 10px!important;gap:8px!important;border:1px solid #d5dfeb!important;border-radius:6px!important;background:#fff!important}
 :is(#main,#dialog) .search-wrap:focus-within{border-color:#829fbe!important;box-shadow:0 0 0 2px #829fbe20!important}
 :is(#main,#dialog) .search-wrap>.search-icon{display:flex!important;position:static!important;inset:auto!important;transform:none!important;align-items:center!important;justify-content:center!important;flex:0 0 18px!important;width:18px!important;height:18px!important;margin:0!important;padding:0!important;color:#7a8ca3!important}
 :is(#main,#dialog) .search-wrap>.search-icon svg{width:18px!important;height:18px!important;display:block!important}
 :is(#main,#dialog) .search-wrap>input{height:34px!important;min-height:34px!important;padding:0!important;margin:0!important;flex:1!important;width:0!important;min-width:0!important;border:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;font-size:14px!important;line-height:20px!important;text-align:left!important;color:#263b52!important;align-self:center!important}
 :is(#main,#dialog) .search-wrap>input::placeholder{font-size:14px!important;line-height:20px!important;color:#7a8797!important;opacity:1!important;letter-spacing:0!important}
 :is(#main,#dialog) .search-wrap>.camera-scan-button{height:34px!important;min-height:34px!important;min-width:34px!important;flex:0 0 34px!important;padding:0!important;margin-right:-10px!important}
}

/* Resume item discount sits below the product details on the left. */
.hold-editor .cart-line .line-top>div{grid-row:1}
.hold-editor .cart-line .line-discount-action{grid-column:1;grid-row:2;justify-self:start}
@media(max-width:600px){
 .hold-editor .cart-line .line-discount-action{grid-column:1;grid-row:3;justify-self:start}
 .hold-editor .cart-line .line-discount-value{grid-column:2/4;grid-row:3;text-align:right}
}

/* Inventory table headings and all cell content share a centered alignment. */
.inventory-table table :is(th,td){text-align:center;vertical-align:middle}
.inventory-table table :is(th,td) :is(.reserved-badge,.photo-button){margin-inline:auto}
.inventory-table table th button{justify-content:center;text-align:center}
.inventory-table table tfoot :is(th,td){text-align:center}

/* Desktop product image editor: equal preview and upload-control columns. */
@media(min-width:951px){
 #dialog .upload-box:not(.photo-editor-grid){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}
 #dialog .upload-box:not(.photo-editor-grid)>#upload-preview{min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:6px;background:#fff}
 #dialog .upload-box:not(.photo-editor-grid) .upload-preview{width:100%;height:100%;min-height:160px;max-height:220px;object-fit:contain;display:flex;align-items:center;justify-content:center}
 #dialog .upload-box:not(.photo-editor-grid)>.upload-file-column{min-width:0;display:flex;flex-direction:column;justify-content:center;overflow-wrap:anywhere}
 #dialog .upload-box:not(.photo-editor-grid) input[type=file]{width:100%;min-width:0;max-width:100%;font-size:12px}
}

/* Product form focus stays within the input edge instead of a large outer ring. */
@layer nzip-components{
 #dialog :is(input,select,textarea)[id^="new-"]:is(:focus,:focus-visible){outline:none!important;outline-offset:0!important;border-color:#7e9fc4!important;box-shadow:inset 0 0 0 1px #7e9fc433!important}
}

/* Compact, clearly actionable entry for adding a sibling product variant. */
#dialog .product-variant-action{display:flex;justify-content:flex-start;align-items:center;margin:6px 0 10px;padding:0}
#dialog .upload-box:has(+.product-variant-action){margin-bottom:6px}
#dialog .product-add-variant{background:#f2f4f7;color:#354252;border:1px solid #ccd5df;border-radius:6px;white-space:nowrap}
#dialog .product-add-variant:hover{background:#e7ecf2;border-color:#aebdcc}
#dialog .product-add-variant:active{background:#dce4ed}
@layer nzip-components{
 #dialog .product-add-variant{height:32px!important;min-height:32px!important;padding:4px 10px!important;font-size:13px!important;line-height:20px!important}
}

/* Make inventory specification/style totals easier to read. */
@layer nzip-components{
 #inventory-counts .count{font-size:14px!important;font-weight:700!important;line-height:20px!important;height:28px!important;min-height:28px!important;padding:3px 8px!important}
}

/* Remove the obsolete grid placeholder overlay, which consumed flex input width. */
:is(#main,#dialog) .search-wrap>.inventory-search-hint{display:none!important}
@media(max-width:950px){
 @layer nzip-components{
  :is(#main,#dialog) .search-wrap>input,:is(#main,#dialog) .search-wrap>input::placeholder,#dialog #audit-search,#dialog #audit-search::placeholder{font-size:13px!important;white-space:nowrap!important}
 }
 .mobile-hold-panel{display:flex;flex-direction:column;gap:6px}
 .mobile-hold-panel>#hold-summary{order:0;display:flex;align-items:center;justify-content:flex-start;gap:0;margin:0;padding:0;border:0;white-space:nowrap}
 .mobile-hold-panel>.inventory-chips{order:1;margin:0!important}
 .mobile-hold-panel>.hold-search-toolbar{order:2;margin:0;gap:5px;display:flex;align-items:center}
 .mobile-hold-panel>#hold-advanced-controls{order:3}
 .mobile-hold-panel>#hold-list{order:4}
 .mobile-hold-panel #hold-summary>button{background:none;border:0;border-radius:0;color:#727b88;box-shadow:none;white-space:nowrap;flex:none;width:auto}
 .mobile-hold-panel #hold-summary>button+button{border-left:1px solid #cdd2d9}
 .mobile-hold-panel #hold-summary>button[aria-pressed=true]{color:#424b57;text-decoration:underline;text-underline-offset:3px}
 .mobile-hold-panel .hold-more-filters{padding:0 6px;flex:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
 .mobile-hold-panel .hold-controls{display:grid;grid-template-columns: .8fr .85fr 1.35fr .85fr;gap:4px;margin:2px 0;padding:0;align-items:end}
 .mobile-hold-panel .hold-controls>label{display:flex;flex-direction:column;gap:2px;font-size:10px;line-height:14px;min-width:0}
 .mobile-hold-panel .hold-controls>label :is(input,select){width:100%;min-width:0;padding:2px}
 .mobile-hold-panel .hold-controls>.secondary{grid-column:1/-1;font-size:10px;line-height:14px;margin:0}
 .mobile-hold-panel .hold-timeout-input{display:flex;width:100%;gap:2px}
 .mobile-hold-panel .hold-timeout-input input[aria-label]{flex:1;width:0;min-width:0}
 .mobile-hold-panel .hold-timeout-input .hold-timeout-unit{font-size:10px;flex:none}
 .mobile-hold-panel .hold-duration{color:#485364!important}
 @layer nzip-components{
  .mobile-hold-panel #hold-summary>button{height:24px!important;min-height:24px!important;font-size:11px!important;padding:0 5px!important;line-height:16px!important}
  .mobile-hold-panel .hold-more-filters{height:36px!important;min-height:36px!important;font-size:12px!important;line-height:18px!important;padding:0 6px!important}
  .mobile-hold-panel .hold-controls :is(input,select),.mobile-hold-panel .hold-timeout-input{height:28px!important;min-height:28px!important;font-size:11px!important;line-height:16px!important}
  .mobile-hold-panel .prep-badge{background:#f1f3f5!important;color:#66707d!important;border-color:#dce1e5!important}
  .mobile-hold-panel :is(.hold-state.near,.hold-state.overdue,.hold-state.critical,.hold-time-badge){background:#faf1df!important;color:#8c652b!important;border-color:#e8d9b8!important}
  body[data-mobile-page=inventory] .inventory-chips>button{height:26px!important;min-height:26px!important;font-size:11px!important;line-height:18px!important;padding:2px 4px!important}
 }
 .inventory-extra-actions>.op-red{background:#c93935!important;color:white!important;-webkit-text-fill-color:white!important;border-color:#c93935!important}
 .inventory-extra-actions>.op-red:is(:hover,:active){background:#ae2e2a!important;border-color:#ae2e2a!important}
 body:is([data-mobile-page=stores],[data-mobile-page=staff],[data-mobile-page=employees]) #main .section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:0}
 body:is([data-mobile-page=stores],[data-mobile-page=staff],[data-mobile-page=employees]) :is(#page-title,#main .section-heading h2){font-size:16px;line-height:22px;margin:0}
 @layer nzip-components{
  body:is([data-mobile-page=stores],[data-mobile-page=staff],[data-mobile-page=employees]) #main .section-heading button{height:28px!important;min-height:28px!important;padding:3px 8px!important;font-size:12px!important;line-height:20px!important}
 }
 .recon-payment-wrap .recon-table tbody>tr,.recon-mobile-columns{grid-template-columns:40px minmax(34px,1fr) 52px minmax(56px,1fr) 48px;column-gap:5px}
 .recon-mobile-columns>span:nth-child(4){text-align:center}
 .recon-payment-wrap .recon-table td:nth-child(4){justify-content:center;text-align:center;white-space:nowrap;overflow-wrap:normal}
 .recon-payment-wrap .recon-table td:nth-child(6){justify-content:center;text-align:center}
 .recon-payment-wrap .recon-table input:not([type=hidden]){width:52px}
 .recon-history .mobile-history-actions{display:flex;flex-direction:row;align-items:center;gap:4px;flex-wrap:nowrap;width:100%}
 .recon-history .mobile-history-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;flex:1;min-width:0}
 .recon-history .mobile-history-export{flex:none;align-self:center;margin:0}
 #main button[onclick="exportSales()"],.recon-history .mobile-history-export{background:#edf4fc;color:#2767b4;-webkit-text-fill-color:#2767b4;border:1px solid #c9dbef;white-space:nowrap}
 @layer nzip-components{
  #main button[onclick="exportSales()"],.recon-history .mobile-history-export,.recon-history .mobile-history-quick>button{height:28px!important;min-height:28px!important;font-size:11px!important;line-height:18px!important;padding:2px 5px!important;white-space:nowrap!important}
 }
}
@media(max-width:950px){
 @layer nzip-components{
  #hold-advanced-controls>label{font-size:10px!important;line-height:14px!important;white-space:nowrap!important}
  #hold-advanced-controls :is(select,input){height:28px!important;min-height:28px!important;font-size:11px!important;line-height:16px!important;padding:2px!important}
  #hold-advanced-controls>.secondary{font-size:10px!important;line-height:14px!important}
 }
}

/* Primary actions share blue on desktop and mobile; warning badges are untouched. */
@layer nzip-components{
 :is(#main,#dialog,.mobile-checkout) :is(button.primary,button.op-orange){background:#2767b4!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#2767b4!important}
 :is(#main,#dialog,.mobile-checkout) :is(button.primary,button.op-orange):is(:hover,:active):not(:disabled){background:#205895!important;border-color:#205895!important}
 :is(#main,#dialog) button.primary:disabled{background:#e5e9ef!important;color:#929ba7!important;-webkit-text-fill-color:#929ba7!important;border-color:#dce1e7!important}
 #dialog button.primary:is([onclick*="cancelHold"],[onclick*="deleteProduct"],[onclick*="confirmDelete"],[onclick*="deleteSku"]){background:#c93935!important;border-color:#c93935!important}
}
@media(max-width:950px){
 #main{padding-top:6px!important}
 #main>.section-heading{margin-top:0;margin-bottom:6px}
 #main .panel{margin-top:6px}
 #main .management-header{margin-bottom:6px}
 #main .management-description{margin:4px 0 6px;font-size:11px;line-height:16px}
 #main .order-editor{gap:6px}
 #main .recon-history{margin-top:10px}
 #main .report-filters{margin-top:6px;margin-bottom:6px}
 #main .mobile-hold-panel{gap:5px;margin-top:0}
 #main .mobile-hold-panel #hold-summary{gap:8px}
 #main .mobile-hold-panel #hold-summary>button{border:0!important;padding-inline:0!important}
 #main .mobile-hold-panel #hold-summary>button:before{content:none}
 #main .mobile-hold-heading{margin:0 0 4px}
 @layer nzip-components{
  #main .mobile-hold-panel .hold-search-toolbar .search-wrap,#main .mobile-hold-panel .hold-more-filters{height:26px!important;min-height:26px!important;font-size:11px!important;padding-block:0!important}
  #main .mobile-hold-panel .hold-search-toolbar .search-wrap>input{height:24px!important;min-height:24px!important;font-size:12px!important;line-height:18px!important}
  #main .mobile-hold-panel .hold-search-toolbar .search-wrap>input::placeholder{font-size:12px!important}
  #main .mobile-hold-panel .hold-more-filters{padding-inline:5px!important}
 }
 #dialog[data-sheet=inventory] .stock-range-fields{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:4px!important;margin:0}
 #dialog[data-sheet=inventory] .stock-range-fields>label{position:relative}
 #dialog[data-sheet=inventory] .stock-range-fields>label:nth-child(3):before{position:absolute;left:-7px;width:10px;text-align:center;font-size:10px}
 #dialog[data-sheet=inventory] .stock-range-fields{column-gap:10px!important}
 #dialog[data-sheet=inventory] .inventory-sort-fields{grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:10px;margin-top:6px}
 #dialog[data-sheet=inventory] :is(.inventory-sort-fields,.stock-range-fields) select,#dialog[data-sheet=inventory] .stock-range-fields input{height:30px!important;min-height:30px!important}
 #main .inventory-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:5px;margin:8px 0 0;padding:0;font-size:11px}
 #main .inventory-pager .inventory-page-summary{flex-basis:100%}
 @layer nzip-components{
  #main .inventory-pager :is(select,button){height:28px!important;min-height:28px!important;padding:2px 5px!important;font-size:11px!important;line-height:18px!important}
 }
 #main .inventory-card-head{align-items:flex-start;gap:8px}
 #main .inventory-card-head h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;word-break:normal;font-size:13px;line-height:19px;height:38px;min-height:38px;margin:0;min-width:0;align-self:flex-start}
}
@media(max-width:950px){
 #dialog[data-sheet=inventory] .stock-range-fields{padding:0!important;row-gap:0!important}
 #dialog[data-sheet=inventory] .stock-range-fields>label{padding:0!important}
 #dialog[data-sheet=inventory] #stock-range-error:empty{display:none}
 #dialog[data-sheet=inventory] .inventory-sort-fields{grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);margin-top:6px}
 @layer nzip-components{
  #dialog[data-sheet=inventory] :is(.stock-range-fields,.inventory-sort-fields) :is(input,select){height:32px!important;min-height:32px!important}
 }
}

/* Desktop reconciliation history uses one compact control row. */
@media(min-width:951px){
 .recon-history-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0}
 .recon-history-toolbar :is(#recon-history-period,.mobile-history-filters,.mobile-history-other,.mobile-history-actions,.mobile-history-quick){display:contents}
 .recon-history-toolbar #recon-history-period>label,.recon-history-toolbar .mobile-history-other>label{display:flex;align-items:center;gap:4px;margin:0;white-space:nowrap;font-size:12px}
 .recon-history-toolbar #recon-history-period>label select{width:76px}
 .recon-history-toolbar #recon-history-period>label:nth-child(2) select,.recon-history-toolbar #recon-history-period>label:nth-child(3) select{width:64px}
 .recon-history-toolbar .mobile-history-other>label select{width:100px;min-width:0}
 .recon-history-toolbar .mobile-history-other>label:nth-child(2) select{width:78px}
 .recon-history-toolbar #recon-history-scope{order:1;flex:0 0 100%;font-size:11px;line-height:16px;color:#7a8797;margin:0}
 @layer nzip-components{
  .recon-history .recon-history-toolbar :is(select,button){height:32px!important;min-height:32px!important;width:auto;max-width:none;font-size:12px!important;line-height:18px!important;padding:3px 7px!important;white-space:nowrap}
  .recon-history .recon-history-toolbar #recon-history-today{width:auto!important;margin:0!important}
 }
}

/* Balanced desktop payment columns, independent of content-based table sizing. */
@media(min-width:951px){
 .recon-payment-wrap .recon-table{table-layout:fixed;width:100%}
 .recon-payment-wrap .recon-table th:nth-child(1){width:15%}
 .recon-payment-wrap .recon-table th:nth-child(2){width:15%}
 .recon-payment-wrap .recon-table th:nth-child(3){width:17%}
 .recon-payment-wrap .recon-table th:nth-child(4){width:13%}
 .recon-payment-wrap .recon-table th:nth-child(5){width:27%}
 .recon-payment-wrap .recon-table th:nth-child(6){width:13%}
 .recon-payment-wrap .recon-table :is(th,td){padding-left:16px;padding-right:16px;vertical-align:middle}
 .recon-payment-wrap .recon-table :is(th,td):nth-child(2),
 .recon-payment-wrap .recon-table :is(th,td):nth-child(3),
 .recon-payment-wrap .recon-table :is(th,td):nth-child(4),
 .recon-payment-wrap .recon-table :is(th,td):nth-child(6){text-align:center}
 .recon-payment-wrap .recon-table .recon-actual-heading{text-align:left;max-width:100%}
 .recon-payment-wrap .recon-table input:not([type=hidden]){max-width:100%}
 .recon-payment-wrap .recon-table .recon-payment-note{width:100%;min-width:0;box-sizing:border-box}
}

/* Exact order lookup keeps the located row visible without moving input focus. */
#order-rows>tr.order-search-match{background:#f0f5fb;box-shadow:inset 3px 0 #2767b4}

/* Desktop overview date labels, controls and summary form one compact row. */
@media(min-width:951px){
 body[data-mobile-page=reports] #main .ui-date-filter{display:flex;align-items:center;flex-wrap:nowrap;gap:10px;padding:10px 14px}
 body[data-mobile-page=reports] #main .ui-date-filter>label{display:flex;align-items:center;flex:none;gap:6px;margin:0;font-size:12px;white-space:nowrap}
 body[data-mobile-page=reports] #main .ui-date-filter .ui-date-label{margin:0}
 body[data-mobile-page=reports] #main .ui-date-filter>label select{width:100px;min-width:0}
 body[data-mobile-page=reports] #main .ui-date-filter>.report-period{margin:0 0 0 6px;font-size:12px;line-height:18px;color:#7a8797;white-space:nowrap}
 @layer nzip-components{
  body[data-mobile-page=reports] #main .ui-date-filter :is(select,button){height:32px!important;min-height:32px!important;font-size:12px!important;line-height:18px!important;padding:3px 8px!important}
  body[data-mobile-page=reports] #main .ui-date-filter>button{width:auto!important;min-width:52px;margin:0;flex:none}
 }
}
/* Desktop audit filters share one compact baseline, including expanded controls. */
@media(min-width:951px){
 dialog[data-sheet="audit-simple"] .audit-simple-filters{display:flex;flex-wrap:nowrap;gap:8px;margin-bottom:12px}
 dialog[data-sheet="audit-simple"] #audit-search{flex:1 1 180px;width:0;min-width:140px;margin:0}
 dialog[data-sheet="audit-simple"] .audit-simple-filters label{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;white-space:nowrap;font-size:12px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]{width:118px;min-width:118px;padding-inline:5px}
 dialog[data-sheet="audit-simple"] .audit-simple-filters input[type=date]::-webkit-calendar-picker-indicator{width:12px;margin-left:2px}
 dialog[data-sheet="audit-simple"] #audit-more,dialog[data-sheet="audit-simple"] #audit-more[open]>div{display:contents}
 dialog[data-sheet="audit-simple"] #audit-more:not([open])>div{display:none}
 dialog[data-sheet="audit-simple"] #audit-more>summary{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:12px;flex:none}
 dialog[data-sheet="audit-simple"] #audit-more select{width:116px;min-width:0;margin:0}
 @layer nzip-components{
  dialog[data-sheet="audit-simple"] .audit-simple-filters :is(input,select){height:32px!important;min-height:32px!important;max-height:32px!important;font-size:12px!important;padding-block:4px!important}
 }
}
@media(min-width:951px){
 #dialog[data-sheet="audit-simple"] #audit-more::details-content{display:contents}
 #dialog[data-sheet="audit-simple"] #audit-more>div>label{display:inline-flex;flex:none}
 @layer nzip-components{
  #dialog[data-sheet="audit-simple"] .audit-simple-filters :is(#audit-search,#audit-from,#audit-until,#audit-store,#audit-module),#dialog[data-sheet="audit-simple"] #audit-more>summary{height:32px!important;min-height:32px!important;max-height:32px!important;font-size:12px!important;padding-block:4px!important}
 }
}
/* Search decoration stays inside the input so every part remains clickable. */
#dialog[data-sheet="audit-simple"] #audit-search{
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23788fae' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 4 4'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:9px center;background-size:16px 16px;
}
@layer nzip-components{
 #dialog[data-sheet="audit-simple"] .audit-simple-filters #audit-search{padding-left:32px!important}
}
@media(max-width:950px){
 #dialog[data-sheet="audit-simple"] #audit-search{background-position:5px center;background-size:14px 14px}
 @layer nzip-components{#dialog[data-sheet="audit-simple"] .audit-simple-filters #audit-search{padding-left:23px!important}}
}
/* The eighth overview tile shares the metric grid instead of a separate bottom panel. */
.report-business-card dl{display:grid;gap:12px;width:100%;margin:16px 0 8px}
.report-business-card dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.report-business-card dt{font-size:13px;color:var(--muted)}
.report-business-card dd{margin:0;font-size:16px;font-weight:600;text-align:right;overflow-wrap:anywhere}
.report-business-card small{color:var(--muted);font-size:12px}
@media(max-width:650px){.report-business-card dl{gap:8px;margin:10px 0 6px}.report-business-card dd{font-size:14px}}
/* Shared internal rhythm for all eight sales overview cards. */
#main .report-event-stats{align-items:stretch;grid-auto-rows:200px}
#main .report-event-stats>.stat{box-sizing:border-box;height:200px;min-height:200px;max-height:200px;padding:20px;gap:0;justify-content:flex-start;text-align:left;overflow:hidden}
#main .report-event-stats>.stat>.stat-label{display:block;flex:none;margin:0;font-size:13px;font-weight:500;line-height:20px;color:var(--muted)}
#main .report-event-stats>.stat>strong{display:block;flex:none;margin:8px 0 0;font-size:28px;font-weight:600;line-height:36px;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:0}
#main .report-event-stats>.stat>small{display:block;margin:8px 0 0;font-size:12px;font-weight:400;line-height:18px;color:var(--muted)}
#main .report-event-stats>.stat>.stat-drill{display:block;margin:auto 0 0;padding:0;font-size:12px;font-weight:500;line-height:18px;color:#526c89;opacity:1}
#main .report-event-stats>.report-business-card dl{display:grid;gap:4px;width:100%;margin:8px 0 0}
#main .report-event-stats>.report-business-card dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0}
#main .report-event-stats>.report-business-card dt{flex:none;font-size:12px;font-weight:400;line-height:18px;color:var(--muted)}
#main .report-event-stats>.report-business-card dd{margin:0;min-width:0;font-size:28px;font-weight:600;line-height:36px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
#main .report-event-stats>.report-business-card>small{margin-top:auto}
@media(max-width:650px){
 #main .report-event-stats>.stat{padding:16px}
 #main .report-event-stats>.stat>strong,#main .report-event-stats>.report-business-card dd{font-size:24px;line-height:32px}
 #main .report-event-stats>.report-business-card dl>div{flex-wrap:wrap;column-gap:4px;row-gap:0}
}
/* Keep business amounts beside their labels on a shared left alignment. */
#main .report-event-stats>.report-business-card dl>div{justify-content:flex-start;column-gap:12px}
#main .report-event-stats>.report-business-card dt{flex:0 0 28px}
#main .report-event-stats>.report-business-card dd{text-align:left}
#main .report-event-stats>.report-business-card>.report-business-note{margin-top:8px;font-size:12px;font-weight:400;line-height:18px;color:var(--muted)}
#main .report-event-stats>.report-business-card dd{white-space:nowrap}
@media(max-width:650px){
 #main .report-event-stats>.report-business-card dl>div{column-gap:6px}
 #main .report-event-stats>.report-business-card dt{flex-basis:24px}
}
/* Real business drilldown; preserve the same tile height and footer baseline. */
#main .report-event-stats{grid-auto-rows:220px}
#main .report-event-stats>.stat{height:220px;min-height:220px;max-height:220px}
#main .report-event-stats>.report-business-card dt{flex-basis:36px}
#main .report-event-stats>.report-business-card dl{gap:0}
#main .report-event-stats>.report-business-card dd.cost-unavailable{font-size:14px}
#main .report-event-stats>.report-business-card>.report-business-note{margin-top:6px}
#main .report-event-stats>.stat>.business-drill{border:0;background:none;cursor:pointer;text-align:left;height:18px;padding:0}
@layer nzip-components{#main .report-event-stats>.stat>button.business-drill{min-height:18px!important;height:18px!important;padding:0!important}}
.business-views{display:flex;gap:8px;margin:12px 0}
.business-detail .detail-summary p{margin:6px 0}
.business-missing{font-size:13px;line-height:20px;color:#856228;background:#fff9ec;border-radius:6px;padding:10px}
.business-detail table{white-space:nowrap}
@media(max-width:650px){#main .report-event-stats{grid-auto-rows:240px}#main .report-event-stats>.stat{height:240px;min-height:240px;max-height:240px}#main .report-event-stats>.report-business-card dl>div{flex-wrap:nowrap;gap:4px}#main .report-event-stats>.report-business-card dd{font-size:22px}#main .report-event-stats>.stat>strong{font-size:22px}}
/* Submit/review metadata and available actions share a compact footer row. */
.recon-footer-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:10px 0 14px}
.recon-footer-row .recon-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:0;min-width:0}
.recon-footer-row .recon-meta>span:not(.recon-review-note){white-space:nowrap}
.recon-footer-row .recon-review-note{overflow-wrap:anywhere}
.recon-footer-row .recon-actions{margin:0;align-items:center;gap:8px}
@media(max-width:650px){.recon-footer-row{gap:8px 12px}.recon-footer-row .recon-meta{gap:8px 12px}}
/* Compact mobile product form; desktop and separate photo editor are unchanged. */
@media(max-width:650px){
 #dialog:has(#new-style){width:calc(100vw - 20px);max-width:520px;max-height:calc(100dvh - 20px)}
 #dialog:has(#new-style) .modal-head{padding:12px 14px}
 #dialog:has(#new-style) #dialog-title{font-size:18px;line-height:24px;margin:0}
 #dialog:has(#new-style) #dialog-body{padding:10px 14px;scroll-padding-block:12px}
 #dialog:has(#new-style) .modal-foot{padding:10px 14px}
 #dialog:has(#new-style) .upload-box{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:start;gap:10px;padding:8px;margin:0 0 6px}
 #dialog:has(#new-style) #upload-preview{width:90px;min-width:0}
 #dialog:has(#new-style) .upload-preview{width:90px;height:100px;min-height:0;max-height:100px;object-fit:contain}
 #dialog:has(#new-style) .upload-file-column{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px;min-width:0}
 #dialog:has(#new-style) .upload-label{font-size:12px;line-height:18px;gap:3px;margin:0}
 #dialog:has(#new-style) #product-image{width:100%;max-width:100%;min-width:0;margin:0;padding:0;font-size:11px;line-height:22px;height:26px}
 #dialog:has(#new-style) .upload-remove-row{margin:0;padding:0;line-height:24px;align-self:flex-start}
 #dialog:has(#new-style) .upload-file-column>.secondary{font-size:11px;line-height:15px!important;margin:0!important;color:var(--muted)}
 #dialog:has(#new-style) #upload-status:empty{display:none}
 #dialog:has(#new-style) .product-variant-action{margin:4px 0 8px}
 #dialog:has(#new-style) .field{display:block;margin:0 0 8px;font-size:12px;line-height:18px;min-width:0}
 #dialog:has(#new-style) .field>input,#dialog:has(#new-style) .field>select{display:block;width:100%;margin:2px 0 0;scroll-margin-block:14px}
 #dialog:has(#new-style) .field small{display:block;margin:2px 0 0;font-size:11px;line-height:15px;color:var(--muted)}
 #dialog:has(#new-style) .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px 10px;margin:0 0 8px}
 #dialog:has(#new-style) .form-grid>.field{margin:0}
 @layer nzip-components{
  #dialog:has(#new-style) .field :is(input,select){height:40px!important;min-height:40px!important;max-height:40px!important;padding:7px 8px!important;font-size:16px!important;line-height:24px!important}
  #dialog:has(#new-style) .product-add-variant{height:28px!important;min-height:28px!important;padding:3px 8px!important;font-size:12px!important;line-height:20px!important}
  #dialog:has(#new-style) .upload-remove-row>button{height:24px!important;min-height:24px!important;padding:1px 0!important;font-size:11px!important;line-height:20px!important}
 }
}
@media(max-width:650px){
 #dialog[open]:has(#new-style){display:flex;flex-direction:column;overflow:hidden}
 #dialog:has(#new-style) .modal-head,#dialog:has(#new-style) .modal-footer{flex:none}
 #dialog:has(#new-style) #dialog-body{overflow-y:auto;min-height:0;flex:1 1 auto;overscroll-behavior:contain}
 #dialog:has(#new-style) .modal-footer{padding:10px 14px}
 #dialog:has(#new-style) .product-field-error:empty{display:none}
 #dialog:has(#new-style) .field small.product-field-error:not(:empty){color:var(--red,#b4232c);min-height:0}
}
/* Mobile inventory filter sheet: two tightly aligned control rows. */
@media(max-width:950px){
 #dialog[data-sheet=inventory] .modal-head{padding:10px 14px}
 #dialog[data-sheet=inventory] #dialog-body{padding:8px 14px 6px}
 #dialog[data-sheet=inventory] #dialog-footer{padding:6px 14px max(10px,env(safe-area-inset-bottom))}
 #dialog[data-sheet=inventory] #dialog-error:empty{display:none}
 #dialog[data-sheet=inventory] :is(.stock-range-fields,.inventory-sort-fields){display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr) 10px minmax(0,1fr);column-gap:4px!important;row-gap:0!important;align-items:center;padding:0;margin:0}
 #dialog[data-sheet=inventory] .stock-range-fields>label{margin:0;min-width:0;gap:0!important}
 #dialog[data-sheet=inventory] .stock-range-fields>label:nth-child(3){display:contents!important}
 #dialog[data-sheet=inventory] .stock-range-fields>label:nth-child(3):before{position:static;grid-column:3;grid-row:1;width:10px;content:'至';font-size:11px;line-height:20px;text-align:center}
 #dialog[data-sheet=inventory] #stock-max{grid-column:4;grid-row:1}
 #dialog[data-sheet=inventory] .inventory-sort-fields{margin-top:6px}
 #dialog[data-sheet=inventory] #inventory-sort-field{grid-column:1}
 #dialog[data-sheet=inventory] #inventory-sort-direction{grid-column:2/5}
 #dialog[data-sheet=inventory] :is(.stock-range-fields,.inventory-sort-fields) :is(input,select){width:100%;min-width:0;margin:0;font-family:inherit}
 #dialog[data-sheet=inventory] .range-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;padding:0;margin:0}
 #dialog[data-sheet=inventory] .range-actions button{width:100%;min-width:0}
 @layer nzip-components{
  #dialog[data-sheet=inventory] :is(.stock-range-fields,.inventory-sort-fields) :is(input,select){height:30px!important;min-height:30px!important;max-height:30px!important;font-size:12px!important;line-height:20px!important;padding:4px!important}
  #dialog[data-sheet=inventory] .range-actions button{height:32px!important;min-height:32px!important;padding:4px 8px!important;font-size:13px!important;line-height:20px!important}
 }
}
@media(max-width:950px){
 #dialog[data-sheet=inventory] .stock-range-fields{font-size:0;line-height:0}
 #dialog[data-sheet=inventory] #stock-range-error:not(:empty){font-size:12px;line-height:18px;margin-top:4px}
}
/* Mobile history: dates, conditions, quick actions, then records in a compact flow. */
@media(max-width:950px){
 #main .recon-history{padding:12px;margin-top:10px;min-width:0}
 #main .recon-history>h3{font-size:16px;line-height:22px;margin:0 0 8px}
 #main .recon-history-toolbar{display:flex;flex-direction:column;gap:6px;margin:0 0 8px}
 #main .recon-history #recon-history-period{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) max-content;gap:3px 5px;margin:0;padding:0;border:0}
 #main .recon-history #recon-history-period>label{display:flex;flex-direction:column;gap:2px;min-width:0;margin:0;font-size:11px;line-height:16px}
 #main .recon-history #recon-history-today{grid-column:4;grid-row:1;align-self:end;width:auto!important;min-width:40px;margin:0!important}
 #main .recon-history #recon-history-scope{grid-column:1/-1;margin:1px 0 0;font-size:11px;line-height:16px;color:var(--muted)}
 #main .recon-history .mobile-history-filters{display:block;margin:0;padding:0}
 #main .recon-history .mobile-history-other{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%}
 #main .recon-history .mobile-history-other>label{display:flex;flex-direction:column;gap:2px;margin:0;min-width:0;font-size:12px;line-height:16px}
 #main .recon-history .mobile-history-actions{display:flex;flex-direction:row;align-items:center;gap:4px;margin:0;padding:0;flex-wrap:nowrap}
 #main .recon-history .mobile-history-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;flex:1;min-width:0}
 #main .recon-history .mobile-history-export{flex:none;margin:0;white-space:nowrap;background:#edf4fc;color:#2767b4;-webkit-text-fill-color:#2767b4;border:1px solid #c9dbef}
 #main .recon-history .mobile-history-quick>button{background:#f4f6f8;color:#344054;border:1px solid #dce3eb}
 #main .recon-history .mobile-history-quick>button[aria-pressed=true]{background:#e7f0ff;color:#2767b4;border-color:#9fbdeb}
 #main .recon-history .mobile-history-table tr{padding:10px;margin:6px 0;gap:8px}
 #main .recon-history .mobile-history-table td:before{margin-bottom:2px}
 #main .recon-history .mobile-history-table tr.mobile-history-empty{display:block;padding:0;margin:6px 0;min-height:0}
 #main .recon-history .mobile-history-table tr.mobile-history-empty td{padding:12px 6px!important;font-size:12px!important;line-height:18px;text-align:center!important}
 #main .recon-history .recon-pager{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:6px;margin:6px 0 0}
 #main .recon-history .recon-pager>span{font-size:11px;line-height:16px;white-space:nowrap}
 #main .recon-history .recon-pager button{color:#667085;background:#f5f7f9;border:1px solid #e2e7ee}
 @layer nzip-components{
  #main .recon-history .recon-history-toolbar :is(select,button){height:30px!important;min-height:30px!important;max-height:30px!important;font-size:12px!important;line-height:18px!important;padding:4px 5px!important}
  #main .recon-history .recon-history-toolbar select{width:100%!important;min-width:0!important}
  #main .recon-history .mobile-history-actions button{font-size:11px!important;padding-inline:4px!important;white-space:nowrap!important}
  #main .recon-history .recon-pager button{height:28px!important;min-height:28px!important;font-size:11px!important;line-height:18px!important;padding:3px 7px!important}
 }
}
/* Compact mobile printing settings; connection and receipt behavior stay unchanged. */
@media(max-width:950px){
 #main:has(.receipt-tabs) .section-heading{margin-bottom:8px}
 #main .receipt-tabs{gap:6px;margin:0 0 8px;padding-bottom:8px}
 #main .printer-page .panel,#main .receipt-controls .panel,#main .receipt-preview-panel{padding:12px}
 #main .printer-page h3,#main .receipt-controls h3{font-size:15px;line-height:21px;margin:0 0 8px}
 #main .printer-overview{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px;align-items:center}
 #main .printer-overview strong{font-size:14px;line-height:20px}
 #main .printer-overview p{font-size:11px;line-height:16px;margin:3px 0 0}
 #main .printer-default{gap:3px;font-size:12px;line-height:18px;min-width:0}
 #main .printer-default select{width:100%;max-width:100%;min-width:0}
 #main .printer-layout{grid-template-columns:1fr;gap:8px;margin-top:8px}
 #main .printer-empty{font-size:12px;line-height:18px;margin:0}
 #main .printer-list{gap:6px}
 #main .printer-layout>.panel>button[onclick="editPrinter()"]{margin-top:6px!important}
 #main .printer-item{padding:9px}
 #main .printer-item small{font-size:11px;line-height:16px;margin:3px 0 6px}
 #main .printer-item-actions,#main .printer-buttons{gap:6px}
 #main .printer-form{gap:8px}
 #main .printer-form .field{display:flex;flex-direction:column;gap:3px;margin:0;font-size:12px;line-height:18px}
 #main .printer-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px}
 #main .printer-form .field :is(input,select){margin:0}
 #main .printer-note{font-size:11px;line-height:16px}
 #main .printer-status{font-size:12px;line-height:18px;padding:8px}
 #main .printer-ip-label,#main .printer-form .printer-port-label{height:28px;min-height:28px;margin:0}
 #main .printer-check{font-size:12px;gap:6px}
 #main .printer-test-help{padding-top:8px;margin-top:0}
 #main .receipt-settings-layout{gap:8px}
 #main .receipt-controls .panel{margin-bottom:8px}
 #main .receipt-controls .field{margin:8px 0;gap:3px;font-size:12px;line-height:18px}
 #main .receipt-controls .field small{font-size:11px;line-height:16px;margin:0}
 #main .receipt-switches{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}
 #main .receipt-switches label{font-size:12px;line-height:18px;gap:5px;min-height:26px}
 #main .receipt-controls textarea{padding:7px 8px;min-height:54px;font-size:16px;line-height:22px}
 #main .receipt-preview-heading{gap:6px;margin-bottom:6px}
 #main #receipt-live-preview{padding:8px}
 @layer nzip-components{
  #main .receipt-tabs button{height:32px!important;min-height:32px!important;padding:4px 12px!important;font-size:13px!important;line-height:20px!important}
  #main .printer-page :is(input:not([type=checkbox]):not([type=file]),select),#main .receipt-controls :is(input:not([type=checkbox]):not([type=file]),select){height:38px!important;min-height:38px!important;padding:6px 8px!important;font-size:16px!important;line-height:24px!important}
  #main .printer-page button,#main .receipt-controls button,#main .receipt-preview-heading select{height:32px!important;min-height:32px!important;padding:4px 8px!important;font-size:12px!important;line-height:20px!important}
  #main .printer-ip-label button{height:28px!important;min-height:28px!important;font-size:11px!important;padding:3px 5px!important}
 }
}
/* Lightweight mobile editing form, separate from inventory display typography. */
@media(max-width:650px){
 #dialog:has(#new-style) .modal-head{padding:10px 14px}
 #dialog:has(#new-style) #dialog-title{font-weight:600}
 #dialog:has(#new-style) #dialog-body{padding:8px 14px}
 #dialog:has(#new-style) .upload-box{grid-template-columns:80px minmax(0,1fr);gap:8px;padding:7px;margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}
 #dialog:has(#new-style) #upload-preview{width:80px}
 #dialog:has(#new-style) .upload-preview{width:80px;height:88px;max-height:88px}
 #dialog:has(#new-style) .upload-file-column{gap:2px}
 #dialog:has(#new-style) .upload-label{font-size:12px;font-weight:400;gap:2px}
 #dialog:has(#new-style) .upload-file-column>.secondary{font-size:10px;line-height:14px!important;font-weight:400;color:#7a8797}
 #dialog:has(#new-style) .product-variant-action{margin:0 0 7px;padding:3px 7px 7px;background:#f6f8fa;border:1px dashed #c6d2df;border-top:0;border-radius:0 0 8px 8px;position:relative}
 #dialog:has(#new-style) .product-variant-action:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:#e2e7ee}
 #dialog:has(#new-style) .upload-box:not(:has(+.product-variant-action)){border-bottom:1px solid #e2e7ee;border-radius:8px;margin-bottom:7px}
 #dialog:has(#new-style) .field{font-weight:400;font-size:12px;line-height:17px;margin-bottom:6px}
 #dialog:has(#new-style) .field>input,#dialog:has(#new-style) .field>select{margin-top:1px;font-weight:400}
 #dialog:has(#new-style) .field small{font-size:10px;font-weight:400;line-height:14px;margin-top:1px;color:#7a8797}
 #dialog:has(#new-style) .form-grid{column-gap:8px;row-gap:6px;margin-bottom:6px}
 #dialog:has(#new-style) .modal-footer{padding:8px 14px}
 @layer nzip-components{
  #dialog:has(#new-style) .field :is(input,select){height:38px!important;min-height:38px!important;max-height:38px!important;padding:6px 8px!important;font-size:16px!important;font-weight:400!important;line-height:24px!important}
  #dialog:has(#new-style) .product-add-variant{height:26px!important;min-height:26px!important;font-size:11px!important;font-weight:400!important;padding:2px 7px!important}
  #dialog:has(#new-style) .modal-footer button{height:36px!important;min-height:36px!important;padding:6px 12px!important;font-size:13px!important}
 }
}
/* Final mobile product editor dimensions override the earlier narrow preview rules. */
@media(max-width:650px){
 #dialog:has(#new-style) .upload-box{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}
 #dialog:has(#new-style) #upload-preview{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border-radius:5px}
 #dialog:has(#new-style) .upload-preview{width:100%;height:100%;min-height:108px;max-height:148px;object-fit:contain}
 #dialog:has(#new-style) .upload-file-column{width:100%;min-width:0;gap:2px}
 #dialog:has(#new-style) .upload-file-column>.secondary{font-size:11px;line-height:14px!important;font-weight:400}
 #dialog:has(#new-style) .field{font-size:13px;font-weight:400;line-height:18px;margin-bottom:5px}
 #dialog:has(#new-style) .field small{font-size:11px;line-height:14px;margin-top:1px;font-weight:400;color:#7a8797}
 #dialog:has(#new-style) .form-grid{row-gap:5px;column-gap:8px;margin-bottom:5px}
 @layer nzip-components{
  #dialog:has(#new-style) .field :is(input,select){font-size:14px!important;font-weight:400!important;height:38px!important;min-height:38px!important;max-height:38px!important;line-height:22px!important;padding:7px 8px!important}
  #dialog:has(#new-style) .product-add-variant{font-size:13px!important;height:28px!important;min-height:28px!important;padding:3px 7px!important;font-weight:400!important}
 }
}
/* Mobile receipt forms use a single, explicit text hierarchy. */
@media(max-width:950px){
 #main :is(.receipt-settings,.printer-page)>.section-heading h2,.workspace:has(.receipt-settings) .topbar h1{font-size:21px;font-weight:600;line-height:28px;color:var(--ink)}
 #main .receipt-settings :is(.receipt-controls,.receipt-preview-panel) h3{font-size:17px;font-weight:600;line-height:24px;color:var(--ink)}
 #main .receipt-settings :is(.field,.receipt-switches label){font-size:14px;font-weight:400;line-height:20px;color:#344054}
 #main .receipt-settings :is(.printer-note,.field small,#receipt-settings-status){font-size:12px;font-weight:400;line-height:18px;color:#7a8797}
 #main .receipt-settings .receipt-logo-button{background:#f3f5f7;color:#344054;border:1px solid #d7dfe8;border-radius:6px;cursor:pointer}
 #main .receipt-settings .receipt-logo-button:hover{background:#e9edf2}
 #main .receipt-settings .receipt-controls input[type=file]{font-size:14px;font-weight:400;line-height:22px}
 @layer nzip-components{
  #main :is(.receipt-settings,.printer-page) .receipt-tabs button{font-size:14px!important;font-weight:400!important;line-height:20px!important}
  #main .receipt-settings :is(.receipt-controls,.receipt-preview-heading) :is(input:not([type=checkbox]):not([type=file]),select,textarea){font-size:14px!important;font-weight:400!important;line-height:22px!important}
  #main .receipt-settings .receipt-controls button{font-size:13px!important;font-weight:400!important;line-height:20px!important}
  #main .receipt-settings .receipt-controls .receipt-logo-button{height:30px!important;min-height:30px!important;padding:4px 8px!important;font-size:13px!important;font-weight:400!important}
 }
}
/* Compact mobile quick-add sheet, scoped away from other dialogs. */
@media(max-width:650px){
 #dialog[open]:has(#variant-quantity){display:flex;flex-direction:column;overflow:hidden;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
 #dialog:has(#variant-quantity) .modal-head{padding:10px 14px;min-height:0;flex:none;gap:8px}
 #dialog:has(#variant-quantity) #dialog-title{font-size:17px;font-weight:600;line-height:23px;margin:0;overflow-wrap:anywhere}
 #dialog:has(#variant-quantity) #dialog-body{padding:6px 14px 8px;overflow-y:auto;min-height:0;flex:1 1 auto}
 #dialog:has(#variant-quantity) #dialog-body>.secondary:first-of-type{font-size:12px;line-height:17px;margin-bottom:3px!important}
 #dialog:has(#variant-quantity) .variant-photo{height:80px;width:100%;object-fit:contain;margin-bottom:6px}
 #dialog:has(#variant-quantity) .variant-price{font-size:23px;font-weight:600;line-height:30px;margin:0 0 8px}
 #dialog:has(#variant-quantity) .choice-label{font-size:13px;font-weight:400;line-height:18px;margin:0 0 4px}
 #dialog:has(#variant-quantity) .choices{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
 #dialog:has(#variant-quantity) .modal-message{padding:8px 10px;margin:0 0 8px;font-size:11px;line-height:17px}
 #dialog:has(#variant-quantity) .modal-message>div{margin:2px 0 0;font-size:11px;line-height:17px;overflow-wrap:anywhere}
 #dialog:has(#variant-quantity) .stock-status{font-size:12px;font-weight:500;line-height:18px;margin:0}
 #dialog:has(#variant-quantity) .sample-instruction{font-size:11px;line-height:16px;margin:3px 0}
 #dialog:has(#variant-quantity) .variant-quantity-row{display:flex;justify-content:flex-start;align-items:center;gap:12px;margin:0 0 6px}
 #dialog:has(#variant-quantity) .variant-quantity-row .choice-label{margin:0}
 #dialog:has(#variant-quantity) .qty{display:flex;align-items:center;gap:0;width:auto}
 #dialog:has(#variant-quantity) .qty output{width:32px;text-align:center;font-size:14px;line-height:32px}
 #dialog:has(#variant-quantity) .stock-sound{display:flex;align-items:center;justify-content:flex-start;gap:5px;margin:0;font-size:12px;font-weight:400;line-height:20px}
 #dialog:has(#variant-quantity) .stock-sound input{width:15px;height:15px;margin:0}
 #dialog:has(#variant-quantity) :is(#variant-quantity-message,#stock-audio-status):empty{display:none}
 #dialog:has(#variant-quantity) :is(#variant-quantity-message,#stock-audio-status):not(:empty){font-size:11px;line-height:16px;margin:3px 0}
 #dialog:has(#variant-quantity) .modal-footer{padding:8px 14px;flex:none;gap:8px}
 @layer nzip-components{
  #dialog:has(#variant-quantity) .close{width:30px!important;height:30px!important;min-height:30px!important;padding:0!important}
  #dialog:has(#variant-quantity) .choice{height:32px!important;min-height:32px!important;padding:4px 10px!important;font-size:13px!important;line-height:22px!important}
  #dialog:has(#variant-quantity) .qty button{height:32px!important;min-height:32px!important;width:32px!important;padding:0!important}
  #dialog:has(#variant-quantity) .modal-footer button{height:36px!important;min-height:36px!important;font-size:13px!important;padding:6px 12px!important}
 }
}
/* Desktop product editor follows the same compact form hierarchy as mobile. */
@media(min-width:651px){
 #dialog[open]:has(#new-style){display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 32px)}
 #dialog:has(#new-style) .modal-head{padding:12px 18px;flex:none}
 #dialog:has(#new-style) #dialog-title{font-size:20px;line-height:26px;font-weight:600;margin:0}
 #dialog:has(#new-style) #dialog-body{padding:10px 18px;overflow-y:auto;min-height:0;flex:1 1 auto;scroll-padding-block:12px}
 #dialog:has(#new-style) .upload-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:8px;margin-bottom:0;align-items:stretch;border-bottom:0;border-radius:8px 8px 0 0}
 #dialog:has(#new-style) #upload-preview{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:5px;overflow:hidden}
 #dialog:has(#new-style) .upload-preview{width:100%;height:100%;min-height:110px;max-height:140px;object-fit:contain}
 #dialog:has(#new-style) .upload-file-column{display:flex;flex-direction:column;justify-content:flex-start;gap:3px;min-width:0}
 #dialog:has(#new-style) .upload-label{font-size:13px;line-height:18px;font-weight:400;gap:3px;margin:0}
 #dialog:has(#new-style) #product-image{width:100%;min-width:0;height:26px;margin:0;padding:0;font-size:12px;line-height:22px}
 #dialog:has(#new-style) .upload-remove-row{margin:0;padding:0;align-self:flex-start;line-height:24px}
 #dialog:has(#new-style) .upload-file-column>.secondary{font-size:11px;line-height:15px!important;margin:0!important;color:#7a8797}
 #dialog:has(#new-style) #upload-status:empty{display:none}
 #dialog:has(#new-style) .product-variant-action{margin:0 0 9px;padding:3px 8px 8px;background:#f6f8fa;border:1px dashed #c6d2df;border-top:0;border-radius:0 0 8px 8px;position:relative}
 #dialog:has(#new-style) .product-variant-action:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:#e2e7ee}
 #dialog:has(#new-style) .upload-box:not(:has(+.product-variant-action)){border-bottom:1px solid #e2e7ee;border-radius:8px;margin-bottom:8px}
 #dialog:has(#new-style) .field{display:block;font-size:13px;font-weight:400;line-height:18px;margin:0 0 6px;min-width:0}
 #dialog:has(#new-style) .field>input,#dialog:has(#new-style) .field>select{display:block;width:100%;margin:2px 0 0}
 #dialog:has(#new-style) .field small{display:block;font-size:11px;font-weight:400;line-height:15px;color:#7a8797;margin:2px 0 0}
 #dialog:has(#new-style) .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:6px 10px;margin:0 0 6px}
 #dialog:has(#new-style) .form-grid>.field{margin:0}
 #dialog:has(#new-style) .product-field-error:empty{display:none}
 #dialog:has(#new-style) .field small.product-field-error:not(:empty){color:var(--red,#b4232c)}
 #dialog:has(#new-style) .modal-footer{padding:10px 18px;flex:none}
 @layer nzip-components{
  #dialog:has(#new-style) .field :is(input,select){height:38px!important;min-height:38px!important;max-height:38px!important;padding:7px 8px!important;font-size:14px!important;font-weight:400!important;line-height:22px!important}
  #dialog:has(#new-style) .product-add-variant{height:28px!important;min-height:28px!important;font-size:13px!important;font-weight:400!important;padding:3px 8px!important}
  #dialog:has(#new-style) .upload-remove-row>button{height:24px!important;min-height:24px!important;padding:1px 0!important;font-size:12px!important;line-height:20px!important}
  #dialog:has(#new-style) .modal-footer button{height:36px!important;min-height:36px!important;padding:6px 12px!important;font-size:13px!important}
 }
}
/* Give the image-removal action an explicit secondary-button appearance. */
#dialog:has(#new-style) .upload-remove-row>button{display:inline-flex;align-items:center;justify-content:center;background:#f2f4f7;color:#526277;border:1px solid #ccd5df;border-radius:5px;font-weight:400;white-space:nowrap;cursor:pointer}
#dialog:has(#new-style) .upload-remove-row>button:hover{background:#e7ecf2;border-color:#aebdcc}
#dialog:has(#new-style) .upload-remove-row>button:focus-visible{outline:2px solid #8eb6e9;outline-offset:1px}
@layer nzip-components{
 #dialog:has(#new-style) .upload-remove-row>button{height:26px!important;min-height:26px!important;padding:2px 8px!important;font-size:12px!important;line-height:20px!important}
}
/* Image removal uses the shared danger color on desktop and mobile. */
#dialog:has(#new-style) .upload-remove-row>button{background:#fff3f3;color:#b4232c;border-color:#e6b7bc}
#dialog:has(#new-style) .upload-remove-row>button:hover{background:#fde5e7;color:#98202a;border-color:#d8949d}
#dialog:has(#new-style) .upload-remove-row>button:active{background:#f9d6db}
/* Printer list and editor stack in one column on every screen size. */
#main .printer-page .printer-layout{grid-template-columns:minmax(0,1fr)}
/* Desktop quick-add uses the same compact operation-panel structure. */
@media(min-width:651px){
 #dialog[open]:has(#variant-quantity){display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 32px)}
 #dialog:has(#variant-quantity) .modal-head{padding:12px 18px;min-height:0;flex:none;gap:8px}
 #dialog:has(#variant-quantity) #dialog-title{font-size:18px;font-weight:600;line-height:24px;margin:0;overflow-wrap:anywhere}
 #dialog:has(#variant-quantity) #dialog-body{padding:8px 18px 10px;overflow-y:auto;min-height:0;flex:1 1 auto}
 #dialog:has(#variant-quantity) #dialog-body>.secondary:first-of-type{font-size:12px;line-height:18px;margin-bottom:3px!important}
 #dialog:has(#variant-quantity) .variant-photo{height:100px;width:100%;object-fit:contain;margin-bottom:6px}
 #dialog:has(#variant-quantity) .variant-price{font-size:24px;font-weight:600;line-height:32px;margin:0 0 10px}
 #dialog:has(#variant-quantity) .choice-label{font-size:13px;font-weight:400;line-height:18px;margin:0 0 4px}
 #dialog:has(#variant-quantity) .choices{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
 #dialog:has(#variant-quantity) .modal-message{padding:9px 11px;margin:0 0 10px;font-size:12px;line-height:18px}
 #dialog:has(#variant-quantity) .modal-message>div{margin:3px 0 0;font-size:12px;line-height:18px;overflow-wrap:anywhere}
 #dialog:has(#variant-quantity) .stock-status{font-size:12px;font-weight:500;line-height:18px;margin:0}
 #dialog:has(#variant-quantity) .sample-instruction{font-size:12px;line-height:18px;margin:4px 0}
 #dialog:has(#variant-quantity) .variant-quantity-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:0 0 8px}
 #dialog:has(#variant-quantity) .variant-quantity-row .choice-label{margin:0}
 #dialog:has(#variant-quantity) .qty{display:flex;align-items:center;width:auto;gap:0}
 #dialog:has(#variant-quantity) .qty output{width:34px;font-size:14px;line-height:34px;text-align:center}
 #dialog:has(#variant-quantity) .stock-sound{display:flex;align-items:center;gap:5px;margin:0;font-size:12px;font-weight:400;line-height:20px}
 #dialog:has(#variant-quantity) .stock-sound input{width:15px;height:15px;margin:0}
 #dialog:has(#variant-quantity) :is(#variant-quantity-message,#stock-audio-status):empty{display:none}
 #dialog:has(#variant-quantity) :is(#variant-quantity-message,#stock-audio-status):not(:empty){font-size:12px;line-height:18px;margin:4px 0}
 #dialog:has(#variant-quantity) .modal-footer{padding:10px 18px;flex:none;gap:8px}
 @layer nzip-components{
  #dialog:has(#variant-quantity) .close{width:30px!important;height:30px!important;min-height:30px!important;padding:0!important}
  #dialog:has(#variant-quantity) .choice{height:32px!important;min-height:32px!important;padding:4px 12px!important;font-size:13px!important;line-height:22px!important}
  #dialog:has(#variant-quantity) .qty button{height:34px!important;min-height:34px!important;width:34px!important;padding:0!important}
  #dialog:has(#variant-quantity) .modal-footer button{height:36px!important;min-height:36px!important;padding:6px 12px!important;font-size:13px!important}
 }
}
/* Explicit text colors prevent iOS default blue text on quick-add controls. */
@media(max-width:650px){
 #dialog:has(#variant-quantity) :is(.choice,.choice.selected,.qty button,.qty output){color:#344054;-webkit-text-fill-color:#344054}
 #dialog:has(#variant-quantity) .qty button:disabled{color:#a8b0bb;-webkit-text-fill-color:#a8b0bb}
 #dialog:has(#variant-quantity) .modal-footer .neutral{color:#526277;-webkit-text-fill-color:#526277}
 #dialog:has(#variant-quantity) .modal-footer .primary{color:#fff;-webkit-text-fill-color:#fff}
}
/* Match desktop quick-add text colors to mobile. */
@media(min-width:651px){
 #dialog:has(#variant-quantity) :is(.choice,.choice.selected,.qty button,.qty output){color:#344054;-webkit-text-fill-color:#344054}
 #dialog:has(#variant-quantity) .qty button:disabled{color:#a8b0bb;-webkit-text-fill-color:#a8b0bb}
 #dialog:has(#variant-quantity) .modal-footer .neutral{color:#526277;-webkit-text-fill-color:#526277}
 #dialog:has(#variant-quantity) .modal-footer .primary{color:#fff;-webkit-text-fill-color:#fff}
}
/* Preparation work panel: compact summary plus independently scrolling tasks. */
#dialog[data-sheet=preparation] .modal-head{padding:10px 16px}
#dialog[data-sheet=preparation] #dialog-title{font-size:18px;line-height:24px;margin:0}
#dialog[data-sheet=preparation] #dialog-body{padding:0 16px 10px}
#dialog[data-sheet=preparation] #dialog-error:empty{display:none}
#dialog[data-sheet=preparation] .prep-summary{padding:6px 0 8px;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
#dialog[data-sheet=preparation] .prep-heading{gap:5px;min-width:0}
#dialog[data-sheet=preparation] .prep-heading>strong{font-size:16px;font-weight:600}
#dialog[data-sheet=preparation] .prep-customer{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
#dialog[data-sheet=preparation] .prep-summary-line{margin:0;gap:6px 10px;font-size:12px;line-height:18px}
#dialog[data-sheet=preparation] .prep-summary-line strong{font-size:13px;font-weight:600}
#dialog[data-sheet=preparation] .prep-more{flex-basis:100%;margin:0;font-size:11px;line-height:16px}
#dialog[data-sheet=preparation] .prep-more summary{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid #dce3eb;border-radius:5px;background:#f7f9fb;color:#526277;list-style:none;cursor:pointer}
#dialog[data-sheet=preparation] .prep-more summary::-webkit-details-marker{display:none}
#dialog[data-sheet=preparation] .prep-more[open] .prep-disclosure-arrow{transform:rotate(180deg)}
#dialog[data-sheet=preparation] .prep-more p,#dialog[data-sheet=preparation] .prep-more .prep-note{font-size:11px;line-height:16px;margin:4px 0;color:var(--muted)}
#dialog[data-sheet=preparation] .prep-product{grid-template-columns:38px minmax(0,1fr) auto;gap:10px;padding:8px 0;min-height:0;align-items:center}
#dialog[data-sheet=preparation] .prep-photo{width:38px;height:42px;object-fit:contain;border-radius:5px}
#dialog[data-sheet=preparation] .prep-item-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:4px 12px;align-items:center}
#dialog[data-sheet=preparation] .prep-item-main{gap:3px 8px;font-size:13px}
#dialog[data-sheet=preparation] .prep-item-main strong{font-weight:600}
#dialog[data-sheet=preparation] .prep-item-main .prep-variant{font-size:12px;font-weight:400}
#dialog[data-sheet=preparation] .prep-codes{margin:0;font-size:11px;line-height:16px;color:#778493}
#dialog[data-sheet=preparation] .sample-instruction{grid-column:1/-1;font-size:11px;line-height:16px;margin:2px 0}
#dialog[data-sheet=preparation] .prep-task-actions{display:flex;align-items:center;gap:10px}
#dialog[data-sheet=preparation] .prep-task-actions .prep-qty{font-size:15px;font-weight:600}
#dialog[data-sheet=preparation] .prep-check{width:auto;min-height:34px;padding:5px 8px;gap:5px;font-size:12px;white-space:nowrap}
#dialog[data-sheet=preparation] .prep-complete{background:#f8fafb}
#dialog[data-sheet=preparation] .prep-complete .prep-item-info{opacity:.66}
@layer nzip-components{#dialog[data-sheet=preparation] .prep-more summary{min-height:26px!important}}
@media(max-width:700px){
 #dialog[data-sheet=preparation] .modal-head{padding:10px 12px}
 #dialog[data-sheet=preparation] #dialog-body{padding:0 10px 8px}
 #dialog[data-sheet=preparation] .prep-summary{display:flex;flex-direction:column;align-items:stretch;gap:5px}
 #dialog[data-sheet=preparation] .prep-summary-line{gap:4px 7px;font-size:11px;flex-wrap:wrap}
 #dialog[data-sheet=preparation] .prep-summary-line strong{font-size:12px}
 #dialog[data-sheet=preparation] .prep-product{grid-template-columns:32px minmax(0,1fr) 76px;gap:7px;padding:7px 0}
 #dialog[data-sheet=preparation] .prep-photo{width:32px;height:38px}
 #dialog[data-sheet=preparation] .prep-item-info{display:block;min-width:0}
 #dialog[data-sheet=preparation] .prep-item-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
 #dialog[data-sheet=preparation] .prep-item-main strong{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
 #dialog[data-sheet=preparation] .prep-codes{font-size:10px;line-height:14px;margin-top:2px}
 #dialog[data-sheet=preparation] .prep-task-actions{flex-direction:column;align-items:center;gap:4px}
 #dialog[data-sheet=preparation] .prep-check{width:76px;padding:5px 4px;font-size:11px}
}
/* Mobile logs deliberately use two rows instead of squeezing four controls together. */
@media(max-width:950px){
 #dialog[data-sheet=audit-simple] .modal-head{padding:10px 12px}
 #dialog[data-sheet=audit-simple] #dialog-body{padding:10px 12px}
 #dialog[data-sheet=audit-simple] .modal-footer{padding:8px 12px}
 #dialog[data-sheet=audit-simple] .audit-simple-filters{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:6px;margin-bottom:8px}
 #dialog[data-sheet=audit-simple] #audit-search{grid-column:1;grid-row:1;width:100%;min-width:0;background-size:16px 16px;background-position:8px center}
 #dialog[data-sheet=audit-simple] .audit-simple-filters>label{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);width:100%;gap:5px;font-size:12px}
 #dialog[data-sheet=audit-simple] .audit-date-word:first-child{display:none}
 #dialog[data-sheet=audit-simple] .audit-date-word:nth-child(3){display:block;text-align:center;font-size:12px}
 #dialog[data-sheet=audit-simple] .audit-simple-filters input[type=date]{width:100%;max-width:none;min-width:0;flex:auto;color-scheme:light}
 #dialog[data-sheet=audit-simple] .audit-simple-filters input[type=date]::-webkit-calendar-picker-indicator{display:block;width:12px;height:12px;margin:0}
 #dialog[data-sheet=audit-simple] #audit-more>summary{grid-column:2;grid-row:1;width:88px;box-sizing:border-box;justify-content:center;border:1px solid #c9d9ed;background:#f0f5fc;border-radius:6px;gap:3px;color:#526277}
 #dialog[data-sheet=audit-simple] #audit-more>div{grid-column:1/-1;grid-row:3;margin:0;padding:0;gap:6px}
 #dialog[data-sheet=audit-simple] .audit-simple-table{table-layout:fixed;width:100%}
 #dialog[data-sheet=audit-simple] .audit-simple-table th:first-child,#dialog[data-sheet=audit-simple] .audit-simple-table td:first-child{width:62px;white-space:normal}
 #dialog[data-sheet=audit-simple] .audit-simple-table th:nth-child(2),#dialog[data-sheet=audit-simple] .audit-simple-table td:nth-child(2){width:56px}
 #dialog[data-sheet=audit-simple] .audit-simple-table th:last-child,#dialog[data-sheet=audit-simple] .audit-simple-table td:last-child{width:auto;white-space:normal}
 #dialog[data-sheet=audit-simple] .audit-simple-table :is(td,th){font-size:11px;padding:7px 4px;overflow-wrap:anywhere}
 #dialog[data-sheet=audit-simple] #audit-empty{font-size:12px;line-height:18px;text-align:center;margin:10px 0}
 #dialog[data-sheet=audit-simple] #audit-empty small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
 #dialog[data-sheet=audit-simple] .close{background:#f2f4f6;color:#77818e}
 @layer nzip-components{
  #dialog[data-sheet=audit-simple] .audit-simple-filters :is(#audit-search,#audit-from,#audit-until),#dialog[data-sheet=audit-simple] #audit-more>summary{height:40px!important;min-height:40px!important;max-height:40px!important;font-size:12px!important;line-height:20px!important;padding:4px!important}
  #dialog[data-sheet=audit-simple] .audit-simple-filters #audit-search{padding-left:31px!important}
 }
}
/* Internal Korean names never replace customer-facing product names. */
.korean-name{display:block;min-width:0;max-width:100%;font-size:12px;font-weight:400;line-height:17px;color:#778493;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-text-fill-color:#778493}
.inventory-table td:nth-child(2){max-width:240px}
.korean-full{white-space:normal;overflow-wrap:anywhere;margin:0 0 5px}
#dialog[data-sheet=preparation] .prep-item-main{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:2px}
#dialog[data-sheet=preparation] .prep-korean{font-size:12px;color:#526277;-webkit-text-fill-color:#526277;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;line-height:16px;max-height:32px}
@media(max-width:950px){
 #main .inventory-card-head h3{display:block;height:55px;min-height:55px;overflow:hidden;-webkit-line-clamp:unset;line-clamp:unset}
 #main .inventory-card-head .inventory-cn-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;height:38px;line-height:19px;overflow:hidden}
 #main .inventory-card-head .korean-name{height:17px;font-size:11px;font-weight:400;line-height:17px}
}
/* Mobile preparation grows with content; only a full list may shrink and scroll. */
@media(max-width:700px){
 #dialog[data-sheet=preparation][open]{height:fit-content;min-height:0;max-height:94dvh;justify-content:flex-start}
 #dialog[data-sheet=preparation] .modal-head{padding:8px 12px}
 #dialog[data-sheet=preparation] #dialog-body{height:auto;min-height:0;flex:0 1 auto;justify-content:flex-start;padding:0 10px 8px}
 #dialog[data-sheet=preparation] .preparation-sheet{height:auto;min-height:0;flex:0 1 auto;justify-content:flex-start;gap:0}
 #dialog[data-sheet=preparation] .prep-summary{height:auto;min-height:0;flex:0 0 auto;justify-content:flex-start;padding:4px 0 12px;margin:0;gap:3px}
 #dialog[data-sheet=preparation] .prep-heading{order:0}
 #dialog[data-sheet=preparation] .prep-more{order:1;flex:0 0 auto;height:auto;min-height:0;margin:0}
 #dialog[data-sheet=preparation] .prep-summary-line{order:2;flex:0 0 auto;margin:0}
 #dialog[data-sheet=preparation] .prep-products{height:auto;min-height:0;flex:0 1 auto;margin:0;padding:0;overflow-y:auto}
 #dialog[data-sheet=preparation] .prep-product{height:auto;min-height:0;padding:4px 0;align-items:center}
 #dialog[data-sheet=preparation] .prep-product:last-child{border-bottom:0}
 #dialog[data-sheet=preparation] .prep-photo{height:32px;min-height:0;align-self:center}
 #dialog[data-sheet=preparation] .prep-item-main{gap:1px;line-height:17px}
 #dialog[data-sheet=preparation] .prep-codes{margin-top:1px;line-height:13px}
 #dialog[data-sheet=preparation] .prep-task-actions{height:auto;min-height:0;gap:2px;align-self:center;justify-content:center}
 #dialog[data-sheet=preparation] :is(#dialog-footer,#dialog-error):empty{display:none;margin:0;padding:0;min-height:0;height:0}
}
/* Preparation uses the SKU's Korean name; Chinese is an inline optional aid. */
#dialog[data-sheet=preparation] .prep-title-row{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:4px;width:100%;min-width:0}
#dialog[data-sheet=preparation] .prep-primary-name{font-size:13px;font-weight:600;line-height:18px;color:var(--ink);-webkit-text-fill-color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#dialog[data-sheet=preparation] .prep-chinese-name{font-size:12px;font-weight:400;line-height:16px;color:#778493;-webkit-text-fill-color:#778493;overflow-wrap:anywhere;max-width:100%;margin:0}
#dialog[data-sheet=preparation] .prep-chinese-name[hidden]{display:none}
@layer nzip-components{
 #dialog[data-sheet=preparation] .prep-name-toggle{height:24px!important;min-height:24px!important;width:24px!important;padding:0!important;margin:0!important;line-height:24px!important;font-size:12px!important;font-weight:400!important;color:#778493!important;-webkit-text-fill-color:#778493!important;background:transparent!important;border:0!important;border-radius:4px;cursor:pointer}
 #dialog[data-sheet=preparation] .prep-name-toggle:hover{background:#edf0f3!important}
 #dialog[data-sheet=preparation] .prep-name-toggle:focus-visible{outline:2px solid #75a9ec;outline-offset:1px}
}
/* Mobile picking prioritizes customer, readiness, variant and usable stock. */
#dialog[data-sheet=preparation] .prep-mobile-only{display:none}
@media(max-width:700px){
 #dialog[data-sheet=preparation] .prep-heading>strong,#dialog[data-sheet=preparation] .prep-customer-dot{display:none}
 #dialog[data-sheet=preparation] .prep-mobile-only{display:inline}
 #dialog[data-sheet=preparation] .prep-more p.prep-mobile-only{display:block}
 #dialog[data-sheet=preparation] .prep-heading{justify-content:space-between;gap:6px}
 #dialog[data-sheet=preparation] .prep-customer{font-size:16px;line-height:22px;font-weight:600;color:var(--ink);-webkit-text-fill-color:var(--ink)}
 #dialog[data-sheet=preparation] .prep-badge{font-size:13px;font-weight:600}
 #dialog[data-sheet=preparation] .prep-summary-line strong{font-size:13px;font-weight:600;color:var(--ink)}
 #dialog[data-sheet=preparation] .prep-item-main .prep-variant{order:0;font-size:14px;line-height:20px;font-weight:600;color:var(--ink)}
 #dialog[data-sheet=preparation] .prep-item-main .prep-stock{order:1;display:block;font-size:12px;line-height:18px;color:#45505f;font-weight:500}
 #dialog[data-sheet=preparation] .prep-item-main .prep-stock-warning{color:#986322}
 #dialog[data-sheet=preparation] .prep-title-row{order:2;gap:3px}
 #dialog[data-sheet=preparation] .prep-title-row .prep-primary-name{font-size:12px;line-height:17px;font-weight:400;color:#778493;-webkit-text-fill-color:#778493}
 #dialog[data-sheet=preparation] .prep-chinese-name{order:3;font-size:11px;line-height:15px}
 #dialog[data-sheet=preparation] .prep-codes{color:#8a94a1;margin-top:1px}
 #dialog[data-sheet=preparation] .prep-task-actions{align-self:start;padding-top:1px}
 #dialog[data-sheet=preparation] .prep-photo{align-self:start;margin-top:3px}
}
/* Keep identifiers available for checking without occupying mobile picking rows. */
#dialog[data-sheet=preparation] .prep-mobile-codes{display:none}
@media(max-width:700px){
 #dialog[data-sheet=preparation] .prep-item-info>.prep-codes{display:none}
 #dialog[data-sheet=preparation] .prep-mobile-codes{display:block}
 #dialog[data-sheet=preparation] .prep-mobile-codes p{overflow-wrap:anywhere;margin:3px 0}
}
/* Desktop shares picking priorities; wider rows do not reintroduce identifiers. */
@media(min-width:701px){
 #dialog[data-sheet=preparation] .prep-heading>strong,#dialog[data-sheet=preparation] .prep-customer-dot,#dialog[data-sheet=preparation] .prep-item-info>.prep-codes{display:none}
 #dialog[data-sheet=preparation] .prep-mobile-only{display:inline}
 #dialog[data-sheet=preparation] .prep-more p.prep-mobile-only,#dialog[data-sheet=preparation] .prep-mobile-codes{display:block}
 #dialog[data-sheet=preparation] .prep-summary{display:flex;flex-direction:column;align-items:stretch;gap:4px}
 #dialog[data-sheet=preparation] .prep-heading{order:0;justify-content:space-between;gap:8px}
 #dialog[data-sheet=preparation] .prep-customer{font-size:16px;font-weight:600;line-height:22px;color:var(--ink);-webkit-text-fill-color:var(--ink)}
 #dialog[data-sheet=preparation] .prep-badge{font-size:13px;font-weight:600}
 #dialog[data-sheet=preparation] .prep-more{order:1;flex:0 0 auto}
 #dialog[data-sheet=preparation] .prep-summary-line{order:2;margin:0}
 #dialog[data-sheet=preparation] .prep-item-info{display:block;min-width:0}
 #dialog[data-sheet=preparation] .prep-item-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1fr);gap:3px 12px;align-items:center}
 #dialog[data-sheet=preparation] .prep-item-main .prep-variant{grid-row:1;grid-column:1;font-size:14px;font-weight:600;line-height:24px;color:var(--ink)}
 #dialog[data-sheet=preparation] .prep-item-main .prep-stock{display:block;grid-row:1;grid-column:2;font-size:13px;font-weight:500;line-height:24px;color:#45505f}
 #dialog[data-sheet=preparation] .prep-item-main .prep-stock-warning{color:#986322}
 #dialog[data-sheet=preparation] .prep-title-row{grid-row:2;grid-column:1/-1;width:100%;max-width:440px}
 #dialog[data-sheet=preparation] .prep-title-row .prep-primary-name{font-size:12px;font-weight:400;line-height:17px;color:#778493;-webkit-text-fill-color:#778493}
 #dialog[data-sheet=preparation] .prep-chinese-name{grid-row:3;grid-column:1/-1}
 #dialog[data-sheet=preparation] .prep-task-actions{align-self:start;gap:16px}
 #dialog[data-sheet=preparation] .prep-photo{align-self:start}
 #dialog[data-sheet=preparation] .prep-mobile-codes p{overflow-wrap:anywhere;margin:3px 0}
}
/* Shared explicit disclosure: no menu semantics and no empty Korean-name placeholder. */
#dialog[data-sheet=preparation] .prep-heading{justify-content:flex-start;gap:6px}
#dialog[data-sheet=preparation] .prep-heading .prep-badge{flex:none;margin:0}
#dialog[data-sheet=preparation] .prep-title-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}
#dialog[data-sheet=preparation] .prep-title-row .prep-primary-name{order:0;display:block;max-width:100%;font-size:12px;font-weight:400;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#778493;-webkit-text-fill-color:#778493}
#dialog[data-sheet=preparation] .prep-title-row .prep-chinese-name{order:1;margin:0;font-size:12px;line-height:16px;font-weight:400;color:#778493}
#dialog[data-sheet=preparation] .prep-title-row .prep-name-toggle{order:2;align-self:flex-start}
#dialog[data-sheet=preparation] .prep-summary-line>span:before{content:'·';margin-right:5px;color:#8a94a1}
@layer nzip-components{
 #dialog[data-sheet=preparation] .prep-title-row .prep-name-toggle{width:auto!important;min-width:0!important;height:24px!important;min-height:24px!important;padding:0 3px!important;text-align:left;font-size:12px!important;line-height:24px!important;white-space:nowrap}
}
/* One execution row, identical field order across viewport sizes. */
#dialog[data-sheet=preparation] .prep-products{overflow:auto}
#dialog[data-sheet=preparation] .prep-execution-row{display:grid;grid-template-columns:52px minmax(100px,1fr) 64px minmax(70px,max-content) max-content 32px 80px;gap:6px;align-items:start;min-width:560px;padding:6px 0;min-height:0}
#dialog[data-sheet=preparation] .prep-execution-row>:is(.prep-photo-button,.prep-korean-toggle,.prep-korean-empty,.prep-name-toggle,.prep-variant,.prep-stock,.prep-qty,.prep-check){grid-row:1;order:0;align-self:start;margin:0}
#dialog[data-sheet=preparation] .prep-execution-row>.prep-variant{font-size:13px;font-weight:600;line-height:32px;white-space:nowrap}
#dialog[data-sheet=preparation] .prep-execution-row>.prep-stock{display:block;font-size:12px;line-height:32px;white-space:nowrap;color:#45505f}
#dialog[data-sheet=preparation] .prep-execution-row>.prep-stock-warning{color:#986322}
#dialog[data-sheet=preparation] .prep-execution-row>.prep-qty{font-size:14px;line-height:32px}
#dialog[data-sheet=preparation] .prep-execution-row>.prep-check{grid-column:7;width:80px;min-height:32px;padding:4px;font-size:12px}
#dialog[data-sheet=preparation] .prep-execution-row>.prep-chinese-name{grid-column:2/-1;grid-row:2;order:0;white-space:normal;overflow-wrap:anywhere;font-size:12px;font-weight:400;line-height:17px;margin:0}
#dialog[data-sheet=preparation] .prep-execution-row>.sample-instruction{grid-column:2/-1;font-size:11px;margin:0}
#dialog[data-sheet=preparation] .prep-execution-row .prep-photo{width:52px;height:52px;min-height:0;margin:0;object-fit:contain}
@layer nzip-components{
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-photo-button{width:52px!important;height:52px!important;min-height:52px!important;padding:0!important;border:0!important;background:#f6f7f9!important;border-radius:5px;overflow:hidden;opacity:1}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-korean-toggle{display:block;width:100%!important;min-width:0;min-height:32px!important;height:auto!important;padding:6px 0!important;border:0!important;background:transparent!important;color:#526277!important;-webkit-text-fill-color:#526277!important;font-size:12px!important;line-height:20px!important;font-weight:400!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;opacity:1}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-korean-toggle[aria-expanded=true]{white-space:normal;overflow-wrap:anywhere}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-korean-toggle:disabled{cursor:default}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-name-toggle{width:64px!important;height:32px!important;min-height:32px!important;padding:0!important;font-size:11px!important;line-height:32px!important;white-space:nowrap}
}
.prep-photo-preview{width:min(800px,94vw);max-height:90dvh;padding:12px;border:0;border-radius:12px;overflow:auto}
.prep-photo-preview::backdrop{background:#10182899}
.prep-photo-preview img{display:block;max-width:100%;max-height:75dvh;object-fit:contain;margin:8px auto}
@media(max-width:700px){#dialog[data-sheet=preparation] .prep-execution-row{grid-template-columns:48px minmax(90px,1fr) 58px 64px max-content 28px 76px;gap:4px;min-width:530px}#dialog[data-sheet=preparation] .prep-execution-row .prep-photo{width:48px;height:48px}}
/* A single compact summary strip on both desktop and mobile. */
#dialog[data-sheet=preparation] .prep-compact-summary{display:block;padding:5px 0 7px;margin:0;min-width:0}
#dialog[data-sheet=preparation] .prep-summary-strip{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:6px;overflow-x:auto;white-space:nowrap;max-width:100%;min-width:0;padding:0 0 2px}
#dialog[data-sheet=preparation] .prep-summary-strip>*{flex:none;margin:0}
#dialog[data-sheet=preparation] .prep-summary-strip .prep-customer{font-size:14px;line-height:26px;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis}
#dialog[data-sheet=preparation] .prep-summary-strip .prep-badge{font-size:12px;padding:2px 6px;line-height:18px}
#dialog[data-sheet=preparation] .prep-summary-value{font-size:12px;line-height:24px;color:#667085}
#dialog[data-sheet=preparation] .prep-summary-value:before{content:'·';margin-right:6px;color:#98a2b3}
#dialog[data-sheet=preparation] #prep-summary-details{margin:5px 0 0;max-height:120px;overflow:auto;white-space:normal}
#dialog[data-sheet=preparation] #prep-summary-details[hidden]{display:none}
@layer nzip-components{
 #dialog[data-sheet=preparation] .prep-summary-more{width:auto!important;height:26px!important;min-height:26px!important;padding:0 5px!important;font-size:12px!important;line-height:24px!important;color:#526277!important;background:#f7f9fb!important;border:1px solid #dce3eb!important;border-radius:5px;white-space:nowrap}
}
@media(max-width:700px){#dialog[data-sheet=preparation] .prep-summary-strip{gap:4px}#dialog[data-sheet=preparation] .prep-summary-strip .prep-customer{font-size:13px;max-width:110px}#dialog[data-sheet=preparation] .prep-summary-strip .prep-badge{font-size:11px;padding:2px 4px}#dialog[data-sheet=preparation] .prep-summary-value{font-size:11px}#dialog[data-sheet=preparation] .prep-summary-value:before{margin-right:4px}}
.prep-stock-mobile{display:none}
@media(max-width:700px){
 #dialog[data-sheet=preparation] .prep-products{overflow-x:hidden;min-width:0;max-width:100%}
 #dialog[data-sheet=preparation] .prep-execution-row{grid-template-columns:56px minmax(0,1fr) 72px;grid-template-rows:28px auto;min-width:0;width:100%;max-width:100%;column-gap:5px;row-gap:0;padding:6px 0;position:relative}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-photo-button{grid-column:1;grid-row:1/3}
 #dialog[data-sheet=preparation] .prep-execution-row>:is(.prep-korean-toggle,.prep-korean-empty){grid-column:2;grid-row:1;min-width:0}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-qty{grid-column:3;grid-row:1;text-align:center;line-height:28px;width:72px}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-check{grid-column:3;grid-row:2;width:72px;align-self:start}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-variant{grid-column:2;grid-row:2;font-size:11px;line-height:16px;white-space:normal;overflow-wrap:anywhere;padding-right:0}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-stock{grid-column:2;grid-row:3;font-size:11px;line-height:16px;white-space:normal;overflow-wrap:anywhere}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-name-toggle{grid-column:2;grid-row:4;justify-self:start}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-chinese-name{grid-column:2;grid-row:5;min-width:0;font-size:12px}
 #dialog[data-sheet=preparation] .prep-execution-row>.sample-instruction{grid-column:2;grid-row:6}
 #dialog[data-sheet=preparation] .prep-stock-desktop{display:none}
 #dialog[data-sheet=preparation] .prep-stock-mobile{display:inline}
 #dialog[data-sheet=preparation] .prep-execution-row .prep-photo{width:56px;height:56px;margin:0}
 #dialog[data-sheet=preparation] .prep-execution-row:has(.prep-korean-toggle[aria-expanded=true]){grid-template-rows:auto auto}
 @layer nzip-components{
  #dialog[data-sheet=preparation] .prep-execution-row>.prep-photo-button{width:56px!important;height:56px!important;min-height:56px!important}
  #dialog[data-sheet=preparation] .prep-execution-row>.prep-korean-toggle{min-height:28px!important;padding:3px 0!important}
  #dialog[data-sheet=preparation] .prep-execution-row>.prep-name-toggle{height:24px!important;min-height:24px!important;line-height:24px!important;width:auto!important}
 }
}
#dialog[data-sheet=preparation] .prep-inline-meta{display:contents}
/* Keep desktop children in their existing explicit columns despite the neutral wrapper. */
@media(min-width:701px){
 #dialog[data-sheet=preparation] .prep-inline-meta>.prep-name-toggle{grid-row:1;grid-column:3}
 #dialog[data-sheet=preparation] .prep-inline-meta>.prep-variant{grid-row:1;grid-column:4;font-size:13px;font-weight:600;line-height:32px;white-space:nowrap}
 #dialog[data-sheet=preparation] .prep-inline-meta>.prep-stock{grid-row:1;grid-column:5;display:block;font-size:12px;line-height:32px;white-space:nowrap}
}
@media(max-width:700px){
 #dialog[data-sheet=preparation] .prep-execution-row{grid-template-rows:minmax(28px,auto) auto;min-height:68px}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-inline-meta{display:flex;flex-wrap:wrap;grid-column:2;grid-row:2;align-items:center;gap:0 4px;min-width:0;align-self:start}
 #dialog[data-sheet=preparation] .prep-inline-meta>.prep-variant{order:0;font-size:11px;line-height:18px;font-weight:600;overflow-wrap:anywhere;min-width:0}
 #dialog[data-sheet=preparation] .prep-inline-meta>.prep-stock{order:1;display:inline;font-size:11px;line-height:18px;white-space:normal}
 #dialog[data-sheet=preparation] .prep-inline-meta>.prep-name-toggle{order:2}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-check{position:absolute;right:0;top:34px;margin:0}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-qty{position:absolute;right:0;top:6px;margin:0}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-chinese-name{grid-row:3}
 #dialog[data-sheet=preparation] .prep-execution-row>.sample-instruction{grid-row:4}
 @layer nzip-components{#dialog[data-sheet=preparation] .prep-inline-meta>.prep-name-toggle{height:24px!important;min-height:24px!important;line-height:24px!important;width:auto!important;font-size:11px!important}}
}
@media(min-width:701px){@layer nzip-components{#dialog[data-sheet=preparation] .prep-inline-meta>.prep-name-toggle{width:64px!important;height:32px!important;min-height:32px!important;padding:0!important;font-size:11px!important;line-height:32px!important;white-space:nowrap}}}
/* Absolute mobile actions must not inherit grid-row offsets. */
@media(max-width:700px){
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-qty{grid-area:auto;top:6px;right:0;height:28px;line-height:28px}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-check{grid-area:auto;top:34px;right:0;height:28px;min-height:28px;padding:2px 4px;box-sizing:border-box;align-items:center}
 #dialog[data-sheet=preparation] .prep-execution-row>.prep-inline-meta{min-height:28px;align-items:center}
 @layer nzip-components{
  #dialog[data-sheet=preparation] .prep-execution-row>.prep-korean-toggle{height:auto!important;min-height:28px!important;line-height:20px!important;padding:4px 0!important;box-sizing:border-box}
 }
}
/* Keep mobile picking actions and their focus ring clear of the clipped list edge. */
@media(max-width:700px){
 #dialog[data-sheet=preparation] .prep-execution-row{grid-template-columns:56px minmax(0,1fr) 80px}
 #dialog[data-sheet=preparation] .prep-execution-row>:is(.prep-check,.prep-qty){right:8px}
}
