
/* Light theme for Portal */
:root{
  --portal-radius: 1rem;
  --portal-shadow: 0 10px 30px rgba(0,0,0,.08);
  --portal-border: 1px solid rgba(0,0,0,.08);
  --portal-accent: #5b63ff;
}
.container{ max-width: 1100px; }
.card{ border-radius: var(--portal-radius); border: var(--portal-border); box-shadow: var(--portal-shadow); }
.btn, .form-control, .form-select, .input-group-text{ border-radius: .8rem; }
.btn-primary, .btn-outline-primary:hover{ background: var(--portal-accent); border-color: var(--portal-accent); }
a{ color: var(--portal-accent); } a:hover{ opacity:.9; }
.table{ border-radius: var(--portal-radius); overflow: hidden; }
.table thead th{ background: linear-gradient(180deg, rgba(0,0,0,.03), transparent); border-bottom-width:1px; }
.table-hover tbody tr:hover{ background-color: rgba(91,99,255,.08); }
.portal-search .input-group-text{ background: transparent; }
.portal-search .form-control:focus{ box-shadow: 0 0 0 .2rem rgba(91,99,255,.2); border-color: var(--portal-accent); }
.badge{ border-radius: 2rem; padding: .45em .7em; font-weight: 600; }
.navbar-brand{ letter-spacing:.2px; }
.portal-login-wrapper{ max-width: 520px; margin: 6rem auto; }

.portal-login-card .card-body{ padding: 1.25rem 1.25rem 1.5rem; }
.portal-login-card .form-control{ padding: .7rem .9rem; }
.portal-login-card .form-check{ margin-top: .25rem; margin-bottom: .75rem; }
