:root{--bg:#f5efe7;--paper:#fffaf4;--ink:#241a1d;--muted:#7d6f72;--wine:#5d1730;--wine2:#7f2947;--gold:#c99a50;--line:rgba(59,34,40,.13);--shadow:0 24px 70px rgba(64,30,41,.14);--r:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 8% 0%,#fff 0,transparent 25%),var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px clamp(18px,4vw,64px);background:rgba(245,239,231,.84);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand span:last-child{display:grid}.brand strong{font-family:'Playfair Display',serif;font-size:22px}.brand small{color:var(--muted)}.brand-disc{width:38px;height:38px;border-radius:50%;background:radial-gradient(circle,#d6ae70 0 10%,#151115 11% 38%,#36232a 39% 43%,#111 44% 100%);box-shadow:0 7px 16px rgba(32,16,21,.25)}.header-actions,.modal-actions>div,.scan-actions{display:flex;gap:10px;align-items:center}.btn{border:0;border-radius:999px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:linear-gradient(135deg,var(--wine2),var(--wine));color:white;box-shadow:0 10px 25px rgba(93,23,48,.25)}.btn-soft{background:rgba(255,255,255,.68);color:var(--ink);border:1px solid var(--line)}.btn-danger{background:#a22e3e;color:white}.page-shell{width:min(1380px,calc(100% - 40px));margin:auto;padding:34px 0 80px}.hero{min-height:320px;border-radius:34px;padding:clamp(34px,6vw,74px);display:flex;justify-content:space-between;align-items:flex-end;gap:30px;background:linear-gradient(125deg,rgba(36,8,20,.95),rgba(105,27,55,.93)),radial-gradient(circle at 80% 20%,#d8ae67,transparent 24%);color:white;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-70px;top:-70px;background:repeating-radial-gradient(circle,#160e12 0 6px,#332128 7px 10px);opacity:.36}.hero>div{position:relative;z-index:1}.hero h1{font:700 clamp(46px,7vw,92px)/.95 'Playfair Display',serif;max-width:760px;margin:8px 0 22px}.hero p:not(.eyebrow){max-width:650px;color:#eadde1;font-size:18px;line-height:1.7}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:800;color:var(--gold);margin:0}.counter{min-width:150px;text-align:right}.counter strong{display:block;font:700 70px/1 'Playfair Display',serif}.counter span{color:#eadde1}.notice{margin:20px 0;padding:14px 18px;border:1px solid var(--line);background:var(--paper);border-radius:14px}.controls{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:18px;align-items:center;margin:28px 0}.search{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:0 17px}.search input{width:100%;border:0;outline:0;background:transparent;padding:14px 0;font:inherit}.chips{display:flex;gap:8px;overflow:auto;padding:3px}.chip{white-space:nowrap;border:1px solid var(--line);background:rgba(255,255,255,.55);border-radius:999px;padding:10px 14px;cursor:pointer}.chip.active{background:var(--wine);color:#fff}.chip small{opacity:.65;margin-left:4px}.collection-head{display:flex;align-items:end;justify-content:space-between;margin:42px 0 18px}.collection-head h2{font:700 48px/1 'Playfair Display',serif;margin:7px 0}.collection-head>span{color:var(--muted)}.vinyl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.vinyl-card{min-width:0}.cover-button{padding:0;border:0;background:none;width:100%;cursor:pointer;text-align:left}.cover{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;background:#2a1b20;box-shadow:0 15px 36px rgba(44,26,31,.17);transition:.25s transform,.25s box-shadow}.cover:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 24px 48px rgba(44,26,31,.23)}.cover img{width:100%;height:100%;object-fit:cover;display:block}.cover-empty{height:100%;display:grid;place-items:center;color:white;background:linear-gradient(145deg,#6c2740,#29141d)}.cover-empty span,.empty-record,.mini-record{display:block;border-radius:50%;background:radial-gradient(circle,#d6a85f 0 9%,#161016 10% 38%,#3c2930 39% 42%,#0e0d0e 43%);box-shadow:0 12px 30px rgba(0,0,0,.25)}.cover-empty span{width:44%;aspect-ratio:1}.cover-empty b{position:absolute;bottom:20px}.view-label{position:absolute;right:14px;bottom:14px;background:rgba(255,250,244,.88);backdrop-filter:blur(8px);padding:9px 13px;border-radius:999px;font-size:12px;font-weight:800;opacity:0;transform:translateY(5px);transition:.2s}.cover:hover .view-label{opacity:1;transform:none}.card-body{padding:15px 4px}.card-body h3{font:700 24px/1.1 'Playfair Display',serif;margin:8px 0 5px}.card-body p{margin:0;color:var(--muted)}.category-line{display:flex;gap:6px;flex-wrap:wrap;min-height:20px}.category-line span{font-size:11px;font-weight:800;color:var(--wine2);background:#efe0e5;border-radius:999px;padding:5px 8px}.card-actions{display:flex;gap:15px;margin-top:12px}.link-button{border:0;background:none;padding:0;color:var(--wine2);font:inherit;font-weight:800;cursor:pointer}.empty{text-align:center;padding:70px 20px}.empty-record{width:110px;aspect-ratio:1;margin:auto}.empty h3{font:700 30px 'Playfair Display',serif;margin-bottom:5px}.empty p,.muted{color:var(--muted)}dialog{border:0;padding:0;background:transparent}dialog::backdrop{background:rgba(25,12,17,.72);backdrop-filter:blur(7px)}.modal{width:min(1040px,calc(100% - 28px));max-height:92vh}.modal-card{position:relative;background:var(--paper);border-radius:28px;padding:28px;box-shadow:var(--shadow);max-height:92vh;overflow:auto}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.modal-head h2{font:700 39px/1 'Playfair Display',serif;margin:7px 0}.close{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:white;font-size:28px;cursor:pointer}.form-columns{display:grid;grid-template-columns:minmax(260px,38%) 1fr;gap:28px}.image-picker{aspect-ratio:1;border:1px dashed #bba8ad;background:#f0e6e0;border-radius:22px;display:grid;place-items:center;overflow:hidden;cursor:pointer;position:sticky;top:0}.image-picker img{display:none;width:100%;height:100%;object-fit:cover}.image-picker.has-image img{display:block}.image-picker.has-image span{position:absolute;bottom:14px;background:rgba(255,255,255,.9);padding:9px 14px;border-radius:999px}.fields{display:grid;gap:16px}.fields>label,.new-category{display:grid;gap:7px;font-weight:700}.fields input,.fields textarea,.new-category input,.barcode-entry input{border:1px solid var(--line);background:white;border-radius:14px;padding:13px 14px;font:inherit;outline:none}.fields input:focus,.fields textarea:focus,.new-category input:focus,.barcode-entry input:focus{border-color:var(--wine2);box-shadow:0 0 0 3px rgba(127,41,71,.1)}fieldset{border:1px solid var(--line);border-radius:16px;padding:14px}legend{font-weight:800}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.check-grid label,.check-list>label{font-weight:600}.modal-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.scan-card{max-width:820px;margin:auto}.scanner{height:280px;border-radius:22px;background:#24171c;display:grid;place-items:center;position:relative;overflow:hidden;color:#d8cbd0}.scanner video{width:100%;height:100%;object-fit:cover;display:none}.scanner.active video{display:block}.scanner.active p{display:none}.scan-line{position:absolute;left:12%;right:12%;top:50%;height:2px;background:#ffca73;box-shadow:0 0 16px #ffca73}.scan-actions{justify-content:space-between;margin-top:15px}.barcode-entry{display:flex;gap:8px;flex:1;justify-content:flex-end}.barcode-entry input{max-width:300px;width:100%}.api-status{min-height:28px;margin:18px 0;color:var(--muted)}.loader{display:inline-block;width:16px;height:16px;border:2px solid #dccfd3;border-top-color:var(--wine);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.release-results{display:grid;gap:10px}.release-result{width:100%;display:grid;grid-template-columns:64px 1fr auto;align-items:center;text-align:left;gap:14px;border:1px solid var(--line);background:white;border-radius:16px;padding:9px;cursor:pointer}.release-result:hover{border-color:var(--wine2)}.release-result div:nth-child(2){display:grid;gap:3px}.release-result span,.release-result small{color:var(--muted)}.result-cover{width:64px;height:64px;border-radius:10px;overflow:hidden;background:#eadfe1;display:grid;place-items:center}.result-cover img{width:100%;height:100%;object-fit:cover}.mini-record{width:38px;height:38px}.new-category{grid-template-columns:1fr auto;margin-bottom:20px}.category-manager{display:grid;gap:10px}.category-row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);background:white;border-radius:15px;padding:12px 14px}.category-row>div{display:flex;align-items:center;gap:9px}.category-row>div:first-child{display:grid;gap:2px}.category-row small{color:var(--muted)}.icon-danger{border:0;background:#f4dfe4;color:#922c41;width:38px;height:38px;border-radius:50%;font-size:22px;cursor:pointer}.small-card{max-width:680px;margin:auto}.check-list{display:grid;gap:8px;max-height:55vh;overflow:auto}.vinyl-check{display:grid!important;grid-template-columns:auto 48px 1fr;gap:10px;align-items:center;border:1px solid var(--line);background:white;border-radius:14px;padding:8px}.vinyl-check img{width:48px;height:48px;object-fit:cover;border-radius:8px}.vinyl-check span:last-child{display:grid}.vinyl-check small{color:var(--muted)}.detail-card{max-width:950px;margin:auto}.detail-close{position:absolute;right:22px;top:22px;z-index:2}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.detail-cover{aspect-ratio:1;border-radius:22px;overflow:hidden;background:#2b1a20}.detail-cover img{width:100%;height:100%;object-fit:cover}.detail-copy h2{font:700 clamp(42px,5vw,72px)/.96 'Playfair Display',serif;margin:10px 0}.detail-copy h3{font-size:22px;color:var(--muted);margin:0 0 16px}.description{line-height:1.75;color:#5f5154;white-space:pre-wrap}@media(max-width:1050px){.vinyl-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.site-header{align-items:flex-start;gap:12px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.brand small{display:none}.page-shell{width:min(100% - 24px,1380px)}.hero{min-height:390px;align-items:flex-start;flex-direction:column}.hero:after{opacity:.18}.counter{text-align:left}.controls{grid-template-columns:1fr}.vinyl-grid{grid-template-columns:repeat(2,1fr);gap:15px}.collection-head h2{font-size:38px}.form-columns,.detail-layout{grid-template-columns:1fr}.image-picker{position:static}.scan-actions{align-items:stretch;flex-direction:column}.barcode-entry{justify-content:stretch}.barcode-entry input{max-width:none}.check-grid{grid-template-columns:1fr}}@media(max-width:500px){.site-header{position:static;display:grid}.header-actions{justify-content:stretch}.header-actions .btn{flex:1;padding:10px}.hero{padding:28px}.hero h1{font-size:47px}.vinyl-grid{grid-template-columns:1fr 1fr}.card-body h3{font-size:20px}.card-actions{font-size:13px;gap:10px}.modal-card{padding:20px}.modal-head h2{font-size:31px}.modal-actions{align-items:stretch;gap:12px}.modal-actions>div{width:100%}.modal-actions>div .btn{flex:1}.release-result{grid-template-columns:54px 1fr}.release-result>b{display:none}.result-cover{width:54px;height:54px}}
.source-pill{display:inline-flex;margin-right:7px;padding:3px 7px;border-radius:999px;background:rgba(126,25,64,.1);color:#7e1940;font-style:normal;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}

/* Navegación colección / deseos */
.main-nav{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:18px}.nav-link{padding:10px 14px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:700;font-size:14px}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.7);color:var(--text)}.wish-disc{box-shadow:inset 0 0 0 7px #8e244a,inset 0 0 0 9px rgba(255,255,255,.25)}.wish-hero{background:linear-gradient(135deg,rgba(73,16,42,.96),rgba(117,27,66,.88));color:#fff}.wish-hero p{color:rgba(255,255,255,.72)}.wish-controls{grid-template-columns:minmax(0,1fr) 220px}.select-control{min-height:52px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.7);padding:0 16px;font:inherit;color:var(--text)}.priority-badge{position:absolute;left:14px;top:14px;z-index:2;padding:7px 10px;border-radius:999px;color:#fff;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 6px 20px rgba(0,0,0,.18)}.priority-alta{background:#9e1d46}.priority-media{background:#a66a16}.priority-baja{background:#496d56}.static-priority{position:static;display:inline-block;margin:8px 0 14px}.inline-form{display:inline}.move-button{color:#8e244a!important}.detail-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-action-row form{margin:0}.wish-card .cover:after{content:'♡';position:absolute;right:15px;top:10px;color:#fff;font-size:28px;text-shadow:0 3px 12px rgba(0,0,0,.35)}
@media(max-width:900px){.site-header{flex-wrap:wrap}.main-nav{order:3;width:100%;margin:10px 0 0;justify-content:center}.wish-controls{grid-template-columns:1fr}}

/* Scanner compatible con navegadores sin BarcodeDetector */
.html5-reader{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.html5-reader:empty{display:none}.html5-reader video{width:100%!important;height:100%!important;object-fit:cover!important;border:0!important}.html5-reader img{display:none!important}.html5-reader>div{border:0!important;height:100%}.scanner.active>p{display:none}.scanner:not(.active) .html5-reader{display:none}.scanner.active .html5-reader{display:block}.scanner .scan-line{pointer-events:none;z-index:4}.html5-reader #qr-shaded-region{border-color:rgba(0,0,0,.45)!important}.html5-reader button,.html5-reader select{font-family:inherit!important}

/* Fondo blanco para portadas PNG con transparencia */
.cover,
.image-picker,
.result-cover,
.detail-cover,
.vinyl-check img {
  background-color: #fff;
}

.cover img,
.image-picker img,
.result-cover img,
.detail-cover img,
.vinyl-check img {
  background-color: #fff;
}


/* ===== Correcciones v12: navegación, portadas y escáner ===== */
.site-header{display:grid!important;grid-template-columns:minmax(210px,1fr) auto auto!important;column-gap:18px!important;align-items:center!important;min-height:82px!important}
.site-header .brand{display:flex!important;visibility:visible!important}
.site-header .main-nav,.site-header nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin:0!important}
.site-header .nav-link,.site-header nav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:10px 18px!important;border-radius:999px!important;color:var(--muted)!important;text-decoration:none!important;font-weight:800!important;white-space:nowrap!important}
.site-header .nav-link.active,.site-header nav a.active{color:var(--ink)!important;background:#fff!important;box-shadow:0 8px 22px rgba(45,25,31,.08)!important}
.site-header .header-actions{display:flex!important;visibility:visible!important;justify-content:flex-end!important}
.cover,.image-picker,.result-cover,.detail-cover,.vinyl-check{background:#fff!important}
.cover img,.image-picker img,.result-cover img,.detail-cover img,.vinyl-check img{background:#fff!important;object-fit:contain!important}
.detail-cover{background:#fff!important}
.scanner.active{background:#111!important}
.scanner.active .html5-reader{display:block!important;visibility:visible!important;opacity:1!important;z-index:2!important}
.html5-reader video{display:block!important;visibility:visible!important;opacity:1!important;position:absolute!important;inset:0!important}
.scanner .scan-line{z-index:6!important}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto!important}.site-header .main-nav,.site-header nav{grid-column:1/-1;grid-row:2;margin-top:8px!important}.site-header .header-actions{grid-column:2;grid-row:1}}
@media(max-width:650px){.site-header{display:flex!important;flex-wrap:wrap!important;padding:13px 14px!important}.site-header .brand{flex:1 1 auto!important}.site-header .header-actions{order:2;width:100%!important;display:grid!important;grid-template-columns:1fr 1fr 1.25fr!important;margin-top:10px!important}.site-header .main-nav,.site-header nav{order:3;width:100%!important;overflow-x:auto!important;justify-content:flex-start!important}.site-header .header-actions .btn{padding:10px 8px!important;font-size:13px!important}}

/* Scanner v13: el fotograma completo se usa para leer EAN/UPC */
.scanner .scan-line{left:4%!important;right:4%!important;top:50%!important;height:1px!important;opacity:.55!important}
.scanner.active:after{content:"Mueve el código lentamente y evita reflejos";position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:8;color:#fff;background:rgba(0,0,0,.62);padding:7px 11px;border-radius:999px;font-size:12px;white-space:nowrap;pointer-events:none}


/* ===== Ajuste de encuadre de portadas v14 ===== */
.image-editor{display:grid;gap:14px;align-content:start}.image-editor .image-picker{position:relative;top:auto}.adjustable-image{transform:scale(var(--image-scale,1));transform-origin:center center;transition:transform .18s ease;will-change:transform}.image-adjust-controls{display:grid;gap:11px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px}.image-adjust-controls label{display:grid;grid-template-columns:1fr auto;gap:5px;font-size:13px;font-weight:800}.image-adjust-controls label input{grid-column:1/-1;width:100%;accent-color:var(--wine2)}.image-adjust-controls span{color:var(--wine2)}.reset-image-adjust{justify-self:start}.cover,.image-picker,.detail-cover,.result-cover{isolation:isolate}.cover .adjustable-image,.detail-cover .adjustable-image,.image-picker .adjustable-image{width:100%;height:100%;object-fit:contain;background:#fff}

/* v15: solo ajuste de tamaño; permite reducir la imagen completa */
.image-adjust-controls{grid-template-columns:1fr}.image-adjust-controls label{grid-template-columns:1fr auto}.image-adjust-controls input[type="range"]{grid-column:1/-1}.adjustable-image{transform-origin:center center!important}

/* Precio visible solamente dentro de formularios de creación/edición */
.price-fields{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:14px;align-items:end}
.price-fields select{width:100%}
@media(max-width:600px){.price-fields{grid-template-columns:1fr 120px}}

/* ===== v17: drag & drop, setlist y selección múltiple ===== */
.drop-zone{outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.drop-zone.drag-over{border-color:var(--wine2)!important;box-shadow:0 0 0 4px rgba(126,25,64,.12)!important;transform:translateY(-2px)}
.drop-zone.drag-over:after{content:'Suelta la imagen aquí';position:absolute;inset:14px;display:grid;place-items:center;border:2px dashed var(--wine2);border-radius:15px;background:rgba(255,255,255,.9);color:var(--wine2);font-weight:900;z-index:5;pointer-events:none}
.field-help{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:500;line-height:1.4}
.setlist-block{margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.72)}
.setlist-block h4{margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--wine2)}
.setlist-block ol{margin:0;padding-left:24px;display:grid;gap:6px;color:#5f5154;max-height:260px;overflow:auto}
.bulk-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 20px;padding:13px 15px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.78);position:sticky;top:92px;z-index:15;backdrop-filter:blur(12px)}
.bulk-actions .select-all-wishes{display:flex;align-items:center;gap:8px;font-weight:800;cursor:pointer}.bulk-actions input{width:18px;height:18px;accent-color:var(--wine2)}
.bulk-actions #selectedWishCount{color:var(--muted);font-size:13px;font-weight:700;margin-right:auto}.bulk-actions .btn:disabled{opacity:.45;cursor:not-allowed}
.wish-card{position:relative}.wish-select{position:absolute;z-index:10;right:12px;bottom:82px;width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 5px 18px rgba(41,25,30,.18);display:grid;place-items:center;cursor:pointer;border:2px solid transparent}
.wish-select input{position:absolute;opacity:0;pointer-events:none}.wish-select span{font-weight:900;color:#b4a8ab}.wish-select:has(input:checked){background:var(--wine2);border-color:#fff}.wish-select:has(input:checked) span{color:#fff}.wish-card.selected{box-shadow:0 0 0 3px rgba(126,25,64,.22);border-radius:20px}.select-hint{font-size:12px;color:var(--muted)}
@media(max-width:650px){.bulk-actions{top:8px}.wish-select{right:8px;bottom:76px}.select-hint{display:none}}
