.promotion-field-grid>.promotion-inline-field{grid-template-columns:minmax(0,1fr) minmax(160px,1fr);align-items:center;gap:14px}
/* Only promotion editors use this edge-to-edge drawer. Keep unrelated POS
   payment/confirmation dialogs on their existing responsive layout. */
.modal-backdrop:has(#promotion-form){padding:0;place-items:stretch;overflow:hidden}
.modal.drawer:has(#promotion-form){width:min(850px,100vw)!important;max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;overflow:hidden;border-radius:0}
.modal.drawer:has(#promotion-form)>.modal-head,.modal.drawer:has(#promotion-form)>.modal-foot{flex:0 0 auto}
.modal.drawer:has(#promotion-form)>.modal-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.modal.drawer:has(#promotion-form)>.modal-foot{position:static;padding-bottom:max(14px,env(safe-area-inset-bottom))}
.promotion-field-grid>.promotion-multiply-row{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(160px,1fr);align-items:center;gap:14px}
.promotion-multiply-row>.check-row{display:flex;align-items:center;gap:8px;color:#405969;font-size:10px}
.promotion-multiply-row>.check-row input{width:15px;height:15px;accent-color:#0969b5}
[data-promotion-all-items-choice][hidden],[data-promotion-all-gifts-choice][hidden]{display:none!important}
.promotion-multiply-row[hidden]{display:none}
[data-promotion-edit-gifts]{display:grid;place-items:center;width:36px;height:36px;padding:8px;border:1px solid #d6e7f0;border-radius:7px;background:#f3faff;color:#0969b5;cursor:pointer}
[data-promotion-edit-gifts] svg{width:18px;height:18px}
.promotion-plan-control{min-width:0}
[data-promotion-plan-trigger]{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:40px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#193b53;font:inherit;cursor:pointer;text-align:left}
[data-promotion-plan-trigger]:focus-visible,[data-promotion-plan-trigger][aria-expanded=true]{outline:2px solid #0969b5;outline-offset:2px}
[data-promotion-plan-trigger] [aria-hidden]{font-size:17px;color:#647b8b}
.promotion-plan-menu{position:fixed;z-index:1100;display:grid;overflow:auto;padding:6px;border:1px solid #d6e7f0;border-radius:10px;background:#fff;box-shadow:0 12px 36px #173b5730;font:500 13px var(--font,sans-serif)}
.promotion-plan-menu>[role=option]{display:block;min-height:44px;padding:11px 13px;border:0;border-radius:6px;background:#fff;color:#193b53;font:inherit;text-align:left;cursor:pointer;white-space:normal}
.promotion-plan-menu>[aria-selected=true]{background:#e4f3fd;color:#0969b5;font-weight:800}
.promotion-plan-menu>[role=option]:hover,.promotion-plan-menu>[role=option]:focus-visible{outline:0;background:#f0f8fd;box-shadow:inset 0 0 0 2px #0969b5}
.promotion-fixed-label{text-align:right;color:#405969;font-weight:750}
.promotion-quantity-stepper{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.promotion-quantity-stepper>button{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;padding:0;border:1px solid var(--line);border-radius:7px;background:#fff;color:#145787;font-size:20px;cursor:pointer}
.promotion-quantity-stepper>button:disabled{opacity:.45;cursor:default}
.promotion-quantity-stepper>input{width:64px;min-width:0;text-align:center;border:0;background:#fff;appearance:textfield;-moz-appearance:textfield}
.promotion-quantity-stepper>input::-webkit-inner-spin-button,.promotion-quantity-stepper>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.promotion-value-input>[hidden]{display:none!important}
.promotion-plan-explanation{grid-column:1/-1;margin:0;padding:9px 11px;border-radius:8px;background:#f3faff;color:#557184;font-size:9px;font-weight:500;line-height:1.5}
.promotion-plan-explanation[hidden]{display:none}
.promotion-associated-items{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;color:#0969b5;font-size:10px}
.promotion-associated-items[hidden]{display:none}
[data-promotion-edit-items]{display:grid;place-items:center;width:36px;height:36px;padding:8px;border:1px solid #d6e7f0;border-radius:7px;background:#f3faff;color:#0969b5;cursor:pointer}
[data-promotion-edit-items] svg{width:18px;height:18px}
.promotion-target-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,1fr)}
.promotion-target-section>header{align-items:center;min-height:60px;background:#fff;border:0}
.promotion-target-section>header>span,.promotion-target-section>header small{display:none}
.promotion-target-section>.promotion-target-options{align-items:center;justify-content:flex-end;flex-direction:row;gap:14px;padding:8px 15px 8px 0}
.promotion-target-section .promotion-target-options>label{display:flex;flex-direction:row;flex:0 1 auto;align-items:center;gap:7px;min-width:0;min-height:44px;cursor:pointer}
.promotion-target-section .promotion-target-options input{position:static;width:18px;height:18px;opacity:1;margin:0;flex:0 0 auto;accent-color:#0969b5}
.promotion-target-section .promotion-target-options span{display:block;min-height:0;padding:5px 0;border:0;border-radius:0;background:none;font-weight:500;white-space:nowrap}
.promotion-target-section .promotion-target-options input:checked+span{border:0;background:none;box-shadow:none;color:#0969b5}
.promotion-target-section>.promotion-associated-items,.promotion-target-section>.promotion-item-picker,.promotion-target-section>.promotion-field-grid{grid-column:1/-1}
@media(max-width:420px){.promotion-target-section{grid-template-columns:minmax(80px,1fr) minmax(140px,1fr)}.promotion-target-section>.promotion-target-options{flex-wrap:wrap;gap:5px 10px}.promotion-target-section .promotion-target-options span{white-space:normal}}
@media(max-width:420px){.promotion-field-grid>.promotion-inline-field{grid-template-columns:minmax(0,1fr) minmax(140px,1fr);gap:10px}.promotion-quantity-stepper{gap:5px}.promotion-quantity-stepper>button{width:36px;flex-basis:36px}.promotion-quantity-stepper>input{width:52px}}
