.login-wrapper{--lg-page:var(--dt-canvas,#f6f8fc);--lg-seam:var(--dt-canvas,#e6ecf6);--lg-field:var(--dt-surface,#fff);--lg-field-focus:var(--dt-surface-soft,#edf2fc);--lg-line:var(--dt-line,#d5dce7);--lg-line-strong:var(--dt-line-strong,#b6c1d1);--lg-title:var(--dt-ink,#0f172a);--lg-body:var(--dt-muted,#475569);--lg-faint:var(--dt-faint,#64748b);--lg-accent:var(--dt-accent,#1d4ed8);--lg-error-bg:var(--dt-danger-soft,#fef2f2);--lg-error-line:var(--dt-danger-border,#fecaca);--lg-error:var(--dt-danger-fg,#b91c1c);--lg-success-bg:var(--dt-success-soft,#ecfdf5);--lg-success-line:var(--dt-success-border,#a7f3d0);--lg-success:var(--dt-success-fg,#047857);--lg-caution:var(--dt-warning-fg,#b45309);--lg-overlap:clamp(64px,8vw,140px);--lg-fade:calc(var(--lg-overlap)*2.2);background:linear-gradient(90deg,var(--lg-seam) 0,var(--lg-page) 70%);min-height:100dvh;color:var(--lg-title);font-family:var(--font-sans,Inter,system-ui,-apple-system,sans-serif);grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);display:grid}.login-wrapper--solo{background:var(--lg-page);grid-template-columns:minmax(0,1fr)}.brand-panel{margin-right:calc(var(--lg-overlap)*-1);--lg-mask:linear-gradient(90deg,#000 calc(100% - var(--lg-fade)),#000000db calc(100% - var(--lg-fade)*.8),#0000008f calc(100% - var(--lg-fade)*.55),#0000003d calc(100% - var(--lg-fade)*.3),#0000000f calc(100% - var(--lg-fade)*.12),transparent 100%);-webkit-mask-image:var(--lg-mask);-webkit-mask-image:var(--lg-mask);mask-image:var(--lg-mask);background:#081a30;align-items:flex-end;display:flex;position:relative;overflow:hidden}.brand-panel:after{content:"";background:linear-gradient(#081a3038,#081a3000 20% 34%,#081a308c 50%,#081a30e0 66%,#081a30f7);position:absolute;inset:0}.brand-photo{-o-object-fit:cover;object-fit:cover;-o-object-position:62% 22%;object-position:62% 22%;width:100%;height:100%;animation:20s ease-in-out infinite alternate login-drift;position:absolute;inset:0}.brand-content{z-index:1;box-sizing:border-box;width:100%;max-width:860px;padding:clamp(32px,4vw,64px);padding-right:calc(var(--lg-fade) + 12px);color:#fff;animation:.7s cubic-bezier(.16,1,.3,1) .1s both login-rise;position:relative}.brand-kicker{color:#bcd0ff;margin:0 0 10px;font-size:15px;font-weight:600}.brand-title{letter-spacing:-.03em;color:#fff;max-width:13em;margin:0 0 26px;font-size:clamp(32px,3.2vw,52px);font-weight:800;line-height:1.08}.brand-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#081a3094;border:1px solid #ffffff29;border-radius:16px;margin:0;padding:18px 20px;box-shadow:0 18px 40px -22px #000000b3}.brand-card-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.brand-card-icon{color:#fff;background:linear-gradient(135deg,#1d4ed8,#ea580c);border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.brand-card-name{color:#fff;flex:1;min-width:0;font-size:14.5px;font-weight:700}.brand-card-tag{color:#d5e0f5;border:1px solid #fff3;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.brand-card blockquote{color:#fff;margin:0;font-size:15.5px;line-height:1.55}.brand-card-source{color:#fde68a;align-items:center;gap:7px;margin:12px 0 0;font-size:13px;font-weight:700;display:flex}.form-column{z-index:1;min-width:0;padding-left:var(--lg-overlap);flex-direction:column;display:flex;position:relative}.login-wrapper--solo .form-column{padding-left:0}.login-topbar{justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.login-topbar .back-link{margin:0}.back-link{color:var(--lg-body);border:0 solid #0000;align-items:center;gap:8px;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.back-link:focus-visible,.back-link:hover{color:var(--lg-accent)}.theme-toggle-btn{width:40px;height:40px;color:var(--lg-body);border:1px solid var(--lg-line);cursor:pointer;background:0 0;border-radius:10px;place-items:center;transition:color .15s;display:inline-grid}.theme-toggle-btn:focus-visible,.theme-toggle-btn:hover{color:var(--lg-accent)}.login-main{flex:1;justify-content:center;align-items:center;padding:4px 28px 44px;display:flex}.login-column{width:100%;max-width:420px;animation:.5s cubic-bezier(.16,1,.3,1) both login-rise}.logo-link{margin-bottom:36px;display:inline-block}.brand-logo{width:auto;height:64px;display:block}.logo-dark,html[data-theme=dark] .login-wrapper .logo-light{display:none}html[data-theme=dark] .login-wrapper .logo-dark{display:block}.login-heading{margin-bottom:30px}.login-title{letter-spacing:-.025em;color:var(--lg-title);margin:0 0 8px;font-size:34px;font-weight:800;line-height:1.12}.login-subtitle{white-space:pre-line;color:var(--lg-body);margin:0;font-size:16px;line-height:1.5}.login-form{gap:20px}.field-group,.login-form{flex-direction:column;display:flex}.field-group{gap:8px}.field-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field-label{color:var(--lg-title);font-size:14px;font-weight:600;transition:color .15s}.field-group:focus-within .field-label{color:var(--lg-accent)}.field-hint{color:var(--lg-faint);margin:0;font-size:13px}.field-error{color:var(--lg-error);margin:0;font-size:13px;font-weight:600}.login-link{color:var(--lg-accent);border:0 solid #0000;font-size:13.5px;font-weight:600;text-decoration:none}.login-link:focus-visible,.login-link:hover{text-decoration:underline}.input-shell{position:relative}.login-wrapper .login-input{box-sizing:border-box;width:100%;height:52px;color:var(--lg-title);background:var(--lg-field);border:1px solid var(--lg-line);border-radius:12px;padding:0 16px;font-family:inherit;font-size:15.5px;transition:background-color .15s,border-color .15s;box-shadow:0 1px 2px #0f172a0d}.login-wrapper .login-input--password{padding-right:50px}.login-wrapper .login-input::placeholder{color:var(--lg-faint)}.login-wrapper .login-input:hover:not(:focus){border-color:var(--lg-line-strong)}.login-wrapper .login-input:focus{background:var(--lg-field-focus)}.login-wrapper .login-input:-webkit-autofill{-webkit-text-fill-color:var(--lg-title);transition:background-color 9999s ease-out}.password-toggle{width:40px;height:40px;color:var(--lg-faint);cursor:pointer;background:0 0;border:0 solid #0000;border-radius:8px;place-items:center;transition:color .15s;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:focus-visible,.password-toggle:hover{color:var(--lg-accent)}.caps-warning{color:var(--lg-caution);margin:0;font-size:13px;font-weight:600}.login-error-alert,.login-success-alert{border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.45;animation:.25s ease-out both login-rise}.login-error-alert{color:var(--lg-error);background:var(--lg-error-bg);border:1px solid var(--lg-error-line)}.login-success-alert{color:var(--lg-success);background:var(--lg-success-bg);border:1px solid var(--lg-success-line)}.login-submit-btn{color:#fff;cursor:pointer;background:#1d4ed8;border:0;border-radius:12px;justify-content:center;align-items:center;gap:9px;width:100%;height:52px;margin-top:4px;font-size:15.5px;font-weight:700;text-decoration:none;transition:background-color .15s,transform .15s;display:flex;box-shadow:0 12px 24px -12px #1d4ed8bf}.login-submit-btn:focus-visible,.login-submit-btn:hover:not(:disabled){background:#2563eb}.login-submit-btn:hover:not(:disabled) .submit-arrow{transform:translate(3px)}.login-submit-btn:active:not(:disabled){transform:scale(.99)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.submit-arrow{transition:transform .15s}.login-footer{border-top:1px solid var(--lg-line);color:var(--lg-body);margin-top:28px;padding-top:22px;font-size:14.5px}.login-footer p{margin:0}.login-footer a{color:var(--lg-accent);font-weight:600;text-decoration:none}.login-footer a:focus-visible,.login-footer a:hover{text-decoration:underline}.login-footer .login-legal{gap:8px;margin-top:10px;font-size:13px;display:flex}.login-footer .login-legal a{color:var(--lg-faint);font-weight:500}.dev-shortcuts{border:1px dashed var(--lg-line);border-radius:10px;margin-top:18px;padding:10px 12px}.dev-shortcuts-label{color:var(--lg-faint);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.dev-shortcuts-row{flex-wrap:wrap;gap:2px 14px;display:flex}.dev-shortcut-btn{color:var(--lg-accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:2px 0;font-size:13px;font-weight:600;display:inline-flex}.dev-shortcut-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes login-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes login-drift{0%{transform:scale(1)}to{transform:scale(1.06)}}@media (width<=960px){.login-wrapper{background:var(--lg-page);flex-direction:column;display:flex}.brand-panel{flex:0 0 150px;margin-right:0;-webkit-mask-image:linear-gradient(#000 45%,#0000);mask-image:linear-gradient(#000 45%,#0000)}.brand-panel:after{background:0 0}.brand-photo{-o-object-position:62% 26%;object-position:62% 26%}.brand-content{display:none}.form-column{flex:1;padding-left:0}.login-main{align-items:flex-start;padding-top:0}}@media (width<=520px){.login-topbar{padding:14px 18px}.login-main{padding:0 18px 32px}.logo-link{margin-bottom:20px}.brand-logo{height:52px}.login-heading{margin-bottom:22px}.login-title{font-size:28px}.login-wrapper .login-input{font-size:16px}}@media (prefers-reduced-motion:reduce){.brand-content,.brand-photo,.login-column,.login-error-alert,.login-success-alert{animation:none}}
