/* Tennant Auth Popup Minimal — v3.0.0 (sem logo) */
:root{
  --tennant-teal: #009AC7;
  --tennant-dark: #015570;
  --tennant-text: #333333;
  --gray-700: #454F57;
  --gray-300: #DDE4E8;
  --gray-100: #F1F2F2;
  --focus-outline: #007B9F;
  --shadow-lg: 0 12px 30px rgba(0,0,0,.18);
}

.tnp-overlay{
  position: fixed; inset:0; background: rgba(0,0,0,.35);
  display:none; align-items:center; justify-content:center; z-index: 9999;
  font-family: 'Open Sans', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.tnp-card{
  width:100%; max-width:520px; background:#fff; border-radius:20px;
  border:1px solid var(--gray-300); box-shadow: var(--shadow-lg);
  overflow:hidden; transform: translateY(8px); animation: tnpIn .35s ease-out forwards;
}
@keyframes tnpIn { to { transform: translateY(0); } }

.tnp-header{ background: linear-gradient(0deg, var(--tennant-dark), var(--tennant-teal)); color:#fff; padding:18px 22px; }
.tnp-header h1{ margin:0; font-weight:700; font-size:20px; color:#fff !important; }
.tnp-body{ padding:20px 22px 18px; }
.tnp-welcome{ background: var(--gray-100); border:1px solid var(--gray-300); padding:14px 16px; border-radius:12px; margin-bottom:16px; line-height:1.45; }

.tnp-field{ display:grid; gap:8px; margin-bottom:14px; }
.tnp-field label{ font-size:14px; font-weight:600; color:var(--tennant-text); }
.tnp-input{ height:44px; padding:10px 14px; border-radius:16px; border:2px solid var(--gray-300); outline:none; font-size:15px; transition:border-color .2s ease; }
.tnp-input:focus{ border-color: var(--focus-outline); box-shadow: 0 0 0 3px rgba(0,123,159,.18); }

.tnp-actions{ display:flex; gap:10px; align-items:center; justify-content:space-between; margin-top:8px; }
.tnp-btn{ appearance:none; -webkit-appearance:none; cursor:pointer; border-radius:16px; padding:10px 18px; font-weight:700; border:2px solid transparent; }
.tnp-primary{ background: var(--tennant-teal); color:#fff; border-color: var(--tennant-teal); }
.tnp-primary:hover{ background: var(--tennant-dark); border-color: var(--tennant-dark); }
.tnp-meta{ font-size:12px; color:var(--gray-700); }

/* Pill simples de status */
.tnp-session-pill{
  position: fixed; right:14px; bottom:14px; z-index:9998;
  display:inline-flex; align-items:center; gap:10px;
  background:#fff; color:var(--tennant-text); border:1px solid var(--gray-300);
  padding:8px 12px; border-radius:999px; box-shadow:0 6px 20px rgba(0,0,0,.12);
  font-family: 'Open Sans', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight:700; font-size:12px;
}
.tnp-pill-action{ color: var(--tennant-teal); text-decoration:none; font-weight:700; }
.tnp-pill-action:hover{ text-decoration: underline; }

/* Alert style when remaining time <= 3min */
.tnp-pill-alert{ border-color:#F47B29; box-shadow:0 6px 20px rgba(244,123,41,.25); }
