:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#132920;background:#f2f6f3;--brand:#075e43;--border:#d8e3dc;--sub:#61766b}
*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}a{color:var(--brand)}
.sr-only{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.business-lupe-header{height:65px;padding:10px max(12px,calc((100vw - 1240px)/2));display:flex;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--border)}
.back{text-decoration:none;font-size:13px;white-space:nowrap}.brand{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.brand .avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--brand);color:#fff;font-weight:900}.brand div:last-child{display:grid;gap:1px;min-width:0}.brand small{color:var(--sub);font-size:9px;font-weight:750;letter-spacing:.08em}.brand strong{font-size:15px}
.btn{border:1px solid var(--border);background:#fff;border-radius:9px;padding:9px 12px;font-weight:650;font-size:12px;color:#144832}.btn.small{font-size:12px}
#businessLupeWorkspace{max-width:1240px;margin:0 auto;padding:15px 12px;display:grid;gap:13px}
.intro h1{font-size:20px;margin:0 0 5px}.intro>p{font-size:12px;line-height:1.55;color:var(--sub);margin:0 0 13px;max-width:810px}
.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.summary .stat{border:1px solid var(--border);border-radius:12px;padding:12px;background:white;display:grid;gap:4px}.summary .stat small{font-size:11px;color:var(--sub)}.summary .stat strong{font-size:23px;line-height:1.25}
.panels{height:calc(100dvh - 255px);min-height:370px;border:1px solid var(--border);background:white;border-radius:13px;overflow:hidden;display:grid;grid-template-columns:minmax(250px,355px) minmax(0,1fr)}
.business-list{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);padding:10px 0}
.business-list input,.business-list select{margin:0 10px 9px;min-height:41px;padding:9px;border:1px solid var(--border);border-radius:9px;background:white;color:#17251e;font-size:14px}
.business-list .count{padding:3px 12px;color:var(--sub);font-size:11px;margin:0 0 3px}.businesses{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.business-card{display:grid;gap:5px;padding:13px 14px;border:0;border-bottom:1px solid #edf2ee;background:white;width:100%;color:#12251a;text-align:left;cursor:pointer}.business-card.selected,.business-card:hover{background:#eaf6ee}.business-card strong{font-size:13px;overflow-wrap:anywhere}.business-card small{font-size:11px;color:var(--sub);line-height:1.4}.business-card .tag{font-size:10px;width:max-content;max-width:100%;color:#21593c;background:#e4f2e9;border-radius:50px;padding:4px 8px}.business-card .tag.pending{background:#fff4df;color:#715315}.business-card .tag.accessPending{background:#f7eeee;color:#843d3d}.business-card .tag.responded{background:#dcf2e1;color:#195f37}.business-list .more{margin:7px 10px 0}
.thread{display:flex;flex-direction:column;min-height:0;background:#f4f7f4}.thread-head{display:flex;align-items:center;gap:10px;padding:10px 14px;min-height:63px;border-bottom:1px solid var(--border);background:white}.thread-head>div{display:grid;gap:3px;min-width:0}.thread-head strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-head small{font-size:11px;color:var(--sub)}.mobile-back{display:none}
.business-summary{border-bottom:1px solid var(--border);padding:10px 13px;background:#e8f4eb;font-size:12px;line-height:1.55}.business-summary b{font-weight:750}
.messages{overflow:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:14px;overscroll-behavior:contain}
.message{max-width:min(87%,660px);padding:12px 13px;border-radius:14px;background:white;border:1px solid var(--border);overflow-wrap:anywhere}.message.owner{background:#dbf0e1;align-self:flex-end}.message.lupe{align-self:flex-start}.message.system{border-left:4px solid #baa858}.message header{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--sub)}.message p{font-size:13px;line-height:1.55;white-space:pre-wrap;margin:8px 0 0}.message .file{display:flex;flex-direction:column;align-items:start;gap:8px;padding-top:10px;margin-top:10px;border-top:1px solid var(--border)}.message .file button{font-size:12px;border:1px solid var(--border);border-radius:9px;background:white;padding:8px}.message .file img{max-width:100%;max-height:300px;object-fit:contain}.message .file audio{max-width:100%}
.read-only{background:white;border-top:1px solid var(--border);padding:12px;margin:0;color:var(--sub);font-size:11px;line-height:1.4}.blank{color:var(--sub);font-size:13px;line-height:1.6}
.denied{padding:25px;margin:50px auto;background:white;border:1px solid var(--border);max-width:480px;border-radius:13px}.denied h1{font-size:18px}.denied p{font-size:13px;line-height:1.5}
#toast{display:none;position:fixed;z-index:10;bottom:24px;left:50%;transform:translateX(-50%);background:#1b3c2c;color:white;padding:12px 16px;border-radius:10px;max-width:calc(100vw - 24px);font-size:12px;box-shadow:0 6px 22px #0003}#toast.shown{display:block}
@media(max-width:800px){
 .business-lupe-header{height:58px}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary .stat{padding:9px}.summary .stat strong{font-size:20px}
 #businessLupeWorkspace{padding:10px 8px;gap:9px}.intro h1{font-size:17px}.intro>p{font-size:11px;margin-bottom:8px}
 .panels{height:calc(100dvh - 254px);min-height:300px;display:block;position:relative;border-radius:10px}.business-list,.thread{position:absolute;inset:0}.thread{display:none}.panels.thread-open .thread{display:flex}.panels.thread-open .business-list{display:none}.mobile-back{display:block}
 .message{max-width:95%}
}

/* Envío manual con el mismo límite diario que el proceso automático. */
.reminder-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:1px 0 10px}
.reminder-actions small{font-size:11px;color:var(--sub);line-height:1.45}
.btn.primary{background:#075e43;border-color:#075e43;color:white}
.thread-head #remindOne{margin-left:auto;flex-shrink:0;max-width:45%}
@media(max-width:800px){
 .reminder-actions{align-items:stretch}
 .reminder-actions .btn{width:100%}
 .thread-head #remindOne{max-width:40%;padding:9px 7px;font-size:11px}
}
