.cmp-wrap{width:100%}.cmp-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:40px}.cmp-slot{position:relative;padding:22px 20px 24px;display:flex;flex-direction:column;gap:14px}.cmp-slot-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.cmp-slot-title{font-weight:600;letter-spacing:.15em;color:var(--accent-dark)}.cmp-slot-remove,.cmp-slot-title{font-size:.7rem;text-transform:uppercase}.cmp-slot-remove{background:none;border:none;cursor:pointer;color:var(--muted);letter-spacing:.08em;padding:2px 4px;transition:color .2s ease}.cmp-slot-remove:hover{color:var(--danger)}.cmp-field{display:flex;flex-direction:column;gap:6px}.cmp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cmp-custom-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.cmp-add-custom,.cmp-add-slot{background:none;border:1px dashed var(--border-dark);color:var(--text-secondary);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;padding:10px 12px;cursor:pointer;transition:all .2s ease;text-align:center}.cmp-add-custom:hover,.cmp-add-slot:hover{border-color:var(--gold);color:var(--accent-dark);background:var(--gold-light)}.cmp-add-slot-wrap{display:flex;align-items:stretch}.cmp-add-slot-wrap .cmp-add-slot{width:100%;min-height:100%}.cmp-custom-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;line-height:1;padding:6px 8px}.cmp-custom-remove:hover{color:var(--danger)}.cmp-table-scroll{overflow-x:auto;border:1px solid var(--border)}.cmp-table-scroll .table-luxury{min-width:560px}.cmp-table-scroll .table-luxury td:first-child,.cmp-table-scroll .table-luxury th:first-child{position:sticky;left:0;background:var(--surface-2);z-index:1;min-width:140px}.cmp-row-diff td,.cmp-row-diff td:first-child{background:var(--gold-light)}.cmp-empty-cell{color:var(--muted)}.cmp-col-head{display:flex;flex-direction:column;gap:2px}.cmp-col-head-kind{font-size:.6rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.cmp-col-head-name{font-size:.8rem;color:var(--text);font-weight:600}.cmp-note{margin-top:28px;padding:18px 20px;background:var(--gold-light);border:1px solid var(--gold);font-size:.8rem;line-height:1.6;color:var(--text-secondary)}.cmp-note a{color:var(--accent-dark);font-weight:600;text-decoration:underline}.cmp-legend{display:flex;align-items:center;gap:8px;margin:10px 0 18px;font-size:.7rem;color:var(--text-secondary);letter-spacing:.04em}.cmp-legend-swatch{width:12px;height:12px;background:var(--gold-light);border:1px solid var(--gold);display:inline-block}@media (max-width:640px){.cmp-field-row{grid-template-columns:1fr}}.cmp-search{position:relative}.cmp-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 40px rgba(0,0,0,.12);max-height:280px;overflow-y:auto}.cmp-search-empty{padding:14px 16px;font-size:.8rem;color:var(--muted)}.cmp-search-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;transition:background .15s ease}.cmp-search-item:last-child{border-bottom:none}.cmp-search-item:hover,.cmp-search-thumb{background:var(--surface-2)}.cmp-search-thumb{width:40px;height:40px;-o-object-fit:cover;object-fit:cover;flex:0 0 auto}.cmp-search-thumb-empty{border:1px dashed var(--border-dark)}.cmp-search-item-text{display:flex;flex-direction:column;gap:2px;min-width:0}.cmp-search-item-name{font-size:.82rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-search-item-meta{font-size:.68rem;color:var(--muted);letter-spacing:.04em}.cmp-selected{display:flex;align-items:center;gap:10px}.cmp-selected-thumb{width:52px;height:52px;-o-object-fit:cover;object-fit:cover;flex:0 0 auto}.cmp-selected-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.cmp-selected-name{font-size:.85rem;color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}