/* cashbert additions on top of the stylesheet inherited from webtax. */

h2 { font-size: 1.1rem; margin: 2rem 0 0.75rem; }
.small { font-size: 0.85rem; }
form.inline { display: inline; }
.row { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }

.auth-card {
    max-width: 26rem;
    margin: 12vh auto 0;
    padding: 2rem;
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 12px;
}
.auth-card h1 { font-size: 1.6rem; }
.auth-card .field { display: block; margin: 1rem 0; color: var(--muted); font-size: 0.9rem; }
.auth-card .field input { display: block; width: 100%; margin-top: 0.3rem; }
.auth-error { color: var(--danger); }

button.big { width: 100%; padding: 0.75rem; font-size: 1rem; }
button.danger { color: var(--danger); }
button.link-btn { background: none; border: none; color: var(--muted); padding: 0.75rem 0; }
button.link-btn:hover { color: var(--fg); }

.badge.ok { color: var(--ok); border-color: var(--ok); }
.badge.bad { color: var(--danger); border-color: var(--danger); }
.card-alert { border-color: var(--danger); }
.book-switch select { padding: 0.3rem 0.5rem; }

@media (max-width: 900px) {
    /* Phone/tablet: brand + actions on the first row, the nav rows scroll sideways
       instead of widening the page. */
    .topbar { gap: 0.5rem 0.75rem; flex-wrap: wrap; padding: 0 0.75rem; }
    .topbar > span[style*="flex:1"] { display: none; }
    .topbar nav { order: 10; flex: 1 1 100%; overflow-x: auto; scrollbar-width: none; }
    .topbar nav::-webkit-scrollbar { display: none; }
    .topbar nav a { white-space: nowrap; padding: 0.5rem 0.5rem; }
    .topbar .nav-sep { display: none; }
    .topbar .book-name { margin-left: auto; }
}

@media (max-width: 640px) {
    main { padding: 1rem; }
    .auth-card { margin-top: 6vh; padding: 1.5rem; }
}
