/* Sesión / modal auth */
.plucap-session-item a { white-space: nowrap; }
.plucap-auth-modal {
  position: fixed; inset: 0; z-index: 100000;
  display: flex; align-items: center; justify-content: center;
}
.plucap-auth-modal[hidden] { display: none !important; }
.plucap-auth-backdrop {
  position: absolute; inset: 0; background: rgba(16,24,40,.45);
}
.plucap-auth-card {
  position: relative; z-index: 1; width: min(420px, 92vw);
  background: #fff; border-radius: 12px; padding: 1.5rem;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  font-family: "Segoe UI", system-ui, sans-serif;
}
.plucap-auth-close {
  position: absolute; top: .5rem; right: .75rem;
  border: 0; background: transparent; font-size: 1.5rem; cursor: pointer; color: #666;
}
.plucap-auth-card h2 { margin: 0 0 1rem; font-size: 1.25rem; }
.plucap-auth-tabs { display: flex; gap: .5rem; margin-bottom: 1rem; }
.plucap-auth-tab {
  flex: 1; border: 1px solid #d8dee6; background: #f6f7f9; padding: .5rem;
  border-radius: 6px; cursor: pointer; font: inherit;
}
.plucap-auth-tab.is-active { background: var(--plucap-accent, #0b6e4f); color: #fff; border-color: transparent; }
.plucap-auth-form label { display: block; margin-bottom: .85rem; font-size: .9rem; color: #445; }
.plucap-auth-form input[type="email"],
.plucap-auth-form input[type="password"],
.plucap-auth-form input[type="text"] {
  width: 100%; margin-top: .3rem; padding: .5rem .65rem; border: 1px solid #d8dee6; border-radius: 6px; font: inherit; box-sizing: border-box;
}
.plucap-pass-wrap { position: relative; display: flex; align-items: center; }
.plucap-pass-wrap input { flex: 1; padding-right: 2.5rem; }
.plucap-toggle-pass {
  position: absolute; right: .35rem; border: 0; background: transparent; cursor: pointer; font-size: 1rem;
}
.plucap-auth-remember { display: flex !important; align-items: center; gap: .4rem; }
.plucap-auth-hint { font-size: .82rem; color: #667; }
.plucap-auth-msg { margin-top: .75rem; font-size: .9rem; }
.plucap-auth-msg.is-error { color: #b42318; }
.plucap-auth-msg.is-ok { color: #0b6e4f; }
.plucap-flash {
  position: fixed; top: 1rem; left: 50%; transform: translateX(-50%);
  z-index: 100001; padding: .75rem 1.25rem; border-radius: 8px;
  background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.15); font-family: inherit;
}
.plucap-flash-success { border-left: 4px solid #0b6e4f; }
.plucap-flash-error { border-left: 4px solid #b42318; }
