body:not(.authenticated) .sidebar,
body:not(.authenticated) .workspace,
body:not(.authenticated) .skip { display: none; }
.auth-shell { min-height: 100svh; display: grid; grid-template-columns: 1fr 440px; gap: 90px; align-items: center; max-width: 1100px; padding: 60px 32px; margin: auto; }
.auth-logo { width: 160px; margin-bottom: 80px; }
.auth-story h1 { font-size: clamp(38px,4.7vw,58px); line-height: 1.14; letter-spacing: -.06em; margin: 20px 0; }
.auth-story p { max-width: 370px; color: #65758c; font-size: 15px; line-height: 1.8; margin-bottom: 25px; }
.auth-card { padding: 36px; }
.auth-card h2 { font-size: 24px; letter-spacing: -.7px; }
.auth-card > p { color: #65758c; line-height: 1.7; margin: 14px 0 25px; }
.auth-card form { gap: 20px; }
.auth-card form label { font-size: 12px; }
.auth-card input { padding: 13px; }
.auth-card form a { text-align: center; color: #3478ed; font-size: 12px; padding-top: 5px; }
.auth-card .primary { min-height: 46px; }
.form-error { color: #846676; font-size: 12px; line-height: 1.7; }
.form-error:empty { display: none; }
.data-error { padding: 14px 18px; margin-bottom: 22px; background: #f0edf6; color: #726384; border: 1px solid #e0dbe9; border-radius: 10px; font-size: 12px; line-height: 1.7; }
.editable-budget, .editable-goal { display: block; width: 100%; text-align: left; padding: 0; }
.editable-goal { padding: 15px 0; }
.editable-budget:hover, .editable-goal:hover { background: #fafcff; }
.transaction-filter { display: flex; align-items: center; gap: 12px; margin: 15px 0; font-size: 12px; }
.transaction-filter select { max-width: 230px; }
.pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 22px; font-size: 12px; }
.pagination button { color: #3478ed; border: 1px solid #dce4ef; border-radius: 8px; padding: 8px 12px; }
.pagination button:disabled { opacity: .45; }
.category-list { max-height: 255px; overflow-y: auto; }
.profile #profileIdentity { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kpi-value { font-size: clamp(21px,2.2vw,30px); }
.balance .kpi-value { font-size: clamp(23px,2.4vw,32px); }
@media(max-width: 760px) {
  .auth-shell { grid-template-columns: 1fr; gap: 30px; padding: 30px 20px; }
  .auth-logo { margin-bottom: 30px; width: 135px; }
  .auth-story h1 { font-size: 38px; }
  .auth-story p { font-size: 13px; }
  .auth-card { padding: 28px; }
  .kpi-value, .balance .kpi-value { font-size: 22px; }
  .pagination { font-size: 10px; }
  .pagination button { padding: 7px; }
}
