:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17233a;background:#f3f6fa;--nav:#0b182d;--nav2:#12233e;--blue:#1674e8;--blue2:#0d61ca;--line:#e2e8f0;--muted:#6f7f94;--card:#fff;--good:#18a565;--warn:#dc8b17;--bad:#d54554}*{box-sizing:border-box}html,body,#app{margin:0;min-width:320px;min-height:100%}body{min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),#081324);color:#c9d4e4;padding:18px 13px;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:2px 10px 18px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,#1885ff,#50b6ff);font-weight:900;box-shadow:0 8px 28px #1684ff4a}.brand strong{display:block;color:#fff;font-size:17px}.brand small{display:block;color:#8495ad;margin-top:3px;font-size:11px}.nav-group{margin:10px 0}.nav-label{padding:7px 13px;color:#6f829d;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.nav-btn{border:0;background:transparent;color:#bdcada;width:100%;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;text-align:left;font-size:13px}.nav-btn:hover{background:#162944;color:#fff}.nav-btn.active{background:#1b3151;color:#fff;box-shadow:inset 3px 0 #42a4ff}.nav-icon{width:22px;text-align:center;font-size:16px}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid #1c2c44}.main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:20}.menu-toggle{display:none;border:0;background:transparent;font-size:22px}.crumb{font-weight:720;color:#33425a}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.tenant-picker{min-width:245px}.user-box{display:flex;align-items:center;gap:10px;border-left:1px solid var(--line);padding-left:15px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f2ff;color:#176fda;font-weight:800}.user-box strong,.user-box small{display:block}.user-box small{font-size:11px;color:var(--muted)}.content{padding:28px;max-width:1680px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h1{font-size:26px;margin:0;color:#152239}.page-head p{margin:7px 0 0;color:var(--muted);max-width:850px}.head-actions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid #ccd6e3;background:#fff;color:#33425a;border-radius:9px;padding:9px 14px;font-weight:680;display:inline-flex;gap:7px;align-items:center;justify-content:center}.btn:hover{background:#f7f9fc}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:var(--blue2)}.btn.danger{color:#b42c3c;border-color:#f0cbd0}.btn.small{padding:6px 9px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 4px 16px #16233b0a}.metric-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#e9f4ff;color:#1170dd;font-size:19px}.metric small{color:var(--muted);display:block}.metric strong{font-size:26px;display:block;margin-top:3px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px #15233a0a;margin-bottom:18px;overflow:hidden}.panel-pad{padding:19px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-title h2{margin:0;font-size:17px}.panel-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.status{display:flex;align-items:center;gap:12px}.dot{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 5px #edf1f6}.dot.good{background:var(--good)}.dot.bad{background:var(--bad)}.dot.warn{background:var(--warn)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{text-align:left;padding:13px 15px;border-bottom:1px solid #edf1f5;font-size:13px;vertical-align:middle}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#718198;background:#f8fafc;white-space:nowrap}.data-table tr:hover td{background:#fbfdff}.data-table tr:last-child td{border-bottom:0}.data-table small{display:block;color:var(--muted);margin-top:3px}.tag{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:750;background:#edf2f7;color:#526176}.tag.good{background:#e4f7ed;color:#147342}.tag.bad{background:#ffe9ec;color:#a62a39}.tag.warn{background:#fff2d9;color:#956213}.tag.blue{background:#e8f2ff;color:#1768c5}.actions{display:flex;gap:5px;white-space:nowrap}.empty{padding:50px 20px;text-align:center;color:#7d8ca1}.empty strong{display:block;color:#48566b;margin-bottom:5px}.filterbar{display:flex;gap:10px;flex-wrap:wrap;padding:14px;background:#f9fbfd;border-bottom:1px solid var(--line)}input,select,textarea{border:1px solid #cbd6e3;background:#fff;color:#17233a;border-radius:8px;padding:9px 10px;outline:none}input:focus,select:focus,textarea:focus{border-color:#4d9df0;box-shadow:0 0 0 3px #e4f1ff}.filterbar input,.filterbar select{min-width:150px}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px}.field>span{font-size:12px;font-weight:720;color:#445269}.field small{font-size:11px;color:var(--muted)}.field textarea{min-height:90px;resize:vertical}.span-2{grid-column:span 2}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:#445269;padding-top:7px}.check input{width:17px;height:17px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line);padding:10px;border-radius:9px;max-height:220px;overflow:auto}.check-grid label{display:flex;align-items:center;gap:7px;font-size:12px}.modal-bg{position:fixed;inset:0;background:#07101fc4;display:grid;place-items:center;padding:18px;z-index:100}.modal{width:min(860px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 30px 100px #0008}.modal.wide{width:min(1120px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 21px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.modal-head h2{font-size:19px;margin:0}.modal-close{border:0;background:transparent;font-size:27px;color:#6f7f94}.modal-body{padding:21px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:19px;padding-top:16px;border-top:1px solid var(--line)}.alert{border:1px solid;border-radius:9px;padding:11px 13px;margin-bottom:13px;font-size:13px}.alert.error{background:#fff0f2;border-color:#f7cbd1;color:#9c2938}.alert.info{background:#edf6ff;border-color:#c9e3ff;color:#195b9c}.alert.warn{background:#fff8e7;border-color:#f1dda7;color:#805c18}.toast{position:fixed;right:20px;bottom:20px;background:#17243a;color:#fff;border-radius:10px;padding:12px 15px;box-shadow:0 12px 40px #0005;z-index:200;max-width:380px}.toast.error{background:#a62d3b}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#177ee7 0,#10243f 42%,#07111f 100%)}.login-card{width:min(440px,100%);background:#fff;border-radius:18px;padding:30px;box-shadow:0 30px 90px #0008}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:23px}.login-brand h1{font-size:23px;margin:0}.login-brand p{color:var(--muted);margin:4px 0 0}.login form{display:grid;gap:15px}.login .btn{width:100%;padding:11px}.login-note{font-size:11px;color:#8794a7;text-align:center;margin-top:17px}.codebox{background:#0e192b;color:#d9e6f6;border-radius:10px;padding:14px;white-space:pre-wrap;max-height:520px;overflow:auto;font-family:Consolas,monospace;font-size:12px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding:0 14px}.tab{border:0;background:transparent;padding:12px 10px;color:#64748b;border-bottom:2px solid transparent}.tab.active{color:#126fda;border-color:#126fda;font-weight:700}.progress{height:8px;background:#e9eef5;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:#2b8bed}.kpi-line{display:flex;justify-content:space-between;margin-bottom:7px;font-size:13px}.mono{font-family:Consolas,monospace}.muted{color:var(--muted)}.section-note{background:#f7faff;border:1px solid #deebf8;border-radius:9px;padding:11px 13px;font-size:12px;color:#4d6078}.recording{min-width:190px;height:32px}.sidebar-overlay{display:none}@media(max-width:1200px){.cards{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:78px 1fr}.sidebar .nav-label,.sidebar .nav-text,.brand>div:last-child{display:none}.nav-btn,.brand{justify-content:center}.sidebar{padding-inline:10px}.nav-btn{padding:11px}.grid-2{grid-template-columns:1fr}}@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;left:-290px;width:280px;z-index:70;transition:left .2s}.sidebar.open{left:0}.sidebar.open .nav-label,.sidebar.open .nav-text,.sidebar.open .brand>div:last-child{display:block}.sidebar.open .nav-btn,.sidebar.open .brand{justify-content:flex-start}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:#0007;z-index:60}.menu-toggle{display:block}.content{padding:18px}.topbar{padding:0 14px}.tenant-picker{min-width:130px;max-width:180px}.user-box{display:none}.cards{grid-template-columns:1fr}.page-head{flex-direction:column}.form{grid-template-columns:1fr}.span-2{grid-column:span 1}.check-grid{grid-template-columns:1fr}.crumb{display:none}}
.stack-list{display:grid;gap:8px;margin-bottom:9px}.inline-row{display:grid;grid-template-columns:90px minmax(240px,1fr) auto;gap:8px;align-items:center}.digit-input{text-align:center;font-weight:800}.inline-row select{min-width:0}@media(max-width:760px){.inline-row{grid-template-columns:70px 1fr}.inline-row .btn{grid-column:span 2}}

/* ===== Monitoramento TEM PABX ===== */

.monitor-tabs{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin:4px 0 20px;
}

.monitor-tab{
  border:1px solid #cbd6e3;
  background:#fff;
  color:#445269;
  border-radius:9px;
  padding:10px 16px;
  font-weight:750;
  display:flex;
  align-items:center;
  gap:8px;
  transition:.15s ease;
}

.monitor-tab:hover{
  border-color:#8bbdf1;
  background:#f7fbff;
}

.monitor-tab.active{
  background:var(--blue);
  border-color:var(--blue);
  color:#fff;
  box-shadow:0 5px 16px #1674e82e;
}

.monitor-tab span{
  min-width:21px;
  height:21px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  font-size:11px;
  background:#edf2f7;
  color:#526176;
}

.monitor-tab.active span{
  background:#ffffff2b;
  color:#fff;
}

.monitor-section{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 4px 18px #15233a0a;
  margin-bottom:18px;
  padding:18px;
}

.monitor-section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
  padding-bottom:13px;
  border-bottom:1px solid #edf1f5;
}

.monitor-section-title h2{
  font-size:17px;
  margin:0;
  color:#17233a;
}

.monitor-section-title p{
  margin:5px 0 0;
  font-size:12px;
  color:var(--muted);
}

.text-good{
  color:var(--good);
}

.text-bad{
  color:var(--bad);
}

.monitor-extension-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(230px,1fr));
  gap:12px;
}

.monitor-extension-card{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  min-height:122px;
  border:1px solid var(--line);
  border-radius:11px;
  overflow:hidden;
  background:#fff;
  transition:transform .15s ease,box-shadow .15s ease;
}

.monitor-extension-card:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 24px #15233a12;
}

.monitor-extension-card.online{
  border-color:#bfe9d3;
}

.monitor-extension-card.offline{
  border-color:#f1c9ce;
}

.monitor-extension-number{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  font-weight:850;
  background:#f8fafc;
  border-right:1px solid var(--line);
  color:#24334b;
}

.monitor-extension-card.online .monitor-extension-number{
  background:#edf9f3;
}

.monitor-extension-card.offline .monitor-extension-number{
  background:#fff3f4;
}

.monitor-extension-info{
  padding:12px 13px;
  min-width:0;
}

.monitor-extension-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  margin-bottom:5px;
}

.monitor-extension-head strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
}

.monitor-status-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  flex:0 0 auto;
}

.monitor-status-dot.online{
  background:var(--good);
  box-shadow:0 0 0 4px #e3f7ed;
}

.monitor-status-dot.offline{
  background:var(--bad);
  box-shadow:0 0 0 4px #ffe9ec;
}

.monitor-extension-state{
  display:inline-flex;
  font-size:10px;
  font-weight:850;
  letter-spacing:.05em;
  margin-bottom:7px;
}

.monitor-extension-state.online{
  color:#147342;
}

.monitor-extension-state.offline{
  color:#a62a39;
}

.monitor-extension-address{
  font-family:Consolas,monospace;
  font-size:12px;
  color:#26374f;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  margin-bottom:6px;
}

.monitor-extension-detail{
  color:#748399;
  font-size:11px;
  line-height:1.45;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.monitor-section>.panel{
  box-shadow:none;
  border-radius:10px;
  margin:12px 0 0;
}

.monitor-section>.section-note{
  margin-bottom:12px;
}

@media(max-width:1400px){
  .monitor-extension-grid{
    grid-template-columns:repeat(3,minmax(230px,1fr));
  }
}

@media(max-width:1050px){
  .monitor-extension-grid{
    grid-template-columns:repeat(2,minmax(220px,1fr));
  }
}

@media(max-width:650px){
  .monitor-tabs{
    justify-content:flex-start;
  }

  .monitor-tab{
    flex:1 1 calc(50% - 8px);
  }

  .monitor-extension-grid{
    grid-template-columns:1fr;
  }

  .monitor-extension-card{
    grid-template-columns:60px minmax(0,1fr);
  }
}

.monitor-extension-device{
  font-size:12px;
  font-weight:750;
  color:#26374f;
  background:#f3f7fb;
  border-radius:6px;
  padding:6px 8px;
  margin:3px 0 8px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.monitor-extension-card.online .monitor-extension-device{
  background:#edf9f3;
  color:#176b45;
}

.monitor-extension-detail strong{
  color:#53647b;
  font-weight:700;
}

/* ===== Rotas de entrada avançadas ===== */

.modal.inbound-modal{
  width:min(1480px,100%);
}

.inbound-form{
  gap:18px;
}

.inbound-card{
  border:1px solid var(--line);
  border-radius:13px;
  padding:17px;
  background:#fff;
}

.inbound-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px;
  margin-bottom:16px;
}

.inbound-card-head h3{
  margin:0;
  color:#1c2d47;
  font-size:16px;
}

.inbound-card-head p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12px;
}

.inbound-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.inbound-span-2{
  grid-column:span 2;
}

.inbound-span-4{
  grid-column:span 4;
}

.inbound-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.inbound-code-input{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
}

.inbound-code-input>span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  border:1px solid #cbd6e3;
  border-right:0;
  border-radius:8px 0 0 8px;
  background:#f4f7fb;
  color:#43536b;
  font-family:Consolas,monospace;
  font-weight:800;
}

.inbound-code-input input{
  border-radius:0 8px 8px 0;
  min-width:0;
}

.inbound-advanced{
  border:1px solid var(--line);
  border-radius:13px;
  background:#f9fbfd;
  overflow:hidden;
}

.inbound-advanced summary{
  cursor:pointer;
  padding:15px 17px;
  color:#2e405c;
  font-size:14px;
  font-weight:780;
  list-style:none;
}

.inbound-advanced summary::-webkit-details-marker{
  display:none;
}

.inbound-advanced summary::after{
  content:"＋";
  float:right;
  color:var(--blue);
}

.inbound-advanced[open] summary{
  border-bottom:1px solid var(--line);
}

.inbound-advanced[open] summary::after{
  content:"−";
}

.inbound-advanced>.inbound-grid{
  padding:17px;
}

.inbound-rule-scroll{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:10px;
}

.inbound-rule-table{
  width:100%;
  min-width:1700px;
  border-collapse:collapse;
}

.inbound-rule-table th,
.inbound-rule-table td{
  padding:8px;
  border-bottom:1px solid #edf1f5;
  vertical-align:middle;
  text-align:left;
}

.inbound-rule-table th{
  background:#f7f9fc;
  color:#6c7b90;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
}

.inbound-rule-table tbody tr:last-child td{
  border-bottom:0;
}

.inbound-rule-table input,
.inbound-rule-table select{
  width:100%;
  min-width:94px;
  padding:8px;
  font-size:12px;
}

.inbound-rule-table td:first-child input{
  min-width:180px;
}

.inbound-rule-table td:nth-child(2) select{
  min-width:130px;
}

.inbound-rule-table td:nth-child(11){
  min-width:250px;
}

.inbound-holiday-table{
  min-width:900px;
}

.inbound-holiday-table td:nth-child(3){
  min-width:320px;
}

.inbound-destination-stack{
  display:grid;
  gap:6px;
}

.inbound-rule-empty{
  margin-top:10px;
  padding:13px;
  border:1px dashed #ccd7e5;
  border-radius:9px;
  color:var(--muted);
  background:#fafcff;
  font-size:12px;
  text-align:center;
}

.inbound-form>.form-actions{
  position:sticky;
  bottom:-21px;
  z-index:3;
  margin:0 -21px -21px;
  padding:15px 21px;
  background:#fff;
  box-shadow:0 -8px 24px #17233a12;
}

@media(max-width:1100px){
  .inbound-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .inbound-span-4{
    grid-column:span 2;
  }
}

@media(max-width:760px){
  .modal.inbound-modal{
    max-height:96vh;
  }

  .inbound-card{
    padding:13px;
  }

  .inbound-card-head{
    flex-direction:column;
  }

  .inbound-grid,
  .inbound-pair{
    grid-template-columns:1fr;
  }

  .inbound-span-2,
  .inbound-span-4{
    grid-column:span 1;
  }

  .inbound-form>.form-actions{
    bottom:-21px;
  }
}

/* ===== Fim rotas de entrada avançadas ===== */

/* ===== Editor de filas em página completa ===== */

.queue-editor-form{
  display:grid;
  gap:18px;
  padding-bottom:30px;
}

.queue-editor-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:22px;
  box-shadow:0 4px 18px #15233a0a;
}

.queue-editor-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:17px;
  margin-bottom:19px;
  border-bottom:1px solid #edf1f5;
}

.queue-editor-section-head>div{
  position:relative;
  padding-left:48px;
}

.queue-editor-section-head h2{
  margin:0;
  color:#17233a;
  font-size:18px;
}

.queue-editor-section-head p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

.queue-editor-step{
  position:absolute;
  left:0;
  top:0;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#e8f2ff;
  color:#1768c5;
  font-size:11px;
  font-weight:850;
}

.queue-editor-grid{
  display:grid;
  grid-template-columns:
    repeat(4,minmax(0,1fr));
  gap:17px;
  align-items:start;
}

.queue-editor-grid-main{
  grid-template-columns:
    repeat(3,minmax(0,1fr));
}

.queue-editor-full{
  grid-column:1 / -1;
}

.queue-editor-grid .check{
  min-height:39px;
  margin-top:20px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#f9fbfd;
}

.queue-agent-area .check-grid{
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  max-height:360px;
  padding:15px;
  gap:10px;
  background:#fbfdff;
}

.queue-agent-area .check-grid label{
  min-height:38px;
  padding:8px 10px;
  border:1px solid #e5ebf2;
  border-radius:8px;
  background:#fff;
}

.queue-agent-area .check-grid label:hover{
  border-color:#a9cbed;
  background:#f4f9ff;
}

.queue-editor-actions{
  position:sticky;
  bottom:14px;
  z-index:10;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:14px;
  background:#fffffff2;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 12px 40px #17233a1f;
  backdrop-filter:blur(8px);
}

