:root { color-scheme: light; --ink: #142033; --muted: #64748b; --line: #dce4ef; --blue: #2563eb; }
* { box-sizing: border-box; }
body { margin: 0; padding: 24px; color: var(--ink); background: #f1f5fa; font-family: Inter, "Segoe UI", Arial, sans-serif; }
button, input, select { font: inherit; }
.auth-page { min-height: 100vh; display: grid; place-items: center; }
.auth-card { width: min(100%, 440px); padding: 30px; background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 16px 50px #15233c0d; }
h1 { margin: 0 0 12px; font-size: 1.6rem; }
h2 { margin: 0 0 7px; font-size: 1.12rem; }
p { line-height: 1.5; }
.eyebrow, .muted, .help { color: var(--muted); }
.eyebrow { margin: 0 0 12px; font-size: .8rem; }
.help { margin: 20px 0 0; font-size: .78rem; }
label { display: grid; gap: 7px; font-size: .88rem; }
form { display: grid; gap: 16px; }
input, select { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid #b6c5d8; border-radius: 9px; background: white; color: var(--ink); }
button { min-height: 44px; padding: 10px 16px; border: 0; border-radius: 9px; background: var(--blue); color: white; cursor: pointer; font-weight: 600; }
button.secondary { color: #24466b; background: #edf3fb; }
:focus-visible { outline: 3px solid #93c5fd; outline-offset: 2px; }
.secondary-action { margin-top: 16px; }
.error { background: #fff1f0; color: #9f2424; border: 1px solid #fecaca; border-radius: 8px; padding: 11px; }
.setup-secret { display: block; padding: 12px; border: 1px solid var(--line); border-radius: 8px; overflow-wrap: anywhere; font-size: .98rem; user-select: all; }
.accounts-page { max-width: 1100px; margin: auto; }
header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
header h1 { margin: 0; }
a { color: #1d4ed8; }
.accounts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.account-card { background: white; border: 1px solid var(--line); border-radius: 14px; padding: 20px; min-width: 0; overflow-wrap: anywhere; }
.account-fields { padding-top: 14px; }
summary { cursor: pointer; padding: 10px 0; font-weight: 600; }
details + details { border-top: 1px solid var(--line); margin-top: 10px; }
@media (max-width: 640px) { body { padding: 12px; } .auth-card { padding: 22px; } .accounts-grid { grid-template-columns: 1fr; } header { align-items: flex-start; flex-direction: column; } }
