/* ─────────────────────────────────────────────────────────────────────────────
   Sign-in page only.

   The look was designed outside this codebase and this file is that design's own
   compiled stylesheet, kept as it came so the page matches it exactly. Two things
   were changed and nothing else: the web-font import was removed (the site's CSP
   allows no outside origins, and the faces are already served from /fonts), and
   everything below the marker at the end was added here — the dark theme, the
   message banners and the phone rules — because the original had no server, no
   second language coming from a cookie, and no errors to show.

   Nothing here reaches the rest of the site: the sign-in view sets Layout = null
   and is the only page that links this file.
   ───────────────────────────────────────────────────────────────────────────── */
@font-face { font-family: 'PlexAr'; font-style: normal; font-weight: 400;
    font-display: swap; src: url('/fonts/plex-ar-400.woff2') format('woff2'); }
@font-face { font-family: 'PlexAr'; font-style: normal; font-weight: 600;
    font-display: swap; src: url('/fonts/plex-ar-600.woff2') format('woff2'); }
@font-face { font-family: 'PlexAr'; font-style: normal; font-weight: 700;
    font-display: swap; src: url('/fonts/plex-ar-700.woff2') format('woff2'); }
@font-face { font-family: 'PlexLat'; font-style: normal; font-weight: 400;
    font-display: swap; src: url('/fonts/plex-lat-400.woff2') format('woff2'); }
@font-face { font-family: 'PlexLat'; font-style: normal; font-weight: 600;
    font-display: swap; src: url('/fonts/plex-lat-600.woff2') format('woff2'); }
@font-face { font-family: 'PlexLat'; font-style: normal; font-weight: 700;
    font-display: swap; src: url('/fonts/plex-lat-700.woff2') format('woff2'); }


