.auth-page { min-height: 100vh; background: var(--mg-bg); color: var(--mg-text); }
.auth-page .nav-toggle .open-icon,.auth-page .nav-toggle .close-icon { position: static; opacity: 1; transform: none; font-size: 18px; line-height: 1; }.auth-page .nav-toggle .close-icon { display:none; }.auth-page .nav-toggle[aria-expanded="true"] .open-icon { display:none; }.auth-page .nav-toggle[aria-expanded="true"] .close-icon { display:inline; }
.auth-topbar { display:flex; align-items:center; justify-content:space-between; padding:18px clamp(18px,5vw,64px); border-bottom:1px solid var(--mg-border); background:color-mix(in srgb,var(--mg-bg) 94%,transparent); }
.auth-brand { display:flex; align-items:center; gap:10px; color:var(--mg-text); text-decoration:none; font:700 .82rem 'Space Grotesk',sans-serif; letter-spacing:.1em; }.auth-brand:hover { color:var(--mg-primary); }.auth-mark { display:grid; place-items:center; width:32px; height:32px; color:var(--mg-on-primary); background:var(--mg-primary); border-radius:7px; font-size:1.15rem; }
.auth-top-actions { display:flex; align-items:center; gap:12px; }.auth-home-link { color:var(--mg-text-secondary); text-decoration:none; font-size:.78rem; }.auth-home-link:hover { color:var(--mg-primary); }.auth-page .theme-toggle { border:1px solid var(--mg-border); background:var(--mg-surface-elevated); }
.auth-main { display:flex; justify-content:center; min-width:0; padding:clamp(34px,7vh,72px) 16px 64px; }.auth-card { width:min(100%,420px); max-width:100%; min-width:0; }.auth-card.auth-card-wide { width:min(100%,730px); max-width:100%; min-width:0; }.auth-header { margin-bottom:28px; }.auth-header h1 { margin:7px 0 8px; font-size:clamp(1.75rem,4vw,2.35rem); letter-spacing:-.05em; }.auth-header p { margin:0; color:var(--mg-text-secondary); font-size:.9rem; line-height:1.55; }.auth-eyebrow { color:var(--mg-primary); font:700 .65rem 'JetBrains Mono',monospace; letter-spacing:.12em; }
.auth-form { display:grid; gap:20px; }.auth-section { display:grid; gap:14px; min-width:0; padding:18px; background:var(--mg-surface); border:1px solid var(--mg-border); border-radius:9px; }.auth-section h2 { margin:0; color:var(--mg-text); font-size:.92rem; }.auth-section p.section-help { margin:-7px 0 0; color:var(--mg-text-muted); font-size:.73rem; }.field { display:grid; gap:7px; }.field label,.field legend { color:var(--mg-text-secondary); font:600 .67rem 'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }.auth-control { width:100%; min-height:42px; padding:10px 12px; color:var(--mg-text); background:var(--mg-surface-elevated); border:1px solid var(--mg-border); border-radius:7px; outline:0; font:400 .84rem 'Space Grotesk',sans-serif; transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }.auth-control::placeholder { color:var(--mg-text-muted); }.auth-control:focus { border-color:var(--mg-primary); box-shadow:0 0 0 3px var(--mg-primary-tint); }.password-wrap { position:relative; }.password-wrap .auth-control { padding-right:42px; }.password-toggle { position:absolute; right:8px; top:5px; width:32px; height:32px; color:var(--mg-text-secondary); background:transparent; border:0; border-radius:5px; }.password-toggle:hover { color:var(--mg-primary); background:var(--mg-primary-tint); }
.form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.choice-group { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; }.choice-label { display:flex; align-items:center; justify-content:center; min-height:40px; padding:8px; color:var(--mg-text-secondary); background:var(--mg-surface-elevated); border:1px solid var(--mg-border); border-radius:6px; cursor:pointer; font-size:.8rem; transition:.2s ease; }.choice-label:hover { border-color:var(--mg-border-strong); color:var(--mg-text); }.choice-label.is-active { color:var(--mg-primary); background:var(--mg-primary-tint); border-color:var(--mg-primary); }.choice-label input { position:absolute; opacity:0; pointer-events:none; }.check-row { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--mg-text-secondary); font-size:.78rem; }.check-row label { display:flex; align-items:center; gap:7px; cursor:pointer; }.check-row input { accent-color:var(--mg-primary); }.auth-link { color:var(--mg-primary); text-decoration:none; }.auth-link:hover { color:var(--mg-text); }.profile-picker { display:flex; align-items:center; gap:14px; min-width:0; }.profile-preview { display:grid; place-items:center; width:64px; height:64px; overflow:hidden; color:var(--mg-text-muted); background:var(--mg-surface-elevated); border:1px dashed var(--mg-border-strong); border-radius:50%; font-size:1.5rem; }.profile-preview img { width:100%; height:100%; object-fit:cover; }.profile-picker-copy { display:grid; gap:7px; min-width:0; }.profile-picker-copy p { margin:0; color:var(--mg-text-muted); font-size:.72rem; }.file-name { color:var(--mg-text-secondary); font-size:.7rem; }.profile-buttons { display:flex; gap:7px; }.auth-submit { width:100%; min-height:44px; color:var(--mg-on-primary); background:var(--mg-primary); border:1px solid var(--mg-primary); border-radius:7px; font-weight:700; transition:transform .2s ease,filter .2s ease; }.auth-submit:hover { filter:brightness(1.08); transform:translateY(-1px); }.auth-submit:active { transform:translateY(0); }.auth-submit:active { transform:translateY(0); }.auth-footer { margin-top:20px; color:var(--mg-text-secondary); text-align:center; font-size:.8rem; }.auth-message { padding:10px 12px; color:var(--mg-success); background:var(--mg-success-tint); border:1px solid color-mix(in srgb,var(--mg-success) 40%,transparent); border-radius:6px; font-size:.75rem; }.auth-message[hidden] { display:none; }.auth-page a { text-decoration:none; }.auth-page .btn-outline-secondary { color:var(--mg-text-secondary); border-color:var(--mg-border); }.auth-page .btn-outline-secondary:hover { color:var(--mg-text); background:var(--mg-surface-hover); border-color:var(--mg-border-strong); }
@media(max-width:600px){.auth-topbar{padding:14px 16px}.auth-home-link{font-size:.7rem}.auth-main{padding-top:32px}.auth-section{padding:14px}.form-row{grid-template-columns:1fr}.auth-card-wide{width:100%}.profile-picker{align-items:flex-start}.check-row{align-items:flex-start;flex-direction:column}.auth-footer{padding-bottom:18px}}
@media(prefers-reduced-motion:reduce){.auth-page *{transition-duration:.01ms!important;animation:none!important}}

.auth-main { max-width: 100%; overflow-x: hidden; }

#main-content { width: 100%; max-width: 100%; min-width: 0; }
.auth-main { box-sizing: border-box; width: 100%; }
.choice-label input { width: auto; }
.password-guide { padding: 12px 14px; background: var(--mg-surface-elevated); border: 1px solid var(--mg-border); border-radius: 7px; }
.password-guide p { margin: 0 0 8px; color: var(--mg-text-secondary); font-size: .76rem; font-weight: 600; }
.password-guide ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 12px; margin: 0; padding: 0; list-style: none; }
.password-guide li { display: flex; align-items: center; gap: 7px; color: var(--mg-text-muted); font-size: .75rem; }
.password-check-icon { flex: none; width: 16px; color: var(--mg-danger); text-align: center; font-size: .95rem; line-height: 1; }
.password-guide li.is-met, .password-guide li.is-met .password-check-icon { color: var(--mg-success); }
@media (max-width: 600px) { .password-guide ul { grid-template-columns: 1fr; } }
