body{overflow:hidden}button,a,input,select{outline-offset:3px}button{cursor:pointer}button:hover:not(:disabled){filter:brightness(.97);transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}input,textarea,select{font:inherit;color:inherit}textarea{resize:vertical}input,textarea,select{border:1px solid #d6e2e3;border-radius:8px;padding:9px;background:#fff}label{display:block;font-size:12px;margin:12px 0 5px}textarea{width:100%;min-height:100px}form .buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.demobar{height:33px;display:flex;align-items:center;gap:14px;padding:0 16px;background:#fff3d9;color:#8c6d36;border-bottom:1px solid #edd9ad;font-size:11px}.demobar select{padding:3px 7px;font-size:11px;height:26px}.demobar strong{margin-right:auto}.shell{height:calc(100dvh - 33px);grid-template-columns:66px 180px 286px minmax(480px,1fr) 275px}.navitem{cursor:pointer}.contact{cursor:pointer}.list,.conversation,.context{min-height:0}.messages{overflow-y:auto;flex:1}.context{overflow-y:auto}.list{overflow-y:auto}.listfooter{position:sticky;bottom:0;background:white}.input{display:block;width:100%;resize:none;border:0;border-radius:0;min-height:85px;max-height:180px;color:#536f75;background:white;outline-offset:-3px}.admin-shell{display:none!important}.adminmain{grid-column:3/6;padding:26px;background:#f2f6f8;overflow:auto}.card{background:#fff;border:1px solid #dce6ea;border-radius:12px;padding:19px;margin-top:16px}.card h2{font-size:17px;margin-bottom:15px}.viewhead{display:flex;align-items:center;justify-content:space-between;gap:16px}.viewhead h1{font-size:24px;letter-spacing:-.4px}.viewhead p{font-size:12px;color:#80949d;margin-top:8px}dialog{border:1px solid #dbe5e6;border-radius:17px;box-shadow:0 22px 75px #173d3b40;width:520px;max-width:95vw;padding:25px;color:#27414a}dialog::backdrop{background:#142f3f60;backdrop-filter:blur(3px)}dialog h2{font-size:20px;display:flex;justify-content:space-between}dialog .hint{font-size:11px;line-height:1.8;color:#87999f;margin-top:12px}dialog input:not([type=checkbox]),dialog select{width:100%}dialog .error{color:#b65b51;font-size:12px;margin-top:12px}#toast{position:fixed;right:22px;bottom:20px;background:#244249;color:#fff;z-index:100;padding:14px 20px;border-radius:12px;box-shadow:0 7px 25px #203a4330;font-size:13px;max-width:500px}#toast:empty{display:none}.emoji{bottom:210px;max-height:360px;overflow:auto}.emojigrid button{padding:0;font-size:24px;height:34px;border:0;box-shadow:none}.attachment-image{max-width:270px;max-height:200px;border-radius:9px;display:block;margin-top:8px}.bubble audio{max-width:270px;height:38px;display:block}.bubble a{color:#15877c}.bubble p{white-space:pre-wrap}.bubble .expired{font-size:11px;color:#8a969c}table button{height:29px;font-size:11px}td input[type=number]{width:62px;padding:6px}td select{max-width:130px}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.settings-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5edef;padding:13px 0;gap:14px}.inline-note{padding:12px;background:#eff6f3;color:#4e7b70;font-size:12px;border-radius:8px;margin-top:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:19px 0}.metric{padding:18px;background:white;border:1px solid #dce6ea;border-radius:12px}.metric b{display:block;font-size:26px;margin-top:10px}.metric span{font-size:12px;color:#7f949f}.tagrow{display:flex;gap:7px;margin:10px 0}.docrow button{margin-left:auto;box-shadow:none;height:28px;font-size:10px}.docrow.done{color:#2e9a76}.internal-msg{padding:13px 16px;border-bottom:1px solid #e4ebed;line-height:1.8}.internal-msg p{white-space:pre-wrap;font-size:13px}.internal-compose{display:flex;gap:10px;margin-top:15px}.internal-compose textarea{min-height:70px}.mini{display:inline-block;padding:5px 8px;background:#f0f5f7;border-radius:7px;font-size:11px}.tline{font-size:12px;border-bottom:1px solid #e6ecef;padding:13px 0;line-height:1.8}.search input{border:0;padding:0;width:100%;background:transparent;outline:none}.search .icon{flex-shrink:0}.nav .presence select{width:100%;font-size:12px;background:#edf6f4}.closedbanner{padding:13px;background:#eaf4ed;font-size:12px;color:#46856a;border:1px solid #d1e5d7;border-radius:10px}.recordtool{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:15px;background:#fff6f1}.recordtool .recordtime{font-size:17px;color:#b27063}.recordtool audio{height:34px;width:250px}.recordtool .wave{margin-right:auto}.empty{padding:40px;text-align:center;color:#8b9ea7;font-size:13px}.filters button{height:27px;font-size:10px}.hide{display:none!important}.unread-role{font-size:10px;background:#f5efff;color:#8d70ac;padding:4px 7px;border-radius:5px}.theme-note{font-size:10px;color:#91a4ae;margin-top:16px}@media(max-width:1450px){.shell{grid-template-columns:60px 165px 250px minmax(440px,1fr)}.context{display:none}.adminmain{grid-column:3/5}.chathead{padding:14px 18px}.headrow h2{font-size:16px}.headrow .buttons button{font-size:11px}.messages{padding:14px 18px}}@media(max-width:1050px){.shell{grid-template-columns:56px 225px minmax(400px,1fr)}.nav{display:none}.adminmain{grid-column:2/4}.demobar{font-size:10px}.demobar strong{display:none}}@media(max-width:720px){.shell{display:flex}.rail{width:48px;flex-shrink:0}.list{width:200px;flex-shrink:0}.conversation{min-width:380px;flex:1}body{overflow:auto}.shell{min-width:720px}.demobar{min-width:720px}.adminmain{min-width:660px}.metrics{grid-template-columns:repeat(2,1fr)}}

/* Keyboard access without changing the compact conversation layout. */
.contact[role="button"]:focus-visible{outline:2px solid var(--accent,#28786c);outline-offset:-3px}
