/* One compact surface; only search results and optional audio settings scroll. */
#keypad-dialog.global-dialer{box-sizing:border-box;width:min(620px,calc(100% - 24px));max-width:none;top:clamp(12px,calc(var(--visible-height,100dvh) - 520px),78px);max-height:calc(var(--visible-height,100dvh) - 24px);padding:16px;margin:auto;border-radius:12px;overflow:hidden;color:var(--ink);}
#keypad-dialog #keypad-form{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px 20px;position:relative;min-width:0;}
#keypad-dialog .card-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding:0 0 10px;margin:0;border-bottom:1px solid var(--line,#dce2e5);}
#keypad-dialog .card-heading h2{font-size:21px;margin:0;}
#keypad-dialog .card-heading p{display:none;}
#keypad-dialog .icon-btn{width:40px;min-width:40px;height:40px;min-height:40px;margin:0;}
#keypad-dialog .dial-number{grid-column:1;grid-row:2;position:relative;align-self:start;}
#keypad-dialog .dial-label,#keypad-dialog .device-picker label{font-size:15px;margin:0 0 6px;}
#keypad-dialog .dial-input{min-height:46px;padding:0 8px;}
#keypad-dialog .dial-input input{min-width:0;height:44px;min-height:44px;font-size:20px!important;margin:0;padding:4px 0;}
#keypad-dialog .dial-input input::placeholder{font-size:16px;}
#keypad-dialog .device-picker{grid-column:1;grid-row:3;align-self:start;}
#keypad-dialog .device-picker select{width:100%;min-width:0;min-height:44px;padding:8px;font-size:16px;}
#keypad-dialog #device-detail{font-size:13px;line-height:1.35;margin:5px 0 0;}
#keypad-dialog .keypad{grid-column:2;grid-row:2/6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-content:start;padding:0;margin:0;}
#keypad-dialog .key{box-sizing:border-box;height:52px;min-height:44px;padding:3px;font-size:24px;line-height:1.05;margin:0;border-radius:7px;}
#keypad-dialog .key small{font-size:10px;line-height:1.2;letter-spacing:1px;margin-top:3px;}
#keypad-dialog .call-button{grid-column:1;grid-row:5;align-self:end;margin:0;min-height:46px;padding:9px;font-size:18px;}
#keypad-dialog #dial-note{grid-column:1/-1;margin:0;font-size:13px;line-height:1.3;text-align:center;}
#keypad-dialog .dial-results{position:absolute;z-index:3;left:0;right:0;top:100%;margin:4px 0 0;max-height:min(160px,25dvh);overflow:auto;background:#fff;border:1px solid #cbd5de;border-radius:7px;box-shadow:0 5px 16px #182b3b24;padding:4px;gap:3px;}
#keypad-dialog .dial-results[hidden]{display:none;}
#keypad-dialog .dial-results .destination-choice{min-height:44px;padding:6px 8px;gap:2px;border:0;grid-template-columns:minmax(0,1fr);}
#keypad-dialog .dial-results .destination-choice strong{font-size:15px;}
#keypad-dialog .dial-results .destination-choice span{font-size:13px;grid-column:1;}
#keypad-dialog .dial-audio{grid-column:1;grid-row:4;min-width:0;}
#keypad-dialog .dial-audio>summary{display:flex;align-items:center;gap:8px;width:fit-content;min-height:40px;padding:0 8px;cursor:pointer;font-size:15px;color:#315b7e;border:1px solid #d5dfe6;border-radius:5px;list-style:none;}
#keypad-dialog .dial-audio>summary::-webkit-details-marker{display:none;}
#keypad-dialog .dial-audio>summary:after{content:'⌄';margin-left:auto;}
#keypad-dialog .dial-audio[open]>summary:after{content:'×';}
#keypad-dialog .dial-audio[open]>summary{position:absolute;right:0;top:0;z-index:5;background:white;margin-right:48px;}
#keypad-dialog .dial-audio .webphone-card{position:absolute;z-index:4;inset:52px 0 0;margin:0;padding:14px;overflow:auto;border-radius:8px;box-shadow:0 2px 12px #182b3b20;background:#fff;}
#keypad-dialog .webphone-heading{gap:10px;}
#keypad-dialog .webphone-heading strong{font-size:17px;}
#keypad-dialog .webphone-heading p{font-size:14px;line-height:1.4;}
#keypad-dialog #webphone-options{margin-top:12px;}
#keypad-dialog #webphone-options select{font-size:15px;min-height:44px;max-width:100%;}
#keypad-dialog #webphone-toggle{width:auto;margin:0;min-height:44px;}
@media(max-width:559px){
 #keypad-dialog.global-dialer{width:calc(100% - 20px);padding:12px;}
 #keypad-dialog #keypad-form{grid-template-columns:minmax(0,1fr);gap:9px;}
 #keypad-dialog .card-heading{grid-column:1;}
 #keypad-dialog .dial-number{grid-row:2;}
 #keypad-dialog .device-picker{grid-row:3;}
 #keypad-dialog .device-picker label,#keypad-dialog #device-detail{display:none;}
 #keypad-dialog .keypad{grid-column:1;grid-row:4;gap:5px;}
 #keypad-dialog .key{height:42px;min-height:40px;font-size:23px;}
 #keypad-dialog .key small{display:none;}
 #keypad-dialog .dial-audio{grid-row:5;align-self:center;justify-self:end;width:110px;}
 #keypad-dialog .dial-audio>summary{font-size:14px;min-height:44px;}
 #keypad-dialog .call-button{grid-row:5;justify-self:start;width:calc(100% - 120px);}
 #keypad-dialog #dial-note{display:none;}
 #keypad-dialog .dial-audio[open]>summary{margin-right:42px;}
 #keypad-dialog .dial-results{max-height:180px;}
}
@media(max-height:520px) and (min-width:560px){
 #keypad-dialog.global-dialer{padding:10px;}
 #keypad-dialog #keypad-form{gap:6px 16px;grid-template-columns:minmax(0,1fr) 190px;}
 #keypad-dialog .card-heading{padding-bottom:4px;}
 #keypad-dialog .key{height:45px;min-height:40px;}
 #keypad-dialog .key small{display:none;}
 #keypad-dialog #device-detail,#keypad-dialog #dial-note{display:none;}
 #keypad-dialog .dial-audio .webphone-card{inset:46px 0 0;}
}
@media(max-height:600px) and (max-width:559px){
 #keypad-dialog .dial-number .dial-label{display:none;}
 #keypad-dialog #keypad-form{gap:6px;}
 #keypad-dialog .card-heading{padding-bottom:3px;}
 #keypad-dialog .keypad{grid-template-columns:repeat(6,minmax(0,1fr));}
 #keypad-dialog .key{height:40px;}
}
