.vfrchat{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4}
.vfrchat *{box-sizing:border-box}
.vfrchat-panel{display:flex;flex-direction:column;background:#fff;border:1px solid #ddd;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.15)}
.vfrchat-head{background:#c8102e;color:#fff;padding:10px 14px;font-weight:600}
.vfrchat-tabs{display:flex;background:#f0f0f0;border-bottom:1px solid #ddd}
.vfrchat-tab{flex:1;border:0;background:transparent;padding:9px 4px;cursor:pointer;font-size:13px;color:#555;border-bottom:2px solid transparent}
.vfrchat-tab.on{color:#c8102e;font-weight:600;border-bottom-color:#c8102e;background:#fff}
.vfrchat-badge{display:inline-block;background:#c8102e;color:#fff;border-radius:10px;padding:0 6px;font-size:11px;margin-left:6px;line-height:17px}
.vfrchat-views{flex:1;min-height:0;display:flex;flex-direction:column}
.vfrchat-views>*{flex:1;min-height:0;flex-direction:column}
.vfrchat-thread{display:flex;flex-direction:column;flex:1;min-height:0}
.vfrchat-list{flex:1;overflow-y:auto;padding:10px;background:#f6f6f6;min-height:150px}
.vfrchat-msg{margin-bottom:8px;max-width:85%}
.vfrchat-meta{font-size:11px;color:#777;margin-bottom:2px}
.vfrchat-text{background:#fff;border:1px solid #e3e3e3;padding:7px 10px;border-radius:10px;word-wrap:break-word;white-space:pre-wrap;color:#222}
.vfrchat-msg.me{margin-left:auto;text-align:right}
.vfrchat-msg.me .vfrchat-text{background:#c8102e;color:#fff;border-color:#c8102e;text-align:left}
.vfrchat-empty{color:#888;text-align:center;padding:20px 10px}
.vfrchat-form{display:flex;gap:6px;padding:8px;border-top:1px solid #ddd;background:#fff}
.vfrchat-input{flex:1;padding:8px 10px;border:1px solid #ccc;border-radius:8px;font-size:14px;min-width:0}
.vfrchat-send{background:#c8102e;color:#fff;border:0;border-radius:8px;padding:8px 14px;cursor:pointer}
.vfrchat-login{display:block;padding:14px;text-align:center;background:#fff;color:#c8102e;font-weight:600;text-decoration:none}
.vfrchat-dm{display:flex;flex-direction:column;flex:1;min-height:0}
.vfrchat-dm-inbox{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;background:#f6f6f6;padding:8px;gap:6px}
.vfrchat-dm-conv{display:flex;flex-direction:column;flex:1;min-height:0}
.vfrchat-back{border:0;background:#f0f0f0;padding:8px 12px;text-align:left;cursor:pointer;border-bottom:1px solid #ddd;font-size:13px}
.vfrchat-item{display:block;width:100%;text-align:left;background:#fff;border:1px solid #e3e3e3;border-radius:8px;padding:8px 10px;cursor:pointer;margin-bottom:4px}
.vfrchat-item:hover,.vfrchat-item.on{border-color:#c8102e}
.vfrchat-item-t{font-weight:600;color:#222}
.vfrchat-item-s{font-size:12px;color:#777;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vfrchat-inline .vfrchat-panel{max-width:520px;height:460px}
.vfrchat-float{position:fixed;right:20px;bottom:20px;z-index:99999}
.vfrchat-float .vfrchat-panel{width:340px;height:440px;margin-bottom:10px}
.vfrchat-toggle{position:relative;display:block;margin-left:auto;width:54px;height:54px;border-radius:50%;border:0;background:#c8102e;color:#fff;font-size:24px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.vfrchat-toggle-badge{position:absolute;top:-4px;right:-4px;margin:0;background:#222}
@media(max-width:480px){.vfrchat-float .vfrchat-panel{width:calc(100vw - 40px)}}
/* pannello operatore (admin) */
.vfrchat-admin{display:flex;gap:16px;align-items:flex-start;margin-top:12px}
.vfrchat-admin-list{width:300px;max-height:600px;overflow-y:auto}
.vfrchat-admin-pane{flex:1;max-width:640px;border:1px solid #ddd;background:#fff;border-radius:8px;display:flex;flex-direction:column;height:560px}
.vfrchat-admin-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #ddd}
