:root{--bg: #f4f5f7;--paper: #ffffff;--paper-2: #fafafb;--ink: #0b1220;--ink-2: #1a2434;--ink-3: #3b4757;--muted: #6b7585;--muted-2: #98a2b0;--line: #e3e6ec;--line-2: #edeff3;--accent: #1f3a5f;--accent-2: #2e5488;--accent-soft: #eef2f7;--ok: #1f6b45;--ok-soft: #e7f1ec;--warn: #b45309;--warn-soft: #fbf0e2;--info: #1f4f8a;--info-soft: #e8eff7;--danger: #b23b3b;--danger-soft: #f7e9e9}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}body{font-family:Pretendard,Noto Sans KR,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:13.5px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-2)}button{font-family:inherit}::selection{background:#1f3a5f24}.ec-scroll::-webkit-scrollbar{width:11px;height:11px}.ec-scroll::-webkit-scrollbar-thumb{background:#d2d7e0;border:3px solid transparent;background-clip:padding-box;border-radius:8px}.ec-scroll::-webkit-scrollbar-thumb:hover{background:#bfc6d2;background-clip:padding-box}.ec-scroll::-webkit-scrollbar-track{background:transparent}.ec-hover:hover{background:var(--paper-2)!important}@keyframes ecpulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}@keyframes ectoast{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.ec-input{transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.ec-input:focus{border-color:var(--accent);background:var(--paper);box-shadow:0 0 0 3px var(--accent-soft)}.login-brand{position:relative;flex:1.05;overflow:hidden;background:linear-gradient(155deg,var(--accent-2) 0%,var(--accent) 55%,#16273c 100%)}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(160deg,#000 20%,transparent 90%);mask-image:linear-gradient(160deg,#000 20%,transparent 90%)}@media(max-width:880px){.login-brand{display:none}}@keyframes ecrise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
