:root{color-scheme:dark;--sw-ink:#f5f8fc;--sw-muted:#b6c5d3;--sw-line:rgba(211,234,251,.18)}
*{box-sizing:border-box}
html{min-width:280px;background:#132a3e}
body.sw-auth{margin:0;min-height:100vh;min-height:100svh;color:var(--sw-ink);font:400 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
.sw-auth-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;background:url("wallpaper.svg") center/cover no-repeat}
.sw-auth-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(12,29,43,.12),rgba(12,29,43,.28) 50%,rgba(12,29,43,.38))}
.sw-auth-shell{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100svh;width:100%;padding:48px 24px max(28px,env(safe-area-inset-bottom));gap:28px}
.sw-auth-brand{flex:none;display:flex;justify-content:center;max-width:100%;padding:3px 0 0}
.sw-auth-brand img{display:block;width:252px;max-width:80vw;height:auto;filter:drop-shadow(0 2px 2px #10233466) drop-shadow(0 4px 9px #10233455)}
.sw-auth-card{display:flex;flex-direction:column;width:100%;max-width:428px;min-width:0;padding:34px 34px 30px;border:1px solid rgba(230,245,255,.3);border-radius:30px;background:linear-gradient(145deg,rgba(24,47,65,.91),rgba(11,27,42,.94));box-shadow:inset 0 1px 0 #ffffff18,0 24px 80px #10273b36;backdrop-filter:blur(26px) saturate(120%);-webkit-backdrop-filter:blur(26px) saturate(120%)}
.sw-auth-intro{margin-bottom:26px;text-align:left}
.sw-auth-intro h1{margin:0;font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-1px;color:var(--sw-ink)}
.sw-auth-intro p{margin:10px 0 0;font-size:14px;color:var(--sw-muted)}
.sw-auth-form{min-width:0;margin:0;text-align:left;width:100%}
.sw-social-options{min-width:0;width:100%}
.sw-social-form{margin:0 0 10px}
.sw-google-button{position:relative;display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;padding:13px 20px;border:1px solid #747775;border-radius:999px;background:#fff;color:#1f1f1f;font:500 14px/20px Arial,sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 2px 3px #00000012;transition:box-shadow .18s,transform .18s,background .18s}
.sw-google-button img{position:absolute;left:20px;flex:none;width:20px;height:auto;object-fit:contain}
.sw-google-button:hover{background:#f7f9fc;color:#1f1f1f;box-shadow:0 5px 18px #08152430;transform:translateY(-1px)}
.sw-google-button:active{transform:translateY(0)}
.sw-auth-divider{display:flex;align-items:center;gap:12px;margin:25px 0 21px;color:#b6c5d3;font-size:11px;white-space:nowrap}
.sw-auth-divider:before,.sw-auth-divider:after{content:"";height:1px;flex:1;background:var(--sw-line)}
.sw-auth-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.sw-auth-field label{font-size:12px;font-weight:500;color:#cedbe5}
.sw-auth input:not([type=hidden]):not([type=checkbox]),.sw-auth select,.sw-auth textarea{display:block;width:100%;min-width:0;min-height:48px;padding:11px 14px;border:1px solid #c2d9e52e;border-radius:12px;background:#071a2a4d;color:#fff;font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;outline:0;box-shadow:inset 0 1px 2px #00000008;transition:border-color .2s,background .2s}
.sw-auth input:focus,.sw-auth select:focus,.sw-auth textarea:focus{border-color:#8ad8ff;background:#0d2539;box-shadow:0 0 0 3px #77cefa24}
.sw-auth input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 1000px #193246 inset;caret-color:#fff}
.sw-password-button,.sw-auth .btn-primary{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:48px;margin:8px 0 0;padding:11px 16px;border:1px solid #b5d5e842;border-radius:12px;background:linear-gradient(125deg,#5bb9e333,#3b8fbe26);color:#effaff;font:inherit;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;box-shadow:inset 0 1px 0 #ffffff13;transition:background .18s,border-color .18s}
.sw-password-button:hover,.sw-auth .btn-primary:hover{background:#429dcc4d;border-color:#8ed8ff80;color:#fff}
.sw-password-button svg{width:19px;height:19px;flex:none}
.sw-auth :is(button,a,input,select,summary):focus-visible{outline:2px solid #a0e2ff;outline-offset:4px}
.sw-auth .sw-google-button:focus-visible{outline:3px solid #8ad8ff;outline-offset:4px}
.sw-auth-reset{display:block;margin-top:17px;text-align:center;font-size:12px;color:#b9d9ef;text-underline-offset:4px}
.sw-auth a{color:#c2e8ff}
.sw-auth .sw-google-button{color:#1f1f1f}
.sw-auth-footer{display:flex;align-items:center;gap:9px;color:#fff;font-size:11px;text-shadow:0 1px 4px #102d46b3}
.sw-auth-footer span{opacity:.65}
.sw-auth .alert{padding:12px 14px;margin:0 0 18px;border:1px solid #a7d8ed4d;border-radius:12px;background:#7ab9db16;color:#e2f4ff;font-size:13px;overflow-wrap:anywhere}
.sw-auth .alert-danger{border-color:#ffb4aa66;background:#a335302e;color:#ffe0da}
.sw-auth .alert-success{border-color:#91e2bd55;background:#296b552e;color:#c2f6df}
.sw-auth .alert-error{border-color:#ffb4aa66;background:#a335302e;color:#ffe0da}
.sw-auth-form p{color:#d0deea;font-size:14px;overflow-wrap:anywhere}
.sw-auth-form ul{padding-left:20px;color:#d0deea;font-size:13px}
.sw-auth-form label{max-width:100%;overflow-wrap:anywhere}
.sw-auth-form .form-control{background:#071a2a4d;color:#fff;border-color:#c2d9e52e}
.sw-auth .btn-secondary{background:#29475c;color:#fff;border-color:#a8cfe452}
@media(max-width:600px){.sw-auth-backdrop{background-image:url("wallpaper-portrait.svg");background-position:center}.sw-auth-shell{padding:38px 20px max(24px,env(safe-area-inset-bottom));gap:24px}.sw-auth-brand img{width:222px}.sw-auth-card{padding:29px 26px 26px;border-radius:26px}.sw-auth-intro h1{font-size:27px}.sw-auth-intro p{font-size:13px}.sw-auth-intro{margin-bottom:24px}}
@media(max-width:360px){.sw-auth-shell{padding-inline:14px}.sw-auth-card{padding:26px 21px}.sw-auth-intro h1{font-size:25px}.sw-google-button{padding-inline:12px}.sw-google-button img{left:16px}}
@media(max-height:700px) and (min-width:601px){.sw-auth-shell{padding:26px 24px;gap:21px}.sw-auth-brand img{width:220px}.sw-auth-card{padding:28px 32px 25px}.sw-auth-intro{margin-bottom:22px}.sw-auth-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){.sw-auth *{transition:none!important;animation:none!important}}
@media(forced-colors:active){.sw-auth-card,.sw-google-button,.sw-password-button{border:1px solid ButtonText}.sw-auth-backdrop{display:none}}
