.account-trigger { padding: 0; overflow: hidden; }
.account-trigger::after { display: none; }
.account-trigger img, .profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.account-menu { width: min(280px, calc(100vw - 28px)); border: 0; border-radius: 18px; padding: 8px; box-shadow: 0 14px 40px rgba(17, 48, 43, .18); }
.account-menu-heading { display: flex; flex-direction: column; padding: 10px 12px; overflow-wrap: anywhere; }
.account-menu-heading small { color: #6d7c78; margin-top: 2px; }
.account-menu .dropdown-item { display: flex; align-items: center; gap: 10px; min-height: 44px; border-radius: 11px; }
.account-menu form { margin: 0; }
.account-menu-branding{margin:6px 7px 2px;padding:9px 5px 3px;border-top:1px solid #e5ece9;color:#6f7f7a;font-size:.66rem;line-height:1.4;text-align:left}
.account-menu-branding strong{color:var(--primary);font-size:.68rem;font-weight:800}
.profile-hero { display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:14px;border:1px solid #d6e8e2;border-radius:18px;background:linear-gradient(145deg,#fff,#e8f6f1);box-shadow:0 7px 18px rgba(20,71,60,.07) }
.profile-hero h2 { margin:.08rem 0 2px;font-size:1rem;line-height:1.2 }
.profile-hero p { margin:0;color:#637570;font-size:.65rem;overflow-wrap:anywhere }
.profile-identity{min-width:0}.profile-identity .eyebrow{font-size:.55rem}
.profile-photo { width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;overflow:hidden;border:3px solid rgba(255,255,255,.9);border-radius:50%;background:#dcefeb;color:#087362;font-size:1.35rem;box-shadow:0 4px 10px rgba(20,71,60,.12) }
.profile-card { margin-bottom:10px;padding:14px;border-radius:18px;background:linear-gradient(155deg,#fff 55%,#f7fbf9);box-shadow:0 7px 18px rgba(20,71,60,.07) }
.profile-card h3 { display:flex;align-items:center;gap:7px;margin:0 0 10px;font-size:.82rem }
.profile-card h3 i{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e5f4ef;color:var(--primary);font-size:.78rem}
.profile-card .form-label{margin-bottom:4px;color:#24443d;font-size:.65rem;font-weight:800}
.profile-card .form-label.mt-3{margin-top:9px!important}
.profile-card .form-control{min-height:39px;border-color:#d8e5e0;border-radius:10px;background:#f5faf8;font-size:.75rem}
.profile-card .form-control:disabled{background:#edf2f0;color:#71807c;opacity:1}
.profile-card .form-text{margin-top:4px;font-size:.57rem;line-height:1.3}
.profile-photo-form{padding:9px 10px;border:1px solid #dbe8e3;border-radius:12px;background:linear-gradient(145deg,#f3f9ff,#eaf4fb)}
.profile-photo-form input[type=file]{padding:6px 8px;font-size:.65rem}
.profile-card .btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:35px;padding:6px 12px;border-radius:10px;font-size:.68rem;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 4px 8px rgba(20,71,60,.1)}
.profile-card .btn.mt-3{margin-top:9px!important}
.profile-details-form,.profile-password-form{padding:9px 10px;border:1px solid #e1ebe7;border-radius:12px;background:linear-gradient(145deg,#fbfefd,#f1f8f5)}
.profile-password-form{background:linear-gradient(145deg,#fffaf4,#fff1df);border-color:#efddc7}
.profile-signout { margin:2px 0 20px }
.profile-signout .btn{min-height:38px;border-radius:11px;background:linear-gradient(#fff2f2,#ffe2e2);border-color:#efb9bc;color:#a12f35;font-size:.7rem;font-weight:800;box-shadow:inset 0 1px 0 #fff,0 4px 9px rgba(151,45,51,.1)}
@media (min-width: 700px) { .profile-hero, .profile-card, .profile-signout { max-width: 680px; } }
.feature-option { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 0; border-bottom: 1px solid #e5ece9; }
.feature-option:first-of-type { padding-top: 0; }
.feature-option small { display: block; margin-top: 4px; color: #6d7c78; }
.feature-option .form-switch { flex: 0 0 auto; padding-left: 2.7em; }
.transaction-period-empty { padding: 24px 10px 10px; }
.transaction-period-empty p { max-width: 520px; margin-left: auto; margin-right: auto; }
.opening-entry { border-color: #b9ddd5; background: #f2faf7; }
.opening-entry .record-avatar { background: #dcefeb; color: #087362; }

/* Compact mobile login */
.auth-body{background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.85),transparent 34%),linear-gradient(155deg,#dff1eb,#faf7ef)}
.auth-shell{min-height:100dvh;gap:15px;padding:22px 16px;max-width:410px}
.auth-brand{gap:11px;padding:0 5px}
.auth-brand .brand-mark.large{width:48px;height:48px;border-radius:15px;font-size:1.1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 7px 15px rgba(22,107,91,.22)}
.auth-brand h1{font-size:1.25rem;line-height:1.1;letter-spacing:.09em}
.auth-brand p{font-size:.62rem;line-height:1.3}
.auth-card{padding:17px;border-radius:20px;background:linear-gradient(150deg,#fff 58%,#f5faf8);box-shadow:0 10px 26px rgba(20,71,60,.1)}
.login-heading{display:flex;align-items:flex-start;gap:9px;margin-bottom:11px}
.login-heading-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:#e1f3ed;color:var(--primary);font-size:.9rem}
.login-heading .eyebrow{font-size:.55rem}
.login-heading h2{margin:.08rem 0 .1rem;font-size:1.02rem}
.login-heading p{margin:0;font-size:.63rem;line-height:1.3}
.auth-card .alert{margin-bottom:10px;padding:8px 10px;border-radius:10px;font-size:.66rem}
.login-field{margin-bottom:9px;padding:8px 9px;border:1px solid #dce8e3;border-radius:12px;background:linear-gradient(145deg,#fbfefd,#eef7f3)}
.login-field .form-label{display:flex;align-items:center;gap:5px;margin-bottom:4px;color:#24443d;font-size:.65rem;font-weight:800}
.login-field .form-label i{color:var(--primary)}
.login-field .form-control{min-height:40px;border-color:#d6e4df;border-radius:10px;background:#fff;font-size:.76rem}
.login-submit{display:flex;align-items:center;justify-content:center;gap:6px;min-height:41px;margin-top:12px;border:1px solid #0d5e50;border-radius:11px;font-size:.72rem;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 13px rgba(22,107,91,.2)}
.developer-branding{max-width:680px;margin:13px auto 20px;padding-top:10px;border-top:1px solid #e1eae7;text-align:center}
.auth-card .developer-branding{margin-bottom:0}
.developer-branding>span{display:block;color:var(--muted);font-size:.52rem;letter-spacing:.08em;text-transform:uppercase}
.developer-branding>strong{display:block;margin:1px 0 5px;color:var(--ink);font-size:.66rem}
.developer-branding>div{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.developer-branding a{display:inline-flex;align-items:center;gap:3px;color:var(--primary);font-size:.55rem;font-weight:650;text-decoration:none}
.developer-branding a:hover{text-decoration:underline}
@media(max-height:560px){.auth-shell{align-content:start;padding-top:14px}.auth-brand .brand-mark.large{width:42px;height:42px}.auth-card{padding:14px}}
