/* Conversation softphone: stays mounted while the inbox updates. */
.conversation-tools .sp-launch{width:42px;height:40px;border:1px solid #c64350;border-radius:10px;color:#e54e5c;background:#262c3f;box-shadow:inset 0 0 16px #db4a5808;margin:0 5px}.conversation-tools .sp-launch:hover{background:#333b55;box-shadow:0 0 0 3px #db4a5810}.sp-launch .icon{width:21px;height:21px}
#softphone-root{position:relative;z-index:180}.sp-panel{position:fixed;width:488px;max-width:calc(100vw - 32px);border:1px solid #a33c46;border-radius:19px;background:radial-gradient(ellipse at 18% 0,#252b3d77,transparent 64%),linear-gradient(130deg,#0f1b21f5,#081219fa);backdrop-filter:blur(24px);box-shadow:0 18px 65px #0007,0 0 0 1px #0005;color:#eef5f3;overflow:hidden;font-family:inherit}.sp-panel:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#e1727d80,transparent);pointer-events:none}.sp-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #ffffff0b}.sp-header h2{display:flex;align-items:center;gap:11px;margin:0;font-size:18px;letter-spacing:-.45px;font-weight:650}.sp-header h2>.icon{width:23px;height:23px;color:#e74f5d;filter:drop-shadow(0 0 8px #d5485640)}.sp-header>div{display:flex;gap:12px}.sp-header button{display:grid;place-items:center;padding:4px;border:0;background:none;color:#b9cac7;cursor:pointer;border-radius:6px}.sp-header button:hover{background:#ffffff0c;color:white}.sp-header button .icon{width:20px;height:20px}.sp-content{padding:0 15px 10px}.sp-contact{display:flex;align-items:center;gap:14px;margin:5px 0 17px;padding:16px 14px;border:1px solid #66353c;border-radius:16px;background:linear-gradient(120deg,#182e34,#212636aa);box-shadow:inset 0 0 24px #bf414d05}.sp-avatar{position:relative;flex:0 0 66px;width:66px;height:66px}.sp-avatar>.contact-avatar,.sp-avatar-fallback{display:flex;align-items:center;justify-content:center;width:66px;height:66px!important;border-radius:50%;background:#343d57;color:#e8a3aa;font-size:22px}.sp-avatar>span:last-child:not(.sp-avatar-fallback){position:absolute;right:-2px;bottom:0;display:grid;place-items:center;width:25px;height:25px;background:#df4c5a;border:2px solid #242a3c;border-radius:50%;color:#293045}.sp-avatar>span>.icon{width:17px;height:17px}.sp-person{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:7px}.sp-person>strong{font-size:18px;font-weight:600;letter-spacing:-.35px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-person>span:not(.sp-state){color:#b4c4cb;font-size:13px;letter-spacing:.1px}.sp-contact>time{font-size:21px;font-weight:650;font-variant-numeric:tabular-nums;align-self:flex-end;padding-bottom:1px;letter-spacing:-.5px}.sp-state{display:flex;align-items:center;gap:6px;padding:5px 9px;font-size:11px;font-weight:550;border-radius:20px;background:#173b35;color:#7ad0b4;white-space:nowrap}.sp-state.is-connected{background:#064e31;color:#6cf5a3}.sp-state.is-ringing{color:#65f9b9;background:#075235;animation:sp-ring 1.6s ease-in-out infinite}.sp-state>i{display:flex;align-items:center;gap:2px;height:13px}.sp-state b{display:block;width:2px;background:currentColor;border-radius:2px}
.sp-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;padding:1px 6px 24px}.sp-control{display:flex;align-items:center;flex-direction:column;gap:8px;flex:1;min-width:0;border:0;padding:0;background:none;color:#e6eeee;cursor:pointer;font-family:inherit}.sp-control>span{display:grid;place-items:center;width:59px;height:59px;border:1px solid #3a4a51;border-radius:50%;background:linear-gradient(140deg,#26333a,#15232a);transition:background .15s,transform .15s,border-color .15s;box-shadow:inset 0 1px #ffffff05}.sp-control>span>.icon{width:25px;height:25px}.sp-control small{font-size:12px;line-height:1.2;white-space:nowrap}.sp-control:hover:not(:disabled)>span{transform:translateY(-2px);border-color:#8aa59d;background:#2b4141}.sp-control.call>span{color:#35d49d;border-color:#16634d;background:linear-gradient(140deg,#123e32,#102d2b)}.sp-control.call:not(:disabled)>span{background:linear-gradient(135deg,#12da90,#00a783);color:#043b2b;box-shadow:0 5px 18px #00d88b20}.sp-control.danger>span{border-color:#ef4654;background:linear-gradient(145deg,#fa5263,#e9293b);color:white}.sp-control.active>span{background:#592e34;color:#f56270;border-color:#b73e4a}.sp-control:disabled{cursor:default}.sp-control:disabled>span{opacity:.35;filter:saturate(.45)}.sp-control:disabled small{color:#70858d}
.sp-audio{display:flex;align-items:center;gap:9px;padding:13px 10px;border-radius:15px;background:linear-gradient(110deg,#1a292f,#0d1c22);border:1px solid #26373e}.sp-audio-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:36px;border-radius:10px;background:#ffffff04;color:#cbd8d8}.sp-audio-icon .icon{width:21px;height:21px}.sp-audio label{font-size:12px;color:#dee7e7}.sp-audio select,.sp-output select{appearance:auto;box-sizing:border-box;flex:1;min-width:0;max-width:100%;height:35px;padding:0 7px;border:1px solid #394b54;border-radius:8px;background:#1c2a31;color:#e8eeef;font:inherit;font-size:12px;cursor:pointer}.sp-meter{display:flex;align-items:flex-end;justify-content:center;gap:3px;flex:0 0 69px;height:21px;padding-bottom:2px}.sp-meter i{width:5px;border-radius:1px;background:#3b4b50;transition:background .12s}.sp-meter i.lit{background:#0be986;box-shadow:0 0 4px #00db8820}.sp-output{display:flex;align-items:center;gap:12px;font-size:11px;color:#90a7ab;padding:10px 5px 0}.sp-output select{max-width:280px;height:31px;margin-left:auto}.sp-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:11px 4px 0;font-size:10px;color:#7c9998}.sp-footer>span{display:flex;align-items:center;gap:5px}.sp-footer .icon{width:11px;height:11px}.sp-footer i{width:5px;height:5px;border-radius:50%;background:#8f8657}.sp-footer i.online{background:#00df92;box-shadow:0 0 5px #00df9240}.sp-error,.sp-notice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin:0 0 14px;border:1px solid #bd665433;background:#c66e4c0c;color:#ffbda6;border-radius:10px;font-size:12px;line-height:1.5}.sp-error>.icon{flex:none;width:16px;height:16px;margin-top:1px}.sp-notice{border-color:#783e4633;background:#be434f08;color:#9bcab7}.sp-expanded{transform:translate(50%,-50%);width:540px;max-height:calc(100dvh - 32px);overflow:auto}.sp-minimized{position:fixed;right:24px;bottom:23px;display:flex;align-items:center;gap:12px;padding:13px 17px;border:1px solid #793f46;border-radius:15px;background:#11282af5;box-shadow:0 8px 40px #0006;color:#e9f5ef;cursor:pointer;z-index:180;max-width:calc(100vw - 30px)}.sp-minimized>.icon{width:23px;color:#e64e5d}.sp-minimized>span{display:grid;text-align:left;gap:3px}.sp-minimized strong{font-size:13px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-minimized small{font-size:10px;color:#e67b85}.sp-minimized time{font-size:12px;font-variant-numeric:tabular-nums}.sp-minimized i{width:7px;height:7px;border-radius:50%;background:#00e791;animation:sp-ring 1.4s infinite}@keyframes sp-ring{50%{box-shadow:0 0 0 5px #e64e5d12}}
@media(max-width:600px){.sp-panel{width:calc(100vw - 20px);max-width:none;max-height:calc(100dvh - 100px);overflow:auto;border-radius:16px}.sp-content{padding:0 12px 10px}.sp-header{padding:14px 16px 11px}.sp-contact{gap:10px;padding:14px 10px}.sp-avatar,.sp-avatar>.contact-avatar,.sp-avatar-fallback{width:50px!important;height:50px!important;flex-basis:50px}.sp-person>strong{font-size:16px}.sp-person>span:not(.sp-state){font-size:11px}.sp-contact>time{font-size:17px}.sp-control>span{width:49px;height:49px}.sp-control small{font-size:10px}.sp-controls{padding:2px 0 20px;gap:4px}.sp-audio{gap:6px;padding:10px 8px}.sp-meter{flex-basis:50px;gap:2px}.sp-meter i{width:4px}.sp-expanded{right:10px!important;top:86px!important;transform:none}.sp-minimized{right:12px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.sp-state.is-ringing,.sp-minimized i{animation:none}.sp-control>span{transition:none}}
.modal-backdrop:has(#sp-transfer-form){z-index:240}

.sp-state b:nth-child(1){height:5px}.sp-state b:nth-child(2){height:9px}.sp-state b:nth-child(3){height:13px}.sp-state b:nth-child(4){height:8px}
.sp-meter i{height:7px}.sp-meter i:nth-child(2){height:10px}.sp-meter i:nth-child(3){height:14px}.sp-meter i:nth-child(4){height:18px}.sp-meter i:nth-child(5){height:21px}.sp-meter i:nth-child(6){height:17px}.sp-meter i:nth-child(7){height:13px}.sp-meter i:nth-child(8){height:10px}

.sp-control.is-held:not(:disabled)>span>.icon{animation:sp-hold-pulse 1.6s ease-in-out infinite;transform-origin:center}
@keyframes sp-hold-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.65}}
@media(prefers-reduced-motion:reduce){.sp-control.is-held:not(:disabled)>span>.icon{animation:none}}

/* Consistent icon geometry and restrained, state-driven feedback. */
.sp-icon{display:block;flex:none;overflow:visible;vector-effect:non-scaling-stroke}
.sp-control>span{position:relative;box-shadow:inset 0 1px 0 #ffffff14,0 4px 12px #0002;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.sp-control>span>.sp-icon{width:24px;height:24px;transition:transform .2s ease,opacity .2s ease;filter:drop-shadow(0 1px 1px #0002)}
.sp-control:active:not(:disabled)>span{transform:scale(.94)}
.sp-control:focus-visible{outline:none}.sp-control:focus-visible>span{outline:2px solid #f58a94;outline-offset:4px}
.sp-control[data-sp=mute].active>span{color:#ffcf9c;border-color:#bb8857;background:linear-gradient(145deg,#493425,#2b2420)}
.sp-control[data-sp=transfer]:hover:not(:disabled) .sp-icon{transform:translateX(2px)}
.sp-control.danger:hover:not(:disabled)>span{background:linear-gradient(145deg,#ff6574,#df2236);box-shadow:0 5px 18px #ef46542b}
.sp-control.call:hover:not(:disabled)>span{box-shadow:0 5px 22px #00d88b35}
.sp-panel.is-incoming .sp-control.call>.sp-icon{animation:none}
.sp-panel.is-incoming .sp-control.call>span{animation:sp-incoming-glow 1.8s ease-out infinite}
.sp-panel.is-incoming .sp-control.call>span>.sp-icon{animation:sp-handset-ring 1.8s ease-in-out infinite}
.sp-panel.is-talking .sp-state b{animation:sp-speaking 1s ease-in-out infinite alternate}
.sp-panel.is-talking .sp-state b:nth-child(2){animation-delay:-.35s}.sp-panel.is-talking .sp-state b:nth-child(3){animation-delay:-.6s}.sp-panel.is-talking .sp-state b:nth-child(4){animation-delay:-.15s}
@keyframes sp-handset-ring{0%,24%,100%{transform:rotate(0)}5%,15%{transform:rotate(-12deg)}10%,20%{transform:rotate(12deg)}}
@keyframes sp-incoming-glow{0%{box-shadow:0 0 0 0 #e44e5c44}75%,100%{box-shadow:0 0 0 10px #e44e5c00}}
@keyframes sp-speaking{from{transform:scaleY(.45)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){#softphone-root .sp-icon,#softphone-root .sp-control>span,#softphone-root .sp-state b{animation:none!important;transition:none!important}}