@media(max-width:1200px){
  .queue-editor-grid,
  .queue-editor-grid-main{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .queue-agent-area .check-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .queue-editor-card{
    padding:17px;
  }

  .queue-editor-grid,
  .queue-editor-grid-main{
    grid-template-columns:1fr;
  }

  .queue-editor-full{
    grid-column:span 1;
  }

  .queue-agent-area .check-grid{
    grid-template-columns:1fr;
  }

  .queue-editor-actions{
    bottom:8px;
  }

  .queue-editor-actions .btn{
    flex:1;
  }
}



/* ===== Complementos do editor completo de filas ===== */

.queue-codes-grid,
.queue-pause-grid{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid #edf1f5;
}

.queue-pause-title{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid #edf1f5;
  color:#25334a;
  font-size:13px;
  font-weight:800;
}

.queue-editor-grid select,
.queue-editor-grid input,
.queue-editor-grid textarea{
  width:100%;
}

.queue-editor-card .check{
  min-height:42px;
}

.queue-editor-card .queue-editor-full{
  grid-column:1 / -1;
}

@media(max-width:760px){
  .queue-codes-grid,
  .queue-pause-grid{
    grid-template-columns:1fr;
  }
}



/* ===== Prioridade individual dos agentes ===== */

.queue-priority-list{
  display:grid;
  gap:9px;
}

.queue-priority-row{
  display:grid;
  grid-template-columns:
    minmax(220px,1fr)
    150px;
  align-items:center;
  gap:14px;
  padding:11px 13px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f9fbfd;
  opacity:.72;
  transition:
    border-color .15s,
    background .15s,
    opacity .15s;
}

.queue-priority-row.selected{
  border-color:#a9cbed;
  background:#f3f8ff;
  opacity:1;
}

.queue-priority-agent{
  display:flex;
  align-items:center;
  gap:11px;
  cursor:pointer;
}

.queue-priority-agent input{
  width:18px;
  height:18px;
  flex:0 0 auto;
}

.queue-priority-agent strong,
.queue-priority-agent small{
  display:block;
}

.queue-priority-agent strong{
  color:#17233a;
  font-size:13px;
}

.queue-priority-agent small{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}

.queue-priority-input{
  display:grid;
  grid-template-columns:auto 78px;
  align-items:center;
  justify-content:end;
  gap:8px;
}

.queue-priority-input span{
  color:#56667c;
  font-size:11px;
  font-weight:750;
}

.queue-priority-input input{
  width:78px;
  text-align:center;
}

.queue-priority-input input:disabled{
  background:#eef2f6;
  color:#9aa6b5;
}

.queue-priority-note{
  margin-top:12px;
}

@media(max-width:760px){
  .queue-priority-row{
    grid-template-columns:1fr;
  }

  .queue-priority-input{
    justify-content:start;
    padding-left:29px;
  }
}



/* ===== Seletor duplo de agentes fixos ===== */

.queue-dual-selector{
  display:grid;
  grid-template-columns:
    minmax(260px,1fr)
    76px
    minmax(260px,1fr)
    54px;
  align-items:center;
  gap:16px;
}

.queue-dual-column{
  min-width:0;
}

.queue-dual-title{
  margin-bottom:8px;
  color:#17233a;
  font-size:13px;
  font-weight:800;
}

.queue-dual-list{
  width:100%;
  min-height:250px;
  padding:7px;
  border:1px solid #cbd7e6;
  border-radius:9px;
  background:#fff;
  color:#17233a;
  outline:none;
}

.queue-dual-list:focus{
  border-color:#2784e8;
  box-shadow:0 0 0 3px #2784e820;
}

.queue-dual-list option{
  padding:8px 9px;
  border-radius:5px;
}

.queue-dual-list option:checked{
  background:#ddecff;
}

.queue-dual-move,
.queue-dual-order{
  display:grid;
  gap:9px;
}

.queue-dual-move .btn,
.queue-dual-order .btn{
  min-height:38px;
  font-weight:850;
}

.queue-dual-priority{
  margin-top:11px;
}

.queue-dual-priority .field{
  margin:0;
}

.queue-dual-note{
  margin-top:13px;
}

@media(max-width:1000px){
  .queue-dual-selector{
    grid-template-columns:1fr;
  }

  .queue-dual-move,
  .queue-dual-order{
    grid-template-columns:1fr 1fr;
  }

  .queue-dual-move{
    transform:rotate(90deg);
    max-width:140px;
    margin:auto;
  }

  .queue-dual-list{
    min-height:190px;
  }
}



/* FIREWALL SIP UI */
.fw-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  margin-bottom:20px;
}
.fw-metric{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px;
  display:flex;
  gap:14px;
  align-items:center;
  box-shadow:0 4px 16px #16233b0a;
}
.fw-metric-icon{
  width:46px;
  height:46px;
  border-radius:13px;
  display:grid;
  place-items:center;
  flex:none;
  background:#e8f2ff;
  color:#1768c5;
  font-size:20px;
  font-weight:800;
}
.fw-metric-icon.danger{background:#ffe9ec;color:#b42c3c}
.fw-metric-icon.allowed{background:#e4f7ed;color:#147342}
.fw-metric-icon.events{background:#f1ebff;color:#6842bf}
.fw-metric small,.fw-metric span{display:block;color:var(--muted)}
.fw-metric strong{display:block;font-size:23px;margin:3px 0}
.fw-metric span{font-size:11px}
.fw-status.pending{color:#956213}
.fw-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.fw-section{padding:0}
.fw-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 19px;
  border-bottom:1px solid var(--line);
}
.fw-section-head h2{font-size:17px;margin:0}
.fw-section-head p{font-size:12px;color:var(--muted);margin:5px 0 0}
.fw-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.fw-empty,.fw-event-empty{
  min-height:190px;
  padding:34px 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--muted);
}
.fw-empty-icon{
  width:47px;
  height:47px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e4f7ed;
  color:#147342;
  font-size:21px;
  font-weight:800;
  margin-bottom:12px;
}
.fw-empty-icon.danger{background:#ffe9ec;color:#b42c3c}
.fw-empty strong,.fw-event-empty strong{color:#36445a;margin-bottom:5px}
.fw-empty span,.fw-event-empty p{font-size:12px;margin:0}
.fw-filters{
  display:grid;
  grid-template-columns:repeat(4,minmax(130px,1fr));
  gap:10px;
  padding:14px 19px;
  background:#f8fafc;
  border-bottom:1px solid var(--line);
}
.fw-radar{
  width:70px;
  height:70px;
  border:1px solid #cfe0f3;
  border-radius:50%;
  position:relative;
  margin-bottom:16px;
  background:radial-gradient(circle,#eaf4ff 0 3px,transparent 4px);
}
.fw-radar:before,.fw-radar:after{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid #dce9f6;
  border-radius:50%;
}
.fw-radar:after{inset:25px}
.fw-radar span{
  position:absolute;
  width:30px;
  height:1px;
  background:#4d9df0;
  left:35px;
  top:35px;
  transform-origin:left center;
  transform:rotate(-35deg);
}
@media(max-width:1100px){
  .fw-metrics{grid-template-columns:repeat(2,1fr)}
  .fw-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .fw-metrics{grid-template-columns:1fr}
  .fw-section-head{align-items:flex-start;flex-direction:column}
  .fw-filters{grid-template-columns:1fr}
}


/* TEM HEADER BRANDING V1 */

.brand{
  min-height:64px;
}

.brand-logo{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(145deg,#1885ff,#50b6ff);
  font-weight:900;
  box-shadow:0 8px 28px #1684ff4a;
}

.brand-logo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  background:#fff;
}

.brand-logo span{
  font-size:18px;
}

.brand-copy{
  min-width:0;
}

.brand-name{
  display:block;
  overflow:hidden;
  color:#fff;
  font-size:16px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.brand-subtitle{
  display:block;
  overflow:hidden;
  margin-top:3px;
  color:#8495ad;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.tenant-current{
  min-width:170px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.tenant-current small{
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.tenant-current strong{
  max-width:230px;
  overflow:hidden;
  color:#33425a;
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.btn.apply-global{
  min-width:180px;
  height:39px;
  border:0;
  color:#fff;
  box-shadow:0 6px 18px #17233a1c;
  transition:
    background .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.btn.apply-global:hover{
  color:#fff;
  transform:translateY(-1px);
}

.btn.apply-global.applied{
  background:var(--blue);
}

.btn.apply-global.applied:hover{
  background:var(--blue2);
}

.btn.apply-global.pending{
  background:#ef8c18;
  box-shadow:0 7px 20px #ef8c1838;
}

.btn.apply-global.pending:hover{
  background:#d97706;
}

.btn.apply-global.failed{
  background:#d54554;
  box-shadow:0 7px 20px #d5455438;
}

.btn.apply-global.failed:hover{
  background:#b92f3e;
}

.btn.apply-global.checking{
  background:#728197;
}

.branding-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.branding-card{
  min-width:0;
}

.branding-current{
  padding-top:4px;
}

.branding-preview{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:92px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:13px;
  background:linear-gradient(135deg,#0b182d,#122a48);
  color:#fff;
}

.branding-preview-logo{
  width:60px;
  height:60px;
  flex:0 0 60px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:15px;
  background:linear-gradient(145deg,#1885ff,#50b6ff);
  font-size:22px;
  font-weight:900;
  box-shadow:0 8px 25px #0004;
}

.branding-preview-logo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  background:#fff;
}

.branding-preview small,
.branding-preview strong,
.branding-preview span,
.branding-preview em{
  display:block;
}

.branding-preview small{
  margin-bottom:3px;
  color:#8fa4c0;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.branding-preview strong{
  font-size:18px;
}

.branding-preview span{
  margin-top:4px;
  color:#adbed3;
  font-size:12px;
}

.branding-preview em{
  margin-top:8px;
  color:#8fa4c0;
  font-size:11px;
  font-style:normal;
}

@media(max-width:1200px){
  .sidebar .brand-copy{
    display:none;
  }

  .branding-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .sidebar.open .brand-copy{
    display:block;
  }

  .top-actions{
    gap:7px;
  }

  .tenant-current{
    display:none;
  }

  .btn.apply-global{
    min-width:0;
    padding-inline:10px;
    font-size:11px;
  }
}


/* TEM APPLY BUTTON PROFESSIONAL V2 */

.btn.apply-global{
  border:1px solid transparent;
  box-shadow:none;
  font-weight:700;
}

.btn.apply-global:hover{
  transform:none;
  box-shadow:0 4px 12px #17233a18;
}

.btn.apply-global.pending{
  color:#7a4a08;
  background:#fff3dc;
  border-color:#edcf96;
}

.btn.apply-global.pending:hover{
  color:#663c05;
  background:#ffeac2;
}

.btn.apply-global.failed{
  color:#8a452f;
  background:#fff0ea;
  border-color:#e6b8a8;
  box-shadow:none;
}

.btn.apply-global.failed:hover{
  color:#743724;
  background:#ffe5dc;
}

.btn.apply-global.checking{
  color:#536176;
  background:#f1f4f8;
  border-color:#d7dee8;
}


/* TEM CLIENT AUTO ID AND APPLY V3 */

.btn.apply-global.applied{
  color:#70552f;
  background:#f6efe4;
  border-color:#dfcfb8;
  box-shadow:none;
}

.btn.apply-global.applied:hover{
  color:#604723;
  background:#eee2d0;
}

.btn.apply-global.pending{
  color:#fff;
  background:#f97316;
  border-color:#f97316;
  box-shadow:0 7px 19px #f9731640;
}

.btn.apply-global.pending:hover{
  color:#fff;
  background:#ea580c;
  border-color:#ea580c;
}

.btn.apply-global.failed{
  color:#fff;
  background:#d85a24;
  border-color:#d85a24;
  box-shadow:0 7px 19px #d85a2438;
}

.btn.apply-global.failed:hover{
  color:#fff;
  background:#bd471a;
}

.client-form input[readonly]{
  color:#526176;
  background:#f4f7fa;
  border-color:#dbe3ec;
  cursor:not-allowed;
  font-family:Consolas,monospace;
  font-weight:750;
}

.client-form .field small{
  line-height:1.35;
}

.client-active-card{
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#f8fafc;
}

.client-active-card .check{
  padding-top:0;
  color:#26364d;
  font-weight:700;
}

.client-active-card small{
  display:block;
  margin-top:5px;
  margin-left:25px;
  color:var(--muted);
  font-size:11px;
}


/* TEM APPLY BUTTON TWO STATES V4 */

.btn.apply-global{
  min-width:190px;
  gap:9px;
  padding:7px 13px 7px 8px;
}

.btn.apply-global::before{
  content:"↻";
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:inline-grid;
  place-items:center;
  border-radius:4px;
  color:#fff;
  font-size:15px;
  font-weight:900;
  line-height:1;
  box-shadow:0 2px 5px #17233a20;
}

.btn.apply-global.applied{
  color:#70552f;
  background:#f6efe4;
  border-color:#dfcfb8;
  box-shadow:none;
}

.btn.apply-global.applied::before{
  background:#3aaa5d;
}

.btn.apply-global.applied:hover{
  color:#604723;
  background:#eee2d0;
  border-color:#d3bea1;
}

.btn.apply-global.pending{
  color:#fff;
  background:#b86212;
  border-color:#a9560e;
  box-shadow:0 6px 16px #b8621235;
}

.btn.apply-global.pending::before{
  background:#cf3447;
}

.btn.apply-global.pending:hover{
  color:#fff;
  background:#a9530d;
  border-color:#974807;
  box-shadow:0 7px 18px #b8621245;
}

.btn.apply-global.failed{
  color:#fff;
  background:#b86212;
  border-color:#a9560e;
}

.btn.apply-global.failed::before{
  background:#cf3447;
}

.btn.apply-global.checking{
  color:#536176;
  background:#f1f4f8;
  border-color:#d7dee8;
}

.btn.apply-global.checking::before{
  background:#94a3b8;
}

/* TEM EXTENSION EDITOR — INÍCIO */

.extension-editor-modal{
  width:min(980px,calc(100vw - 32px));
  max-height:94vh;
  overflow:hidden;
}

.extension-editor-modal .modal-head{
  padding:14px 18px;
}

.extension-editor-modal .modal-head h2{
  font-size:18px;
}

.extension-editor-modal .modal-body{
  max-height:calc(94vh - 58px);
  overflow:auto;
  padding:14px 16px 18px;
  background:#f5f7fa;
}

.extension-editor-form{
  display:grid;
  gap:12px;
}

.extension-editor-card,
.extension-accordion{
  margin:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #dfe6ef;
  border-radius:12px;
  box-shadow:0 2px 7px #17233a08;
}

.extension-editor-card{
  padding:14px 16px;
}

.extension-editor-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.extension-editor-heading h2{
  margin:0;
  color:#183352;
  font-size:15px;
  line-height:1.3;
}

.extension-editor-heading p{
  margin:4px 0 0;
  color:#718096;
  font-size:11px;
  line-height:1.45;
}

.extension-field-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:12px;
}

.extension-field-grid>.field{
  min-width:0;
}

.extension-editor-form .field{
  gap:5px;
}

.extension-editor-form .field>span{
  color:#334a67;
  font-size:11px;
}

.extension-editor-form input,
.extension-editor-form select,
.extension-editor-form textarea{
  min-width:0;
  min-height:39px;
  padding:8px 10px;
  border-radius:8px;
  font-size:13px;
}

.extension-editor-form input[readonly],
.extension-editor-form input:disabled{
  color:#68788d;
  background:#edf1f6;
  border-color:#d8e0e9;
  cursor:not-allowed;
}

.extension-secret-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.extension-secret-row .btn{
  min-width:72px;
  padding-inline:12px;
}

.extension-status-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.extension-status-grid .check{
  min-height:42px;
  padding:9px 11px;
  border:1px solid #dce4ed;
  border-radius:9px;
  background:#f9fbfd;
  font-size:12px;
  font-weight:650;
}

.extension-status-grid .check:hover{
  border-color:#b8cce2;
  background:#f2f7fc;
}

.extension-status-grid .check input{
  flex:0 0 auto;
  margin:0;
}

.extension-accordion>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:58px;
  padding:11px 15px;
  cursor:pointer;
  user-select:none;
  background:#fff;
}

.extension-accordion>summary::-webkit-details-marker{
  display:none;
}

.extension-accordion>summary:hover{
  background:#f8fbff;
}

.extension-accordion>summary strong{
  display:block;
  color:#193858;
  font-size:13px;
}

.extension-accordion>summary small{
  display:block;
  margin-top:3px;
  color:#7b899c;
  font-size:10px;
  font-weight:500;
}

.extension-accordion[open]>summary{
  background:#f7faff;
  border-bottom:1px solid #e2e9f1;
}

.extension-accordion-icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid #d5dfeb;
  border-radius:8px;
  color:#176fda;
  background:#fff;
  font-size:19px;
  line-height:1;
}

.extension-accordion-body{
  padding:14px 15px;
}

.extension-editor-form .queue-dual-selector{
  grid-template-columns:
    minmax(0,1fr)
    54px
    minmax(0,1fr)
    42px;
  gap:10px;
}

.extension-editor-form .queue-dual-title{
  margin-bottom:6px;
  font-size:11px;
}

.extension-editor-form .queue-dual-list{
  width:100%;
  min-height:150px;
  max-height:150px;
  padding:6px;
  font-size:12px;
}

.extension-editor-form .queue-dual-list option{
  padding:7px 8px;
}

.extension-editor-form .queue-dual-move,
.extension-editor-form .queue-dual-order{
  gap:7px;
}

.extension-editor-form .queue-dual-move .btn,
.extension-editor-form .queue-dual-order .btn{
  min-width:40px;
  min-height:36px;
  padding:7px;
}

.extension-editor-form .queue-dual-note{
  margin-top:10px;
  padding:9px 11px;
  font-size:11px;
}

.extension-editor-actions{
  position:sticky;
  bottom:-18px;
  z-index:3;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin:0 -16px -18px;
  padding:12px 16px;
  border-top:1px solid #dfe6ef;
  background:#fffffff2;
  box-shadow:0 -8px 20px #17233a0a;
  backdrop-filter:blur(7px);
}

.extension-editor-actions .btn{
  min-width:105px;
}

@media(max-width:720px){

  .extension-editor-modal{
    width:100%;
    max-height:100vh;
    border-radius:0;
  }

  .extension-editor-modal .modal-body{
    max-height:calc(100vh - 57px);
    padding:12px;
  }

  .extension-field-grid,
  .extension-status-grid{
    grid-template-columns:1fr;
  }

  .extension-editor-form .queue-dual-selector{
    grid-template-columns:1fr;
  }

  .extension-editor-form .queue-dual-move,
  .extension-editor-form .queue-dual-order{
    flex-direction:row;
    justify-content:center;
  }

  .extension-secret-row{
    grid-template-columns:minmax(0,1fr) 72px;
  }

  .extension-editor-actions{
    bottom:-12px;
    margin:0 -12px -12px;
    padding:11px 12px;
  }

}

/* TEM EXTENSION EDITOR — FIM */

/* TEM RAMAIS CREDENCIAIS — INÍCIO */

.credential-form{
  display:grid;
  gap:15px;
}

.credential-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.credential-field>span{
  color:#445269;
  font-size:12px;
  font-weight:720;
}

.credential-copy-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  gap:8px;
}

.credential-copy-input{
  width:100%;
  min-width:0;
  background:#f8fafc;
  cursor:text;
}

.credential-copy-input:focus{
  background:#fff;
}

.credential-copy-button{
  min-width:44px;
  padding:8px;
  font-size:20px;
  line-height:1;
}

.credential-extension-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  margin-left:9px;
  padding:4px 10px;
  border:1px solid #bdd8f5;
  border-radius:999px;
  color:#1768c5;
  background:#eaf4ff;
  font-size:13px;
  font-weight:800;
  vertical-align:middle;
}

.voicemail-pin-title{
  display:flex;
  align-items:center;
  gap:7px;
}

.voicemail-info-button{
  width:21px;
  height:21px;
  display:inline-grid;
  place-items:center;
  padding:0;
  border:1px solid #b9cbe0;
  border-radius:50%;
  color:#1768c5;
  background:#f2f7fd;
  font-size:12px;
  font-weight:800;
  line-height:1;
}

.voicemail-info-button:hover{
  color:#fff;
  background:#1768c5;
  border-color:#1768c5;
}

.voicemail-editor-form input[name="voicemail_pin"]{
  font-family:Consolas,monospace;
}

@media(max-width:600px){

  .credential-extension-badge{
    display:flex;
    width:max-content;
    margin:7px 0 0;
  }

}

/* TEM RAMAIS CREDENCIAIS — FIM */

/* TEM TRUNK EDITOR — INÍCIO */

.trunk-editor-modal{
  width:min(920px,calc(100vw - 32px));
}

.trunk-editor-form textarea{
  resize:vertical;
}

.trunk-editor-form .field>small{
  display:block;
  margin-top:2px;
  color:#7b899c;
  font-size:10px;
  line-height:1.4;
}

.trunk-segmented{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-height:39px;
  padding:3px;
  border:1px solid #d7e0ea;
  border-radius:9px;
  background:#eef2f7;
}

.trunk-segment-option{
  min-width:0;
  padding:7px 10px;
  border:0;
  border-radius:7px;
  color:#617086;
  background:transparent;
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:
    background .15s ease,
    color .15s ease,
    box-shadow .15s ease;
}

.trunk-segment-option:hover{
  color:#1768c5;
}

.trunk-segment-option.is-selected{
  color:#1768c5;
  background:#fff;
  box-shadow:
    0 1px 4px #17233a1a,
    inset 0 0 0 1px #c7dbf2;
}

.trunk-list-description{
  display:block;
  max-width:260px;
  margin-top:3px;
  overflow:hidden;
  color:#78869a;
  font-size:10px;
  font-weight:500;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:720px){

  .trunk-editor-modal{
    width:100%;
  }

}

/* TEM TRUNK EDITOR — FIM */

/* TEM OUTBOUND EDITOR — INÍCIO */

.outbound-editor-modal{
  width:min(940px,calc(100vw - 32px));
  max-height:94vh;
  overflow:hidden;
}

.outbound-editor-modal .modal-head{
  padding:14px 18px;
}

.outbound-editor-modal .modal-head h2{
  font-size:18px;
}

.outbound-editor-modal .modal-body{
  max-height:calc(94vh - 58px);
  overflow:auto;
  padding:14px 16px 18px;
  background:#f5f7fa;
}

.outbound-editor-form{
  display:grid;
  gap:12px;
}

.outbound-editor-card,
.outbound-complete-card,
.outbound-accordion{
  margin:0;
  overflow:hidden;
  border:1px solid #dfe6ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 7px #17233a08;
}

.outbound-editor-card{
  padding:14px 16px;
}

.outbound-editor-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.outbound-editor-heading h2{
  margin:0;
  color:#183352;
  font-size:15px;
  line-height:1.3;
}

.outbound-editor-heading p{
  margin:4px 0 0;
  color:#718096;
  font-size:11px;
  line-height:1.45;
}

.outbound-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.outbound-field-grid>.field{
  min-width:0;
}

.outbound-editor-form .field{
  gap:5px;
}

.outbound-editor-form .field>span{
  color:#334a67;
  font-size:11px;
}

.outbound-editor-form .field>small{
  display:block;
  margin-top:2px;
  color:#7b899c;
  font-size:10px;
  line-height:1.4;
}

.outbound-editor-form input,
.outbound-editor-form select,
.outbound-editor-form textarea{
  min-width:0;
  min-height:39px;
  padding:8px 10px;
  border-radius:8px;
  font-size:13px;
}

.outbound-editor-form textarea{
  resize:vertical;
}

.outbound-segmented{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-height:39px;
  padding:3px;
  border:1px solid #d7e0ea;
  border-radius:9px;
  background:#eef2f7;
}

.outbound-segment-option{
  min-width:0;
  padding:7px 10px;
  border:0;
  border-radius:7px;
  color:#617086;
  background:transparent;
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:
    background .15s ease,
    color .15s ease,
    box-shadow .15s ease;
}

.outbound-segment-option:hover{
  color:#1768c5;
}

.outbound-segment-option.is-selected{
  color:#1768c5;
  background:#fff;
  box-shadow:
    0 1px 4px #17233a1a,
    inset 0 0 0 1px #c7dbf2;
}

.outbound-complete-card{
  padding:13px 15px;
  border-color:#d7e2ee;
  transition:
    border-color .15s ease,
    background .15s ease,
    box-shadow .15s ease;
}

.outbound-complete-card.is-active{
  border-color:#8fc1f1;
  background:#f6fbff;
  box-shadow:
    0 0 0 3px #d9edff80,
    0 2px 7px #17233a08;
}

.outbound-complete-choice,
.outbound-ddi-choice{
  display:flex;
  align-items:flex-start;
  gap:11px;
  cursor:pointer;
}

.outbound-complete-choice>input,
.outbound-ddi-choice>input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:#1768c5;
}

.outbound-complete-choice>input:disabled{
  cursor:not-allowed;
}

.outbound-complete-check{
  display:none;
}

.outbound-complete-choice strong,
.outbound-ddi-choice strong{
  display:block;
  color:#183858;
  font-size:13px;
  line-height:1.35;
}

.outbound-complete-choice small,
.outbound-ddi-choice small{
  display:block;
  margin-top:4px;
  color:#718096;
  font-size:10px;
  font-weight:500;
  line-height:1.5;
}

.outbound-system-note{
  margin-top:10px;
  padding:9px 11px;
  border:1px solid #dde6ef;
  border-radius:8px;
  color:#68788d;
  background:#f8fafc;
  font-size:10px;
  line-height:1.45;
}

.outbound-ddi-control{
  display:grid;
  gap:10px;
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid #dfe8f2;
}

.outbound-ddi-control.hidden,
.outbound-accordion.hidden{
  display:none;
}

.outbound-ddi-choice{
  padding:10px 11px;
  border:1px solid #f1c7c7;
  border-radius:9px;
  background:#fffafa;
}

.outbound-ddi-choice strong{
  color:#a22727;
}

.outbound-ddi-warning{
  margin-top:10px;
  padding:9px 11px;
  border:1px solid #efc4c4;
  border-radius:8px;
  color:#982828;
  background:#fff5f5;
  font-size:10px;
  font-weight:650;
  line-height:1.45;
}

.outbound-ddi-control .outbound-ddi-warning{
  margin-top:0;
}

.outbound-accordion>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:58px;
  padding:11px 15px;
  cursor:pointer;
  user-select:none;
  background:#fff;
}

.outbound-accordion>summary::-webkit-details-marker{
  display:none;
}

.outbound-accordion>summary:hover{
  background:#f8fbff;
}

.outbound-accordion>summary strong{
  display:block;
  color:#193858;
  font-size:13px;
}

.outbound-accordion>summary small{
  display:block;
  margin-top:3px;
  color:#7b899c;
  font-size:10px;
  font-weight:500;
}

.outbound-accordion[open]>summary{
  border-bottom:1px solid #e2e9f1;
  background:#f7faff;
}

.outbound-accordion-icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid #d5dfeb;
  border-radius:8px;
  color:#176fda;
  background:#fff;
  font-size:19px;
  line-height:1;
}

.outbound-accordion-body{
  padding:14px 15px;
}

.outbound-pattern-head,
.outbound-pattern-row{
  display:grid;
  grid-template-columns:
    minmax(170px,1fr)
    90px
    minmax(130px,.65fr)
    38px;
  gap:8px;
  align-items:center;
}

.outbound-pattern-head{
  margin-bottom:6px;
  padding:0 2px;
  color:#68788d;
  font-size:10px;
  font-weight:750;
}

.outbound-pattern-row{
  margin-bottom:8px;
}

.outbound-pattern-row input{
  width:100%;
  min-width:0;
}

.outbound-pattern-row .btn{
  min-width:38px;
  min-height:38px;
  padding:6px;
  font-size:18px;
  line-height:1;
}

.outbound-pattern-note{
  margin-top:11px;
  padding:9px 11px;
  border:1px solid #dce6f0;
  border-radius:8px;
  color:#63748a;
  background:#f8fafc;
  font-size:10px;
  line-height:1.5;
}

.outbound-editor-actions{
  position:sticky;
  bottom:-18px;
  z-index:3;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin:0 -16px -18px;
  padding:12px 16px;
  border-top:1px solid #dfe6ef;
  background:#fffffff2;
  box-shadow:0 -8px 20px #17233a0a;
  backdrop-filter:blur(7px);
}

.outbound-editor-actions .btn{
  min-width:105px;
}

.outbound-type-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:62px;
  padding:4px 9px;
  border:1px solid #d4dde8;
  border-radius:999px;
  color:#5e6c80;
  background:#f7f9fc;
  font-size:10px;
  font-weight:800;
}

.outbound-type-badge.complete{
  border-color:#b8d8f7;
  color:#1768c5;
  background:#edf6ff;
}

.outbound-type-badge.ddi{
  border-color:#efc4c4;
  color:#a22727;
  background:#fff5f5;
}

@media(max-width:720px){

  .outbound-editor-modal{
    width:100%;
    max-height:100vh;
    border-radius:0;
  }

  .outbound-editor-modal .modal-body{
    max-height:calc(100vh - 57px);
    padding:12px;
  }

  .outbound-field-grid{
    grid-template-columns:1fr;
  }

  .outbound-pattern-head{
    display:none;
  }

  .outbound-pattern-row{
    grid-template-columns:
      minmax(0,1fr)
      72px
      minmax(0,.8fr)
      38px;
  }

  .outbound-editor-actions{
    bottom:-12px;
    margin:0 -12px -12px;
    padding:11px 12px;
  }

}

@media(max-width:520px){

  .outbound-pattern-row{
    grid-template-columns:
      minmax(0,1fr)
      38px;
  }

  .outbound-pattern-row input:nth-child(2),
  .outbound-pattern-row input:nth-child(3){
    grid-column:1 / -1;
  }

  .outbound-pattern-row .btn{
    grid-column:2;
    grid-row:1;
  }

}

/* TEM OUTBOUND EDITOR — FIM */

/* TEM OUTBOUND CONFIRMATIONS — INÍCIO */

.outbound-ddi-status{
  display:inline-flex;
  align-items:center;
  margin-top:8px;
  padding:4px 8px;
  border:1px solid #e4b7b7;
  border-radius:999px;
  color:#a22727;
  background:#fff;
  font-size:9px;
  font-weight:850;
  letter-spacing:.04em;
}

.outbound-ddi-control.is-enabled
.outbound-ddi-choice{
  border-color:#e39a9a;
  background:#fff1f1;
  box-shadow:0 0 0 3px #ffdede80;
}

.outbound-ddi-control.is-enabled
.outbound-ddi-status{
  border-color:#d97070;
  color:#fff;
  background:#b4232f;
}

.outbound-editor-actions{
  justify-content:space-between;
}

.outbound-editor-actions-left,
.outbound-editor-actions-right{
  display:flex;
  align-items:center;
  gap:8px;
}

.outbound-confirm-modal{
  width:min(520px,calc(100vw - 32px));
}

.outbound-confirm-modal .modal-body{
  padding:16px;
}

.outbound-confirm-form{
  display:grid;
  gap:15px;
}

.outbound-confirm-warning{
  padding:14px;
  border:1px solid #efb5b5;
  border-radius:10px;
  color:#8f2029;
  background:#fff5f5;
}

.outbound-confirm-warning strong{
  display:block;
  margin-bottom:6px;
  font-size:14px;
}

.outbound-confirm-warning p{
  margin:0;
  font-size:12px;
  line-height:1.55;
}

.outbound-confirm-form .field{
  gap:7px;
}

.outbound-confirm-form .field>span{
  color:#344a66;
  font-size:12px;
}

.outbound-confirm-form .field b{
  color:#a51f2d;
}

.outbound-confirm-form input{
  min-height:42px;
  font-weight:750;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.outbound-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

.outbound-confirm-actions .btn{
  min-width:120px;
}

@media(max-width:520px){

  .outbound-editor-actions{
    align-items:stretch;
    flex-direction:column-reverse;
  }

  .outbound-editor-actions-left,
  .outbound-editor-actions-right{
    width:100%;
  }

  .outbound-editor-actions-right{
    justify-content:flex-end;
  }

  .outbound-editor-actions-left .btn{
    width:100%;
  }

  .outbound-confirm-actions{
    flex-direction:column-reverse;
  }

  .outbound-confirm-actions .btn{
    width:100%;
  }

}

/* TEM OUTBOUND CONFIRMATIONS — FIM */

/* TEM INBOUND V2 — INÍCIO */

.inbound-v2-modal{
  width:min(980px,calc(100vw - 28px));
  max-height:95vh;
  overflow:hidden;
}

.inbound-v2-modal .modal-head{
  padding:14px 18px;
}

.inbound-v2-modal .modal-body{
  max-height:calc(95vh - 58px);
  overflow-x:hidden;
  overflow-y:auto;
  padding:14px 16px 20px;
  background:#f5f7fa;
}

.inbound-v2-form{
  display:grid;
  min-width:0;
  gap:12px;
}

.inbound-v2-card,
.inbound-v2-advanced{
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe6ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 7px #17233a08;
}

.inbound-v2-card{
  padding:14px 16px;
}

.inbound-v2-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.inbound-v2-card-head h2{
  margin:0;
  color:#193858;
  font-size:14px;
}

.inbound-v2-card-head p{
  margin:4px 0 0;
  color:#748398;
  font-size:10px;
  line-height:1.45;
}

.inbound-v2-main-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
}

.inbound-v2-span-2{
  grid-column:span 2;
}

.inbound-v2-form .field{
  min-width:0;
  gap:5px;
}

.inbound-v2-form .field>span{
  color:#344b67;
  font-size:10px;
  font-weight:700;
}

.inbound-v2-form .field>small{
  color:#7c8999;
  font-size:9px;
  line-height:1.4;
}

.inbound-v2-form input,
.inbound-v2-form select,
.inbound-v2-form textarea{
  width:100%;
  min-width:0;
  min-height:38px;
  padding:8px 10px;
  border-radius:8px;
  font-size:12px;
}

.inbound-v2-form textarea{
  resize:vertical;
}

.inbound-v2-readonly{
  color:#68778a;
  background:#f2f5f8;
  cursor:not-allowed;
}

.inbound-v2-segmented{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-height:38px;
  padding:3px;
  border:1px solid #d7e0ea;
  border-radius:9px;
  background:#eef2f7;
}

.inbound-v2-segmented button{
  border:0;
  border-radius:7px;
  color:#66758a;
  background:transparent;
  font:inherit;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
}

.inbound-v2-segmented button.is-selected{
  color:#1768c5;
  background:#fff;
  box-shadow:
    0 1px 4px #17233a18,
    inset 0 0 0 1px #c7dbf2;
}

.inbound-v2-fixed-state{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:38px;
  padding:8px 10px;
  border:1px solid #bcdcc7;
  border-radius:8px;
  color:#17713a;
  background:#f1fbf4;
}

.inbound-v2-fixed-state strong{
  font-size:12px;
}

.inbound-v2-fixed-state small{
  color:#528064;
  font-size:9px;
}

.inbound-v2-destination-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}

.inbound-v2-advanced>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:56px;
  padding:11px 15px;
  cursor:pointer;
}

.inbound-v2-advanced>summary::-webkit-details-marker{
  display:none;
}

.inbound-v2-advanced>summary:hover{
  background:#f8fbff;
}

.inbound-v2-advanced>summary strong{
  display:block;
  color:#193858;
  font-size:12px;
}

.inbound-v2-advanced>summary small{
  display:block;
  margin-top:3px;
  color:#7b899c;
  font-size:9px;
}

.inbound-v2-advanced[open]>summary{
  border-bottom:1px solid #e1e8f0;
  background:#f7faff;
}

.inbound-v2-summary-icon{
  flex:0 0 27px;
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border:1px solid #d5dfeb;
  border-radius:8px;
  color:#176fda;
  background:#fff;
  font-size:18px;
}

.inbound-v2-advanced-body{
  padding:14px 16px;
}

.inbound-v2-warning-text{
  padding:7px 9px;
  border:1px solid #efd9a8;
  border-radius:7px;
  color:#795a19!important;
  background:#fffaf0;
}

.inbound-v2-rule-list{
  display:grid;
  gap:9px;
  min-width:0;
}

.inbound-v2-rule-card{
  min-width:0;
  padding:11px;
  border:1px solid #dce4ed;
  border-radius:10px;
  background:#f9fbfd;
}

.inbound-v2-rule-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:9px;
}

.inbound-v2-rule-head>input{
  flex:1 1 auto;
}

.inbound-v2-rule-tools{
  display:flex;
  flex:0 0 auto;
  gap:5px;
}

.inbound-v2-rule-tools .btn,
.inbound-v2-rule-head>.btn{
  min-width:34px;
  min-height:34px;
  padding:5px 8px;
}

.inbound-v2-rule-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.inbound-v2-rule-card
.inbound-v2-destination-grid{
  margin-top:8px;
}

.inbound-v2-rule-more{
  margin-top:9px;
  border-top:1px solid #e0e7ef;
}

.inbound-v2-rule-more>summary{
  padding:9px 1px 2px;
  color:#64758a;
  font-size:9px;
  font-weight:750;
  cursor:pointer;
}

.inbound-v2-rule-more
.inbound-v2-rule-grid{
  margin-top:8px;
}

.inbound-v2-empty{
  padding:18px 12px;
  border:1px dashed #ccd7e4;
  border-radius:9px;
  color:#7d8b9c;
  text-align:center;
  background:#fafcff;
  font-size:10px;
}

.inbound-v2-empty.hidden{
  display:none;
}

.inbound-v2-holiday-section{
  border-color:#e8d6b4;
}

.inbound-v2-priority-note{
  margin-bottom:10px;
  padding:8px 10px;
  border:1px solid #efd7a0;
  border-radius:8px;
  color:#765617;
  background:#fff9eb;
  font-size:9px;
  font-weight:650;
  line-height:1.45;
}

.inbound-v2-holiday-card{
  border-color:#eadabb;
  background:#fffdf8;
}

.inbound-v2-holiday-grid{
  display:grid;
  grid-template-columns:
    minmax(140px,.65fr)
    minmax(170px,1fr)
    minmax(170px,1fr);
  gap:8px;
}

.inbound-v2-actions{
  position:sticky;
  bottom:-20px;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 -16px -20px;
  padding:12px 16px;
  border-top:1px solid #dfe6ef;
  background:#fffffff2;
  box-shadow:0 -8px 20px #17233a0a;
  backdrop-filter:blur(7px);
}

.inbound-v2-actions-right{
  display:flex;
  gap:8px;
}

.inbound-v2-actions .btn{
  min-width:105px;
}

.inbound-v2-rule-summary{
  display:flex;
  flex-direction:column;
  gap:3px;
  font-size:10px;
}

.inbound-v2-rule-summary span:first-child{
  color:#8a6115;
  font-weight:750;
}

.inbound-v2-rule-summary span:last-child{
  color:#617086;
}

@media(max-width:820px){

  .inbound-v2-main-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .inbound-v2-rule-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .inbound-v2-holiday-grid{
    grid-template-columns:1fr 1fr;
  }

  .inbound-v2-holiday-grid .field:last-child{
    grid-column:1 / -1;
  }

}

