
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-wght-normal.woff2) format("woff2")}
:root{--cf-background:#fff;--cf-foreground:#0d0d0d;--cf-primary:#000;--cf-primary-foreground:#fff;--cf-muted:#f3f3f1;--cf-muted-foreground:#6b6b68;--cf-border:#e7e6e2;--cf-danger:#dc2626;--cf-font:Inter,ui-sans-serif,system-ui,sans-serif;--cf-radius-control:10px;--cf-radius-card:16px;--cf-control-height:2.5rem;--cf-input-border:#ddd;--cf-shadow-card:0 1px 3px rgb(0 0 0/.05);--cf-ring-width:2px;--ring:#17b8c5;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--cf-muted);color:var(--cf-foreground);font:15px/1.5 var(--cf-font);-webkit-font-smoothing:antialiased}
.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem 1rem}
.mark{display:flex;justify-content:center}
.logo{display:block;width:auto;height:2.5rem;max-width:min(14rem,100%);object-fit:contain}
.brand{font-size:1.5rem;font-weight:600;letter-spacing:-.02em}
.card{width:100%;max-width:24rem;background:var(--cf-background);border-radius:var(--cf-radius-card);padding:2rem;box-shadow:var(--cf-shadow-card),0 0 0 1px var(--cf-border)}
@media(max-width:30rem){.card{padding:1.5rem}}
h1{margin:0 0 .25rem;font-size:1.875rem;line-height:1.2;font-weight:600;letter-spacing:-.02em}
.sub{margin:0 0 1.5rem;color:var(--cf-muted-foreground);font-size:.875rem}
.stack{display:grid;gap:1rem}
.row{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 .375rem}
label{font-size:.875rem;font-weight:500}
.ctl{position:relative}
input:not([type=hidden]){display:block;width:100%;height:var(--cf-control-height);padding:0 .75rem;border:1px solid var(--cf-input-border);border-radius:var(--cf-radius-control);background:#fff;color:inherit;font:inherit}
.has-eye input{padding-right:4.75rem}
input::placeholder{color:var(--cf-muted-foreground);opacity:.7}
input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 var(--cf-ring-width) color-mix(in srgb,var(--ring) 35%,transparent)}
button:focus-visible,.btn:focus-visible,a:focus-visible{outline:var(--cf-ring-width) solid var(--ring);outline-offset:2px}
@media(max-width:47.99rem){input:not([type=hidden]){font-size:16px}}
.eye{position:absolute;right:.25rem;top:50%;width:auto;height:auto;transform:translateY(-50%);padding:.375rem .5rem;border:0;background:none;color:var(--cf-muted-foreground);font-size:.75rem;font-weight:500}
.eye:hover{background:none;color:var(--cf-foreground);opacity:1}.eye[hidden]{display:none}
button,.btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;height:var(--cf-control-height);padding:0 1rem;border:1px solid transparent;border-radius:var(--cf-radius-control);background:var(--cf-primary);color:var(--cf-primary-foreground);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,opacity .15s}
button:hover,.btn:hover{opacity:.9}
.outline{background:#fff;color:var(--cf-foreground);border-color:color-mix(in srgb,var(--cf-foreground) 25%,transparent)}.outline:hover{background:var(--cf-muted);border-color:var(--cf-foreground);opacity:1}
.btn svg{width:1.125rem;height:1.125rem;flex:none}
.or{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--cf-muted-foreground);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--cf-border)}
.social{display:grid;gap:.5rem}
.msg{margin:0 0 1rem;padding:.625rem .75rem;border:1px solid #c7e3d3;border-radius:var(--cf-radius-control);background:#e6f3ec;color:#10603b;font-size:.875rem}
.msg.err{border-color:color-mix(in srgb,var(--cf-danger) 25%,#fff);background:color-mix(in srgb,var(--cf-danger) 10%,#fff);color:color-mix(in srgb,var(--cf-danger) 80%,#000)}
.hint{margin:-.5rem 0 0;color:var(--cf-muted-foreground);font-size:.75rem}
.forgot,.back{color:color-mix(in srgb,var(--cf-primary) 85%,#000);font-weight:600;text-decoration:none;font-size:.8125rem}.forgot:hover,.back:hover{text-decoration:underline}
.back{display:block;margin-top:1rem;text-align:center;font-size:.875rem}
.card>.btn{margin-top:.25rem}
.powered{margin:0;color:var(--cf-muted-foreground);font-size:.75rem}
