/* Optical shared UI v1. Opt-in only: add optical-ui plus semantic ui-* classes.
   Reuses framework theme tokens and controls; no global element overrides. */
.optical-ui{--ui-border:var(--z-border,#d5e1e6);--ui-surface:var(--z-surface,#fff);--ui-ink:var(--z-text,#14363f);--ui-muted:var(--z-text-muted,#526b79);--ui-accent:var(--z-primary,#087f79);color:var(--ui-ink);min-width:0;max-width:100%;box-sizing:border-box}
.optical-ui .ui-page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 16px;padding:0 0 13px;border-bottom:1px solid var(--ui-border)}
.optical-ui .ui-page-head h1{font-size:1.65rem;line-height:1.2;margin:3px 0 5px;color:inherit}.optical-ui .ui-page-head p{font-size:.88rem;margin:0;color:var(--ui-muted)}.optical-ui .ui-eyebrow{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--ui-muted)}.optical-ui .ui-page-head small{display:block;font-size:.75rem;color:var(--ui-muted);margin-top:4px}
.optical-ui :is(.z-btn-primary,.zn-primary,.z-btn-secondary,.zn-secondary){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--od-control,34px);box-sizing:border-box;max-width:100%;border-radius:6px;padding:6px 11px;font:inherit;font-size:var(--od-body,12px);text-decoration:none;line-height:1.35;cursor:pointer;white-space:nowrap}
.optical-ui :is(.z-btn-primary,.zn-primary){background:var(--ui-accent);color:#fff;border:1px solid var(--ui-accent);font-weight:650}.optical-ui :is(.z-btn-secondary,.zn-secondary){background:var(--ui-surface);color:var(--ui-accent);border:1px solid var(--ui-border)}.optical-ui :is(button,input,select,textarea,a):focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.optical-ui :is(button,input,select,textarea):disabled{opacity:.55;cursor:default}.optical-ui [aria-disabled=true]{opacity:.55;pointer-events:none}
.optical-ui .ui-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:10px;padding:12px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);margin-bottom:10px}.optical-ui .ui-field{display:flex;flex-direction:column;gap:5px;font-size:var(--od-body,12px);min-width:0;margin:0}.optical-ui :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-width:0;max-width:100%;width:100%;box-sizing:border-box;background:var(--ui-surface);color:var(--ui-ink);font:inherit;font-size:var(--od-body,12px);border:1px solid var(--ui-border);border-radius:6px;padding:7px 9px;min-height:var(--od-control,35px)}.optical-ui textarea{min-height:70px}.optical-ui .ui-date-range{display:flex;align-items:center;gap:5px;min-width:0}.optical-ui .ui-date-range input{width:50%;padding:6px;min-width:0}
.optical-ui [role=listbox]{border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface);color:var(--ui-ink);box-shadow:0 8px 22px #102e3f20;max-height:240px;overflow-y:auto;z-index:20}.optical-ui [role=option]{font-size:var(--od-body,12px);text-align:left;white-space:normal;overflow-wrap:anywhere}.optical-ui [role=option][aria-selected=true]{background:color-mix(in srgb,var(--ui-accent) 12%,var(--ui-surface))}
.optical-ui .ui-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:10px 0}.optical-ui .ui-toolbar .active{background:var(--ui-accent);color:#fff;border-color:var(--ui-accent)}.optical-ui .ui-toolbar .ui-toolbar-end{margin-left:auto}
.optical-ui .ui-table-region{width:100%;min-width:0;border:1px solid var(--ui-border);border-radius:8px;overflow:hidden;background:var(--ui-surface)}.optical-ui .ui-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;margin:0}.optical-ui .ui-table :is(th,td){padding:10px 9px;text-align:left;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;border-bottom:1px solid var(--ui-border);font-size:var(--od-body,12px);line-height:1.45}.optical-ui .ui-table th{font-size:var(--od-small,11px);letter-spacing:0;background:color-mix(in srgb,var(--ui-accent) 5%,var(--ui-surface));font-weight:650}.optical-ui .ui-table th button{background:none;border:0;color:inherit;padding:0;cursor:pointer;font:inherit;text-align:left;white-space:normal}.optical-ui .ui-table td strong{font-weight:650}.optical-ui .ui-table small{display:block;margin-top:3px;font-size:var(--od-small,11px);color:var(--ui-muted)}.optical-ui .ui-table .ui-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.optical-ui .ui-table .ui-action{text-align:center}.optical-ui .ui-table tr:last-child td{border-bottom:0}.optical-ui .ui-table-region[aria-busy=true] tbody{opacity:.6}.optical-ui .ui-wrap{overflow-wrap:anywhere}.optical-ui .ui-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.optical-ui .ui-badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--od-small,11px);font-weight:650;padding:4px 8px;border-radius:5px;line-height:1.3;white-space:normal}.optical-ui .ui-badge--success{background:color-mix(in srgb,#0ca16b 14%,var(--ui-surface));color:var(--z-success,#08744a)}.optical-ui .ui-badge--warning{background:color-mix(in srgb,#efad27 17%,var(--ui-surface));color:var(--z-warning,#966100)}.optical-ui .ui-badge--danger{background:color-mix(in srgb,#d54252 12%,var(--ui-surface));color:var(--z-danger,#b53040)}.optical-ui .ui-badge--info{background:color-mix(in srgb,#198eff 13%,var(--ui-surface));color:var(--ui-ink)}.optical-ui .ui-badge--neutral{background:color-mix(in srgb,var(--ui-ink) 7%,var(--ui-surface));color:var(--ui-muted)}
.optical-ui .ui-pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0;font-size:var(--od-body,12px)}.optical-ui .ui-pagination>span:first-child{margin-right:auto}.optical-ui .ui-pagination label{display:flex;align-items:center;gap:7px;font-size:var(--od-body,12px)}.optical-ui .ui-pagination select{width:64px;min-height:33px}.optical-ui .ui-empty{padding:22px;text-align:center;color:var(--ui-muted);font-size:13px}.optical-ui .ui-message{border:1px solid var(--ui-border);border-radius:6px;padding:9px 12px;margin:8px 0;font-size:var(--od-body,12px)}.optical-ui .ui-message[role=alert]{color:var(--z-danger,#b53040);background:color-mix(in srgb,#d54252 7%,var(--ui-surface))}.optical-ui [aria-invalid=true]{border-color:var(--z-danger,#b53040)}.optical-ui .ui-loading{display:flex;gap:8px;align-items:center;padding:12px;color:var(--ui-muted);font-size:var(--od-body,12px)}
.optical-ui.ui-modal,.optical-ui .ui-modal{display:flex;flex-direction:column;min-width:0;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);box-shadow:0 18px 55px #102f3e30}.optical-ui .ui-modal-header,.optical-ui .ui-modal-footer{display:flex;align-items:center;gap:10px;flex:none;padding:12px 16px}.optical-ui .ui-modal-header{border-bottom:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-accent) 8%,var(--ui-surface))}.optical-ui .ui-modal-header h2{font-size:1.15rem;margin:0}.optical-ui .ui-modal-body{min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px 16px}.optical-ui .ui-modal-footer{justify-content:flex-end;border-top:1px solid var(--ui-border)}.optical-ui .ui-confirm{width:min(460px,calc(100vw - 24px))}
@media(max-width:1350px){.optical-ui .ui-table :is(th,td){padding:8px 7px}.optical-ui .ui-page-head h1{font-size:1.5rem}}
@media(max-width:750px){.optical-ui .ui-filters{grid-template-columns:1fr 1fr}.optical-ui .ui-page-head{align-items:flex-start}.optical-ui .ui-pagination{gap:5px}.optical-ui .ui-table .ui-secondary{display:none}}
.optical-ui .challan-lookup{width:100%;min-width:0;position:relative}.optical-ui .challan-options{position:absolute;left:0;right:0;top:calc(100% + 3px);display:flex;flex-direction:column;padding:5px;gap:3px}.optical-ui .challan-options button{padding:6px 8px;min-height:30px;border:0;background:var(--ui-surface);color:var(--ui-ink);border-radius:4px}.optical-ui .challan-options button.active{background:color-mix(in srgb,var(--ui-accent) 12%,var(--ui-surface))}.optical-ui .challan-options small{font-size:var(--od-body,12px);padding:7px}

/* Customer identity hints never replace or edit a matching customer automatically. */
.customer-match-list{max-height:min(220px,28vh);overflow:auto;display:grid;gap:6px;overflow-wrap:anywhere}.customer-match-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.customer-match-list>div>span{min-width:0}.customer-match-list button{flex-shrink:0}

.optical-popup-info .customer-distinct-confirm{display:flex;align-items:flex-start;gap:8px;margin-top:8px}.optical-popup-info .customer-distinct-confirm input[type=checkbox]{width:16px;height:16px;min-height:16px;flex:0 0 16px;margin:2px 0 0;padding:0}

