:root{--ink:#193549;--muted:#7d90a0;--primary:#11677e;--primary2:#0e8aa4;--line:#e2eaf0;--bg:#f2f7fa;--white:#fff;--font:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--ink)}body{font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}input,textarea{outline:none;min-width:0}h1,h2,h3,p{margin-top:0}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.primary-btn{width:100%;border:0;border-radius:12px;background:linear-gradient(125deg,#14778d,#0d657a);color:white;font-weight:700;padding:14px 16px;box-shadow:0 8px 18px #07597526;transition:transform .2s,filter .2s}.primary-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-btn:disabled,.send-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}label{display:block;font-weight:700;font-size:12px;color:#516b7b}label input{display:block;margin-top:8px;width:100%;border:1px solid #d9e5ea;border-radius:10px;background:#fff;padding:12px 14px;color:var(--ink)}label input:focus,textarea:focus,.search-input:focus{border-color:#32a1b4;box-shadow:0 0 0 3px #32a1b421}button:focus-visible,a:focus-visible{outline:3px solid #64c7d8;outline-offset:3px}
/* Public single-link chat */
.visitor-page{background:radial-gradient(circle at 24% 10%,#d6eef2 0,transparent 37%),linear-gradient(140deg,#eef6f9,#e9f1f5);min-height:100svh;display:flex;justify-content:center;align-items:center;padding:22px}
.visitor-shell{width:min(100%,440px);height:min(800px,calc(100svh - 44px));min-height:560px;display:flex;flex-direction:column;background:#fff;border:1px solid #dfebef;border-radius:22px;overflow:hidden;box-shadow:0 25px 80px #17485b20,0 8px 18px #17485b0d}
.visitor-header{height:112px;flex-shrink:0;background:linear-gradient(125deg,#15576b 0%,#0e7587 75%,#168fa1 100%);padding:26px;display:flex;align-items:center;gap:13px;color:#fff;position:relative;overflow:hidden}
.header-badge,.logo-mark{width:51px;height:51px;display:grid;place-items:center;border-radius:17px;background:#ffffff22;border:1px solid #ffffff33;font-size:28px;flex-shrink:0}
.header-title{display:flex;flex-direction:column;gap:7px;position:relative;z-index:1}.header-title strong{font-size:18px;font-weight:800;line-height:1.15}.online-line{font-size:11px;color:#d3edf3;display:flex;align-items:center;gap:8px}.online-dot{width:8px;height:8px;border-radius:50%;background:#64f5ac;box-shadow:0 0 0 3px #ffffff25}.online-dot.offline{background:#e4b773}.header-decoration{position:absolute;right:-12px;bottom:-44px;font-size:146px;color:#ffffff12;pointer-events:none}
.welcome-card{padding:23px 25px 17px;flex-shrink:0;border-bottom:1px solid #eff3f5}.welcome-eyebrow{font-weight:800;letter-spacing:2.3px;color:#12849b;font-size:9px;margin-bottom:10px}.welcome-card h1{font-size:22px;line-height:1.2;letter-spacing:-.7px;margin:0 0 9px}.welcome-card h1 span{font-size:20px}.welcome-card p{font-size:12.5px;line-height:1.6;color:#718796;margin:0}
.join-panel{margin:auto 28px;width:calc(100% - 56px);text-align:center;padding:22px 0 30px}.join-icon{width:63px;height:63px;border-radius:20px;background:#eaf6f8;color:#15758c;display:grid;place-items:center;font-size:26px;margin:0 auto 19px}.join-panel h2{font-size:19px;letter-spacing:-.5px;margin-bottom:8px}.join-panel p{color:#7b90a1;font-size:12.5px;line-height:1.6;margin-bottom:22px}.join-panel label{text-align:left}.join-panel .primary-btn{margin-top:16px}.join-panel .primary-btn span{margin-left:9px}
.visitor-footer{height:46px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-top:1px solid #edf2f4;color:#8da1ad;font-size:10.5px}.visitor-footer a{color:#55879a}.visitor-footer a:hover{text-decoration:underline}
.chat-panel{display:flex;flex-direction:column;min-height:0;flex:1;background:#fbfdfe}.messages{flex:1;overflow-y:auto;min-height:0;padding:19px 18px 15px;display:flex;flex-direction:column;gap:11px;overscroll-behavior:contain}.messages::-webkit-scrollbar,.conversation-list::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-thumb,.conversation-list::-webkit-scrollbar-thumb{background:#cbdde4;border-radius:12px}.bubble-row{display:flex;max-width:100%;flex-shrink:0}.bubble-me{justify-content:flex-end}.bubble-them{justify-content:flex-start}.bubble{max-width:85%;border-radius:14px;padding:11px 13px 7px;box-shadow:0 2px 6px #152d3e0a;min-width:66px}.bubble-me .bubble{background:#d3f4e8;border-bottom-right-radius:4px}.bubble-them .bubble{background:white;border:1px solid #e6eef2;border-bottom-left-radius:4px}.bubble-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:12.5px;color:#2a4150}.bubble-time{display:block;text-align:right;margin-top:5px;font-size:9px;color:#8095a0}.composer{display:flex;align-items:flex-end;gap:10px;padding:11px 14px 7px;border-top:1px solid #ebf0f3;background:#fff;flex-shrink:0}.composer textarea{resize:none;min-height:42px;max-height:118px;border:1px solid #e2ebef;border-radius:12px;padding:12px 12px;width:100%;line-height:1.3;color:var(--ink)}.composer textarea:focus{border-color:#78bece}.send-btn{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border:0;border-radius:12px;color:#fff;background:#116c85;font-size:20px;transform:rotate(-35deg);padding-left:2px;transition:filter .15s}.send-btn:hover{filter:brightness(1.12)}.composer-note{text-align:center;color:#99a9b2;font-size:9px;padding:0 10px 9px;background:#fff}.chat-error{margin:8px 14px;color:#a83535;background:#ffecee;border:1px solid #ffd5d8;border-radius:8px;padding:9px 12px;font-size:11px}
/* Authentication & installation */
.login-page,.install-page{min-height:100svh;background:radial-gradient(circle at 20% 10%,#cfe9ef,transparent 35%),#edf4f7;display:grid;place-items:center;padding:30px 15px}.login-card,.install-card{width:min(100%,430px);background:white;border-radius:22px;padding:38px;box-shadow:0 20px 55px #164c5e1a;border:1px solid #dae6ec}.install-card{width:min(100%,540px)}.logo-mark{background:#176d81;color:white;border:0;width:47px;height:47px;margin-bottom:20px}.login-card h1,.install-card h1{font-size:24px;letter-spacing:-.7px;margin-bottom:7px}.login-card p,.install-card p{font-size:12.5px;line-height:1.7}.login-form,.install-form{display:flex;flex-direction:column;gap:17px;margin-top:26px}.login-form .primary-btn{margin-top:7px}.install-form h3{font-size:13px;border-bottom:1px solid #e3edf0;padding-bottom:11px;margin:13px 0 0}.back-link{display:block;color:#1c8196;text-align:center;font-size:12px;margin-top:25px}.error-banner{background:#ffecef;color:#ae3446;border-radius:9px;padding:11px 13px;font-size:12px;margin-top:15px}.success-banner{background:#e9f9f1;color:#236448;border-radius:9px;padding:11px 13px;font-size:12px;margin-top:15px}
/* Inbox admin */
.admin-page{background:#f4f7f9;min-height:100svh;overflow:hidden}.admin-layout{height:100svh;display:grid;grid-template-columns:350px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e0e9ee;min-height:0;display:flex;flex-direction:column}.sidebar-header{height:94px;flex-shrink:0;border-bottom:1px solid #ecf1f3;padding:23px 25px;display:flex;align-items:center;justify-content:space-between}.sidebar-brand{display:flex;align-items:center;gap:12px}.sidebar-symbol{width:43px;height:43px;border-radius:13px;background:#0f667b;color:#fff;display:grid;place-items:center;font-size:25px}.sidebar-brand strong{display:block;font-size:16px;font-weight:800}.sidebar-brand small{display:block;color:#96a6b0;margin-top:3px;font-size:10.5px}.sidebar-mobile-close{display:none}.mobile-back-btn{display:none}.sidebar-toolbar{padding:24px 22px 18px;border-bottom:1px solid #edf2f5}.toolbar-heading{display:flex;align-items:center;gap:10px;margin-bottom:17px}.toolbar-heading strong{font-size:15px}.toolbar-heading span{border-radius:9px;background:#e5f1f4;color:#176b82;padding:3px 8px;font-size:11px;font-weight:800}.search-input{width:100%;border:1px solid #e1eaf0;border-radius:9px;padding:11px 13px;font-size:12px}.conversation-list{overflow-y:auto;min-height:0;flex:1}.empty-list{color:#91a1ab;text-align:center;padding:34px 24px;line-height:1.8;font-size:12px}.conversation-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #eff3f5;padding:17px 20px;position:relative;transition:background .2s}.conversation-item:hover{background:#f5fafb}.conversation-item.selected{background:#eaf7f9;border-left:3px solid #14839b;padding-left:17px}.visitor-avatar{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:15px;background:#d8edf1;color:#146c82;font-weight:800;font-size:16px}.conversation-details{min-width:0;flex:1}.conversation-name-row{display:flex;align-items:center;justify-content:space-between;gap:7px}.conversation-name-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.conversation-name-row time{font-size:10px;color:#a4b3bc;flex-shrink:0}.conversation-preview{display:block;color:#8c9da8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;margin-top:6px}.unread-count{background:#1694a4;color:#fff;border-radius:50%;font-size:10px;font-weight:800;width:21px;height:21px;display:grid;place-items:center;position:absolute;right:20px;bottom:13px}.sidebar-bottom{padding:16px 22px;border-top:1px solid #ebf0f3;display:flex;align-items:center;justify-content:space-between;gap:10px}.public-link{font-size:11px;color:#1c7285;font-weight:700}.logout-btn{border:0;background:#f0f5f7;color:#567485;border-radius:8px;padding:8px 11px;font-size:11px}.admin-main{display:flex;min-width:0;flex-direction:column;min-height:0}.admin-topbar{height:94px;flex-shrink:0;background:white;border-bottom:1px solid #e0e9ee;padding:22px 31px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-caption{color:#2293a6;font-size:9px;font-weight:800;letter-spacing:1.6px}.admin-topbar h1{font-size:18px;letter-spacing:-.5px;margin:6px 0 4px}.topbar-actions{display:flex;align-items:center;gap:17px}.availability-toggle{font-size:11px;color:#355869;display:flex;align-items:center;gap:9px;cursor:pointer;white-space:nowrap}.availability-toggle input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{height:22px;width:41px;border-radius:15px;background:#c8d7de;position:relative;transition:background .2s;display:inline-block}.switch-track::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:white;transition:transform .2s;box-shadow:0 1px 2px #0002}.availability-toggle input:checked+.switch-track{background:#0d9e82}.availability-toggle input:checked+.switch-track::after{transform:translateX(19px)}.availability-toggle input:focus-visible+.switch-track{outline:3px solid #62b9c7}.icon-btn{border:1px solid #e6edf0;border-radius:10px;width:37px;height:37px;background:#fff;font-size:17px}.admin-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.placeholder-icon{width:84px;height:84px;border-radius:26px;background:#e4f0f4;display:grid;place-items:center;font-size:36px;margin-bottom:24px}.admin-placeholder h2{font-size:20px;margin-bottom:8px}.admin-placeholder p{color:#8ba1ad;max-width:320px;line-height:1.6;font-size:12px}.link-display{font-size:12px;color:#267e92;background:#fff;border:1px solid #e1ecef;border-radius:8px;padding:10px 15px;margin:17px 0 12px;overflow-wrap:anywhere;max-width:100%}.secondary-btn{background:#e5f2f5;color:#176f84;border:0;border-radius:10px;font-weight:700;padding:11px 18px;font-size:11px}.admin-thread{flex:1;min-height:0;display:flex;flex-direction:column}.admin-messages{padding:25px 32px;gap:15px}.admin-messages .bubble{max-width:64%;padding:13px 16px 9px}.admin-messages .bubble-content{font-size:13px}.admin-compose{padding:14px 28px;background:white}.admin-compose textarea{min-height:44px}.thread-footer{display:flex;align-items:center;justify-content:space-between;padding:0 30px 14px;background:#fff;color:#99a9b1;font-size:10px}.text-action{border:0;background:transparent;color:#137f94;font-weight:700;font-size:11px;padding:2px}
@media(max-width:760px){.visitor-page{padding:0;display:block;background:#fff}.visitor-shell{height:100svh;width:100%;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none}.visitor-header{height:104px;padding:21px 20px}.welcome-card{padding:19px 20px 16px}.welcome-card h1{font-size:21px}.join-panel{margin:auto 25px;width:calc(100% - 50px)}.admin-layout{display:block;height:100svh}.sidebar{height:100svh;width:100%}.admin-main{display:none;height:100svh}.thread-open .sidebar{display:none}.thread-open .admin-main{display:flex}.sidebar-mobile-close{display:none}.mobile-back-btn{display:none}.admin-topbar{height:87px;padding:16px 18px;gap:10px}.admin-topbar h1{font-size:16px}.topbar-actions{gap:8px}.availability-toggle{font-size:10px}.availability-toggle .switch-track{width:35px;height:20px}.switch-track::after{width:14px;height:14px}.availability-toggle input:checked+.switch-track::after{transform:translateX(15px)}.admin-messages{padding:19px 14px}.admin-messages .bubble{max-width:86%}.admin-compose{padding:11px 14px}.thread-footer{padding:0 15px 13px}.sidebar-header{height:84px;padding:19px 22px}.sidebar-toolbar{padding:19px 20px}.thread-open .admin-topbar .mobile-back-btn{display:block;border:0;background:transparent;color:#1e6f84;font-size:24px;padding:4px 6px 4px 0}.thread-open .admin-topbar{cursor:default}}
@media(max-height:640px) and (min-width:761px){.visitor-shell{height:calc(100svh - 30px);min-height:500px}.visitor-header{height:90px}.welcome-card{padding:14px 22px}.welcome-card h1{font-size:19px}.join-panel{padding:8px 0}.join-icon{margin-bottom:8px}}

/* v2 Admin incoming-message notifications */
.notification-btn{width:auto;min-height:37px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-size:13px;color:#186c82;font-weight:700}
.notification-btn.is-enabled{border-color:#a1d8cf;background:#e9f9f5;color:#0b7c61}
.notification-btn span{font-size:11px}
.notification-toast-region{position:fixed;right:22px;top:104px;z-index:1000;display:flex;flex-direction:column;gap:9px;width:min(360px,calc(100vw - 32px));pointer-events:none}
.notification-toast{pointer-events:auto;display:flex;align-items:center;text-align:left;gap:11px;padding:15px 16px;background:#fff;border:1px solid #cae5e8;border-left:4px solid #1592a4;border-radius:12px;box-shadow:0 10px 35px #153d5140;color:#294b59;width:100%;animation:notification-arrive .18s ease-out}
.notification-toast:hover{background:#f2fafb}
.notification-toast-icon{font-size:24px;flex-shrink:0}
.notification-toast-content{min-width:0;display:flex;flex-direction:column;gap:4px}
.notification-toast-content strong{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notification-toast-content span{color:#587785;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes notification-arrive{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.notification-toast-region{top:95px;right:16px}.notification-btn{padding:0 8px}.notification-btn span{display:none}}

.mobile-notify-btn{display:none;border:1px solid #acd8df;border-radius:10px;padding:11px;background:#e9f7f9;color:#13697c;font-size:12px;font-weight:800;margin-top:13px;width:100%}
@media(max-width:760px){.mobile-notify-btn{display:block}}
