.owp-planner .owp-fabric-picker [hidden],.owp-planner select[data-fabric][hidden]{display:none!important}
.owp-fabric-picker{margin-bottom:20px}
.owp-fabric-target{display:grid;gap:6px;font-size:12px;font-weight:700}
.owp-fabric-target select,.owp-fabric-collection{min-width:0;font-size:12px!important;border:1px solid var(--owp-primary-line,#cbded2)!important;border-radius:7px;background:#fff}
.owp-fabric-hint{font-size:12px;line-height:1.5;margin:8px 0;color:#5e6c63}
.owp-fabric-collection{margin-bottom:10px}
.owp-swatch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:380px;overflow:auto;padding:4px}
.owp-swatch-card{position:relative;min-width:0}
.owp-planner .owp-swatch-grid .owp-swatch{position:relative;display:block;width:100%;aspect-ratio:1;min-height:44px;margin:0;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;box-shadow:0 0 0 1px #c9c9c9}
.owp-swatch img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.owp-planner .owp-swatch[aria-pressed=true]{border-color:var(--owp-primary,#168a4a);box-shadow:0 0 0 2px var(--owp-primary,#168a4a)}
.owp-swatch-check{display:none;position:absolute;top:3px;left:3px;width:18px;height:18px;place-items:center;background:var(--owp-primary,#168a4a);color:var(--owp-on-primary,#fff);font-size:12px;border-radius:50%}
.owp-swatch[aria-pressed=true] .owp-swatch-check{display:grid}
.owp-planner .owp-swatch-card .owp-swatch-zoom{position:relative;float:right;display:grid;place-items:center;width:28px;height:28px;min-height:28px;margin:3px 0 0;padding:4px;border:1px solid var(--owp-primary-line,#cbded2);border-radius:7px;background:#fff;color:var(--owp-accent,#245b42)!important}
.owp-swatch-zoom svg{display:block;width:16px;height:16px}
.owp-swatch-code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;text-align:center;line-height:34px;color:#5b645e}
.owp-fabric-chosen{font-size:12px;font-weight:700;color:var(--owp-accent,#245b42);margin:9px 0}
.owp-planner dialog.owp-fabric-dialog{width:min(850px,calc(100vw - 32px));max-width:850px;max-height:90dvh;overflow:auto;padding:20px;color:var(--owp-text,#292622)}
.owp-fabric-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.owp-fabric-dialog h3{margin:0;font:700 18px Arial,sans-serif}
.owp-planner .owp-fabric-close{width:40px;height:40px;padding:0;border:1px solid #ddd;border-radius:50%;font-size:25px!important;background:#fff;color:var(--owp-text,#292622)!important}
.owp-fabric-large{height:min(55dvh,550px);min-height:180px;display:grid;place-items:center;overflow:hidden;border-radius:10px}
.owp-fabric-large img{width:100%;height:100%;object-fit:contain;min-height:0}
.owp-fabric-large img[hidden]{display:none}
.owp-fabric-caption{font-size:13px;margin:10px 0}
.owp-planner .owp-fabric-use{display:block;width:100%;padding:12px;background:var(--owp-primary,#168a4a)!important;color:white!important;border:0;border-radius:8px}
.owp-fabric-dialog>small{display:block;margin-top:12px;font-size:11px;color:#666}
.owp-planner .owp-summary-module{display:flex!important;align-items:center;text-align:left;gap:8px;text-transform:none;font-size:13px;line-height:1.35}
.owp-summary-module small{display:block;font-size:11px;color:#56685c;margin-top:3px}
.owp-summary-color{display:block;flex:0 0 22px;width:22px;height:22px;border-radius:50%;border:1px solid #aaa}
.owp-planner .owp-summary-module[aria-pressed=true]{border-color:var(--owp-primary,#168a4a);background:var(--owp-primary-soft,#eef7f1)}
@media(max-width:700px){.owp-swatch-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:350px}.owp-planner .owp-swatch-card .owp-swatch-zoom{width:36px;height:36px;min-height:36px}.owp-planner dialog.owp-fabric-dialog{padding:14px}.owp-fabric-large{height:48dvh}}

.owp-fabric-sheet .owp-swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px;max-height:58dvh}.owp-fabric-sheet .owp-swatch-code{font-size:12px}.owp-fabric-sheet{width:min(660px,calc(100vw - 24px))!important}@media(max-width:600px){.owp-fabric-sheet .owp-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Only the fabric list scrolls; header and confirmation stay outside it. */
.owp-planner dialog.owp-fabric-sheet[open]{display:flex;flex-direction:column;height:min(760px,85dvh);max-height:85dvh;overflow:hidden;padding-bottom:0}
.owp-planner dialog.owp-fabric-sheet>header,.owp-planner dialog.owp-fabric-sheet>footer{position:static;flex:0 0 auto;z-index:auto}
.owp-planner dialog.owp-fabric-sheet>[data-sheet-body]{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.owp-planner dialog.owp-fabric-sheet .owp-swatch-grid{max-height:none;overflow:visible}
.owp-planner dialog.owp-fabric-sheet>footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
@media(max-width:700px){.owp-planner dialog.owp-fabric-sheet[open]{height:88dvh;max-height:88dvh}}

/* ---- fabric picker v2: folders, compact swatches with the enlarge button on the swatch ---- */
.owp-fp-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;margin:8px 0 10px}
.owp-fp-crumb,.owp-fp-up{border:0!important;background:transparent!important;color:var(--owp-accent,#245b42)!important;font-size:13px;font-weight:600;cursor:pointer;padding:3px 5px!important;border-radius:8px!important;min-height:0!important}
.owp-fp-crumb:hover,.owp-fp-up:hover{background:var(--owp-primary-soft,#eef3f0)!important}
.owp-fp-crumb[aria-current]{color:var(--owp-text,#292622)!important;font-weight:750}
.owp-fp-up{margin-right:6px;background:var(--owp-primary-soft,#eef3f0)!important}
.owp-fp-sep{color:#9b948a}
.owp-fp-scroll{max-height:340px;overflow-y:auto;padding:2px 6px 2px 0;overscroll-behavior:contain}
.owp-fp-folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:12px}
.owp-fp-folders:empty{display:none}
.owp-fp-folder{display:flex!important;align-items:center;gap:8px;padding:10px 12px!important;border:1px solid var(--owp-primary-line,#d5e0d9)!important;border-radius:12px!important;background:#fff!important;color:var(--owp-accent,#245b42)!important;cursor:pointer;text-align:left}
.owp-fp-folder b{flex:1;font-size:13px;font-weight:650;color:var(--owp-text,#292622)}.owp-fp-folder small{color:#7a746c;background:#f1f3f2;border-radius:999px;padding:1px 8px;font-size:11px}
.owp-fp-folder:hover{border-color:var(--owp-primary,#168a4a)!important;background:var(--owp-primary-soft,#f1f7f3)!important}
.owp-fp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:12px 8px}
.owp-fp-card{position:relative;display:grid;justify-items:center;gap:4px}
.owp-fp-sw{position:relative;width:64px!important;height:64px!important;min-height:0!important;padding:0!important;border:2px solid #fff!important;border-radius:14px!important;box-shadow:0 0 0 1px #cfd5d2;overflow:hidden;cursor:pointer;background-size:cover}
.owp-fp-sw img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.owp-fp-sw[aria-pressed=true]{box-shadow:0 0 0 3px var(--owp-primary,#168a4a)}
.owp-fp-check{display:none;position:absolute;right:4px;bottom:4px;width:18px;height:18px;border-radius:50%;background:var(--owp-primary,#168a4a);color:#fff;font-size:11px;place-items:center}
.owp-fp-sw[aria-pressed=true] .owp-fp-check{display:grid}
.owp-fp-zoom{position:absolute;top:5px;right:calc(50% - 29px);width:22px!important;height:22px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:#245b42!important;display:grid;place-items:center;box-shadow:0 1px 4px rgba(0,0,0,.28);cursor:pointer}
.owp-fp-code{font-size:11px;color:#6b655d;text-align:center;line-height:1.2}
.owp-fp-actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #eef0ee}
.owp-fp-all{padding:7px 14px!important;border:1px solid var(--owp-primary,#168a4a)!important;border-radius:999px!important;background:#fff!important;color:var(--owp-primary,#168a4a)!important;font-size:12px;font-weight:700;cursor:pointer}
.owp-fp-all:hover{background:var(--owp-primary-soft,#eef7f1)!important}
.owp-fp-scale{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b655d}.owp-fp-scale input{width:120px}.owp-fp-scale output{min-width:38px;font-weight:700;color:var(--owp-text,#292622)}
/* the fabric sheet: no tall empty areas */
.owp-fabric-sheet{width:min(520px,calc(100vw - 24px))!important}
.owp-fabric-sheet[open]{height:auto!important;max-height:84dvh!important}
.owp-fabric-sheet .owp-fp-scroll{max-height:46dvh}
.owp-planner dialog.owp-fabric-sheet[open]{display:flex;flex-direction:column;height:fit-content!important;min-height:0;max-height:86dvh!important}
.owp-planner dialog.owp-fabric-sheet>[data-sheet-body]{flex:0 1 auto!important;overflow-y:auto}
.owp-planner dialog.owp-fabric-sheet .owp-fp-scroll{max-height:min(340px,42dvh)}
/* recently used fabrics: newest first, the last pick is tagged */
.owp-fp-recent{margin:2px 0 10px;padding:8px 10px 6px;border:1px solid #e1e5ea;border-radius:12px;background:#f8faf9}
.owp-fp-recent[hidden]{display:none}
.owp-fp-recent-title{display:block;margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b746f}
.owp-fp-recent-row{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 4px;align-items:flex-start}
.owp-fp-r{position:relative;flex:0 0 46px;width:46px;height:46px;padding:0;border:2px solid #fff;border-radius:12px;background-size:cover;background-position:center;box-shadow:0 0 0 1px #cfd5d2;cursor:pointer}
.owp-fp-r[aria-pressed=true]{box-shadow:0 0 0 3px var(--owp-primary,#168a4a)}
.owp-recent-label{display:block;margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b746f}
.owp-fp-rc,.owp-rc{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 auto}.owp-fp-rc small,.owp-rc small{font-size:10px;font-weight:700;line-height:1;color:var(--owp-primary,#168a4a);white-space:nowrap}.owp-rc small{font-size:9px}
.owp-bubble-fabric .owp-swatches{align-items:flex-start;gap:8px}
