.p4dpl-hidden { display:none; }
.p4dpl-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.6rem .9rem; border-radius:.75rem; border:1px solid #cfe3ff; background:#eaf3ff; cursor:pointer; }
.p4dpl-btn:hover { background:#e2eeff; }
.p4dpl-chip { display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius:999px; border:1px solid #dbe7ff; background:#f4f8ff; font-size:.875rem; }
.p4dpl-chip__swatch { width:1rem; height:1rem; border-radius:3px; border:1px solid rgba(0,0,0,.15); }

.p4dpl-modal { position:fixed; inset:0; background:rgba(0,0,0,.4); display:none; z-index:9999; }
.p4dpl-modal[aria-hidden="false"] { display:block; }
.p4dpl-modal__dialog { position:relative; margin:5vh auto; width:min(1100px,92vw); background:#fff; border-radius:16px; box-shadow:0 10px 40px rgba(0,0,0,.15); }
.p4dpl-modal__header { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.25rem; border-bottom:1px solid #eef4ff; background:#f7fbff; }
.p4dpl-close { font-size:1.5rem; background:transparent; border:0; cursor:pointer; }
.p4dpl-modal__toolbar { display:flex; gap:1rem; align-items:center; padding:1rem 1.25rem; background:#f7fbff; border-bottom:1px solid #eef4ff; }
.p4dpl-search { flex:1; padding:.6rem .8rem; border-radius:.6rem; border:1px solid #cfe3ff; background:#fff; }
.p4dpl-grid { padding:1rem; display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.9rem; }

.p4dpl-tile { border-radius:12px; overflow:hidden; border:1px solid #e6ecf8; background:#fff; display:flex; flex-direction:column; }
.p4dpl-swatch { height:84px; border-bottom:1px solid rgba(0,0,0,.05); }
.p4dpl-info { padding:.55rem .7rem; background:#f5f9ff; }
.p4dpl-name { font-size:.9rem; line-height:1.2; }
.p4dpl-choose { margin:.5rem .7rem .7rem; padding:.35rem .6rem; border:1px solid #cfe3ff; border-radius:.6rem; background:#eaf3ff; cursor:pointer; }

.p4dpl-switch { position:relative; display:inline-flex; align-items:center; gap:.5rem; }
.p4dpl-switch input { display:none; }
.p4dpl-slider { width:54px; height:28px; border-radius:999px; background:#e2eeff; position:relative; display:inline-block; }
.p4dpl-slider::after { content:""; position:absolute; top:3px; left:3px; width:22px; height:22px; background:#fff; border-radius:50%; box-shadow:0 2px 6px rgba(0,0,0,.2); transition:left .2s; }
.p4dpl-switch input:checked + .p4dpl-slider::after { left:29px; }
.p4dpl-switch-labels { display:flex; gap:.4rem; font-size:.85rem; color:#2a4a7f; }

body { background:#fff; }