/* Agregados de la maqueta completa: firmas, pago y descarga */

/* Editor de firmas */
.sig-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}
.sig-list{display:grid;gap:10px;margin-bottom:12px}
.sig-row{display:grid;grid-template-columns:112px 1fr;gap:14px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:12px}
.sig-logo{width:112px;height:88px;border-radius:10px;display:grid;place-items:center;cursor:pointer;padding:8px;overflow:hidden;border:1px solid var(--line-2);background:repeating-conic-gradient(#2b2b33 0 25%,#1f1f25 0 50%) 0 0/14px 14px;transition:.2s}
.sig-logo:hover{border-color:var(--accent)}
.sig-logo img{max-width:100%;max-height:100%;object-fit:contain}
.sig-logo.empty{background:var(--bg-2);border-style:dashed;color:var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:.76rem;font-weight:600}
.sig-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.sig-top .dim{font-size:.8rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icon-btn.sm{width:32px;height:32px}
.icon-btn.sm svg{width:15px;height:15px}
.sig-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.sig-line .lbl{margin:0;min-width:68px}
.sig-pos{width:88px;height:58px;border-radius:8px;border:1px solid var(--line-2);background:linear-gradient(160deg,#465062,#23272f);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;padding:5px;gap:2px;flex:none}
.sig-pos button{background:none;border:0;padding:0;display:flex;cursor:pointer;min-width:0}
.sig-pos button:nth-child(3n+1){justify-content:flex-start}
.sig-pos button:nth-child(3n+2){justify-content:center}
.sig-pos button:nth-child(3n){justify-content:flex-end}
.sig-pos button:nth-child(-n+3){align-items:flex-start}
.sig-pos button:nth-child(n+4){align-items:flex-end}
.sig-pos i{width:18px;height:9px;border-radius:2px;background:rgba(255,255,255,.3);transition:.15s}
.sig-pos button:hover i{background:rgba(255,255,255,.7)}
.sig-pos button.on i{background:var(--accent);box-shadow:0 0 0 2px rgba(217,140,34,.35)}
.sig-poslbl{font-size:.8rem;color:var(--muted)}
.seg2.sig-size{margin:0}
.sig-size button{padding:5px 11px;font-size:.78rem}
.sig-note{font-size:.76rem;display:flex;gap:6px;align-items:center}
.sig-note svg.i{width:13px;height:13px}
.sig-prev{position:sticky;top:56px}
.sig-canvas{border-radius:12px;overflow:hidden;background:var(--bg-3);min-height:220px;display:grid;place-items:center}
.sig-canvas canvas{width:100%;height:auto;display:block}
.sig-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:22px}
.sig-strip img{height:20px;width:auto;opacity:.9}

/* Galería por filas: cada foto ocupa el ancho de su formato (--ar = ancho/alto), las verticales no se recortan */
.grid.just,.a-grid.just{display:flex;flex-wrap:wrap;gap:10px;--rh:230px}
.a-grid.just{gap:8px;--rh:120px}
.grid.just>.ph,.a-grid.just>.a-ph{aspect-ratio:var(--ar,1.5);flex:var(--ar,1.5) 1 calc(var(--ar,1.5) * var(--rh));min-width:0}
.grid.just>.ph{border-radius:10px}
.grid.just::after,.a-grid.just::after{content:"";flex:999 1 0}
.a-ph .fmt-v{position:absolute;right:6px;bottom:6px;width:10px;height:15px;border:2px solid #fff;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.35);opacity:.9}
.dl-img.tall{aspect-ratio:3/4}

/* Filtros de la tienda por fecha y evento */
.date-filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:-6px 0 22px}
.df{display:grid;gap:4px;min-width:0}
.df span{font-size:.72rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding-left:4px}
.df select{width:auto;min-width:110px;padding:8px 12px;border-radius:999px}
.df select:disabled{opacity:.45}
.df-ev{flex:1;min-width:220px}
.df-ev select{width:100%}

/* Carrito: opción por foto (digital o revelada + digital) */
.c-bulk{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.84rem;margin-bottom:4px}
.c-rows{display:grid;gap:8px}
.c-row{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.c-thumb{position:relative;width:76px;height:76px;border-radius:9px;overflow:hidden;container-type:inline-size}
.c-thumb img{width:100%;height:100%;object-fit:cover}
.c-info{min-width:0}
.c-info b{font-size:.84rem}
.c-seg{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.c-seg button{border:1px solid var(--line-2);background:transparent;color:var(--muted);border-radius:999px;padding:6px 12px;font:inherit;font-size:.8rem;cursor:pointer;transition:.15s}
.c-seg button span{font-weight:600;color:var(--text);margin-left:4px}
.c-seg button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.c-seg button.on span{color:var(--accent)}
.c-copies{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:.8rem;flex-wrap:wrap}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:999px;overflow:hidden}
.stepper button{background:transparent;border:0;color:var(--text);width:30px;height:28px;font:inherit;font-size:1rem;cursor:pointer}
.stepper button:disabled{opacity:.35;cursor:default}
.stepper b{min-width:22px;text-align:center}

/* Foto ampliada: dos precios */
.lb-opts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.lb-opt{display:flex;gap:10px;align-items:center;text-align:left;padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font:inherit;cursor:pointer;transition:.15s}
.lb-opt:hover{border-color:var(--accent)}
.lb-opt svg{width:18px;height:18px;flex:none}
.lb-opt b{display:block;font-size:.9rem}
.lb-opt small{display:block;font-size:.74rem;color:rgba(255,255,255,.65)}
.lb-opt.on{background:var(--accent);border-color:var(--accent);color:#111}
.lb-opt.on small{color:rgba(0,0,0,.65)}

/* Tienda del colegio */
/* El logo del colegio tiene texto verde oscuro: va sobre una placa blanca para que se lea en el fondo oscuro */
.s-hero.school .school-logo{height:72px;width:auto;margin:0 auto 16px;display:block;background:#fff;padding:8px 16px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.store-card{display:grid;grid-template-columns:1fr minmax(0,420px);gap:16px;align-items:center;margin-bottom:18px;border-color:rgba(217,140,34,.35)}
.store-card b{display:flex;gap:6px;align-items:center}
.a-ph.is-rev{outline:2px solid var(--accent);outline-offset:-2px}
.a-ph .rev-tag{position:absolute;top:6px;left:6px;display:flex;gap:4px;align-items:center;background:var(--accent);color:#111;font-size:.68rem;font-weight:700;padding:3px 7px;border-radius:999px}
.a-ph .rev-tag svg{width:12px;height:12px}

/* Precios de carpeta y de foto */
.pf-mode{margin:0}
.pf-mode label{flex:1;text-align:center;padding:8px 12px;border-radius:999px;cursor:pointer;font-size:.84rem;color:var(--muted);font-weight:600}
.pf-mode label.on{background:var(--accent);color:#111}
.a-ph .price-tag{position:absolute;top:6px;left:34px;background:rgba(10,10,12,.82);color:var(--accent-2);font-size:.66rem;font-weight:700;padding:3px 7px;border-radius:999px;white-space:nowrap}
.apply-all{border-color:rgba(217,140,34,.35)}
.apply-all .btn{margin-top:10px}
.own-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.own-list a{font-size:.78rem;padding:4px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted)}
.own-list a:hover{border-color:var(--accent);color:var(--accent)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--muted);margin-top:12px;cursor:pointer}
.chk input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex:none}

/* Aviso de la tienda del colegio */
.gate .school-logo{height:72px;width:auto;margin:0 auto 18px;display:block;background:#fff;padding:8px 16px;border-radius:14px}
.gate-rules{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:.88rem;color:var(--muted)}
.gate-rules b{color:var(--text)}
.gate-rules ul{margin:8px 0 10px 18px;display:grid;gap:6px}

/* Compartir por WhatsApp con QR */
.btn-wa{background:#25d366;color:#0b2b17;border-color:#25d366}
.btn-wa:hover{background:#3be07a}
.btn-wa[disabled]{opacity:.5}
.share-prev{display:grid;gap:12px}
.share-card{width:200px;justify-self:center;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;text-align:center;font-size:.8rem;padding:6px}
.share-card img{width:100%;height:100%;object-fit:contain;display:block}
.share-text{min-height:110px;font-size:.82rem;resize:none}
.modal h3{padding-right:44px}
@media (max-width:560px){ .share-card{width:150px} }

/* V3 · Fotos: fotógrafo, ocultas, pedidos de baja */
.lb-report{color:rgba(255,255,255,.75)}
.lb-report:hover{color:#fff}
.a-ph .by-tag{position:absolute;right:6px;top:6px;width:24px;height:24px;border-radius:50%;background:rgba(10,10,12,.78);color:#fff;font-size:.6rem;font-weight:700;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25)}
.a-ph.is-hidden img{opacity:.35;filter:grayscale(1)}
.a-ph .hid-tag{position:absolute;left:6px;right:6px;bottom:30px;text-align:center;background:rgba(214,96,64,.92);color:#fff;font-size:.66rem;font-weight:700;padding:3px 6px;border-radius:6px}
.ev-cover .arch{left:auto;right:12px}
.up-by{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.up-by select{width:auto;padding:7px 12px}
.by-chips{margin:0 0 10px}
.by-assign{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line-2);border-radius:999px;padding:0 4px 0 10px;color:var(--muted)}
.by-assign svg{width:14px;height:14px}
.by-assign .btn{padding:6px 7px;font-size:.72rem}
.rm-card{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:start}
.rm-photo{aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--bg);display:grid;place-items:center}
.rm-photo img{width:100%;height:100%;object-fit:cover}

/* Papelera */
.trash-list{display:grid;gap:10px}
.trash-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.trash-thumbs{display:flex}
.trash-thumbs img{width:46px;height:46px;object-fit:cover;border-radius:8px;border:2px solid var(--bg-2);margin-left:-12px}
.trash-thumbs img:first-child{margin-left:0}

/* Equipo */
.avatar.sm{width:28px;height:28px;font-size:.66rem;display:inline-grid;vertical-align:middle;margin-right:6px}
.pct{display:flex;align-items:center;gap:4px}
.pct input{width:70px;padding:6px 8px}
.tbl tr.tot td{border-top:1px solid var(--line-2)}

/* Consultas */
.inq{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start}
.inq-list{display:grid;gap:8px}
.inq-item{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font:inherit;cursor:pointer;position:relative}
.inq-item.on{border-color:var(--accent);background:var(--accent-soft)}
.inq-item b{display:block;font-size:.9rem}
.inq-item small{display:block;font-size:.76rem;color:var(--muted)}
.inq-item .dim{grid-column:2;grid-row:1;align-self:start}
.dot-new{position:absolute;top:12px;right:-4px;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.travel{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.travel b{display:flex;gap:6px;align-items:center}

/* Portfolio (panel) */
.chip-x{background:none;border:0;color:inherit;margin-left:4px;cursor:pointer;font-size:1rem;line-height:1;opacity:.6}
.chip-x:hover{opacity:1}
.pf-adm{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.pf-a{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}
.pf-a img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pf-a-b{display:grid;gap:6px;padding:10px}
.pf-a-b .input{padding:7px 10px;font-size:.84rem}
.more-link{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.more-link b{display:block}
.more-link small{display:block;font-size:.8rem}
.inst-card{border-color:rgba(217,140,34,.25)}
@media (max-width:860px){ .inq{grid-template-columns:1fr} .rm-card{grid-template-columns:90px 1fr} .trash-row{grid-template-columns:auto 1fr} .trash-row > div:last-child{grid-column:1/-1} }

/* Pie legal de la tienda */
.s-foot{border-top:1px solid var(--line);margin-top:40px;padding:22px 0 110px;font-size:.8rem;color:var(--dim)}
.s-foot .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.s-foot .ft-legal{display:flex;gap:16px;flex-wrap:wrap}
.s-foot a:hover{color:var(--accent)}

/* Pago */
.pay{max-width:1000px;margin:0 auto;padding:28px 0 80px;display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
.pay-h{grid-column:1/-1}
.methods{display:grid;gap:12px}
.method{border:1px solid var(--line-2);border-radius:16px;background:var(--bg-2);overflow:hidden}
.method.rec{border-color:rgba(217,140,34,.55)}
.method-h{display:flex;gap:14px;align-items:center;padding:18px 20px;width:100%;background:none;border:0;text-align:left}
.method-h .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.method-h b{display:block;font-size:1rem}
.method-h small{color:var(--muted);font-size:.84rem;display:block}
.method-h .chev{margin-left:auto;color:var(--dim);transition:.2s}
.method.open .chev{transform:rotate(180deg)}
.method-b{padding:0 20px 20px;display:none}
.method.open .method-b{display:block}
.qr-box{display:grid;grid-template-columns:1fr;gap:16px;justify-items:center;text-align:center}
.qr-big{width:440px;max-width:100%;aspect-ratio:1;background:#fff;border-radius:14px;padding:24px;display:grid;place-items:center}
.qr-big img,.qr-big canvas{width:100%!important;height:100%!important;image-rendering:pixelated}
.kvt{display:grid;gap:8px}
.kvt div{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.9rem}
.kvt span{color:var(--muted)}
.kvt b{font-family:ui-monospace,Consolas,monospace;letter-spacing:.02em;word-break:break-all;text-align:right;flex:1}
.kvt button{background:none;border:0;color:var(--accent);font-weight:600;font-size:.8rem}
.waiting{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.86rem;margin-top:14px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:pulse 1.4s infinite;flex:none}
@keyframes pulse{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
.thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.thumbs img{width:56px;height:56px;object-fit:cover;border-radius:8px}

/* Descarga */
.dl-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.dl-item{margin:0;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.dl-img{aspect-ratio:3/2;display:grid;place-items:center;background:#000;overflow:hidden}
.dl-img canvas,.dl-img img{width:100%;height:100%;object-fit:contain;display:block}
/* La foto final se puede mantener presionada en iPhone para "Guardar en Fotos" */
.dl-img img{-webkit-touch-callout:default;user-select:auto}

/* Link de pago: dinero en cuenta o todos los medios */
.mp-opts{display:grid;gap:10px}
.mp-opt{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;padding:14px 16px;border-radius:14px;border:1px solid var(--line-2);background:var(--bg);color:var(--text);cursor:pointer;transition:.2s;font:inherit}
.mp-opt:hover{border-color:var(--accent)}
.mp-opt>svg{width:22px;height:22px;color:var(--accent)}
.mp-opt b{display:block;font-size:.94rem}
.mp-opt small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.mp-opt .amt{font-family:var(--ff-head);white-space:nowrap}
.inst{display:grid;gap:8px;margin-top:14px}
.inst .opt{display:block;padding:12px 14px}
.inst .opt input{position:absolute;opacity:0}
.req{color:var(--accent);font-style:normal}
.dl-item figcaption{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-size:.82rem;color:var(--muted)}

@media (max-width:1000px){
  .sig-grid{grid-template-columns:1fr}
  .sig-prev{position:static}
}
@media (max-width:860px){ .pay{grid-template-columns:1fr} }
@media (max-width:640px){
  .grid.just{gap:4px;--rh:76px} /* unas 3 horizontales por fila, para que el scroll no sea largo */
  .grid.just>.ph{border-radius:6px}
  .a-grid.just{gap:5px;--rh:92px}
  .store-card{grid-template-columns:1fr}
  /* Barra de la demo con 4 accesos: se achica para entrar en el celular */
  .demo-bar{gap:6px;padding:0 6px}
  .demo-bar > b{display:none}
  .demo-bar .seg a{padding:3px 9px}
  .c-row{grid-template-columns:64px 1fr auto;gap:10px}
  .c-thumb{width:64px;height:64px}
  .c-seg button{padding:6px 10px;font-size:.76rem}
  .lb-opts{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .lb-opt{padding:9px 10px}
  .lb-opt small{display:none}
  .date-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .df select{min-width:0;width:100%}
  .df-ev{grid-column:1/-1;min-width:0}
  .date-filters .btn-text{grid-column:1/-1;justify-self:start}
}
@media (max-width:560px){
  .sig-row{grid-template-columns:1fr}
  .sig-logo{width:100%}
  .qr-box{grid-template-columns:1fr;justify-items:center;text-align:center}
}

/* V3.2 · Marca de agua en mosaico: los logos no deben heredar el "cubrir el recuadro" de la foto
   (.wm-prev img / .ph img usan height:100% + object-fit:cover y recortaban los costados del logo). */
.wm .wm-t img{height:auto!important;max-width:none!important;object-fit:contain!important;transform:none!important}

/* V3.2 · Filtros editables */
.tag-ed{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tg{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:999px;background:var(--bg);padding:2px 4px 2px 12px;transition:.15s}
.tg:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.tg-in{background:none;border:0;color:var(--text);font:inherit;font-size:.86rem;padding:5px 0;outline:none;min-width:3ch}
.tg-x{background:none;border:0;color:var(--muted);width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1}
.tg-x:hover{background:rgba(255,255,255,.08);color:var(--text)}
.tg-add{background:none;border:1px dashed var(--line-2);color:var(--accent);border-radius:999px;padding:7px 14px;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer}
.tg-add:hover{border-color:var(--accent)}
.a-ph .tg-tag{position:absolute;left:50%;transform:translateX(-50%);bottom:6px;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgba(217,140,34,.92);color:#111;font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:999px}
.bulk-tag{width:auto;padding:6px 10px;font-size:.82rem;border-radius:999px}
.chip-sep{width:1px;height:22px;background:var(--line-2);align-self:center;margin:0 2px}
.chip.tagc{border-style:dashed}
.chip.tagc.on{border-style:solid}

/* V3.2 · Tiendas */
.st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:18px}
.st-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.st-head h3{font-size:1.1rem}
.st-logo{width:64px;height:64px;border-radius:14px;background:#fff;display:grid;place-items:center;padding:6px;overflow:hidden}
.st-logo img{max-width:100%;max-height:100%;object-fit:contain}
.st-logo.main{background:var(--accent-soft);color:var(--accent)}
.st-logo.main svg{width:28px;height:28px}
.st-logo.big{width:150px;height:84px;background:repeating-conic-gradient(#e9e9ee 0 25%,#fff 0 50%) 0 0/14px 14px;color:#888}
.st-logo-up{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
@media (max-width:560px){ .st-grid{grid-template-columns:1fr} }

/* V3.2 · Intereses de clientes */
.int-chip{display:inline-block;font-size:.74rem;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-2);margin:0 4px 4px 0;white-space:nowrap}
.int-chip b{font-weight:700}
.int-bar{height:6px;border-radius:3px;background:var(--line);width:90px;margin-bottom:4px;overflow:hidden}
.int-bar i{display:block;height:100%;background:var(--accent)}

/* V3.2 · Avisos de transferencias */
.alert-nums{display:grid;gap:8px;margin:0 0 6px}
.alert-row{display:grid;grid-template-columns:1fr 1.2fr auto auto;gap:8px;align-items:center}
.alert-row .input{padding:8px 10px;font-size:.86rem}
.alerts-sent{margin-top:14px;display:grid;gap:6px}
.alerts-sent > b{font-size:.84rem;display:flex;gap:6px;align-items:center}
.alert-item{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:.8rem;cursor:pointer}
.alert-item svg{width:15px;height:15px;color:var(--accent)}
.alert-item small{color:var(--dim)}
.chat{border-radius:14px;padding:16px;background:#0b141a}
.chat.tg{background:#17212b}
.bubble{position:relative;max-width:92%;background:#005c4b;color:#e9edef;border-radius:10px 10px 10px 2px;padding:10px 12px 18px;font-size:.88rem;line-height:1.45}
.chat.tg .bubble{background:#2b5278}
.bubble a{color:#53bdeb;word-break:break-all}
.bubble small{position:absolute;right:10px;bottom:4px;font-size:.66rem;opacity:.7}
.tg-btn{display:block;margin-top:10px;text-align:center;background:rgba(255,255,255,.12);border-radius:8px;padding:7px;font-weight:600}
.qc{max-width:520px;margin:0 auto;text-align:center;display:grid;gap:6px}
.qc h1{font-size:1.6rem;margin-top:8px}
.qc .badge{justify-self:center}
.qc-amount{margin:10px 0;padding:16px;border-radius:14px;background:var(--bg);border:1px solid rgba(217,140,34,.4);display:grid;gap:4px}
.qc-amount small{color:var(--muted);font-size:.8rem}
.qc-amount b{font-family:var(--ff-head);font-size:2.2rem;color:var(--accent-2)}
.qc-amount span{font-size:.8rem;color:var(--dim)}
.qc .thumbs{justify-content:center}
.btn-lg{padding:16px 22px;font-size:1rem}
.qc{width:100%;min-width:0}
.qc .btn{white-space:normal;justify-content:center;text-align:center}
.qc .thumbs{flex-wrap:wrap}
@media (max-width:560px){ .alert-row{grid-template-columns:1fr 1fr auto auto} }

/* V3 · ajustes de diseño */
.cols > *{min-width:0}
.main{min-width:0}
.by-chips{flex-wrap:wrap}
#aphotos{min-width:0}
.crm{display:grid;gap:18px}
.crm-side{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.crm .tbl td:nth-child(3){min-width:190px}
.crm .tbl td:nth-child(4){min-width:240px}
@media (max-width:860px){ .crm-side{grid-template-columns:1fr} }