*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-6{left:1.5rem}.right-0{right:0}.right-3{right:.75rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-6{top:1.5rem}.z-10{z-index:10}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-0\.5{height:.125rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-64{height:16rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-0\.5{width:.125rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-64{width:16rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-full{width:100%}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-12{--tw-rotate: 12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-br-xl{border-bottom-right-radius:.75rem}.rounded-tl-xl{border-top-left-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-e{border-inline-end-width:1px}.border-l-2{border-left-width:2px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-400\/30{border-color:#60a5fa4d}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-blue-800\/50{border-color:#1e40af80}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-slate-700\/60{border-color:#33415599}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/25{border-color:#ffffff40}.border-white\/30{border-color:#ffffff4d}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-900\/40{background-color:#1e3a8a66}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-800\/60{background-color:#1e293b99}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/15{background-color:#ffffff26}.bg-white\/20{background-color:#fff3}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-blue-300{--tw-gradient-to: rgb(147 197 253 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #93c5fd var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-700{--tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-4{padding-bottom:1rem}.pl-11{padding-left:2.75rem}.pr-11{padding-right:2.75rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-7{padding-top:1.75rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-loose{line-height:2}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-blue-100\/60{color:#dbeafe99}.text-blue-100\/80{color:#dbeafecc}.text-blue-200\/40{color:#bfdbfe66}.text-blue-200\/60{color:#bfdbfe99}.text-blue-200\/70{color:#bfdbfeb3}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/30{color:#ffffff4d}.text-white\/90{color:#ffffffe6}.placeholder-slate-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/40{--tw-shadow-color: rgb(0 0 0 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/30{--tw-shadow-color: rgb(59 130 246 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-600\/30{--tw-shadow-color: rgb(37 99 235 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-300\/50{--tw-shadow-color: rgb(203 213 225 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur-2xl{--tw-blur: blur(40px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:'PlexLat','PlexAr',system-ui,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #f8faff inset!important;-webkit-text-fill-color:#1e293b!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}@keyframes float-up{0%{opacity:0;transform:translateY(28px) scale(.98);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(40px) scale(.97);filter:blur(6px)}to{opacity:1;transform:translate(0) scale(1);filter:blur(0)}}@keyframes scale-pop{0%{opacity:0;transform:scale(.8) rotate(-8deg);filter:blur(8px)}60%{opacity:1;transform:scale(1.05) rotate(2deg);filter:blur(0)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes draw-line{0%{width:0;opacity:0}to{width:100%;opacity:1}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes grid-drift{0%{transform:translate(0)}to{transform:translate(60px,60px)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulse-ring{0%{transform:scale(.9);opacity:.7}70%{transform:scale(1.4);opacity:0}to{transform:scale(.9);opacity:0}}@keyframes orbit{0%{transform:rotate(0) translate(130px) rotate(0)}to{transform:rotate(360deg) translate(130px) rotate(-360deg)}}@keyframes orbit-reverse{0%{transform:rotate(0) translate(95px) rotate(0)}to{transform:rotate(-360deg) translate(95px) rotate(360deg)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse-slow{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes breathe{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.15);opacity:.5}}@keyframes shape-float-1{0%{transform:translate(0) rotate(0)}25%{transform:translate(40px,-30px) rotate(90deg)}50%{transform:translate(-20px,-50px) rotate(180deg)}75%{transform:translate(-50px,20px) rotate(270deg)}to{transform:translate(0) rotate(360deg)}}@keyframes shape-float-2{0%{transform:translate(0) rotate(0)}33%{transform:translate(-50px,40px) rotate(-120deg)}66%{transform:translate(30px,50px) rotate(-240deg)}to{transform:translate(0) rotate(-360deg)}}@keyframes shape-float-3{0%{transform:translate(0) rotate(0) scale(1)}50%{transform:translate(35px,-35px) rotate(180deg) scale(1.15)}to{transform:translate(0) rotate(360deg) scale(1)}}@keyframes shape-float-4{0%{transform:translate(0) rotate(0)}25%{transform:translate(30px,40px) rotate(90deg)}50%{transform:translate(50px,-10px) rotate(180deg)}75%{transform:translate(10px,-40px) rotate(270deg)}to{transform:translate(0) rotate(360deg)}}@keyframes shape-float-5{0%{transform:translate(0) rotate(0)}50%{transform:translate(-40px,-30px) rotate(-180deg)}to{transform:translate(0) rotate(-360deg)}}@keyframes shape-float-6{0%{transform:translate(0) rotate(0) scale(1)}33%{transform:translate(25px,35px) rotate(120deg) scale(.9)}66%{transform:translate(-30px,20px) rotate(240deg) scale(1.1)}to{transform:translate(0) rotate(360deg) scale(1)}}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-40px) scale(1.08)}66%{transform:translate(-20px,20px) scale(.95)}}@keyframes float-orb-2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,30px) scale(.92)}66%{transform:translate(25px,-25px) scale(1.1)}}@keyframes float-orb-3{0%,to{transform:translate(0)}50%{transform:translate(20px,-30px)}}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes bob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(3deg)}}@keyframes dot-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes aurora{0%{transform:translate(-100%) skew(-15deg);opacity:0}50%{opacity:.4}to{transform:translate(200%) skew(-15deg);opacity:0}}@keyframes ripple{0%{transform:scale(.8);opacity:.5}to{transform:scale(2.5);opacity:0}}.animate-float-up{animation:float-up .5s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-in-right{animation:slide-in-right .55s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-pop{animation:scale-pop .55s cubic-bezier(.34,1.56,.64,1) forwards}.animate-fade-in{animation:fade-in 1s ease forwards}.animate-spin-slow{animation:spin-slow 30s linear infinite}.animate-spin-reverse-slow{animation:spin-reverse-slow 25s linear infinite}.animate-breathe{animation:breathe 4s ease-in-out infinite}.animate-bob{animation:bob 4s ease-in-out infinite}.stagger-1{animation-delay:.04s;opacity:0}.stagger-2{animation-delay:.09s;opacity:0}.stagger-3{animation-delay:.14s;opacity:0}.stagger-4{animation-delay:.19s;opacity:0}.stagger-5{animation-delay:.24s;opacity:0}.stagger-6{animation-delay:.29s;opacity:0}.stagger-7{animation-delay:.34s;opacity:0}.panel-1{animation-delay:.15s;opacity:0}.panel-2{animation-delay:.35s;opacity:0}.panel-3{animation-delay:.55s;opacity:0}.panel-4{animation-delay:.75s;opacity:0}.shape-1{animation:shape-float-1 22s ease-in-out infinite}.shape-2{animation:shape-float-2 28s ease-in-out infinite}.shape-3{animation:shape-float-3 20s ease-in-out infinite}.shape-4{animation:shape-float-4 26s ease-in-out infinite}.shape-5{animation:shape-float-5 24s ease-in-out infinite}.shape-6{animation:shape-float-6 30s ease-in-out infinite}.input-field{transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease,transform .2s ease}.input-field:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1a;background-color:#fff;outline:none;transform:translateY(-1px)}.btn-primary{position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%);pointer-events:none}.btn-primary:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .5s ease,height .5s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #2563eb73}.btn-primary:hover:after{width:300px;height:300px}.btn-primary:active{transform:translateY(0) scale(.98);box-shadow:0 4px 12px #2563eb4d}.shimmer-text{background:linear-gradient(90deg,#fff,#bfdbfe,#fff,#bfdbfe,#fff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 4s linear infinite}.grid-pattern{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:60px 60px;animation:grid-drift 25s linear infinite}.glass-logo{background:#ffffff1f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.25);box-shadow:0 8px 32px #0003,inset 0 1px #ffffff4d}.feature-card{background:#ffffff12;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.16,1,.3,1)}.feature-card:hover{background:#ffffff21;border-color:#ffffff40;transform:translate(-6px);box-shadow:0 8px 24px #00000026}.feature-card:hover .feature-icon{transform:scale(1.15) rotate(-5deg);background:#fff3}.feature-icon{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.lang-toggle{transition:all .2s ease}.lang-toggle:hover{transform:translateY(-1px)}.theme-toggle{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.theme-toggle:hover{transform:rotate(180deg) scale(1.1)}.forgot-link{position:relative;color:#2563eb;font-weight:500;transition:all .2s ease}.forgot-link:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:1.5px;background:linear-gradient(90deg,#2563eb,#60a5fa);transition:width .3s cubic-bezier(.16,1,.3,1);border-radius:2px}.forgot-link:hover:after{width:100%}.forgot-link:hover{letter-spacing:.02em}.stat-badge{background:#ffffff14;border:1px solid rgba(255,255,255,.12);transition:all .3s cubic-bezier(.16,1,.3,1)}.stat-badge:hover{background:#ffffff24;border-color:#ffffff40;transform:translateY(-3px);box-shadow:0 8px 20px #00000026}.orb{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}.orb-1{animation:float-orb 18s ease-in-out infinite}.orb-2{animation:float-orb-2 22s ease-in-out infinite}.orb-3{animation:float-orb-3 15s ease-in-out infinite}.orbit-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.orbit-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff6;box-shadow:0 0 12px #93c5fd99}.orbit-dot-1{animation:orbit 20s linear infinite}.orbit-dot-2{animation:orbit-reverse 16s linear infinite}.pulse-ring{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.2);animation:pulse-ring 3s ease-out infinite}.draw-line{animation:draw-line .8s cubic-bezier(.16,1,.3,1) .6s forwards;width:0;opacity:0}.parallax-layer{transition:transform .15s cubic-bezier(.22,1,.36,1);will-change:transform}.label-icon{transition:color .2s ease,transform .2s ease}.check-badge{animation:scale-pop .5s cubic-bezier(.34,1.56,.64,1) .3s both}.dot-loader span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff;margin:0 2px;animation:dot-bounce 1.2s ease-in-out infinite}.dot-loader span:nth-child(2){animation-delay:.15s}.dot-loader span:nth-child(3){animation-delay:.3s}.gradient-glow{position:relative}.gradient-glow:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(59,130,246,.5),rgba(147,197,253,.2),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity .3s ease}.gradient-glow:focus-within:before{opacity:1}.corner-accent{position:absolute;width:40px;height:40px;border-color:#ffffff26;transition:all .4s ease}.corner-accent:hover{border-color:#fff6;width:60px;height:60px}.noise-overlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' /%3E%3C/svg%3E")}.float-shape{position:absolute;pointer-events:none;opacity:.08}.aurora-line{position:absolute;top:0;bottom:0;width:200px;background:linear-gradient(180deg,transparent,rgba(147,197,253,.15),transparent);animation:aurora 8s ease-in-out infinite;pointer-events:none}.hover\:gap-2:hover{gap:.5rem}.hover\:border-blue-200:hover{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.hover\:border-blue-500\/40:hover{border-color:#3b82f666}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.hover\:text-amber-300:hover{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.hover\:text-blue-300:hover{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-slate-300:hover{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.hover\:text-slate-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-80:disabled{opacity:.8}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 1024px){.lg\:flex{display:flex}.lg\:w-\[46\%\]{width:46%}}@media (min-width: 1280px){.xl\:w-\[42\%\]{width:42%}.xl\:px-14{padding-left:3.5rem;padding-right:3.5rem}.xl\:px-20{padding-left:5rem;padding-right:5rem}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem}}


/* ═══════════════════════════════════════════════════════════════════════════
   ADDED HERE — everything above this line is the design's own stylesheet.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── The form must never depend on an animation to be visible ──────────────
   The design starts each block at opacity:0 and relies on an entrance animation
   to bring it back. On a decorative page that is fine; on the sign-in form it is
   the difference between a portal and a blank white column with no way in. This
   is the safety net: if animations are not going to run, the entrance states are
   dropped entirely and everything is simply visible. A tiny script at the end of
   the page adds `nca-static` when no animation has actually started — which also
   covers the case CSS cannot ask about, an animation that is supported but never
   fires. */
:root.nca-static .stagger-1,:root.nca-static .stagger-2,:root.nca-static .stagger-3,
:root.nca-static .stagger-4,:root.nca-static .stagger-5,:root.nca-static .stagger-6,
:root.nca-static .stagger-7,:root.nca-static .panel-1,:root.nca-static .panel-2,
:root.nca-static .panel-3,:root.nca-static .panel-4,
:root.nca-static .check-badge,:root.nca-static .animate-fade-in,
:root.nca-static .animate-float-up,:root.nca-static .animate-slide-in-right,
:root.nca-static .animate-scale-pop { opacity:1 !important; animation:none !important; }
:root.nca-static .draw-line { width:100%; opacity:1; animation:none !important; }

/* ── Dark theme ────────────────────────────────────────────────────────────
   The original swapped whole class strings in JavaScript because it re-rendered
   on every toggle. This page is rendered once by the server, so the dark colours
   are overrides instead — same values, applied to a stable hook class on each
   element. Doing it this way also means the theme is already correct in the very
   first paint (the inline script in <head> sets data-theme before anything is
   drawn), instead of flashing light and then correcting itself. */
:root[data-theme="dark"] .lg-shell        { background-color:#020617; }               /* slate-950 */
:root[data-theme="dark"] .lg-panel        { background-color:#0f172a; border-color:#1e293b;
                                            --tw-shadow-color:rgb(0 0 0 / .4); }      /* slate-900/800 */
:root[data-theme="dark"] .lg-wordmark     { color:#e2e8f0; }
:root[data-theme="dark"] .lg-theme-btn    { color:#94a3b8; }
:root[data-theme="dark"] .lg-theme-btn:hover  { background-color:#1e293b; color:#fcd34d; }
:root[data-theme="dark"] .lg-lang-btn     { color:#cbd5e1; border-color:#334155; }
:root[data-theme="dark"] .lg-lang-btn:hover   { background-color:#1e293b; color:#60a5fa; border-color:#3b82f666; }
:root[data-theme="dark"] .lg-badge        { background-color:#1e3a8a66; color:#93c5fd; border-color:#1e40af80; }
:root[data-theme="dark"] .lg-title        { color:#fff; }
:root[data-theme="dark"] .lg-subtitle     { color:#94a3b8; }
:root[data-theme="dark"] .lg-label        { color:#cbd5e1; }
:root[data-theme="dark"] .lg-label-icon   { color:#64748b; }
:root[data-theme="dark"] .lg-input        { background-color:#1e293b; border-color:#334155; color:#fff; }
:root[data-theme="dark"] .lg-input::placeholder { color:#64748b; }
:root[data-theme="dark"] .lg-input:focus  { background-color:#1e293b; border-color:#2563eb; }
:root[data-theme="dark"] .lg-eye          { color:#64748b; }
:root[data-theme="dark"] .lg-eye:hover    { color:#cbd5e1; background-color:#334155; }
/* Dark mode needs the opposite move to light mode: on the #0f172a panel, #64748b is
   3.8:1 and #475569 is 2.2:1 — both below the 4.5:1 small text has to clear. Lighter,
   not darker, is what raises contrast here. #94a3b8 reaches 7:1 and still reads muted. */
:root[data-theme="dark"] .lg-forgot-q     { color:#94a3b8; }
:root[data-theme="dark"] .lg-footer       { border-color:#1e293b; }
:root[data-theme="dark"] .lg-build        { color:#94a3b8; }
:root[data-theme="dark"] .forgot-link     { color:#60a5fa; }
/* The autofill override is a light-mode colour baked into the design's stylesheet;
   in dark mode it would repaint a filled field white. */
:root[data-theme="dark"] input:-webkit-autofill,
:root[data-theme="dark"] input:-webkit-autofill:hover,
:root[data-theme="dark"] input:-webkit-autofill:focus {
    -webkit-box-shadow:0 0 0 1000px #1e293b inset !important;
    -webkit-text-fill-color:#fff !important;
}

/* ── Messages ──────────────────────────────────────────────────────────────
   A wrong password, an expired form, a frozen account: the design had none of
   these because it never talked to a server. They sit where the eye already is,
   directly above the fields. */
.lg-alert { display:flex; align-items:flex-start; gap:.55rem; padding:.7rem .9rem;
            border-radius:.75rem; font-size:.78rem; font-weight:600; line-height:1.7;
            border:1px solid; margin-bottom:.9rem; }
.lg-alert svg { flex:none; margin-top:.15rem; }
.lg-alert-error { background:#fef2f2; border-color:#fecaca; color:#b91c1c; }
.lg-alert-info  { background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
:root[data-theme="dark"] .lg-alert-error { background:#7f1d1d40; border-color:#991b1b80; color:#fca5a5; }
:root[data-theme="dark"] .lg-alert-info  { background:#1e3a8a40; border-color:#1e40af80; color:#93c5fd; }

/* ── Phones ────────────────────────────────────────────────────────────────
   Under 16px iOS zooms the whole page the moment a field is tapped, and once it
   has zoomed no breakpoint matches any more. The insets keep the header and the
   footer out from under the clock and the home indicator on an installed app. */
body { padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
       -webkit-tap-highlight-color:transparent; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
@media (display-mode: standalone) { html { overscroll-behavior-y:contain; } }
@media (max-width: 700px) {
    .lg-input { font-size:16px; }
    .lg-shell { min-height:100dvh; }
    .lg-panel { min-height:100dvh; }
    .lg-body  { padding-left:1.5rem; padding-right:1.5rem; }
    .lg-head  { padding-left:1.5rem; padding-right:1.5rem; }
    .lg-footer{ padding-left:1.5rem; padding-right:1.5rem; }
    button, .lg-lang-btn { touch-action:manipulation; }
}
/* Someone who asked their system not to animate should not meet a page that
   fades, floats and drifts on every load. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important;
                             transition-duration:.001ms !important; }
    .stagger-1,.stagger-2,.stagger-3,.stagger-4,.stagger-5,.stagger-6,.stagger-7,
    .panel-1,.panel-2,.panel-3,.panel-4 { opacity:1; }
    .draw-line { width:100%; opacity:1; }
}
/* Keyboard users need to see where they are; the design styled hover only. */
.lg-panel a:focus-visible, .lg-panel button:focus-visible {
    outline:2px solid #2563eb; outline-offset:2px; border-radius:.5rem; }
