@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/OpenSans-Regular.woff2) format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/OpenSans-SemiBold.woff2) format("woff2")}:root{--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--line-soft: rgba(148, 163, 184, .22);--surface: #fff;--surface-soft: #f8fafc;--brand: #2563eb;--brand-strong: #1d4ed8;--brand-ring: rgba(37, 99, 235, .14);--hero: linear-gradient(135deg, #0f172a 0%, #15314f 48%, #1d4ed8 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:#0f172a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth{min-height:100vh;display:grid;grid-template-columns:1.08fr 1fr}.auth-showcase{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:56px 56px 48px;color:#fff;background:radial-gradient(circle at 85% 8%,rgba(96,165,250,.38),transparent 38%),radial-gradient(circle at 8% 92%,rgba(45,212,191,.2),transparent 34%),var(--hero)}.auth-showcase:before{content:"";position:absolute;inset:-25%;z-index:-1;background:radial-gradient(38% 44% at 30% 28%,rgba(34,211,238,.22),transparent 62%),radial-gradient(40% 46% at 76% 70%,rgba(168,85,247,.18),transparent 62%);filter:blur(46px);animation:drift 26s ease-in-out infinite alternate;will-change:transform;contain:paint}.auth-showcase:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:58px 58px;-webkit-mask-image:radial-gradient(circle at 30% 30%,#000,transparent 78%);mask-image:radial-gradient(circle at 30% 30%,#000,transparent 78%)}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(3%,-3%,0) scale(1.08)}}.auth-brand{display:flex;align-items:center;gap:13px}.auth-brand__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;font-size:22px;font-weight:700;color:#fff;background:linear-gradient(135deg,#ffffff38,#ffffff0f);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px #ffffff40}.auth-brand__name{font-size:21px;font-weight:700;letter-spacing:-.4px}.auth-showcase__body{max-width:420px}.auth-showcase__title{font-size:38px;font-weight:700;line-height:1.1;letter-spacing:-.5px}.auth-showcase__lead{margin-top:16px;font-size:15.5px;line-height:1.6;color:#ffffffb8}.auth-showcase__features{list-style:none;margin-top:30px;display:flex;flex-direction:column;gap:15px}.auth-showcase__features li{display:flex;align-items:center;gap:12px;font-size:15px;color:#ffffffe6}.auth-showcase__features svg{flex-shrink:0;width:26px;height:26px;padding:5px;border-radius:8px;color:#5eead4;background:#2dd4bf24;border:1px solid rgba(94,234,212,.28)}.auth-showcase__foot{font-size:12.5px;color:#ffffff73}.auth-main{display:flex;align-items:center;justify-content:center;padding:48px 24px;background:var(--surface)}.auth-inner{width:100%;max-width:384px;animation:rise .5s cubic-bezier(.16,1,.3,1) both}@keyframes rise{0%{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translateZ(0)}}.login-card{width:100%}.login-card+.login-card{margin-top:28px}.login-card h1{font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.4px;margin-bottom:6px}.login-card .subtitle{font-size:14.5px;color:var(--muted);line-height:1.55;margin-bottom:28px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:7px}.field input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;font-family:inherit;color:var(--ink);background:var(--surface-soft);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.field input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px var(--brand-ring)}.field input::placeholder{color:#94a3b8}.field input:disabled{opacity:.6;cursor:not-allowed}.pw-holder{position:relative;display:block}.pw-holder input{padding-right:44px}.pw-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;transition:color .15s,background .15s}.pw-toggle:hover{color:var(--brand);background:#eff6ff}.pw-toggle svg{width:19px;height:19px;display:block}.pw-toggle .icon-off,.pw-toggle.is-visible .icon-on{display:none}.pw-toggle.is-visible .icon-off{display:block}.checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:22px}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.checkbox-row label{font-size:13px;color:#475569;cursor:pointer;user-select:none}.btn-enter{width:100%;padding:13px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-strong) 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 10px 24px -10px #2563ebb3;transition:transform .12s,box-shadow .15s,filter .15s}.btn-enter:hover{transform:translateY(-1px);box-shadow:0 16px 32px -12px #2563ebcc;filter:brightness(1.03)}.btn-enter:active{transform:translateY(0) scale(.99)}.btn-enter:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed;transform:none;filter:none}.btn-secondary{display:block;width:100%;padding:12px;background:var(--surface-soft);color:#334155;border:1.5px solid var(--line);border-radius:12px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;text-align:center;text-decoration:none;transition:background .15s,border-color .15s;margin-top:12px}.btn-secondary:hover{background:#eef2f7;border-color:#cbd5e1}.divider{display:flex;align-items:center;gap:14px;margin:20px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.divider span{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.links{text-align:center;margin-top:22px}.links a{font-size:13px;color:var(--brand);text-decoration:none;font-weight:600}.links a:hover{text-decoration:underline}.alert{padding:12px 14px;border-radius:12px;font-size:13px;margin-bottom:18px;line-height:1.5;border:1px solid transparent}.alert-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca;color:#991b1b}.alert-warning{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fdba74;color:#c2410c}.alert-info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#bfdbfe;color:#1d4ed8}.alert-success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0;color:#166534}.hide{display:none!important}.password-card h1{font-size:22px}.password-card .subtitle{margin-bottom:22px}.actions-row{display:flex;gap:12px;margin-top:8px}.actions-row>*{flex:1}.actions-row .btn-secondary{margin-top:0}@media(max-width:920px){.auth{grid-template-columns:1fr}.auth-showcase{align-items:center;text-align:center;gap:22px;padding:40px 24px 60px}.auth-brand{flex-direction:column;gap:12px}.auth-showcase__body{max-width:460px}.auth-showcase__title{font-size:28px}.auth-showcase__lead{font-size:14.5px}.auth-showcase__features,.auth-showcase__foot{display:none}.auth-main{margin-top:-28px;border-radius:26px 26px 0 0;padding:34px 22px 44px}}@media(max-width:420px){.auth-showcase{padding:34px 20px 56px}.auth-showcase__title{font-size:25px}}@media(prefers-reduced-motion:reduce){.auth-showcase:before{animation:none}.auth-inner{animation:none}*{transition-duration:.01ms!important}}
