:root{--ink:#111416;--muted:#68716d;--line:#dedbd2;--orange:#ff6b1a}
*{box-sizing:border-box}
body{min-height:100vh;margin:0;background:radial-gradient(circle at top,#fff 0,#f8f6f1 52%,#efede6 100%);color:var(--ink);font:14px/1.5 Arial,sans-serif;display:grid;place-items:center;padding:28px 18px}
.auth-shell{width:min(100%,440px)}
.brand{display:flex;justify-content:center;margin-bottom:22px}.brand img{width:155px;max-height:82px;object-fit:contain;background:#fff;border-radius:12px;padding:6px}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 24px 70px rgba(17,20,22,.10)}
.auth-heading{text-align:center;margin-bottom:25px}.eyebrow{margin:0 0 8px;color:#d95713;font-size:10px;font-weight:800;letter-spacing:.13em}h1{margin:0;font-size:30px;letter-spacing:-.03em}.auth-heading>p:last-child{color:var(--muted);margin:8px 0 0}
form{display:grid;gap:15px}label{display:grid;gap:7px;font-size:12px;font-weight:700}input{width:100%;border:1px solid #d5d8d5;border-radius:10px;padding:13px 14px;background:#fff;font:inherit;outline:none}input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,107,26,.12)}
.password-control{position:relative;display:block}.password-control input{padding-right:58px}.password-field-icons{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:flex}.field-action{display:inline-grid;place-items:center;width:42px;height:42px;min-height:42px;padding:0;border:0;border-radius:10px;background:transparent;color:#59635f;font-size:1.3rem;line-height:1;cursor:pointer}.field-action svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.field-action svg[hidden]{display:none}.field-action:hover,.field-action:focus-visible{background:#f4f6f5;outline:2px solid #1769e0;outline-offset:1px}
button,.secondary{width:100%;border-radius:10px;padding:14px 16px;font-weight:800;font-size:14px;text-align:center;text-decoration:none;display:block}.primary,.primary:visited{border:1px solid var(--orange);background:var(--orange);color:#fff;-webkit-text-fill-color:#fff}.primary:hover{background:#e85c10;border-color:#e85c10}.primary:focus-visible{outline:3px solid rgba(17,20,22,.22);outline-offset:2px}.secondary,.secondary:visited{border:1px solid #cfd3d0;background:#fff;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.divider{display:flex;align-items:center;gap:12px;margin:24px 0 14px;color:#858d89;font-size:11px}.divider:before,.divider:after{content:"";height:1px;background:#e2e4e2;flex:1}.form-message{min-height:0;margin:0;color:#a13a2b;font-size:12px}.form-message:empty{display:none}
dialog{width:min(calc(100% - 28px),440px);border:0;border-radius:18px;padding:0;box-shadow:0 28px 90px rgba(17,20,22,.3)}dialog::backdrop{background:rgba(17,20,22,.58);backdrop-filter:blur(3px)}.modal-card{position:relative;padding:32px}.modal-close{position:absolute;right:14px;top:12px;width:44px;min-height:44px;border:0;background:transparent;color:#56605c;font-size:28px;line-height:1}.modal-heading{text-align:center;margin-bottom:22px}.modal-heading h2{margin:0;font-size:25px;letter-spacing:-.02em}.modal-heading>p:last-child{margin:8px 0 0;color:var(--muted);font-size:13px}.modal-card .secondary{cursor:pointer}
.back-link{text-align:center;margin:18px 0 0}.back-link a{color:#59635f;text-decoration:none;font-size:12px;font-weight:700}
.forgot-link{justify-self:end;margin-top:-7px;color:#1769e0;text-decoration:none;font-size:12px;font-weight:700}.auth-note{padding:12px;border:1px solid #dce7e2;border-radius:10px;background:#f6faf8;color:var(--muted);font-size:12px}.auth-note.success{border-color:#afd8bf;background:#eef8f2;color:#245c3c}
@media(max-width:520px){body{padding:18px 12px;place-items:start center}.brand{margin-bottom:14px}.brand img{width:135px;max-height:70px}.auth-card{padding:25px 20px;border-radius:14px}h1{font-size:27px}}
:where(button,a,input):focus-visible{outline:3px solid #ff6b1a;outline-offset:3px}button,.secondary,input{min-height:44px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.password-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:-.45rem}.password-actions a{color:var(--blue);font-weight:700;text-decoration:none}.password-icon-actions{display:flex;gap:.5rem}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:1.35rem;line-height:1;cursor:pointer}.icon-button:hover,.icon-button:focus-visible{border-color:var(--blue);color:var(--blue);outline:3px solid color-mix(in srgb,var(--blue) 20%,transparent);outline-offset:2px}
