
/* Caption Studio authentication + administration */
.authBody{min-height:100vh;background:radial-gradient(circle at top,#18233d 0,#0b1020 42%,#080b13 100%);color:var(--text,#fff)}
.authShell{min-height:100vh;display:grid;place-items:center;padding:28px 16px}
.authCard{width:min(100%,460px);background:rgba(14,20,35,.96);border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.38)}
.wideAuthCard{width:min(100%,560px)}
.authBrand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;margin-bottom:30px}.authBrand>span:last-child{display:flex;flex-direction:column}.authBrand small{opacity:.62;margin-top:2px}
.authCard h1{font-size:clamp(30px,6vw,44px);margin:6px 0 10px}.authLead{opacity:.72;line-height:1.55;margin:0 0 24px}.authFoot{font-size:12px;opacity:.55;text-align:center;margin:18px 0 0}
.authForm{display:grid;gap:10px}.authForm .btn{margin-top:8px}.authAlert{padding:12px 14px;border-radius:12px;margin:0 0 18px;border:1px solid rgba(255,255,255,.12);font-size:14px}.authAlert.error{background:rgba(255,82,105,.12);border-color:rgba(255,82,105,.35)}.authAlert.success{background:rgba(88,239,184,.11);border-color:rgba(88,239,184,.3)}
.authTopActions{align-items:center}.inlineForm{display:inline-flex;margin:0}.userChip{display:flex;flex-direction:column;min-width:0;padding:5px 10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.04)}.userChip strong{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.userChip small{font-size:10px;opacity:.58;margin-top:1px}
.adminShell{padding-top:30px;padding-bottom:60px}.adminPageTitle{margin-bottom:20px}.adminLead{opacity:.68;max-width:760px;line-height:1.5}.adminGrid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.adminCreateCard{position:sticky;top:88px}.adminCreateCard h2{margin-top:4px}.adminUsersCard{min-width:0}.compactSectionHead{margin-top:0}.userTableWrap{overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:14px}.userTable{width:100%;border-collapse:collapse;min-width:760px}.userTable th,.userTable td{text-align:left;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:middle}.userTable th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.55}.userTable tbody tr:last-child td{border-bottom:0}.userTable td>strong{display:block}.userTable td>small{display:block;opacity:.55;margin-top:3px}.roleBadge,.statusBadge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;border:1px solid rgba(255,255,255,.1)}.roleBadge{background:rgba(255,255,255,.05)}.adminRole{background:rgba(182,165,255,.13);border-color:rgba(182,165,255,.28)}.activeStatus{background:rgba(88,239,184,.12);border-color:rgba(88,239,184,.28);color:#8ff6cf}.disabledStatus{background:rgba(255,82,105,.1);border-color:rgba(255,82,105,.25);color:#ff9aaa}.userActions{display:flex;gap:7px;align-items:center}.mutedAdminAction{font-size:11px;opacity:.45}
.topbar .brand{color:inherit;text-decoration:none}
@media(max-width:900px){.adminGrid{grid-template-columns:1fr}.adminCreateCard{position:static}.authTopActions .userChip{display:none}}
@media(max-width:640px){.authCard{padding:22px 18px;border-radius:18px}.authTopActions{gap:6px}.authTopActions .btn{padding-inline:10px}.adminShell{padding-top:18px}.adminPageTitle h1{font-size:30px}.topbar{padding-left:10px;padding-right:10px}}
