body{background-image:radial-gradient(circle at 1px 1px,rgba(14,124,107,.045) 1px,transparent 0);background-size:26px 26px}.login-bg.svelte-1x05zx6{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card.svelte-1x05zx6{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);width:100%;max-width:400px;overflow:hidden}.login-brand.svelte-1x05zx6{height:3.5rem;display:flex;align-items:center;gap:.6rem;padding:0 1.25rem;border-bottom:1px solid var(--line);background:var(--surface-2)}.logo.svelte-1x05zx6{width:30px;height:30px;border-radius:9px;background:linear-gradient(150deg,var(--primary),#15a98f);display:grid;place-items:center;color:#fff;font-weight:800;font-family:var(--sans);box-shadow:0 4px 10px -3px #0e7c6b80;flex-shrink:0}.login-brand.svelte-1x05zx6 b:where(.svelte-1x05zx6){font-family:var(--sans);font-weight:800;letter-spacing:-.02em;font-size:1.02rem}.login-brand.svelte-1x05zx6 small:where(.svelte-1x05zx6){display:block;font-size:.62rem;color:var(--faint);letter-spacing:.14em;text-transform:uppercase;font-family:var(--sans);font-weight:600;margin-top:-2px}.login-body.svelte-1x05zx6{padding:1.75rem 1.5rem 1.5rem}.login-body.svelte-1x05zx6 h2:where(.svelte-1x05zx6){font-family:var(--sans);font-weight:800;font-size:1.35rem;letter-spacing:-.025em;margin:0 0 .2rem}.login-sub.svelte-1x05zx6{color:var(--faint);font-size:.82rem;margin:0 0 1.5rem}.login-error.svelte-1x05zx6{display:flex;align-items:center;gap:.55rem;background:var(--error-bg);color:var(--error);border:1px solid rgba(179,38,30,.18);border-radius:var(--r-sm);padding:.65rem .85rem;font-size:.84rem;font-weight:500;margin-bottom:1.1rem}.login-error.svelte-1x05zx6 svg:where(.svelte-1x05zx6){flex-shrink:0}.field.svelte-1x05zx6{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field.svelte-1x05zx6 label:where(.svelte-1x05zx6){font-size:.84rem;font-weight:600;color:var(--muted)}.field.svelte-1x05zx6 input:where(.svelte-1x05zx6){padding:.55rem .8rem;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--thai),var(--sans);font-size:.9rem;color:var(--ink);background:var(--surface);transition:border-color .15s,box-shadow .15s;outline:none}.field.svelte-1x05zx6 input:where(.svelte-1x05zx6):focus{border-color:var(--primary);box-shadow:0 0 0 3px #0e7c6b1f}.field.svelte-1x05zx6 input.has-error:where(.svelte-1x05zx6){border-color:var(--error)}.field.svelte-1x05zx6 input.has-error:where(.svelte-1x05zx6):focus{box-shadow:0 0 0 3px #b3261e1a}.field.svelte-1x05zx6 input:where(.svelte-1x05zx6):disabled{opacity:.6;cursor:not-allowed}.submit.svelte-1x05zx6{width:100%;justify-content:center;margin-top:.5rem;padding:.65rem 1rem;font-size:.92rem}.btn.svelte-1x05zx6{font-family:var(--sans);font-weight:600;font-size:.86rem;border-radius:var(--r-sm);padding:.55rem 1.05rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;gap:.45rem;align-items:center;transition:.16s}.btn.primary.svelte-1x05zx6{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px -8px #0e7c6bb3}.btn.primary.svelte-1x05zx6:hover:not(:disabled){background:var(--primary-700)}.btn.svelte-1x05zx6:disabled{opacity:.65;cursor:not-allowed}@keyframes svelte-1x05zx6-spin{to{transform:rotate(360deg)}}.spin.svelte-1x05zx6{animation:svelte-1x05zx6-spin .8s linear infinite}.login-footer.svelte-1x05zx6{border-top:1px solid var(--line);padding:.75rem 1.25rem;text-align:center;font-size:.72rem;color:var(--faint);font-family:var(--sans);background:var(--surface-2)}
