.pm-bundle { font-size: 12px; color: #50617a; }
.pm-bundle-processing { display: grid; grid-template-columns: repeat(2,minmax(0,390px)); gap: 20px 28px; margin-bottom: 28px; }
.pm-bundle-processing > label { display: flex; align-items: center; gap: 6px; min-width: 0; }
.pm-bundle-processing > label > span { white-space: nowrap; flex-shrink: 0; }
.pm-bundle input:not([type=checkbox]):not([type=radio]) { width: 100%; min-width: 0; height: 34px; padding: 7px 10px; border: 1px solid #cfd9e8; border-radius: 4px; color: #40516c; background: #fff; font: inherit; }
.pm-bundle input:not([type=checkbox]):not([type=radio]):focus { outline: none; border-color: #3978ff; box-shadow: 0 0 0 2px #3978ff12; }
.pm-create-modal .pm-bundle .pm-purchase-input > input { flex: 1; width: 0; border: 0; }
.pm-create-modal .pm-bundle .pm-purchase-input > input:focus { outline: none; box-shadow: none; }
.pm-bundle input[type=number] { appearance: textfield; -moz-appearance: textfield; }
.pm-bundle input::-webkit-inner-spin-button, .pm-bundle input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.pm-bundle input[type=checkbox], .pm-bundle input[type=radio] { accent-color: #2869db; margin: 0; width: 14px; height: 14px; }
.pm-bundle-toolbar { display: flex; gap: 8px; margin-bottom: 10px; }
.pm-bundle-toolbar .pm-button { min-height: 32px; padding: 6px 12px; font-size: 12px; }
.pm-bundle-table-wrap { border: 1px solid #e0e6ef; border-radius: 4px; overflow-x: auto; }
.pm-bundle-table { width: 100%; min-width: 1250px; table-layout: fixed; border-collapse: collapse; }
.pm-bundle-table th { height: 40px; padding: 0 8px; background: #f5f7fa; color: #40516a; font-weight: 500; text-align: left; }
.pm-bundle-table td { padding: 9px 8px; border-top: 1px solid #e5eaf2; overflow-wrap: anywhere; }
.pm-bundle-table :is(th,td):first-child { text-align: center; }
.pm-bundle-table :is(th,td):last-child { text-align: right; }
.pm-bundle-table tbody tr:hover { background: #fafcff; }
.pm-bundle-table tbody tr.selected { background: #f3f7ff; }
.pm-bundle-table tbody tr.dragging { opacity: .4; }
.pm-bundle-handle { padding: 3px 0; border: 0; background: transparent; color: #94a3b8; cursor: grab; }
.pm-bundle-handle svg { display: block; width: 12px; height: 18px; fill: currentColor; }
.pm-bundle-thumb { display: flex; align-items: center; justify-content: center; width: 42px; height: 44px; border: 1px solid #e8edf4; border-radius: 4px; background: #f5f8fb; color: #9bb1c6; flex-shrink: 0; }
.pm-bundle-thumb :is(img,svg) { width: 36px; height: 36px; object-fit: contain; }
.pm-bundle-thumb.sand { color: #c4b291; background: #f7f3ec; }
.pm-bundle-thumb.green { color: #94b09d; background: #eff5f0; }
.pm-bundle-product { width: 100%; border: 0; background: transparent; text-align: left; padding: 0; color: #416ca5; font: inherit; }
.pm-bundle-product span { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pm-bundle-product small, .pm-bundle-muted { display: block; margin-top: 5px; color: #95a3b7; font-size: 11px; }
.pm-bundle-search { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 34px; padding: 7px 10px; border: 1px solid #cfd9e8; border-radius: 4px; color: #9ca9bb; background: #fff; font: inherit; }
.pm-bundle-search svg { width: 15px; height: 15px; fill: none; stroke: #93a7c1; stroke-width: 1.4; }
.pm-bundle-search:hover { border-color: #9ab8e0; }
.pm-bundle-remove { border: 0; padding: 6px 4px; border-radius: 3px; background: transparent; color: #5278b2; font: inherit; }
.pm-bundle-remove:hover { color: #d65c66; background: #fff1f2; }
.pm-bundle-total { font-weight: 600; color: #35455c; height: 40px; }
.pm-bundle-empty { padding: 24px !important; text-align: center !important; color: #98a5b8; }
.pm-bundle-picker-overlay { position: fixed; inset: 0; z-index: 1460; display: flex; align-items: center; justify-content: center; padding: 20px; background: #1d2c4255; }
.pm-bundle-picker { display: flex; flex-direction: column; width: min(700px,100%); max-height: min(680px,calc(100dvh - 40px)); border-radius: 7px; background: #fff; box-shadow: 0 16px 60px #172b4b40; }
.pm-bundle-picker header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid #e5eaf2; }
.pm-bundle-picker h2 { margin: 0; font-size: 15px; font-weight: 600; color: #354963; }
.pm-bundle-picker-body { display: flex; flex-direction: column; min-height: 0; padding: 16px 20px; }
.pm-bundle .pm-bundle-picker-search { flex-shrink: 0; }
.pm-bundle-options { min-height: 0; overflow-y: auto; margin-top: 12px; }
.pm-bundle-options label { display: flex; align-items: center; gap: 12px; padding: 10px 8px; border-bottom: 1px solid #edf1f6; cursor: pointer; }
.pm-bundle-options label:hover, .pm-bundle-options label.selected { background: #f3f7ff; }
.pm-bundle-options label.disabled { opacity: .5; cursor: default; }
.pm-bundle-options strong { font-weight: 400; }
.pm-bundle-options small { display: block; margin-top: 5px; color: #94a3b8; }
.pm-bundle-options label > span { margin-left: auto; white-space: nowrap; }
.pm-bundle-picker footer { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-top: 1px solid #e5eaf2; }
.pm-bundle-picker footer small { margin-right: auto; color: #91a0b5; }
@media(max-width:700px) { .pm-bundle-processing { grid-template-columns: minmax(0,1fr); } .pm-bundle-picker-overlay { padding: 12px; } .pm-bundle-picker header, .pm-bundle-picker-body, .pm-bundle-picker footer { padding: 12px; } .pm-bundle-options label { gap: 8px; } }
