:root{--ds-bg: #f8fafc;--ds-paper: #ffffff;--ds-text: #0f172a;--ds-text-secondary: #64748b;--ds-divider: #e2e8f0;--ds-primary: #1e3a8a;--ds-accent: #3b82f6;--ds-success: #22c55e;--ds-warning: #f59e0b;--ds-danger: #ef4444;--ds-shadow-card: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);--ds-shadow-overlay: 0 8px 24px rgba(15, 23, 42, .12);--ds-shadow-floating: 0 4px 16px rgba(15, 23, 42, .14);--ds-radius-card: 20px;--ds-radius-button: 16px;--ds-radius-input: 14px;--ds-motion-fast: .1s;--ds-motion-normal: .18s;--ds-motion-slow: .25s;--portal-bg: var(--ds-bg);--portal-line: var(--ds-divider);--login-primary: var(--ds-primary);--login-secondary: var(--ds-accent)}body{margin:0;min-width:320px;background:var(--ds-bg);color:var(--ds-text);font-family:Inter,Segoe UI,system-ui,sans-serif}#root,.portal-shell{min-height:100dvh}.portal-main:focus{outline:none}.portal-grid{background-image:linear-gradient(to right,transparent 0,transparent calc(100% - 1px),var(--portal-line) calc(100% - 1px)),linear-gradient(to bottom,transparent 0,transparent calc(100% - 1px),var(--portal-line) calc(100% - 1px));background-size:24px 24px}.login-page{position:relative;display:flex;flex-direction:column;align-items:stretch;min-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--ds-bg)}@media(min-width:900px){.login-page{flex-direction:row;min-height:100vh}}#root:has(.login-page){min-height:100dvh}.login-brand-panel{position:relative;z-index:1;display:none;flex:1 1 48%;flex-direction:column;justify-content:center;padding:3rem 2.5rem}@media(min-width:900px){.login-brand-panel{display:flex;padding:3rem 3.75rem}}@media(min-width:1200px){.login-brand-panel{padding-left:5rem;padding-right:5rem}}.login-main{position:relative;z-index:1;flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-sizing:border-box;width:100%;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1.25rem,env(safe-area-inset-bottom))}@media(min-width:600px){.login-main{justify-content:center;padding:1.5rem}}@media(min-width:900px){.login-main{flex:1 1 52%;padding:2.5rem}}.login-mobile-brand{width:100%;max-width:440px;margin-bottom:1.125rem;padding-inline:.25rem}.login-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--ds-primary) 12%,transparent),transparent 42%),radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--ds-accent) 10%,transparent),transparent 38%),linear-gradient(165deg,var(--ds-bg) 0%,color-mix(in srgb,var(--ds-accent) 12%,var(--ds-bg)) 50%,var(--ds-bg) 100%)}.login-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.45;-webkit-mask-image:radial-gradient(circle at center,black 35%,transparent 100%);mask-image:radial-gradient(circle at center,black 35%,transparent 100%)}.login-orb{position:absolute;border-radius:50%;filter:blur(2px);animation-name:login-float;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-duration:16s}.login-wave{position:absolute;left:-10%;width:120%;height:180px;border-radius:45%;opacity:.35;background:linear-gradient(90deg,color-mix(in srgb,var(--ds-primary) 8%,transparent),color-mix(in srgb,var(--ds-accent) 10%,transparent));animation:login-wave 12s ease-in-out infinite}.login-wave--1{bottom:-90px}.login-wave--2{bottom:-120px;animation-delay:-4s;opacity:.22}.login-brand-panel:before{content:"";position:absolute;inset:12% auto 12% 0;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--ds-primary),var(--ds-accent));opacity:.55}.login-card{width:100%;max-width:440px;padding:1.125rem;border-radius:var(--ds-radius-card);border:1px solid var(--ds-divider);background:var(--ds-paper);box-shadow:var(--ds-shadow-card);transform-origin:center top}@media(min-width:600px){.login-card{padding:1.75rem}}.login-card--shake{animation:login-shake .45s cubic-bezier(.36,.07,.19,.97)}.login-field .MuiOutlinedInput-root{transition-property:box-shadow,border-color;transition-duration:var(--ds-motion-fast)}.login-field .MuiOutlinedInput-root.Mui-focused{box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-accent) 20%,transparent)}.login-submit{min-height:56px;font-weight:600;border-radius:var(--ds-radius-button);position:relative;overflow:hidden;transition-property:transform,box-shadow,background-color;transition-duration:var(--ds-motion-normal)}.login-submit:not(:disabled):hover{box-shadow:var(--ds-shadow-floating)}.login-submit:not(:disabled):active{transform:translateY(0)}@media(hover:none){.login-submit:not(:disabled):hover{transform:none;box-shadow:none}}.login-animate{opacity:0;animation:login-fade-up var(--ds-motion-slow) cubic-bezier(.22,1,.36,1) forwards}.login-animate--left{animation-name:login-fade-left}@keyframes login-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes login-fade-left{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes login-float{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,-16px,0) scale(1.03)}}@keyframes login-wave{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-2%) rotate(-1deg)}}@keyframes login-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){.login-animate,.login-orb,.login-wave,.login-card--shake{animation:none!important;opacity:1!important;transform:none!important}.login-submit:not(:disabled):hover{transform:none}}@media(max-width:899px){.login-wave{height:100px;bottom:-70px}.login-wave--2{bottom:-95px}.login-orb{transform:scale(.72);filter:blur(3px)}.login-bg-grid{opacity:.35}.login-card{transform-origin:center center}.login-orb{animation-duration:28s!important}}
