body:not(.authenticated) .app{visibility:hidden}
.auth-screen{position:fixed;inset:0;z-index:1000;background:linear-gradient(135deg,var(--brand),#245b60);display:grid;place-items:center;padding:24px}
.auth-card{width:min(460px,100%);background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.auth-logo{display:block;width:210px;margin:0 auto 24px;background:var(--brand);border-radius:12px;padding:12px}
.auth-card h1{margin:0 0 6px;font-size:30px;color:var(--brand)}
.auth-card p{margin:0 0 20px;color:var(--muted)}
.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;font-size:14px;color:var(--muted)}
.auth-form input,.auth-form select{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px}
.auth-error{min-height:20px;color:var(--red);font-size:13px}
.admin-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:18px}.admin-form{display:grid;gap:12px}.admin-form label{display:grid;gap:5px;color:var(--muted);font-size:13px}.admin-form input,.admin-form select{padding:10px;border:1px solid var(--line);border-radius:9px}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.users-table th{color:var(--muted);font-size:13px}.user-chip{font-size:12px;border-radius:20px;padding:4px 8px;background:var(--green-soft);color:var(--green)}
.session-box{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.15);display:grid;gap:8px;color:#c8dcda;font-size:13px}.session-box button{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;border-radius:8px;padding:7px}
@media(max-width:900px){.session-box{margin-top:0}.admin-grid{grid-template-columns:1fr}}
