:root{--bg:#f6f7f4;--surface:#fcfcfb;--border:#0b0b0b1a;--text:#0b0b0b;--text-dim:#52514e;--text-faint:#898781;--accent:#b45309;--chip-bg:#eef1ec;--met:#006300;--met-bg:#0083001a;--danger:#d03b3b;--danger-bg:#d03b3b1a;--mono:"SF Mono", "JetBrains Mono", ui-monospace, Menlo, "Cascadia Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d0d0d;--surface:#1a1a19;--border:#ffffff1a;--text:#fff;--text-dim:#c3c2b7;--text-faint:#898781;--accent:#f59e0b;--chip-bg:#242423;--met:#0ca30c;--met-bg:#1baf3b24;--danger:#e35b5b;--danger-bg:#e35b5b24}}*{box-sizing:border-box}body{margin:0}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{max-width:640px;margin:0 auto;padding:24px 16px 48px}.page h1{margin:0 0 4px;font-size:28px}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;max-width:640px;margin:0 auto;padding:16px;display:flex}.app-header__brand{color:var(--text);align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.app-header__settings{color:var(--text-dim);padding:4px;font-size:20px;line-height:1;text-decoration:none}.card--ghost{color:var(--text-dim);border-style:dashed;justify-content:center;align-items:center;gap:8px;min-height:56px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.card--ghost:hover{border-color:var(--accent);color:var(--accent)}.settings-section{margin:24px 0}.settings-section h2{margin:0 0 10px;font-size:15px}.link-button{font:inherit;color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.page__subtitle{color:var(--text-dim);margin:0 0 20px}.connection-status{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:10px 14px;font-size:14px;display:flex}.connection-status a{color:var(--accent);text-decoration:none}.card-list{flex-direction:column;gap:16px;display:flex}.card{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:18px}.card--met{border-color:var(--met)}.card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card__header h2{margin:0;font-size:18px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:0 0 4px;font-size:11px;font-weight:600}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.fact-box{background:var(--chip-bg);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;margin:14px 0 0;padding:10px 14px}.fact-box__label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 0 4px;font-size:11px}.fact-box p{margin:0;font-size:14.5px}.card--met .fact-box{background:var(--met-bg);border-left-color:var(--met)}.card__badge{font-family:var(--mono);background:var(--chip-bg);color:var(--text-dim);border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:13px;font-weight:600}.card__badge--met{background:var(--met-bg);color:var(--met)}.card__bar{background:var(--border);border-radius:999px;height:8px;margin:14px 0 10px;overflow:hidden}.card__bar-fill{background:var(--text-dim);border-radius:999px;height:100%;transition:width .2s}.card--met .card__bar-fill{background:var(--met)}.card__label{margin:0;font-size:14px}.card__penalty{color:var(--text-dim);margin:6px 0 0;font-size:13px}.card__actions{border-top:1px solid var(--border);justify-content:flex-end;gap:4px;margin-top:14px;padding-top:12px;display:flex}.icon-button{width:40px;height:40px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;text-decoration:none;display:flex}.icon-button:hover{background:var(--chip-bg);color:var(--text)}.icon-button--danger:hover{background:var(--danger-bg);color:var(--danger)}.error{color:var(--danger)}.page--narrow{max-width:360px;padding-top:80px}.login-form{flex-direction:column;gap:16px;margin-top:24px;display:flex}.login-form label{color:var(--text-dim);flex-direction:column;gap:6px;font-size:14px;display:flex}.login-form input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:10px 12px}.login-form button{font:inherit;background:var(--accent);color:var(--surface);cursor:pointer;border:none;border-radius:6px;padding:10px 12px}.login-form button:disabled{opacity:.6;cursor:default}.login-form select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:10px 12px}.login-form .checkbox-label{flex-direction:row;align-items:center;gap:8px}.auth-switch{color:var(--text-dim);margin-top:20px;font-size:14px}.transaction-form{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:20px 0;padding:16px}.transaction-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.transaction-row,.transaction-row--editing{border-bottom:1px solid var(--border);grid-template-columns:90px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:grid}.transaction-row--editing{grid-template-columns:1fr 1fr 1fr auto auto}.transaction-row--editing input,.transaction-row--editing select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:6px 8px}.transaction-row__actions{gap:10px;font-size:13px;display:flex}.badge{background:var(--chip-bg);color:var(--text-dim);border-radius:999px;margin-left:8px;padding:2px 7px;font-size:11px;display:inline-block}
