:root{--bg:#f4f6f5;--surface:#fff;--text:#1b2421;--muted:#5d6b66;--brand:#1f4e46;--brand-text:#fff;--border:#d3dbd8;--error-bg:#fdecec;--error-text:#8a1c1c;--success-bg:#e6f4ea;--success-text:#1d5b2e;--warning-bg:#fff4e0;--warning-text:#7a4a00;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.45}.app{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.screen{max-width:480px;margin:0 auto;padding:24px 20px 40px}.screen.centred{justify-content:center;align-items:center;min-height:60vh;display:flex}h1{color:var(--brand);margin:8px 0 4px;font-size:1.6rem}h2{margin:0 0 20px;font-size:1.25rem;font-weight:600}.muted{color:var(--muted)}.small{margin:0;font-size:.9rem}.strong{font-weight:600}.break{overflow-wrap:anywhere;margin:2px 0 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;padding:16px}.field{margin-bottom:16px;display:block}.field span{margin-bottom:6px;font-weight:600;display:block}input{border:1px solid var(--border);background:var(--surface);width:100%;min-height:48px;color:var(--text);border-radius:10px;padding:14px 12px;font-size:1.05rem}input:focus{border-color:var(--brand);outline:3px solid #1f4e4659}.button{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;width:100%;min-height:52px;margin-top:8px;font-size:1.05rem;font-weight:600;display:block}.button.primary{background:var(--brand);color:var(--brand-text)}.button.secondary{background:var(--surface);color:var(--brand);border-color:var(--brand)}.button:disabled{opacity:.6;cursor:default}.links{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:20px;display:flex}.link{color:var(--brand);cursor:pointer;background:0 0;border:none;min-height:44px;padding:12px 4px;font-size:1rem;text-decoration:underline}.message{border-radius:10px;margin:8px 0 16px;padding:12px 14px}.message p{margin:0 0 6px}.message p:last-child{margin-bottom:0}.message.error{background:var(--error-bg);color:var(--error-text)}.message.success{background:var(--success-bg);color:var(--success-text)}.message.warning{background:var(--warning-bg);color:var(--warning-text)}.offline-banner{background:var(--warning-bg);color:var(--warning-text);text-align:center;padding:10px 16px;font-weight:600}
