/* Blue account surfaces; deliberately compact, including logged-in state. */
.history-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 22px}
.history-toolbar input,.history-toolbar select{border:1px solid #dce4ee;border-radius:9px;padding:10px 12px;background:#fff;color:#304967;max-width:100%}
.history-toolbar span{font-size:12px;color:#7186a3}
#adminRows td,#statsRows td{vertical-align:top}
#statisticsPage .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#statsRange{flex:1}
.account-menu{position:relative;color:#fff;background:linear-gradient(120deg,#164780,#286aca);border-radius:14px;box-shadow:0 6px 18px #16478020}
.account-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:10px 16px;min-width:175px}
.account-menu summary::-webkit-details-marker{display:none}
.account-avatar{display:grid;place-items:center;background:#ffffff24;border-radius:9px;width:34px;height:34px;font-weight:800}
.account-menu small,.account-menu strong{display:block}.account-menu small{font-size:10px;color:#d3e5fc;margin-bottom:3px}.account-menu strong{font-size:14px}
.account-menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:190px;background:white;border:1px solid #dce6f4;border-radius:12px;padding:8px;box-shadow:0 14px 38px #12365c25}
.account-menu-panel button{display:block;width:100%;border:0;background:transparent;border-radius:8px;padding:12px;text-align:left;color:#204f88;font-weight:700;font-size:13px}
.account-menu-panel button:hover{background:#edf4ff}
.account-settings-dialog{width:min(820px,94vw);max-height:88vh;overflow:auto}
#accountSettingsContent .permission-card{border:0;margin:0;padding:0 24px 20px}
#accountSettingsContent #accountRoleLabel{display:flex;align-items:center;gap:12px;padding:0 24px 18px;font-size:13px;color:#537397}
#accountSettingsContent #roleSelect{border:1px solid #dbe3ed;border-radius:8px;padding:8px;background:#f2f7fd;color:#304967}
#accountSettingsContent #passwordChangePanel{padding:0 24px 24px}
#accountSettingsContent #passwordChangePanel label{display:grid;gap:7px;margin:12px 0;color:#74849b;font-size:13px}
#accountSettingsContent #passwordChangePanel input{border:1px solid #dce4ee;border-radius:8px;padding:10px;width:100%}
#accountSettingsContent #changePasswordBtn{background:#286aca;color:white;border:0;border-radius:8px;padding:12px 20px}
#accountSettingsContent .form-grid{padding-left:0;padding-right:0}
body[data-authenticated="true"] #accountsPage>.account-grid,body[data-authenticated="true"] #accountsPage>.page-intro{display:none}
body:not([data-authenticated="true"]) #accountsPage.page.active{background:linear-gradient(125deg,#082c66 0%,#1455aa 60%,#2778d6 100%);color:#fff}
body:not([data-authenticated="true"]) #accountsPage>.auth-welcome{color:#fff}
body:not([data-authenticated="true"]) .auth-message h1,body:not([data-authenticated="true"]) .auth-message>span{color:#fff}
body:not([data-authenticated="true"]) .auth-message p,body:not([data-authenticated="true"]) .auth-brand small,body:not([data-authenticated="true"]) .auth-footnote{color:#c3daf6}
body:not([data-authenticated="true"]) .auth-footnote{border-color:#ffffff30}
#accountsPage .account-card{display:flex;flex-direction:column;gap:14px;height:auto;min-height:0;background:linear-gradient(135deg,#164780,#286aca);color:white;border:0;border-radius:22px;padding:30px;box-shadow:0 16px 40px #10346825}
#accountsPage .account-card h3{margin:0;color:#fff;font-size:22px}
#accountsPage .account-icon{display:none}
#accountsPage .account-card>label,#accountsPage #passwordChangePanel label{display:grid;gap:8px;margin:0;color:#dceaff;font-size:14px}
#accountsPage .account-card input{width:100%;height:46px;min-height:0;background:#fff;border:1px solid #ffffff40;border-radius:10px;padding:0 14px;color:#16375e;font:inherit}
#accountsPage #loginStatus{margin:0;min-height:0;color:#d1e3fb;line-height:1.6}
#accountsPage #loginBtn,#accountsPage #changePasswordBtn{background:#fff;color:#1958a4;border:0;min-height:46px;font-weight:700}
#accountsPage #logoutBtn{background:#ffffff18;color:#fff;border:1px solid #ffffff60;min-height:42px;margin-top:4px}
#accountsPage .account-grid{align-items:start}
body:not([data-authenticated="true"]) #accountsPage .account-card{background:#ffffff13;border:1px solid #ffffff35;box-shadow:0 22px 70px #03152b45;backdrop-filter:blur(12px)}
body:not([data-authenticated="true"]) #accountsPage .account-card h3{color:#fff;margin:0 0 8px}
body:not([data-authenticated="true"]) #accountsPage .account-card>label{margin:0;color:#dceaff;font-size:14px}
body:not([data-authenticated="true"]) #accountsPage #loginStatus{color:#d1e3fb;font-size:12px;min-height:0;margin:0}
#proposalTaskReminders{border-left:5px solid #e8a12b;background:#fffbef;margin-bottom:22px}
#proposalTaskReminders[hidden]{display:none}
body:not([data-authenticated="true"]) #proposalTaskReminders{display:none}
#accountsPage .account-card>label:has(input[hidden]){display:none}
/* Keep the welcome copy and form in one centered composition on wide screens. */
body:not([data-authenticated="true"]) #accountsPage.page.active{grid-template-columns:minmax(0,540px) minmax(320px,420px);justify-content:center;gap:72px;padding:48px 36px}
body:not([data-authenticated="true"]) #accountsPage>.auth-welcome{width:100%;max-width:540px}
body:not([data-authenticated="true"]) .auth-message{margin:60px 0 48px}
body:not([data-authenticated="true"]) .auth-message h1{font-size:clamp(32px,3.1vw,46px);line-height:1.4}
@media(max-width:900px){body:not([data-authenticated="true"]) #accountsPage.page.active{gap:36px;padding:32px 24px;grid-template-columns:minmax(0,1fr) minmax(300px,380px)}}
@media(max-width:760px){body:not([data-authenticated="true"]) #accountsPage.page.active{grid-template-columns:1fr;gap:24px;padding:32px 24px}body:not([data-authenticated="true"]) #accountsPage>.auth-welcome{margin:auto}body:not([data-authenticated="true"]) .auth-message{margin:28px 0}}

/* Group identity uses the same emblem and wordmark as the GKL system. */
.brand-lockup{display:inline-flex;align-items:center;gap:12px;max-width:100%;padding:12px 16px;border-radius:10px;background:#fff;box-shadow:0 4px 18px #06245218}
.brand-emblem{display:block;width:82px;height:58px;flex:0 0 82px}
.brand-emblem img{display:block;width:100%;height:100%;object-fit:contain}
.brand-wordmark{display:flex;flex-direction:column;min-width:112px;text-align:left}
body .brand-wordmark small,body .auth-brand .brand-wordmark small{color:#294680;font:700 14px/1.2 Arial,sans-serif;letter-spacing:.04em;margin:0;white-space:nowrap}
body .brand-wordmark strong{color:#294680;font:800 25px/1.1 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.08em;margin-top:4px;white-space:nowrap}
.auth-brand{display:block}
.auth-brand-caption{margin-top:16px;font-size:12px;color:#c3daf6;letter-spacing:.1em}
.rail .logo{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:0 0 26px}
.rail .brand-lockup{gap:9px;padding:11px 12px;border-radius:8px}
.rail .brand-emblem{width:62px;height:46px;flex-basis:62px}
.rail .brand-wordmark{min-width:0}
body .rail .brand-wordmark small{font-size:10px;color:#5f72a0}
body .rail .brand-wordmark strong{font-size:18px;color:#294680}
.rail .brand-system-name{color:#bed0e7;font-size:12px;text-align:center;letter-spacing:.06em}
@media(max-width:760px){.auth-brand .brand-lockup{padding:10px 14px;gap:10px}.auth-brand .brand-emblem{width:68px;height:48px;flex-basis:68px}body .auth-brand .brand-wordmark small{font-size:12px}body .auth-brand .brand-wordmark strong{font-size:22px}.auth-brand-caption{font-size:11px}}
