/* ── Marca / logo ── */
.brand-mark.has-logo{background:#fff;padding:4px;box-shadow:0 6px 16px -6px rgba(0,0,0,.35);overflow:hidden}
.brand-mark.has-logo img{width:100%;height:100%;object-fit:contain;display:block}
.sb-brand .brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-size:1.3rem}
.brand-lg .brand-name,.brand-sm .brand-name{white-space:normal}
/* ── Configuración de la empresa ── */
.logo-up{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.logo-box{width:112px;height:112px;border-radius:20px;border:2px dashed #E8D5CC;background:#FFFBF8;display:grid;place-items:center;overflow:hidden;flex:none;position:relative;color:#C9B8AE;font-size:2.4rem}
.logo-box img{width:100%;height:100%;object-fit:contain;padding:8px}
.logo-box.loading:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.75) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Ccircle cx='25' cy='25' r='18' fill='none' stroke='%23E8456B' stroke-width='5' stroke-dasharray='80 40'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") center/34px no-repeat}
.seg-opt{flex:1;margin:0;cursor:pointer}.seg-opt input{position:absolute;opacity:0;pointer-events:none}
.seg-opt span{display:block;text-align:center;padding:.5rem .6rem;border-radius:10px;font-size:.85rem;color:var(--muted);transition:.15s;white-space:nowrap}
.seg-opt input:checked+span{background:#fff;color:var(--rose);box-shadow:0 2px 8px rgba(0,0,0,.08);font-weight:600}
.seg-opt input:focus-visible+span{outline:2px solid var(--rose)}
.cfg-preview{position:sticky;top:84px}
.pv-head{display:flex;gap:14px;align-items:center;padding:20px;background:linear-gradient(135deg,#3B2A25,#6B3F36 60%,#E8456B);color:#fff}
.pv-head b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.15rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-head small{opacity:.8;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.min-w-0{min-width:0}
.pv-logo{width:54px;height:54px;border-radius:15px;background:#fff;display:grid;place-items:center;flex:none;color:var(--rose);font-size:1.5rem;overflow:hidden}.pv-logo img{width:100%;height:100%;object-fit:contain;padding:5px}
.pv-body{padding:14px 20px;display:grid;gap:8px;font-size:.84rem}.pv-body>div{display:flex;gap:10px;align-items:center;min-width:0}.pv-body i{color:var(--rose);width:16px;text-align:center}.pv-body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-rows{display:grid;gap:2px}.pv-rows>div{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px dashed var(--line);font-size:.86rem}.pv-rows>div:last-child{border:0}
.pv-rows span{color:var(--muted)}.pv-rows b{text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:1199.98px){.cfg-preview{position:static}}
@media(max-width:575.98px){.logo-box{width:92px;height:92px}.seg-opt span{font-size:.78rem;padding:.5rem .3rem}}
/* ── Respaldo y datos ── */
.bk-hero{background:linear-gradient(120deg,#3B2A25 0%,#5A3A31 55%,#8E3B53 100%);border-radius:22px;color:#fff;padding:26px 30px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;position:relative;overflow:hidden}
.bk-hero:after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.06)}
.bk-hero h1{font-size:1.7rem;margin:2px 0 6px;color:#fff}.bk-hero p{margin:0;opacity:.85;max-width:560px;font-size:.92rem}.bk-hero>*{position:relative;z-index:1}
.bk-hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.bk-state{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.4rem .9rem;font-weight:600;font-size:.82rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.bk-state.bk-success i{color:#7CE3B5}.bk-state.bk-warning i{color:#FFD27A}.bk-state.bk-danger i{color:#FF9DB4}
.bk-file{display:flex;gap:10px;align-items:center}.bk-file>i{font-size:1.5rem;color:var(--rose)}.bk-file b{font-size:.84rem;word-break:break-all}
.bk-tips{list-style:none;margin:0;padding:0;display:grid;gap:12px}.bk-tips li{display:flex;gap:12px;font-size:.84rem;color:var(--muted);line-height:1.4}.bk-tips i{color:var(--rose);font-size:1.1rem;margin-top:1px}
.bk-drop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:34px 18px;border:2px dashed #E3CFC5;border-radius:18px;background:#FFFBF8;cursor:pointer;transition:.2s;margin:0}
.bk-drop i{font-size:2.4rem;color:var(--rose)}.bk-drop small{color:var(--muted)}.bk-drop:hover,.bk-drop.over{border-color:var(--rose);background:#FFF1F4}.bk-drop.ok{border-style:solid;border-color:#1F8A63;background:#F1FBF6}.bk-drop.ok i{color:#1F8A63}
.bk-info{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.bk-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bk-info-grid small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.4px}.bk-info-grid b{font-size:.9rem}
.bk-steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:14px}.bk-steps li{counter-increment:s;position:relative;padding-left:44px}
.bk-steps li:before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:#FFF1F4;color:var(--rose);font-weight:700;display:grid;place-items:center}
.bk-steps b{display:block;font-size:.9rem}.bk-steps span{color:var(--muted);font-size:.82rem}
.bk-tab-danger.active{background:linear-gradient(135deg,#D63F66,#B3264C)!important}
.bk-danger-head{display:flex;gap:14px;align-items:center;background:#FDECEF;border:1px solid #F7C5D0;color:#8E1F3B;border-radius:16px;padding:14px 18px;margin-bottom:18px}.bk-danger-head>i{font-size:1.8rem}.bk-danger-head b{display:block}.bk-danger-head span{font-size:.84rem}
.bk-opt{display:block;margin:0;cursor:pointer}.bk-opt input{position:absolute;opacity:0;pointer-events:none}
.bk-opt-in{display:flex;gap:16px;align-items:flex-start;background:#fff;border:2px solid var(--line);border-radius:18px;padding:18px;transition:.2s}
.bk-opt:hover .bk-opt-in{border-color:#E8A9B9}.bk-opt.on .bk-opt-in{border-color:var(--rose);box-shadow:0 10px 26px -14px rgba(232,69,107,.7);background:#FFF8FA}.bk-opt-red.on .bk-opt-in{border-color:#B3264C;background:#FFF5F7}
.bk-opt-ic{width:48px;height:48px;border-radius:14px;background:#FFF1F4;color:var(--rose);display:grid;place-items:center;font-size:1.4rem;flex:none}.bk-opt-red .bk-opt-ic{background:#FCE4EA;color:#B3264C}
.bk-opt b{display:block;font-size:1rem;margin-bottom:3px}.bk-opt span{color:var(--muted);font-size:.84rem;line-height:1.4;display:block}
.bk-del{margin-top:10px;padding:0 6px}.bk-del>b{font-size:.74rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.bk-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.bk-chips span{background:#FDECEF;color:#A32A47;border-radius:999px;padding:.18rem .65rem;font-size:.74rem;font-weight:600}
@media(max-width:767.98px){.bk-hero{padding:20px}.bk-info-grid{grid-template-columns:repeat(2,1fr)}}
/* ajuste móvil: la lista de producción del inicio no debe ensanchar la página */
.prod-list{min-width:0}.prod-item{min-width:0;max-width:100%}.prod-item>.flex-fill{min-width:0}.prod-item .pill{flex:none}.prod-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.form-switch .form-check-label{margin-left:.45rem}
