:root{--odin-gold: #fcda43;--odin-gold-deep: #f5c518;--odin-gold-soft: #fff6cc;--odin-green-pale: #e4f3e7;--odin-green: #005e12;--odin-green-dark: #00350a;--odin-ink: #1f2937;--odin-muted: #6b7280}body.auth-body{min-height:100vh;background:var(--odin-green-pale);overflow-x:hidden}.auth-page{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.auth-corner{position:absolute;width:clamp(100px,15vw,220px);height:auto;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-corner--tl{top:0;left:0}.auth-corner--tr{top:0;right:0;transform:scaleX(-1)}.auth-corner--bl{bottom:0;left:0;transform:scaleY(-1)}.auth-corner--br{bottom:0;right:0;transform:scale(-1)}.auth-lang{position:absolute;top:1.25rem;right:1.25rem;z-index:2}.auth-lang .lang-btn,.auth-lang .lang-btn:hover,.auth-lang .lang-btn:focus{padding:.4rem .9rem;border:0;font-weight:600;color:var(--odin-green-dark);background:#fff;box-shadow:0 2px 8px #00350a1f}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:4.5rem 1rem 2rem}.auth-shell{width:100%;max-width:420px;display:grid;grid-template-columns:1fr;overflow:hidden;background:#fff;box-shadow:0 24px 60px #00350a29;animation:shell-in .6s cubic-bezier(.2,.8,.2,1) both}@media (min-width: 768px){.auth-shell{max-width:960px;min-height:580px;grid-template-columns:1fr 1fr}}@keyframes shell-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.auth-brand{display:none;flex-direction:column;justify-content:space-between;gap:2rem;padding:2.5rem;color:#fff;background:var(--odin-green)}@media (min-width: 768px){.auth-brand{display:flex}}.brand-logo{width:124px;height:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.brand-title{margin:0 0 1.5rem;font-size:1.75rem;font-weight:700;line-height:1.3}.brand-points{margin:0;padding:0;list-style:none;font-size:.9rem}.brand-points li{display:flex;align-items:center;gap:.75rem}.brand-points li+li{margin-top:.8rem}.brand-points .dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--odin-gold)}.brand-copy{margin:0;font-size:.775rem;color:#fffc}.auth-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem}@media (min-width: 576px){.auth-panel{padding:2.5rem 3.25rem}}.panel-logo{height:72px;width:auto;margin-bottom:1.5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (min-width: 768px){.panel-logo{display:none}}.auth-form{width:100%}.auth-title{margin:0 0 .35rem;font-size:1.5rem;font-weight:700;color:var(--odin-green-dark)}.auth-subtitle{margin:0 0 1.5rem;font-size:.875rem;color:var(--odin-muted)}.field-label{display:block;margin-bottom:.4rem;font-size:.85rem;font-weight:600;color:var(--odin-ink)}.auth-links{margin-bottom:1.25rem;text-align:right}.auth-links--back{margin:1rem 0 0;text-align:left}.forgot-link{font-size:.85rem;font-weight:600;color:var(--odin-green);text-decoration:none;transition:color .2s}.forgot-link:hover{color:var(--odin-green-dark)}.auth-note{margin:1.5rem 0 0;padding-top:1.25rem;border-top:1px solid #e5e7eb;font-size:.825rem;color:var(--odin-muted)}.input-wrap{position:relative}.input-wrap>svg{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#6b7280;pointer-events:none}.input-wrap:focus-within>svg{color:var(--odin-green)}.input-wrap .form-control{height:44px;padding-left:2.6rem;padding-right:2.9rem;border:1px solid #d1d5db;background:#fff;font-size:.95rem;color:var(--odin-ink);transition:border-color .2s,box-shadow .2s}.input-wrap .form-control::-moz-placeholder{color:#6b7280}.input-wrap .form-control::placeholder{color:#6b7280}.input-wrap .form-control:focus{border-color:var(--odin-green);box-shadow:0 0 0 1px var(--odin-green)}.input-wrap .form-control.is-invalid{border-color:#dc2626;background-image:none}.input-wrap .form-control.is-invalid:focus{box-shadow:0 0 0 1px #dc2626}.toggle-password{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:transparent;color:#6b7280;display:grid;place-items:center;transition:background .2s,color .2s}.toggle-password:hover{background:var(--odin-gold-soft);color:var(--odin-green)}.toggle-password svg{width:18px;height:18px}.field-error{margin-top:.4rem;font-size:.8rem;color:#dc2626}.auth-alert{display:flex;gap:.6rem;align-items:center;padding:.7rem .9rem;margin-bottom:1.25rem;font-size:.875rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;animation:shake .35s ease}.auth-alert--success{color:#166534;background:#f0fdf4;border-color:#bbf7d0;animation:none}.auth-alert svg{width:18px;height:18px;flex:none}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.btn-odin{height:46px;border:0;font-size:.95rem;font-weight:700;color:#fff;background:var(--odin-green);transition:background .2s}.btn-odin:hover,.btn-odin:focus-visible{color:#fff;background:var(--odin-green-dark)}.btn-odin:disabled{color:#fff;background:var(--odin-green);opacity:.8}
