.account-nav { display:flex; align-items:center; gap:20px; margin:0 48px; padding:16px 0; border-bottom:1px solid #e2e8f0; font-size:15px; flex-wrap:wrap; }
.account-nav a,.auth-links a,.pagination a { color:#165c9b; text-decoration:none; }
.auth-links a:hover { text-decoration:underline; }
.account-nav > a,.account-nav > a:hover,.account-nav > a:focus { font-weight:700; text-decoration:none; }
.account-nav form { margin:0; }
.user-name { margin-left:auto; color:#66768a; }
.text-button { border:0; padding:0; background:transparent; color:#52657a; cursor:pointer; font:inherit; }
.account-main { display:block; min-height:0; margin:44px 20px; }
.account-card,.admin-card { width:100%; max-width:430px; margin:auto; padding:30px; background:#fff; border:1px solid #dce3eb; border-radius:16px; box-shadow:0 10px 35px #21334908; }
h1 { margin:0 0 18px; font-size:23px; letter-spacing:-.4px; }
.intro { font-size:14px; line-height:1.6; color:#66768a; margin:0 0 24px; }
.account-card label { display:block; margin-bottom:18px; font-size:13px; font-weight:600; }
.account-card input,.account-card select { display:block; width:100%; margin-top:7px; min-height:43px; padding:10px 12px; border:1px solid #bfcbd8; border-radius:7px; font:inherit; font-weight:400; background:white; color:#213349; }
select:focus-visible,input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #91c5f5; outline-offset:3px; }
.primary,.secondary { border:1px solid #1260ae; border-radius:7px; padding:11px 16px; cursor:pointer; font:600 13px Arial,sans-serif; }
.primary { background:#1260ae; color:white; }
.secondary { background:white; color:#315875; border-color:#bfccd8; }
.account-card .primary { width:100%; margin-top:6px; }
.auth-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:24px; font-size:12px; }
.notice { max-width:900px; margin:20px auto; padding:14px 20px; border-radius:9px; background:#e8f4ea; color:#295c35; font-size:14px; line-height:1.5; }
.notice.error { background:#fceeee; color:#943c3c; }
.account-email { font-size:14px; color:#52657a; }
details { margin:24px 0; font-size:13px; } summary { cursor:pointer; margin-bottom:18px; }
.admin-main { display:block; margin:44px 20px; min-height:0; }
.table-scroll { overflow-x:auto; background:white; border:1px solid #dce3eb; border-radius:12px; }
table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; }
th { background:#eef3f8; font-weight:600; font-size:12px; color:#52657a; }
th,td { padding:16px; border-bottom:1px solid #e5eaf0; line-height:1.6; }
td form { display:inline-block; margin:3px 6px 3px 0; }
.muted { color:#66768a; font-size:12px; }.badge { font-size:11px; color:#1260ae; }.mail-error { color:#a43c3c; font-size:12px; }
.pagination { display:flex; gap:20px; margin:20px 0; font-size:13px; }
@media(max-width:750px) { .account-nav { margin:0 20px; gap:14px; } .user-name { margin-left:0; } .account-card,.admin-card { padding:24px; } .notice { margin:16px; } }
.personal-calendar { padding:36px 20px 48px; min-width:0; border-right:1px solid #dce3eb; }
.personal-calendar h1 { margin-bottom:6px; }
.calendar-meta,#calendar-status { color:#66768a; font-size:13px; line-height:1.5; }
#calendar-events { list-style:none; padding:0; margin:20px 0 0; }
#calendar-events li { display:grid; grid-template-columns:150px minmax(0,1fr); gap:14px; padding:10px 0; border-bottom:1px solid #dce3eb; font-size:13px; line-height:1.5; }
.calendar-event-title { font-weight:600; }
#calendar-events li > span { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.calendar-when { font-size:13px; color:#1260ae; margin:0; }
.calendar-settings { border:0; border-top:1px solid #dce3eb; margin:24px 0; padding:18px 0 0; }
.calendar-settings legend { font-size:15px; font-weight:600; padding-right:10px; }
.account-card .calendar-remove { display:flex; gap:10px; align-items:center; }
.account-card .calendar-remove input { width:16px; min-height:16px; margin:0; }
@media(max-width:1100px) { .personal-calendar { border-right:0; } }
@media(max-width:820px) { .personal-calendar { padding:24px 0; border-top:1px solid #dce3eb; } }
.latest-galleries { min-width:0; padding:36px 20px 48px; }
.latest-galleries h1 { margin-bottom:6px; }
#galleries-status { color:#66768a; font-size:13px; }
#gallery-list { list-style:none; padding:0; margin:20px 0 0; }
#gallery-list li { display:grid; grid-template-columns:82px minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid #dce3eb; font-size:13px; line-height:1.5; }
.gallery-date { color:#66768a; white-space:nowrap; }
#gallery-list a { color:#1260ae; text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:600; }
#gallery-list a:hover { text-decoration:underline; }
@media(max-width:1250px) { .latest-galleries { border-top:1px solid #dce3eb; } .personal-calendar,.calendar-empty { border-right:0; } }
@media(max-width:820px) { .latest-galleries { padding:24px 0; } }
.profile-card,.admin-card { max-width:760px; }
.profile-tabs { display:flex; flex-wrap:wrap; gap:4px; border-bottom:1px solid #dce3eb; margin:0 0 26px; }
.profile-tabs button { border:0; border-bottom:3px solid transparent; border-radius:6px 6px 0 0; background:transparent; padding:12px 14px; color:#52657a; font:600 13px Arial,sans-serif; cursor:pointer; }
.profile-tabs button[aria-selected="true"] { color:#1260ae; background:#eef5fc; border-bottom-color:#1260ae; }
.profile-panel { max-width:520px; margin:0 auto 22px; }
.profile-panel[hidden] { display:none; }
.profile-card .primary { display:block; max-width:520px; margin:6px auto 0; }
.profile-card input[readonly] { background:#f4f7fa; color:#52657a; }
.generators h1 { margin-bottom:24px; }
@media(max-width:600px) { .profile-tabs { display:grid; grid-template-columns:1fr 1fr; } .profile-tabs button { padding:10px 6px; } }

.admin-tabs { display:flex; gap:4px; border-bottom:1px solid #dce3eb; margin:20px 0 26px; }
.admin-tabs a { padding:12px 16px; border-bottom:3px solid transparent; font-weight:600; text-decoration:none; }
.admin-tabs a[aria-current="page"] { background:#eef5fc; border-bottom-color:#1260ae; border-radius:6px 6px 0 0; }
.generator-form { max-width:620px; margin-bottom:32px; }
.generator-form label { display:block; margin:18px 0; font-weight:600; }
.generator-form input { display:block; width:100%; box-sizing:border-box; margin-top:8px; padding:12px; border:1px solid #c5d2e1; border-radius:7px; background:white; }
.generator-form .muted { font-size:13px; line-height:1.5; }
.generator-catalog { display:grid; gap:16px; }
.generator-entry { display:flex; align-items:center; gap:16px; }
.generator-entry img { object-fit:contain; border-radius:8px; }
.generator-entry a { overflow-wrap:anywhere; }

.sport-choices { border:0; padding:0; margin:0 0 24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 24px; }
.sport-choices legend { font-weight:600; margin-bottom:20px; }
.profile-card .sport-choices label { display:flex; align-items:center; gap:10px; margin:0; }
.profile-card .sport-choices input[type=checkbox] { width:18px; height:18px; margin:0; padding:0; flex:none; accent-color:#1260ae; }
@media(max-width:520px) { .sport-choices { grid-template-columns:1fr; } }

.admin-card .generator-form { max-width:520px; margin:0 auto 32px; }
.account-nav .text-button { font-weight:700; }
.account-nav .user-name { font-weight:400; }

.account-nav > a,.account-nav > a:hover,.account-nav > a:focus,.account-nav .user-name,.account-nav .text-button { color:#000; }

.account-card .remember-login { display:flex; align-items:center; gap:8px; font-weight:400; }
.account-card .remember-login input { width:16px; height:16px; min-height:16px; padding:0; margin:0; accent-color:#1260ae; }

/* Consistent account actions, with a separate confirmation panel. */
.admin-tabs a,.admin-tabs a:visited { color:#52657a; }
.admin-tabs a[aria-current="page"] { color:#1260ae; }
.user-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:8px; }
.user-actions > form { margin:0; }
.user-actions > form > button,.delete-account > summary { min-width:100px; min-height:38px; padding:10px 12px; text-align:center; font:600 13px Arial,sans-serif; }
.delete-account { margin:0; font-size:13px; }
.delete-account > summary { display:block; list-style:none; margin:0; border:1px solid #e6bcbc; border-radius:7px; color:#a12626; background:#fff; cursor:pointer; }
.delete-account > summary::-webkit-details-marker { display:none; }
.delete-account > summary:hover { background:#fff4f4; border-color:#c98080; }
.delete-account[open] { flex-basis:100%; }
.delete-account[open] > summary { width:fit-content; }
.delete-account > form { display:block; margin:10px 0 0; padding:14px; border:1px solid #efd5d5; border-radius:8px; background:#fff8f8; }
.delete-account p { max-width:260px; margin:0 0 12px; font-size:12px; line-height:1.5; }
.delete-account label { display:flex; align-items:center; gap:7px; margin-bottom:14px; font-size:12px; }
.delete-account input[type=checkbox] { accent-color:#1260ae; }
.delete-account .danger { color:#fff; background:#a12626; border-color:#a12626; }

.gallery-default-section { border-top:1px solid #dce3eb; margin-top:24px; padding-top:20px; }
.gallery-default-options { border:0; margin:0; padding:0; }
.gallery-default-options legend { font-size:13px; font-weight:600; padding:0; margin-bottom:12px; }
.gallery-default-options > div { display:flex; align-items:center; gap:26px; }
.profile-card .gallery-default-options label { display:inline-flex; align-items:center; gap:7px; margin:0; font-weight:400; cursor:pointer; }
.profile-card .gallery-default-options input { width:16px; height:16px; min-height:16px; margin:0; padding:0; accent-color:#1260ae; }