@media(max-width:600px){

  .inbound-v2-modal{
    width:100%;
    max-height:100vh;
    border-radius:0;
  }

  .inbound-v2-modal .modal-body{
    max-height:calc(100vh - 57px);
    padding:11px;
  }

  .inbound-v2-main-grid,
  .inbound-v2-destination-grid,
  .inbound-v2-rule-grid,
  .inbound-v2-holiday-grid{
    grid-template-columns:1fr;
  }

  .inbound-v2-span-2,
  .inbound-v2-holiday-grid .field:last-child{
    grid-column:auto;
  }

  .inbound-v2-card-head{
    align-items:stretch;
    flex-direction:column;
  }

  .inbound-v2-card-head .btn{
    width:100%;
  }

  .inbound-v2-rule-head{
    align-items:stretch;
    flex-direction:column;
  }

  .inbound-v2-rule-tools{
    justify-content:flex-end;
  }

  .inbound-v2-actions{
    bottom:-11px;
    align-items:stretch;
    flex-direction:column-reverse;
    margin:0 -11px -11px;
    padding:11px;
  }

  .inbound-v2-actions>div,
  .inbound-v2-actions-right{
    width:100%;
  }

  .inbound-v2-actions-right{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .inbound-v2-actions>div:first-child .btn{
    width:100%;
  }

}

/* TEM INBOUND V2 — FIM */

/* ===== FEATURE CODES V3 START ===== */

.fc3-form{
  width:100%;
  min-width:0;
}

.fc3-intro{
  display:flex;
  align-items:center;
  gap:12px;

  margin-bottom:14px;
  padding:12px 14px;

  border:1px solid #dce6f2;
  border-radius:13px;

  background:
    linear-gradient(
      135deg,
      #f8fbff 0%,
      #fffaf3 100%
    );
}

.fc3-intro-icon{
  width:38px;
  height:38px;

  display:flex;
  align-items:center;
  justify-content:center;

  flex:0 0 38px;

  border-radius:10px;

  background:#fff0dc;
  color:#e78319;

  font-size:19px;
  font-weight:900;
}

.fc3-intro-text{
  display:flex;
  flex-direction:column;
  gap:2px;

  min-width:0;
}

.fc3-intro-text strong{
  color:#18304d;
  font-size:13px;
}

.fc3-intro-text span{
  color:#697a90;
  font-size:11px;
  line-height:1.4;
}

.fc3-intro .btn{
  margin-left:auto;
  white-space:nowrap;
}

.fc3-grid{
  display:grid;
  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:12px;
  align-items:start;

  min-width:0;
}

.fc3-column{
  display:grid;
  gap:12px;

  min-width:0;
}

.fc3-card{
  min-width:0;

  overflow:hidden;

  border:1px solid #dce4ee;
  border-radius:13px;

  background:#fff;

  box-shadow:
    0 3px 12px
    rgba(24,48,77,.055);
}

.fc3-card-header{
  display:flex;
  align-items:center;
  gap:9px;

  min-height:58px;
  padding:10px 12px;

  border-bottom:
    1px solid #edf1f5;

  background:
    linear-gradient(
      180deg,
      #fffaf4 0%,
      #fff 100%
    );
}

.fc3-card-icon{
  width:31px;
  height:31px;

  display:flex;
  align-items:center;
  justify-content:center;

  flex:0 0 31px;

  border-radius:9px;

  background:#fff0dc;
  color:#e78319;

  font-size:14px;
  font-weight:900;
}

.fc3-card-header h3{
  margin:0;

  color:#df7c17;

  font-size:13px;
  line-height:1.2;
}

.fc3-card-header p{
  margin:3px 0 0;

  color:#8290a3;

  font-size:10px;
  line-height:1.3;
}

.fc3-card-body{
  padding:10px 12px;
}

.fc3-field{
  min-width:0;

  margin-bottom:9px;
  padding-bottom:9px;

  border-bottom:
    1px solid #edf1f5;

  transition:
    opacity .18s ease;
}

.fc3-field:last-child{
  margin-bottom:0;
  padding-bottom:0;

  border-bottom:0;
}

.fc3-field.is-disabled{
  opacity:.56;
}

.fc3-field-heading{
  display:flex;
  align-items:center;
  gap:5px;

  min-width:0;
  margin-bottom:4px;
}

.fc3-field-heading label{
  overflow:hidden;

  color:#243951;

  font-size:11px;
  font-weight:750;
  line-height:1.25;

  text-overflow:ellipsis;
}

.fc3-help{
  width:16px;
  height:16px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  flex:0 0 16px;

  border-radius:50%;

  background:#edf4fc;
  color:#3979b8;

  cursor:help;

  font-size:10px;
  font-weight:900;
}

.fc3-field-controls{
  display:grid;
  grid-template-columns:
    minmax(66px,1fr)
    79px
    61px;

  gap:5px;
  align-items:center;

  min-width:0;
}

.fc3-code-input,
.fc3-simple-field input,
.fc3-simple-field select{
  width:100%;
  min-width:0;
  height:31px !important;
  min-height:31px !important;

  padding:0 8px !important;

  border:1px solid #cad6e4 !important;
  border-radius:7px !important;

  background:#fff;

  color:#203750;

  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;

  font-size:11px !important;
  font-weight:700;
}

.fc3-code-input:focus,
.fc3-simple-field input:focus,
.fc3-simple-field select:focus{
  border-color:#6aa8e7 !important;

  box-shadow:
    0 0 0 3px
    rgba(44,132,218,.11) !important;
}

.fc3-code-input:disabled{
  background:#eef2f6;
  cursor:not-allowed;
}

.fc3-switch{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;

  height:31px;
  padding:0 6px;

  border:1px solid #d2dce8;
  border-radius:7px;

  background:#f8fafc;

  cursor:pointer;
  user-select:none;
}

.fc3-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.fc3-switch-ui{
  position:relative;

  width:23px;
  height:13px;

  flex:0 0 23px;

  border-radius:20px;

  background:#aeb9c6;

  transition:
    background .16s ease;
}

.fc3-switch-ui::after{
  content:"";

  position:absolute;
  top:2px;
  left:2px;

  width:9px;
  height:9px;

  border-radius:50%;

  background:#fff;

  box-shadow:
    0 1px 3px
    rgba(0,0,0,.25);

  transition:
    transform .16s ease;
}

.fc3-switch input:checked
+ .fc3-switch-ui{
  background:#2787df;
}

.fc3-switch input:checked
+ .fc3-switch-ui::after{
  transform:translateX(10px);
}

.fc3-switch-text{
  color:#5c6c80;

  font-size:9px;
  font-weight:800;
}

.fc3-default-button{
  height:31px;
  min-width:0;
  padding:0 5px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;

  border:1px solid #d5dee8;
  border-radius:7px;

  background:#fff;
  color:#5f7085;

  cursor:pointer;

  font-size:9px;
  font-weight:750;

  transition:
    background .15s ease,
    border-color .15s ease;
}

.fc3-default-button:hover{
  border-color:#abc4dd;
  background:#f4f8fc;
}

.fc3-simple-field{
  margin-top:9px;
}

.fc3-simple-field > label{
  display:block;

  margin-bottom:4px;

  color:#344a63;

  font-size:10.5px;
  font-weight:750;
}

.fc3-simple-controls{
  display:grid;
  grid-template-columns:
    minmax(70px,1fr)
    auto
    61px;

  gap:5px;
  align-items:center;
}

.fc3-simple-select{
  grid-template-columns:
    minmax(80px,1fr)
    61px;
}

.fc3-suffix{
  color:#738297;

  font-size:10px;
  font-weight:700;
}

.fc3-subsection{
  margin-top:11px;
  padding:9px;

  border:1px solid #dfe8f1;
  border-radius:9px;

  background:#f8fafc;
}

.fc3-subsection h4{
  margin:0 0 8px;

  color:#30465f;

  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.fc3-boolean-field{
  display:flex;
  align-items:flex-start;
  gap:7px;

  cursor:pointer;
}

.fc3-boolean-field input{
  position:absolute;
  opacity:0;
}

.fc3-check-ui{
  position:relative;

  width:27px;
  height:16px;

  flex:0 0 27px;
  margin-top:2px;

  border-radius:20px;

  background:#b7c1cc;
}

.fc3-check-ui::after{
  content:"";

  position:absolute;
  top:2px;
  left:2px;

  width:12px;
  height:12px;

  border-radius:50%;

  background:#fff;

  box-shadow:
    0 1px 3px
    rgba(0,0,0,.2);

  transition:
    transform .16s ease;
}

.fc3-boolean-field input:checked
+ .fc3-check-ui{
  background:#2787df;
}

.fc3-boolean-field input:checked
+ .fc3-check-ui::after{
  transform:translateX(11px);
}

.fc3-boolean-field strong,
.fc3-boolean-field small{
  display:block;
}

.fc3-boolean-field strong{
  color:#344a63;
  font-size:10.5px;
}

.fc3-boolean-field small{
  margin-top:2px;

  color:#7c8999;

  font-size:9.5px;
  line-height:1.35;
}

.fc3-parking-hint{
  margin:1px 0 9px;
  padding:7px 8px;

  border-radius:8px;

  background:#edf6ff;
  color:#477093;

  font-size:9.5px;
  line-height:1.4;
}

.fc3-parking-hint strong{
  color:#286da7;
}

.fc3-guide{
  padding:11px 12px;

  border:1px solid #dce7f3;
  border-radius:12px;

  background:#f7fbff;
}

.fc3-guide strong{
  color:#2a5f8b;
  font-size:11px;
}

.fc3-guide ol{
  margin:7px 0 0;
  padding-left:18px;

  color:#687b90;

  font-size:9.5px;
  line-height:1.5;
}

.fc3-follow-card{
  grid-column:1 / -1;
}

.fc3-follow-grid{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:10px;
}

.fc3-follow-section{
  min-width:0;
  padding:10px;

  border:1px solid #e0e8f1;
  border-radius:10px;

  background:#f9fbfd;
}

.fc3-follow-heading{
  display:flex;
  align-items:center;
  gap:7px;

  margin-bottom:9px;
}

.fc3-follow-heading > span{
  width:25px;
  height:25px;

  display:flex;
  align-items:center;
  justify-content:center;

  flex:0 0 25px;

  border-radius:8px;

  background:#e8f3ff;
  color:#287bc4;

  font-size:11px;
  font-weight:900;
}

.fc3-follow-heading strong,
.fc3-follow-heading small{
  display:block;
}

.fc3-follow-heading strong{
  color:#29425c;
  font-size:11px;
}

.fc3-follow-heading small{
  margin-top:2px;

  color:#7e8c9d;

  font-size:9px;
  line-height:1.3;
}

.fc3-save-bar{
  position:sticky;
  bottom:8px;
  z-index:20;

  display:flex;
  align-items:center;
  gap:14px;

  margin-top:13px;
  padding:9px 12px;

  border:1px solid #d7e1ed;
  border-radius:12px;

  background:
    rgba(255,255,255,.97);

  box-shadow:
    0 5px 20px
    rgba(21,47,77,.11);

  backdrop-filter:
    blur(9px);
}

.fc3-save-bar > div{
  display:flex;
  flex-direction:column;
  gap:1px;

  margin-right:auto;
}

.fc3-save-bar strong{
  color:#29425c;
  font-size:10.5px;
}

.fc3-save-bar span{
  color:#7c8999;
  font-size:9.5px;
}

.fc3-save-bar .btn{
  min-height:34px;
  padding:0 17px;

  white-space:nowrap;

  font-size:11px;
}

@media(max-width:1380px){
  .fc3-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .fc3-follow-card{
    grid-column:1 / -1;
  }
}

@media(max-width:940px){
  .fc3-follow-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .fc3-intro{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .fc3-intro .btn{
    width:100%;
    margin-left:0;
  }

  .fc3-grid{
    grid-template-columns:1fr;
  }

  .fc3-follow-card{
    grid-column:auto;
  }

  .fc3-field-controls{
    grid-template-columns:
      minmax(70px,1fr)
      76px
      34px;
  }

  .fc3-default-button span{
    display:none;
  }

  .fc3-save-bar > div{
    display:none;
  }

  .fc3-save-bar .btn{
    width:100%;
  }
}

/* ===== FEATURE CODES V3 END ===== */

/* ===== IVR V2 START ===== */

.modal.ivr2-modal{
  width:min(1060px,calc(100vw - 28px));
  max-width:1060px;
  max-height:calc(100vh - 24px);
}

.ivr2-modal .modal-head{
  min-height:52px;
  padding:10px 15px;
}

.ivr2-modal .modal-body{
  padding:0;
  overflow:auto;
}

.ivr2-form{
  display:grid;
  gap:11px;
  min-width:0;
  padding:12px;
  background:#f5f7fa;
}

.ivr2-card,
.ivr2-advanced{
  min-width:0;
  border:1px solid #dce4ee;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 9px rgba(24,48,77,.045);
}

.ivr2-card{
  padding:11px 12px;
}

.ivr2-card-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  padding-bottom:8px;
  border-bottom:1px solid #edf1f5;
}

.ivr2-card-heading h3,
.ivr2-advanced-section h4{
  margin:0;
  color:#df7b16;
  font-size:13px;
}

.ivr2-card-heading p,
.ivr2-extra-heading p{
  margin:3px 0 0;
  color:#7b899a;
  font-size:10px;
  line-height:1.4;
}

.ivr2-main-grid{
  display:grid;
  grid-template-columns:
    minmax(170px,1fr)
    minmax(125px,.65fr)
    minmax(230px,1.35fr)
    minmax(125px,.65fr);
  gap:9px;
  align-items:start;
}

.ivr2-field,
.ivr2-route-type,
.ivr2-route-target{
  display:block;
  min-width:0;
}

.ivr2-field > span,
.ivr2-route-type > span,
.ivr2-route-target > span,
.ivr2-route-key label > span{
  display:block;
  margin-bottom:4px;
  color:#354960;
  font-size:10.5px;
  font-weight:750;
}

.ivr2-field input,
.ivr2-field select,
.ivr2-field textarea,
.ivr2-route-row select,
.ivr2-route-row input,
.ivr2-extra-route select,
.ivr2-extra-route input{
  width:100%;
  min-width:0;
  min-height:33px;
  height:33px;
  padding:0 8px;
  border:1px solid #cad5e2;
  border-radius:7px;
  background:#fff;
  color:#20364d;
  font-size:11px;
}

.ivr2-field textarea{
  height:auto;
  min-height:54px;
  padding:7px 8px;
  resize:vertical;
}

.ivr2-field input:focus,
.ivr2-field select:focus,
.ivr2-field textarea:focus,
.ivr2-route-row select:focus,
.ivr2-route-row input:focus,
.ivr2-extra-route select:focus{
  border-color:#65a4e2;
  box-shadow:0 0 0 3px rgba(43,132,218,.11);
  outline:0;
}

.ivr2-field input[readonly]{
  background:#f1f4f8;
  color:#68778a;
  cursor:not-allowed;
}

.ivr2-field small{
  display:block;
  margin-top:4px;
  color:#8894a3;
  font-size:9px;
  line-height:1.35;
}

.ivr2-direct{
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid #edf1f5;
}

.ivr2-switch-row{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
  cursor:pointer;
}

.ivr2-switch-row > input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.ivr2-switch-ui{
  position:relative;
  width:30px;
  height:17px;
  flex:0 0 30px;
  margin-top:1px;
  border-radius:20px;
  background:#b8c2ce;
}

.ivr2-switch-ui::after{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.2);
  transition:transform .16s ease;
}

.ivr2-switch-row > input:checked
+ .ivr2-switch-ui{
  background:#2787df;
}

.ivr2-switch-row > input:checked
+ .ivr2-switch-ui::after{
  transform:translateX(13px);
}

.ivr2-switch-copy strong,
.ivr2-switch-copy small{
  display:block;
}

.ivr2-switch-copy strong{
  color:#31465e;
  font-size:10.5px;
}

.ivr2-switch-copy small{
  margin-top:2px;
  color:#7e8b9c;
  font-size:9px;
  line-height:1.35;
}

.ivr2-help-note{
  display:flex;
  gap:8px;
  margin-bottom:7px;
  padding:7px 9px;
  border:1px solid #dce9f6;
  border-radius:8px;
  background:#f5faff;
  color:#63788e;
  font-size:9.5px;
}

.ivr2-help-note strong{
  color:#2f6f9f;
}

.ivr2-route-list{
  display:grid;
  gap:6px;
  min-width:0;
}

.ivr2-route-list
+ .ivr2-route-list{
  margin-top:6px;
  padding-top:6px;
  border-top:1px dashed #dce4ed;
}

.ivr2-route-row{
  display:grid;
  grid-template-columns:
    120px
    minmax(180px,.85fr)
    minmax(240px,1.3fr)
    34px;
  gap:6px;
  align-items:end;
  min-width:0;
  padding:7px;
  border:1px solid #e1e7ef;
  border-radius:9px;
  background:#fbfcfe;
}

.ivr2-route-row.is-fixed{
  background:#f8fbff;
}

.ivr2-route-key small{
  display:block;
  margin-top:3px;
  color:#748397;
  font-size:9px;
}

.ivr2-key-badge{
  width:31px;
  height:31px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#fff0e3;
  color:#d97513;
  font-family:monospace;
  font-size:13px;
  font-weight:900;
}

.ivr2-route-action{
  min-height:33px;
  display:flex;
  align-items:center;
}

.ivr2-route-action .btn,
.ivr2-extra-route > .btn{
  width:31px;
  min-width:31px;
  height:31px;
  min-height:31px;
  padding:0;
  border-radius:7px;
  font-size:16px;
}

.ivr2-static{
  min-height:33px;
  padding:0 9px;
  display:flex;
  align-items:center;
  border:1px solid #dce4ed;
  border-radius:7px;
  background:#f1f4f7;
  color:#748194;
  font-size:9.5px;
}

.ivr2-advanced{
  overflow:hidden;
}

.ivr2-advanced > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  cursor:pointer;
  user-select:none;
  list-style:none;
}

.ivr2-advanced > summary::-webkit-details-marker{
  display:none;
}

.ivr2-advanced > summary strong,
.ivr2-advanced > summary small{
  display:block;
}

.ivr2-advanced > summary strong{
  color:#344a62;
  font-size:11.5px;
}

.ivr2-advanced > summary small{
  margin-top:2px;
  color:#8793a2;
  font-size:9.5px;
}

.ivr2-advanced-icon{
  width:25px;
  height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:#edf4fb;
  color:#3177b4;
  font-size:14px;
  font-weight:800;
}

.ivr2-advanced-body{
  display:grid;
  gap:10px;
  padding:0 12px 12px;
}

.ivr2-advanced-section{
  padding:10px;
  border:1px solid #e0e7ef;
  border-radius:10px;
  background:#fafbfd;
}

.ivr2-advanced-section h4{
  margin:0 0 9px;
}

.ivr2-advanced-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:9px;
  align-items:start;
}

.ivr2-span-2{
  grid-column:1 / -1;
}

.ivr2-extra-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:9px;
}

.ivr2-extra-heading .ivr2-switch-row{
  width:min(330px,100%);
  padding:7px 9px;
  border:1px solid #dce5ef;
  border-radius:9px;
  background:#fff;
}

.ivr2-subheading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:12px 0 7px;
  padding-top:9px;
  border-top:1px solid #e3e9f0;
}

.ivr2-subheading strong,
.ivr2-subheading small{
  display:block;
}

.ivr2-subheading strong{
  color:#344a62;
  font-size:10.5px;
}

.ivr2-subheading small{
  margin-top:2px;
  color:#8491a1;
  font-size:9px;
}

.ivr2-extra-route-list{
  display:grid;
  gap:6px;
}

.ivr2-extra-route{
  display:grid;
  grid-template-columns:
    minmax(165px,.7fr)
    minmax(180px,.85fr)
    minmax(230px,1.3fr)
    34px;
  gap:6px;
  align-items:end;
  min-width:0;
  padding:7px;
  border:1px solid #e1e7ef;
  border-radius:9px;
  background:#fff;
}

#ivr2-extension-audio.is-disabled{
  opacity:.5;
}

.ivr2-actions{
  position:sticky;
  bottom:0;
  z-index:15;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 -12px -12px;
  padding:9px 12px;
  border-top:1px solid #dbe3ec;
  background:rgba(255,255,255,.97);
  box-shadow:0 -4px 14px rgba(24,48,77,.07);
  backdrop-filter:blur(8px);
}

.ivr2-actions-right{
  display:flex;
  gap:7px;
}

.ivr2-actions .btn{
  min-height:34px;
  padding:0 14px;
  font-size:10.5px;
}

@media(max-width:950px){
  .ivr2-main-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .ivr2-route-row,
  .ivr2-extra-route{
    grid-template-columns:
      100px
      minmax(160px,.8fr)
      minmax(200px,1.2fr)
      34px;
  }
}

@media(max-width:720px){
  .modal.ivr2-modal{
    width:calc(100vw - 14px);
    max-height:calc(100vh - 12px);
  }

  .ivr2-form{
    padding:8px;
  }

  .ivr2-main-grid,
  .ivr2-advanced-grid{
    grid-template-columns:1fr;
  }

  .ivr2-span-2{
    grid-column:auto;
  }

  .ivr2-card-heading,
  .ivr2-extra-heading,
  .ivr2-subheading{
    align-items:stretch;
    flex-direction:column;
  }

  .ivr2-route-row,
  .ivr2-extra-route{
    grid-template-columns:1fr;
  }

  .ivr2-route-action,
  .ivr2-route-action .btn,
  .ivr2-extra-route > .btn{
    width:100%;
  }

  .ivr2-help-note{
    flex-direction:column;
  }

  .ivr2-actions{
    margin:0 -8px -8px;
  }

  .ivr2-actions > div:first-child{
    display:none;
  }

  .ivr2-actions-right{
    width:100%;
  }

  .ivr2-actions-right .btn{
    flex:1;
  }
}

/* ===== IVR V2 END ===== */


/* FIREWALL SIP RULE MANAGEMENT */
.fw-rule-list{
  display:grid;
}

.fw-rule-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  border-top:1px solid var(--line);
}

.fw-rule-item:hover{
  background:#fbfdff;
}

.fw-rule-main{
  min-width:0;
}

.fw-rule-title{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:5px;
}

.fw-rule-main small,
.fw-rule-main span{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:3px;
}

.fw-protected{
  padding:14px 18px;
  background:#f7faff;
  border-bottom:1px solid var(--line);
  font-size:12px;
}

.fw-protected>strong{
  display:block;
  color:#40516a;
  margin-bottom:9px;
}

.fw-chip-list{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

@media(max-width:760px){
  .fw-rule-item{
    align-items:flex-start;
    flex-direction:column;
  }

  .fw-rule-item .btn{
    width:100%;
  }
}


/* TEM FEATURE CODE DUPLICATE STYLE V1 */

.fc3-field.is-conflict{
  border-color:#dc2626;
  background:#fff7f7;
  box-shadow:0 0 0 1px rgba(220,38,38,.12);
}

.fc3-field.is-conflict .fc3-code-input{
  border-color:#dc2626;
  background:#fff;
}

.fc3-conflict-message{
  display:grid;
  gap:4px;
  max-width:620px;
  padding:9px 12px;
  border:1px solid #dc2626;
  border-radius:8px;
  background:#fff7f7;
  color:#991b1b;
  font-size:12px;
  line-height:1.4;
}

.fc3-conflict-message[hidden]{
  display:none;
}

.fc3-conflict-message strong{
  font-size:12px;
}

.fc3-conflict-message span{
  display:block;
}


/* FIREWALL SIP EVENTS V1 */

.fw-live-toolbar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 18px;
  min-height:45px;
  padding:10px 19px;
  border-bottom:1px solid var(--line);
  background:#fff;
  color:var(--muted);
  font-size:11px;
}

.fw-live-state{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:800;
}

.fw-live-state:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#8d99aa;
}

.fw-live-state.active{
  color:#147342;
}

.fw-live-state.active:before{
  background:#21a366;
  box-shadow:0 0 0 5px #21a3661c;
}

.fw-live-state.paused{
  color:#6b7788;
}

.fw-event-content{
  min-height:220px;
}

.fw-event-list{
  display:flex;
  flex-direction:column;
}

.fw-event-row{
  display:grid;
  grid-template-columns:175px minmax(0,1fr) 180px;
  gap:18px;
  align-items:center;
  padding:16px 19px;
  border-bottom:1px solid var(--line);
  background:#fff;
}

.fw-event-row:last-child{
  border-bottom:0;
}

.fw-event-row:hover{
  background:#fbfdff;
}

.fw-event-time strong,
.fw-event-time span{
  display:block;
}

.fw-event-time strong{
  color:#344156;
  font-size:12px;
}

.fw-event-time span{
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
}

.fw-event-main{
  min-width:0;
}

.fw-event-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}

.fw-event-title strong{
  color:#263449;
  font-size:13px;
}

.fw-event-details{
  display:flex;
  flex-wrap:wrap;
  gap:7px 18px;
  margin-top:9px;
  color:var(--muted);
  font-size:11px;
}

.fw-event-details b{
  color:#536176;
}

.fw-event-protection{
  display:flex;
  justify-content:flex-end;
  text-align:right;
}

.fw-radar.active span{
  animation:fw-radar-scan 1.2s linear infinite;
}

@keyframes fw-radar-scan{
  from{
    transform:rotate(0deg);
  }

  to{
    transform:rotate(360deg);
  }
}

@media(max-width:1000px){
  .fw-event-row{
    grid-template-columns:150px minmax(0,1fr);
  }

  .fw-event-protection{
    grid-column:2;
    justify-content:flex-start;
    text-align:left;
  }
}

@media(max-width:700px){
  .fw-event-row{
    grid-template-columns:1fr;
    gap:10px;
  }

  .fw-event-protection{
    grid-column:auto;
  }

  .fw-event-details{
    flex-direction:column;
    gap:5px;
  }
}


/* TEM PAGE EDITOR V1 20260803 — INÍCIO */


/* ======================================================
   MENU LATERAL RECOLHÍVEL
   ====================================================== */

.sidebar .nav-group{
  min-width:0;
}

.sidebar .nav-label.tem-nav-group-toggle{
  width:100%;
  min-height:34px;

  display:grid;
  grid-template-columns:minmax(0,1fr) 22px;
  align-items:center;
  gap:8px;

  padding:8px 10px;

  border-radius:8px;

  cursor:pointer;
  user-select:none;

  transition:
    color .15s ease,
    background .15s ease;
}

.sidebar
.nav-label.tem-nav-group-toggle:hover{
  color:#dcecff;
  background:#132741;
}

.sidebar
.nav-label.tem-nav-group-toggle:focus{
  outline:2px solid #55a9ef;
  outline-offset:-2px;
}

.tem-nav-chevron{
  display:grid;
  place-items:center;

  color:#7990ad;
  font-size:16px;

  transition:transform .16s ease;
}

.nav-group.tem-nav-collapsed
.tem-nav-chevron{
  transform:rotate(-90deg);
}

/*
 * No HTML atual, os botões são filhos diretos
 * de .nav-group.
 */
.nav-group.tem-nav-collapsed
> .nav-btn{
  display:none!important;
}


/* ======================================================
   CLIQUE NA LINHA
   ====================================================== */

#content table tbody tr.tem-editable-row{
  cursor:pointer;
}

#content
table
tbody
tr.tem-editable-row:hover
> td{
  background:#f3f8fe!important;
}

#content
table
tbody
tr.tem-editable-row:focus{
  outline:3px solid #d3e9ff;
  outline-offset:-3px;
}

#content
table
tbody
tr.tem-editable-row:focus
> td{
  background:#f3f8fe!important;
}


/* ======================================================
   ÁREA PRINCIPAL DO EDITOR
   ====================================================== */

#content.tem-page-editor-open{
  min-width:0;
  overflow-x:hidden;

  padding:
    clamp(14px,2vw,28px)
    clamp(12px,2.2vw,32px)
    48px!important;

  background:
    radial-gradient(
      circle at 95% 0,
      #e8f3ff 0,
      transparent 330px
    ),
    linear-gradient(
      180deg,
      #f7f9fc 0%,
      #eff4f9 100%
    );
}

#content.tem-page-editor-open
> [hidden]{
  display:none!important;
}

.tem-page-editor-host{
  width:100%;
  max-width:1180px;
  min-width:0;

  display:block;

  margin:0 auto;
  padding:0;

  box-sizing:border-box;
}

.tem-page-editor-host *,
.tem-page-editor-host *::before,
.tem-page-editor-host *::after{
  box-sizing:border-box;
}


/* ======================================================
   CARTÃO DO EDITOR
   ====================================================== */

#content
.tem-page-editor-host
.modal.tem-page-editor{
  position:relative!important;
  inset:auto!important;

  width:100%!important;
  max-width:1180px!important;
  min-width:0!important;

  max-height:none!important;

  display:block!important;

  margin:0 auto!important;

  overflow:visible!important;

  border:1px solid #d6e1ec!important;
  border-radius:17px!important;

  background:#fff!important;

  box-shadow:
    0 24px 58px #18324d17,
    0 4px 14px #18324d0b!important;

  transform:none!important;
}

#content
.tem-page-editor-host
.modal.tem-page-editor.wide,
#content
.tem-page-editor-host
.modal.tem-page-editor-wide{
  max-width:1240px!important;
}


/*
 * Impede classes específicas de Ramais, Troncos,
 * Filas, Usuários ou Rotas de ultrapassarem o editor.
 */

#content
.tem-page-editor-host
.modal.tem-page-editor[class]{
  width:100%!important;
  max-height:none!important;
  overflow:visible!important;
}

#content
.tem-page-editor-host
.user-v2-modal,
#content
.tem-page-editor-host
.queue-v2-modal,
#content
.tem-page-editor-host
.extension-v2-modal,
#content
.tem-page-editor-host
.trunk-v2-modal{
  width:100%!important;
  max-width:1180px!important;
  max-height:none!important;
  overflow:visible!important;
}


/* ======================================================
   CABEÇALHO
   ====================================================== */

.tem-page-editor-host
.tem-page-editor-head{
  position:sticky!important;
  top:70px;
  z-index:40;

  min-height:72px;

  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px;

  padding:17px 20px!important;

  border-bottom:1px solid #dce5ee!important;
  border-radius:17px 17px 0 0!important;

  background:
    linear-gradient(
      135deg,
      #fff 0%,
      #f5f9fd 100%
    )!important;

  box-shadow:
    0 7px 18px #18324d0b!important;
}

.tem-page-editor-title{
  position:relative;

  min-width:0;

  padding-left:12px;
}

.tem-page-editor-title::before{
  content:"";

  position:absolute;
  left:0;
  top:2px;
  bottom:2px;

  width:4px;

  border-radius:4px;

  background:#2381dd;
}

.tem-page-editor-title h2{
  margin:0!important;

  color:#173553!important;

  font-size:20px!important;
  font-weight:790!important;
  letter-spacing:-.015em;
}

.tem-page-editor-title small{
  display:block;

  margin-top:4px;

  color:#68798d;

  font-size:11px;
  line-height:1.4;
}

.tem-page-editor-host
.modal-close{
  flex:0 0 auto;

  width:39px!important;
  height:39px!important;

  display:grid!important;
  place-items:center!important;

  margin:0!important;
  padding:0!important;

  border:1px solid #d4dfeb!important;
  border-radius:10px!important;

  background:#fff!important;
  color:#63778e!important;

  font-size:22px!important;
  line-height:1!important;

  box-shadow:0 3px 8px #18324d0b;

  transition:
    color .15s ease,
    background .15s ease,
    border-color .15s ease,
    transform .15s ease;
}

