:root{--rec-blue-500: #1D6FE0;--rec-blue-600: #155ABF;--rec-blue-700: #0F4897;--rec-blue-50: #EEF5FF;--rec-blue-tint: #F8FBFF;--rec-ink-900: #0F1826;--rec-ink-700: #374151;--rec-ink-600: #4B5563;--rec-ink-500: #6B7280;--rec-ink-400: #9AA3B2;--rec-ink-300: #C9D0DA;--rec-ink-200: #E3E8EF;--rec-ink-100: #EEF1F5;--rec-ink-divider: #F4F6F8;--rec-ink-50: #F6F8FA;--rec-ink-surface-2: #FAFBFC;--rec-ink-0: #FFFFFF;--rec-success-bg: #E7F7EE;--rec-success-fg: #118A3E;--rec-success-dot: #16A34A;--rec-warn-bg: #FFF4E5;--rec-warn-fg: #C87A05;--rec-warn-dot: #F59A0B;--rec-danger-bg: #FDECEC;--rec-danger-fg: #B91C1C;--rec-danger-dot: #DC2626;--rec-danger-border: #FBD2D2;--rec-danger-deep: #7F1D1D;--rec-tier-economy: #8E96A3;--rec-tier-standard: #1D6FE0;--rec-tier-premium: #A6802B;--rec-pad-card-x: 20px;--rec-pad-card-y: 18px;--rec-pad-header-x: 20px;--rec-pad-header-y: 14px;--rec-gap-grid: 8px;--rec-gap-stack: 14px;--rec-radius-sm: 6px;--rec-radius-md: 8px;--rec-radius-lg: 10px;--rec-radius-xl: 12px;--rec-radius-pill: 999px;--rec-radius-drawer: 16px;--rec-fs-xs: 11px;--rec-fs-sm: 12px;--rec-fs-md: 13px;--rec-fs-lg: 14px;--rec-fs-h2: 18px;--rec-fs-h1: 24px;--rec-fs-h1-mobile: 20px;--rec-font-sans: var(--font-sans-cn,"Noto Sans SC","PingFang SC","Helvetica Neue",system-ui,sans-serif);--rec-font-mono: var(--font-mono);--rec-shadow-card: 0 1px 2px rgba(15,24,38,.04);--rec-shadow-elev: 0 1px 3px rgba(15,24,38,.08);--rec-shadow-modal: 0 8px 32px rgba(15,24,38,.18);--rec-shadow-focus: 0 0 0 3px rgba(29,111,224,.22);--rec-ease-out: cubic-bezier(.2,.8,.2,1)}.ph-rec-page{flex: 1;overflow: auto;box-sizing: border-box;width: 100%;background: var(--rec-ink-50)}.ph-rec-page:has(.ph-rec-edit-panel){overflow: visible}.ph-rec-page__inner{max-width: var(--rec-inner-max,720px);margin: 0 auto;width: 100%;box-sizing: border-box;padding: 24px 32px 100px}@media (max-width: 720px){.ph-rec-page__inner{padding: 16px 14px 100px}}.ph-rec-card{background: var(--rec-ink-0);border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-md);box-shadow: var(--rec-shadow-card);overflow: hidden}.ph-rec-card__header{padding: var(--rec-pad-header-y) var(--rec-pad-header-x);border-bottom: 1px solid var(--rec-ink-100);font-size: var(--rec-fs-md);font-weight: 600;color: var(--rec-ink-900);display: flex;align-items: center;justify-content: space-between;gap: 8px}.ph-rec-card__body{padding: var(--rec-pad-card-y) var(--rec-pad-card-x)}.ph-rec-title{margin: 0;font-size: var(--rec-fs-h1);font-weight: 600;color: var(--rec-ink-900);letter-spacing: -0.01em}.ph-rec-subtitle{margin-top: 4px;font-size: var(--rec-fs-md);color: var(--rec-ink-500)}@media (max-width: 720px){.ph-rec-title{font-size: var(--rec-fs-h1-mobile)}}.ph-rec-field{margin-bottom: 18px}.ph-rec-field__label{font-size: var(--rec-fs-sm);font-weight: 500;color: var(--rec-ink-900);margin-bottom: 6px;display: flex;align-items: baseline;gap: 8px}.ph-rec-field__required{color: var(--rec-danger-dot)}.ph-rec-field__hint{color: var(--rec-ink-400);font-weight: 400;margin-left: 8px}.ph-rec-input{display: flex;align-items: center;gap: 6px;height: 34px;padding: 0 10px;border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-sm);background: var(--rec-ink-0);box-sizing: border-box;font-family: var(--rec-font-sans);font-size: var(--rec-fs-md);color: var(--rec-ink-900);transition: all 120ms;outline: none}.ph-rec-input:focus,.ph-rec-input:focus-within{border-color: var(--rec-blue-500);box-shadow: var(--rec-shadow-focus)}.ph-rec-input::placeholder{color: var(--rec-ink-400)}.ph-rec-pickable{padding: 12px 6px;border-radius: var(--rec-radius-md);border: 1.5px solid var(--rec-ink-200);background: var(--rec-ink-0);cursor: pointer;text-align: center;transition: all 100ms;user-select: none;box-sizing: border-box}.ph-rec-pickable:hover{border-color: var(--rec-ink-300)}.ph-rec-pickable--active{border-color: var(--rec-blue-500);background: var(--rec-blue-50)}.ph-rec-pickable__emoji{font-size: 22px;line-height: 1}.ph-rec-pickable__label{margin-top: 4px;font-size: var(--rec-fs-sm);font-weight: 500;color: var(--rec-ink-600)}.ph-rec-pickable--active .ph-rec-pickable__label{color: var(--rec-blue-700)}.ph-rec-types-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(120px,1fr));gap: var(--rec-gap-grid)}.ph-rec-price-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--rec-gap-grid)}@media (max-width: 720px){.ph-rec-price-grid{grid-template-columns: repeat(2,1fr)}}.ph-rec-2col-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 14px}@media (max-width: 720px){.ph-rec-2col-grid{grid-template-columns: 1fr}}.ph-rec-stickybar{position: fixed;bottom: 0;left: 0;right: 0;background: linear-gradient(to top,var(--rec-ink-50) 60%,rgba(246,248,250,0));padding: 20px 32px;display: flex;justify-content: center;z-index: 10}.ph-rec-stickybar__inner{width: 100%;max-width: 720px;display: flex;gap: 12px}@media (max-width: 720px){.ph-rec-stickybar{padding: 20px 14px}}.ph-rec-btn{font-family: var(--rec-font-sans);font-weight: 500;border: 1px solid transparent;border-radius: var(--rec-radius-sm);cursor: pointer;display: inline-flex;align-items: center;gap: 6px;transition: all 120ms var(--rec-ease-out);white-space: nowrap;padding: 8px 16px;font-size: var(--rec-fs-md);line-height: 1;box-sizing: border-box}.ph-rec-btn--sm{padding: 5px 10px;font-size: var(--rec-fs-sm)}.ph-rec-btn--lg{padding: 10px 20px;font-size: var(--rec-fs-lg);height: 44px}.ph-rec-btn--primary{background: var(--rec-blue-500);color: var(--rec-ink-0);border-color: var(--rec-blue-500)}.ph-rec-btn--primary:hover{background: var(--rec-blue-600);border-color: var(--rec-blue-600)}.ph-rec-btn--secondary{background: var(--rec-ink-0);color: var(--rec-ink-900);border-color: var(--rec-ink-200)}.ph-rec-btn--secondary:hover{background: var(--rec-ink-50);border-color: var(--rec-ink-300)}.ph-rec-btn--ghost{background: transparent;color: var(--rec-blue-500);border-color: transparent}.ph-rec-btn--ghost:hover{background: var(--rec-blue-50)}.ph-rec-btn:disabled,.ph-rec-btn[disabled]{cursor: not-allowed;opacity: 0.45}.ph-rec-btn:disabled:hover,.ph-rec-btn[disabled]:hover{background: inherit;border-color: inherit}.ph-rec-badge{display: inline-flex;align-items: center;gap: 5px;padding: 3px 9px;border-radius: var(--rec-radius-pill);font-size: var(--rec-fs-xs);font-weight: 500;line-height: 1.4;background: var(--rec-ink-100);color: var(--rec-ink-600)}.ph-rec-badge::before{content: "";width: 6px;height: 6px;border-radius: 50%;background: var(--rec-ink-500);flex-shrink: 0}.ph-rec-badge--brand{background: var(--rec-blue-50);color: var(--rec-blue-700)}.ph-rec-badge--brand::before{background: var(--rec-blue-500)}.ph-rec-badge--success{background: var(--rec-success-bg);color: var(--rec-success-fg)}.ph-rec-badge--success::before{background: var(--rec-success-dot)}.ph-rec-badge--warn{background: var(--rec-warn-bg);color: var(--rec-warn-fg)}.ph-rec-badge--warn::before{background: var(--rec-warn-dot)}.ph-rec-badge--danger{background: var(--rec-danger-bg);color: var(--rec-danger-fg)}.ph-rec-badge--danger::before{background: var(--rec-danger-dot)}.ph-rec-badge--neutral{background: var(--rec-ink-100);color: var(--rec-ink-600)}.ph-rec-badge--neutral::before{background: var(--rec-ink-500)}.ph-rec-thumb{display: flex;align-items: center;justify-content: center;color: var(--rec-ink-0);font-weight: 600;flex-shrink: 0;box-shadow: inset 0 -2px 6px rgba(0,0,0,.18),0 1px 3px rgba(15,24,38,.18);box-sizing: border-box}.ph-rec-thumb--empty{background: #F0F3F7;border: 1px dashed var(--rec-ink-300);color: var(--rec-ink-400);box-shadow: none;font-weight: 400}.ph-rec-tier-card{padding: 14px;cursor: pointer;background: var(--rec-ink-0);position: relative;transition: background 120ms;box-sizing: border-box}.ph-rec-tier-card:hover{background: var(--rec-ink-surface-2)}.ph-rec-tier-card--highlight{background: var(--rec-blue-tint)}.ph-rec-tier-card--highlight:hover{background: var(--rec-blue-50)}.ph-rec-tier-card__star{position: absolute;top: 10px;right: 10px;font-size: var(--rec-fs-xs);font-weight: 600;color: var(--rec-tier-premium);display: flex;align-items: center;gap: 3px}.ph-rec-tier-card__head{display: flex;align-items: center;gap: 10px;margin-bottom: 10px}.ph-rec-tier-card__tier-label{font-size: var(--rec-fs-xs);font-weight: 600;letter-spacing: .02em}.ph-rec-tier-card__name{font-size: var(--rec-fs-md);font-weight: 500;color: var(--rec-ink-900);margin-top: 2px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.ph-rec-tier-card__attrs{font-size: var(--rec-fs-xs);color: var(--rec-ink-500);line-height: 1.6;margin-bottom: 10px}.ph-rec-tier-card__attrs .key{color: var(--rec-ink-400)}.ph-rec-tier-card__price-row{border-top: 1px dashed var(--rec-ink-100);padding-top: 10px;display: flex;align-items: baseline;justify-content: space-between}.ph-rec-tier-card__price{font-size: var(--rec-fs-h2);font-weight: 600;color: var(--rec-ink-900);font-family: var(--rec-font-mono)}.ph-rec-tier-card__price-unit{font-size: var(--rec-fs-xs);color: var(--rec-ink-400);margin-left: 4px}.ph-rec-tier-card__qty{font-size: var(--rec-fs-xs);color: var(--rec-ink-500)}.ph-rec-matrix-card__header{padding: 12px 16px;background: var(--rec-ink-surface-2);border-bottom: 1px solid var(--rec-ink-100);display: flex;align-items: center;gap: 8px}.ph-rec-matrix-card__header .name{font-size: var(--rec-fs-md);font-weight: 600;color: var(--rec-ink-900)}.ph-rec-matrix-card__header .count{font-size: var(--rec-fs-xs);color: var(--rec-ink-400)}.ph-rec-matrix-card__grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 0}.ph-rec-matrix-card__grid--c2{grid-template-columns: repeat(2,1fr)}.ph-rec-matrix-card__grid--c1{grid-template-columns: 1fr}.ph-rec-matrix-card__grid>.ph-rec-tier-card + .ph-rec-tier-card{border-left: 1px solid var(--rec-ink-100)}@media (max-width: 720px){.ph-rec-matrix-card__grid{grid-template-columns: 1fr !important}.ph-rec-matrix-card__grid>.ph-rec-tier-card + .ph-rec-tier-card{border-left: none;border-top: 1px solid var(--rec-ink-100)}}.ph-rec-placeholder{padding: 16px 20px;background: var(--rec-ink-surface-2);border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-md);display: flex;align-items: center;gap: 10px}.ph-rec-placeholder .name{font-size: var(--rec-fs-md);font-weight: 500;color: var(--rec-ink-500)}.ph-rec-placeholder__chip{font-size: var(--rec-fs-xs);color: var(--rec-ink-400);padding: 2px 8px;border-radius: 4px;background: var(--rec-ink-100)}.ph-rec-result__summary{margin-bottom: 16px;display: flex;align-items: center;gap: 12px;flex-wrap: wrap}.ph-rec-result__summary .name{font-size: var(--rec-fs-lg);font-weight: 600;color: var(--rec-ink-900)}.ph-rec-result__summary .meta{font-size: var(--rec-fs-sm);color: var(--rec-ink-500);margin-top: 2px}.ph-rec-drawer-scrim{position: fixed;inset: 0;z-index: 200;background: rgba(15,24,38,.4);display: flex;align-items: stretch;justify-content: flex-end}.ph-rec-drawer{width: 480px;max-height: 100vh;background: var(--rec-ink-0);display: flex;flex-direction: column;overflow: hidden;animation: ph-rec-slide-in-right 240ms var(--rec-ease-out)}.ph-rec-drawer__header{padding: 16px 20px;border-bottom: 1px solid var(--rec-ink-100);display: flex;align-items: center;gap: 10px;position: relative}.ph-rec-drawer__header .title{flex: 1;font-size: var(--rec-fs-lg);font-weight: 600;color: var(--rec-ink-900)}.ph-rec-drawer__body{flex: 1;overflow: auto;padding: 20px}.ph-rec-specs-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 8px 16px}.ph-rec-specs-grid__item .key{font-size: var(--rec-fs-sm);color: var(--rec-ink-400)}.ph-rec-specs-grid__item .value{color: var(--rec-ink-900);margin-top: 2px;font-weight: 500;font-size: var(--rec-fs-sm)}.ph-rec-specs-grid__item .hint{color: var(--rec-ink-500);font-size: 0.8125rem;margin-top: 2px;line-height: 1.4}.ph-rec-price-table{border: 1px solid var(--rec-ink-100);border-radius: var(--rec-radius-sm);overflow: hidden}.ph-rec-price-table__row{display: flex;padding: 10px 14px;font-size: var(--rec-fs-md);border-bottom: 1px solid var(--rec-ink-divider);background: var(--rec-ink-0)}.ph-rec-price-table__row:last-child{border-bottom: none}.ph-rec-price-table__row:nth-child(odd){background: var(--rec-ink-surface-2)}.ph-rec-price-table__qty{flex: 1;color: var(--rec-ink-600)}.ph-rec-price-table__price{font-weight: 600;color: var(--rec-ink-900);font-family: var(--rec-font-mono)}@media (max-width: 720px){.ph-rec-drawer-scrim{align-items: flex-end;justify-content: stretch}.ph-rec-drawer{width: 100%;max-height: 92vh;border-radius: var(--rec-radius-drawer) var(--rec-radius-drawer) 0 0;animation: ph-rec-slide-in-bottom 240ms var(--rec-ease-out)}}.ph-rec-history-card{padding: 14px 18px;display: grid;grid-template-columns: 1fr auto;gap: 12px;align-items: center}@media (max-width: 720px){.ph-rec-history-card{grid-template-columns: 1fr}}.ph-rec-history-card__title{display: flex;align-items: center;gap: 8px;margin-bottom: 6px;flex-wrap: wrap}.ph-rec-history-card__title .name{font-size: var(--rec-fs-lg);font-weight: 600;color: var(--rec-ink-900)}.ph-rec-history-card__title .time{font-size: var(--rec-fs-xs);color: var(--rec-ink-400);font-family: var(--rec-font-mono)}.ph-rec-history-card__meta{font-size: var(--rec-fs-sm);color: var(--rec-ink-500);line-height: 1.6}.ph-rec-history-card__contact{font-size: var(--rec-fs-sm);color: var(--rec-ink-600);margin-top: 4px}.ph-rec-tabs{display: flex;gap: 4px;padding: 4px;background: var(--rec-ink-100);border-radius: var(--rec-radius-md);margin-bottom: 14px;overflow-x: auto}.ph-rec-tabs__btn{padding: 8px 14px;border: none;border-radius: var(--rec-radius-sm);cursor: pointer;background: transparent;color: var(--rec-ink-500);font-size: var(--rec-fs-md);font-weight: 400;white-space: nowrap;transition: all 100ms;display: inline-flex;align-items: center;gap: 4px;font-family: var(--rec-font-sans)}.ph-rec-tabs__btn--active{background: var(--rec-ink-0);color: var(--rec-ink-900);font-weight: 500;box-shadow: var(--rec-shadow-elev)}.ph-rec-tabs__count{margin-left: 4px;color: var(--rec-ink-400);font-size: var(--rec-fs-xs)}.ph-rec-filter-chip{padding: 6px 12px;border-radius: var(--rec-radius-pill);font-size: var(--rec-fs-sm);border: 1px solid var(--rec-ink-200);background: var(--rec-ink-0);color: var(--rec-ink-600);cursor: pointer;font-weight: 400;font-family: var(--rec-font-sans);transition: all 100ms;white-space: nowrap}.ph-rec-filter-chip:hover{border-color: var(--rec-ink-300)}.ph-rec-filter-chip--active{border-color: var(--rec-blue-500);background: var(--rec-blue-50);color: var(--rec-blue-700);font-weight: 500}.ph-rec-filter-card{background: var(--rec-ink-0);border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-md);padding: 14px;margin-bottom: 14px;display: flex;flex-direction: column;gap: 10px}@media (max-width: 720px){.ph-rec-filter-card{padding: 12px}}.ph-rec-filter-chips-row{display: flex;gap: 10px;flex-wrap: wrap;align-items: center}.ph-rec-filter-divider{width: 1px;height: 20px;background: var(--rec-ink-200);margin: 0 4px}.ph-rec-filter-options-row{display: flex;gap: 8px;flex-wrap: wrap;align-items: center}.ph-rec-search-row{position: relative;display: block}.ph-rec-search-row__icon{position: absolute;left: 12px;top: 50%;transform: translateY(-50%);width: 14px;height: 14px;color: var(--rec-ink-400);pointer-events: none}input.ph-rec-search-row__input{width: 100%;box-sizing: border-box;padding: 9px 36px 9px 34px;border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-sm);font-size: var(--rec-fs-md);font-family: inherit;outline: none;background: var(--rec-ink-0);color: var(--rec-ink-900);height: 36px}input.ph-rec-search-row__input::placeholder{color: var(--rec-ink-400)}input.ph-rec-search-row__input:focus{border-color: var(--rec-blue-500);box-shadow: var(--rec-shadow-focus)}vaadin-button.ph-rec-search-row__clear{position: absolute;right: 6px;top: 50%;transform: translateY(-50%);width: 22px;height: 22px;min-width: 22px;padding: 0;margin: 0;background: var(--rec-ink-100);color: var(--rec-ink-600);border-radius: 4px;box-shadow: none}vaadin-button.ph-rec-search-row__clear vaadin-icon{width: 12px;height: 12px;padding: 0}.ph-rec-untagged-check{display: inline-flex;align-items: center;gap: 6px;padding: 6px 10px;border: 1px solid #FFE8B8;border-radius: var(--rec-radius-sm);background: var(--rec-ink-0);font-size: 12px;color: #8C5800;cursor: pointer;user-select: none}.ph-rec-untagged-check.active{background: #FFF7E6}.ph-rec-untagged-check input[type="checkbox"]{margin: 0;cursor: pointer}.ph-rec-list-table-header{display: grid;gap: 12px;padding: 12px 18px;background: var(--rec-ink-surface-2);border-bottom: 1px solid var(--rec-ink-100);font-size: var(--rec-fs-xs);font-weight: 600;color: var(--rec-ink-400);letter-spacing: .06em;text-transform: uppercase}.ph-rec-list-row{display: grid;gap: 12px;padding: 14px 18px;border-bottom: 1px solid var(--rec-ink-100);align-items: center;font-size: var(--rec-fs-md)}.ph-rec-list-row:last-child{border-bottom: none}.ph-rec-list-row__name{color: var(--rec-ink-900);font-weight: 500}.ph-rec-list-row__sub{color: var(--rec-ink-400);font-size: var(--rec-fs-xs);margin-top: 2px}.ph-rec-list-row__category{color: var(--rec-ink-500);font-size: var(--rec-fs-sm)}.ph-rec-list-row__actions{display: flex;gap: 4px;justify-content: flex-end}@media (max-width: 720px){.ph-rec-list-table-header{display: none}.ph-rec-list-row{display: flex;gap: 12px;padding: 14px 16px}}.ph-rec-queue-row{display: grid;grid-template-columns: 100px 1fr 1.4fr 100px 130px 200px;gap: 12px;padding: 14px 18px;border-bottom: 1px solid var(--rec-ink-100);align-items: center;font-size: var(--rec-fs-md)}.ph-rec-queue-row:last-child{border-bottom: none}.ph-rec-queue-row .submitter{color: var(--rec-ink-900);font-weight: 500}.ph-rec-queue-row .name{color: var(--rec-ink-900);font-weight: 500}.ph-rec-queue-row .category{color: var(--rec-ink-500);font-size: var(--rec-fs-sm)}.ph-rec-queue-row .time{color: var(--rec-ink-500);font-size: var(--rec-fs-sm);font-family: var(--rec-font-mono)}.ph-rec-queue-row .actions{display: flex;gap: 6px;justify-content: flex-end}@media (max-width: 720px){.ph-rec-queue-row{display: block;padding: 14px 16px}.ph-rec-queue-row .actions{margin-top: 10px;justify-content: flex-start}}.ph-rec-reject-dialog{width: 440px;max-width: 92vw;background: var(--rec-ink-0);border-radius: var(--rec-radius-lg);overflow: hidden;box-shadow: var(--rec-shadow-modal)}.ph-rec-reject-dialog__header{padding: 16px 20px;border-bottom: 1px solid var(--rec-ink-100);font-size: var(--rec-fs-lg);font-weight: 600;color: var(--rec-ink-900)}.ph-rec-reject-dialog__body{padding: 20px;font-size: var(--rec-fs-sm);color: var(--rec-ink-600)}.ph-rec-reject-dialog__footer{padding: 12px 20px;border-top: 1px solid var(--rec-ink-100);display: flex;justify-content: flex-end;gap: 8px}.ph-rec-reject-dialog textarea{width: 100%;min-height: 100px;padding: 10px;border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-sm);font-family: inherit;font-size: var(--rec-fs-md);resize: vertical;box-sizing: border-box;outline: none;color: var(--rec-ink-900);margin-top: 8px}.ph-rec-reject-dialog textarea:focus{border-color: var(--rec-blue-500);box-shadow: var(--rec-shadow-focus)}.ph-rec-image-tabs{display: flex;gap: 6px;margin-bottom: 14px;border-bottom: 1px solid var(--rec-ink-100)}.ph-rec-image-tabs__btn{padding: 8px 12px;border: none;background: transparent;cursor: pointer;font-size: var(--rec-fs-md);font-weight: 500;color: var(--rec-ink-500);border-bottom: 2px solid transparent;margin-bottom: -1px;font-family: var(--rec-font-sans)}.ph-rec-image-tabs__btn--active{color: var(--rec-blue-500);border-bottom-color: var(--rec-blue-500)}.ph-rec-image-tabs__btn .note{color: var(--rec-ink-400);font-weight: 400;font-size: var(--rec-fs-xs);margin-left: 4px}.ph-rec-image-grid{display: grid;grid-template-columns: repeat(5,1fr);gap: 10px}@media (max-width: 720px){.ph-rec-image-grid{grid-template-columns: repeat(3,1fr)}}.ph-rec-image-upload-placeholder{aspect-ratio: 1 / 1;border-radius: var(--rec-radius-md);border: 1.5px dashed var(--rec-ink-300);display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 4px;cursor: pointer;color: var(--rec-ink-400);background: transparent;transition: all 100ms}.ph-rec-image-upload-placeholder:hover{border-color: var(--rec-blue-500);color: var(--rec-blue-500)}.ph-rec-image-upload-placeholder__label{font-size: var(--rec-fs-xs)}.ph-rec-detail-grid{display: grid;grid-template-columns: 1fr 320px;gap: 16px;align-items: start}@media (max-width: 720px){.ph-rec-detail-grid{grid-template-columns: 1fr}}.ph-rec-side-panel{display: flex;flex-direction: column;gap: 14px}.ph-rec-section-label{font-size: var(--rec-fs-xs);font-weight: 600;color: var(--rec-ink-400);letter-spacing: .06em;text-transform: uppercase;margin-bottom: 8px}.ph-rec-rejection-banner{margin-bottom: 16px;padding: 12px 16px;background: var(--rec-danger-bg);border-radius: var(--rec-radius-md);border: 1px solid var(--rec-danger-border)}.ph-rec-rejection-banner__title{font-size: var(--rec-fs-sm);font-weight: 600;color: var(--rec-danger-fg);margin-bottom: 4px}.ph-rec-rejection-banner__text{font-size: var(--rec-fs-md);color: var(--rec-danger-deep);line-height: 1.5}.ph-rec-rejection-inline{margin-top: 10px;padding: 10px 12px;background: var(--rec-danger-bg);border-radius: var(--rec-radius-sm);border: 1px solid var(--rec-danger-border)}.ph-rec-rejection-inline__title{font-size: var(--rec-fs-xs);font-weight: 600;color: var(--rec-danger-fg);margin-bottom: 3px}.ph-rec-rejection-inline__text{font-size: var(--rec-fs-sm);color: var(--rec-danger-deep);line-height: 1.5}.ph-rec-tier-picker{display: flex;gap: 6px}.ph-rec-tier-picker__btn{flex: 1;padding: 8px 4px;border-radius: var(--rec-radius-sm);border: 1.5px solid var(--rec-ink-200);background: var(--rec-ink-0);color: var(--rec-ink-600);cursor: pointer;font-size: var(--rec-fs-sm);font-weight: 500;font-family: var(--rec-font-sans);transition: all 100ms;text-align: center}.ph-rec-tier-picker__btn--active{}.ph-rec-price-tier-row{display: grid;grid-template-columns: 1fr 1fr 30px;gap: 10px;margin-bottom: 8px;align-items: center}.ph-rec-price-tier-row__remove{background: transparent;border: none;cursor: pointer;color: var(--rec-ink-400);padding: 4px;font-size: var(--rec-fs-md)}.ph-rec-price-tier-row__remove:hover{color: var(--rec-danger-dot)}.ph-rec-price-tier-add{width: 100%;padding: 10px;margin-top: 4px;border: 1px dashed var(--rec-ink-300);border-radius: var(--rec-radius-sm);background: transparent;color: var(--rec-blue-500);font-size: var(--rec-fs-md);cursor: pointer;display: flex;align-items: center;justify-content: center;gap: 6px;font-family: var(--rec-font-sans);transition: all 100ms}.ph-rec-price-tier-add:hover{border-color: var(--rec-blue-500);background: var(--rec-blue-50)}.ph-rec-field-row{display: grid;grid-template-columns: 120px 1fr;gap: 12px;margin-bottom: 10px;align-items: center}.ph-rec-field-row__label{font-size: var(--rec-fs-sm);color: var(--rec-ink-600)}.ph-rec-field-row__value{font-size: var(--rec-fs-md);color: var(--rec-ink-900)}.ph-rec-empty-state{padding: 32px;text-align: center;color: var(--rec-ink-400);font-size: var(--rec-fs-md)}.ph-rec-empty-state__icon{font-size: 36px;margin-bottom: 8px}.ph-rec-empty-state__title{font-size: var(--rec-fs-lg);font-weight: 600;color: var(--rec-ink-900)}.ph-rec-empty-state__text{font-size: var(--rec-fs-sm);color: var(--rec-ink-500);margin-top: 6px}@keyframes ph-rec-slide-in-right{from{transform: translateX(20%);opacity: 0}to{transform: none;opacity: 1}}@keyframes ph-rec-slide-in-bottom{from{transform: translateY(20%);opacity: 0}to{transform: none;opacity: 1}}.ph-rec-pill{font-size: var(--rec-fs-sm);padding: 3px 8px;border-radius: 4px;background: var(--rec-ink-100);color: var(--rec-ink-600);display: inline-flex;align-items: center;gap: 4px}.ph-rec-ops-subnav{display: flex;gap: 4px;margin-bottom: 16px;padding-bottom: 4px;border-bottom: 1px solid var(--rec-bg-divider,#EEF1F5)}.ph-rec-ops-subnav__btn{padding: 7px 12px;border-radius: 6px;background: transparent;color: #4B5563;font-size: 13px;font-weight: 400;text-decoration: none;display: inline-flex;align-items: center;gap: 6px;transition: background 100ms;white-space: nowrap}.ph-rec-ops-subnav__btn:hover{background: #F6F8FA}.ph-rec-ops-subnav__btn--active{background: #EEF5FF;color: #0F4897;font-weight: 500}.ph-rec-spec-row{display: flex;flex-direction: column}.ph-rec-spec-row__head{display: flex;align-items: baseline;gap: 8px;margin-bottom: 8px;flex-wrap: wrap}.ph-rec-spec-row__label{font-size: 12.5px;font-weight: 500;color: #0F1826}.ph-rec-spec-row__required{color: #DC2626;margin-left: 3px}.ph-rec-spec-row__hint{font-size: 11px;color: #9AA3B2}.ph-rec-spec-kind{padding: 1px 6px;border-radius: 3px;font-size: 10px;font-weight: 600;line-height: 1.5;display: inline-flex;align-items: center}.ph-rec-spec-kind--text{background: #F0F4F8;color: #4B5563}.ph-rec-spec-kind--single{background: #E7F7EE;color: #118A3E}.ph-rec-spec-kind--multi{background: #FFF4E5;color: #C87A05}.ph-rec-spec-kind--image-single{background: #F4EAFE;color: #6F4AC9}.ph-rec-spec-kind--image-multi{background: #FCE8F2;color: #B12C72}.ph-rec-spec-singles{display: flex;flex-wrap: wrap;gap: 8px}.ph-rec-spec-single-btn{padding: 8px 14px;border: 1.5px solid #E3E8EF;background: #fff;border-radius: 6px;cursor: pointer;font-size: 12.5px;font-weight: 500;color: #4B5563;text-align: left;line-height: 1.3;min-width: 92px;display: flex;flex-direction: column;gap: 3px;transition: all 100ms;user-select: none;box-sizing: border-box}.ph-rec-spec-single-btn:hover{border-color: #C9D0DA}.ph-rec-spec-single-btn--active{border-color: #1D6FE0;background: #EEF5FF;color: #0F4897;font-weight: 600}.ph-rec-spec-single-btn__row{display: flex;align-items: center;gap: 6px}.ph-rec-spec-single-btn__radio{width: 14px;height: 14px;border-radius: 50%;border: 1.5px solid #C9D0DA;background: #fff;flex-shrink: 0;position: relative;display: inline-block}.ph-rec-spec-single-btn--active .ph-rec-spec-single-btn__radio{border-color: #1D6FE0}.ph-rec-spec-single-btn--active .ph-rec-spec-single-btn__radio::after{content: "";position: absolute;inset: 2px;border-radius: 50%;background: #1D6FE0}.ph-rec-spec-multi-btn{padding: 8px 14px;border: 1.5px solid #E3E8EF;background: #fff;border-radius: 6px;cursor: pointer;font-size: 12.5px;font-weight: 500;color: #4B5563;display: flex;align-items: center;gap: 6px;transition: all 100ms;user-select: none;box-sizing: border-box}.ph-rec-spec-multi-btn:hover{border-color: #C9D0DA}.ph-rec-spec-multi-btn--active{border-color: #C87A05;background: #FFF4E5;color: #7C4A05;font-weight: 600}.ph-rec-spec-multi-btn__check{width: 14px;height: 14px;border-radius: 3px;border: 1.5px solid #C9D0DA;background: #fff;display: flex;align-items: center;justify-content: center;flex-shrink: 0;font-size: 9px;font-weight: 700;color: transparent;line-height: 1}.ph-rec-spec-multi-btn--active .ph-rec-spec-multi-btn__check{border-color: #C87A05;background: #C87A05;color: #fff}.ph-rec-spec-image-grid--single{display: grid;grid-template-columns: repeat(5,1fr);gap: 10px}.ph-rec-spec-image-grid--multi{display: grid;grid-template-columns: repeat(6,1fr);gap: 10px}@media (max-width: 720px){.ph-rec-spec-image-grid--single{grid-template-columns: repeat(3,1fr)}.ph-rec-spec-image-grid--multi{grid-template-columns: repeat(3,1fr)}}.ph-rec-spec-image-tile{padding: 0;background: transparent;border: none;cursor: pointer;text-align: left;font-family: inherit;user-select: none}.ph-rec-spec-image-tile__swatch{aspect-ratio: 1 / 1;border-radius: 8px;border: 2px solid #E3E8EF;background: linear-gradient(135deg,#F0F4F8 0%,#FAFBFC 100%);overflow: hidden;position: relative;display: flex;align-items: center;justify-content: center;font-size: 30px;font-weight: 700;color: #9AA3B2;transition: all 120ms;box-sizing: border-box}.ph-rec-spec-image-tile__swatch img{width: 100%;height: 100%;object-fit: cover}.ph-rec-spec-image-tile__label{margin-top: 6px;font-size: 12px;font-weight: 500;color: #0F1826}.ph-rec-spec-image-tile--active.ph-rec-spec-image-tile--single .ph-rec-spec-image-tile__swatch{border-color: #6F4AC9;box-shadow: 0 0 0 4px #6F4AC926}.ph-rec-spec-image-tile--active.ph-rec-spec-image-tile--single .ph-rec-spec-image-tile__label{color: #6F4AC9;font-weight: 600}.ph-rec-spec-image-tile--active.ph-rec-spec-image-tile--multi .ph-rec-spec-image-tile__swatch{border-color: #B12C72;box-shadow: 0 0 0 4px #B12C7220}.ph-rec-spec-image-tile--active.ph-rec-spec-image-tile--multi .ph-rec-spec-image-tile__label{color: #B12C72;font-weight: 600}.ph-rec-spec-image-tile__check{position: absolute;top: 6px;right: 6px;min-width: 18px;height: 18px;padding: 0 5px;border-radius: 999px;color: #fff;display: flex;align-items: center;justify-content: center;font-size: 10.5px;font-weight: 700;box-sizing: border-box}.ph-rec-spec-image-tile--single .ph-rec-spec-image-tile__check{background: #6F4AC9}.ph-rec-spec-image-tile--multi .ph-rec-spec-image-tile__check{background: #B12C72}.ph-rec-attr-group{border-top: 1px solid var(--rec-ink-100)}.ph-rec-attr-group:first-of-type{border-top: none}.ph-rec-attr-group__header{padding: 12px 20px;display: flex;align-items: center;gap: 10px;cursor: pointer;user-select: none;background: #FAFCFE}.ph-rec-attr-group__chevron{width: 16px;color: var(--rec-ink-400);font-size: 10px;transition: transform 150ms;display: inline-block}.ph-rec-attr-group--collapsed .ph-rec-attr-group__chevron{transform: rotate(-90deg)}.ph-rec-attr-group--collapsed .ph-rec-attr-group__body{display: none}.ph-rec-attr-group__icon{font-size: 14px}.ph-rec-attr-group__name{font-size: 13px;font-weight: 600;color: var(--rec-ink-900)}.ph-rec-attr-group__count{font-size: 10.5px;padding: 1px 6px;border-radius: 3px;background: var(--rec-ink-100);color: var(--rec-ink-500);font-weight: 500}.ph-rec-attr-group__required-pill{font-size: 10.5px;padding: 1px 7px;border-radius: 3px;font-weight: 600}.ph-rec-attr-group__required-pill--ok{background: var(--rec-success-bg);color: var(--rec-success-fg)}.ph-rec-attr-group__required-pill--missing{background: var(--rec-warn-bg);color: var(--rec-warn-fg)}.ph-rec-attr-group__body{padding: 18px 20px;display: flex;flex-direction: column;gap: 22px}@keyframes slideInRight{from{transform: translateX(100%)}to{transform: translateX(0)}}@keyframes fadeIn{from{opacity: 0}to{opacity: 1}}@keyframes toastIn{from{opacity: 0;transform: translateY(-8px)}to{opacity: 1;transform: translateY(0)}}@keyframes sheetUp{from{transform: translateY(100%)}to{transform: translateY(0)}}.result-summary-bar{padding: 14px 24px;background: var(--rec-ink-0);border-bottom: 1px solid var(--rec-ink-200);display: flex;align-items: center;gap: 14px;flex-shrink: 0}.result-summary-back-btn{display: inline-flex;align-items: center;gap: 6px;padding: 6px 12px;background: transparent;border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-sm);cursor: pointer;font-size: var(--rec-fs-sm);color: var(--rec-ink-600);flex-shrink: 0;font-family: var(--rec-font-sans)}.result-summary-customer{flex: 1;min-width: 0}.result-summary-customer-name{font-size: var(--rec-fs-lg);font-weight: 600;color: var(--rec-ink-900);margin-bottom: 2px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.result-summary-customer-meta{font-size: var(--rec-fs-sm);color: var(--rec-ink-500);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.result-summary-badge{display: inline-flex;align-items: center;gap: 4px;padding: 6px 12px;border-radius: var(--rec-radius-sm);background: var(--rec-blue-50);color: var(--rec-blue-700);border: 1px solid #D6E6FF;font-size: var(--rec-fs-sm);font-weight: 500;flex-shrink: 0}@media (max-width: 720px){.result-summary-bar{padding: 10px 14px;gap: 10px}.result-summary-back-btn{padding: 6px 8px}.result-summary-badge{padding: 5px 9px;font-size: 11.5px}}.result-placeholder-banner{padding: 10px 24px;background: #FFF7E6;border-bottom: 1px solid #FFE8B8;display: flex;align-items: center;gap: 10px;font-size: 12.5px;color: #8C5800;flex-shrink: 0;flex-wrap: nowrap}.result-placeholder-icon{flex-shrink: 0;color: var(--rec-warn-dot)}.result-placeholder-chip{display: inline-flex;padding: 2px 8px;background: var(--rec-ink-0);border: 1px solid #FFE8B8;border-radius: var(--rec-radius-pill);color: #8C5800;font-weight: 500;font-size: 11.5px;white-space: nowrap}.result-placeholder-collapse-btn{background: transparent;border: none;color: #8C5800;font-size: var(--rec-fs-sm);font-weight: 500;cursor: pointer;display: inline-flex;align-items: center;gap: 4px;padding: 0;font-family: var(--rec-font-sans)}@media (max-width: 720px){.result-placeholder-banner{padding: 8px 14px;flex-wrap: wrap}}.facet-sidebar{width: 264px;flex-shrink: 0;background: var(--rec-ink-0);border-right: 1px solid var(--rec-ink-200);display: flex;flex-direction: column;overflow-y: auto}.facet-header{padding: 14px 16px;border-bottom: 1px solid var(--rec-ink-100);display: flex;align-items: center;justify-content: space-between;position: sticky;top: 0;background: var(--rec-ink-0);z-index: 1}.facet-header-title{display: flex;align-items: center;gap: 6px;font-size: var(--rec-fs-md);font-weight: 600;color: var(--rec-ink-900)}.facet-header-title .count-badge{font-size: var(--rec-fs-xs);padding: 1px 7px;background: var(--rec-blue-500);color: var(--rec-ink-0);border-radius: var(--rec-radius-pill);font-weight: 600;font-variant-numeric: tabular-nums}.facet-clear-btn{background: transparent;border: none;color: var(--rec-ink-500);font-size: 11.5px;cursor: pointer;text-decoration: underline;text-underline-offset: 2px;font-family: var(--rec-font-sans);padding: 0}.facet-section{padding: 12px 16px;border-bottom: 1px solid #F3F5F8}.facet-section__header{display: flex;align-items: baseline;justify-content: space-between;margin-bottom: 8px}.facet-section-title{font-size: var(--rec-fs-xs);font-weight: 600;color: var(--rec-ink-700);letter-spacing: .06em;text-transform: uppercase}.facet-section-mode{font-size: 10.5px;color: var(--rec-ink-400)}.facet-chip{--lumo-button-border-radius: var(--rec-radius-pill);display: inline-flex;align-items: center;gap: 4px;padding: 4px 12px;border-radius: var(--rec-radius-pill) !important;border: 1px solid var(--rec-ink-200);background: var(--rec-ink-0);color: var(--rec-ink-700);font-size: 11.5px;font-weight: 500;cursor: pointer;transition: all 120ms;font-family: var(--rec-font-sans);min-height: 0;height: auto}.facet-chip.selected{border-color: var(--rec-blue-500);background: var(--rec-blue-500);color: var(--rec-ink-0)}.facet-chip-count{font-variant-numeric: tabular-nums;font-size: 11px;font-weight: 400;line-height: 1;vertical-align: baseline;align-self: baseline;opacity: 0.7;color: var(--rec-ink-400)}.facet-chip.selected .facet-chip-count{color: rgba(255,255,255,.7)}.facet-section--cat-tree{padding: 12px 14px}.facet-cat-tree__header{font-size: 11px;font-weight: 600;color: #4B5563;letter-spacing: .04em;text-transform: uppercase;margin-bottom: 6px}.facet-cat-tree{display: flex;flex-direction: column;gap: 1px}.facet-cat-tree-row{display: flex;align-items: center;gap: 6px;padding: 5px 6px;border-radius: 6px;cursor: pointer;font-size: 12.5px;transition: background 120ms}.facet-cat-tree-row:hover{background: #F6F8FA}.facet-cat-tree-row.is-selected{background: #EEF5FF}.facet-cat-tree-row__arrow{width: 14px;color: #9AA3B2;font-size: 12px;line-height: 1;display: inline-flex;align-items: center;justify-content: center;flex-shrink: 0;cursor: pointer;user-select: none;transition: color 120ms}.facet-cat-tree-row__arrow:hover{color: #0F1826}.facet-cat-tree-row__arrow.is-expanded{color: #0F1826}.facet-cat-tree__children{display: flex;flex-direction: column;gap: 1px;padding-left: 18px;margin-top: 1px;margin-bottom: 3px}.facet-cat-tree-row__arrow-spacer{width: 14px;flex-shrink: 0}.facet-cat-tree-row__checkbox{width: 14px;height: 14px;border-radius: 3px;border: 1.5px solid #C9D0DA;background: #fff;flex-shrink: 0;display: inline-flex;align-items: center;justify-content: center;position: relative;transition: border-color 120ms,background 120ms}.facet-cat-tree-row__checkbox.is-checked{background: #1D6FE0;border-color: #1D6FE0}.facet-cat-tree-row__checkbox.is-checked::after{content: '';width: 7px;height: 4px;border-left: 2px solid #fff;border-bottom: 2px solid #fff;transform: rotate(-45deg) translate(0,-1px)}.facet-cat-tree-row__checkbox.is-partial{border-color: #1D6FE0}.facet-cat-tree-row__checkbox.is-partial::after{content: '';width: 7px;height: 2px;background: #1D6FE0;border-radius: 1px}.facet-cat-tree-row__name.has-selected{color: #0F4897}.facet-cat-tree-row__name{flex: 1;min-width: 0;color: #0F1826;font-weight: 500}.facet-cat-tree-row.is-selected .facet-cat-tree-row__name{color: #0F4897}.facet-cat-tree-row__count{color: #9AA3B2;font-size: 10.5px;font-variant-numeric: tabular-nums}.facet-tags-parent{display: flex;flex-direction: column}.facet-bottom-sheet{width: 100%;overflow-y: visible;border-right: none}.mobile-filter-trigger{flex: 1;display: inline-flex;align-items: center;justify-content: center;gap: 6px;padding: 8px 12px;border: 1px solid var(--rec-ink-200);background: var(--rec-ink-0);color: var(--rec-ink-700);border-radius: var(--rec-radius-sm);font-size: 12.5px;font-weight: 600;cursor: pointer;font-family: var(--rec-font-sans);transition: all 120ms}.mobile-filter-trigger.active{border-color: var(--rec-blue-500);background: var(--rec-blue-50);color: var(--rec-blue-700)}.mobile-filter-trigger .badge{font-size: var(--rec-fs-xs);padding: 1px 7px;background: var(--rec-blue-500);color: var(--rec-ink-0);border-radius: var(--rec-radius-pill);font-weight: 600}.result-grid-wrap{background: var(--rec-ink-0);border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-md);box-shadow: var(--rec-shadow-card);overflow: hidden}.result-grid-head{display: grid;grid-template-columns: 40px 84px 1.6fr 1fr 0.7fr 1fr 1.4fr;padding: 10px 16px;background: #FAFBFD;border-bottom: 1px solid var(--rec-ink-200);font-size: var(--rec-fs-xs);font-weight: 600;color: var(--rec-ink-500);letter-spacing: .06em;text-transform: uppercase}.result-grid-row{display: grid;grid-template-columns: 40px 84px 1.6fr 1fr 0.7fr 1fr 1.4fr;padding: 12px 16px;align-items: center;border-bottom: 1px solid #F3F5F8;border-left: 3px solid transparent;cursor: pointer;transition: background 120ms;background: var(--rec-ink-0)}.result-grid-row:hover{background: #F4F8FC}.result-grid-row.selected{background: #EBF3FF;border-left-color: var(--rec-blue-500)}.result-grid-cell{min-width: 0}.result-cover{width: 60px;height: 60px;border-radius: var(--rec-radius-sm);display: flex;align-items: center;justify-content: center;font-size: 22px;font-weight: 600;color: var(--rec-ink-0);box-shadow: 0 1px 2px rgba(15,24,38,.06);flex-shrink: 0}.result-name{font-size: var(--rec-fs-md);font-weight: 600;color: var(--rec-ink-900);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.result-brand{font-size: 11.5px;color: var(--rec-ink-500);margin-top: 2px}.result-tier-badge{display: inline-flex;align-items: center;gap: 4px;font-size: var(--rec-fs-xs);font-weight: 600;padding: 2px 8px;border-radius: 4px}.result-price{text-align: right;font-size: var(--rec-fs-md);font-weight: 600;font-variant-numeric: tabular-nums;color: var(--rec-ink-900)}.result-price-min-qty{font-size: var(--rec-fs-xs);color: var(--rec-ink-400);margin-top: 2px;text-align: right}.result-tag-pill{font-size: var(--rec-fs-xs);font-weight: 500;padding: 2px 7px;background: var(--rec-blue-50);color: var(--rec-blue-700);border: 1px solid #D6E6FF;border-radius: var(--rec-radius-pill);white-space: nowrap}.result-more-pill{font-size: var(--rec-fs-xs);font-weight: 500;padding: 2px 7px;background: var(--rec-ink-50);color: var(--rec-ink-500);border-radius: var(--rec-radius-pill)}.result-grid-foot{padding: 10px 16px;border-top: 1px solid var(--rec-ink-100);background: #FAFBFD;display: flex;align-items: center;font-size: 11.5px;color: var(--rec-ink-500)}.result-grid-empty{padding: 60px 24px;text-align: center;background: var(--rec-ink-0);border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-md);box-shadow: var(--rec-shadow-card)}.result-grid-empty .icon-circle{width: 56px;height: 56px;margin: 0 auto 12px;border-radius: 50%;background: var(--rec-ink-50);display: flex;align-items: center;justify-content: center;color: var(--rec-ink-400)}.result-grid-empty .empty-title{font-size: var(--rec-fs-lg);font-weight: 600;color: var(--rec-ink-900);margin-bottom: 6px}.result-grid-empty .empty-body{font-size: 12.5px;color: var(--rec-ink-500);margin-bottom: 14px}.result-checkbox{width: 18px;height: 18px;border-radius: 4px;border: 1.5px solid var(--rec-ink-300);background: var(--rec-ink-0);display: flex;align-items: center;justify-content: center;transition: all 120ms;flex-shrink: 0;cursor: pointer}.result-checkbox.checked{background: var(--rec-blue-500);border-color: var(--rec-blue-500)}.mobile-card{display: flex;gap: 10px;padding: 12px;background: var(--rec-ink-0);border: 1px solid var(--rec-ink-200);border-radius: 10px;box-shadow: var(--rec-shadow-card);cursor: pointer;position: relative}.mobile-card.selected{border: 1.5px solid var(--rec-blue-500);box-shadow: 0 2px 8px rgba(29,111,224,.12)}.mobile-card-cover{width: 76px;height: 76px;border-radius: var(--rec-radius-md);flex-shrink: 0;display: flex;align-items: center;justify-content: center;font-size: 22px;font-weight: 700;color: var(--rec-ink-0)}.mobile-card-body{flex: 1;min-width: 0;display: flex;flex-direction: column;gap: 4px}.mobile-card-title-row{display: flex;align-items: center;gap: 6px}.mobile-card-title{font-size: 13.5px;font-weight: 600;color: var(--rec-ink-900);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;flex: 1}.mobile-card-tier-badge{font-size: 10px;padding: 1px 6px;border-radius: 4px;font-weight: 600;flex-shrink: 0}.mobile-card-meta{font-size: 11.5px;color: var(--rec-ink-500);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.mobile-card-price{font-size: var(--rec-fs-md);font-weight: 700;color: var(--rec-ink-900);font-variant-numeric: tabular-nums}.mobile-card-tags-row{display: flex;flex-wrap: wrap;gap: 4px;margin-top: 2px}.mobile-card-checkbox{width: 20px;height: 20px;border-radius: 5px;border: 1.5px solid var(--rec-ink-300);background: var(--rec-ink-0);display: flex;align-items: center;justify-content: center;flex-shrink: 0;cursor: pointer;transition: all 120ms}.mobile-card-checkbox.checked{background: var(--rec-blue-500);border-color: var(--rec-blue-500)}.mobile-card-list{display: flex;flex-direction: column;gap: 10px}.review-drawer-overlay{position: fixed;inset: 0;z-index: 200;display: flex;justify-content: flex-end}.review-drawer-overlay-bg{position: absolute;inset: 0;background: rgba(15,24,38,.4);animation: fadeIn 160ms ease-out}.review-drawer{position: relative;width: 480px;max-width: 100%;height: 100%;background: var(--rec-ink-0);display: flex;flex-direction: column;box-shadow: -8px 0 32px rgba(15,24,38,.18);animation: slideInRight 220ms cubic-bezier(.32,.72,.32,1)}.review-drawer-head{padding: 16px 20px;border-bottom: 1px solid var(--rec-ink-200);display: flex;align-items: center;gap: 12px;flex-shrink: 0}.review-drawer-head-title{font-size: 15px;font-weight: 600;color: var(--rec-ink-900)}.review-drawer-head-meta{font-size: var(--rec-fs-sm);color: var(--rec-ink-500);margin-top: 2px}.review-drawer-close-btn{width: 28px;height: 28px;border: none;background: var(--rec-ink-50);border-radius: var(--rec-radius-sm);cursor: pointer;display: flex;align-items: center;justify-content: center;color: var(--rec-ink-500);flex-shrink: 0}.review-drawer-body{flex: 1;overflow-y: auto;padding: 12px 16px;min-height: 0}.review-drawer-row{display: flex;gap: 10px;padding: 10px;background: var(--rec-ink-0);border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-md);align-items: center}.review-drawer-row-num{width: 22px;text-align: center;flex-shrink: 0;font-size: var(--rec-fs-xs);font-weight: 600;color: var(--rec-ink-400);font-variant-numeric: tabular-nums}.review-drawer-row-cover{width: 44px;height: 44px;border-radius: var(--rec-radius-sm);flex-shrink: 0;display: flex;align-items: center;justify-content: center;font-size: 16px;font-weight: 700;color: var(--rec-ink-0)}.review-drawer-row-body{flex: 1;min-width: 0}.review-drawer-row-remove{width: 26px;height: 26px;border: 1px solid var(--rec-ink-200);background: var(--rec-ink-0);border-radius: 5px;cursor: pointer;display: flex;align-items: center;justify-content: center;color: var(--rec-ink-400);flex-shrink: 0}.review-drawer-foot{padding: 14px 20px;border-top: 1px solid var(--rec-ink-200);background: #FAFBFD;flex-shrink: 0}.review-drawer-note-label{font-size: 11.5px;font-weight: 600;color: var(--rec-ink-500);display: block;margin-bottom: 6px}.review-drawer-note-textarea{width: 100%;min-height: 56px;resize: vertical;padding: 8px 10px;border: 1px solid var(--rec-ink-200);border-radius: var(--rec-radius-sm);font-size: 12.5px;font-family: var(--rec-font-sans);color: var(--rec-ink-900);outline: none;box-sizing: border-box}.review-drawer-note-textarea:focus{border-color: var(--rec-blue-500);box-shadow: var(--rec-shadow-focus)}.review-drawer-foot-actions{display: flex;gap: 8px;margin-top: 10px}.review-drawer-cancel-btn{flex: 1;padding: 9px 12px;border: 1px solid var(--rec-ink-200);background: var(--rec-ink-0);color: var(--rec-ink-900);border-radius: var(--rec-radius-sm);cursor: pointer;font-size: var(--rec-fs-md);font-weight: 600;font-family: var(--rec-font-sans)}.review-drawer-save-btn{flex: 1;padding: 9px 12px;border: none;background: var(--rec-blue-500);color: var(--rec-ink-0);border-radius: var(--rec-radius-sm);cursor: pointer;font-size: var(--rec-fs-md);font-weight: 600;font-family: var(--rec-font-sans)}.review-drawer-save-btn:disabled{background: var(--rec-ink-300);cursor: not-allowed}@media (max-width: 720px){.review-drawer{width: 100%;animation: sheetUp 220ms cubic-bezier(.2,.8,.2,1)}}.save-confirm-toast:not([closing]){animation: toastIn 240ms cubic-bezier(.32,.72,.32,1)}.save-confirm-toast[closing]{animation: toastOut 200ms cubic-bezier(.32,.72,.32,1) forwards}@keyframes toastOut{from{opacity: 1;transform: translateY(0)}to{opacity: 0;transform: translateY(-8px)}}.save-confirm-box{background: var(--rec-ink-900);color: var(--rec-ink-0);padding: 12px 18px;border-radius: var(--rec-radius-lg);display: flex;align-items: center;gap: 12px;box-shadow: 0 8px 28px rgba(15,24,38,.28);min-width: 280px}.save-confirm-icon-circle{width: 28px;height: 28px;border-radius: 50%;background: #1F8A5B;display: flex;align-items: center;justify-content: center;flex-shrink: 0}.save-confirm-title{font-size: 13.5px;font-weight: 600}.save-confirm-subtitle{font-size: 11.5px;color: var(--rec-ink-400);margin-top: 2px}.sticky-bar{padding: 12px 24px;display: flex;align-items: center;gap: 12px;flex-shrink: 0;transition: background 200ms}.sticky-bar.empty{background: var(--rec-ink-0);border-top: 1px solid var(--rec-ink-200)}.sticky-bar.active{background: var(--rec-ink-900);color: var(--rec-ink-0);box-shadow: 0 -4px 16px rgba(15,24,38,.12)}.sticky-bar-empty-info{font-size: var(--rec-fs-sm);color: var(--rec-ink-500)}.sticky-bar-empty-hint{margin-left: auto;font-size: 11.5px;color: var(--rec-ink-400);display: flex;align-items: center;gap: 6px}.sticky-bar-active-count-badge{width: 32px;height: 32px;border-radius: 50%;background: var(--rec-blue-500);color: var(--rec-ink-0);display: flex;align-items: center;justify-content: center;font-size: var(--rec-fs-md);font-weight: 700;font-variant-numeric: tabular-nums;flex-shrink: 0}.sticky-bar-active-info{flex: 1;min-width: 0}.sticky-bar-active-title{font-size: var(--rec-fs-lg);font-weight: 600}.sticky-bar-active-subtitle{font-size: 11.5px;color: var(--rec-ink-400);margin-top: 2px}.sticky-bar-clear-btn{background: transparent;border: 1px solid rgba(255,255,255,.2);color: var(--rec-ink-300);padding: 7px 12px;border-radius: var(--rec-radius-sm);cursor: pointer;font-size: var(--rec-fs-sm);font-family: var(--rec-font-sans);flex-shrink: 0}.sticky-bar-review-btn{background: var(--rec-ink-0);border: none;color: var(--rec-ink-900);padding: 8px 14px;border-radius: var(--rec-radius-sm);cursor: pointer;font-size: 12.5px;font-weight: 600;font-family: var(--rec-font-sans);flex-shrink: 0;display: inline-flex;align-items: center;gap: 5px}.sticky-bar-save-btn{background: var(--rec-blue-500);border: none;color: var(--rec-ink-0);padding: 8px 16px;border-radius: var(--rec-radius-sm);cursor: pointer;font-size: 12.5px;font-weight: 600;font-family: var(--rec-font-sans);flex-shrink: 0}@media (max-width: 720px){.sticky-bar{padding: 10px 14px;gap: 8px}.sticky-bar-review-btn{padding: 7px 10px}.sticky-bar-save-btn{padding: 7px 12px}.sticky-bar-clear-btn{padding: 6px 8px}}.filter-bottom-sheet-overlay{position: fixed;inset: 0;z-index: 100;background: rgba(15,24,38,.45);display: flex;align-items: flex-end}.filter-bottom-sheet{width: 100%;max-height: 85vh;background: var(--rec-ink-0);border-radius: 16px 16px 0 0;display: flex;flex-direction: column;overflow: hidden;animation: sheetUp 220ms var(--rec-ease-out)}.filter-bottom-sheet-head{padding: 10px 16px;border-bottom: 1px solid var(--rec-ink-100);display: flex;align-items: center;justify-content: space-between;flex-shrink: 0}.filter-bottom-sheet-head .title{font-size: var(--rec-fs-lg);font-weight: 600;color: var(--rec-ink-900)}.filter-bottom-sheet-head .close-btn{background: transparent;border: none;cursor: pointer;padding: 4px;color: var(--rec-ink-500)}.filter-bottom-sheet-content{flex: 1;overflow-y: auto}.filter-bottom-sheet-foot{padding: 10px 16px;border-top: 1px solid var(--rec-ink-100);flex-shrink: 0}.result-page-root{flex: 1;display: flex;flex-direction: column;min-height: 0;background: var(--rec-ink-50)}.result-content-area{flex: 1;display: flex;min-height: 0;overflow: hidden}.result-list-area{flex: 1;min-width: 0;display: flex;flex-direction: column;overflow: hidden}.result-scroll-area{flex: 1;min-height: 0;overflow-y: auto;padding: 16px}@media (max-width: 720px){.facet-sidebar{display: none}.result-scroll-area{padding: 12px}.result-checkbox{width: 20px;height: 20px;border-radius: 5px}}.category-tab-strip{display: flex;align-items: center;gap: 6px;padding: 10px 16px;background: var(--rec-ink-0);border-bottom: 1px solid var(--rec-ink-200);overflow-x: auto;flex-shrink: 0;scrollbar-width: thin}.category-tab-strip__label{font-size: 10.5px;font-weight: 600;color: var(--rec-ink-400);letter-spacing: .06em;text-transform: uppercase;margin-right: 4px;flex-shrink: 0}.category-tab-strip__tab{flex-shrink: 0;padding: 5px 11px;border-radius: var(--rec-radius-sm);border: 1px solid var(--rec-ink-200);background: var(--rec-ink-0);color: var(--rec-ink-700);font-size: var(--rec-fs-md);font-weight: 500;cursor: pointer;display: inline-flex;align-items: center;gap: 5px;transition: all 120ms;user-select: none}.category-tab-strip__tab:hover{border-color: var(--rec-ink-300)}.category-tab-strip__tab.active{background: var(--rec-ink-900);border-color: var(--rec-ink-900);color: var(--rec-ink-0);font-weight: 600}.category-tab-strip__count{font-variant-numeric: tabular-nums;color: var(--rec-ink-400);font-weight: 500}.category-tab-strip__tab.active .category-tab-strip__count{color: rgba(255,255,255,.7)}@media (max-width: 720px){.category-tab-strip{padding: 8px 12px}}.drawer-tag-chip{padding: 2px 9px;border-radius: var(--rec-radius-pill);background: var(--rec-blue-50);color: var(--rec-blue-700);border: 1px solid #D6E6FF;font-size: 11.5px;font-weight: 500;white-space: nowrap}.drawer-tag-chip.archived{opacity: .55;text-decoration: line-through}.ph-rec-card__header-hint{font-size: 11.5px;font-weight: 400;color: var(--rec-ink-500)}.ph-rec-dropdown-trigger{padding: 6px 10px;border: 1px solid #E3E8EF;border-radius: 6px;background: #fff;font-size: 12px;color: #4B5563;cursor: pointer;display: inline-flex;align-items: center;gap: 6px}.ph-rec-dropdown-trigger--active{border-color: #1D6FE0;background: #EEF5FF;color: #0F4897}.ph-rec-dropdown-trigger__clear{margin-left: -6px;padding: 6px 8px;border: none;background: transparent;color: #0F4897;cursor: pointer}.ph-rec-selected-chips-row{display: flex;flex-wrap: wrap;gap: 6px;align-items: center;padding: 8px 10px;background: #F6F8FA;border-radius: 6px}.ph-rec-selected-chips-row__prefix{font-size: 11px;color: #9AA3B2;margin-right: 4px}.ph-rec-selected-chip{padding: 3px 9px;border-radius: 4px;background: #fff;border: 1px solid #D6E6FF;font-size: 11.5px;color: #0F4897;cursor: pointer}.ph-rec-cat-dropdown{border: 1px solid #E3E8EF;border-radius: 8px;background: #fff;box-shadow: 0 8px 24px rgba(15,24,38,.08);padding: 10px;max-height: 360px;display: flex;flex-direction: column}.ph-rec-cat-dropdown__search{padding: 7px 10px;border: 1px solid #E3E8EF;border-radius: 6px;font-size: 12.5px;margin-bottom: 8px;outline: none}.ph-rec-cat-dropdown__list{overflow-y: auto;display: flex;flex-direction: column;gap: 2px}.ph-rec-cat-dropdown__item{padding: 7px 10px;text-align: left;border: none;background: transparent;color: #0F1826;border-radius: 4px;font-size: 12.5px;cursor: pointer}.ph-rec-cat-dropdown__item:hover{background: #EEF5FF}.ph-rec-cat-dropdown__empty{padding: 12px;text-align: center;color: #9AA3B2;font-size: 12px}.ph-rec-tag-dropdown{border: 1px solid #E3E8EF;border-radius: 8px;background: #fff;box-shadow: 0 8px 24px rgba(15,24,38,.08);padding: 12px;max-height: 420px;display: flex;flex-direction: column}.ph-rec-tag-dropdown__search{padding: 7px 10px;border: 1px solid #E3E8EF;border-radius: 6px;font-size: 12.5px;margin-bottom: 6px;outline: none}.ph-rec-tag-dropdown__hint{font-size: 11px;color: #6B7280;margin-bottom: 8px}.ph-rec-tag-dropdown__body{overflow-y: auto;display: flex;flex-direction: column;gap: 12px}.ph-rec-tag-dropdown__dim-label{font-size: 11px;color: #9AA3B2;text-transform: uppercase;letter-spacing: .06em;margin-bottom: 6px;display: block}.ph-rec-tag-dropdown__chips{display: flex;flex-wrap: wrap;gap: 6px}.ph-rec-tag-dropdown__chip{padding: 5px 10px;border-radius: 999px;font-size: 11.5px;border: 1px solid #E3E8EF;background: #fff;color: #4B5563;cursor: pointer}.ph-rec-tag-dropdown__chip--active{border-color: #1D6FE0;background: #1D6FE0;color: #fff}.ph-rec-edit-panel{padding: 24px 32px 80px}.ph-rec-edit-panel__inner{max-width: 1200px;min-width: 1020px;margin: 0 auto}.ph-rec-edit-panel__header{margin-bottom: 18px;display: flex;align-items: baseline;gap: 12px;flex-wrap: wrap}.ph-rec-edit-panel__title{margin: 0;font-size: 20px;font-weight: 700;letter-spacing: -0.01em;color: #0F1826;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.ph-rec-edit-panel__subtitle{font-size: 12.5px;color: var(--ph-ink-400)}.ph-rec-edit-panel__grid{display: grid;grid-template-columns: minmax(0,1fr) 300px;gap: 20px;align-items: start}.ph-rec-edit-panel__left{display: flex;flex-direction: column;gap: 16px;min-width: 0}.ph-rec-edit-panel__right{display: flex;flex-direction: column;gap: 14px;position: sticky;top: 16px}.ph-pu-identity-card__empty{font-size: 12px;color: var(--ph-ink-400);line-height: 1.6}.ph-pu-identity-card__path{font-size: 11px;color: var(--ph-ink-400);margin-bottom: 8px}.ph-pu-identity-card__chips{display: flex;flex-wrap: wrap;gap: 5px;margin-bottom: 12px}.ph-pu-identity-card__chips-empty{font-size: 11.5px;color: var(--ph-ink-300)}.ph-pu-identity-card__chip{display: inline-flex;align-items: center;gap: 4px;padding: 2px 8px;border-radius: 4px;background: var(--ph-blue-50);border: 1px solid var(--ph-blue-100);font-size: 11.5px;color: #1B3A6B;font-family: var(--font-mono);white-space: nowrap}.ph-pu-identity-card__status{padding: 10px 12px;border-radius: 7px;margin-bottom: 4px}.ph-pu-identity-card__status--incomplete{background: var(--ph-ink-50);border: 1px solid var(--ph-ink-100)}.ph-pu-identity-card__status--unique{background: var(--ph-success-50);border: 1px solid #CDE7D6}.ph-pu-identity-card__status--duplicate{background: var(--ph-danger-50);border: 1px solid #F6C9C7}.ph-pu-identity-card__status-title{font-size: 12px;font-weight: 600;color: var(--ph-ink-900)}.ph-pu-identity-card__status--unique .ph-pu-identity-card__status-title{color: var(--ph-success-600)}.ph-pu-identity-card__status--duplicate .ph-pu-identity-card__status-title{color: var(--ph-danger-600)}.ph-pu-identity-card__status-sub{font-size: 11px;color: var(--ph-ink-500);margin-top: 3px;line-height: 1.5}.ph-pu-identity-card__dup-link{margin-top: 7px;padding: 0;border: none;background: transparent;font-size: 11.5px;font-weight: 600;color: var(--ph-danger-600);cursor: pointer}.ph-pu-identity-card__rules-wrap{margin-top: 13px;border-top: 1px dashed var(--ph-ink-100);padding-top: 11px}.ph-pu-identity-card__rules-title{font-size: 11px;font-weight: 600;color: var(--ph-ink-400);letter-spacing: .05em;margin-bottom: 7px}.ph-pu-identity-card__rules{display: flex;flex-direction: column;gap: 6px}.ph-pu-identity-card__rules-empty{font-size: 11.5px;color: var(--ph-ink-300)}.ph-pu-identity-card__rule-row{display: flex;gap: 7px;align-items: baseline;font-size: 11.5px}.ph-pu-identity-card__rule-dot{width: 6px;height: 6px;border-radius: 50%;flex-shrink: 0;position: relative;top: -1px;display: inline-block}.ph-pu-identity-card__rule-dot--matched{background: var(--ph-amber-500)}.ph-pu-identity-card__rule-dot--unmatched{background: var(--ph-ink-300)}.ph-pu-identity-card__rule-name{color: var(--ph-ink-500);flex: 1;line-height: 1.45}.ph-rec-actions-sidebar__messages:empty{display: none}.ph-rec-actions-sidebar__error-box{padding: 10px 12px;border-radius: 7px;background: var(--ph-danger-50);border: 1px solid #F6C9C7;margin-bottom: 12px}.ph-rec-actions-sidebar__error-title{font-size: 12px;font-weight: 600;color: var(--ph-danger-600);margin-bottom: 5px}.ph-rec-actions-sidebar__error-row{font-size: 11.5px;color: var(--ph-danger-600)}.ph-rec-actions-sidebar__success-box{padding: 10px 12px;border-radius: 7px;background: var(--ph-success-50);border: 1px solid #CDE7D6;margin-bottom: 12px}.ph-rec-actions-sidebar__success-title{font-size: 12.5px;font-weight: 600;color: var(--ph-success-600)}.ph-rec-actions-sidebar__success-name{font-size: 11.5px;color: var(--ph-success-600);margin-top: 3px}.ph-rec-actions-sidebar__success-link{display: inline-block;margin-top: 6px;padding: 0;border: none;background: transparent;font-size: 11.5px;font-weight: 600;color: var(--ph-blue-500);cursor: pointer}.ph-rec-field-row-inline{display: grid;grid-template-columns: 120px 1fr;gap: 12px;margin-bottom: 10px;align-items: center}.ph-rec-field-row-inline__label{font-size: 12px;color: #6B7280}.ph-rec-field-row-inline__hint{margin-left: 8px;font-size: 11px;color: #9AA3B2}.ph-rec-inline-input{width: 100%;box-sizing: border-box;padding: 7px 10px;font-family: inherit;font-size: 13px;color: #0F1826;background: #fff;border: 1px solid #E3E8EF;border-radius: 6px;outline: none;transition: border-color 120ms,box-shadow 120ms}.ph-rec-inline-input:hover{border-color: #C9D0DA}.ph-rec-inline-input:focus{border-color: #1D6FE0;box-shadow: 0 0 0 3px #EEF5FF}.ph-rec-inline-input::placeholder{color: #9AA3B2}.ph-rec-inline-input--invalid,.ph-rec-inline-input--invalid:focus{border-color: #DC2626;box-shadow: 0 0 0 3px #FEE2E2}.ph-rec-measurement-input--pills{display: flex;align-items: center;gap: 6px;flex-wrap: wrap}.ph-rec-measurement-input--pills .ph-rec-measurement-input__pill{display: flex;align-items: center;overflow: hidden;background: #fff;border: 1px solid #E3E8EF;border-radius: 6px}.ph-rec-measurement-input--pills .ph-rec-measurement-input__axis{height: 32px;padding: 0 8px;display: inline-flex;align-items: center;white-space: nowrap;font-size: 11px;line-height: normal;color: #667085;background: #F8FAFC;border-right: 1px solid #EEF1F5}.ph-rec-measurement-input--pills .ph-rec-measurement-input__field{width: 64px;max-width: none;height: 32px;padding: 0 8px;border: none;border-radius: 0;background: transparent;text-align: right;font-family: var(--font-mono);font-size: 12.5px;font-variant-numeric: tabular-nums}.ph-rec-measurement-input--pills .ph-rec-measurement-input__field:hover,.ph-rec-measurement-input--pills .ph-rec-measurement-input__field:focus{border: none;box-shadow: none}.ph-rec-measurement-input--pills .ph-rec-measurement-input__pill:focus-within{border-color: #1D6FE0;box-shadow: 0 0 0 3px rgba(29,111,224,.22)}.ph-rec-measurement-input--pills .ph-rec-measurement-input__sep{font-size: 12px;line-height: normal;color: #9AA3B2}.ph-rec-measurement-input--pills .ph-rec-measurement-input__unit{font-size: 11.5px;line-height: normal;color: #667085}.ph-rec-field-error{display: none;margin-top: 4px;font-size: 11.5px;color: #DC2626;line-height: 1.4}.ph-rec-field-error--show{display: block}.ph-rec-chip-button{padding: 4px 10px;border-radius: 5px;cursor: pointer;border: 1px solid #E3E8EF;background: #fff;color: #4B5563;font-weight: 500;font-size: 12px}.ph-rec-chip-button--active{border-color: #1D6FE0;background: #EEF5FF;color: #0F4897;font-weight: 600}.ph-rec-attr-group{padding: 10px 20px 14px}.ph-rec-attr-group__label{font-size: 11px;font-weight: 600;color: #9AA3B2;letter-spacing: .06em;text-transform: uppercase;display: block;margin-bottom: 8px}.ph-rec-attr-field{margin-bottom: 14px}.ph-rec-attr-field__header{display: flex;align-items: baseline;gap: 8px;margin-bottom: 6px;flex-wrap: wrap}.ph-rec-attr-field__name{font-size: 13px;font-weight: 500;color: #0F1826}.ph-rec-attr-field__required{font-size: 11px;color: #DC2626;font-weight: 600}.ph-rec-attr-field__type{font-size: 11px;padding: 1px 6px;border-radius: 3px;background: #EEF5FF;color: #0F4897;font-weight: 500}.ph-rec-attr-field__type--image{background: #FEF3C7;color: #A06D00}.ph-rec-attr-field__type--text{background: #F0F4F8;color: #6B7280}.ph-rec-attr-field__hint{margin-left: auto;font-size: 11px;color: #9AA3B2}.ph-rec-attr-field__no-options{font-size: 11.5px;color: #9AA3B2}.ph-rec-attr-chip-row{display: flex;flex-wrap: wrap;gap: 6px}.ph-rec-attr-swatch-row{display: flex;flex-wrap: wrap;gap: 8px}.ph-rec-attr-swatch{padding: 4px;border-radius: 8px;cursor: pointer;border: 2px solid transparent;background: transparent;display: inline-flex;flex-direction: column;align-items: center;gap: 4px;user-select: none}.ph-rec-attr-swatch--active{border-color: #1D6FE0}.ph-rec-attr-swatch__preview{width: 48px;height: 48px;border-radius: 6px;background: #E3E8EF;border: 1px solid rgba(15,24,38,.08);overflow: hidden}.ph-rec-attr-swatch__img{width: 100%;height: 100%;object-fit: cover;display: block}.ph-rec-attr-swatch__label{font-size: 11px;color: #4B5563;font-weight: 500}.ph-rec-attr-swatch--active .ph-rec-attr-swatch__label{color: #0F4897;font-weight: 600}.ph-rec-tags-card__facet-badge{margin-left: 8px;padding: 2px 8px;border-radius: 999px;background: #FFF7E6;color: #C87A05;font-size: 11px;font-weight: 500}.ph-rec-tags-card__count{font-size: 11.5px;color: #9AA3B2;font-variant-numeric: tabular-nums}.ph-rec-tags-card__count--ok{color: #0F1826;font-weight: 600}.ph-rec-tags-card__desc{font-size: 12px;color: #6B7280;margin-bottom: 14px}.ph-rec-tags-card__lib-link{color: #1D6FE0;text-decoration: none}.ph-rec-tags-card__lib-link:hover{text-decoration: underline}.ph-rec-tags-card__dim{margin-bottom: 14px}.ph-rec-tags-card__dim-header{display: flex;align-items: center;gap: 6px;margin-bottom: 8px}.ph-rec-tags-card__dim-name{font-size: 13px;font-weight: 600;color: #0F1826}.ph-rec-tags-card__dim-required{font-size: 11px;color: #DC2626;font-weight: 600}.ph-rec-tags-card__dim-type{font-size: 11px;padding: 1px 6px;border-radius: 3px;background: #EEF5FF;color: #0F4897;font-weight: 500}.ph-rec-tags-card__dim-code{font-size: 11px;padding: 1px 6px;border-radius: 3px;background: #F0F4F8;color: #6B7280;font-weight: 500;font-family: var(--font-mono)}.ph-rec-tags-card__chips{display: flex;flex-wrap: wrap;gap: 6px}.ph-rec-price-rows__header,.ph-rec-price-row{display: grid;grid-template-columns: 1fr 1fr 28px;column-gap: 8px}.ph-rec-price-rows__header{margin-bottom: 6px;font-size: 11px;color: #9AA3B2;font-weight: 500;align-items: center}.ph-rec-price-row{margin-bottom: 8px;row-gap: 4px;align-items: center}.ph-rec-price-row__delete{width: 28px;height: 28px;border: 1px solid #E3E8EF;border-radius: 5px;background: #fff;cursor: pointer;color: #9AA3B2}.ph-rec-price-row__input{font-family: var(--font-mono)}.ph-rec-price-row__error{grid-column: 2}.ph-rec-price-rows__empty{font-size: 11.5px;color: #9AA3B2;margin-top: 10px}.ph-rec-img-tabs{padding: 10px 20px 0;display: flex;gap: 4px;flex-wrap: wrap;border-bottom: 1px solid #EEF1F5}.ph-rec-img-tab{padding: 8px 12px;border: none;background: transparent;border-bottom: 2px solid transparent;margin-bottom: -1px;cursor: pointer;font-size: 13px;font-weight: 500;color: #6B7280;display: inline-flex;align-items: center;gap: 6px}.ph-rec-img-tab--active{border-color: #1D6FE0;color: #0F4897;font-weight: 600}.ph-rec-img-tab__pill{font-size: 10.5px;font-weight: 600;padding: 1px 6px;border-radius: 999px;background: #F0F4F8;color: #6B7280;line-height: 1.4}.ph-rec-img-tab--active .ph-rec-img-tab__pill{background: #EEF5FF;color: #0F4897}.ph-rec-img-grid{padding: 16px 20px}.ph-rec-img-grid__hint{font-size: 11.5px;color: #6B7280;margin-bottom: 10px;display: flex;align-items: center;gap: 4px}.ph-rec-img-grid__hint-counter{margin-left: auto;font-variant-numeric: tabular-nums;color: #9AA3B2}.ph-rec-img-grid__hint-counter--full{color: #C87A05}.ph-rec-img-grid__items{display: grid;grid-template-columns: repeat(5,1fr);gap: 10px}.ph-rec-img-tile{position: relative;aspect-ratio: 1/1;border-radius: 8px;overflow: hidden;border: 1.5px solid #E3E8EF}.ph-rec-img-tile--cover{border: 2px solid #1D6FE0;box-shadow: 0 0 0 3px #EEF5FF}.ph-rec-img-tile__img{width: 100%;height: 100%;object-fit: cover}.ph-rec-img-tile__order{position: absolute;top: 6px;left: 6px;font-size: 10px;font-weight: 600;padding: 1px 6px;border-radius: 3px;background: rgba(15,24,38,.7);color: #fff}.ph-rec-img-tile__cover-badge{position: absolute;bottom: 6px;left: 6px;font-size: 10px;font-weight: 600;padding: 1px 7px;border-radius: 3px;background: #1D6FE0;color: #fff}.ph-rec-img-tile__actions{position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 6px;background: rgba(15,24,38,.55);opacity: 0;transition: opacity 120ms;cursor: default}.ph-rec-img-tile:hover .ph-rec-img-tile__actions,.ph-rec-asset-tile:hover .ph-rec-img-tile__actions{opacity: 1}.ph-rec-img-tile__nav{display: flex;gap: 4px}.ph-rec-img-tile__nav-btn{width: 26px;height: 26px;border-radius: 4px;border: none;background: rgba(255,255,255,.92);color: #0F1826;display: inline-flex;align-items: center;justify-content: center;font-size: 12px;cursor: pointer;user-select: none;text-decoration: none}.ph-rec-img-tile__nav-btn:hover{background: #fff}.ph-rec-img-tile__nav-btn:visited{color: #0F1826}.ph-rec-img-tile__nav-btn[disabled]{opacity: 0.4;cursor: not-allowed;pointer-events: none}.ph-rec-img-tile__btn-cover{padding: 4px 10px;border-radius: 4px;background: #fff;color: #1D6FE0;font-weight: 600;font-size: 11px;cursor: pointer;user-select: none}.ph-rec-img-tile__btn-cover:hover{background: #EEF5FF}.ph-rec-img-tile__btn-remove{padding: 4px 10px;border-radius: 4px;background: #DC2626;color: #fff;font-weight: 600;font-size: 11px;cursor: pointer;user-select: none}.ph-rec-img-tile__btn-remove:hover{background: #B91C1C}.ph-rec-img-tile-add-wrap{aspect-ratio: 1/1}.ph-rec-img-tile-add-wrap vaadin-upload{width: 100%;height: 100%;padding: 0;border: none;background: transparent}.ph-rec-img-tile-add-upload::part(primary-buttons){width: 100%;height: 100%;padding: 0;margin: 0}.ph-rec-img-tile-add-upload::part(drop-label){display: none !important}.ph-rec-img-tile-add-upload::part(drop-label-icon){display: none !important}.ph-rec-img-tile-add-upload::part(file-list){display: none !important}.ph-rec-img-tile-add-upload [slot="add-button"]{width: 100%;height: 100%}.ph-rec-img-tile-add{width: 100%;height: 100%;box-sizing: border-box;border: 1.5px dashed #C9D0DA;border-radius: 8px;background: #FAFCFE;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 4px;padding: 8px;text-align: center;cursor: pointer;transition: all 120ms;color: #6B7280}.ph-rec-img-tile-add:hover{border-color: #1D6FE0;background: #EEF5FF;color: #1D6FE0}.ph-rec-img-tile-add__icon{font-size: 22px;font-weight: 400;line-height: 1;color: #1D6FE0}.ph-rec-img-tile-add__title{font-size: 11.5px;font-weight: 500;color: #0F1826}.ph-rec-img-tile-add:hover .ph-rec-img-tile-add__title{color: #1D6FE0}.ph-rec-img-tile-add__counter{font-size: 10px;color: #9AA3B2}.ph-rec-img-preview-dialog__img{max-width: 78vw;max-height: 80vh;display: block;border-radius: 6px}.ph-rec-img-kpi{font-size: 11px;font-variant-numeric: tabular-nums;color: #6B7280;display: inline-flex;align-items: center;gap: 4px}.ph-rec-img-kpi--ok{color: #16A34A;font-weight: 600}.ph-rec-img-kpi--warn{color: #C87A05;font-weight: 600}.ph-rec-img-footer{margin: 12px 20px 4px;padding: 10px 12px;background: #F6F8FA;border: 1px dashed #E3E8EF;border-radius: 6px;font-size: 11.5px;color: #6B7280;display: flex;align-items: center;gap: 8px}.ph-rec-cover-sidebar__img{width: 100%;aspect-ratio: 1/1;object-fit: cover;border-radius: 10px;display: block}.ph-rec-cover-sidebar__hint{margin-top: 10px;font-size: 11px;color: #6B7280}.ph-rec-actions-sidebar__hint{padding: 12px;background: #F6F8FA;border-radius: 6px;font-size: 12px;color: #6B7280}.ph-rec-review-banner{margin-bottom: 14px;padding: 12px 16px;background: #FFF7E6;border: 1px solid #FFE0A8;border-radius: 8px;display: flex;gap: 12px;align-items: center;flex-wrap: wrap}.ph-rec-review-banner__title{font-size: 13px;font-weight: 600;color: #8C5800;display: block}.ph-rec-review-banner__sub{font-size: 11.5px;color: #8C5800;margin-top: 2px;display: block}.ph-rec-review-banner__actions{display: flex;gap: 6px}.ph-rec-review-banner--rejected{background: var(--ph-danger-50);border-color: #F6C9C7}.ph-rec-review-banner--rejected .ph-rec-review-banner__title,.ph-rec-review-banner--rejected .ph-rec-review-banner__sub{color: var(--ph-danger-600)}.ph-pu-identity__header-actions{display: flex;gap: 8px}.ph-pu-identity__readonly{display: flex;flex-direction: column;gap: 8px}.ph-pu-identity__meta{font-size: 11px;color: var(--ph-ink-400)}.ph-pu-identity__chips{display: flex;flex-wrap: wrap;gap: 5px}.ph-pu-identity__chip{display: inline-flex;align-items: center;gap: 4px;padding: 3px 9px;border-radius: 4px;background: var(--ph-blue-50);border: 1px solid var(--ph-blue-100);font-size: 12px;color: #1B3A6B;font-family: var(--font-mono);white-space: nowrap}.ph-pu-identity__chip-key{color: var(--ph-ink-400);font-size: 11px}.ph-pu-identity__chip-value{font-weight: 600}.ph-pu-identity__unique-note{margin-top: 2px;padding: 6px 10px;background: var(--ph-success-50);border-radius: 6px;font-size: 11.5px;color: var(--ph-success-600);display: inline-flex;align-items: center;gap: 6px;width: fit-content}.ph-pu-identity__warning{margin-top: 6px;padding: 9px 12px;border-radius: 7px;background: #FFF7E6;border: 1px solid #FFE0A8;font-size: 11.5px;color: #8C5800;display: flex;align-items: center;gap: 7px}.ph-pu-identity__cat-picker{margin-top: 14px}.ph-pu-identity__save-row{margin-top: 15px;display: flex;align-items: center;gap: 10px}.ph-pu-identity__check-text{font-size: 11.5px;color: var(--ph-ink-400)}.ph-pu-identity__check-text--ok{color: var(--ph-success-600)}.ph-pu-identity__check-text--danger{color: var(--ph-danger-600)}.ph-pu-products-table{display: flex;flex-direction: column}.ph-pu-products-table__row{display: grid;grid-template-columns: minmax(240px,1.6fr) 76px minmax(200px,1.2fr) 110px;gap: 12px;align-items: center;padding: 11px 0;border-bottom: 1px solid var(--ph-ink-100)}.ph-pu-products-table__row--head{font-size: 10.5px;font-weight: 600;color: var(--ph-ink-400);letter-spacing: .06em;padding: 9px 0;background: var(--ph-ink-50)}.ph-pu-products-table__name-cell{display: flex;align-items: center;gap: 10px;min-width: 0}.ph-pu-products-table__thumb{position: relative;flex-shrink: 0}.ph-pu-products-table__img-override-dot{position: absolute;bottom: -1px;right: -1px;width: 9px;height: 9px;border-radius: 50%;background: var(--ph-amber-500);border: 1.5px solid #fff}.ph-pu-products-table__name{font-size: 12.5px;font-weight: 500;color: var(--ph-ink-900);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;min-width: 0}.ph-pu-products-table__variants{display: flex;flex-wrap: wrap;gap: 4px}.ph-pu-products-table__variant-chip{display: inline-flex;align-items: center;padding: 1px 8px;border-radius: 999px;background: #fff;border: 1px solid var(--ph-ink-200);font-size: 11px;color: var(--ph-ink-500);white-space: nowrap}.ph-pu-products-table__price-cell{display: flex;align-items: center;justify-content: flex-end;gap: 4px}.ph-pu-products-table__price-override{font-size: 9.5px;padding: 1px 5px;border-radius: 3px;background: #FFF4E5;color: var(--ph-amber-600);font-weight: 600}.ph-pu-products-table__empty{padding: 12px 0;font-size: 13px;color: var(--ph-ink-400)}.ph-pu-products-table__view-all{margin-top: 6px;padding: 0;font-size: 12px}.ph-pu-detail__code{font-family: var(--font-mono);font-size: 12px;color: var(--ph-ink-400)}.ph-pu-detail__diecut-slot:empty{display: none}.ph-pu-detail__not-found{display: block;padding: 40px;font-size: 14px;color: var(--ph-ink-400)}.ph-pu-diecut-card__panel{background: #fff;border: 1px solid var(--ph-ink-200);border-radius: 8px;box-shadow: 0 1px 2px rgba(15,24,38,.04);overflow: hidden}.ph-pu-diecut-card__head{display: flex;align-items: center;gap: 8px;padding: 10px 12px;border-bottom: 1px solid var(--ph-ink-100)}.ph-pu-diecut-card__title{font-size: 12.5px;font-weight: 700;color: var(--ph-ink-900);line-height: normal}.ph-pu-diecut-card__placeholder{margin: 14px 12px;padding: 16px;min-height: 200px;border: 1.5px dashed var(--ph-ink-300);border-radius: 8px;background: #FAFBFD;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;text-align: center}.ph-pu-diecut-card__placeholder-title{font-size: 12.5px;font-weight: 500;color: var(--ph-ink-600)}.ph-pu-diecut-card__placeholder-hint{font-size: 11px;color: var(--ph-ink-400);max-width: 320px}.ph-pu-diecut-card__bound{display: flex;flex-direction: column;background: #fff;border: 1px solid var(--ph-ink-200);border-radius: 8px;box-shadow: 0 1px 2px rgba(15,24,38,.04);overflow: hidden}.ph-pu-diecut-card__bound [data-ph-scene-preview] .ph-dcs{border: 0;border-radius: 0}.ph-pu-diecut-card__preview-slot [data-ph-scene-preview] .ph-dcs__canvas{height: 540px}@media (max-width: 600px){.ph-pu-diecut-card__preview-slot [data-ph-scene-preview] .ph-dcs__canvas{height: 230px}}.ph-pu-diecut-card__unbind-row{display: flex;justify-content: flex-end;align-items: center;padding: 7px 12px;border-top: 1px solid var(--ph-ink-100);background: #fbfcfd}.ph-pu-diecut-card__unbind-btn{border: none;background: transparent;color: var(--ph-ink-400);font-size: 11.5px;cursor: pointer;padding: 0}.ph-pu-diecut-card__unbind-btn:hover{color: var(--ph-ink-600)}.ph-pu-ops__next-review-row{margin-top: 10px}.ph-pu-detail__meta-card{background: #fff;border: 1px solid var(--ph-ink-200);border-radius: 8px;box-shadow: 0 1px 2px rgba(15,24,38,.04);padding: 14px 16px;display: flex;flex-direction: column;gap: 8px;font-size: 11.5px}.ph-pu-detail__meta-row{display: flex;justify-content: space-between;gap: 8px}.ph-pu-detail__meta-key{color: var(--ph-ink-400)}.ph-pu-detail__meta-value{color: var(--ph-ink-900);font-weight: 600;text-align: right;font-family: var(--font-mono)}.ph-pu-ops__identity-warning{padding: 9px 11px;border-radius: 7px;background: #FFF7E6;border: 1px solid #FFE0A8;font-size: 11.5px;color: #8C5800;margin-bottom: 12px;line-height: 1.5}.ph-pu-ops__dirty-row{display: flex;align-items: center;gap: 6px;font-size: 11.5px;color: var(--ph-amber-600);margin-bottom: 10px;flex-wrap: wrap}.ph-pu-ops__dirty-dot{width: 7px;height: 7px;border-radius: 50%;background: var(--ph-amber-500)}.ph-pu-ops__primary,.ph-pu-ops__secondary{width: 100%;box-sizing: border-box}.ph-pu-ops__secondary{margin-top: 8px}.ph-pu-ops__caption{font-size: 10.5px;color: var(--ph-ink-400);margin-top: 10px;line-height: 1.6}.ph-rec-empty-hint{padding: 16px 20px;color: #9AA3B2;font-size: 12.5px}.ph-rec-actions-bottom-bar{margin-top: 24px;padding-top: 20px;border-top: 1px solid #E5E7EB;display: flex;justify-content: flex-end;gap: 12px}.ph-rec-actions-bottom-bar__hint{margin-left: auto;font-size: 12px;color: #6B7280;align-self: center}.ph-rec-img-tile__file{width: 100%;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 6px;background: #F3F4F6;border-radius: 8px}.ph-rec-img-tile__file-icon{font-size: 36px;line-height: 1}.ph-rec-img-tile__file-ext{font-size: 11px;font-weight: 600;color: #4B5563;letter-spacing: 0.5px;padding: 2px 8px;border-radius: 4px;background: #E5E7EB}.ph-rec-img-tile__file-link{font-size: 11px;color: #1D6FE0;text-decoration: none}.ph-rec-img-tile__file-link:hover{text-decoration: underline}.ph-rec-img-tile__file-hint{font-size: 10px;color: #9CA3AF}.ph-rec-dimension-input{display: flex;align-items: center;gap: 6px}.ph-rec-dimension-input__field{width: 80px}.ph-rec-dimension-input__field input{text-align: right;font-variant-numeric: tabular-nums}.ph-rec-dimension-input__sep{color: var(--rec-ink-400);font-size: 14px;user-select: none}.ph-rec-dimension-input__unit{color: var(--rec-ink-500);font-size: 12px;margin-left: 4px}.ph-rec-asset-tile{position: relative;aspect-ratio: 1 / 1;border-radius: 12px;background: #F6F7F9;border: 1px solid #E5E7EB;overflow: hidden;display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 16px 12px;box-sizing: border-box;transition: transform 120ms ease,box-shadow 120ms ease}.ph-rec-asset-tile:hover{transform: translateY(-2px);box-shadow: 0 4px 12px rgba(15,24,38,0.08)}.ph-rec-asset-tile__ext-badge{font-size: 22px;font-weight: 800;letter-spacing: 0.5px;color: #fff;padding: 8px 14px;border-radius: 8px;margin-bottom: 12px;line-height: 1}.ph-rec-asset-tile__ext-badge--pdf{background: #DC2626}.ph-rec-asset-tile__ext-badge--ai{background: #F59E0B}.ph-rec-asset-tile__ext-badge--cdr{background: #7C3AED}.ph-rec-asset-tile__ext-badge--zip{background: #4B5563}.ph-rec-asset-tile__filename{width: 100%;text-align: center;font-size: 12px;color: #0F1826;font-weight: 500;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;margin-bottom: 4px}.ph-rec-asset-tile__size{font-size: 11px;color: #6B7280}.ph-rec-img-tile__nav-btn--download{}.ph-rec-drawer__actions{position: sticky;bottom: 0;background: #fff;border-top: 1px solid #E3E8EF;padding: 12px 20px;display: flex;gap: 12px;justify-content: flex-end;z-index: 2}.ph-rec-drawer__actions__close{background: transparent;color: var(--rec-ink-500);border: 1px solid #E3E8EF}.ph-rec-drawer__actions__add{background: var(--rec-blue-500);color: #fff;border: none}.ph-rec-drawer__actions__add[disabled]{background: #C9D0DA;cursor: not-allowed}.ph-category-picker-trigger{width: 100%;display: flex;align-items: center;gap: 10px;padding: 5px 10px 5px 6px;min-height: 36px;background: var(--ph-bg-card,#fff);border: 1px solid var(--ph-border-default,#E3E8EF);border-radius: 6px;cursor: pointer;font-family: inherit;text-align: left;transition: border-color 120ms,box-shadow 120ms}.ph-category-picker-trigger--lg{padding: 8px 12px;min-height: 56px}.ph-category-picker-trigger--open{border-color: var(--ph-brand,#1D6FE0);box-shadow: 0 0 0 3px rgba(29,111,224,0.18)}.ph-category-picker-trigger--invalid{border-color: #DC2626}.ph-category-picker-trigger__label{flex: 1;min-width: 0;display: flex;flex-direction: column;gap: 2px}.ph-category-picker-trigger__name{font-size: 13px;font-weight: 500;color: var(--ph-text-primary,#0F1826);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.ph-category-picker-trigger--placeholder .ph-category-picker-trigger__name{color: #9AA3B2;font-weight: 400}.ph-category-picker-trigger__path{font-size: 11.5px;color: var(--ph-text-tertiary,#6B7280);display: flex;align-items: center;gap: 4px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.ph-category-picker-trigger__path-sep{color: #C9D0DA}.ph-category-picker-trigger__caret{width: 14px;height: 14px;background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236B7280" stroke-width="2" stroke-linecap="round"><path d="M6 9l6 6 6-6"/></svg>') center/contain no-repeat;flex-shrink: 0;margin-right: 4px;transition: transform 120ms}.ph-category-picker-trigger--open .ph-category-picker-trigger__caret{transform: rotate(180deg)}.ph-category-picker-trigger__thumb-empty{width: 26px;height: 26px;border-radius: 4px;background: var(--ph-bg-page,#F6F8FA);border: 1px dashed #C9D0DA;flex-shrink: 0}.ph-category-picker-trigger--lg .ph-category-picker-trigger__thumb-empty{width: 40px;height: 40px;border-radius: 6px}.ph-category-picker-panel{background: var(--ph-bg-card,#fff);border-radius: 10px;box-shadow: 0 20px 50px rgba(15,24,38,0.16);overflow: hidden;width: 560px;max-width: calc(100vw - 32px)}.ph-category-picker-panel--cards{width: 560px}.ph-category-picker-crumbs{padding: 12px 14px 0;display: flex;align-items: center;flex-wrap: wrap;gap: 4px;font-size: 12px}.ph-category-picker-crumbs__seg{padding: 2px 6px;border-radius: 4px;cursor: pointer;color: var(--ph-brand,#1D6FE0)}.ph-category-picker-crumbs__seg--current{color: var(--ph-text-primary,#0F1826);font-weight: 600;cursor: default}.ph-category-picker-crumbs__sep{color: #C9D0DA}.ph-category-picker-search{margin: 8px 14px 0;height: 32px;padding: 0 10px;background: var(--ph-bg-page,#F6F8FA);border-radius: 5px;border: none;outline: none;font-size: 12.5px;font-family: inherit;color: var(--ph-text-primary,#0F1826);box-sizing: border-box;display: block;width: calc(100% - 28px)}.ph-category-picker-grid{padding: 14px;max-height: 360px;overflow-y: auto;display: grid;grid-template-columns: repeat(4,1fr);gap: 10px}.ph-category-picker-grid__empty{grid-column: 1 / -1;padding: 28px;text-align: center;color: #9AA3B2;font-size: 12.5px}.ph-category-picker-grid__card{background: var(--ph-bg-card,#fff);border: 1.5px solid var(--ph-border-default,#E3E8EF);border-radius: 8px;padding: 8px;cursor: pointer;display: flex;flex-direction: column;align-items: center;gap: 6px;position: relative;transition: border-color 120ms,transform 120ms}.ph-category-picker-grid__card:hover{border-color: #C9D0DA;transform: translateY(-1px)}.ph-category-picker-grid__card--selected{background: #EEF5FF;border-color: var(--ph-brand,#1D6FE0)}.ph-category-picker-grid__card-name{font-size: 12px;font-weight: 500;color: var(--ph-text-primary,#0F1826);text-align: center;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;width: 100%}.ph-category-picker-grid__card-badge{position: absolute;top: 6px;right: 6px;font-size: 9px;padding: 1px 5px;border-radius: 3px;background: #F0F4F8;color: var(--ph-text-tertiary,#6B7280);font-weight: 500}.ph-category-picker-footer{padding: 8px 14px;border-top: 1px solid #EEF1F5;background: #FAFBFC;font-size: 11px;color: #9AA3B2;display: flex;justify-content: space-between}.ph-category-picker-footer__hint{font-style: italic}@media (max-width: 720px){.ph-category-picker-panel--cards{width: calc(100vw - 32px)}.ph-category-picker-grid{grid-template-columns: repeat(2,1fr)}}.ph-category-picker-panel--dropdown{width: max(320px,var(--trigger-width,320px))}.ph-category-picker-list{max-height: 320px;overflow-y: auto}.ph-category-picker-list__empty{padding: 28px;text-align: center;color: #9AA3B2;font-size: 12.5px}.ph-category-picker-list__row{display: flex;align-items: center;gap: 10px;padding: 8px 12px;cursor: pointer;border-left: 3px solid transparent;transition: background-color 80ms}.ph-category-picker-list__row:hover{background: #FAFCFE}.ph-category-picker-list__row--selected{background: #EEF5FF;border-left-color: var(--ph-brand,#1D6FE0)}.ph-category-picker-list__row-label{flex: 1;min-width: 0}.ph-category-picker-list__row-name{font-size: 13px;font-weight: 500;color: var(--ph-text-primary,#0F1826);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.ph-category-picker-list__row-crumb{font-size: 11px;color: #9AA3B2;margin-top: 1px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.ph-category-picker-list__row-depth{font-size: 10.5px;padding: 1px 6px;border-radius: 3px;background: #F0F4F8;color: var(--ph-text-tertiary,#6B7280);font-weight: 500}.ph-category-picker-panel--tree{width: max(320px,var(--trigger-width,320px))}.ph-category-picker-tree__toolbar{padding: 8px 12px;border-bottom: 1px solid #EEF1F5;display: flex;align-items: center;justify-content: space-between;font-size: 11.5px;color: var(--ph-text-tertiary,#6B7280)}.ph-category-picker-tree__toggle-all{background: none;border: none;color: var(--ph-brand,#1D6FE0);cursor: pointer;font-size: 11.5px;padding: 0;min-height: 0}.ph-category-picker-tree__list{max-height: 340px;overflow-y: auto;padding: 4px 0}.ph-category-picker-tree-row{display: flex;align-items: center;gap: 6px;padding: 6px 10px;padding-left: calc(10px + var(--level,0) * 18px);cursor: pointer;border-left: 3px solid transparent}.ph-category-picker-tree-row:hover{background: #FAFCFE}.ph-category-picker-tree-row--selected{background: #EEF5FF;border-left-color: var(--ph-brand,#1D6FE0)}.ph-category-picker-tree-row--disabled{opacity: 0.7;cursor: default}.ph-category-picker-tree-row__caret{width: 16px;height: 16px;display: inline-flex;align-items: center;justify-content: center;color: var(--ph-text-tertiary,#6B7280);background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236B7280" stroke-width="2.5" stroke-linecap="round"><path d="M9 6l6 6-6 6"/></svg>') center/10px 10px no-repeat;transition: transform 120ms;cursor: pointer}.ph-category-picker-tree-row__caret--open{transform: rotate(90deg)}.ph-category-picker-tree-row__name{flex: 1;font-size: 13px;font-weight: 500;color: var(--ph-text-primary,#0F1826);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.ph-category-picker-tree-row__depth{font-size: 10.5px;padding: 1px 6px;border-radius: 3px;background: #F0F4F8;color: var(--ph-text-tertiary,#6B7280);font-weight: 500}.ph-pu-products-section{margin-top: 16px;padding: 16px;border: 1px solid var(--ph-border,#E5E9EF);border-radius: 10px;background: #FFFFFF}.ph-pu-products-section__header{display: flex;align-items: center;justify-content: space-between;margin-bottom: 10px}.ph-pu-products-section__title{font-size: 14px;font-weight: 600;color: var(--ph-text-primary,#0F1826)}.ph-pu-products-section__empty{font-size: 12.5px;color: var(--ph-text-tertiary,#6B7280);padding: 8px 0}.ph-pu-products-section__row{display: flex;align-items: center;gap: 10px;padding: 8px 0;border-top: 1px solid var(--ph-border,#E5E9EF)}.ph-pu-products-section__chips{flex: 1;font-size: 13px;color: var(--ph-text-primary,#0F1826)}.ph-pu-products-section__source{font-size: 10.5px;font-weight: 600;padding: 1px 6px;border-radius: 3px;background: #F0F4F8;color: var(--ph-text-tertiary,#6B7280)}.ph-pu-products-section__override{font-size: 10.5px;font-weight: 600;padding: 1px 6px;border-radius: 3px;background: #FEF3C7;color: #92400E}.ph-pu-leave-guard-dialog{width: 400px;max-width: 92vw;border-radius: 10px;overflow: hidden;box-shadow: var(--rec-shadow-modal)}.ph-pu-leave-guard-dialog__header{padding: 18px 22px 6px}.ph-pu-leave-guard-dialog__title{font-size: 15px;font-weight: 600;color: var(--ph-ink-900)}.ph-pu-leave-guard-dialog__body{font-size: 12.5px;color: var(--ph-ink-500);margin-top: 8px;line-height: 1.6}.ph-pu-leave-guard-dialog__footer{padding: 16px 22px;display: flex;justify-content: flex-end;gap: 8px}.ph-rec-btn--danger{background: var(--ph-danger-500);color: #fff;border-color: var(--ph-danger-500)}.ph-rec-btn--danger:hover{background: var(--ph-danger-600);border-color: var(--ph-danger-600)}.ph-pu-card{background: var(--ph-ink-0);border: 1px solid var(--ph-ink-200);border-radius: 8px;box-shadow: 0 1px 2px rgba(15,24,38,.04);overflow: hidden}.ph-pu-card__header{padding: 13px 18px;border-bottom: 1px solid var(--ph-ink-100);display: flex;align-items: center;gap: 9px;flex-wrap: wrap}.ph-pu-card__num{width: 20px;height: 20px;border-radius: 50%;flex-shrink: 0;background: var(--ph-blue-500);color: var(--ph-ink-0);font-size: 11.5px;font-weight: 700;display: inline-flex;align-items: center;justify-content: center}.ph-pu-card__title{font-size: 13.5px;font-weight: 600;color: var(--ph-ink-900)}.ph-pu-card__badge{font-size: 10.5px;font-weight: 700;padding: 1px 7px;border-radius: 4px;background: var(--ph-blue-50);color: var(--ph-blue-700)}.ph-pu-card__hint{font-size: 11.5px;color: var(--ph-ink-400);font-weight: 400}.ph-pu-card__body{padding: 16px 18px}.ph-pu-card--locked{opacity: .5;pointer-events: none}.ph-pu-card--locked .ph-pu-card__num{background: var(--ph-ink-100);color: var(--ph-ink-400)}.ph-pu-card--error{border-color: #F0A9A5;box-shadow: 0 0 0 3px rgba(220,38,38,.08)}.ph-pu-chip{padding: 5px 12px;border-radius: 6px;font-size: 12.5px;font-family: inherit;cursor: pointer;border: 1px solid var(--ph-ink-200);background: var(--ph-ink-0);color: var(--ph-ink-600);font-weight: 500;line-height: 1.45;white-space: nowrap}.ph-pu-chip--active{border-color: var(--ph-blue-500);background: var(--ph-blue-50);color: var(--ph-blue-700);font-weight: 600}.ph-pu-chip--pill{border-radius: 999px}.ph-pu-chip--tag{padding: 3px 10px;border-radius: 4px;font-size: 12px}.ph-pu-field-label{font-size: 12.5px;font-weight: 500;color: var(--ph-ink-900);margin-bottom: 8px}.ph-pu-field-label__req{color: var(--ph-danger-500)}.ph-pu-field-label__note{font-size: 11px;color: var(--ph-ink-400);font-weight: 400}.ph-pu-catconfirm{margin-top: 10px;padding: 8px 12px;background: #F7FAFE;border: 1px solid var(--ph-blue-100);border-radius: 7px;display: flex;align-items: center;gap: 8px;font-size: 12px;color: var(--ph-blue-700)}.ph-pu-catconfirm__path{font-weight: 600}.ph-pu-catconfirm__meta{color: var(--ph-ink-500)}.ph-pu-attrs{margin-top: 18px;display: flex;flex-direction: column;gap: 18px}.ph-pu-basic__top{display: grid;grid-template-columns: 1fr 240px;gap: 18px}.ph-pu-basic__name-input{width: 100%;box-sizing: border-box;padding: 9px 12px;font-size: 13.5px;border: 1px solid var(--ph-ink-200);border-radius: 7px;outline: none;font-family: inherit;color: var(--ph-ink-900);background: var(--ph-ink-0)}.ph-pu-basic__name-input:focus{border-color: var(--ph-blue-500);box-shadow: 0 0 0 3px var(--ph-blue-50)}.ph-pu-basic__tiers{display: flex;gap: 6px}.ph-pu-tier-btn{flex: 1;padding: 7px 0;border-radius: 6px;font-size: 12.5px;border: 1px solid var(--ph-ink-200);background: var(--ph-ink-0);color: var(--ph-ink-600);font-weight: 500;cursor: pointer;font-family: inherit}.ph-pu-tier-btn--active{border-color: var(--ph-blue-500);background: var(--ph-blue-500);color: var(--ph-ink-0);font-weight: 600}.ph-pu-basic__block{margin-top: 16px}.ph-pu-basic__chips{display: flex;gap: 7px;flex-wrap: wrap}.ph-pu-basic__more-wrap{margin-top: 16px;border-top: 1px dashed var(--ph-ink-100);padding-top: 12px}.ph-pu-basic__more-toggle{border: none;background: transparent;padding: 0;cursor: pointer;font-family: inherit;font-size: 12.5px;color: var(--ph-blue-500);display: inline-flex;align-items: center;gap: 5px}.ph-pu-basic__more-chev{transition: transform 120ms}.ph-pu-basic__more-body{margin-top: 12px;display: grid;grid-template-columns: 1fr 1fr;gap: 18px}.ph-pu-basic__more-input{width: 100%;box-sizing: border-box;padding: 8px 11px;font-size: 13px;border: 1px solid var(--ph-ink-200);border-radius: 6px;outline: none;font-family: inherit;color: var(--ph-ink-900);background: var(--ph-ink-0)}.ph-pu-basic__more-input:focus{border-color: var(--ph-blue-500);box-shadow: 0 0 0 3px var(--ph-blue-50)}.ph-pu-tags{display: flex;flex-direction: column;gap: 13px}.ph-pu-tags__row{display: flex;gap: 10px;align-items: baseline;flex-wrap: wrap}.ph-pu-tags__dim{font-size: 12px;color: var(--ph-ink-500);min-width: 34px;font-weight: 500}.ph-pu-tags__rule{font-size: 10px;padding: 1px 6px;border-radius: 3px;font-weight: 600;background: #F0F4F8;color: var(--ph-ink-500)}.ph-pu-tags__rule--required{background: #FFF4E5;color: var(--ph-amber-600)}.ph-pu-price__head,.ph-pu-price__row{display: grid;grid-template-columns: 180px 180px 30px;gap: 8px}.ph-pu-price__head{margin-bottom: 6px;font-size: 11px;color: var(--ph-ink-400);font-weight: 500}.ph-pu-price__rows{display: flex;flex-direction: column;gap: 8px;margin-bottom: 10px}.ph-pu-price__row{align-items: center}.ph-pu-price__input{width: 100%;box-sizing: border-box;padding: 7px 9px;font-size: 13px;font-family: var(--font-mono);border: 1px solid var(--ph-ink-200);border-radius: 6px;outline: none;color: var(--ph-ink-900);background: var(--ph-ink-0)}.ph-pu-price__input:focus{border-color: var(--ph-blue-500);box-shadow: 0 0 0 3px var(--ph-blue-50)}.ph-pu-price__del{display: inline-flex;align-items: center;justify-content: center;width: 30px;height: 30px;padding: 0;border-radius: 6px;border: 1px solid var(--ph-ink-200);background: var(--ph-ink-0);color: var(--ph-ink-400);cursor: pointer;font-family: inherit}.ph-pu-price__del:hover{color: var(--ph-danger-600);border-color: #F6C9C7}.ph-pu-price__add{padding: 5px 10px;border-radius: 6px;border: 1px solid var(--ph-ink-200);background: var(--ph-ink-0);color: var(--ph-ink-900);font-size: 12px;font-weight: 500;cursor: pointer;font-family: inherit;display: inline-flex;align-items: center;gap: 5px}.ph-pu-actions{background: var(--ph-ink-0);border: 1px solid var(--ph-ink-200);border-radius: 8px;box-shadow: 0 1px 2px rgba(15,24,38,.04);padding: 16px}.ph-pu-actions__primary{width: 100%;padding: 9px 0;border-radius: 6px;border: 1px solid transparent;background: var(--ph-blue-500);color: var(--ph-ink-0);font-size: 13px;font-weight: 600;cursor: pointer;font-family: inherit}.ph-pu-actions__primary:disabled{background: #A9C6EE;cursor: not-allowed}.ph-pu-actions__secondary{width: 100%;margin-top: 8px;padding: 9px 0;border-radius: 6px;border: 1px solid var(--ph-ink-200);background: var(--ph-ink-0);color: var(--ph-ink-900);font-size: 13px;font-weight: 500;cursor: pointer;font-family: inherit}.ph-pu-actions__note{font-size: 10.5px;color: var(--ph-ink-400);margin-top: 10px;line-height: 1.6}.ph-pu-pagehead{display: flex;align-items: baseline;gap: 12px;flex-wrap: wrap;margin-bottom: 18px}.ph-pu-pagehead__back{font-size: 12.5px;color: var(--ph-blue-500);text-decoration: none;display: inline-flex;align-items: center;gap: 5px;border: none;background: transparent;padding: 0;cursor: pointer;font-family: inherit}.ph-pu-pagehead__back:hover{color: var(--ph-blue-600)}.ph-pu-pagehead__title{margin: 0;font-size: 20px;font-weight: 700;color: var(--ph-ink-900);letter-spacing: -0.01em}.ph-pu-pagehead__sub{font-size: 12.5px;color: var(--ph-ink-400)}