.account-control { position:fixed; z-index:190; right:18px; bottom:18px; font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.account-trigger { min-width:154px; min-height:48px; padding:6px 10px; display:flex; align-items:center; gap:9px; color:#183549; text-align:left; background:#fff; border:1px solid #bfcfd8; border-radius:7px; box-shadow:0 8px 24px rgba(16,40,58,.14); cursor:pointer; }
.account-trigger:hover { border-color:#6e91a5; }
.account-trigger > span:last-child { min-width:0; display:grid; }
.account-trigger strong,.account-trigger small { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-trigger strong { font-size:13px; }
.account-trigger small { color:#617989; font-size:11px; }
.account-initial { width:34px; height:34px; display:grid; place-items:center; flex:none; color:#2a1c05; background:#e0ad5a; border-radius:9px; font-size:13px; font-weight:900; }
.account-menu { position:absolute; right:0; bottom:calc(100% + 8px); width:190px; padding:6px; background:#fff; border:1px solid #c9d7df; border-radius:8px; box-shadow:0 14px 36px rgba(16,40,58,.18); }
.account-menu[hidden] { display:none; }
.account-menu button { width:100%; min-height:44px; padding:9px 11px; color:#27495f; text-align:left; background:transparent; border:0; border-radius:5px; cursor:pointer; font-weight:700; }
.account-menu button:hover { background:#edf4f7; }
.account-menu button:last-child { color:#912e29; }
.account-control[data-saved="true"]::before { content:"Akun diperbarui"; position:absolute; right:0; bottom:calc(100% + 9px); width:max-content; padding:9px 12px; color:#fff; background:#24664b; border-radius:6px; font-size:12px; font-weight:700; }
.account-dialog { width:min(520px,calc(100vw - 28px)); max-height:calc(100dvh - 28px); padding:0; overflow:hidden; color:#183549; background:#fff; border:1px solid #bdccd6; border-radius:10px; box-shadow:0 24px 70px rgba(16,40,58,.32); font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.account-dialog::backdrop { background:rgba(8,25,36,.62); }
.account-dialog header,.account-dialog footer { padding:16px 18px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.account-dialog header { border-bottom:1px solid #dce5eb; }
.account-dialog footer { justify-content:flex-end; border-top:1px solid #dce5eb; }
.account-dialog h2 { margin:0 0 4px; color:#17384e; font-size:21px; }
.account-dialog header p { margin:0; color:#617989; font-size:13px; }
.account-close { width:44px; height:44px; flex:none; color:#496678; background:transparent; border:0; border-radius:6px; cursor:pointer; font-size:25px; }
.account-close:hover { background:#edf4f7; }
.account-form__body { max-height:calc(100dvh - 190px); padding:18px; overflow:auto; }
.account-form__body > label:not(.account-show-password) { margin-bottom:15px; display:grid; gap:6px; color:#294a60; font-size:13px; font-weight:750; }
.account-form__body label small { color:#708795; font-weight:500; }
.account-form__body input:not([type="checkbox"]) { width:100%; min-height:46px; padding:10px 12px; color:#173247; background:#fff; border:1px solid #bdccd6; border-radius:6px; font-size:16px; }
.account-form__body input[aria-invalid="true"] { border-color:#9a2f2a; box-shadow:0 0 0 2px rgba(154,47,42,.1); }
.account-form__body [data-error] { color:#912e29; font-size:12px; font-weight:650; }
.account-show-password { min-height:44px; display:flex; align-items:center; gap:9px; color:#36566a; font-size:13px; font-weight:700; }
.account-show-password input { width:18px; height:18px; }
.account-form__message { margin-bottom:15px; padding:11px 13px; color:#76231f; background:#fae9e8; border-left:4px solid #9a2f2a; border-radius:4px; font-size:13px; }
.account-primary,.account-secondary { min-height:44px; padding:9px 14px; border-radius:6px; cursor:pointer; font-weight:750; }
.account-primary { color:#fff; background:#1c6fb0; border:1px solid #1c6fb0; }
.account-primary:hover { background:#155a90; }
.account-primary:disabled { opacity:.6; cursor:wait; }
.account-secondary { color:#31546c; background:#fff; border:1px solid #bdccd6; }
.account-trigger:focus-visible,.account-menu button:focus-visible,.account-dialog button:focus-visible,.account-dialog input:focus-visible { outline:3px solid #2b7fa9; outline-offset:3px; }
body:has(.sidebar) .auth-session-control { display:none; }
body:has(.sidebar) .sidebar-foot { bottom:92px; }
body:has(.sidebar) .account-control { left:16px; right:auto; bottom:16px; width:206px; }
body:has(.sidebar) .account-trigger { width:100%; color:#fff; background:#10283a; border-color:rgba(255,255,255,.3); box-shadow:none; }
body:has(.sidebar) .account-trigger small { color:#b9ccd8; }
@media (max-width:700px) {
  body:has(.sidebar) .account-control { z-index:195; left:16px; bottom:16px; width:min(260px,calc(86vw - 32px)); display:none; }
  body:has(.sidebar).mobile-nav-open .account-control { display:block; }
  .account-dialog footer { align-items:stretch; flex-direction:column-reverse; }
  .account-dialog footer button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .account-control * { transition:none!important; } }
