/* Every catalog rule requires the server-authorized Distributor phone marker.
   Dialogs use their own class because Radix portals are outside the POS root. */
.pos-phone-cashier[data-distributor-phone] .pos-category-tabs { display:flex; gap:6px; padding:2px 0; }
.pos-phone-cashier[data-distributor-phone] .pos-category-tabs button { min-height:34px; flex-shrink:0; }
.pos-phone-cashier[data-distributor-phone] .pos-product-grid { grid-template-columns:minmax(0,1fr); grid-auto-rows:var(--phone-card-height,80px); gap:6px; }
.pos-phone-cashier[data-distributor-phone] .distributor-customer { padding:0; flex-shrink:0; }
.pos-phone-cashier[data-distributor-phone] .distributor-product { display:flex; align-items:stretch; gap:8px; min-width:0; height:100%; padding:0 9px 0 12px; border:1px solid var(--masivi-border); border-radius:10px; background:var(--masivi-card-bg); color:var(--masivi-card-text); }
.pos-phone-cashier[data-distributor-phone] .distributor-product[data-active] { border-color:var(--masivi-button); }
.pos-phone-cashier[data-distributor-phone] .distributor-product-info { min-width:0; flex:1; display:flex; flex-direction:column; justify-content:center; text-align:left; touch-action:manipulation; }
.pos-phone-cashier[data-distributor-phone] .distributor-product-info > strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; line-height:20px; }
.pos-phone-cashier[data-distributor-phone] .distributor-product-info > span { display:flex; align-items:center; gap:12px; font-size:13px; line-height:20px; }
.pos-phone-cashier[data-distributor-phone] .distributor-product-info small { font-size:11px; color:var(--masivi-card-muted); }
.pos-phone-cashier[data-distributor-phone] .distributor-product-info > span small { margin-left:auto; }
.pos-phone-cashier[data-distributor-phone] .distributor-add { align-self:center; width:40px; height:40px; display:grid; place-items:center; flex-shrink:0; border-radius:9px; background:var(--masivi-button); color:var(--masivi-on-button); touch-action:manipulation; }
.pos-phone-cashier[data-distributor-phone] .phone-catalog-pagination { font-size:10px; min-height:18px; }
.pos-phone-cashier[data-distributor-phone] .phone-catalog-footer { padding-bottom:6px; }
.pos-phone-cashier[data-distributor-phone] .distributor-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); flex-shrink:0; padding:4px 0 max(4px,env(safe-area-inset-bottom)); border-top:1px solid var(--masivi-border); background:var(--masivi-card-bg); color:var(--masivi-card-text); }
.pos-phone-cashier[data-distributor-phone] .distributor-nav > button,
.pos-phone-cashier[data-distributor-phone] .distributor-drafts { min-width:0; min-height:44px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:2px; font-size:10px; }
.pos-phone-cashier[data-distributor-phone] .distributor-nav [aria-current] { color:var(--masivi-primary-text); font-weight:700; }
.pos-phone-cashier[data-distributor-phone] .distributor-drafts > svg { display:none; }
.pos-phone-cashier[data-distributor-phone] .distributor-drafts > div { width:100%; }
.pos-phone-cashier[data-distributor-phone] .distributor-drafts > div > button { display:flex; flex-direction:column; gap:2px; width:100%; min-height:44px; height:auto; padding:2px; font-size:10px; border:0; }
.distributor-menu, .distributor-price-dialog { color:var(--masivi-card-text); background:var(--masivi-card-bg); border-color:var(--masivi-border); width:calc(100% - 20px); max-width:460px; border-radius:14px; }
.distributor-menu-links { max-height:65dvh; overflow-y:auto; overscroll-behavior:contain; }
.distributor-menu-links h3 { margin:14px 0 4px; font-size:12px; font-weight:700; color:var(--masivi-card-muted); }
.distributor-menu-links a { display:block; padding:10px 4px; border-bottom:1px solid var(--masivi-border); font-size:14px; }
.distributor-price-item { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.distributor-price-item strong { min-width:0; overflow-wrap:anywhere; }
.distributor-price-item small { flex-shrink:0; }
.distributor-price-dialog form { display:grid; gap:9px; }
.distributor-price-dialog label { font-size:13px; font-weight:600; }
.distributor-price-dialog input { height:48px; font-size:20px; background:var(--masivi-soft); }
.distributor-price-actions { display:flex; gap:8px; padding-top:10px; }
.distributor-price-actions button { flex:1; min-height:44px; border:1px solid var(--masivi-border); border-radius:9px; padding:8px; font-size:13px; }
.distributor-price-actions button[type=submit] { background:var(--masivi-button); color:var(--masivi-on-button); }
.distributor-price-actions button:disabled { opacity:.5; }
