/* Lógica Radius — Integrações. Interface administrativa sóbria, sem métricas em cartões. */
/* All rules are scoped to the integration screen and its transient editor. */
.m2m-page{
  --m2m-ink:#24364a;
  --m2m-muted:#748499;
  --m2m-line:#dfe7ef;
  --m2m-blue:#176ba6;
  color:var(--m2m-ink);
  max-width:1600px;
  margin:0 auto;
  font-size:12px;
}
.m2m-page .page-head{margin:2px 0 18px;}
.m2m-page .page-title{font-size:21px;letter-spacing:-.035em;font-weight:720;color:#172e42;}
.m2m-page .page-subtitle{font-size:11px;margin-top:5px;}
.m2m-page button:focus-visible,
.m2m-overlay button:focus-visible,
.m2m-page summary:focus-visible{
  outline:2px solid #398dc3;
  outline-offset:3px;
}
.m2m-surface{
  background:#fff;
  border:1px solid var(--m2m-line);
  border-radius:9px;
  overflow:hidden;
  margin-bottom:14px;
  box-shadow:0 2px 6px rgba(20,50,75,.025);
}
.m2m-surface-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:23px 25px 19px;
}
.m2m-heading h2,.m2m-secondary-head h2{
  margin:0 0 7px;
  font-size:16px;
  line-height:1.25;
  letter-spacing:-.015em;
  font-weight:700;
  color:#253951;
}
.m2m-heading p,.m2m-secondary-head p{
  margin:0;
  line-height:1.5;
  font-size:11.5px;
  color:var(--m2m-muted);
}
.m2m-button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border-radius:6px;
  border:1px solid #d5dfe8;
  background:#fff;
  color:#34516c;
  min-height:34px;
  padding:0 13px;
  font-size:11.5px;
  font-weight:650;
  cursor:pointer;
  white-space:nowrap;
  transition:border-color .13s,background .13s;
}
.m2m-button:hover{background:#f7fafc;border-color:#aebfce;}
.m2m-button:disabled{opacity:.55;cursor:wait;}
.m2m-button-primary{
  background:var(--m2m-blue);
  border-color:var(--m2m-blue);
  color:#fff;
}
.m2m-button-primary:hover{background:#0f598d;border-color:#0f598d;}
.m2m-summary{
  display:flex;
  align-items:center;
  gap:13px;
  border-top:1px solid #eef2f6;
  border-bottom:1px solid var(--m2m-line);
  background:#fbfcfe;
  min-height:43px;
  padding:0 25px;
  font-size:11px;
  color:#8090a0;
}
.m2m-summary-main{
  color:#1a7256;
  font-weight:700;
}
.m2m-summary-main:before{
  content:"";
  display:inline-block;
  vertical-align:middle;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#2d9d73;
  margin-right:8px;
}
.m2m-summary-separator{
  height:13px;
  width:1px;
  background:#dce4ec;
}
.m2m-inline-help{
  border:0;
  background:transparent;
  color:#3d698d;
  font-size:11px;
  font-weight:650;
  margin-left:auto;
  cursor:pointer;
}
.m2m-inline-help:hover{text-decoration:underline;}
.m2m-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:215px;
  padding:35px 24px;
}
.m2m-empty-mark{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#8a9eae;
  background:#f6f9fb;
  border:1px solid #e3ebf1;
  border-radius:12px;
  margin-bottom:17px;
}
.m2m-empty strong{
  font-size:14px;
  font-weight:700;
  color:#293d51;
}
.m2m-empty p{
  max-width:390px;
  color:#8090a0;
  font-size:12px;
  line-height:1.65;
  margin:9px 0 0;
}
.m2m-table-scroll{
  width:100%;
  overflow-x:auto;
}
.m2m-table{
  border-collapse:collapse;
  width:100%;
  min-width:790px;
  font-size:11px;
  background:#fff;
}
.m2m-table thead th{
  background:#fff;
  border-bottom:1px solid #dfe7ef;
  height:41px;
  padding:0 17px;
  font-size:10px;
  font-weight:700;
  color:#8190a0;
  letter-spacing:.015em;
  text-align:left;
  white-space:nowrap;
  text-transform:none;
}
.m2m-table tbody td{
  padding:15px 17px;
  vertical-align:middle;
  border-bottom:1px solid #eff3f6;
  line-height:1.5;
}
.m2m-table tbody tr:last-child td{border-bottom:none;}
.m2m-table tbody tr:hover{background:#fafcfe;}
.m2m-key-name{display:block;font-weight:680;color:#293f56;font-size:12px;}
.m2m-key-destination{display:block;font-size:10.5px;color:#8b9aa8;margin-top:3px;}
.m2m-key-prefix{
  color:#5f7183;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.025em;
}
.m2m-scopes-inline{display:flex;flex-wrap:wrap;gap:5px;max-width:360px;}
.m2m-scope-inline{
  border:1px solid #e1e8ed;
  border-radius:4px;
  color:#60778b;
  background:#f8fafc;
  padding:3px 6px;
  font-size:10px;
}
.m2m-date{color:#576c80;white-space:nowrap;}
.m2m-status{display:inline-flex;gap:7px;align-items:center;font-weight:650;white-space:nowrap;color:#748597;font-size:11px;}
.m2m-status i{height:6px;width:6px;border-radius:50%;background:#a3b0bc;}
.m2m-status.is-active{color:#276b50;}
.m2m-status.is-active i{background:#2aa271;}
.m2m-status.is-expired{color:#987046;}
.m2m-status.is-expired i{background:#c89b55;}
.m2m-text-action{
  border:0;
  padding:5px 2px;
  margin:0 9px 0 0;
  background:transparent;
  color:#226a9c;
  font-weight:650;
  cursor:pointer;
  font-size:11px;
}
.m2m-text-action:hover{text-decoration:underline;}
.m2m-text-danger{color:#a74d55;}
.m2m-cell-actions{text-align:right;white-space:nowrap;}
.m2m-secondary-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:19px 25px;
  gap:16px;
}
.m2m-secondary-head h2{font-size:13px;margin-bottom:5px;}
.m2m-record-count{color:#8a9cad;font-size:10.5px;white-space:nowrap;}
.m2m-secondary-table{min-width:620px;}
.m2m-secondary-table thead th{height:35px;background:#fbfcfd;}
.m2m-secondary-table tbody td{padding-top:12px;padding-bottom:12px;}
.m2m-secondary-table .m2m-key-name{font-size:11px;}
.m2m-endpoint{max-width:490px;overflow-wrap:anywhere;font-family:ui-monospace,Consolas,monospace;font-size:10px;color:#64798d;}
.m2m-muted{margin:12px 23px;color:#8795a3;}
.m2m-help{
  margin:14px 3px 22px;
  border:0;
  background:transparent;
  color:#617487;
  font-size:11px;
}
.m2m-help summary{cursor:pointer;font-weight:650;list-style:none;color:#49708f;}
.m2m-help summary:before{content:"?";display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid #b7cbd9;margin-right:7px;font-size:10px;}
.m2m-help summary::-webkit-details-marker{display:none;}
.m2m-help>div{
  margin-top:10px;
  padding:13px 17px;
  border:1px solid var(--m2m-line);
  border-radius:6px;
  background:#fff;
  max-width:770px;
  font-size:11px;
  line-height:1.55;
}
.m2m-help p{margin:0 0 9px;color:#6e8293;}
.m2m-help p:last-child{margin-bottom:0;}
.m2m-help code{font-size:10px;color:#314d6a;background:#f3f7fb;padding:2px 4px;border-radius:3px;}

/* Slide-over editor. */
.m2m-overlay{position:fixed;inset:0;z-index:200;display:flex;justify-content:flex-end;isolation:isolate;}
.m2m-scrim{position:absolute;inset:0;background:rgba(15,34,52,.35);}
.m2m-drawer{
  position:relative;z-index:1;
  display:flex;flex-direction:column;
  width:min(570px,100vw);height:100%;
  background:#fff;
  box-shadow:-12px 0 38px rgba(22,44,65,.14);
}
.m2m-drawer-header{padding:26px 29px 21px;border-bottom:1px solid #e7edf2;flex:none;}
.m2m-drawer-eyebrow{color:#7790a3;font-size:10px;font-weight:750;letter-spacing:.095em;margin-bottom:10px;}
.m2m-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.m2m-drawer-heading h2{margin:0;color:#20384e;font-size:21px;letter-spacing:-.02em;line-height:1.2;}
.m2m-drawer-header p{font-size:12px;color:#708294;line-height:1.55;margin:12px 0 0;}
.m2m-close{border:0;background:transparent;font-size:25px;line-height:1;color:#748799;cursor:pointer;width:28px;height:32px;flex:none;}
.m2m-close:hover{color:#254d6c;}
.m2m-drawer-form{display:flex;flex-direction:column;min-height:0;flex:1;}
.m2m-drawer-body{padding:25px 29px;overflow:auto;min-height:0;flex:1;}
.m2m-form-field{margin-bottom:21px;min-width:0;}
.m2m-form-field label,.m2m-ack label{display:block;color:#374e62;font-size:11px;font-weight:700;margin-bottom:8px;}
.m2m-form-field label span{color:#a55c5c;}
.m2m-form-field .input,.m2m-ack .input{height:39px;width:100%;border-radius:5px;border:1px solid #cfdce5;font-size:12px;}
.m2m-form-field small{display:block;font-size:10.5px;color:#8290a1;margin-top:6px;}
.m2m-form-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:15px;}
.m2m-section-label{border-top:1px solid #e8edf2;margin-top:6px;padding-top:23px;margin-bottom:10px;}
.m2m-section-label h3{margin:0 0 4px;font-size:13px;color:#2c435a;}
.m2m-section-label p{margin:0;color:#8796a3;font-size:11px;}
.m2m-scope-list{border:1px solid #dfe7ee;border-radius:6px;overflow:hidden;background:#fff;}
.m2m-scope-row{
  display:flex;align-items:flex-start;gap:12px;
  padding:13px 15px;border-bottom:1px solid #edf1f5;
  cursor:pointer;line-height:1.42;
}
.m2m-scope-row:last-child{border-bottom:0;}
.m2m-scope-row:hover{background:#f9fbfd;}
.m2m-scope-row:has(input:checked){background:#f7fafc;}

.m2m-scope-row input{accent-color:#2574a6;margin:2px 0 0;width:15px;height:15px;flex:none;}
.m2m-scope-main{display:block;min-width:0;flex:1;}
.m2m-scope-main strong{display:block;font-size:11.5px;color:#304a60;font-weight:680;}
.m2m-scope-main small{display:block;margin-top:4px;font-size:10.5px;color:#8393a2;}
.m2m-privileged{font-size:10px;color:#9b6939;background:#faf3e8;border-radius:4px;padding:3px 5px;}
.m2m-scope-disabled{opacity:.5;cursor:not-allowed;}
.m2m-ack{margin-top:17px;border-left:3px solid #ce9e61;background:#faf8f3;padding:14px 17px;}
.m2m-ack[hidden]{display:none!important;}
.m2m-ack strong{font-size:12px;color:#845f35;}
.m2m-ack p{margin:6px 0 12px;font-size:11px;line-height:1.5;color:#886d50;}
.m2m-drawer-footer{border-top:1px solid #e5ebef;padding:18px 29px;display:flex;gap:10px;background:#fff;flex:none;}
.m2m-drawer-footer .m2m-button{min-height:37px;}

/* Display-once dialog for generated secrets. */
.m2m-overlay-secret{justify-content:center;align-items:center;z-index:220;}
.m2m-secret-modal{
  position:relative;z-index:1;
  width:min(550px,calc(100vw - 36px));
  border-radius:9px;background:#fff;
  padding:28px 31px 29px;
  box-shadow:0 20px 70px rgba(10,30,50,.23);
}
.m2m-secret-mark{font-size:11px;font-weight:700;color:#28765a;margin-bottom:12px;}
.m2m-secret-modal h2{font-size:19px;letter-spacing:-.02em;color:#223b52;margin:0 0 11px;}
.m2m-secret-modal p{font-size:12px;line-height:1.6;color:#768b9a;margin:0 0 18px;}
.m2m-secret-modal label{font-size:11px;font-weight:700;display:block;margin-bottom:8px;color:#3d5367;}
.m2m-secret-input{display:flex;gap:7px;}
.m2m-secret-input input{flex:1;min-width:0;font-size:11px;height:39px;}
.m2m-secret-buttons{display:flex;gap:8px;margin-top:17px;}
.m2m-secret-modal .m2m-secret-hint{margin-top:17px;margin-bottom:0;padding-top:16px;border-top:1px solid #e8edf2;font-size:11px;}
@media(max-width:980px){
 .m2m-surface-head,.m2m-summary,.m2m-secondary-head{padding-left:16px;padding-right:16px;}
}
@media(max-width:560px){
 .m2m-surface-head{align-items:flex-start;flex-direction:column;}
 .m2m-summary{gap:8px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;}
 .m2m-inline-help{margin-left:0;}
 .m2m-drawer-header{padding:22px 19px 16px;}
 .m2m-drawer-body{padding:22px 19px;}
 .m2m-drawer-footer{padding:15px 19px;}
 .m2m-form-grid{grid-template-columns:1fr;}
}


/* Context-menu actions */
.m2m-context-target{cursor:context-menu}
.m2m-context-target:focus-visible{outline:2px solid #77a3c2;outline-offset:-2px}
.m2m-legacy-action-cell{white-space:nowrap}
.m2m-legacy-status{color:#8392a1;display:inline-flex;gap:7px;align-items:center;font-size:11px}
.m2m-legacy-status:before{content:"";background:#9eaab7;width:6px;height:6px;border-radius:50%}
.m2m-legacy-status.is-enabled{color:#30755b}
.m2m-legacy-status.is-enabled:before{background:#30a077}
.m2m-row-menu-button{width:28px;height:27px;border:1px solid transparent;background:transparent;border-radius:5px;color:#71869b;cursor:pointer;font-size:20px;margin-left:12px;vertical-align:middle}
.m2m-row-menu-button:hover,.m2m-row-menu-button:focus-visible{background:#f2f7fa;border-color:#dce6ed;color:#226c9e}
.m2m-context-cover{position:fixed;inset:0;z-index:340}
.m2m-context-menu{position:fixed;z-index:341;width:220px;max-width:calc(100vw - 15px);border:1px solid #dce5ec;border-radius:7px;background:white;padding:5px;box-shadow:0 7px 25px rgba(25,48,69,.15)}
.m2m-context-title{font-size:10px;font-weight:700;color:#8190a1;padding:9px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #edf1f4}
.m2m-context-menu button[role=menuitem]{display:block;width:100%;min-height:34px;border:0;border-radius:4px;text-align:left;padding:7px 10px;background:white;color:#2f4b62;font-size:11.5px;cursor:pointer}
.m2m-context-menu button[role=menuitem]:hover,.m2m-context-menu button[role=menuitem]:focus-visible{background:#f1f6fa;color:#126293;outline:none}
.m2m-context-menu .m2m-menu-danger{color:#ac4d58!important}
.m2m-context-menu .m2m-menu-danger:hover{background:#fff3f3!important}
.m2m-readonly-field{border:1px solid #e1e9f0;background:#f8fafc;border-radius:5px;padding:11px 12px;color:#5c7285;font-size:11px}
.m2m-toggle-row{display:flex;align-items:center;gap:9px;padding:10px 0;font-size:12px;color:#375268;cursor:pointer}
.m2m-toggle-row input{accent-color:#2275a7;width:16px;height:16px}
.m2m-config-hint{color:#8192a2;font-size:11px;line-height:1.6;margin:8px 0}



/* The editor is rendered outside .m2m-page; it must own its theme tokens.
   Previously var(--m2m-blue) was undefined in the overlay, leaving white
   text on a white background for the primary Save action. */
.m2m-overlay { --m2m-blue:#176ba6; }
.m2m-overlay .m2m-button-primary {
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1;
  background-color:#176ba6!important;
  border-color:#176ba6!important;
  color:#fff!important;
  text-shadow:none;
}
.m2m-overlay .m2m-button-primary:hover {background-color:#0e598e!important;border-color:#0e598e!important;}
.m2m-overlay .m2m-button-primary:disabled {opacity:.6!important;cursor:wait;}
.m2m-drawer-footer {justify-content:flex-start;align-items:center;position:relative;z-index:2;}
.m2m-editor-credential-section {border-top:1px solid #e5edf2;margin-top:19px;padding-top:19px;}
.m2m-editor-credential-section h3 {font-size:13px;font-weight:700;color:#2b465d;margin:0 0 8px;}
.m2m-editor-credential-section p {font-size:11px;line-height:1.6;color:#778b9c;margin:0 0 14px;}
.m2m-editor-credential-section label {display:block;color:#4b6378;font-size:11px;font-weight:650;margin-bottom:7px;}
.m2m-editor-credential-section select {width:100%;min-height:37px;margin-bottom:12px;}
.m2m-editor-empty-credential {background:#f8fafc;border:1px solid #e7edf2;border-radius:5px;padding:12px;font-size:11px;color:#75889a;margin-bottom:12px;}
.m2m-editor-credential-section .m2m-button {margin:0 9px 9px 0;}

/* M2M expiration and observed API consumers. */
.m2m-expiry-section{padding:13px 15px 8px;border:1px solid #e3eaf1;background:#fafdff;border-radius:6px;margin:3px 0 19px;}
.m2m-expiry-section .m2m-form-field{margin-bottom:13px;}
.m2m-expiry-section input[type=date]{max-width:240px;}
.m2m-never-option{display:flex;align-items:center;gap:9px;padding:4px 0 10px;font-size:12px;font-weight:650;color:#2e536e;cursor:pointer;}
.m2m-never-option input{accent-color:#166d9f;width:15px;height:15px;}
.m2m-never-warning{background:#fff8ed;border:1px solid #f0d9b4;border-radius:5px;padding:13px 15px;margin:1px 0 9px;}
.m2m-never-warning[hidden]{display:none!important;}
.m2m-never-warning strong{color:#785224;font-size:12px;}
.m2m-never-warning p{font-size:11px;line-height:1.5;color:#866e4e;margin:7px 0 10px;}
.m2m-never-warning label{display:block;font-size:10.5px;color:#6b563d;margin-bottom:5px;}
.m2m-never-warning input{width:100%;max-width:350px;}
.m2m-permanent{font-weight:650;color:#765b31;}
.m2m-client-button{border:0;background:transparent;color:#256b9c;font-size:11px;font-weight:650;padding:5px 0;cursor:pointer;white-space:nowrap;}
.m2m-client-button:hover{text-decoration:underline;}
.m2m-activity-dot{display:inline-block;background:#2a9b70;height:7px;width:7px;border-radius:50%;margin-right:7px;}
.m2m-user-summary{background:#f6f9fc;border:1px solid #e1eaf1;border-radius:5px;padding:12px 14px;color:#38556b;font-size:12px;margin-bottom:17px;}
.m2m-users-empty{padding:19px 15px;border:1px dashed #c9d9e5;border-radius:5px;color:#7b8e9d;font-size:12px;line-height:1.65;}
.m2m-client-entry{border-bottom:1px solid #e7edf3;padding:17px 3px;}
.m2m-client-entry:first-child{padding-top:6px;}
.m2m-client-entry-title{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:11px;}
.m2m-client-entry-title strong{color:#28465c;font-size:13px;font-family:ui-monospace,monospace;}
.m2m-client-detail{margin:7px 0;font-size:11px;color:#687e90;overflow-wrap:anywhere;}
.m2m-user-active{color:#267b58;font-weight:700;font-size:10px;}
.m2m-user-inactive{color:#8d9bac;font-size:10px;}
.m2m-users-footnote{color:#7b8da0;font-size:11px;line-height:1.6;margin-top:22px;}


.m2m-expiry-form{border:1px solid #e1e9ef;border-radius:6px;background:#fcfdfe;padding:14px 15px;margin:13px 0 15px;}
.m2m-expiry-form .m2m-form-field{margin-bottom:11px;}
.m2m-expiry-form input[type=date]{max-width:240px;}
.m2m-expiry-current{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid #e9eef3;font-size:11.5px;}
.m2m-expiry-current span{color:#718397;}
.m2m-expiry-current strong{font-weight:720;color:#265270;}
.m2m-expiry-feedback{margin-top:10px;font-size:11px;color:#376f55;line-height:1.5;}
.m2m-expiry-form .m2m-button{margin-top:8px;}