.tem-page-editor-host
.modal-close:hover{
  color:#b62e3f!important;
  border-color:#edc3ca!important;
  background:#fff3f5!important;
  transform:translateY(-1px);
}


/* ======================================================
   CORPO
   ====================================================== */

.tem-page-editor-host
.tem-page-editor-body{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;

  max-height:none!important;

  padding:
    clamp(13px,1.8vw,22px)!important;

  overflow:visible!important;
  overflow-x:hidden!important;

  border-radius:0 0 17px 17px;

  background:#f3f7fb!important;
}

.tem-page-editor-host
.tem-page-editor-body
> *{
  max-width:100%!important;
  min-width:0!important;
}

.tem-page-editor-host form{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;

  margin:0!important;
}


/* ======================================================
   CAMPOS E SEÇÕES
   ====================================================== */

.tem-page-editor-host
.panel,
.tem-page-editor-host
.form-section,
.tem-page-editor-host
.section-card,
.tem-page-editor-host
.settings-card,
.tem-page-editor-host
details{
  max-width:100%!important;
  min-width:0!important;

  border-color:#dbe5ef!important;
}

.tem-page-editor-host
input:not([type="checkbox"]):not([type="radio"]),
.tem-page-editor-host
select,
.tem-page-editor-host
textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.tem-page-editor-host
textarea{
  resize:vertical;
}

.tem-page-editor-host
.table-wrap,
.tem-page-editor-host
.table-responsive,
.tem-page-editor-host
[class*="table-wrap"]{
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
}

.tem-page-editor-host
table{
  max-width:100%;
}


/* ======================================================
   RODAPÉ COM SALVAR E CANCELAR
   ====================================================== */

.tem-page-editor-host
.form-actions,
.tem-page-editor-host
.user-v2-actions,
.tem-page-editor-host
.queue-v2-actions,
.tem-page-editor-host
.extension-v2-actions,
.tem-page-editor-host
.trunk-v2-actions{
  position:sticky!important;
  bottom:0;
  z-index:35;

  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;

  margin-top:16px!important;

  padding:13px 14px!important;

  border-top:1px solid #dce5ee!important;

  background:#fffffff2!important;

  box-shadow:
    0 -7px 18px #18324d0b!important;

  backdrop-filter:blur(8px);
}

.tem-page-editor-host
.form-actions
.btn,
.tem-page-editor-host
.user-v2-actions
.btn,
.tem-page-editor-host
.queue-v2-actions
.btn{
  min-width:105px;
  min-height:39px;
}


/* ======================================================
   TABLETS
   ====================================================== */

@media(max-width:1100px){

  #content.tem-page-editor-open{
    padding:
      16px
      14px
      36px!important;
  }

  .tem-page-editor-host{
    max-width:100%;
  }

  #content
  .tem-page-editor-host
  .modal.tem-page-editor,
  #content
  .tem-page-editor-host
  .modal.tem-page-editor.wide{
    max-width:100%!important;
  }
}


/* ======================================================
   CELULARES E TELAS MENORES
   ====================================================== */

@media(max-width:760px){

  #content.tem-page-editor-open{
    padding:
      8px
      7px
      24px!important;
  }

  #content
  .tem-page-editor-host
  .modal.tem-page-editor{
    border-radius:12px!important;

    box-shadow:
      0 12px 32px #18324d18!important;
  }

  .tem-page-editor-host
  .tem-page-editor-head{
    top:62px;

    min-height:62px;

    padding:13px 12px!important;

    border-radius:12px 12px 0 0!important;
  }

  .tem-page-editor-title h2{
    font-size:17px!important;
  }

  .tem-page-editor-title small{
    max-width:245px;
    font-size:10px;
  }

  .tem-page-editor-host
  .tem-page-editor-body{
    padding:10px!important;

    border-radius:0 0 12px 12px;
  }

  /*
   * Grades de formulários passam para uma coluna.
   */

  .tem-page-editor-host
  .form,
  .tem-page-editor-host
  .form-grid,
  .tem-page-editor-host
  .field-grid,
  .tem-page-editor-host
  .user-v2-field-grid,
  .tem-page-editor-host
  .user-v2-cdr-restricted,
  .tem-page-editor-host
  .user-v2-cdr-flags,
  .tem-page-editor-host
  .user-v2-permission-grid,
  .tem-page-editor-host
  [class$="-field-grid"]{
    grid-template-columns:
      minmax(0,1fr)!important;
  }

  .tem-page-editor-host
  .span-2{
    grid-column:1!important;
  }

  .tem-page-editor-host
  input:not([type="checkbox"]):not([type="radio"]),
  .tem-page-editor-host
  select,
  .tem-page-editor-host
  textarea{
    font-size:16px!important;
  }

  .tem-page-editor-host
  .form-actions,
  .tem-page-editor-host
  .user-v2-actions,
  .tem-page-editor-host
  .queue-v2-actions,
  .tem-page-editor-host
  .extension-v2-actions,
  .tem-page-editor-host
  .trunk-v2-actions{
    margin-left:-10px!important;
    margin-right:-10px!important;
    margin-bottom:-10px!important;

    padding:10px!important;

    border-radius:0 0 12px 12px;
  }
}


/* ======================================================
   CELULARES PEQUENOS
   ====================================================== */

@media(max-width:480px){

  .tem-page-editor-host
  .form-actions,
  .tem-page-editor-host
  .user-v2-actions,
  .tem-page-editor-host
  .queue-v2-actions,
  .tem-page-editor-host
  .extension-v2-actions,
  .tem-page-editor-host
  .trunk-v2-actions{
    display:grid!important;

    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr);

    gap:7px;
  }

  .tem-page-editor-host
  .form-actions
  .btn,
  .tem-page-editor-host
  .user-v2-actions
  .btn,
  .tem-page-editor-host
  .queue-v2-actions
  .btn{
    width:100%!important;
    min-width:0!important;
  }
}


/* ======================================================
   SIDEBAR EM TELAS MENORES
   ====================================================== */

@media(max-width:1200px){

  .sidebar:not(.open)
  .nav-label.tem-nav-group-toggle{
    display:flex;
    justify-content:center;

    padding:7px;
  }

  .sidebar:not(.open)
  .tem-nav-chevron{
    display:none;
  }
}

/* TEM PAGE EDITOR V1 20260803 — FIM */


/* TEM PAGE EDITOR FIX V2 20260803 — INÍCIO */


/* ======================================================
   REMOVE O ESPAÇO BRANCO ACIMA DO FORMULÁRIO
   ====================================================== */

#content.tem-page-editor-open{
  display:block!important;
  min-width:0!important;
  overflow-x:hidden!important;
}

.tem-page-editor-host{
  min-height:0!important;
  padding-top:0!important;
}

#content
.tem-page-editor-host
.modal.tem-page-editor{
  position:relative!important;

  display:block!important;

  min-height:0!important;

  margin-top:0!important;
  padding:0!important;

  overflow:visible!important;
}


/*
 * O top:70px do cabeçalho sticky criava o espaço
 * branco e escondia a primeira linha do formulário.
 */

.tem-page-editor-host
.tem-page-editor-head{
  position:relative!important;

  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;

  width:100%!important;

  margin:0!important;

  transform:none!important;
}


/*
 * O corpo começa imediatamente após o cabeçalho.
 */

.tem-page-editor-host
.tem-page-editor-body{
  position:relative!important;

  top:auto!important;

  margin:0!important;

  min-height:0!important;
}


/*
 * Impede margens antigas de criar espaços vazios
 * antes do primeiro campo.
 */

.tem-page-editor-host
.tem-page-editor-body
> form:first-child,
.tem-page-editor-host
.tem-page-editor-body
> section:first-child,
.tem-page-editor-host
.tem-page-editor-body
> .panel:first-child{
  margin-top:0!important;
}


/* ======================================================
   MENU RECOLHÍVEL
   ====================================================== */

.sidebar
.nav-label.tem-nav-group-toggle{
  position:relative;

  pointer-events:auto!important;

  cursor:pointer!important;
}

.sidebar
.nav-label.tem-nav-group-toggle
.tem-nav-chevron{
  pointer-events:none;
}

.sidebar
.nav-group.tem-nav-collapsed
> .nav-btn{
  display:none!important;
}


/*
 * Permite recolher inclusive o grupo que contém
 * a página atualmente selecionada.
 */

.sidebar
.nav-group.tem-nav-collapsed
> .nav-btn.active{
  display:none!important;
}


/* ======================================================
   MONITORES MÉDIOS E NOTEBOOKS
   ====================================================== */

@media(max-width:1280px){

  #content.tem-page-editor-open{
    padding:
      16px
      14px
      36px!important;
  }

  .tem-page-editor-host{
    width:100%!important;
    max-width:100%!important;
  }

  #content
  .tem-page-editor-host
  .modal.tem-page-editor,
  #content
  .tem-page-editor-host
  .modal.tem-page-editor.wide,
  #content
  .tem-page-editor-host
  .modal.tem-page-editor-wide{
    width:100%!important;
    max-width:100%!important;
  }
}


/* ======================================================
   TABLETS E JANELAS ESTREITAS
   ====================================================== */

@media(max-width:900px){

  #content.tem-page-editor-open{
    padding:
      10px
      9px
      28px!important;
  }

  .tem-page-editor-host
  .tem-page-editor-head{
    min-height:64px;

    padding:
      14px
      13px!important;
  }

  .tem-page-editor-host
  .tem-page-editor-body{
    padding:
      12px!important;
  }


  /*
   * Formulários passam para uma coluna.
   */

  .tem-page-editor-host
  .form,

  .tem-page-editor-host
  form.form,

  .tem-page-editor-host
  .form-grid,

  .tem-page-editor-host
  .field-grid,

  .tem-page-editor-host
  .client-form,

  .tem-page-editor-host
  .user-v2-field-grid,

  .tem-page-editor-host
  .user-v2-cdr-restricted,

  .tem-page-editor-host
  .user-v2-cdr-flags,

  .tem-page-editor-host
  .user-v2-permission-grid,

  .tem-page-editor-host
  .queue-v2-field-grid,

  .tem-page-editor-host
  .extension-v2-field-grid,

  .tem-page-editor-host
  .trunk-v2-field-grid,

  .tem-page-editor-host
  [class$="-field-grid"]{
    grid-template-columns:
      minmax(0,1fr)!important;
  }

  .tem-page-editor-host
  .span-2{
    grid-column:1!important;
  }


  /*
   * Impede qualquer campo de ultrapassar o cartão.
   */

  .tem-page-editor-host
  input:not([type="checkbox"]):not([type="radio"]),

  .tem-page-editor-host
  select,

  .tem-page-editor-host
  textarea,

  .tem-page-editor-host
  button{
    max-width:100%;
  }


  /*
   * Rodapés podem quebrar linha sem sair da tela.
   */

  .tem-page-editor-host
  .form-actions,

  .tem-page-editor-host
  .user-v2-actions,

  .tem-page-editor-host
  .queue-v2-actions,

  .tem-page-editor-host
  .extension-v2-actions,

  .tem-page-editor-host
  .trunk-v2-actions{
    flex-wrap:wrap!important;
  }
}


/* ======================================================
   CELULARES
   ====================================================== */

@media(max-width:600px){

  #content.tem-page-editor-open{
    padding:
      5px
      4px
      18px!important;
  }

  #content
  .tem-page-editor-host
  .modal.tem-page-editor{
    border-radius:10px!important;
  }

  .tem-page-editor-host
  .tem-page-editor-head{
    min-height:58px;

    gap:9px;

    padding:
      11px
      10px!important;

    border-radius:
      10px
      10px
      0
      0!important;
  }

  .tem-page-editor-title{
    padding-left:9px;
  }

  .tem-page-editor-title h2{
    font-size:16px!important;
  }

  .tem-page-editor-title small{
    max-width:220px;

    font-size:9px;
    line-height:1.35;
  }

  .tem-page-editor-host
  .modal-close{
    width:34px!important;
    height:34px!important;

    border-radius:8px!important;
  }

  .tem-page-editor-host
  .tem-page-editor-body{
    padding:
      8px!important;

    border-radius:
      0
      0
      10px
      10px!important;
  }


  /*
   * 16px evita zoom automático em iPhone.
   */

  .tem-page-editor-host
  input:not([type="checkbox"]):not([type="radio"]),

  .tem-page-editor-host
  select,

  .tem-page-editor-host
  textarea{
    min-width:0!important;

    font-size:16px!important;
  }


  /*
   * Textos longos quebram dentro da tela.
   */

  .tem-page-editor-host
  label,

  .tem-page-editor-host
  small,

  .tem-page-editor-host
  p,

  .tem-page-editor-host
  strong,

  .tem-page-editor-host
  span{
    overflow-wrap:anywhere;
  }


  /*
   * Ações ocupam toda a largura disponível.
   */

  .tem-page-editor-host
  .form-actions,

  .tem-page-editor-host
  .user-v2-actions,

  .tem-page-editor-host
  .queue-v2-actions,

  .tem-page-editor-host
  .extension-v2-actions,

  .tem-page-editor-host
  .trunk-v2-actions{
    display:grid!important;

    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr);

    gap:7px!important;

    margin-left:-8px!important;
    margin-right:-8px!important;
    margin-bottom:-8px!important;

    padding:9px 8px!important;
  }

  .tem-page-editor-host
  .form-actions
  .btn,

  .tem-page-editor-host
  .user-v2-actions
  .btn,

  .tem-page-editor-host
  .queue-v2-actions
  .btn,

  .tem-page-editor-host
  .extension-v2-actions
  .btn,

  .tem-page-editor-host
  .trunk-v2-actions
  .btn{
    width:100%!important;
    min-width:0!important;
  }


  /*
   * Tabelas internas continuam acessíveis.
   */

  .tem-page-editor-host
  .table-wrap,

  .tem-page-editor-host
  .table-responsive,

  .tem-page-editor-host
  [class*="table-wrap"]{
    overflow-x:auto!important;

    -webkit-overflow-scrolling:touch;
  }
}


/* ======================================================
   CELULARES MUITO PEQUENOS
   ====================================================== */

@media(max-width:380px){

  .tem-page-editor-host
  .form-actions,

  .tem-page-editor-host
  .user-v2-actions,

  .tem-page-editor-host
  .queue-v2-actions,

  .tem-page-editor-host
  .extension-v2-actions,

  .tem-page-editor-host
  .trunk-v2-actions{
    grid-template-columns:
      minmax(0,1fr)!important;
  }
}

/* TEM PAGE EDITOR FIX V2 20260803 — FIM */


/* TEM SHELL LIST UX V3 20260803 — INÍCIO */


/* ======================================================
   CABEÇALHO GERAL ACIMA DO EDITOR
   ====================================================== */

.tem-shell-topbar{
  position:sticky!important;
  top:0!important;
  z-index:3000!important;

  isolation:isolate;

  background:#fff!important;

  box-shadow:
    0 1px 0 #dce5ee,
    0 5px 16px #18324d0a;
}


/*
 * O editor permanece abaixo do cabeçalho geral.
 */

#content
.tem-page-editor-host{
  position:relative!important;
  z-index:1!important;

  isolation:auto!important;
}

#content
.tem-page-editor-host
.modal.tem-page-editor{
  position:relative!important;
  z-index:1!important;
}

#content
.tem-page-editor-host
.tem-page-editor-head{
  position:relative!important;
  z-index:2!important;
}


/*
 * Remove z-index herdado de modais antigos que
 * poderiam passar sobre o cabeçalho do PABX.
 */

#content
.tem-page-editor-host
.modal,
#content
.tem-page-editor-host
.modal-head,
#content
.tem-page-editor-host
.modal-body{
  max-width:100%!important;
}


/* ======================================================
   BUSCA DAS LISTAGENS
   ====================================================== */

.tem-ux-search-toolbar{
  width:100%;

  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;

  margin:0 0 13px;
  padding:13px 15px;

  border:1px solid #dbe4ee;
  border-radius:12px;

  background:#fff;

  box-shadow:
    0 4px 15px #18324d08;
}

.tem-ux-search-box{
  width:min(580px,100%);
  min-width:0;

  display:flex;
  flex-direction:column;
  gap:6px;
}

.tem-ux-search-box>span{
  color:#43546a;

  font-size:11px;
  font-weight:750;
}

.tem-ux-search-control{
  width:100%;
  min-width:0;

  display:grid;
  grid-template-columns:
    35px
    minmax(0,1fr)
    35px;

  align-items:center;

  border:1px solid #cbd7e4;
  border-radius:9px;

  background:#fff;

  transition:
    border-color .15s ease,
    box-shadow .15s ease;
}

.tem-ux-search-control:focus-within{
  border-color:#4c9cec;

  box-shadow:
    0 0 0 3px #e0efff;
}

.tem-ux-search-icon{
  display:grid;
  place-items:center;

  color:#6f8299;
  font-size:18px;
}

.tem-ux-search-input{
  width:100%;
  min-width:0;

  padding:9px 2px!important;

  border:0!important;
  border-radius:0!important;

  background:transparent!important;

  box-shadow:none!important;
  outline:none!important;
}

.tem-ux-search-clear{
  width:29px;
  height:29px;

  display:grid;
  place-items:center;

  margin-right:3px;
  padding:0;

  border:0;
  border-radius:7px;

  background:transparent;
  color:#75869b;

  font-size:18px;
}

.tem-ux-search-clear:hover{
  color:#b42d3e;
  background:#fff1f3;
}

.tem-ux-search-result{
  flex:0 0 auto;

  padding-bottom:10px;

  color:#6b7b8f;

  font-size:11px;
  white-space:nowrap;
}

.tem-ux-search-hidden{
  display:none!important;
}


/* ======================================================
   TABLETS
   ====================================================== */

@media(max-width:900px){

  .tem-ux-search-toolbar{
    align-items:stretch;
    flex-direction:column;
    gap:8px;

    padding:12px;
  }

  .tem-ux-search-box{
    width:100%;
  }

  .tem-ux-search-result{
    padding:0;

    text-align:right;
  }
}


/* ======================================================
   CELULARES
   ====================================================== */

@media(max-width:600px){

  .tem-shell-topbar{
    width:100%;
  }

  .tem-ux-search-toolbar{
    margin-bottom:10px;
    padding:9px;

    border-radius:10px;
  }

  .tem-ux-search-input{
    min-height:42px;

    font-size:16px!important;
  }

  .tem-ux-search-result{
    font-size:10px;
    text-align:center;
  }
}

/* TEM SHELL LIST UX V3 20260803 — FIM */


/* TEM LIST ENGINE V4 20260803 — INÍCIO */


/* ======================================================
   BARRA DE BUSCA
   ====================================================== */

.tem-list-v4-toolbar{
  width:100%;

  display:grid;
  grid-template-columns:
    minmax(260px,600px)
    minmax(0,1fr);

  align-items:end;
  gap:15px;

  margin:0 0 12px;
  padding:13px 15px;

  border:1px solid #dbe4ee;
  border-radius:12px;

  background:#fff;

  box-shadow:
    0 4px 15px #18324d08;
}

.tem-list-v4-search{
  min-width:0;

  display:flex;
  flex-direction:column;
  gap:6px;
}

.tem-list-v4-search>span{
  color:#42546a;

  font-size:11px;
  font-weight:750;
}

.tem-list-v4-search-control{
  width:100%;
  min-width:0;

  display:grid;
  grid-template-columns:
    35px
    minmax(0,1fr)
    35px;

  align-items:center;

  border:1px solid #cbd7e4;
  border-radius:9px;

  background:#fff;

  transition:
    border-color .15s ease,
    box-shadow .15s ease;
}

.tem-list-v4-search-control:focus-within{
  border-color:#4a99e8;

  box-shadow:
    0 0 0 3px #e1efff;
}

.tem-list-v4-search-icon{
  display:grid;
  place-items:center;

  color:#718399;
  font-size:18px;
}

.tem-list-v4-search-input{
  width:100%;
  min-width:0;
  min-height:39px;

  padding:8px 2px!important;

  border:0!important;
  border-radius:0!important;

  background:transparent!important;

  box-shadow:none!important;
  outline:none!important;
}

.tem-list-v4-search-clear{
  width:29px;
  height:29px;

  display:grid;
  place-items:center;

  margin-right:3px;
  padding:0;

  border:0;
  border-radius:7px;

  color:#74859a;
  background:transparent;

  font-size:18px;
}

.tem-list-v4-search-clear:hover{
  color:#b62f40;
  background:#fff1f3;
}

.tem-list-v4-search-help{
  align-self:center;

  color:#6f7f92;

  font-size:11px;
  line-height:1.45;
}


/* ======================================================
   NUMERAÇÃO DAS LINHAS
   ====================================================== */

.tem-list-v4-number-head,
.tem-list-v4-number-cell{
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;

  padding-left:9px!important;
  padding-right:9px!important;

  text-align:center!important;
}

.tem-list-v4-number-cell{
  color:#718197;

  font-size:11px;
  font-weight:750;
}


/* ======================================================
   FILTRO E PAGINAÇÃO
   ====================================================== */

.tem-list-v4-search-hidden,
.tem-list-v4-page-hidden{
  display:none!important;
}

.tem-list-v4-footer{
  width:100%;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  margin:10px 0 20px;
  padding:11px 13px;

  border:1px solid #dbe4ee;
  border-radius:11px;

  background:#fff;

  box-shadow:
    0 3px 12px #18324d07;
}

.tem-list-v4-summary{
  display:flex;
  align-items:baseline;
  gap:5px;

  color:#6b7b8f;

  font-size:11px;
}

.tem-list-v4-summary strong{
  color:#314963;
}

.tem-list-v4-pagination{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:4px;
}

.tem-list-v4-page-button{
  min-width:34px;
  height:34px;

  display:grid;
  place-items:center;

  padding:0 8px;

  border:1px solid #d3deea;
  border-radius:7px;

  color:#31506f;
  background:#fff;

  font-size:12px;
  font-weight:720;

  transition:
    border-color .15s ease,
    color .15s ease,
    background .15s ease;
}

.tem-list-v4-page-button:hover:not(:disabled){
  color:#176ac4;
  border-color:#7fb7ed;
  background:#f0f7ff;
}

.tem-list-v4-page-button.active{
  color:#fff;
  border-color:#237ee0;
  background:#237ee0;
}

.tem-list-v4-page-button:disabled{
  cursor:not-allowed;
  opacity:.38;
}

.tem-list-v4-ellipsis{
  min-width:21px;

  color:#7d8b9d;
  text-align:center;
}


/* ======================================================
   TABELAS
   ====================================================== */

.tem-list-v4-table-anchor{
  max-width:100%;
}

.tem-list-v4-table-anchor table{
  max-width:100%;
}


/* ======================================================
   TABLETS
   ====================================================== */

@media(max-width:900px){

  .tem-list-v4-toolbar{
    grid-template-columns:1fr;

    gap:7px;

    padding:11px;
  }

  .tem-list-v4-search-help{
    display:none;
  }

  .tem-list-v4-footer{
    flex-direction:column;
    align-items:stretch;

    padding:10px;
  }

  .tem-list-v4-summary{
    justify-content:center;
  }

  .tem-list-v4-pagination{
    justify-content:center;
  }
}


/* ======================================================
   CELULARES
   ====================================================== */

