[hidden] { display: none !important; }
.topbar-account { display: flex; gap: 8px; align-items: center; margin-left: auto; }
.topbar-account button { border: 1px solid rgba(178,161,236,.25); border-radius: 10px; background: #211b35; color: #d5cbea; padding: 10px 12px; cursor: pointer; }
.topbar-account button:hover { border-color: #9472ed; }
.access-screen { min-height: calc(100vh - 32px); display: grid; place-items: center; padding: 32px 18px; background: radial-gradient(circle at 30% 0%, #352052 0%, #171425 45%, #100f19 100%); }
.access-card { width: min(100%, 440px); padding: 36px; border: 1px solid #4a395f; border-radius: 24px; background: #211b33; box-shadow: 0 25px 80px rgba(0,0,0,.28); color: #ede8f5; }
.access-brand { font-size: 24px; font-weight: 800; letter-spacing: -.06em; margin-bottom: 36px; }
.access-brand span { color: #aa83ff; }
.access-card .eyebrow { color: #bc98ff; }
.access-card h1 { font-size: 28px; margin: 9px 0; }
.access-card p { color: #bcb2ce; line-height: 1.55; }
.access-card form { display: grid; gap: 16px; margin-top: 26px; }
.access-card label, .org-form label { display: grid; gap: 7px; color: #d5cce3; font-size: 13px; }
.access-card input, .org-form input, .org-form select, .org-code-form input { min-width: 0; width: 100%; border: 1px solid #58486e; border-radius: 12px; background: #161322; color: #fff; padding: 13px 14px; font: inherit; outline: none; }
.access-card input:focus, .org-form input:focus, .org-form select:focus, .org-code-form input:focus { border-color: #ad87ff; box-shadow: 0 0 0 3px rgba(173,135,255,.15); }
.access-card .primary-button { width: 100%; justify-content: center; margin-top: 4px; }
.access-error { min-height: 1em; color: #ffadba !important; margin: 0; font-size: 13px; }
.access-links { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin-top: 25px; }
.access-links a { color: #c7aaff; font-size: 12px; text-decoration: none; }
.org-panel { margin-bottom: 18px; padding: 22px; }
.org-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; align-items: end; padding: 18px 0 2px; }
.org-form .primary-button, .org-form .secondary-button { align-self: end; min-height: 45px; justify-content: center; }
.org-muted { color: #aca2bc; font-size: 13px; line-height: 1.5; }
.org-city-list, .org-staff-list { display: grid; gap: 10px; padding-top: 14px; }
.org-city, .org-person { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; border: 1px solid #3b304d; border-radius: 14px; padding: 14px; background: #231d34; }
.org-city > div:first-child, .org-person > div:first-child { display: grid; gap: 5px; flex: 1 1 180px; }
.org-city strong, .org-person strong { color: #eee8f7; }
.org-city small, .org-person small { color: #aaa0bb; }
.org-code-form { display: flex; gap: 8px; flex: 1 1 250px; }
.org-code-form input { flex: 1; }
.org-person label { display: flex; align-items: center; gap: 6px; color: #d6cde1; font-size: 12px; }
.org-person input[type=checkbox] { accent-color: #9f77f0; }
.org-secret { display: grid; gap: 12px; margin-bottom: 20px; padding: 24px; border: 1px solid #9b75e6; }
.org-secret strong { color: #eee5fb; font-size: 18px; }
.org-secret p { margin: 0; color: #bfb4ce; }
.org-secret code { display: block; overflow-wrap: anywhere; border-radius: 10px; padding: 14px; color: #f2ddff; background: #171221; font-size: 15px; user-select: all; }
.org-secret button { justify-self: start; }
.org-message { min-height: 1em; color: #e1d4f5; }
@media (max-width: 900px) { .topbar-account { width: 100%; justify-content: flex-end; } .org-form { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .access-card { padding: 25px 20px; } .org-code-form { flex-direction: column; } .org-person button { width: 100%; } }
