/* Shared sizing rules, followed by tablet and phone layouts. Loaded after legacy styles. */
input,select,textarea,fieldset{min-width:0;max-width:100%}
dialog input[type=checkbox],.settings-content input[type=checkbox]{width:20px;height:20px;min-height:20px;margin:0;flex:none}
label:has(>input[type=checkbox]){display:flex;align-items:center;gap:10px;min-height:44px}
.workspace,main,.view,.card,.card-heading>div,.toolbar>*,.settings-content,.settings-grid>*,.extension-identity,.extension-identity>div,.profile-rule,.phonebook-actions{min-width:0}
.card-heading h2,.settings-content,.personal-contact,.device-tile,.profile-rule,.integration-card{overflow-wrap:anywhere}
.sidebar nav{overflow-y:auto;overscroll-behavior:contain;min-height:0}
.sidebar .brand,.sidebar-foot{flex-shrink:0}
.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.table-scroll:focus-visible{outline:2px solid #3265a8;outline-offset:-2px}
@media(max-width:699px){.table-scroll table{min-width:640px}.table-scroll:before{content:'Desliza para ver todas las columnas →';display:block;position:sticky;left:0;width:fit-content;max-width:100%;font-size:14px;color:#53606b;padding:10px 16px;background:#f7f9fb}}
dialog{max-height:calc(100dvh - 24px);max-height:calc(var(--visible-height,100dvh) - 24px);overflow-y:auto;overscroll-behavior:contain;scroll-padding:76px 0 24px}
dialog .card-heading{position:sticky;top:0;background:#fff;z-index:2;gap:12px}
dialog .card-heading h2{min-width:0;flex:1}
dialog .card-heading .icon-btn{flex:none}
.contact-fields label,.connection-fields label{min-width:0}
.connection-features label{min-height:44px}
.chat-thread{height:auto;min-height:0}
.chat-sidebar{max-height:none}
.chat-attachment,.chat-attachment>div{min-width:0;overflow-wrap:anywhere}
.chat-attachment>div{flex-wrap:wrap}
#chat-file-pending{padding-right:105px}
.mobile-menu,.navigation-shade,#chat-back{display:none}
button,a,input,select,textarea{-webkit-tap-highlight-color:#3265a82b}
button:focus-visible,a:focus-visible{outline:2px solid #3265a8;outline-offset:3px}
@media(pointer:coarse){button,.text-btn,.icon-btn,summary,.contact-photo-tools label{min-height:44px}.contact-star{min-width:44px;min-height:44px}.chat-composer .primary,.chat-compose-tools .icon-btn{min-width:44px;width:44px;height:44px;min-height:44px}.chat-composer{grid-template-columns:44px minmax(0,1fr) 44px}}
@media(min-width:700px) and (max-width:1100px){
  .dialer{grid-template-columns:repeat(2,minmax(0,1fr))}.dialer-heading,.dial-number{grid-column:1/-1}.device-picker{grid-column:1/-1}.call-button{grid-column:1}.keypad-launch{grid-column:2}
  .panel-layout{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'identity identity' 'profile profile' 'dial dial' 'calls parking' 'devices devices' 'team team'}
  .settings-grid{grid-template-columns:minmax(0,1fr)}.team-grid,.team-grid.full{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chat-layout{grid-template-columns:220px minmax(0,1fr);height:calc(100dvh - 260px);min-height:420px}.chat-thread{height:auto;min-height:0}.chat-sidebar{max-height:none;border-right:1px solid var(--line)}
  .chat-toolbar>div{flex-basis:auto}.chat-toolbar a{width:auto}.chat-toolbar h2{font-size:18px}.chat-toolbar{padding:12px}
}
@media(max-width:699px){
  body:has(#view-chat.chat-thread-open:not([hidden])){overflow:hidden}
  .workspace{margin-left:0}.sidebar{width:min(300px,86vw);z-index:110;transform:translateX(-100%);transition:transform .18s ease;visibility:hidden;padding-bottom:env(safe-area-inset-bottom)}
  .navigation-open .sidebar{transform:none;visibility:visible}.navigation-open{overflow:hidden}.sidebar .brand{justify-content:flex-start;padding:0 22px}.sidebar .brand span{display:block}.sidebar nav{padding:12px}.sidebar .nav{font-size:17px;justify-content:flex-start;gap:16px;padding:13px 16px;min-height:50px}.sidebar .nav .unread-badge{margin-left:auto}.sidebar .nav-rule{display:block}
  .navigation-shade{position:fixed;inset:0;border:0;background:#0008;z-index:100;width:100%;height:100%}.navigation-open .navigation-shade{display:block}
  .mobile-menu{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;font-size:25px;background:transparent;color:#202428;border:0;border-radius:6px;margin-right:8px}
  .workspace>header{height:60px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));position:sticky;top:0;z-index:30;justify-content:flex-start}.breadcrumb{font-size:14px;flex:1;min-width:0}.header-right{gap:5px}.header-right .avatar,.header-right .mode{display:none}.header-right .connection{font-size:12px;max-width:110px;overflow-wrap:anywhere}.header-right .icon-btn{width:44px;height:44px;min-width:44px}
  main{padding:18px max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.page-heading{margin-bottom:16px}.page-heading h1{font-size:26px}.page-heading p{font-size:16px;line-height:1.45}.page-heading .date{display:none}
  .card-heading{padding:16px;gap:12px}.card-heading h2{font-size:20px}.card-heading .search{width:100%;max-width:none}.card-heading .text-btn{white-space:normal}
  .panel-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:'identity' 'profile' 'dial' 'calls' 'parking' 'devices' 'team';gap:14px}.extension-card{padding:16px;gap:12px;align-items:flex-start}.extension-identity .avatar{display:none}.extension-identity>div:last-child{display:block}.extension-identity h2{font-size:22px}.extension-number{margin-top:7px}.extension-card .presence-label{margin:0;width:100%;padding:0}.presence-label select{width:100%;font-size:16px}.profile-summary{font-size:15px}
  .dialer{padding:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dialer-heading,.dial-number,.device-picker{grid-column:1/-1}.dialer-heading{gap:12px}.dialer-heading .quick-actions{display:none}.device-picker{padding:0}.device-picker label{letter-spacing:0;font-size:16px}.device-picker select{font-size:16px;min-height:48px}.dial-number input{font-size:25px;max-width:100%}.call-button,.keypad-launch{width:100%;min-width:0;grid-column:auto;margin:0;min-height:50px;font-size:17px;padding:10px}.agent-tools{width:100%;gap:8px}.agent-button{min-height:44px;flex:1}.agent-status{flex-basis:100%}.agent-service-note{font-size:15px!important}
  .call-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.call-controls button{font-size:16px;padding:10px 8px;min-height:48px}.call-controls .danger,.call-controls .answer{grid-column:1/-1}.call-row{padding:16px}.call-summary>div{min-width:0}.call-summary h3{font-size:22px}.call-tools{padding:12px 16px}.live-call-banner{top:60px;padding:12px;gap:8px}.live-call-banner>div{flex-basis:100%}.live-call-banner button{width:auto;flex:1;min-width:0;white-space:normal}.chat-incoming-banner{flex-wrap:wrap;gap:8px;padding:10px 12px}.chat-incoming-banner strong{flex:1;min-width:0}
  .device-list{padding:0 16px 16px;grid-template-columns:minmax(0,1fr)}.device-tile strong{font-size:16px}.device-tile small{overflow-wrap:anywhere}.team-grid,.team-grid.full{padding:0 16px 16px;grid-template-columns:minmax(0,1fr)}.team-contact-actions button{min-height:46px}.contact-name{font-size:18px}.contact-star{min-width:44px;min-height:44px}.legend{flex-wrap:wrap;padding:16px;gap:12px}
  .parking-board h2{font-size:20px}.parking-board .card-heading{flex-wrap:wrap}.parked-call{grid-template-columns:minmax(0,1fr);padding:16px}.parking-position,.parked-party{grid-column:1;grid-row:auto}.parking-position{width:fit-content}.parked-call .primary,.parked-call .secondary{grid-column:1;grid-row:auto;width:100%;margin:0;min-height:48px}.parking-slots{grid-template-columns:repeat(5,minmax(0,1fr))}
  .toolbar{padding:0 16px 16px;gap:10px}.toolbar input,.toolbar select,.toolbar button{width:100%;min-width:0;flex:1 1 100%;font-size:16px;min-height:44px}.quick-team-toolbar input{min-width:0}.metrics{margin:0 16px 16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metrics>div{padding:12px}.metrics strong{font-size:26px}.metrics small{font-size:14px}.history-source{flex-wrap:wrap;padding:16px}.history-source button{width:100%;white-space:normal}table{font-size:15px}td,th{padding:12px;max-width:240px;overflow-wrap:anywhere}
  .settings-grid,.connection-fields,.contact-fields,.integration-details{grid-template-columns:minmax(0,1fr)}.settings-content{padding:16px}.settings-content input,.settings-content select,dialog input,dialog select,dialog textarea{font-size:16px;min-height:46px}.button-row{align-items:stretch}.button-row button{white-space:normal;min-height:46px;flex:1 1 100%}.settings-content .primary,.settings-content .secondary{max-width:100%;white-space:normal}.connection-actions{flex-direction:column}.connection-actions button{width:100%;min-height:46px}.connection-features{padding:10px;gap:5px}.connection-features label,.connection-remap{font-size:16px;line-height:1.5}.connection-features input,.connection-remap input{min-height:20px;width:20px;height:20px}.connection-remap{align-items:flex-start}.connection-remap input{margin-top:3px}.connection-check{padding:10px 0}.profile-rules{padding:0 16px 16px;grid-template-columns:minmax(0,1fr)}.capability{flex-wrap:wrap;gap:8px}.capability>span:first-child{flex:1 1 100%}#diagnostics .capability span:last-child{max-width:100%;text-align:left}
  .personal-contact{padding:16px;gap:14px;align-items:stretch;flex-direction:column}.phonebook-actions{flex-wrap:wrap;width:100%}.phonebook-actions button{min-height:44px;white-space:normal;max-width:100%}.contacts-heading>.compact-action{flex:1;min-height:46px}.contacts-heading>div{flex-basis:100%}.contacts-heading{flex-wrap:wrap}.personal-contact h3{font-size:20px}
  .integration-card{padding:20px}.integration-card h2{font-size:28px}.integration-flow{flex-direction:column}.integration-details code{overflow-wrap:anywhere}footer{gap:10px;flex-wrap:wrap}
  dialog,dialog.contact-dialog,dialog.chat-file-dialog,#keypad-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:0 16px 16px;margin:auto;max-height:calc(var(--visible-height,100dvh) - 20px)}dialog .card-heading{padding:16px 0;flex-wrap:nowrap}dialog .card-heading h2{font-size:21px}dialog .card-heading .icon-btn{width:44px;min-width:44px;height:44px}dialog label{font-size:16px}.contact-fields label{font-size:16px}.contact-fields input{min-height:46px}.contact-form-footer{position:sticky;bottom:-16px;background:#fff;padding:14px 0 16px;flex-direction:column;align-items:stretch;margin-bottom:-16px}.contact-form-footer .primary{width:100%;min-height:48px}.contact-photo-tools{gap:10px}.contact-photo-tools label{min-height:44px}.destination-results{max-height:38dvh}#keypad-dialog .key{min-height:52px}#keypad-dialog .keypad{gap:7px;margin:10px 0}#keypad-dialog .keypad-tools button{min-height:44px}#keypad-device{margin:8px 0}.chat-file-dialog #chat-file-view{height:calc(var(--visible-height,100dvh) - 180px);min-height:120px}
  .chat-layout{display:block;height:auto;min-height:0}.chat-sidebar{max-height:none;border:0;padding:12px;gap:10px}.chat-sidebar>input,.chat-sidebar>select{min-height:44px;font-size:16px}.chat-sidebar #chat-unread-filter{margin:0;font-size:15px;min-height:44px}.chat-sidebar #chat-list{max-height:none;overflow:visible}.chat-conversation{min-height:64px;padding:12px 8px}.chat-conversation strong,.chat-sidebar .chat-conversation strong{font-size:17px}.chat-person-avatar{display:grid}.chat-thread{display:none}.chat-toolbar{padding:14px;gap:10px}.chat-toolbar>div{flex-basis:100%}.chat-toolbar .primary,.chat-toolbar .secondary{flex:1;min-height:44px}.chat-toolbar a{width:auto;font-size:14px}.chat-thread-open .chat-workspace{position:fixed;inset:auto 0 auto 0;top:calc(var(--visible-top,0px) + 60px);height:calc(var(--visible-height,100dvh) - 60px);z-index:25;border-radius:0;border:0;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}
  .chat-thread-open .chat-toolbar,.chat-thread-open .chat-sidebar{display:none}.chat-thread-open .chat-layout{display:flex;flex:1;min-height:0}.chat-thread-open .chat-thread{display:flex;flex:1;height:auto;min-height:0}.chat-thread-open #chat-back{display:inline-flex;min-height:44px;align-items:center;font-size:16px;padding:5px 0;color:#24518b}.chat-thread-heading{padding:8px 14px;flex:none}.chat-thread-heading h3{font-size:19px;overflow-wrap:anywhere}.chat-thread-heading p{font-size:14px}.chat-thread-heading #chat-mark-read{float:none;padding:8px 0;min-height:44px}.chat-messages{padding:14px;gap:12px}.chat-message{max-width:95%;padding:10px 12px}.chat-message p{font-size:17px}.chat-composer{padding:10px;grid-template-columns:44px minmax(0,1fr) 44px;gap:7px}.chat-composer textarea{font-size:16px;min-height:44px;max-height:100px}.chat-compose-tools .icon-btn,.chat-composer .primary{width:44px;min-width:44px;min-height:44px;height:44px}.chat-composer small{max-height:70px;overflow:auto}.chat-attachment .secondary{min-height:44px}.chat-person{flex-wrap:wrap;gap:6px}
  .login-screen{grid-template-columns:minmax(0,1fr);min-height:100dvh}.login-brand{min-height:0;padding:24px}.login-brand h1{font-size:30px}.login-form{padding:28px 24px}.login-form input{font-size:16px;min-height:48px}.login-form .primary{min-height:48px}#toast{left:12px;right:12px;bottom:max(16px,env(safe-area-inset-bottom));max-width:none;width:auto;font-size:16px}
}
@media(max-height:500px) and (max-width:1100px){dialog{max-height:calc(var(--visible-height,100dvh) - 12px)}#keypad-dialog .key{min-height:38px;font-size:22px}#keypad-dialog .key small{display:none}.login-brand{display:none}.login-screen{grid-template-columns:1fr}.chat-thread-heading p{display:none}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
