.row-actions { display: flex; align-items: center; gap: 7px; }
.row-actions form { margin: 0; }
.icon-btn { width: 38px; height: 38px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fff; font: 800 21px/1 Roboto, Arial, sans-serif; text-decoration: none; cursor: pointer; transition: background .15s, border-color .15s; }
.journey-icon { color: var(--green); border-color: #9bc8b3; }
.journey-icon:hover { background: var(--lime); }
.delete-icon { color: var(--red); border-color: #e4abab; }
.delete-icon:hover { background: #f9dddd; }
.back-btn { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; color: var(--green); padding: 0; margin: 0 0 18px; font: 700 14px/1 Roboto, Arial, sans-serif; cursor: pointer; }
.back-btn:hover { text-decoration: underline; }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(440px, 100%); padding: 34px; }
.login-card h1 { margin: 28px 0 4px; }
.login-brand { display: inline-flex; }
.logout-form { margin: 0; display: flex; align-items: center; }
.logout-form button { border: 0; background: transparent; color: var(--muted); padding: 9px 13px; font: 600 15px/1 Roboto, Arial, sans-serif; cursor: pointer; }
.logout-form button:hover { color: var(--red); }
.check-row { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--line); }
.check-row:last-child { border-bottom: 0; }
.check-row .progress { width: min(280px, 100%); }

/* Main application navigation */
.topbar { position: fixed; inset: 0 auto 0 0; z-index: 20; width: 245px; height: 100vh; min-height: 100vh; padding: 28px 20px; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 32px; border-right: 1px solid var(--line); border-bottom: 0; overflow-y: auto; }
.topbar .brand { padding: 0 8px; flex-shrink: 0; }
.topbar nav { display: flex; flex-direction: column; align-items: stretch; gap: 7px; width: 100%; }
.topbar nav a { display: block; width: 100%; padding: 11px 13px; }
.topbar .logout-form { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 12px; }
.topbar .logout-form button { width: 100%; text-align: left; }
.container { max-width: none; margin: 32px 32px 32px 277px; padding: 0; }

@media (max-width: 800px) {
  .topbar { width: 205px; padding: 20px 12px; align-items: stretch; }
  .topbar nav { width: 100%; overflow: visible; flex-direction: column; }
  .topbar .brand { font-size: 15px; }
  .container { margin: 22px 14px 22px 219px; padding: 0; }
}
