:root{--ink:#0a3b2c;--ink-2:#06261c;--green:#1fc77e;--green-d:#17a868;--green-text:#0b7a4b;--gray:#f5f5f7;--gray-2:#e8e8ed;--gray-3:#d2d2d7;--text:#2f3f38;--muted:#6b7771;--danger:#b42318;--danger-bg:#fef3f2;--r-btn:8px;--r-card:20px;--font-body:var(--font-manrope), system-ui, sans-serif;--font-display:var(--font-sora), var(--font-manrope), sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;background:#fff;line-height:1.55}h1,h2,h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-weight:600;line-height:1.15}a{color:var(--green-text)}:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:6px}.btn{border-radius:var(--r-btn);cursor:pointer;font:700 .98rem var(--font-body);background:var(--green);color:var(--ink-2);border:0;justify-content:center;align-items:center;gap:8px;padding:13px 22px;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s;display:inline-flex}.btn:hover{background:var(--green-d);color:#fff;transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{background:var(--gray);color:var(--ink)}.btn-ghost:hover{background:var(--gray-2);color:var(--ink)}.btn-block{width:100%}.auth-wrap{background:var(--gray);place-items:center;min-height:100svh;padding:24px 16px;display:grid}.auth-card{border-radius:var(--r-card);background:#fff;width:min(440px,100%);padding:36px 32px;box-shadow:0 30px 60px -40px #0a3b2c73}.brand{font:700 1.25rem var(--font-display);color:var(--ink);margin-bottom:22px}.brand span{color:var(--green-d)}.auth-card h1{margin-bottom:8px;font-size:1.6rem}.auth-card .sub{color:var(--muted);margin-bottom:24px;font-size:.98rem}.field{gap:6px;margin-bottom:16px;display:grid}.field label{color:var(--ink);font-size:.88rem;font-weight:700}.field input{border:1.5px solid var(--gray-3);border-radius:var(--r-btn);width:100%;font:500 1rem var(--font-body);color:var(--ink);background:#fff;padding:12px 14px}.field input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #1fc77e40}.field .hint{color:var(--muted);font-size:.8rem}.alert{border-radius:var(--r-btn);margin-bottom:16px;padding:12px 14px;font-size:.92rem}.alert-error{background:var(--danger-bg);color:var(--danger)}.alert-ok{color:#067647;background:#ecfdf3}.links{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px;font-size:.9rem;display:flex}.qr{place-items:center;gap:10px;margin:8px 0 20px;display:grid}.qr img{border:1px solid var(--gray-2);border-radius:12px;width:200px;height:200px}.secret{letter-spacing:.08em;background:var(--gray);word-break:break-all;text-align:center;border-radius:8px;padding:8px 12px;font:600 .9rem ui-monospace,monospace}.code-input{text-align:center;letter-spacing:.4em;font-size:1.4rem!important}.shell{background:var(--gray);min-height:100svh}.topbar{border-bottom:1px solid var(--gray-2);background:#fff;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.content{width:min(1120px,100% - 32px);margin:28px auto}.card{border-radius:var(--r-card);background:#fff;padding:24px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
