.ledger .login{background:radial-gradient(1000px 520px at 50% -140px, #1c9c9629, #1c9c9600 72%), var(--canvas);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.ledger .login-top{justify-content:space-between;align-items:center;padding:22px 28px;display:flex;position:relative}.ledger .login-brand{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.ledger .login-help{color:var(--ink-2);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);border-radius:6px;padding:4px 2px;font-size:14px}.ledger .login-help:hover{color:var(--teal-700);text-decoration-color:currentColor}.ledger .login-help:focus-visible,.ledger .login a:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.ledger .login-main{flex:1;place-items:center;min-height:0;padding:0 16px 48px;display:grid;position:relative;overflow-y:auto}.ledger .login-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:20px;padding:36px 32px 32px}.ledger .login-card h1{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:24px;font-weight:600}.ledger .login-card .login-sub{color:var(--muted);margin:6px 0 26px;font-size:14px}.ledger .login-passkey{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;height:52px;font:inherit;color:var(--ink);cursor:pointer;align-items:center;gap:12px;padding:0 14px;font-size:15px;font-weight:500;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.ledger .login-passkey:hover:not(:disabled){border-color:var(--teal-500);background:var(--teal-50)}.ledger .login-passkey:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;border-color:var(--teal-500)}.ledger .login-passkey:disabled{opacity:.6;cursor:default}.ledger .login-passkey .chip{background:var(--teal-50);width:30px;height:30px;color:var(--teal-700);border-radius:9px;flex:none;place-items:center;display:grid}.ledger .login-passkey .chip svg{width:18px;height:18px}.ledger .login-passkey .go{color:var(--faint);margin-left:auto;display:flex}.ledger .login-passkey .go svg{width:16px;height:16px}.ledger .login-or{color:var(--muted);align-items:center;gap:12px;margin:22px 0;font-size:12.5px;display:flex}.ledger .login-or:before,.ledger .login-or:after{content:"";background:var(--line);flex:1;height:1px}.ledger .login-form{flex-direction:column;gap:16px;display:flex}.ledger .login-field label{color:var(--ink-2);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.ledger .login-input{position:relative}.ledger .login-input input{width:100%;height:48px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);outline:none;padding:0 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.ledger .login-input input::placeholder{color:var(--muted);opacity:1}.ledger .login-input input:hover{border-color:var(--faint)}.ledger .login-input input:focus{border-color:var(--teal-500);box-shadow:var(--focus)}.ledger .login-input input.has-toggle{padding-right:64px}.ledger .login-input .login-toggle{height:36px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 10px;font-size:13px;position:absolute;top:6px;right:6px}.ledger .login-input .login-toggle:hover{color:var(--ink);background:var(--surface-2)}.ledger .login-input .login-toggle:focus-visible{outline:2px solid var(--teal-500);outline-offset:0}.ledger .login-input input.code{text-align:center;letter-spacing:.5em;font-variant-numeric:tabular-nums;padding-left:20px;font-size:24px}.ledger .login-error{color:var(--neg);background:var(--neg-bg);border-radius:var(--r-xs);margin:0;padding:10px 12px;font-size:13.5px}.ledger .login-submit{height:50px;font:inherit;color:var(--on-teal);background:var(--teal-700);border-radius:var(--r-sm);cursor:pointer;border:0;margin-top:4px;font-size:15px;font-weight:600;transition:background .15s,transform 50ms;box-shadow:inset 0 1px #ffffff2e}.ledger .login-submit:hover:not(:disabled){background:var(--teal-800)}.ledger .login-submit:active:not(:disabled){transform:translateY(1px)}.ledger .login-submit:focus-visible{outline:2px solid var(--teal-500);outline-offset:3px}.ledger .login-submit.as-link{place-items:center;text-decoration:none;display:grid}.ledger .login-submit:disabled{opacity:.55;cursor:default}.ledger .login-back{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;align-self:center;padding:6px 8px;font-size:14px;text-decoration:underline}.ledger .login-back:hover{color:var(--ink)}@media (max-width:520px){.ledger .login-top{padding:16px 18px}.ledger .login-card{box-shadow:var(--shadow);border-radius:18px;padding:28px 22px 24px}.ledger .login-main{padding-bottom:24px}}@media (max-height:700px){.ledger .login-top{padding-top:14px;padding-bottom:8px}.ledger .login-main{padding-bottom:16px}.ledger .login-card{padding-top:24px;padding-bottom:22px}.ledger .login-card .login-sub{margin-bottom:18px}.ledger .login-or{margin:16px 0}.ledger .login-form{gap:12px}}@media (prefers-reduced-motion:reduce){.ledger .login *{transition:none!important}}.ledger .login-labelrow{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ledger .login-labelrow label{margin-bottom:6px}.ledger .login-link{font:inherit;color:var(--ink-2);cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);background:0 0;border:0;border-radius:6px;margin:0 -4px;padding:2px 4px;font-size:13px}.ledger .login-link:hover{color:var(--teal-700);text-decoration-color:currentColor}.ledger .login-link:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.ledger .login-hint{color:var(--muted);margin:6px 0 0;font-size:12.5px}.ledger .login-note{color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-xs);overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:13.5px}.ledger .login-note a{color:var(--teal-700);text-underline-offset:3px;text-decoration:underline}.ledger .login-fine{color:var(--muted);text-align:center;margin:0;font-size:12.5px}.ledger .login-meter{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px;display:grid}.ledger .login-meter i{background:var(--line);border-radius:2px;height:4px}.ledger .login-meter i.on{background:var(--teal-500)}.ledger .login-meter-label{color:var(--muted);min-height:1.2em;margin:6px 0 0;font-size:12.5px}.ledger .login-steps{flex-direction:column;gap:10px;margin:0 0 4px;padding:0;list-style:none;display:flex}.ledger .login-steps li{border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);align-items:center;gap:12px;padding:12px 14px;font-size:14.5px;display:flex}.ledger .login-steps li .num{background:var(--surface-2);width:26px;height:26px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.ledger .login-steps li.done .num{background:var(--teal-700);color:var(--on-teal)}.ledger .login-steps li.now{border-color:var(--teal-500);background:var(--teal-50)}.ledger .login-steps li small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.ledger .login-submit.ghost{color:var(--ink);border:1px solid var(--line);box-shadow:none;background:0 0}.ledger .login-submit.ghost:hover:not(:disabled){background:var(--surface-2)}.ledger .login-card.wide{max-width:460px}
