/* Authentication/account-only components. Admin UI is isolated in assets/admin/admin.css. */
.auth-page{min-height:520px;display:flex;justify-content:center;align-items:flex-start;padding-top:30px}
.auth-card{width:min(100%,520px);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:28px;box-shadow:0 2px 8px rgba(25,55,80,.06)}
.auth-card h1{margin:4px 0 12px}
.auth-card form{display:grid;gap:16px;margin-top:22px}
.auth-card small{color:var(--muted)}
.auth-submit{border:0;cursor:pointer;font:inherit}
.auth-message{padding:11px 13px;border-radius:7px;margin:16px 0}
.auth-message.error{background:#f7e6e6;border:1px solid #d9aaaa;color:#7a2323}
.auth-message.success{background:#e6f3eb;border:1px solid #afd0bb;color:#235b39}
.auth-foot{margin:20px 0 0;color:var(--muted)}
.auth-foot a{color:var(--accent)}
.logout-form{display:inline-flex!important;margin:0!important;gap:0!important}
.logout-form button{border:0;background:transparent;color:#fff;font:inherit;cursor:pointer;padding:0}
.account-details{display:grid;gap:12px;margin:22px 0}
.account-details div{padding:13px 14px;border:1px solid var(--line);border-radius:7px;background:#f4f8fb}
.account-details span{display:block;color:var(--muted);font-size:13px}
.account-details strong{display:block;margin-top:2px;overflow-wrap:anywhere}
.account-details small{display:block;margin-top:3px}
.auth-secondary-form{border-top:1px solid var(--line);padding-top:18px}
.auth-secondary-form .field{margin-bottom:4px}
.account-actions{display:flex;gap:10px;align-items:center;margin-top:22px}
.account-actions form{margin:0;display:block}
.account-actions .button{margin:0}
.profile-summary{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f4f8fb;margin:20px 0}
.profile-avatar{width:64px;height:82px;border-radius:8px;overflow:hidden;flex:0 0 64px;background:#fff;border:1px solid var(--line);display:flex;align-items:flex-end;justify-content:center}
.profile-avatar img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.profile-summary-text{min-width:0;flex:1}
.profile-summary-text strong{display:block;font-size:17px;overflow-wrap:anywhere}
.profile-summary-text span{display:block;margin-top:3px;color:var(--muted);font-size:13px}
.profile-edit-button{white-space:nowrap}
.avatar-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.profile-photo-upload{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px;margin:2px 0 12px;border:1px dashed var(--line);border-radius:8px;background:#f8fbfd}
.upload-avatar-button{cursor:pointer;margin:0}
.avatar-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.upload-photo-submit{margin:0}
.profile-photo-upload small{flex-basis:100%}
.field{display:grid;gap:6px}
.field>span{font-weight:600}
.field input,.field textarea,.field select{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font:inherit}
.field input:disabled{background:#eef3f7;color:var(--muted)}
.avatar-options{border:1px solid var(--line);border-radius:7px;padding:14px;margin:2px 0 0}
.avatar-options legend{font-weight:600;padding:0 5px}
.avatar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.avatar-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;min-height:156px;padding:8px 6px 7px;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:#fff;overflow:hidden}
.avatar-option:has(input:checked){border-color:var(--accent);background:#eaf3fa;box-shadow:0 0 0 2px rgba(24,108,168,.12)}
.avatar-option input{position:absolute;opacity:0}
.avatar-option img{display:block;width:100%;height:125px;object-fit:contain;object-position:center bottom}
.avatar-option small{font-size:12px;color:var(--muted)}
@media(max-width:600px){
  .profile-summary{align-items:flex-start;flex-wrap:wrap}
  .profile-edit-button{margin-left:77px}
  .avatar-grid{grid-template-columns:repeat(2,1fr)}
  .avatar-option{min-height:150px}
  .avatar-option img{height:120px}
}
.save-calculation-card{width:min(100%,620px)}
.save-calculation-card .muted{line-height:1.6}
.save-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;margin:18px 0;border:1px solid var(--line);border-radius:7px;background:#f4f8fb}
.save-summary span{color:var(--muted);white-space:nowrap}
.save-account-choice{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.save-account-choice h2{margin:0 0 8px}
@media(max-width:600px){.save-summary{align-items:flex-start;flex-direction:column}.save-summary span{white-space:normal}}