@media(max-width:600px){

  .tem-list-v4-toolbar{
    margin-bottom:9px;
    padding:8px;

    border-radius:10px;
  }

  .tem-list-v4-search-input{
    min-height:42px;

    font-size:16px!important;
  }

  .tem-list-v4-footer{
    margin-top:8px;

    border-radius:10px;
  }

  .tem-list-v4-page-button{
    min-width:31px;
    height:31px;

    padding:0 6px;
  }

  .tem-list-v4-number-head,
  .tem-list-v4-number-cell{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
}


/* ======================================================
   CELULARES MUITO PEQUENOS
   ====================================================== */

@media(max-width:390px){

  .tem-list-v4-page-button{
    min-width:29px;
    height:29px;

    padding:0 5px;
  }

  .tem-list-v4-ellipsis{
    display:none;
  }
}

/* TEM LIST ENGINE V4 20260803 — FIM */





/* TEM EXTENSIONS LIST V2 CSS 20260803 — INÍCIO */

/*
 * Busca dos ramais.
 */
.tem-ext-search-panel{
  width:100%;
  margin:0 0 12px;
  padding:14px 16px;

  border:
    1px solid var(--line,#d9e2ee);
  border-radius:13px;

  background:#fff;

  box-shadow:
    0 2px 7px
    rgba(30,50,80,.035);
}


.tem-ext-search-label{
  display:block;

  margin:0 0 7px;

  color:
    var(--text,#10213a);

  font-size:12px;
  font-weight:700;
}


.tem-ext-search-row{
  display:flex;
  align-items:center;
  gap:16px;

  width:100%;
}


.tem-ext-search-input-wrap{
  position:relative;

  width:min(100%,590px);
  flex:0 1 590px;
}


.tem-ext-search-icon{
  position:absolute;
  left:13px;
  top:50%;

  transform:
    translateY(-50%);

  color:
    var(--muted,#718096);

  font-size:18px;
  line-height:1;

  pointer-events:none;
}


.tem-ext-search-input{
  width:100%;
  min-height:42px;

  padding:
    9px 13px 9px 39px;

  border:
    1px solid var(--line,#cfd9e7);
  border-radius:9px;

  background:#fff;

  color:
    var(--text,#10213a);

  font:inherit;
  font-size:15px;

  outline:none;

  transition:
    border-color .15s ease,
    box-shadow .15s ease;
}


.tem-ext-search-input:focus{
  border-color:
    var(--primary,#1478ee);

  box-shadow:
    0 0 0 3px
    rgba(20,120,238,.12);
}


.tem-ext-search-help{
  color:
    var(--muted,#718096);

  font-size:12px;
  line-height:1.45;
}


/*
 * Numeração visual.
 *
 * Não adicionamos TD no HTML para não mudar
 * os índices utilizados pelos botões Editar,
 * Credenciais e Voicemail.
 */
.tem-ext-numbered-table
thead tr::before,
.tem-ext-numbered-table
tbody tr::before{
  display:table-cell;

  box-sizing:border-box;

  width:52px;
  min-width:52px;

  padding-left:16px;
  padding-right:10px;

  vertical-align:middle;
  text-align:left;
}


.tem-ext-numbered-table
thead tr::before{
  content:"#";

  height:40px;

  color:
    var(--muted,#667694);

  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;

  background:
    var(--soft,#f7f9fc);

  border-bottom:
    1px solid var(--line,#e1e7ef);
}


.tem-ext-numbered-table
tbody tr::before{
  content:
    attr(data-tem-extension-row-number);

  height:56px;

  color:
    #5d7190;

  font-size:13px;
  font-weight:600;

  background:#fff;

  border-bottom:
    1px solid var(--line,#e6ebf2);
}


.tem-ext-numbered-table
tbody tr:last-child::before{
  border-bottom:0;
}


/*
 * Rodapé e paginação.
 */
.tem-ext-pager-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;

  width:100%;

  margin:12px 0 0;
  padding:10px 14px;

  border:
    1px solid var(--line,#d9e2ee);
  border-radius:11px;

  background:#fff;

  color:
    var(--muted,#5d6f89);

  font-size:12px;

  box-shadow:
    0 2px 7px
    rgba(30,50,80,.025);
}


.tem-ext-pager-actions{
  display:flex;
  align-items:center;
  gap:8px;
}


.tem-ext-page-button{
  min-height:32px;

  padding:5px 11px;

  border:
    1px solid var(--line,#ccd7e5);
  border-radius:8px;

  background:#fff;

  color:
    var(--text,#10213a);

  font:inherit;
  font-size:12px;
  font-weight:600;

  cursor:pointer;
}


.tem-ext-page-button:hover:not(:disabled){
  border-color:
    var(--primary,#1478ee);

  color:
    var(--primary,#1478ee);

  background:#f7fbff;
}


.tem-ext-page-button:disabled{
  opacity:.45;
  cursor:not-allowed;
}


.tem-ext-page-current{
  min-width:92px;

  text-align:center;

  color:
    var(--text,#24364f);

  font-weight:600;
}


@media(max-width:820px){
  .tem-ext-search-row{
    align-items:stretch;
    flex-direction:column;
    gap:8px;
  }

  .tem-ext-search-input-wrap{
    width:100%;
    flex-basis:auto;
  }

  .tem-ext-pager-panel{
    align-items:flex-start;
    flex-direction:column;
  }

  .tem-ext-pager-actions{
    width:100%;
    justify-content:space-between;
  }
}


@media(max-width:520px){
  .tem-ext-numbered-table
  thead tr::before,
  .tem-ext-numbered-table
  tbody tr::before{
    width:42px;
    min-width:42px;
    padding-left:10px;
    padding-right:6px;
  }

  .tem-ext-search-panel{
    padding:12px;
  }
}

/* TEM EXTENSIONS LIST V2 CSS 20260803 — FIM */


/* TEM EXTENSIONS NUMBER COLUMN FIX 20260803 — INÍCIO */

/*
 * Desativa o pseudo-elemento aplicado diretamente no TR,
 * pois alguns navegadores não renderizam corretamente
 * pseudo-elementos como table-cell em linhas de tabela.
 */
.tem-ext-numbered-table
thead tr::before,
.tem-ext-numbered-table
tbody tr::before{
  display:none!important;
  content:none!important;
}


/*
 * Reserva uma área à esquerda da primeira coluna.
 * Visualmente teremos:
 *
 * # | RAMAL
 *
 * Mas o HTML continua com a mesma quantidade de células,
 * preservando Voicemail, Credenciais, Editar e Excluir.
 */
.tem-ext-numbered-table
thead th:first-child,
.tem-ext-numbered-table
tbody td:first-child{
  position:relative!important;

  min-width:130px!important;

  padding-left:72px!important;
}


.tem-ext-numbered-table
thead th:first-child::before,
.tem-ext-numbered-table
tbody td:first-child::before{
  position:absolute;

  left:16px;
  top:50%;

  width:35px;

  transform:
    translateY(-50%);

  text-align:left;
}


.tem-ext-numbered-table
thead th:first-child::before{
  content:"#";

  color:
    var(--muted,#667694);

  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
}


.tem-ext-numbered-table
tbody td:first-child::before{
  content:
    attr(data-tem-extension-number);

  color:#5d7190;

  font-size:13px;
  font-weight:600;
}


/*
 * Linha divisória discreta entre # e RAMAL.
 */
.tem-ext-numbered-table
thead th:first-child::after,
.tem-ext-numbered-table
tbody td:first-child::after{
  content:"";

  position:absolute;

  left:51px;
  top:20%;
  bottom:20%;

  width:1px;

  background:
    var(--line,#e1e7ef);
}


@media(max-width:620px){
  .tem-ext-numbered-table
  thead th:first-child,
  .tem-ext-numbered-table
  tbody td:first-child{
    min-width:112px!important;
    padding-left:60px!important;
  }

  .tem-ext-numbered-table
  thead th:first-child::before,
  .tem-ext-numbered-table
  tbody td:first-child::before{
    left:10px;
    width:30px;
  }

  .tem-ext-numbered-table
  thead th:first-child::after,
  .tem-ext-numbered-table
  tbody td:first-child::after{
    left:43px;
  }
}

/* TEM EXTENSIONS NUMBER COLUMN FIX 20260803 — FIM */


/* TEM EXTENSION INTERNAL ACTIONS CSS V1 20260803 — INÍCIO */

.tem-extension-open-row{
  cursor:pointer;
  outline:none;
}

.tem-extension-open-row:hover td{
  background:#f5f9ff!important;
}

.tem-extension-open-row:focus-visible td{
  background:#f5f9ff!important;
  box-shadow:
    inset 0 0 0 2px
    rgba(22,116,232,.28);
}

.tem-extension-open-row td:first-child small{
  opacity:0;
  transition:opacity .15s ease;
}

.tem-extension-open-row:hover
td:first-child small,
.tem-extension-open-row:focus-visible
td:first-child small{
  opacity:1;
}

.extension-credential-row{
  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    auto;
  gap:8px;
  align-items:center;
}

.extension-credential-row input{
  min-width:0;
}

.extension-secret-row{
  grid-template-columns:
    minmax(0,1fr)
    auto
    auto!important;
}

.extension-danger-zone{
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid #efb8be;
  border-radius:12px;
  background:#fff7f8;
}

.extension-danger-heading strong{
  display:block;
  color:#9e2635;
  font-size:15px;
}

.extension-danger-heading p{
  margin:5px 0 0;
  color:#80525a;
  font-size:12px;
  line-height:1.55;
}

.extension-delete-confirmation{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid #efd0d4;
  border-radius:9px;
  background:#fff;
  color:#623d44;
  font-size:12px;
  line-height:1.5;
  cursor:pointer;
}

.extension-delete-confirmation input{
  width:18px;
  height:18px;
  flex:none;
  margin-top:1px;
}

.extension-danger-zone
#extension-delete-button{
  justify-self:flex-start;
}

@media(max-width:720px){
  .extension-credential-row{
    grid-template-columns:
      minmax(0,1fr)
      auto;
  }

  .extension-secret-row{
    grid-template-columns:
      minmax(0,1fr)
      auto!important;
  }

  .extension-secret-row
  [data-extension-copy-target]{
    grid-column:1/-1;
    width:100%;
  }

  .extension-danger-zone
  #extension-delete-button{
    width:100%;
  }
}

/* TEM EXTENSION INTERNAL ACTIONS CSS V1 20260803 — FIM */


/* TEM EXTENSION LIST RESTORE CSS V1 20260803 — INÍCIO */

.tem-extension-list-table
th:first-child,
.tem-extension-list-table
td:first-child{
  width:58px;
  min-width:58px;
  max-width:58px;
  padding-left:12px!important;
  padding-right:12px!important;
  text-align:center;
}

.tem-extension-list-table
.tem-extension-number-cell{
  color:#667694;
  font-weight:600;
}

.tem-extension-list-table
.tem-extension-open-row
td:nth-child(2) small{
  display:block;
  margin-top:3px;
  color:#8290a5;
  font-size:11px;
}

.tem-ext-search-help{
  flex:1;
  color:#667694;
  font-size:12px;
}

@media(max-width:820px){
  .tem-ext-search-row
  #tem-extension-search-clear{
    width:100%;
  }
}

/* TEM EXTENSION LIST RESTORE CSS V1 20260803 — FIM */


/* TEM RING GROUP DUAL SELECTOR CSS V1 20260803 — INÍCIO */

.ring-group-dual-field{
  gap:6px;
}

.ring-group-dual-field
> small{
  display:block;
  margin-bottom:6px;
  color:#6e7f98;
  line-height:1.45;
}

.ring-group-dual-field
.queue-dual-selector{
  margin-top:4px;
}

.ring-group-dual-field
.queue-dual-list{
  min-height:180px;
}

@media(max-width:760px){
  .ring-group-dual-field
  .queue-dual-selector{
    grid-template-columns:1fr;
  }

  .ring-group-dual-field
  .queue-dual-move,
  .ring-group-dual-field
  .queue-dual-order{
    flex-direction:row;
    justify-content:center;
  }
}

/* TEM RING GROUP DUAL SELECTOR CSS V1 20260803 — FIM */


/* TEM RING GROUP QUEUE LAYOUT V1 20260803 — INÍCIO */

/*
 * Deixa o seletor do Grupo de ramais com o mesmo
 * formato visual utilizado na seção Agentes da fila.
 */

.ring-group-dual-field{
  display:block!important;
  grid-column:1/-1;
  width:100%;
  padding:14px 16px;
  margin:0;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dfe6ef;
  border-radius:12px;
  box-shadow:0 2px 7px #17233a08;
}

.ring-group-dual-field > span{
  display:block;
  margin:0;
  color:#e87500;
  font-size:14px;
  font-weight:700;
  line-height:1.3;
}

.ring-group-dual-field > small{
  display:block;
  margin:3px 0 12px!important;
  padding:0 0 10px;
  color:#6e7f98;
  font-size:11px;
  line-height:1.45;
  border-bottom:1px solid #e4eaf2;
}

.ring-group-dual-field
.queue-dual-selector{
  display:grid!important;
  grid-template-columns:
    minmax(0,1fr)
    48px
    minmax(0,1fr)
    48px!important;
  align-items:end!important;
  gap:10px!important;
  width:100%;
  margin:0!important;
}

.ring-group-dual-field
.queue-dual-column{
  display:flex;
  flex-direction:column;
  min-width:0;
  width:100%;
}

.ring-group-dual-field
.queue-dual-title{
  display:flex;
  align-items:flex-end;
  min-height:20px;
  margin:0 0 6px;
  color:#17233a;
  font-size:12px;
  font-weight:700;
  line-height:1.3;
}

.ring-group-dual-field
.queue-dual-list{
  display:block;
  width:100%!important;
  height:180px!important;
  min-height:180px!important;
  max-height:180px!important;
  padding:8px 10px;
  box-sizing:border-box;
  border:1px solid #cbd7e6;
  border-radius:7px;
  background:#fff;
}

.ring-group-dual-field
.queue-dual-list option{
  padding:5px 4px;
}

.ring-group-dual-field
.queue-dual-move,
.ring-group-dual-field
.queue-dual-order{
  display:flex!important;
  flex-direction:column!important;
  align-items:center;
  justify-content:center!important;
  align-self:end!important;
  gap:8px!important;
  width:48px;
  height:180px;
  min-height:180px;
}

.ring-group-dual-field
.queue-dual-move .btn,
.ring-group-dual-field
.queue-dual-order .btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  min-width:44px;
  height:36px;
  min-height:36px;
  padding:0;
  border-radius:8px;
}

.ring-group-dual-field
.queue-dual-note{
  display:none!important;
}

@media(max-width:760px){

  .ring-group-dual-field{
    padding:12px;
  }

  .ring-group-dual-field
  .queue-dual-selector{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }

  .ring-group-dual-field
  .queue-dual-move,
  .ring-group-dual-field
  .queue-dual-order{
    flex-direction:row!important;
    width:100%;
    height:auto;
    min-height:0;
    justify-content:center!important;
  }

  .ring-group-dual-field
  .queue-dual-move{
    margin:2px 0;
  }

  .ring-group-dual-field
  .queue-dual-order{
    margin-top:2px;
  }
}

/* TEM RING GROUP QUEUE LAYOUT V1 20260803 — FIM */




/* TEM MONITOR CARD REDESIGN V2 20260803 — INÍCIO */

/*
 * Card moderno, sem coluna lateral grande.
 * Verde: online.
 * Vermelho: offline.
 * Laranja: chamada atendida em andamento.
 */

.monitor-extension-grid{
  display:grid!important;
  grid-template-columns:
    repeat(auto-fill,minmax(250px,1fr))!important;
  gap:12px!important;
}

.monitor-extension-card{
  display:block!important;
  position:relative;
  min-width:0;
  min-height:110px!important;
  padding:12px 13px 11px 15px!important;
  overflow:hidden;
  background:#fff!important;
  border:1px solid #dfe6ef!important;
  border-left:4px solid #94a3b8!important;
  border-radius:10px!important;
  box-shadow:
    0 2px 7px #17233a0a!important;
  transform:none!important;
  transition:
    border-color .15s ease,
    box-shadow .15s ease!important;
  text-rendering:auto!important;
  -webkit-font-smoothing:auto!important;
}

.monitor-extension-card:hover{
  transform:none!important;
  box-shadow:
    0 5px 15px #17233a12!important;
}

.monitor-extension-card.online{
  border-color:#d8e8df!important;
  border-left-color:#1eaa68!important;
}

.monitor-extension-card.offline{
  border-color:#efdde0!important;
  border-left-color:#dc4b5a!important;
}

.monitor-extension-card.in-call{
  border-color:#f1d1aa!important;
  border-left-color:#ef8616!important;
  box-shadow:
    0 4px 16px #e875001a!important;
}

.monitor-extension-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  margin-bottom:9px;
}

.monitor-extension-identity{
  display:flex;
  align-items:baseline;
  gap:9px;
  min-width:0;
}

.monitor-extension-number{
  display:block!important;
  flex:0 0 auto;
  padding:0!important;
  margin:0!important;
  color:#152239!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-size:20px!important;
  font-weight:850!important;
  line-height:1!important;
}

.monitor-extension-name{
  min-width:0;
  overflow:hidden;
  color:#26374f;
  font-size:13px;
  font-weight:750;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.monitor-extension-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:22px;
  padding:3px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  line-height:1;
  letter-spacing:.035em;
  white-space:nowrap;
}

.monitor-extension-status.online{
  color:#147342;
  background:#e8f7ef;
}

.monitor-extension-status.offline{
  color:#a62a39;
  background:#fdecef;
}

.monitor-extension-status.in-call{
  color:#b85e00;
  background:#fff0dc;
}

.monitor-extension-card.in-call
.monitor-extension-number{
  color:#e87500!important;
}

.monitor-extension-device{
  display:block!important;
  width:100%;
  margin:0 0 9px!important;
  padding:6px 8px!important;
  overflow:hidden;
  color:#43536a!important;
  background:#f4f7fa!important;
  border-radius:6px!important;
  font-size:11px!important;
  font-weight:650!important;
  line-height:1.25!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.monitor-extension-card.online
.monitor-extension-device{
  color:#176b45!important;
  background:#edf8f2!important;
}

.monitor-extension-card.in-call
.monitor-extension-device{
  color:#9a570e!important;
  background:#fff5e9!important;
}

.monitor-extension-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  color:#708096;
  font-size:10px;
  line-height:1.3;
}

.monitor-extension-address{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.monitor-extension-meta{
  display:block!important;
  flex:0 0 auto;
  margin:0!important;
  color:#7c899b!important;
  font-size:10px!important;
  white-space:nowrap;
}

@media(max-width:760px){

  .monitor-extension-grid{
    grid-template-columns:1fr!important;
  }

  .monitor-extension-card{
    min-height:104px!important;
  }

  .monitor-extension-number{
    font-size:19px!important;
  }

  .monitor-extension-footer{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}

/* TEM MONITOR CARD REDESIGN V2 20260803 — FIM */


/* TEM MONITOR TRUNK CARDS CSS V1 20260803 — INÍCIO */

/*
 * Cards compactos de troncos SIP.
 * Verde: online.
 * Vermelho: offline.
 * Sem textos extras de registrado/sem registro.
 */

.monitor-trunk-grid{
  display:grid;
  grid-template-columns:
    repeat(auto-fill,minmax(150px,180px));
  justify-content:start;
  align-items:start;
  gap:8px;
}

.monitor-trunk-card{
  display:grid;
  grid-template-columns:
    minmax(0,1fr) 16px;
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:52px;
  padding:8px 8px 8px 10px;
  overflow:hidden;
  background:#fff;
  border:1px solid #dfe6ef;
  border-left:4px solid #94a3b8;
  border-radius:8px;
  box-shadow:0 2px 6px #17233a08;
  transition:
    border-color .15s ease,
    box-shadow .15s ease;
}

.monitor-trunk-card:hover{
  box-shadow:0 4px 12px #17233a10;
}

.monitor-trunk-card.online{
  border-color:#d8e8df;
  border-left-color:#1eaa68;
}

.monitor-trunk-card.offline{
  border-color:#efdde0;
  border-left-color:#dc4b5a;
}

.monitor-trunk-content{
  min-width:0;
}

.monitor-trunk-name{
  display:block;
  overflow:hidden;
  color:#23344c;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.monitor-trunk-server{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#718096;
  font-family:Consolas,monospace;
  font-size:9px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.monitor-trunk-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#94a3b8;
  box-shadow:0 0 0 3px #eef2f6;
}

.monitor-trunk-card.online
.monitor-trunk-dot{
  background:var(--good);
  box-shadow:0 0 0 3px #e3f7ed;
}

.monitor-trunk-card.offline
.monitor-trunk-dot{
  background:var(--bad);
  box-shadow:0 0 0 3px #ffe9ec;
}

@media(max-width:760px){

  .monitor-trunk-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }
}

@media(max-width:480px){

  .monitor-trunk-grid{
    grid-template-columns:1fr;
  }
}

/* TEM MONITOR TRUNK CARDS CSS V1 20260803 — FIM */

/* TEM MONITOR QUEUE COMPACT CSS V1 20260803 — INÍCIO */

.monitor-queue-stack{display:grid;gap:14px}
.monitor-queue-card{overflow:hidden;border:1px solid var(--border,#d9e3ee);border-radius:14px;background:var(--panel,#fff);box-shadow:0 7px 22px rgba(24,48,76,.045)}
.monitor-queue-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-bottom:1px solid var(--border,#d9e3ee);background:#fbfcfe}
.monitor-queue-title{min-width:170px}
.monitor-queue-title small{display:block;color:var(--muted,#74859a);font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.monitor-queue-title strong{display:block;margin-top:3px;color:var(--text,#13233d);font-size:15px}
.monitor-queue-title span{display:block;margin-top:2px;color:var(--muted,#718197);font-size:10px}
.monitor-queue-metrics{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.monitor-queue-metrics>div{min-width:61px;padding:5px 7px;border:1px solid #e0e7ef;border-radius:7px;background:#fff;text-align:center}
.monitor-queue-metrics small{display:block;color:#7a8a9e;font-size:7px;line-height:1.1;text-transform:uppercase}
.monitor-queue-metrics strong{display:block;margin-top:2px;color:var(--text,#13233d);font-size:12px}
.monitor-queue-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr)}
.monitor-queue-members,.monitor-queue-waiting{min-width:0;padding:13px}
.monitor-queue-members{border-right:1px solid var(--border,#d9e3ee)}
.monitor-queue-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:22px;margin-bottom:9px}
.monitor-queue-subhead>strong{color:var(--text,#13233d);font-size:11px}
.monitor-queue-subhead>span{color:var(--muted,#718197);font-size:9px}
.monitor-queue-legend{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;color:var(--muted,#66788e);font-size:8px}
.monitor-queue-legend span{display:inline-flex;align-items:center;gap:4px}
.monitor-queue-legend i{width:7px;height:7px;display:inline-block;border-radius:50%}
.monitor-queue-legend i.online{background:#20a765}
.monitor-queue-legend i.offline{background:#d94b5b}
.monitor-queue-legend i.in-call{background:#e58a18}
.monitor-queue-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:7px}
.monitor-queue-member{min-width:0;min-height:62px;padding:7px 8px 8px;border:1px solid #dfe7ef;border-left:4px solid #20a765;border-radius:8px;background:#fff}
.monitor-queue-member.offline{border-left-color:#d94b5b}
.monitor-queue-member.in-call{border-left-color:#e58a18}
.monitor-queue-member>strong{display:block;overflow:hidden;color:#17304d;font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.monitor-queue-member-actions{display:flex;gap:4px;margin-top:8px}
.monitor-queue-action{flex:1;min-width:0;height:23px;padding:0 5px;border:1px solid #d5dee8;border-radius:5px;background:#fff;color:#53677f;font-size:8px;font-weight:750;white-space:nowrap;cursor:pointer}
.monitor-queue-action:hover:not(:disabled){border-color:#aebdcd;background:#f7f9fc;color:#263d58}
.monitor-queue-action:disabled{opacity:.4;cursor:not-allowed}
.monitor-queue-waiting-box{overflow:hidden;border:1px solid #e0e7ef;border-radius:8px;background:#fff}
.monitor-queue-waiting-head,.monitor-queue-waiting-row{display:grid;grid-template-columns:1fr 78px;gap:10px;align-items:center;padding:8px 10px}
.monitor-queue-waiting-head{color:#6d7f95;background:#f7f9fc;font-size:8px;font-weight:850;text-transform:uppercase}
.monitor-queue-waiting-head span:last-child{text-align:right}
.monitor-queue-waiting-row{border-top:1px solid #e7edf3;font-size:10px}
.monitor-queue-waiting-row strong{overflow:hidden;color:var(--text,#13233d);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.monitor-queue-waiting-row span{justify-self:end;padding:3px 6px;border-radius:6px;color:#8a5e13;background:#fff5dc;font-size:8px;font-weight:800}
.monitor-queue-empty{grid-column:1/-1;padding:22px 12px;color:var(--muted,#728399);text-align:center;font-size:10px}
.monitor-queue-technical{border-top:1px solid var(--border,#d9e3ee);background:#fbfcfe}
.monitor-queue-technical summary{padding:9px 14px;color:#536a83;font-size:9px;font-weight:800;cursor:pointer}
.monitor-queue-technical pre{max-width:100%;margin:0;padding:0 14px 12px;overflow:auto;color:#4d6178;font-size:9px;line-height:1.5;white-space:pre-wrap}

@media (max-width:1050px){
  .monitor-queue-card-head{align-items:flex-start;flex-direction:column}
  .monitor-queue-metrics{justify-content:flex-start}
  .monitor-queue-body{grid-template-columns:1fr}
  .monitor-queue-members{border-right:0;border-bottom:1px solid var(--border,#d9e3ee)}
}

@media (max-width:620px){
  .monitor-queue-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .monitor-queue-subhead{align-items:flex-start;flex-direction:column}
  .monitor-queue-legend{justify-content:flex-start}
}

/* TEM MONITOR QUEUE COMPACT CSS V1 20260803 — FIM */

/* TEM TENANT LIMITS UI CSS V1 20260803 - INICIO */

.tenant-limits-card{
  padding:16px;
  border:1px solid #cfe0f0;
  border-radius:12px;
  background:linear-gradient(180deg,#fbfdff,#f4f9fe);
}

.tenant-limits-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:13px;
}

.tenant-limits-head h3{
  margin:0;
  color:#1d3552;
  font-size:14px;
}

.tenant-limits-head p{
  margin:4px 0 0;
  color:var(--muted,#6c7e95);
  font-size:10px;
}

.tenant-limits-badge{
  padding:6px 9px;
  border-radius:999px;
  color:#2564a7;
  background:#e8f3ff;
  font-size:9px;
  font-weight:850;
  white-space:nowrap;
}

.tenant-limits-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.tenant-limit-item{
  min-width:0;
  padding:11px;
  border:1px solid #d9e6f2;
  border-radius:10px;
  background:#fff;
}

.tenant-limit-item > span{
  display:block;
  margin-bottom:8px;
  color:#243b59;
  font-size:10px;
  font-weight:850;
}

.tenant-limit-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
}

.tenant-limit-row input[type="number"]{
  width:100%;
  min-width:0;
  height:37px;
  padding:0 10px;
  border:1px solid #cbd8e5;
  border-radius:8px;
  background:#fff;
  color:#1f3653;
  font-weight:800;
}

.tenant-limit-row input[type="number"]:disabled{
  color:#96a3b2;
  background:#f3f6f9;
}

.tenant-limit-unlimited{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:37px;
  padding:0 8px;
  border:1px solid #d8e2ec;
  border-radius:8px;
  color:#5f7187;
  background:#f8fafc;
  font-size:8px;
  white-space:nowrap;
  cursor:pointer;
}

.tenant-limit-unlimited input{
  accent-color:var(--primary,#1f78ec);
}

.tenant-limit-item small{
  display:block;
  margin-top:7px;
  color:var(--muted,#6c7e95);
  font-size:8px;
  line-height:1.4;
}

@media(max-width:1050px){
  .tenant-limits-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .tenant-limits-head{
    flex-direction:column;
  }

  .tenant-limits-grid{
    grid-template-columns:1fr;
  }
}

/* TEM TENANT LIMITS UI CSS V1 20260803 - FIM */



/* TEM CUSTOM DESTINATION CONTACT PICKER CSS V9 20260804 */

.custom-destination-number-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
}

.custom-destination-number-row input{
  min-width:0;
}

.custom-destination-contact-button{
  min-width:105px;
  min-height:42px;
  border-color:#35a853!important;
  color:#fff!important;
  background:#43b85f!important;
  font-weight:800;
}

.custom-destination-contact-button:hover{
  border-color:#258d41!important;
  background:#329e4c!important;
}

.custom-contact-picker{
  display:grid;
  gap:14px;
  min-width:0;
}

.custom-contact-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  width:min(430px,100%);
}

.custom-contact-search input{
  min-width:0;
  min-height:42px;
  padding:9px 12px;
  border:1px solid var(--border,#d7e0ea);
  border-radius:8px 0 0 8px;
  outline:none;
  background:#fff;
}

.custom-contact-search input:focus{
  border-color:var(--primary,#2563eb);
  box-shadow:0 0 0 3px rgba(37,99,235,.10);
}

.custom-contact-search span{
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border,#d7e0ea);
  border-left:0;
  border-radius:0 8px 8px 0;
  color:#183552;
  background:#f8fafc;
  font-size:22px;
  font-weight:900;
}

.custom-contact-table-wrap{
  max-height:440px;
  overflow:auto;
  border:1px solid var(--border,#dce4ee);
  border-radius:10px;
}

.custom-contact-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

.custom-contact-table th,
.custom-contact-table td{
  padding:9px 10px;
  border-right:1px solid #e1e7ef;
  border-bottom:1px solid #e1e7ef;
  text-align:left;
  vertical-align:middle;
  white-space:nowrap;
}

.custom-contact-table th:last-child,
.custom-contact-table td:last-child{
  border-right:0;
}

.custom-contact-table thead th{
  position:sticky;
  z-index:2;
  top:0;
  color:#173553;
  background:#f7f9fc;
  font-size:11px;
}

.custom-contact-table td{
  color:#263d57;
  font-size:11px;
}

.custom-contact-phone{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  width:100%;
  min-width:135px;
  padding:6px 8px;
  border:1px solid transparent;
  border-radius:6px;
  color:#253c54;
  background:transparent;
  cursor:pointer;
}

.custom-contact-phone:hover{
  border-color:#b7d9c1;
  background:#f0fbf3;
}

.custom-contact-phone b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 23px;
  width:23px;
  height:23px;
  border-radius:5px;
  color:#fff;
  background:#43b85f;
  font-size:13px;
}

.custom-contact-no-phone{
  color:#9aa8b6!important;
  text-align:center!important;
}

.custom-contact-empty{
  padding:28px!important;
  color:#718196!important;
  text-align:center!important;
}

.custom-contact-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:13px;
  border-top:2px solid #f0a01a;
  color:#52657b;
  font-size:11px;
}

.custom-contact-footer strong{
  color:#172f4c;
}

@media(max-width:760px){
  .custom-destination-number-row{
    grid-template-columns:1fr;
  }

  .custom-destination-contact-button{
    width:100%;
  }

  .custom-contact-table-wrap{
    max-width:calc(100vw - 40px);
  }
}



/* TEM CUSTOM DESTINATION CLICKABLE ROW CSS V11 20260804 */

.custom-destination-clickable-row{
  cursor:pointer;
}

.custom-destination-clickable-row td{
  transition:
    background-color .15s ease,
    box-shadow .15s ease;
}

.custom-destination-clickable-row:hover td{
  background-color:
    rgba(37,99,235,.045);
}

.custom-destination-clickable-row:focus{
  outline:none;
}

.custom-destination-clickable-row:focus td{
  background-color:
    rgba(37,99,235,.065);
}

.custom-destination-clickable-row:focus td:first-child{
  box-shadow:
    inset 3px 0 0
    var(--primary,#2563eb);
}

.custom-destination-clickable-row button,
.custom-destination-clickable-row a{
  cursor:pointer;
}



/* TEM CUSTOM DESTINATION GLOBAL ROW CLICK CSS V112 20260804 */

tr:has([data-custom-destination-edit]){
  cursor:pointer;
}

tr:has([data-custom-destination-edit]) td{
  transition:
    background-color .15s ease;
}

tr:has([data-custom-destination-edit]):hover td{
  background-color:
    rgba(37,99,235,.055);
}

tr:has([data-custom-destination-edit])
[data-custom-destination-delete]{
  cursor:pointer;
}


/* TEM CLIENTS V2 STYLES 20260804 */
.tenant-v2-row{
  cursor:pointer;
  transition:background-color .16s ease, transform .16s ease;
}

.tenant-v2-row:hover,
.tenant-v2-row:focus-visible{
  background:rgba(127,127,127,.08);
  outline:none;
}

.tenant-v2-row:active{
  transform:scale(.998);
}

.tenant-v2-form{
  max-width:980px;
}

.tenant-v2-card,
.tenant-v2-identity{
  border:1px solid var(--border,rgba(127,127,127,.25));
  border-radius:16px;
  padding:18px;
  background:var(--surface,#fff);
}

.tenant-v2-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}

.tenant-v2-card-head h3,
.tenant-v2-card-head p,
.tenant-v2-danger h3,
.tenant-v2-danger p{
  margin:0;
}

.tenant-v2-card-head p,
.tenant-v2-danger p{
  margin-top:5px;
  color:var(--muted,#667085);
}

.tenant-v2-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.tenant-v2-identity{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  background:linear-gradient(
    135deg,
    rgba(127,127,127,.08),
    rgba(127,127,127,.02)
  );
}

.tenant-v2-identity>div{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.tenant-v2-identity strong{
  font-size:26px;
  letter-spacing:.08em;
}

.tenant-v2-identity>small{
  max-width:540px;
  color:var(--muted,#667085);
}

.tenant-v2-danger{
  border:1px solid rgba(180,35,24,.35);
  border-radius:14px;
  overflow:hidden;
}

.tenant-v2-danger summary{
  cursor:pointer;
  padding:14px 16px;
  font-weight:700;
}

.tenant-v2-danger>div{
  border-top:1px solid rgba(180,35,24,.2);
  padding:16px;
}

.tenant-v2-danger .btn{
  margin-top:14px;
}

@media(max-width:820px){
  .tenant-v2-grid{
    grid-template-columns:1fr;
  }

  .tenant-v2-identity{
    align-items:flex-start;
    flex-direction:column;
  }

  .tenant-v2-row{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:12px;
    padding:14px;
    border:1px solid var(--border,rgba(127,127,127,.25));
    border-radius:14px;
  }

  .tenant-v2-row td{
    display:grid;
    grid-template-columns:minmax(120px,38%) 1fr;
    gap:10px;
    border:0!important;
    padding:5px 0!important;
  }

  .tenant-v2-row td::before{
    content:attr(data-label);
    font-weight:700;
    color:var(--muted,#667085);
  }
}

@media(max-width:520px){
  .tenant-v2-card,
  .tenant-v2-identity{
    padding:14px;
    border-radius:13px;
  }

  .tenant-v2-card-head{
    flex-direction:column;
  }

  .tenant-v2-row td{
    grid-template-columns:1fr;
  }

  .tenant-v2-identity strong{
    font-size:22px;
  }
}

/* TEM CLIENTS V2 COMPACT ID 20260804 */
.tenant-v2-identity-compact{
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:0 0 14px;
  color:var(--muted,#667085);
  font-size:12px;
  line-height:1.2;
}

.tenant-v2-identity-compact span{
  font-weight:600;
}

.tenant-v2-identity-compact strong{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border:1px solid var(--border,rgba(127,127,127,.25));
  border-radius:999px;
  background:rgba(127,127,127,.07);
  color:var(--text,#1d2939);
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
}

@media(max-width:520px){
  .tenant-v2-identity-compact{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
}


/* TEM DASHBOARD PABX PRIME CSS V1 20260805 */

.dashboard-pabx-shell{
  width:min(1320px,100%);
  margin:0 auto;
  padding:4px 0 24px;
}

.dashboard-pabx-hero{
  position:relative;
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:30px 24px;
  border-radius:18px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(
      circle at 80% 15%,
      rgba(51,135,224,.28),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #0d2748 0%,
      #173b68 100%
    );
  box-shadow:0 10px 28px rgba(31,54,84,.08);
}

.dashboard-pabx-hero::after{
  content:"";
  position:absolute;
  right:-120px;
  bottom:-220px;
  width:310px;
  height:310px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
}

.dashboard-pabx-hero > div{
  position:relative;
  z-index:1;
}

.dashboard-pabx-hero h1{
  margin:0;
  color:#fff;
  font-size:clamp(27px,3vw,38px);
  line-height:1.1;
  letter-spacing:-.03em;
}

.dashboard-pabx-hero p{
  margin:12px 0 0;
  color:#dceaff;
  font-size:clamp(17px,1.8vw,21px);
}

.dashboard-pabx-hero p strong{
  color:#fff;
}

.dashboard-pabx-plan{
  margin-top:18px;
  padding:20px;
  border:1px solid #dce5ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(31,54,84,.08);
}

.dashboard-pabx-plan-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}

.dashboard-pabx-plan-head h2{
  margin:0;
  color:#10233d;
  font-size:20px;
}

.dashboard-pabx-plan-head p{
  margin:5px 0 0;
  color:#6f829b;
  font-size:13px;
}

.dashboard-pabx-plan-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border-radius:999px;
  color:#17663c;
  background:#e8f8ef;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.dashboard-pabx-plan-badge i,
.dashboard-pabx-online i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2dbb6c;
  box-shadow:0 0 0 4px rgba(45,187,108,.12);
}

.dashboard-pabx-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.dashboard-pabx-stat{
  min-width:0;
  min-height:126px;
  padding:18px;
  border:1px solid #dce5ef;
  border-radius:14px;
  background:#fff;
}

.dashboard-pabx-stat-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.dashboard-pabx-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#174b7d;
  background:#eaf3ff;
  font-size:17px;
}

.dashboard-pabx-online{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#217249;
  font-size:12px;
  font-weight:800;
}

.dashboard-pabx-entry-count{
  color:#6d8098;
  font-size:11px;
  font-weight:800;
}

.dashboard-pabx-stat-label{
  margin-top:15px;
  color:#6f829b;
  font-size:13px;
  font-weight:700;
}

.dashboard-pabx-stat-value{
  display:flex;
  align-items:baseline;
  gap:6px;
  margin-top:3px;
  color:#10233d;
  font-size:28px;
  font-weight:900;
  letter-spacing:-.03em;
}

.dashboard-pabx-stat-value small{
  color:#6f829b;
  font-size:14px;
  font-weight:700;
}

.dashboard-pabx-ramal-details{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #edf1f6;
  color:#526982;
  font-size:12px;
}

.dashboard-pabx-ramal-details strong{
  color:#173553;
}

.dashboard-pabx-progress{
  height:7px;
  margin-top:10px;
  overflow:hidden;
  border-radius:999px;
  background:#e8eef6;
}

.dashboard-pabx-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(
    90deg,
    #2586f6,
    #43a7ff
  );
}

.dashboard-pabx-entry-numbers{
  display:grid;
  gap:8px;
  max-height:82px;
  margin-top:11px;
  padding:10px 6px 2px 0;
  overflow-y:auto;
  overscroll-behavior:contain;
  border-top:1px solid #edf1f6;
  scrollbar-width:thin;
  scrollbar-color:#b7c8dc #edf3f9;
}

.dashboard-pabx-entry-numbers::-webkit-scrollbar,
.dashboard-pabx-queue-list::-webkit-scrollbar{
  width:8px;
}

.dashboard-pabx-entry-numbers::-webkit-scrollbar-track,
.dashboard-pabx-queue-list::-webkit-scrollbar-track{
  border-radius:999px;
  background:#edf3f9;
}

.dashboard-pabx-entry-numbers::-webkit-scrollbar-thumb,
.dashboard-pabx-queue-list::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:#b7c8dc;
}

.dashboard-pabx-entry-number{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:36px;
  padding:8px 10px;
  border:1px solid #dfe8f2;
  border-radius:9px;
  color:#173553;
  background:#f8fbff;
  font-size:13px;
  font-weight:800;
}

.dashboard-pabx-entry-number small{
  color:#6d8098;
  font-size:11px;
  font-weight:700;
}

.dashboard-pabx-summary{
  margin-top:14px;
  padding:12px 14px;
  border-radius:11px;
  color:#4d6581;
  background:#f6f9fd;
  font-size:12px;
}

.dashboard-pabx-queue-summary{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #dce5ef;
  border-radius:11px;
  background:#fff;
}

.dashboard-pabx-queue-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:9px;
}

.dashboard-pabx-queue-head strong{
  color:#173553;
  font-size:13px;
}

.dashboard-pabx-queue-head span{
  color:#6d8098;
  font-size:11px;
  font-weight:700;
}

.dashboard-pabx-queue-list{
  display:grid;
  gap:7px;
  max-height:78px;
  padding-right:5px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#b7c8dc #edf3f9;
}

.dashboard-pabx-queue-row{
  display:grid;
  grid-template-columns:
    minmax(185px,.7fr)
    minmax(0,1.3fr);
  align-items:center;
  gap:12px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #e1e8f1;
  border-radius:9px;
  background:#f8fbff;
}

.dashboard-pabx-queue-name{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.dashboard-pabx-queue-code{
  color:#0d5cac;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.dashboard-pabx-queue-title{
  overflow:hidden;
  color:#173553;
  font-size:12px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-pabx-extensions-wrap{
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:5px;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#b7c8dc #edf3f9;
}

.dashboard-pabx-extensions-wrap::-webkit-scrollbar{
  height:7px;
}

.dashboard-pabx-extensions-wrap::-webkit-scrollbar-track{
  border-radius:999px;
  background:#edf3f9;
}

.dashboard-pabx-extensions-wrap::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:#b7c8dc;
}

.dashboard-pabx-extensions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  width:max-content;
  min-width:100%;
}

.dashboard-pabx-extension{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  padding:4px 7px;
  border-radius:7px;
  color:#31506f;
  background:#eaf3ff;
  font-size:11px;
  font-weight:800;
}

.dashboard-pabx-no-members{
  color:#718196;
  font-size:11px;
}

.dashboard-pabx-empty{
  display:flex;
  align-items:center;
  min-height:36px;
  padding:8px 10px;
  border:1px dashed #d6e1ed;
  border-radius:9px;
  color:#718196;
  background:#fafcff;
  font-size:12px;
}

@media(max-width:760px){
  .dashboard-pabx-shell{
    padding-top:0;
  }

  .dashboard-pabx-hero{
    min-height:140px;
    border-radius:15px;
  }

  .dashboard-pabx-plan-head{
    display:block;
  }

  .dashboard-pabx-plan-badge{
    margin-top:10px;
  }

  .dashboard-pabx-stats{
    grid-template-columns:1fr;
  }

  .dashboard-pabx-queue-row{
    grid-template-columns:1fr;
  }

  .dashboard-pabx-extensions-wrap{
    max-width:100%;
  }

  .dashboard-pabx-ramal-details{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
}


/* TEM EXTENSION BULK CREATE STYLE V1 20260805 */
.tem-ext-bulk-button{
  background:#20a65a;
  border-color:#20a65a;
  color:#fff;
}
.tem-ext-bulk-button:hover{
  background:#17894a;
  border-color:#17894a;
  color:#fff;
}
.tem-extension-bulk-modal{
  width:min(760px,calc(100vw - 32px));
}
.tem-extension-bulk-form{
  display:grid;
  gap:18px;
}
.tem-extension-bulk-info{
  display:grid;
  gap:5px;
  padding:14px 16px;
  border:1px solid #cfe3f8;
  border-radius:12px;
  background:#eef6ff;
  color:#365f8d;
  line-height:1.45;
}
.tem-extension-bulk-plan{
  padding:11px 14px;
  border:1px solid #dce6f1;
  border-radius:10px;
  background:#f8fbff;
  color:#58718e;
  font-size:13px;
  font-weight:700;
}
.tem-extension-bulk-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.tem-extension-bulk-summary{
  padding:16px;
  border:1px solid #d9e5f1;
  border-radius:13px;
  background:#fbfdff;
}
.tem-extension-bulk-summary-title{
  margin-bottom:12px;
  color:#263d59;
  font-weight:800;
}
.tem-extension-bulk-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.tem-extension-bulk-metrics>div{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid #dce7f2;
  border-radius:10px;
  background:#fff;
}
.tem-extension-bulk-metrics span{
  color:#7288a3;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.tem-extension-bulk-metrics strong{
  color:#182d48;
  font-size:20px;
}
.tem-extension-bulk-preview{
  max-height:245px;
  overflow:auto;
  border:1px solid #dce6f1;
  border-radius:10px;
  background:#fff;
}
.tem-extension-bulk-preview-head,
.tem-extension-bulk-preview-row{
  display:grid;
  grid-template-columns:110px 1fr 1fr;
  gap:12px;
  align-items:center;
  padding:10px 12px;
}
.tem-extension-bulk-preview-head{
  position:sticky;
  top:0;
  z-index:1;
  background:#f4f8fd;
  color:#627a98;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.tem-extension-bulk-preview-row{
  border-top:1px solid #edf2f7;
  color:#4f6784;
  font-size:13px;
}
.tem-extension-bulk-placeholder,
.tem-extension-bulk-more{
  padding:14px;
  color:#6d829c;
  font-size:13px;
}
.tem-extension-bulk-more{
  border-top:1px solid #edf2f7;
  font-weight:700;
}
.tem-extension-bulk-error{
  min-height:0;
  color:#b42335;
  font-size:13px;
  font-weight:700;
}
.tem-extension-bulk-error:not(:empty){
  padding:11px 13px;
  border:1px solid #f0ccd2;
  border-radius:10px;
  background:#fff1f3;
}
@media(max-width:700px){
  .tem-extension-bulk-grid,
  .tem-extension-bulk-metrics{
    grid-template-columns:1fr;
  }
  .tem-extension-bulk-preview-head,
  .tem-extension-bulk-preview-row{
    grid-template-columns:80px 1fr 1fr;
  }
}


/* TEM UNIFIED CUSTOM DESTINATIONS STYLE V1 20260805 */
.tem-custom-destination-tabs{
  display:flex;
  width:max-content;
  max-width:100%;
  gap:7px;
  margin:18px 0 14px;
  padding:6px;
  border:1px solid #d8e4f0;
  border-radius:12px;
  background:#eaf1f9;
}

.tem-custom-destination-tab{
  min-height:42px;
  padding:10px 18px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#58718f;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

.tem-custom-destination-tab:hover{
  background:rgba(255,255,255,.58);
  color:#174f91;
}

.tem-custom-destination-tab.active{
  background:#fff;
  color:#0e62c7;
  box-shadow:0 2px 8px rgba(14,50,88,.09);
}

.tem-custom-destination-panel[hidden]{
  display:none!important;
}

@media(max-width:700px){
  .tem-custom-destination-tabs{
    width:100%;
  }

  .tem-custom-destination-tab{
    flex:1;
    padding-left:10px;
    padding-right:10px;
  }
}



/* TEM RING GROUP MOH FIELD V1 20260805 */
.ring-group-dual-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr);
  gap: 24px;
  align-items: end;
  margin-bottom: 14px;
}

.ring-group-dual-copy > span {
  display: block;
  font-weight: 700;
  margin-bottom: 4px;
}

.ring-group-dual-copy > small {
  display: block;
}

.ring-group-moh-field {
  margin: 0;
  min-width: 0;
}

.ring-group-moh-field select {
  width: 100%;
}

@media (max-width: 900px) {
  .ring-group-dual-header {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* TEM MONITOR RAMAL TOCANDO AZUL CSS V1 20260807 */
@keyframes tem-monitor-extension-ringing{
  0%,100%{
    border-color:#60a5fa;
    box-shadow:
      0 0 0 0 rgba(37,99,235,.10),
      0 4px 14px rgba(37,99,235,.08);
    background:#f8fbff;
  }

  50%{
    border-color:#2563eb;
    box-shadow:
      0 0 0 5px rgba(37,99,235,.18),
      0 10px 30px rgba(37,99,235,.20);
    background:#eaf3ff;
  }
}

.monitor-extension-card.ringing{
  position:relative;
  z-index:1;
  border-color:#3b82f6!important;
  animation:
    tem-monitor-extension-ringing
    .9s ease-in-out infinite;
}

.monitor-extension-card.ringing
.monitor-extension-number{
  background:#dbeafe!important;
  color:#1d4ed8!important;
  border-color:#93c5fd!important;
}

.monitor-extension-card.ringing
.monitor-extension-device{
  background:#eaf3ff!important;
  color:#1d4ed8!important;
}

.monitor-extension-status.ringing{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border:1px solid #93c5fd;
  border-radius:999px;
  padding:4px 8px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
}

@media (prefers-reduced-motion:reduce){
  .monitor-extension-card.ringing{
    animation:none;
    box-shadow:
      0 0 0 4px rgba(37,99,235,.14);
    background:#eef6ff;
  }
}

/* TEM MONITOR ORIGEM E DESTINO AZUL CSS V3 20260807 */
.monitor-extension-card.calling{
  position:relative;
  z-index:1;
  border-color:#3b82f6!important;
  animation:
    tem-monitor-extension-ringing
    .9s ease-in-out infinite;
}

.monitor-extension-card.calling
.monitor-extension-number{
  background:#dbeafe!important;
  color:#1d4ed8!important;
  border-color:#93c5fd!important;
}

.monitor-extension-card.calling
.monitor-extension-device{
  background:#eaf3ff!important;
  color:#1d4ed8!important;
}

.monitor-extension-status.calling{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border:1px solid #93c5fd;
  border-radius:999px;
  padding:4px 8px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
}

@media (prefers-reduced-motion:reduce){
  .monitor-extension-card.calling{
    animation:none;
    box-shadow:
      0 0 0 4px rgba(37,99,235,.14);
    background:#eef6ff;
  }
}

/* TEM INBOUND SCHEDULE COMPACT CSS V4 20260807 */

.modal.inbound-v2-modal,
.inbound-v2-modal{
  width:min(1500px,calc(100vw - 20px))!important;
  max-width:1500px!important;
}

.inbound-v2-schedule-compact{
  width:100%;
  min-width:0;
  overflow:visible;
}

.inbound-v2-schedule-table-head,
.inbound-v2-schedule-row{
  display:grid;
  width:100%;
  min-width:0;
  grid-template-columns:
    minmax(72px,1.05fr)
    minmax(32px,.42fr)
    minmax(32px,.42fr)
    minmax(32px,.42fr)
    minmax(32px,.42fr)
    minmax(54px,.66fr)
    minmax(54px,.66fr)
    minmax(40px,.48fr)
    minmax(40px,.48fr)
    minmax(62px,.72fr)
    minmax(44px,.52fr)
    minmax(72px,.85fr)
    minmax(132px,1.55fr)
    28px
    28px
    28px
    28px;
  column-gap:4px;
  align-items:end;
}

.inbound-v2-schedule-table-head{
  margin:0 0 5px;
  padding:0 2px;
}

.inbound-v2-schedule-th{
  min-width:0;
  color:#344b67;
  font-size:9px;
  font-weight:800;
  line-height:1.15;
  white-space:nowrap;
}

.inbound-v2-schedule-th strong{
  display:block;
  text-align:center;
  font:inherit;
}

.inbound-v2-schedule-th>div{
  display:grid;
  gap:4px;
  margin-top:3px;
  color:#75859a;
  font-size:8px;
  font-weight:700;
  text-align:center;
}

.inbound-v2-schedule-th-time{
  grid-column:2 / span 4;
}

.inbound-v2-schedule-th-time>div{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.inbound-v2-schedule-th-week{
  grid-column:6 / span 2;
}

.inbound-v2-schedule-th-week>div{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.inbound-v2-schedule-th-day{
  grid-column:8 / span 2;
}

.inbound-v2-schedule-th-day>div{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.inbound-v2-schedule-th-actions{
  grid-column:14 / span 4;
  text-align:center;
}

.inbound-v2-schedule-list-compact{
  display:grid!important;
  gap:0!important;
  min-width:0!important;
}

.inbound-v2-rule-card.inbound-v2-schedule-row{
  margin:0!important;
  padding:6px 2px!important;
  overflow:visible!important;
  border:0!important;
  border-top:1px solid #edf1f6!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

.inbound-v2-rule-card.inbound-v2-schedule-row:first-child{
  border-top:1px solid #e2e9f2!important;
}

.inbound-v2-schedule-row .inbound-v2-schedule-control{
  width:100%;
  min-width:0;
  height:31px;
  padding:0 5px;
  border-radius:6px;
  font-size:9px;
}

.inbound-v2-schedule-row [data-rule-description]{
  padding-left:7px;
  padding-right:7px;
}

.inbound-v2-schedule-row [data-rule-start-weekday],
.inbound-v2-schedule-row [data-rule-end-weekday]{
  padding-left:4px;
  padding-right:3px;
}

.inbound-v2-schedule-row .inbound-v2-schedule-destination{
  font-size:8.5px;
}

.inbound-v2-schedule-row .inbound-v2-schedule-tool{
  width:28px;
  min-width:28px;
  height:31px;
  min-height:31px;
  padding:0!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  font-size:11px;
}

.inbound-v2-schedule-row .inbound-v2-schedule-tool[data-move-up],
.inbound-v2-schedule-row .inbound-v2-schedule-tool[data-move-down]{
  color:#246ac7;
  background:#f3f7fd;
}

@media(max-width:900px){
  .modal.inbound-v2-modal,
  .inbound-v2-modal{
    width:100%!important;
    max-width:100%!important;
  }

  .inbound-v2-schedule-table-head{
    display:none;
  }

  .inbound-v2-rule-card.inbound-v2-schedule-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding:10px 0!important;
  }

  .inbound-v2-schedule-row [data-rule-description],
  .inbound-v2-schedule-row [data-rule-destination-id]{
    grid-column:1 / -1;
  }

  .inbound-v2-schedule-row .inbound-v2-schedule-tool{
    width:100%;
    min-width:0;
  }
}

/* TEM INBOUND SCHEDULE WIDE V5 20260807 */

/*
 * Usa a largura disponível do editor sem alterar menu, backend ou Asterisk.
 * Em telas grandes, aproveita os espaços laterais que antes sobravam.
 */
.modal.inbound-v2-modal,
.inbound-v2-modal{
  width:min(1900px,calc(100% - 20px))!important;
  max-width:1900px!important;
}

/*
 * Com a largura extra, redistribui os campos e aumenta a legibilidade.
 */
.inbound-v2-schedule-table-head,
.inbound-v2-schedule-row{
  grid-template-columns:
    minmax(92px,1.10fr)
    minmax(38px,.44fr)
    minmax(38px,.44fr)
    minmax(38px,.44fr)
    minmax(38px,.44fr)
    minmax(64px,.70fr)
    minmax(64px,.70fr)
    minmax(47px,.50fr)
    minmax(47px,.50fr)
    minmax(78px,.76fr)
    minmax(58px,.55fr)
    minmax(92px,.90fr)
    minmax(175px,1.65fr)
    30px
    30px
    30px
    30px;
  column-gap:6px;
}

.inbound-v2-schedule-th{
  font-size:10px;
}

.inbound-v2-schedule-th>div{
  gap:6px;
  font-size:8.5px;
}

.inbound-v2-rule-card.inbound-v2-schedule-row{
  padding:7px 2px!important;
}

.inbound-v2-schedule-row .inbound-v2-schedule-control{
  height:33px;
  padding-left:7px;
  padding-right:7px;
  font-size:10px;
}

.inbound-v2-schedule-row [data-rule-description]{
  padding-left:8px;
  padding-right:8px;
}

.inbound-v2-schedule-row [data-rule-start-weekday],
.inbound-v2-schedule-row [data-rule-end-weekday]{
  padding-left:6px;
  padding-right:5px;
}

.inbound-v2-schedule-row .inbound-v2-schedule-destination{
  font-size:9.5px;
}

.inbound-v2-schedule-row .inbound-v2-schedule-tool{
  width:30px;
  min-width:30px;
  height:33px;
  min-height:33px;
  font-size:12px;
}

@media(max-width:900px){
  .modal.inbound-v2-modal,
  .inbound-v2-modal{
    width:100%!important;
    max-width:100%!important;
  }
}

/* TEM INBOUND ROUTE PAGE EDITOR FULL WIDTH V6 20260807 */

/*
 * Correção específica da Rota de Entrada.
 *
 * O Page Editor global limita editores wide a 1240px com um seletor
 * mais específico e !important. Por isso as regras V4/V5 da
 * .inbound-v2-modal não conseguiam aumentar a largura real.
 *
 * Esta regra tem especificidade suficiente e atinge somente
 * o editor que também possui a classe inbound-v2-modal.
 */
#content
.tem-page-editor-host
.modal.tem-page-editor.inbound-v2-modal{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}

/*
 * Usa a largura conquistada para melhorar leitura e espaçamento
 * sem criar rolagem horizontal.
 */
#content
.tem-page-editor-host
.inbound-v2-modal
.inbound-v2-schedule-table-head,
#content
.tem-page-editor-host
.inbound-v2-modal
.inbound-v2-schedule-row{
  grid-template-columns:
    minmax(100px,1.10fr)
    minmax(40px,.44fr)
    minmax(40px,.44fr)
    minmax(40px,.44fr)
    minmax(40px,.44fr)
    minmax(68px,.70fr)
    minmax(68px,.70fr)
    minmax(50px,.50fr)
    minmax(50px,.50fr)
    minmax(82px,.76fr)
    minmax(60px,.55fr)
    minmax(98px,.90fr)
    minmax(185px,1.65fr)
    31px
    31px
    31px
    31px;
  column-gap:7px;
}

#content
.tem-page-editor-host
.inbound-v2-modal
.inbound-v2-schedule-th{
  font-size:10.5px;
}

#content
.tem-page-editor-host
.inbound-v2-modal
.inbound-v2-schedule-th>div{
  gap:7px;
  font-size:9px;
}

#content
.tem-page-editor-host
.inbound-v2-modal
.inbound-v2-schedule-row
.inbound-v2-schedule-control{
  height:34px;
  padding-left:8px;
  padding-right:8px;
  font-size:11px;
}

#content
.tem-page-editor-host
.inbound-v2-modal
.inbound-v2-schedule-row
[data-rule-start-weekday],
#content
.tem-page-editor-host
.inbound-v2-modal
.inbound-v2-schedule-row
[data-rule-end-weekday]{
  padding-left:7px;
  padding-right:6px;
}

#content
.tem-page-editor-host
.inbound-v2-modal
.inbound-v2-schedule-row
.inbound-v2-schedule-destination{
  font-size:10.5px;
}

#content
.tem-page-editor-host
.inbound-v2-modal
.inbound-v2-schedule-row
.inbound-v2-schedule-tool{
  width:31px;
  min-width:31px;
  height:34px;
  min-height:34px;
  font-size:12px;
}

/*
 * Em resoluções intermediárias, mantém os campos um pouco menores.
 * A regra móvel da V4 continua assumindo abaixo de 900px.
 */
@media(max-width:1350px) and (min-width:901px){
  #content
  .tem-page-editor-host
  .inbound-v2-modal
  .inbound-v2-schedule-table-head,
  #content
  .tem-page-editor-host
  .inbound-v2-modal
  .inbound-v2-schedule-row{
    grid-template-columns:
      minmax(82px,1.05fr)
      minmax(34px,.42fr)
      minmax(34px,.42fr)
      minmax(34px,.42fr)
      minmax(34px,.42fr)
      minmax(58px,.66fr)
      minmax(58px,.66fr)
      minmax(42px,.48fr)
      minmax(42px,.48fr)
      minmax(68px,.72fr)
      minmax(48px,.52fr)
      minmax(80px,.85fr)
      minmax(145px,1.55fr)
      28px
      28px
      28px
      28px;
    column-gap:5px;
  }

  #content
  .tem-page-editor-host
  .inbound-v2-modal
  .inbound-v2-schedule-row
  .inbound-v2-schedule-control{
    height:32px;
    padding-left:6px;
    padding-right:6px;
    font-size:10px;
  }

  #content
  .tem-page-editor-host
  .inbound-v2-modal
  .inbound-v2-schedule-row
  .inbound-v2-schedule-destination{
    font-size:9.5px;
  }
}

/* TEM INBOUND ROUTE HORIZONTAL FULL WIDTH V7 20260807 */

/*
 * ROTA DE ENTRADA — largura horizontal real.
 *
 * O editor V6 ampliava o cartão interno, mas o próprio #content
 * e o host do Page Editor ainda mantinham a composição centralizada.
 * Aqui removemos esses limites somente enquanto o editor aberto
 * contém a classe inbound-v2-modal.
 */

#content.tem-page-editor-open:
has(> .tem-page-editor-host .inbound-v2-modal){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:
    10px
    12px
    26px!important;
}

#content.tem-page-editor-open:
has(> .tem-page-editor-host .inbound-v2-modal)
> .tem-page-editor-host{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.modal.tem-page-editor.inbound-v2-modal{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  overflow:visible!important;
}

/*
 * Preserva explicitamente o cabeçalho e o botão X.
 * Nenhum botão é removido.
 */

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.tem-page-editor-head{
  position:sticky!important;
  top:70px!important;
  z-index:50!important;

  width:100%!important;
  min-width:0!important;
  min-height:58px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;

  padding:
    10px
    14px!important;

  overflow:visible!important;
}

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.tem-page-editor-head
.modal-close{
  position:static!important;

  flex:0 0 39px!important;

  width:39px!important;
  min-width:39px!important;
  max-width:39px!important;
  height:39px!important;
  min-height:39px!important;

  display:grid!important;
  place-items:center!important;

  visibility:visible!important;
  opacity:1!important;

  margin:0!important;
  padding:0!important;

  z-index:60!important;
}

/*
 * Menos espaço vertical no corpo.
 * A largura conquistada fica disponível para os campos.
 */

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.tem-page-editor-body{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;

  padding:
    10px
    12px
    14px!important;

  overflow-x:visible!important;
}

/*
 * Horários diferenciados:
 * mais largura horizontal, sem aumentar a altura das linhas.
 */

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-table-head,
#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-row{
  width:100%!important;
  min-width:0!important;

  grid-template-columns:
    minmax(112px,1.08fr)
    minmax(42px,.40fr)
    minmax(42px,.40fr)
    minmax(42px,.40fr)
    minmax(42px,.40fr)
    minmax(76px,.68fr)
    minmax(76px,.68fr)
    minmax(54px,.48fr)
    minmax(54px,.48fr)
    minmax(92px,.76fr)
    minmax(68px,.56fr)
    minmax(112px,.90fr)
    minmax(225px,1.65fr)
    32px
    32px
    32px
    32px;

  column-gap:8px!important;
}

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-th{
  font-size:10.5px!important;
}

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-th>div{
  gap:8px!important;
  font-size:9px!important;
}

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-rule-card.inbound-v2-schedule-row{
  padding:
    5px
    2px!important;
}

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-row
.inbound-v2-schedule-control{
  height:32px!important;
  min-height:32px!important;

  padding-left:8px!important;
  padding-right:8px!important;

  font-size:11px!important;
}

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-row
[data-rule-start-weekday],
#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-row
[data-rule-end-weekday]{
  padding-left:7px!important;
  padding-right:6px!important;
}

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-row
.inbound-v2-schedule-destination{
  font-size:10.5px!important;
}

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-row
.inbound-v2-schedule-tool{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;

  padding:0!important;

  font-size:12px!important;
}

/*
 * Evita que o último botão seja cortado pela borda direita.
 */

#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-compact,
#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-schedule-list-compact,
#content
> .tem-page-editor-host:
has(.inbound-v2-modal)
.inbound-v2-rule-card.inbound-v2-schedule-row{
  overflow:visible!important;
}

/*
 * Em telas menores, mantém a adaptação já existente.
 */

@media(max-width:1100px){
  #content.tem-page-editor-open:
  has(> .tem-page-editor-host .inbound-v2-modal){
    padding:
      10px
      8px
      22px!important;
  }

  #content
  > .tem-page-editor-host:
  has(.inbound-v2-modal)
  .tem-page-editor-body{
    padding:
      9px
      8px
      12px!important;
  }
}

@media(max-width:900px){
  #content
  > .tem-page-editor-host:
  has(.inbound-v2-modal)
  .tem-page-editor-head{
    top:62px!important;
  }
}

/* TEM INBOUND ROUTE REAL FULL WIDTH + CLOSE V9 20260807 */

/*
 * V8 — correção definitiva da largura da Rota de Entrada.
 *
 * A V7 usava um seletor relacional quebrado por uma quebra de linha,
 * então o navegador ignorava aqueles seletores. O Page Editor já informa
 * diretamente qual tela está aberta em data-editor-page. Usamos esse
 * atributo e atingimos exclusivamente a Rota de Entrada.
 */

#content
> .tem-page-editor-host[data-editor-page="inbound"]{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/*
 * Vence os limites genéricos de 1180/1240px do Page Editor somente
 * quando a tela aberta é Rotas de entrada.
 */
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.modal.tem-page-editor,
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.modal.tem-page-editor.wide,
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.modal.tem-page-editor-wide,
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.modal.tem-page-editor.inbound-v2-modal{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow:visible!important;
}

#content
> .tem-page-editor-host[data-editor-page="inbound"]
.tem-page-editor-body{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:10px 10px 14px!important;
  overflow-x:visible!important;
}

#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-form,
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-card,
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-advanced{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

/*
 * Horários diferenciados — usa a nova largura na horizontal.
 * A altura dos campos permanece compacta.
 */
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-table-head,
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-row{
  width:100%!important;
  min-width:0!important;

  grid-template-columns:
    minmax(120px,1.15fr)
    minmax(44px,.40fr)
    minmax(44px,.40fr)
    minmax(44px,.40fr)
    minmax(44px,.40fr)
    minmax(82px,.70fr)
    minmax(82px,.70fr)
    minmax(58px,.50fr)
    minmax(58px,.50fr)
    minmax(100px,.78fr)
    minmax(72px,.56fr)
    minmax(120px,.92fr)
    minmax(250px,1.75fr)
    34px
    34px
    34px
    34px!important;

  column-gap:9px!important;
}

#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-row
.inbound-v2-schedule-control{
  height:32px!important;
  min-height:32px!important;
  font-size:11px!important;
  padding-left:8px!important;
  padding-right:8px!important;
}

#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-row
.inbound-v2-schedule-destination{
  font-size:11px!important;
}

#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-tool{
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
}

/*
 * Garante que o X existente continue acessível mesmo durante rolagem.
 * Não cria botão novo e não remove nenhum botão existente.
 */
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.tem-page-editor-head
> .modal-close{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;

  position:fixed!important;
  top:80px!important;
  right:18px!important;

  width:39px!important;
  min-width:39px!important;
  max-width:39px!important;
  height:39px!important;
  min-height:39px!important;
  max-height:39px!important;

  margin:0!important;
  padding:0!important;

  z-index:10000!important;
}

@media(max-width:1100px){
  #content
  > .tem-page-editor-host[data-editor-page="inbound"]
  .inbound-v2-schedule-table-head,
  #content
  > .tem-page-editor-host[data-editor-page="inbound"]
  .inbound-v2-schedule-row{
    column-gap:6px!important;
  }
}

@media(max-width:900px){
  #content
  > .tem-page-editor-host[data-editor-page="inbound"]
  .tem-page-editor-head
  > .modal-close{
    top:72px!important;
    right:10px!important;
  }
}

/* TEM MONITOR TOPBAR REFRESH V3 20260807
   Atualizar ao lado do título Monitoramento na topbar. */
.monitor-topbar-title{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.monitor-topbar-title > span{
  display:inline-flex;
  align-items:center;
}

.monitor-topbar-title #refresh-monitor{
  padding:7px 11px;
  min-height:34px;
  font-size:12px;
  line-height:1;
  border-radius:8px;
}

/* TEM PRIMARY INTEGRATION FRONTEND V2 20260808 */

.primary-integration-layout{
  display:grid;
  grid-template-columns:
    minmax(0,1.25fr)
    minmax(320px,.75fr);
  gap:18px;
  align-items:start;
}

.primary-integration-card{
  padding:20px;
}

.primary-integration-card.span-full{
  grid-column:1/-1;
}

.primary-integration-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.primary-integration-card-head h3{
  margin:0 0 5px;
}

.primary-integration-card-head small{
  display:block;
  color:var(--muted,#6b7280);
}

.primary-integration-options{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:12px 18px;
}

.primary-integration-api{
  display:flex;
  flex-direction:column;
  gap:15px;
}

.primary-integration-copy-row{
  display:flex;
  align-items:center;
  gap:8px;
}

.primary-integration-copy-row input{
  min-width:0;
  flex:1;
}

.primary-integration-key-status{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:13px 14px;
  border:1px solid
    rgba(148,163,184,.35);
  border-radius:10px;
  background:
    rgba(148,163,184,.08);
}

.primary-integration-key-status.good{
  border-color:
    rgba(34,197,94,.28);
  background:
    rgba(34,197,94,.07);
}

.primary-integration-key-status span{
  font-size:12px;
  color:var(--muted,#6b7280);
}

.primary-key-reveal{
  padding:14px;
  border:1px solid
    rgba(59,130,246,.30);
  border-radius:10px;
  background:
    rgba(59,130,246,.06);
}

.primary-key-warning{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-bottom:11px;
}

.primary-key-warning span{
  font-size:12px;
  color:var(--muted,#6b7280);
}

.primary-integration-example{
  display:grid;
  gap:10px;
}

.primary-integration-example code{
  display:block;
  padding:12px 14px;
  border-radius:8px;
  background:
    rgba(15,23,42,.05);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

@media(max-width:980px){
  .primary-integration-layout{
    grid-template-columns:1fr;
  }

  .primary-integration-card.span-full{
    grid-column:auto;
  }
}

@media(max-width:640px){
  .primary-integration-options{
    grid-template-columns:1fr;
  }

  .primary-integration-copy-row{
    align-items:stretch;
    flex-direction:column;
  }
}



/* TEM SIP TRACE UI V3 20260808 */
.sip-trace-section{overflow:visible}
.sip-trace-section-head{gap:14px}
.sip-trace-live-toolbar{border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5;background:#fbfcfe}
.sip-trace-live-toolbar #fw-capture-meta span{color:#a5adba;padding:0 3px}
.sip-trace-filters{grid-template-columns:minmax(180px,1.2fr) minmax(170px,1fr) minmax(150px,.7fr) auto;align-items:center}
.sip-trace-note{padding:10px 16px;font-size:11px;color:#6d788a;background:#fafbfc;border-bottom:1px solid #edf0f5}
.sip-trace-table-wrap{width:100%;overflow:auto}
.sip-trace-table{width:100%;border-collapse:collapse;min-width:1040px}
.sip-trace-table th{padding:11px 12px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#7b8596;background:#f7f9fc;border-bottom:1px solid #e7ebf1;white-space:nowrap}
.sip-trace-table td{padding:12px;border-bottom:1px solid #edf0f5;font-size:12px;vertical-align:middle;color:#354157}
.sip-trace-table tbody tr:hover{background:#fafcff}
.sip-trace-table td:first-child strong{display:block;font-size:12px;color:#2f3b50;white-space:nowrap}
.sip-trace-table td:first-child small{display:block;color:#8a94a4;font-size:10px;margin-top:3px;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.sip-trace-device{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sip-trace-method{display:inline-flex;align-items:center;justify-content:center;min-width:66px;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700;letter-spacing:.03em;background:#edf1f7;color:#4d5a70}
.sip-trace-method.invite{background:#e8f0ff;color:#315fae}
.sip-trace-method.register{background:#e6f7ee;color:#1b7549}
.sip-trace-method.refer{background:#f3ebff;color:#6a43ad}
.sip-trace-table .btn.small{padding:7px 11px;font-size:11px;white-space:nowrap}
.sip-trace-modal-backdrop{position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.58);display:flex;align-items:center;justify-content:center;padding:22px}
.sip-trace-modal{width:min(1320px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.28)}
.sip-trace-modal-loading{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#475569}
.sip-trace-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 15px;border-bottom:1px solid #e8ecf2;position:sticky;top:0;background:#fff;z-index:4}
.sip-trace-modal-head h2{margin:0;font-size:19px;color:#263247}
.sip-trace-modal-head p{margin:6px 0 0;font-size:12px;color:#758096}
.sip-trace-title-line{display:flex;align-items:center;gap:10px}
.sip-trace-detail-actions{display:flex;gap:8px;flex-wrap:wrap;padding:14px 22px 0}
.sip-trace-detail-meta{display:flex;gap:16px;flex-wrap:wrap;padding:13px 22px;font-size:11px;color:#566176}
.sip-trace-detail-meta b{color:#344055}
.sip-trace-sensitive{margin:0 22px 13px;padding:9px 11px;border-radius:8px;background:#fff8e6;border:1px solid #f3dfad;color:#806523;font-size:10px}
.sip-trace-diagram{margin:0 22px 22px;border:1px solid #e4e8ef;border-radius:12px;overflow:auto;background:#fff;min-height:280px}
.sip-trace-diagram svg{display:block;background:#fff}
.sip-trace-raw-panel{margin:0 22px 22px;border-radius:12px;overflow:auto;max-height:65vh;background:#111827;border:1px solid #263247}
.sip-trace-raw-panel pre{margin:0;padding:18px;color:#d7e1ef;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;min-width:max-content}
@media(max-width:900px){
  .sip-trace-filters{grid-template-columns:1fr 1fr}
  .sip-trace-modal-backdrop{padding:8px}
  .sip-trace-modal{width:100%;max-height:96vh;border-radius:12px}
  .sip-trace-modal-head{padding:16px;flex-direction:column}
  .sip-trace-detail-actions,.sip-trace-detail-meta{padding-left:16px;padding-right:16px}
  .sip-trace-sensitive,.sip-trace-diagram,.sip-trace-raw-panel{margin-left:16px;margin-right:16px}
}
@media(max-width:620px){.sip-trace-filters{grid-template-columns:1fr}.sip-trace-detail-actions .btn{flex:1 1 auto}}


/* TEM SIP TRACE IDENTITY UI V4 20260808 */
.sip-trace-friendly{min-width:0;line-height:1.25}
.sip-trace-friendly strong{display:block;color:#303d52;font-size:12px;font-weight:650;white-space:normal}
.sip-trace-friendly small{display:block;margin-top:3px;color:#8792a5;font-size:10px;line-height:1.3;white-space:normal}
.sip-trace-friendly.external strong{color:#9a5a20}
.sip-trace-friendly.unknown small{color:#9aa3b2}
.sip-trace-friendly.ip strong{white-space:nowrap}
.sip-trace-inline-identity{display:inline-flex;flex-direction:column;vertical-align:middle;gap:1px}
.sip-trace-inline-identity strong{font-size:inherit;color:inherit;font-weight:650}
.sip-trace-inline-identity small{font-size:9px;color:#8a94a4;line-height:1.25}
.sip-trace-detail-route{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sip-trace-route-arrow{color:#8b96a8;font-weight:700}
.sip-trace-route-extra{color:#758096}
.sip-trace-detail-meta>span{display:inline-flex;align-items:flex-start;gap:4px}
.sip-trace-detail-meta .sip-trace-inline-identity{max-width:270px}
.sip-trace-table td:nth-child(3),
.sip-trace-table td:nth-child(4){min-width:170px}
.sip-trace-table td:nth-child(5){min-width:150px}
.sip-trace-table td:nth-child(6){min-width:180px}


/* TEM FIREWALL SECURITY CENTER V1 20260808 */
.fw-security-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.fw-security-metric{min-height:94px;height:94px;display:flex;align-items:center;gap:12px;padding:14px 15px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 12px #16233b08}.fw-security-metric-icon{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;flex:none;border-radius:11px;display:grid;place-items:center;background:#e8f2ff;color:#1768c5;font-size:18px}.fw-security-metric-icon.auth{background:#f1ebff;color:#6842bf}.fw-security-metric-icon.danger{background:#ffe9ec;color:#b42c3c}.fw-security-metric-icon.allowed{background:#e4f7ed;color:#147342}.fw-security-metric small,.fw-security-metric span{display:block;color:var(--muted);font-size:11px}.fw-security-metric strong{display:block;margin:2px 0 3px;font-size:20px;color:#26354b}.fw-security-config{margin-bottom:14px}.fw-security-profiles{display:grid;grid-template-columns:1fr 1fr}.fw-security-profile{padding:17px 19px 18px}.fw-security-profile+.fw-security-profile{border-left:1px solid var(--line)}.fw-security-profile-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px}.fw-security-profile-title{display:flex;align-items:center;gap:8px;margin-bottom:5px}.fw-security-profile-title strong{font-size:15px}.fw-security-profile-head p{max-width:620px;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.fw-security-profile-stats{flex:none;min-width:155px;text-align:right;color:var(--muted);font-size:10px}.fw-security-profile-stats span{display:block;margin-bottom:4px}.fw-security-profile-stats b{color:#36445a}.fw-security-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:9px;align-items:end}.fw-security-form label>span{display:block;margin-bottom:5px;color:#5d6a7c;font-size:10px;font-weight:700}.fw-security-form input{width:100%;height:38px}.fw-security-input-unit{position:relative}.fw-security-input-unit input{padding-right:42px}.fw-security-input-unit small{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:10px;pointer-events:none}.fw-security-form .btn{height:38px;white-space:nowrap}.fw-security-grid{align-items:start;margin-bottom:18px}.fw-block-group{padding:0 19px 16px}.fw-block-group-manual{padding-top:16px;border-top:1px solid var(--line)}.fw-block-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -19px 12px;padding:10px 19px;background:#f8fafc;color:#4a586b;font-size:11px;border-bottom:1px solid #edf1f5}.fw-auto-block-list{display:flex;flex-direction:column;gap:8px}.fw-auto-block-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #f0d8dc;border-radius:10px;background:#fffafb}.fw-empty-compact{min-height:118px;padding:20px 14px}.fw-empty-compact .fw-empty-icon{width:38px;height:38px;margin-bottom:8px;font-size:17px}.fw-security-history{border-top:1px solid var(--line)}.fw-security-history summary{padding:13px 19px;cursor:pointer;color:#4c5a6c;font-size:11px;font-weight:700;background:#fbfcfd}.fw-history-list{display:flex;flex-direction:column;padding:0 19px 14px}.fw-history-item{display:grid;grid-template-columns:78px minmax(120px,1fr) 90px 145px;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #eef1f4;font-size:10px}.fw-history-item:last-child{border-bottom:0}.fw-history-item small{color:var(--muted);text-align:right}.fw-history-empty{padding:18px 19px;color:var(--muted);font-size:11px}@media(max-width:1200px){.fw-security-metrics{grid-template-columns:repeat(2,1fr)}.fw-security-profiles{grid-template-columns:1fr}.fw-security-profile+.fw-security-profile{border-left:0;border-top:1px solid var(--line)}}@media(max-width:760px){.fw-security-metrics{grid-template-columns:1fr}.fw-security-form{grid-template-columns:1fr}.fw-security-profile-head{flex-direction:column}.fw-security-profile-stats{text-align:left}.fw-history-item{grid-template-columns:72px 1fr}.fw-history-item small{text-align:left}}


/* TEM FIREWALL SECURITY CENTER V2 20260808 */

.fw-v1-security-hidden{display:none!important}

.fw-security-v2{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:18px;
}

.fw2-statusbar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:#fff;
  border:1px solid var(--line);
  border-radius:13px;
  box-shadow:0 3px 12px #16233b08;
  overflow:hidden;
}

.fw2-statusbar>div{
  min-height:74px;
  padding:14px 18px;
  border-right:1px solid var(--line);
}

.fw2-statusbar>div:last-child{border-right:0}

.fw2-statusbar span,
.fw2-statusbar small{
  display:block;
  color:var(--muted);
}

.fw2-statusbar span{
  margin-bottom:4px;
  font-size:10px;
  font-weight:700;
}

.fw2-statusbar strong{
  display:block;
  margin-bottom:3px;
  color:#26354b;
  font-size:18px;
}

.fw2-statusbar small{
  font-size:9px;
  line-height:1.35;
}

.fw2-panel{overflow:hidden}

.fw2-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 19px;
  border-bottom:1px solid var(--line);
}

.fw2-panel-head h2{
  margin:0 0 4px;
  font-size:16px;
}

.fw2-panel-head p{
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.fw2-protected{
  padding:12px 19px;
  background:#f7faff;
  border-bottom:1px solid var(--line);
}

.fw2-protected>strong{
  display:block;
  margin-bottom:8px;
  color:#44546a;
  font-size:10px;
}

.fw2-protected>div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.fw2-protected span{
  padding:4px 8px;
  border-radius:999px;
  background:#e8f2ff;
  color:#1768c5;
  font-size:10px;
  font-weight:700;
}

.fw2-empty{
  padding:24px 19px;
  color:var(--muted);
  font-size:11px;
  text-align:center;
}

.fw2-rule-list{display:flex;flex-direction:column}

.fw2-rule-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 19px;
  border-bottom:1px solid #edf1f5;
}

.fw2-rule-row:last-child{border-bottom:0}
.fw2-rule-row strong,.fw2-rule-row small{display:block}

.fw2-rule-row small{
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}

.fw2-table-wrap{
  width:100%;
  overflow:auto;
}

.fw2-table{
  width:100%;
  border-collapse:collapse;
  font-size:11px;
}

.fw2-table th{
  padding:10px 12px;
  text-align:left;
  background:#f8fafc;
  color:#566477;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.03em;
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}

.fw2-table td{
  padding:11px 12px;
  border-bottom:1px solid #edf1f5;
  vertical-align:middle;
  color:#34445a;
}

.fw2-table tbody tr:last-child td{border-bottom:0}
.fw2-table td strong,.fw2-table td small{display:block}

.fw2-table td small{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}

.fw2-origin{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:750;
}

.fw2-origin.automatic{
  background:#fff0dd;
  color:#9b5a09;
}

.fw2-origin.manual{
  background:#e9f2ff;
  color:#1768c5;
}

.fw2-actions{
  text-align:right;
  white-space:nowrap;
}

.fw2-history-wrap{
  max-height:470px;
  overflow:auto;
}

.fw2-history-wrap thead{
  position:sticky;
  top:0;
  z-index:2;
}

.fw2-protection-list{
  display:flex;
  flex-direction:column;
}

.fw2-protection-row{
  display:grid;
  grid-template-columns:
    minmax(340px,1.8fr)
    minmax(150px,.55fr)
    minmax(150px,.55fr)
    auto;
  gap:12px;
  align-items:end;
  padding:16px 19px;
  border-bottom:1px solid #edf1f5;
}

.fw2-protection-copy{align-self:center}

.fw2-protection-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:5px;
}

.fw2-protection-title strong{font-size:13px}

.fw2-protection-copy p{
  max-width:720px;
  margin:0 0 5px;
  color:#5f6e81;
  font-size:10px;
  line-height:1.45;
}

.fw2-protection-copy>small{
  color:var(--muted);
  font-size:9px;
}

.fw2-protection-row label>span{
  display:block;
  margin-bottom:5px;
  color:#5d6a7c;
  font-size:10px;
  font-weight:700;
}

.fw2-protection-row input{
  width:100%;
  height:38px;
}

.fw2-protection-row .btn{
  height:38px;
  white-space:nowrap;
}

.fw2-unit{position:relative}
.fw2-unit input{padding-right:42px}

.fw2-unit small{
  position:absolute;
  right:11px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  font-size:10px;
  pointer-events:none;
}

.fw2-progression{
  padding:16px 19px 18px;
  background:#fbfcfe;
}

.fw2-progression-title{
  margin-bottom:10px;
  color:#34455a;
  font-size:11px;
  font-weight:800;
}

.fw2-progression-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.fw2-progression-steps>div{
  padding:10px 12px;
  border:1px solid #e3e9f0;
  border-radius:9px;
  background:#fff;
}

.fw2-progression-steps b,
.fw2-progression-steps span{display:block}

.fw2-progression-steps b{
  margin-bottom:3px;
  color:#26354b;
  font-size:10px;
}

.fw2-progression-steps span{
  color:#536176;
  font-size:11px;
}

.fw2-progression p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.45;
}

@media(max-width:1200px){
  .fw2-statusbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fw2-statusbar>div:nth-child(2){border-right:0}

  .fw2-statusbar>div:nth-child(-n+2){
    border-bottom:1px solid var(--line);
  }

  .fw2-protection-row{
    grid-template-columns:1fr 1fr;
  }

  .fw2-protection-copy{grid-column:1/-1}
}

@media(max-width:760px){
  .fw2-statusbar{grid-template-columns:1fr}

  .fw2-statusbar>div{
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .fw2-statusbar>div:last-child{border-bottom:0}

  .fw2-panel-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .fw2-protection-row{grid-template-columns:1fr}
  .fw2-protection-copy{grid-column:auto}

  .fw2-progression-steps{
    grid-template-columns:1fr 1fr;
  }
}


/* TEM FIREWALL SECURITY CENTER V2.1 VISUAL 20260808 */

.fw-security-v21{
  gap:14px;
}

.fw21-manual-action{
  font-weight:800;
}

.fw21-empty-clean{
  min-height:64px;
  display:grid;
  place-items:center;
}

.fw21-block-origin{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}

.fw21-block-origin.automatic{
  background:#fff0dd;
  color:#995400;
}

.fw21-block-origin.manual{
  background:#e8f2ff;
  color:#1768c5;
}

.fw21-history-help{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:10px 13px;
  background:#fafbfd;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}

.fw21-help-item,
.fw21-event-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  font-weight:800;
}

.fw21-help-item.blocked,
.fw21-event-badge.blocked{
  background:#ffe9ec;
  color:#b42c3c;
}

.fw21-help-item.released,
.fw21-event-badge.released{
  background:#e4f7ed;
  color:#147342;
}

.fw21-event-badge.protected{
  background:#e8f2ff;
  color:#1768c5;
}

.fw21-event-badge.neutral{
  background:#eef2f6;
  color:#516073;
}

.fw21-origin-badge{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:#f0f3f7;
  color:#4e5d70;
  font-size:9px;
  font-weight:750;
  white-space:nowrap;
}

.fw21-history-row.blocked td:first-child{
  border-left:3px solid #d84255;
}

.fw21-history-row.released td:first-child{
  border-left:3px solid #2e9a62;
}

.fw21-history-row.protected td:first-child{
  border-left:3px solid #3a83d8;
}

.fw21-history-table td{
  padding-top:9px;
  padding-bottom:9px;
}

.fw21-security-details{
  overflow:hidden;
}

.fw21-security-details>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 19px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}

.fw21-security-details>summary::-webkit-details-marker{
  display:none;
}

.fw21-security-details>summary>div:first-child strong,
.fw21-security-details>summary>div:first-child span{
  display:block;
}

.fw21-security-details>summary>div:first-child strong{
  margin-bottom:3px;
  color:#27374d;
  font-size:15px;
}

.fw21-security-details>summary>div:first-child span{
  color:var(--muted);
  font-size:10px;
}

.fw21-summary-right{
  display:flex;
  align-items:center;
  gap:10px;
}

.fw21-plus{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  color:#42536a;
  font-size:17px;
  font-weight:700;
  transition:transform .16s ease;
}

.fw21-security-details[open] .fw21-plus{
  transform:rotate(45deg);
}

.fw21-security-body{
  border-top:1px solid var(--line);
}

.fw21-explanation{
  padding:10px 19px;
  background:#f8fafc;
  color:#536176;
  font-size:10px;
  line-height:1.5;
}

.fw21-protection-row{
  display:grid;
  grid-template-columns:minmax(320px,1fr) auto;
  gap:18px;
  align-items:center;
  padding:14px 19px;
  border-top:1px solid #edf1f5;
}

.fw21-protection-copy p{
  margin:4px 0 4px;
  color:#5f6e81;
  font-size:10px;
  line-height:1.45;
}

.fw21-protection-copy small{
  color:var(--muted);
  font-size:9px;
}

.fw21-protection-name{
  display:flex;
  align-items:center;
  gap:8px;
}

.fw21-protection-name strong{
  color:#29394f;
  font-size:12px;
}

.fw21-protection-controls{
  display:grid;
  grid-template-columns:92px 104px auto;
  gap:8px;
  align-items:end;
}

.fw21-protection-controls label>span{
  display:block;
  margin-bottom:4px;
  color:#5d6a7c;
  font-size:9px;
  font-weight:750;
}

.fw21-protection-controls input{
  width:100%;
  height:34px;
}

.fw21-protection-controls .btn{
  height:34px;
  padding-left:14px;
  padding-right:14px;
}

.fw21-progression{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 18px;
  padding:12px 19px 5px;
  border-top:1px solid #edf1f5;
  color:#536176;
  font-size:10px;
}

.fw21-progression>strong{
  color:#2f4056;
}

.fw21-progression-note{
  padding:4px 19px 14px;
  color:var(--muted);
  font-size:9px;
}

.sip-trace-section .fw21-refresh-icon{
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  font-size:18px!important;
  line-height:1!important;
}

@media(max-width:900px){
  .fw21-protection-row{
    grid-template-columns:1fr;
  }

  .fw21-protection-controls{
    grid-template-columns:90px 100px auto;
    justify-content:start;
  }
}

@media(max-width:620px){
  .fw21-protection-controls{
    grid-template-columns:1fr;
  }

  .fw21-security-details>summary{
    align-items:flex-start;
  }
}

/* TEM MAPA DE CHAMADAS FRONTEND V1 20260808 */

.dashboard-pabx-online.is-demand{
  background:#eef4fb;
  color:#567089;
}

.dashboard-pabx-online.is-demand i{
  background:#8ca3b8;
  box-shadow:none;
}

.dashboard-call-map{
  margin-top:14px;
  border:1px solid #dce5ef;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

.dashboard-call-map-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 14px;
}

.dashboard-call-map-head strong,
.dashboard-call-map-head span{
  display:block;
}

.dashboard-call-map-head strong{
  color:#173553;
  font-size:13px;
}

.dashboard-call-map-head span{
  margin-top:3px;
  max-width:760px;
  color:#6d8098;
  font-size:11px;
  line-height:1.45;
}

.dashboard-call-map.is-open .dashboard-call-map-head{
  border-bottom:1px solid #e7edf4;
}

.dashboard-call-map-body{
  background:#fbfdff;
}

.call-map-toolbar{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:end;
  gap:8px;
  padding:12px 14px;
  border-bottom:1px solid #e6edf5;
  background:rgba(251,253,255,.96);
  backdrop-filter:blur(8px);
}

.call-map-toolbar label{
  display:block;
  flex:1;
  min-width:0;
}

.call-map-toolbar label>span{
  display:block;
  margin-bottom:5px;
  color:#5c7087;
  font-size:10px;
  font-weight:800;
}

.call-map-toolbar select{
  width:100%;
  height:38px;
  border:1px solid #cfdae7;
  border-radius:9px;
  background:#fff;
  color:#173553;
  padding:0 10px;
  font-size:11px;
  font-weight:700;
}

.call-map-refresh{
  width:38px;
  min-width:38px;
  height:38px;
  padding:0!important;
  font-size:18px;
  line-height:1;
}

#callMapFlow{
  max-height:690px;
  overflow:auto;
  padding:13px 14px 18px;
  scrollbar-width:thin;
  scrollbar-color:#b7c8dc #edf3f9;
}

.call-map-status-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:11px;
  padding:8px 10px;
  border:1px solid #e3ebf4;
  border-radius:9px;
  background:#fff;
  color:#52677f;
  font-size:10px;
}

.call-map-status-line span{
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:800;
}

.call-map-status-line small{
  color:#8595a7;
  font-size:9px;
}

.call-map-tree{
  max-width:980px;
  margin:0 auto;
}

.call-map-node{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  max-width:760px;
  padding:10px 12px;
  border:1px solid #dfe7f0;
  border-left:3px solid #2586f6;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 8px rgba(26,57,88,.035);
}

.call-map-node-did{border-left-color:#70a9e8}
.call-map-node-ivr{border-left-color:#6f72d8}
.call-map-node-queue{border-left-color:#148d73}
.call-map-node-ring_group{border-left-color:#3d78c7}
.call-map-node-time_condition{border-left-color:#b9841e}
.call-map-node-extension{border-left-color:#718398}
.call-map-node-custom_destination,
.call-map-node-custom_destination_group{border-left-color:#7b6aae}
.call-map-node-survey{border-left-color:#9b6a98}

.call-map-node-warning,
.call-map-node-limit{
  border-left-color:#ca8121;
  background:#fffaf2;
}

.call-map-node-loop,
.call-map-node-reference,
.call-map-node-return_menu,
.call-map-node-action{
  border-left-color:#8b99a8;
  background:#f8fafc;
}

.call-map-node-hangup{
  border-left-color:#a3adb8;
  background:#f7f9fb;
}

.call-map-node-main{
  min-width:0;
  flex:1;
}

.call-map-node-heading{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:3px;
}

.call-map-node-kind{
  color:#7b8b9d;
  font-size:8px;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.call-map-node-code{
  padding:2px 5px;
  border-radius:5px;
  background:#edf5ff;
  color:#1768c5;
  font-size:8px;
  font-weight:900;
}

.call-map-node-title{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  color:#173553;
}

.call-map-node-title strong{
  overflow-wrap:anywhere;
  font-size:12px;
}

.call-map-node-subtitle{
  margin-top:2px;
  color:#718399;
  font-size:9px;
}

.call-map-node-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:7px;
}

.call-map-node-meta span{
  padding:3px 6px;
  border-radius:999px;
  background:#f1f5f9;
  color:#61748b;
  font-size:8px;
  font-weight:700;
}

.call-map-members{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}

.call-map-member{
  display:inline-flex;
  align-items:center;
  gap:4px;
  max-width:220px;
  min-height:25px;
  padding:4px 7px;
  border:1px solid #e2e9f1;
  border-radius:8px;
  background:#fbfdff;
  color:#2e4359;
  font-size:9px;
}

.call-map-member strong{
  color:#173553;
  font-size:9px;
}

.call-map-member small{
  overflow:hidden;
  max-width:100px;
  color:#73859a;
  font-size:8px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.call-map-member em{
  color:#a36b17;
  font-size:7px;
  font-style:normal;
}

.call-map-dot{
  display:inline-block;
  flex:none;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#98a6b5;
}

.call-map-dot.online{
  background:#24a36a;
  box-shadow:0 0 0 2px rgba(36,163,106,.12);
}

.call-map-dot.offline{
  background:#d84d5d;
  box-shadow:0 0 0 2px rgba(216,77,93,.10);
}

.call-map-dot.disabled,
.call-map-dot.unknown{
  background:#98a6b5;
}

.call-map-children{
  position:relative;
  margin:7px 0 2px 18px;
  padding-left:17px;
  border-left:1px solid #cbd8e6;
}

.call-map-branch{
  position:relative;
  padding:3px 0 6px;
}

.call-map-branch::before{
  content:'';
  position:absolute;
  top:16px;
  left:-17px;
  width:12px;
  border-top:1px solid #cbd8e6;
}

.call-map-branch-label{
  display:flex;
  align-items:center;
  gap:5px;
  min-height:20px;
  margin-bottom:4px;
  color:#667a91;
}

.call-map-branch-label>span{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#8ca6c1;
}

.call-map-branch-label strong{
  font-size:8px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.call-map-loading,
.call-map-empty,
.call-map-error{
  display:grid;
  justify-items:center;
  gap:7px;
  padding:34px 16px;
  text-align:center;
}

.call-map-loading strong,
.call-map-empty strong,
.call-map-error strong{
  color:#29425e;
  font-size:12px;
}

.call-map-loading small,
.call-map-empty span,
.call-map-error span{
  max-width:520px;
  color:#7b8da1;
  font-size:9px;
  line-height:1.5;
}

.call-map-error strong{
  color:#a13c49;
}

.call-map-spinner{
  width:24px;
  height:24px;
  border:3px solid #dce9f6;
  border-top-color:#2586f6;
  border-radius:50%;
  animation:call-map-spin .75s linear infinite;
}

@keyframes call-map-spin{
  to{transform:rotate(360deg)}
}

@media(max-width:760px){
  .dashboard-call-map-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .dashboard-call-map-head .btn{
    width:100%;
  }

  .call-map-status-line{
    align-items:flex-start;
    flex-direction:column;
  }

  .call-map-children{
    margin-left:10px;
    padding-left:12px;
  }

  .call-map-branch::before{
    left:-12px;
    width:8px;
  }

  #callMapFlow{
    max-height:620px;
  }
}


/* TEM APPLY WORKER DEDICADO V2.3 20260808 */
.btn.apply-global.applied,
.btn.apply-global.applied:hover,
.btn.apply-global.applied:disabled{
  background:#eaf8ef !important;
  border-color:#a7d9b7 !important;
  color:#24653a !important;
  opacity:1 !important;
  box-shadow:none !important;
  cursor:default !important;
}

.btn.apply-global.pending,
.btn.apply-global.pending:hover{
  background:#fff1df !important;
  border-color:#efbd7b !important;
  color:#93520a !important;
  opacity:1 !important;
  box-shadow:0 1px 2px rgba(120,72,8,.08) !important;
}

.btn.apply-global.applying,
.btn.apply-global.applying:hover,
.btn.apply-global.applying:disabled,
.btn.apply-global.checking,
.btn.apply-global.checking:hover,
.btn.apply-global.checking:disabled{
  background:#fff7d6 !important;
  border-color:#e8cd72 !important;
  color:#80620a !important;
  opacity:1 !important;
  box-shadow:none !important;
  cursor:wait !important;
}

.btn.apply-global.failed,
.btn.apply-global.failed:hover{
  background:#fdeaea !important;
  border-color:#e6a0a0 !important;
  color:#a12b2b !important;
  opacity:1 !important;
  box-shadow:0 1px 2px rgba(130,25,25,.08) !important;
}

.btn.apply-global.applying::before,
.btn.apply-global.checking::before{
  animation:tem-apply-worker-pulse 1.1s ease-in-out infinite;
}

@keyframes tem-apply-worker-pulse{
  0%,100%{opacity:.35;transform:scale(.88)}
  50%{opacity:1;transform:scale(1.08)}
}

/* TEM RAMAIS V2.1 20260809 */
.extension-editor-form .extension-sip-card{
  padding-top:16px;
  padding-bottom:16px;
}

.extension-editor-form .extension-sip-card .extension-editor-heading{
  margin-bottom:12px;
}

.extension-editor-form .extension-sip-card .extension-field-grid{
  gap:10px 12px;
}

.extension-editor-form .extension-sip-card .field{
  gap:5px;
}

.extension-editor-form .extension-sip-card .field>small{
  margin-top:1px;
  line-height:1.35;
}

.extension-editor-form .extension-sip-card .extension-credential-row,
.extension-editor-form .extension-sip-card .extension-secret-row{
  gap:6px;
}

.extension-editor-form .extension-sip-card .extension-credential-row .btn,
.extension-editor-form .extension-sip-card .extension-secret-row .btn{
  min-height:36px;
  padding:7px 10px;
}

.extension-resource-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.extension-resource-option{
  min-width:0;
  padding:12px 13px;
  border:1px solid var(--border,rgba(127,127,127,.22));
  border-radius:12px;
  background:var(--surface,#fff);
}

.extension-resource-option>.check,
.extension-resource-option>label.check{
  margin:0;
}

.extension-resource-option>small{
  display:block;
  margin-top:7px;
  color:var(--muted,#667085);
  font-size:11px;
  line-height:1.42;
}

.extension-danger-zone{
  padding:0!important;
  overflow:hidden;
}

.extension-danger-zone>summary{
  color:inherit;
}

.extension-danger-zone .extension-danger-body{
  display:grid;
  gap:12px;
}

.extension-danger-zone .extension-active-option{
  border-color:var(--border,rgba(127,127,127,.22));
}

.extension-danger-copy{
  padding-top:2px;
}

.extension-danger-copy strong{
  display:block;
  margin-bottom:4px;
}

.extension-danger-copy p{
  margin:0;
  color:var(--muted,#667085);
  font-size:11px;
  line-height:1.45;
}

@media(max-width:900px){
  .extension-resource-grid{
    grid-template-columns:1fr;
  }
}

/* TEM RAMAIS V2.2 20260809 */
.extension-status-accordion .extension-accordion-body{
  padding-top:10px;
}

.extension-sip-card .extension-field-grid{
  align-items:start;
}

.extension-sip-card #sip-server-preview,
.extension-sip-card #sip-login-preview{
  letter-spacing:0;
}

@media(max-width:900px){
  .extension-sip-card .extension-field-grid{
    grid-template-columns:1fr;
  }
}

/* TEM RAMAIS V2.3 20260809
   Cabeçalho genérico removido somente do editor de ramal.
   O X passa para o card "Dados do ramal". */

.extension-editor-modal
.extension-editor-heading{
  align-items:flex-start;
}

.extension-editor-modal
.extension-editor-inline-close{
  flex:0 0 auto;
  margin-left:auto;
  align-self:flex-start;
}

.extension-editor-modal
.modal-body{
  border-radius:inherit;
}

@media(max-width:760px){
  .extension-editor-modal
  .extension-editor-inline-close{
    margin-left:10px;
  }
}

/* TEM RAMAIS V2.3.1 20260809
   Segurança visual: no editor de ramal o cabeçalho genérico nunca ocupa
   espaço, mesmo que uma futura alteração volte a inseri-lo no DOM. */

.extension-editor-modal > .modal-head{
  display:none !important;
}

.extension-editor-modal .extension-editor-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.extension-editor-modal .extension-editor-inline-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  margin:0 0 0 auto;
  padding:0;
  border:1px solid #d3deea;
  border-radius:10px;
  background:#fff;
  color:#6f7f94;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.extension-editor-modal .extension-editor-inline-close:hover{
  background:#f7f9fc;
}

/* TEM INBOUND UI V3 COMPACTA 20260809 — INÍCIO */

.inbound-v2-modal.inbound-v3-compact > .modal-head{
  display:none!important;
}

.inbound-v2-modal.inbound-v3-compact .modal-body{
  max-height:95vh;
}

.inbound-v3-card-head{
  align-items:center;
}

.inbound-v3-head-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
}

.inbound-v3-code-chip{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:5px 9px;
  border:1px solid #b9d8ff;
  border-radius:8px;
  background:#eef6ff;
  color:#244b78;
  white-space:nowrap;
}

.inbound-v3-code-chip span{
  font-size:9px;
  font-weight:700;
  color:#5f7895;
}

.inbound-v3-code-chip strong{
  font-size:12px;
  color:#1261b5;
  letter-spacing:.02em;
}

.inbound-v3-head-tools .modal-close{
  position:static;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  min-width:34px;
  margin:0;
}

.inbound-v3-main-grid{
  grid-template-columns:
    minmax(145px,.78fr)
    minmax(180px,.95fr)
    minmax(205px,1.05fr)
    minmax(205px,1.05fr);
}

.inbound-v3-name-field,
.inbound-v3-did-field,
.inbound-v3-status-field,
.inbound-v3-record-field{
  grid-column:span 1;
}

.inbound-v3-trunk-field,
.inbound-v3-music-field{
  grid-column:span 2;
}

.inbound-v3-did-field input{
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    "Liberation Mono",
    monospace;
}

.inbound-v3-danger{
  min-width:0;
  overflow:hidden;
  border:1px solid #f0d4d7;
  border-radius:12px;
  background:#fff;
}

.inbound-v3-danger summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}

.inbound-v3-danger summary::-webkit-details-marker{
  display:none;
}

.inbound-v3-danger summary > span:first-child{
  display:grid;
  gap:3px;
}

.inbound-v3-danger summary strong{
  color:#a52834;
  font-size:12px;
}

.inbound-v3-danger summary small{
  color:#8a6b70;
  font-size:9px;
}

.inbound-v3-summary-icon{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid #efc7cb;
  border-radius:8px;
  color:#bd2636;
  font-size:16px;
  font-weight:500;
  transition:transform .16s ease;
}

.inbound-v3-danger[open] .inbound-v3-summary-icon{
  transform:rotate(45deg);
}

.inbound-v3-danger-body{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px 16px 14px;
  border-top:1px solid #f3e1e3;
  background:#fffafb;
}

.inbound-v3-danger-body > div{
  min-width:0;
}

.inbound-v3-danger-body strong{
  display:block;
  margin:0 0 3px;
  color:#7f2630;
  font-size:11px;
}

.inbound-v3-danger-body p{
  margin:0;
  color:#8b6a6e;
  font-size:9px;
  line-height:1.45;
}

@media(max-width:980px){
  .inbound-v3-main-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .inbound-v3-name-field,
  .inbound-v3-did-field,
  .inbound-v3-status-field,
  .inbound-v3-record-field,
  .inbound-v3-trunk-field,
  .inbound-v3-music-field{
    grid-column:span 1;
  }
}

@media(max-width:600px){
  .inbound-v2-modal.inbound-v3-compact .modal-body{
    max-height:100vh;
  }

  .inbound-v3-card-head{
    align-items:flex-start;
  }

  .inbound-v3-head-tools{
    width:100%;
    justify-content:space-between;
  }

  .inbound-v3-main-grid{
    grid-template-columns:1fr;
  }

  .inbound-v3-name-field,
  .inbound-v3-did-field,
  .inbound-v3-status-field,
  .inbound-v3-record-field,
  .inbound-v3-trunk-field,
  .inbound-v3-music-field{
    grid-column:auto;
  }

  .inbound-v3-danger-body{
    align-items:stretch;
    flex-direction:column;
  }

  .inbound-v3-danger-body .btn{
    width:100%;
  }
}

/* TEM INBOUND UI V3 COMPACTA 20260809 — FIM */

/* TEM INBOUND NEGATIVE STATE V3.0.4 20260809 — INÍCIO */

/*
 * Somente Rota de entrada:
 * - Status = Desativada
 * - Gravação = Não
 *
 * O :has() reage à classe .is-selected já controlada pelo
 * handler segmentado existente, portanto muda imediatamente
 * sem recarregar e sem JavaScript novo.
 */

.inbound-v3-status-field
.inbound-v2-segmented:has(
  button[data-value="inactive"].is-selected
),
.inbound-v3-record-field
.inbound-v2-segmented:has(
  button[data-value="no"].is-selected
){
  background:#fff7f7;
  border-color:#efc3c7;
  box-shadow:
    inset 0 0 0 1px rgba(185,70,78,.035);
}

.inbound-v3-status-field
.inbound-v2-segmented
button[data-value="inactive"].is-selected,
.inbound-v3-record-field
.inbound-v2-segmented
button[data-value="no"].is-selected{
  background:#fff0f1;
  border-color:#e9aeb4;
  color:#a13c45;
  box-shadow:
    0 1px 2px rgba(130,40,48,.06);
}

.inbound-v3-status-field
.inbound-v2-segmented
button[data-value="inactive"].is-selected:hover,
.inbound-v3-record-field
.inbound-v2-segmented
button[data-value="no"].is-selected:hover{
  background:#ffecee;
}

/* TEM INBOUND NEGATIVE STATE V3.0.4 20260809 — FIM */


/* ==========================================================
   CLIENTES TOPO V1 20260810
   Botão Novo cliente dentro da barra de pesquisa
   ========================================================== */

.tenant-actions-staging{
  display:none!important;
}

.tem-ux-search-side{
  min-width:0;

  display:flex;
  flex-direction:column;

  align-items:flex-end;
  justify-content:space-between;

  gap:8px;

  align-self:stretch;
}

.tem-ux-search-action{
  width:100%;

  display:flex;
  justify-content:flex-end;
  align-items:center;
}

.tem-ux-search-action .btn{
  min-height:39px;
  white-space:nowrap;
}

/* Tablet */
@media(max-width:900px){

  .tem-ux-search-side{
    width:100%;
    align-items:stretch;
  }

  .tem-ux-search-action{
    justify-content:flex-end;
  }
}

/* Celular */
@media(max-width:600px){

  .tem-ux-search-action .btn{
    width:100%;
  }
}

/* CLIENTES TOPO V1 20260810 — FIM */


/* ==========================================================
   RAMAIS TOPO V1 20260810
   Criar em lote + Novo ramal dentro da busca
   ========================================================== */

.tem-ext-search-actions{
  margin-left:auto;

  display:flex;
  align-items:center;
  justify-content:flex-end;

  gap:10px;

  flex:0 0 auto;
}

.tem-ext-search-actions .btn{
  min-height:42px;
  white-space:nowrap;
}

/*
 * Mantém a contagem entre o campo de busca
 * e os botões.
 */
.tem-ext-search-help{
  flex:0 1 auto;
}

/* Tablet */
@media(max-width:820px){

  .tem-ext-search-actions{
    width:100%;
    margin-left:0;
    justify-content:flex-end;
  }

}

/* Celular */
@media(max-width:520px){

  .tem-ext-search-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .tem-ext-search-actions .btn{
    width:100%;
    justify-content:center;
  }

}

/* RAMAIS TOPO V1 20260810 — FIM */


/* ==========================================================
   FACILIDADES TOPO BUSCA V1B 20260811
   Busca ao lado de Cadeado
   ========================================================== */

.facilities-cadeado-search-head{
  min-width:470px;
}

.facilities-cadeado-search{
  width:100%;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:14px;
}

.facilities-cadeado-search > span{
  flex:none;
}

.facilities-search-controls{
  display:flex;
  align-items:center;

  gap:8px;

  text-transform:none;
  letter-spacing:normal;
}

.facilities-search-controls input{
  width:230px;
  min-width:180px;
  height:38px;

  padding:8px 11px;

  font-size:13px;
  font-weight:400;

  text-transform:none;
  letter-spacing:normal;
}

.facilities-search-controls .btn{
  height:38px;

  padding:8px 15px;

  font-size:13px;

  text-transform:none;
  letter-spacing:normal;

  white-space:nowrap;
}

@media(max-width:1100px){

  .facilities-cadeado-search-head{
    min-width:430px;
  }

  .facilities-search-controls input{
    width:190px;
  }
}

/* FACILIDADES TOPO BUSCA V1B 20260811 — FIM */


/* ==========================================================
   FACILIDADES ALINHAMENTO V1C 20260811
   Cadeado separado da busca
   ========================================================== */

.facilities-search-head{
  min-width:350px;
  width:350px;
}

.facilities-search-head
.facilities-search-controls{
  width:100%;

  display:flex;
  align-items:center;
  justify-content:flex-end;

  gap:8px;
}

.facilities-search-head
.facilities-search-controls input{
  width:220px;
  min-width:180px;
  height:38px;
}

.facilities-search-head
.facilities-search-controls .btn{
  height:38px;
  white-space:nowrap;
}

.facilities-search-spacer{
  width:350px;
  min-width:350px;
}

@media(max-width:1100px){

  .facilities-search-head{
    min-width:315px;
    width:315px;
  }

  .facilities-search-head
  .facilities-search-controls input{
    width:185px;
  }

  .facilities-search-spacer{
    min-width:315px;
    width:315px;
  }
}

/* FACILIDADES ALINHAMENTO V1C 20260811 — FIM */


/* GRUPOS DESTINO SEPARADO V1 20260812 */

.ring-group-fail-destination{
  margin-top:14px;
  padding:15px 16px 16px;
  border:1px solid #d9e4ef;
  border-radius:13px;
  background:#fff;
}

.ring-group-fail-head{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-bottom:13px;
}

.ring-group-fail-head strong{
  color:#33415b;
  font-size:14px;
  font-weight:800;
}

.ring-group-fail-head small{
  color:#75849a;
  font-size:11px;
  line-height:1.4;
}

.ring-group-fail-grid{
  display:grid;
  grid-template-columns:
    minmax(240px, .48fr)
    minmax(320px, 1fr);
  gap:12px;
  align-items:end;
}

.ring-group-fail-grid > *{
  margin:0;
}

.ring-group-fail-grid select:disabled{
  color:#7a8799;
  background:#f5f7fa;
  cursor:default;
}

@media(max-width:850px){
  .ring-group-fail-grid{
    grid-template-columns:1fr;
  }
}


/* HORARIOS DIFERENCIADOS GRUPO V1 20260812 */

.ring-group-schedule-box{
  margin-top:14px;
  padding:15px 16px 16px;
  border:1px solid #d9e4ef;
  border-radius:13px;
  background:#fff;
}

.ring-group-schedule-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}

.ring-group-schedule-head>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.ring-group-schedule-head strong{
  color:#33415b;
  font-size:14px;
  font-weight:800;
}

.ring-group-schedule-head small{
  color:#75849a;
  font-size:11px;
  line-height:1.4;
}

.ring-group-schedule-table{
  width:100%;
  overflow-x:auto;
}

.ring-group-schedule-table-head,
.ring-group-schedule-row{
  display:grid;
  grid-template-columns:
    minmax(135px,1.15fr)
    minmax(178px,1.05fr)
    minmax(165px,.95fr)
    minmax(140px,.78fr)
    minmax(82px,.64fr)
    minmax(70px,.55fr)
    minmax(150px,1fr)
    minmax(185px,1.25fr)
    148px;
  gap:8px;
  align-items:center;
  min-width:1260px;
}

.ring-group-schedule-table-head{
  padding:0 2px 7px;
  color:#34435b;
  font-size:11px;
  font-weight:800;
}

.ring-group-schedule-row{
  padding:7px 0;
  border-top:1px solid #edf1f5;
}

.ring-group-schedule-row:first-child{
  border-top:0;
}

.ring-group-schedule-control{
  width:100%;
  min-width:0;
  height:34px;
  padding:0 7px;
  border:1px solid #ccd8e6;
  border-radius:7px;
  background:#fff;
  color:#24324a;
  font-size:12px;
}

.ring-group-schedule-pair{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:4px;
  align-items:center;
}

.ring-group-schedule-pair>span{
  color:#7b899c;
  font-size:11px;
}

.ring-group-schedule-actions{
  display:flex;
  gap:5px;
  align-items:center;
}

.ring-group-schedule-actions .btn{
  width:32px;
  min-width:32px;
  height:32px;
  padding:0;
}

.ring-group-schedule-control:disabled{
  background:#f5f7fa;
  color:#7a8799;
}

.ring-group-schedule-empty{
  padding:15px;
  border:1px dashed #d4deea;
  border-radius:8px;
  color:#77859a;
  font-size:12px;
  text-align:center;
  background:#fafbfd;
}

.ring-group-schedule-empty[hidden]{
  display:none;
}


/* GRUPO VISUAL LARGO V1 20260812 */

/*
 * O Grupo de ramais usa uma largura própria.
 * Não altera outros modais "wide" do sistema.
 */
.ring-group-editor-modal{
  width:min(
    1440px,
    calc(100vw - 320px)
  ) !important;

  transform:translateX(125px);
}


/*
 * Remove o cabeçalho interno:
 * "Editar Grupos de ramais"
 * "Preencha os campos..."
 */
.ring-group-editor-modal > .modal-head{
  display:none !important;
}


/*
 * Oculta apenas visualmente a Descrição.
 * O textarea continua no DOM e mantém seu valor,
 * portanto o backend não perde a descrição existente.
 */
.ring-group-editor-modal
.ring-group-description-hidden{
  display:none !important;
}


/*
 * Como o cabeçalho saiu, damos uma pequena folga
 * no início do conteúdo.
 */
.ring-group-editor-modal > .modal-body{
  padding-top:22px;
}


/*
 * Tela intermediária:
 * sidebar já fica compacta.
 */
@media(max-width:1200px){
  .ring-group-editor-modal{
    width:min(
      1120px,
      calc(100vw - 120px)
    ) !important;

    transform:translateX(28px);
  }
}


/*
 * Celular/tablet estreito:
 * ocupa praticamente toda a tela.
 */
@media(max-width:760px){
  .ring-group-editor-modal{
    width:calc(100vw - 24px) !important;
    transform:none;
  }
}


/* GRUPO VISUAL LARGO V1B 20260812 */

/*
 * Reserva a sidebar e utiliza todo o restante
 * da largura da tela.
 */
.modal-bg.ring-group-editor-bg{
  justify-items:stretch !important;
  align-items:center !important;

  padding:
    18px
    18px
    18px
    270px !important;
}


/*
 * O Grupo passa a ocupar 100% da área restante.
 */
.modal-bg.ring-group-editor-bg
.ring-group-editor-modal{
  width:100% !important;
  max-width:none !important;

  transform:none !important;
  margin:0 !important;
}


/*
 * Mantém o cabeçalho removido.
 */
.modal-bg.ring-group-editor-bg
.ring-group-editor-modal
> .modal-head{
  display:none !important;
}


/*
 * Mantém a descrição apenas escondida na tela.
 */
.modal-bg.ring-group-editor-bg
.ring-group-description-hidden{
  display:none !important;
}


/*
 * Quando a sidebar fica compacta.
 */
@media(max-width:1200px){
  .modal-bg.ring-group-editor-bg{
    padding:
      16px
      16px
      16px
      96px !important;
  }
}


/*
 * Celular.
 */
@media(max-width:760px){
  .modal-bg.ring-group-editor-bg{
    padding:12px !important;
  }

  .modal-bg.ring-group-editor-bg
  .ring-group-editor-modal{
    width:100% !important;
  }
}


/* GRUPO LARGURA TOTAL V1B 20260812 */

/*
 * Usa toda a área disponível à direita da sidebar.
 */
.modal-bg:has(.ring-group-editor-modal){
  justify-items:stretch !important;

  padding:
    16px
    18px
    16px
    268px !important;
}

.modal-bg:has(.ring-group-editor-modal)
.ring-group-editor-modal{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  transform:none !important;
  justify-self:stretch !important;
}

/*
 * Mantém o cabeçalho removido.
 */
.modal-bg:has(.ring-group-editor-modal)
.ring-group-editor-modal > .modal-head{
  display:none !important;
}

/*
 * Mantém Descrição somente oculta na tela.
 */
.modal-bg:has(.ring-group-editor-modal)
.ring-group-description-hidden{
  display:none !important;
}


/* Sidebar compacta */
@media(max-width:1200px){
  .modal-bg:has(.ring-group-editor-modal){
    padding:
      14px
      14px
      14px
      92px !important;
  }
}


/* Celular */
@media(max-width:760px){
  .modal-bg:has(.ring-group-editor-modal){
    padding:10px !important;
  }
}


/* GRUPO PAGE EDITOR LARGO V1C 20260812 */

/*
 * O limite verdadeiro estava no HOST do Page Editor.
 * Somente o Grupo de ramais perde esse max-width.
 */
#content.tem-page-editor-open
> .tem-page-editor-host.ring-group-editor-bg{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}


/*
 * Remove também o limite do cartão interno.
 */
#content.tem-page-editor-open
> .tem-page-editor-host.ring-group-editor-bg
> .modal.tem-page-editor.ring-group-editor-modal{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;

  margin:0 !important;
  transform:none !important;
}


/*
 * Garante que a versão WIDE também não volte
 * a limitar em 1240px.
 */
#content.tem-page-editor-open
> .tem-page-editor-host.ring-group-editor-bg
> .modal.tem-page-editor.wide.ring-group-editor-modal,

#content.tem-page-editor-open
> .tem-page-editor-host.ring-group-editor-bg
> .modal.tem-page-editor-wide.ring-group-editor-modal{
  width:100% !important;
  max-width:none !important;
}


/*
 * Aproveita mais a largura interna.
 */
#content.tem-page-editor-open
> .tem-page-editor-host.ring-group-editor-bg
.tem-page-editor-body{
  width:100% !important;
  max-width:none !important;

  padding:
    18px
    18px
    24px !important;
}


/*
 * Cabeçalho continua removido.
 */
#content.tem-page-editor-open
> .tem-page-editor-host.ring-group-editor-bg
.ring-group-editor-modal
> .modal-head{
  display:none !important;
}


/*
 * Descrição continua existindo no DOM,
 * mas permanece escondida apenas nesta tela.
 */
#content.tem-page-editor-open
> .tem-page-editor-host.ring-group-editor-bg
.ring-group-description-hidden{
  display:none !important;
}


/*
 * Diminui um pouco as margens externas da área
 * principal enquanto o Grupo estiver sendo editado.
 */
#content.tem-page-editor-open:
has(> .tem-page-editor-host.ring-group-editor-bg){
  padding-left:16px !important;
  padding-right:16px !important;
}


@media(max-width:760px){
  #content.tem-page-editor-open:
  has(> .tem-page-editor-host.ring-group-editor-bg){
    padding-left:10px !important;
    padding-right:10px !important;
  }

  #content.tem-page-editor-open
  > .tem-page-editor-host.ring-group-editor-bg
  .tem-page-editor-body{
    padding:14px !important;
  }
}


/* OUVIR AUDIO HORARIO INBOUND CSS V2B 20260812 */

/*
 * Acrescenta uma pequena coluna de reprodução entre
 * Destino excepcional e os quatro botões de Ações.
 */
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-table-head,

#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-row{
  grid-template-columns:
    minmax(110px,1.10fr)
    minmax(40px,.38fr)
    minmax(40px,.38fr)
    minmax(40px,.38fr)
    minmax(40px,.38fr)
    minmax(75px,.66fr)
    minmax(75px,.66fr)
    minmax(52px,.46fr)
    minmax(52px,.46fr)
    minmax(90px,.72fr)
    minmax(64px,.54fr)
    minmax(110px,.86fr)
    minmax(210px,1.55fr)
    34px
    34px
    34px
    34px
    34px !important;

  column-gap:7px !important;
}


/*
 * "Ouvir" ocupa a coluna 14.
 */
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-th-audio{
  grid-column:14;
  text-align:center;
}


/*
 * Ações agora começam na coluna 15.
 */
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-th-actions{
  grid-column:15 / span 4 !important;
  text-align:center;
}


/*
 * Botão compacto aprovado na prévia.
 */
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-audio-play{
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;

  height:32px !important;
  min-height:32px !important;

  padding:0 !important;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border-color:#9ec7eb !important;

  background:#f4f9ff !important;
  color:#1769ab !important;

  font-size:13px !important;
  font-weight:800 !important;
}


/*
 * Quando não é destino Áudio, o botão desaparece.
 */
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-audio-play[hidden]{
  display:none !important;
}


/*
 * Estado enquanto estiver tocando.
 */
#content
> .tem-page-editor-host[data-editor-page="inbound"]
.inbound-v2-schedule-audio-play.is-playing{
  border-color:#e0a8a8 !important;
  background:#fff4f4 !important;
  color:#b93636 !important;
}


@media(max-width:900px){

  /*
   * Preserva o layout responsivo existente.
   */
  #content
  > .tem-page-editor-host[data-editor-page="inbound"]
  .inbound-v2-schedule-table-head{
    display:none !important;
  }

  #content
  > .tem-page-editor-host[data-editor-page="inbound"]
  .inbound-v2-rule-card.inbound-v2-schedule-row{
    grid-template-columns:
      repeat(2,minmax(0,1fr)) !important;
  }

  #content
  > .tem-page-editor-host[data-editor-page="inbound"]
  .inbound-v2-schedule-audio-play{
    justify-self:start;
  }
}


/* OUVIR AUDIO HORARIO GRUPO CSS V1 20260812 */

.ring-group-schedule-table-head,
.ring-group-schedule-row{
  grid-template-columns:
    minmax(135px,1.15fr)
    minmax(178px,1.05fr)
    minmax(165px,.95fr)
    minmax(140px,.78fr)
    minmax(82px,.64fr)
    minmax(70px,.55fr)
    minmax(150px,1fr)
    minmax(185px,1.25fr)
    38px
    148px !important;

  min-width:1306px;
}

.ring-group-schedule-audio-cell{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.ring-group-schedule-audio-play{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;

  height:32px !important;
  min-height:32px !important;

  padding:0 !important;

  border-color:#9ec7eb !important;
  background:#f4f9ff !important;
  color:#1769ab !important;

  font-size:13px !important;
  font-weight:800 !important;
}

.ring-group-schedule-audio-play[hidden]{
  display:none !important;
}

.ring-group-schedule-audio-play.is-playing{
  border-color:#e3abab !important;
  background:#fff5f5 !important;
  color:#b53b3b !important;
}

@media(max-width:850px){
  .ring-group-schedule-table-head{
    display:none !important;
  }

  .ring-group-schedule-row{
    grid-template-columns:1fr !important;
    min-width:0 !important;
  }

  .ring-group-schedule-audio-cell{
    justify-content:stretch;
  }

  .ring-group-schedule-audio-play{
    width:100% !important;
    max-width:none !important;
  }
}
