:root{--ink:#22282e;--muted:#5f6b75;--line:#e1e6ea;--bg:#f3f5f7;--card:#fff;--accent:#2f5d50;--accent2:#356859;--wa:#1f9d55;
  --red:#b23b3b;--red-bg:#fdecec;--amber:#8a5a00;--amber-bg:#fff4e0;--green:#1f7a45;--green-bg:#e4f3ea;--blue:#3556a5;--blue-bg:#e9f0fb}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:1rem;line-height:1.45}
a{color:var(--accent2)}
button,input,select,textarea{font:inherit}
.inline{display:inline}
.offscreen{position:absolute;left:-9999px}
:focus-visible{outline:3px solid #7fb3a1;outline-offset:2px}
.muted{color:var(--muted)}.small{font-size:.85rem}

/* cabecera */
.top{background:var(--accent);color:#fff;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.top .brand{font-weight:700;color:#fff;text-decoration:none;font-size:1.05rem}
.topright{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.toplnk{color:#fff;text-decoration:none;font-size:.9rem;padding:6px 10px;border-radius:8px;background:transparent;border:1px solid transparent;cursor:pointer}
.toplnk.on,.toplnk:hover{background:rgba(255,255,255,.14)}
.topuser{color:#cfe0d9;font-size:.9rem;padding:0 6px}
.logout{color:#fff;background:transparent;font-size:.9rem;border:1px solid rgba(255,255,255,.45);padding:6px 12px;border-radius:8px;cursor:pointer}
.flash{max-width:1100px;margin:12px auto 0;padding:10px 16px;border-radius:10px;font-weight:600}
.flash-ok{background:var(--green-bg);color:var(--green);border:1px solid #bfe3cd}
.flash-err{background:var(--red-bg);color:var(--red)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#22282e;color:#fff;padding:10px 16px;border-radius:10px;font-weight:600;z-index:50;box-shadow:0 4px 20px rgba(0,0,0,.2)}

/* listado / cola */
.page{max-width:1100px;margin:16px auto;padding:0 16px}
.listbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.listhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.95rem}
.pill{font-weight:700;padding:5px 12px;border-radius:20px;font-size:.9rem}
.pill-red{background:var(--red-bg);color:var(--red)}.pill-amber{background:var(--amber-bg);color:var(--amber)}.pill-green{background:var(--green-bg);color:var(--green)}
.buscador{flex:1;min-width:220px;max-width:440px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:.95rem}
.sel{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.orow{display:grid;grid-template-columns:110px 1fr 300px 20px;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-left:6px solid #cfd6db;border-radius:12px;padding:12px 16px;margin-bottom:8px;text-decoration:none;color:inherit;transition:.1s}
.orow:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(47,93,80,.1)}
.orow.niv-vencido{border-left-color:var(--red);background:#fffafa}
.orow.niv-pronto{border-left-color:#e0a52a}
.orow.niv-ok{border-left-color:#8fc7a9}
.orow.niv-espera{border-left-color:#cfd6db;opacity:.85}
.orow.niv-cerrado{border-left-color:#e1e6ea}
.oid{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.oid .pid{font-size:1.15rem;font-weight:800}
.oprod{font-weight:600}
.osub{font-size:.9rem;margin-top:2px}
.ocuando{font-size:.9rem}
.olim{font-weight:600}.olim.hoy{color:var(--red)}
.onext{margin-top:3px}
.ndot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#cfd6db;margin-right:6px;vertical-align:middle}
.niv-vencido .ndot{background:var(--red)}.niv-pronto .ndot{background:#e0a52a}.niv-ok .ndot{background:#8fc7a9}
.ocell.right{text-align:right}
.empty{background:#fff;border:1px dashed var(--line);border-radius:12px;padding:20px;color:var(--muted);text-align:center}
.state{font-weight:600;font-size:.8rem;padding:3px 10px;border-radius:20px;white-space:nowrap}
.st-new{background:#eaf3ee;color:#356859}.st-cont{background:#fdf0dc;color:#9a6b12}.st-conf{background:#e7eefb;color:#3556a5}.st-done{background:#e4f3ea;color:#2f7d55}.st-grey{background:#eef1f3;color:#6b7680}

/* detalle: siguiente paso, urgencia, línea de tiempo */
.wrap-outer{max-width:1100px;margin:0 auto 40px;padding:0 16px}
.back{margin:12px 0 8px}.back a{font-weight:600;text-decoration:none}
.next{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-radius:12px;padding:12px 16px;margin-bottom:10px;border:1px solid var(--line);background:#fff}
.next-vencido{background:var(--red-bg);border-color:#f0bcbc;color:#7a2222}
.next-pronto{background:var(--amber-bg);border-color:#ecd39a;color:#6b4600}
.next-ok,.next-espera{background:#fff}
.next-cerrado{background:var(--green-bg);border-color:#bfe3cd;color:var(--green)}
.nextk{font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:.5px;margin-right:8px}
.nexttxt{font-size:1.05rem}
.nextact{font-size:.95rem;margin-top:2px}
.snooze{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.urgband{border-radius:12px;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.urg-hoy{background:#fff;border:2px solid var(--red);color:var(--red)}
.urg-otro{background:#fff;border:1px solid var(--line);color:var(--ink)}
.urg-falta{background:var(--amber-bg);border:1px solid #ecd39a;color:var(--amber)}
.urgtxt{font-size:1rem}
.countdown{font-weight:800;font-size:1.3rem;font-variant-numeric:tabular-nums}
.cd-red{color:var(--red)}
.editentrega summary{cursor:pointer;font-size:.9rem;color:var(--muted)}
.inline-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:6px}
.inline-form label{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted)}
.inline-form input{padding:6px 8px;border:1px solid var(--line);border-radius:8px}
.timeline{display:flex;gap:0;margin:4px 0 14px;overflow-x:auto}
.tstep{flex:1;min-width:120px;position:relative;padding:8px 8px 4px;text-align:center;font-size:.85rem;color:var(--muted)}
.tstep:before{content:"";position:absolute;left:0;right:0;top:14px;height:3px;background:#dfe4e8}
.tstep:first-child:before{left:50%}.tstep:last-child:before{right:50%}
.tdot{position:relative;display:block;width:14px;height:14px;border-radius:50%;background:#dfe4e8;margin:1px auto 6px;border:3px solid var(--bg)}
.tstep.done{color:var(--ink)}.tstep.done .tdot{background:var(--accent)}
.tstep.done:before{background:var(--accent)}
.tstep.actual{color:var(--ink);font-weight:700}.tstep.actual .tdot{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px #b9d8cb}
.tl{display:block}.tts{display:block;font-size:.75rem;color:var(--muted);font-weight:400}

/* columnas */
.wrap{display:grid;grid-template-columns:1fr 360px;gap:18px}
.col-main{min-width:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}
.card h3{margin:0 0 10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.card-det summary{cursor:pointer;font-weight:600;color:var(--accent2)}
.ohead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:2px}
.pid{font-size:1.25rem;font-weight:800}
.src{color:var(--muted);font-size:.9rem;margin-bottom:8px}
.kv{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);align-items:center}
.kv:last-of-type{border:0}.kv .k{color:var(--muted)}.kv .v{text-align:right;font-weight:600}
.dedk{font-size:.8rem;color:var(--muted);margin-top:8px}
.ded{display:block;width:100%;text-align:left;background:#f7f4ee;border:0;border-left:4px solid #cdb98a;padding:10px 12px;border-radius:6px;font-style:italic;margin-top:4px;font-size:1.05rem;cursor:pointer}
.compo{margin-top:10px}.compo summary{cursor:pointer;font-size:.9rem;color:var(--accent2);font-weight:600}
.compo-ta{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:inherit;resize:vertical;margin-top:6px}
.compo-form{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.mini-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:center}
.clihist{background:#f6f4ef;border-radius:8px;padding:8px 10px;font-size:.9rem;margin:8px 0}
.clihist-i{margin-top:2px}
.recipe{background:#eef4f1;border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:.95rem}
.precio-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-bottom:8px}
.pl{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted);gap:3px}
.pl input{width:110px;padding:8px;border:1px solid var(--line);border-radius:8px}
.margen{border-radius:8px;padding:10px 12px;font-size:.95rem}
.m-green{background:var(--green-bg);color:var(--green)}.m-amber{background:var(--amber-bg);color:var(--amber)}.m-red{background:var(--red-bg);color:var(--red)}
.aviso{margin-top:8px;padding:8px 10px;border-radius:8px;font-size:.9rem;line-height:1.4}
.aviso-red{background:var(--red-bg);color:var(--red);border-left:3px solid var(--red)}
.aviso-blue{background:var(--blue-bg);color:var(--blue);border-left:3px solid var(--blue)}
.aviso-amber{background:var(--amber-bg);color:var(--amber);border-left:3px solid #d4a017}
.tname{font-weight:700}
.notas{background:#f7f8f9;border-radius:8px;padding:8px 10px;font-size:.9rem;margin-bottom:8px;white-space:pre-line}
.notas-rap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.notabtn{border:1px dashed #c9d1d8;background:#fff;color:var(--muted);padding:6px 10px;border-radius:14px;font-size:.85rem;cursor:pointer}
.notabtn:hover{border-color:var(--accent);color:var(--accent)}
.nota-libre{display:flex;gap:6px}.nota-libre input{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.estados{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.stbtn{border:1px solid var(--line);background:#fff;color:var(--muted);padding:8px 12px;border-radius:8px;font-weight:600;cursor:pointer}
.stbtn-on{background:var(--accent);color:#fff;border-color:var(--accent)}
.cancelar{display:flex;gap:6px;margin-top:8px}.cancelar input{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.loglist{list-style:none;margin:8px 0 0;padding:0;font-size:.9rem}
.loglist li{padding:4px 0;border-bottom:1px dashed var(--line)}
.logts{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:6px}

/* candidatas */
.synergy{background:#f0ebff;border:1px solid #d8ccf5;border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:.95rem;color:#4a3a86}
.syn-item{display:inline-block;background:#fff;border-radius:14px;padding:2px 10px;margin:3px 5px 0 0;font-size:.9rem;text-decoration:none;color:#4a3a86}
.syn-dif{background:#fff4e6;border-color:#f0d9b5;color:#8a5a00}.syn-dif .syn-item{color:#8a5a00}
.herohead{font-weight:800;color:var(--accent);margin:2px 4px 8px;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}
.candhead{display:flex;align-items:baseline;justify-content:space-between;margin:14px 4px 10px}
.cand{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px}
.cand-asignada{border:2px solid var(--green);box-shadow:0 3px 16px rgba(31,122,69,.12);background:#fbfefc}
.cand-recomendada{border:2px solid var(--accent);box-shadow:0 3px 16px rgba(47,93,80,.12);background:#fbfefc}
.cand-propia{border:1px solid #b9c8e8;background:#f7f9fe}
.cand-asignada .cname,.cand-recomendada .cname{font-size:1.15rem}
.cand-deg{opacity:.7;background:#fafafa}
.cbody{flex:1;min-width:0}.cname{font-weight:700;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cmeta{font-size:.9rem;margin-top:6px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dist{font-weight:700}
.stars{color:#d9971a;letter-spacing:1px}
.badge{font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}
.b-green{background:var(--green-bg);color:#2f7d55}.b-blue{background:var(--blue-bg);color:var(--blue)}.b-grey{background:#eef1f3;color:#6b7680}
.b-amber{background:var(--amber-bg);color:var(--amber)}.b-red{background:var(--red-bg);color:var(--red)}
.chip{background:#f2f5f7;color:#55606a;font-size:.82rem;padding:3px 9px;border-radius:20px}
.chip-eur{background:#eef4f1;color:#2f5d50;font-weight:600}
.cactline{gap:8px}
.lnkbtn{background:#fff;border:1px solid var(--line);color:var(--accent2);font-size:.88rem;font-weight:600;cursor:pointer;padding:6px 10px;border-radius:8px;text-decoration:none;font-family:inherit;min-height:36px;display:inline-flex;align-items:center}
.lnkbtn:hover{border-color:var(--accent)}
.lnkbtn-red{color:var(--red)}
.lnk{color:var(--accent2);font-weight:600;text-decoration:none}
.ficha{margin-top:8px}.ficha summary{cursor:pointer;color:var(--accent2);font-size:.9rem;font-weight:600}
.frow{display:flex;gap:10px;padding:5px 0;font-size:.9rem;border-bottom:1px dashed var(--line)}
.frow .fk{color:var(--muted);flex:0 0 110px}
.flinks{margin-top:6px;display:flex;gap:12px}
.histtitle{font-size:.8rem;font-weight:700;color:var(--muted);margin:10px 0 4px;text-transform:uppercase;letter-spacing:.4px}
.histtab{width:100%;border-collapse:collapse;font-size:.88rem}
.histtab th{text-align:left;color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;padding:3px 6px;border-bottom:1px solid var(--line)}
.histtab td{padding:5px 6px;border-bottom:1px solid #f0efe8}
.skuprices{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:4px}
.cactions{display:flex;flex-direction:column;gap:8px;flex:0 0 190px}
.wa-wrap{display:flex;flex-direction:column;gap:6px}
.tpl-sel{font-size:.85rem;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#333;max-width:100%}
.mini-actions .wa-wrap{flex-direction:row;align-items:center}
.mini-actions .tpl-sel{max-width:170px}
.btn{display:inline-flex;justify-content:center;align-items:center;text-align:center;padding:10px 14px;border-radius:9px;font-size:.95rem;font-weight:700;text-decoration:none;border:0;cursor:pointer;min-height:42px;line-height:1.2}
.btn-block{width:100%}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{background:#188a49}
.btn-ghost{background:#eef1f3;color:#2b3238}.btn-ghost:hover{background:#e3e8ec}
.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#264c41}
.btn-outline{background:#fff;color:var(--accent);border:1.5px solid var(--accent)}
.btn-danger{background:#fff;color:var(--red);border:1.5px solid var(--red)}.btn-danger:hover{background:var(--red-bg)}
.btn-off{background:#f2f2f2;color:#999;cursor:default}
.btn-lg{padding:14px 16px;font-size:1.05rem;min-height:50px}
.btn-mini{padding:6px 10px;font-size:.85rem;min-height:34px}
.cambiar{margin-top:14px}.cambiar summary{cursor:pointer;font-weight:700;color:var(--accent2);padding:10px 4px}
.cambiar .cand{margin-top:10px}

/* respuesta de la floristería */
.resp h3{font-size:1rem;text-transform:none;letter-spacing:0;color:var(--ink);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wait{background:var(--amber-bg);color:var(--amber);font-weight:700;font-size:.85rem;padding:3px 10px;border-radius:20px}
.respgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}
.respbox{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;background:#fafbfc}
.resp-si{border-color:#bfe3cd;background:#f6fcf8}
.resp-no{border-color:#f0bcbc;background:#fffafa}
.respt{font-weight:700}
.respbox label{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--muted);flex-wrap:wrap}
.respbox input,.respbox textarea{padding:8px;border:1px solid var(--line);border-radius:8px;width:100%}
.respbox label input{width:90px}
.respbox label input[type=time]{width:110px}

/* login */
.loginbg{display:flex;align-items:center;justify-content:center;min-height:100vh}
.loginbox{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;width:360px;max-width:92vw;box-shadow:0 6px 30px rgba(0,0,0,.06)}
.logintitle{font-weight:800;font-size:1.15rem;margin-bottom:16px;text-align:center;color:var(--accent)}
.loginbox label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:12px}
.loginbox input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-top:4px}
.loginerr{background:var(--red-bg);color:var(--red);padding:8px 10px;border-radius:8px;font-size:.9rem;margin-bottom:12px}
.cp{cursor:pointer;border-radius:4px;transition:background .2s;background:none;border:0;padding:0 4px;font:inherit;color:inherit}
.cp:hover{background:#eef4f1}.cp-done{background:#d7f0df !important}

/* móvil */
@media(max-width:860px){
  .wrap{grid-template-columns:1fr}
  .col-main{order:0}.col-left{order:1}
  .orow{grid-template-columns:80px 1fr 20px;gap:10px;padding:10px 12px}
  .orow .ocuando{grid-column:1/3}
  .cand{flex-direction:column}
  .cactions{flex:none;width:100%;flex-direction:row;flex-wrap:wrap}
  .cactions .wa-wrap{flex:1 1 100%}
  .cactions .btn{flex:1}
  .respgrid{grid-template-columns:1fr}
  .top{padding:8px 12px}
  .topuser{display:none}
  .toplnk,.logout{padding:5px 8px;font-size:.85rem}
  .tstep{min-width:0;font-size:.72rem;padding:6px 2px 2px}.tts{font-size:.68rem}
  .nexttxt{font-size:1rem}
  .card-det{padding:12px}
}

.sinop{text-align:left}.sinop-opts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}

/* v8.1: correcciones, cobro, formulario */
.toplnk-new{background:rgba(255,255,255,.18);font-weight:700}
.cambios{background:#eef4ff;border:1px solid #c5d5f5;border-radius:12px;padding:10px 16px;margin-bottom:10px;font-size:.95rem;color:#2b3f6e}
.cambios-red{background:var(--red-bg);border-color:#f0bcbc;color:#7a2222}
.cambio-i{margin-top:3px}
.inline-det{display:inline}.inline-det summary{display:inline;cursor:pointer;color:var(--accent2);font-size:.85rem}
.msgsent{background:#e7f6ec;border-left:3px solid var(--wa);padding:8px 10px;border-radius:6px;margin:4px 0;font-size:.9rem;white-space:pre-wrap}
.resp-pago{border:2px solid var(--red)}
.pform .ftitle{margin:6px 0 4px;font-size:1.3rem}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fgrid fieldset{border:1px solid var(--line);margin:0;padding:14px 16px}
.fgrid legend{font-size:.8rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700;padding:0 6px}
.fgrid label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:10px;position:relative}
.fgrid input:not([type=checkbox]),.fgrid select,.fgrid textarea{display:block;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;margin-top:4px;color:var(--ink)}
.fgrid .chk{display:flex;align-items:center;gap:8px;color:var(--ink)}.fgrid .chk input{width:auto;margin:0}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.req{color:var(--red)}
.fact summary{cursor:pointer;color:var(--accent2);font-weight:600;font-size:.9rem;margin-bottom:8px}
.factions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end}
.tanres{position:absolute;z-index:20;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:320px;overflow:auto}
.tanit{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:9px 12px;cursor:pointer;color:var(--ink)}
.tanit:hover{background:#eef4f1}
@media(max-width:860px){.fgrid{grid-template-columns:1fr}.frow2{grid-template-columns:1fr}}

/* v8.2: reembolsos y 2FA */
.cnt{background:#e0a52a;color:#222;border-radius:12px;padding:0 7px;font-size:.8rem;font-weight:800;margin-left:4px}
.rcard{padding:14px 16px}
.rhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rimp{font-size:1.15rem;margin-left:auto}
.rbody{margin:8px 0;font-size:.95rem}.rbody div{margin-top:3px}
.ractions{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;border-top:1px dashed var(--line);padding-top:10px}
.rline{padding:6px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.rform summary{cursor:pointer;font-weight:600;margin-top:6px}
.rformf{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.rformf label{display:flex;flex-direction:column;font-size:.9rem;color:var(--muted);gap:3px}
.rformf input:not([type=checkbox]),.rformf select{padding:8px;border:1px solid var(--line);border-radius:8px;color:var(--ink)}
.rformf .chk{flex-direction:row;align-items:center;gap:8px;color:var(--ink)}
.totpkey{font-family:ui-monospace,Menlo,monospace;font-size:1.4rem;letter-spacing:2px;background:#f2f5f7;padding:12px 16px;border-radius:10px;display:inline-block;margin:6px 0 10px;user-select:all}
/* v8.2.2 · valoración de la floristería */
.valres{margin:8px 0 2px;padding:8px 10px;background:#fbfaf3;border:1px solid #efe8cf;border-radius:10px;font-size:.9rem;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.valk{font-weight:700;color:var(--muted)}
.valstars{color:#c58a00;letter-spacing:1px}
.vtag{font-size:.8rem;padding:2px 8px;border-radius:12px;font-weight:600}
.vtag-ok{background:#e8f4ee;color:#226146}.vtag-ko{background:#fbecec;color:#9b2c2c}
.valcom{flex-basis:100%;color:var(--ink);margin-top:2px}
.valcard h3{text-transform:none;letter-spacing:0;font-size:1rem;color:var(--ink)}
.valhecha{margin-bottom:8px}
.valform{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.valform textarea{padding:8px;border:1px solid var(--line);border-radius:8px;width:100%;font-family:inherit}
.valstarsel{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.valstarsel input{position:absolute;opacity:0;width:1px;height:1px}
.valstarsel label{font-size:2rem;line-height:1;color:#d5d9dd;cursor:pointer;padding:2px}
.valstarsel input:checked~label,.valstarsel label:hover,.valstarsel label:hover~label{color:#e0a100}
.valstarsel input:focus-visible+label{outline:2px solid var(--accent);border-radius:4px}
.valtags{display:flex;flex-wrap:wrap;gap:6px}
.vtagsel{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:16px;font-size:.85rem;cursor:pointer;border:1px solid transparent}
.vtagsel input{margin:0}
.vtagsel:has(input:checked){border-color:currentColor;font-weight:700}
/* v8.2.2 · varios arreglos */
.grupo{background:#eef2fb;border:1px solid #d5ddf2;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:.92rem}
.grupo a{font-weight:600}
.arreglo{border:1px dashed #c9d1d8;border-radius:10px;padding:10px;margin-bottom:10px;position:relative}
.arreglo-h{font-weight:700;color:var(--accent);margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}
.total-arreglos{font-weight:700;margin:6px 0}

/* v8.2.3: teléfonos y datos del tanatorio */
.tcontactos{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}
.tch{font-weight:700;font-size:.92rem;margin-bottom:6px}
.tcon{padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:#fbfcfc}
.tcon-google{background:#fff}
.tcon-n{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.tcon-t{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 2px}
.tcon-nota{font-size:.9rem;margin:4px 0;white-space:pre-wrap}
.tcon-acc{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.tcon-acc .lnkbtn{min-height:30px;padding:4px 8px;font-size:.82rem}
.tcon-edit summary,.tcon-add summary,.tdatos summary{cursor:pointer}
.tcon-add{margin-top:6px}.tdatos{margin-top:10px}
.cform{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.cform label{display:flex;flex-direction:column;font-size:.82rem;color:var(--muted);gap:3px}
.cform input,.cform select,.cform textarea{padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff;width:100%}
.cform .chk{flex-direction:row;align-items:center;gap:8px;color:var(--ink)}.cform .chk input{width:auto;margin:0}
.cform .frow2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tambien{border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin:0;display:flex;flex-direction:column;gap:2px}
.tambien legend{padding:0 4px;color:var(--ink)}
.tlinks{display:flex;gap:12px;flex-wrap:wrap;margin:4px 0 2px}
.chip{display:inline-block;background:#eef1f3;border:1px solid var(--line);border-radius:8px;padding:2px 8px;font-size:.88rem;color:var(--ink);cursor:pointer;font-family:inherit}
button.chip:hover{border-color:var(--accent)}
.cambios-ant{background:#f4f1ea;border-color:#e2d9c3;color:#5b4a26}
.syn-ant{background:#f4f1ea;border-color:#e2d9c3;color:#5b4a26}
.ant-chk{background:#f4f1ea;border:1px solid #e2d9c3;border-radius:10px;padding:10px 12px;margin:4px 0}

/* v8.2.3: modo de devolución por web y datos de Redsys */
.modorow{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;padding:10px 0;border-bottom:1px dashed var(--line)}
.modoinfo{flex:1;min-width:240px}
.modoauto summary{cursor:pointer}
.redsys{margin-top:10px;padding:10px 12px;border:1px solid #c5d5f5;background:#f5f8ff;border-radius:10px}
.redsys-h{font-weight:700;margin-bottom:4px}
.redsys-pasos{margin:4px 0 8px 18px;padding:0;font-size:.92rem}
.redsys-pasos li{margin:3px 0}
.redsys-datos{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.88rem;margin-bottom:6px}

/* v8.2.3: completar pedidos de antes del panel */
.arow{padding:12px 14px}
.arow.done{opacity:.55;background:#f6faf7}
.arow-info{font-size:.92rem;margin-bottom:8px}
.arow-f{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.fsel{position:relative;flex:1;min-width:240px}
.fq{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:9px}
.fq.ok{border-color:var(--green);background:var(--green-bg)}
.fres{position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:300px;overflow:auto}
.fit{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:8px 12px;cursor:pointer;color:var(--ink);font-family:inherit;font-size:.9rem}
.fit:hover,.fit.on{background:#eef4f1}
.arow-f label.num{display:flex;flex-direction:column;font-size:.78rem;color:var(--muted)}
.arow-f label.num input{width:90px;padding:8px;border:1px solid var(--line);border-radius:8px}
.arow-f select{padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.arow-otros{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.arow-otros .lnkbtn{min-height:28px;padding:3px 8px;font-size:.8rem}
.arow-msg{font-size:.9rem;font-weight:600;margin-top:6px}.arow-msg.ok{color:var(--green)}.arow-msg.err{color:var(--red)}
.csv-mal td{background:#fff8f8}
kbd{font-family:inherit;font-size:.8rem;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 5px;background:#fff}
@media(max-width:860px){.cform .frow2{grid-template-columns:1fr}.arow-f label.num input{width:100%}.arow-f label.num{flex:1}.fsel{min-width:100%}}
