.epms-root{--font-sans: "Instrument Sans", "Segoe UI", sans-serif;--font-display: "Outfit", "Instrument Sans", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--navy-950: 243 248 255;--navy-900: 255 255 255;--navy-800: 236 244 253;--navy-700: 208 221 238;--navy-600: 174 193 218;--gray-100: 9 23 43;--gray-200: 25 48 78;--gray-300: 54 81 116;--gray-400: 102 126 158;--gray-500: 136 156 184;--cyan-400: 8 145 178;--cyan-500: 3 111 153;--amber-400: 245 158 11;--amber-500: 217 119 6;--surface-border: rgb(var(--navy-700) / .56);--focus-ring: rgb(var(--cyan-500) / .28);--shadow-soft: 0 18px 40px -30px rgb(6 24 44 / .42);--shadow-card: 0 24px 50px -34px rgb(6 24 44 / .5);--shadow-lifted: 0 28px 64px -32px rgb(3 111 153 / .25);--transition-fast: .16s cubic-bezier(.2, .7, .15, 1);--transition-base: .24s cubic-bezier(.2, .7, .15, 1);--app-bg: radial-gradient(1200px 620px at 8% -12%, rgb(8 145 178 / .2), transparent 62%), radial-gradient(900px 420px at 95% 0%, rgb(37 99 235 / .12), transparent 65%), radial-gradient(1100px 500px at 50% 105%, rgb(245 158 11 / .08), transparent 62%), rgb(var(--navy-950))}.epms-root[data-theme=dark]{--navy-950: 7 14 27;--navy-900: 11 23 41;--navy-800: 18 35 58;--navy-700: 35 56 84;--navy-600: 59 82 112;--gray-100: 245 250 255;--gray-200: 222 235 248;--gray-300: 170 194 219;--gray-400: 120 148 179;--gray-500: 84 110 142;--cyan-400: 45 212 191;--cyan-500: 20 184 166;--surface-border: rgb(var(--navy-700) / .62);--focus-ring: rgb(var(--cyan-500) / .34);--shadow-soft: 0 18px 42px -30px rgb(2 6 16 / .7);--shadow-card: 0 24px 58px -34px rgb(2 8 22 / .74);--shadow-lifted: 0 30px 74px -34px rgb(20 184 166 / .28);--app-bg: radial-gradient(1150px 600px at 8% -12%, rgb(20 184 166 / .23), transparent 62%), radial-gradient(950px 460px at 95% 0%, rgb(56 189 248 / .17), transparent 67%), radial-gradient(1000px 480px at 50% 110%, rgb(245 158 11 / .09), transparent 64%), rgb(var(--navy-950))}*,*:before,*:after{box-sizing:border-box;accent-color:rgb(var(--cyan-500))}html,body,#root,.epms-root{min-height:100%}html{font-size:93.75%;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);background:var(--app-bg);background-attachment:fixed;color:rgb(var(--gray-200));line-height:1.45;letter-spacing:.01em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.epms-root{font-family:var(--font-sans);background:var(--app-bg);background-attachment:fixed;color:rgb(var(--gray-200));line-height:1.45;letter-spacing:.01em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}::selection{background:rgb(var(--cyan-500) / .3);color:rgb(var(--gray-100))}a{color:rgb(var(--cyan-500))}button,input,select,textarea{font:inherit}.app-shell{position:relative;isolation:isolate}.app-shell:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(125deg,transparent 0 26px,rgb(var(--navy-700) / .08) 26px 27px);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 35%,black 75%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 35%,black 75%,transparent 100%);opacity:.42}.app-card{border:1px solid var(--surface-border);box-shadow:var(--shadow-card);backdrop-filter:blur(14px) saturate(1.06);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),background-color var(--transition-fast)}.app-card-interactive:hover{transform:translateY(-1px);box-shadow:var(--shadow-lifted);border-color:rgb(var(--cyan-500) / .5)}.app-btn{position:relative;overflow:hidden;transform:translateY(0);transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast)}.app-btn:hover{transform:translateY(-1px)}.app-btn:active{transform:translateY(0)}.app-btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}.app-input{border-color:rgb(var(--navy-700) / .75);box-shadow:inset 0 1px 1px rgb(var(--navy-900) / .2);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.app-input::placeholder{color:rgb(var(--gray-400))}.app-input:hover{border-color:rgb(var(--navy-600) / .88)}.app-input:focus-visible{border-color:rgb(var(--cyan-500) / .7);box-shadow:0 0 0 3px var(--focus-ring)}.app-sidebar{box-shadow:inset -1px 0 rgb(var(--navy-700) / .3),0 0 0 1px rgb(var(--navy-900) / .15)}.app-content{width:100%}.app-mobile-nav{padding-bottom:max(.4rem,env(safe-area-inset-bottom))}.app-banner{border-radius:var(--radius-md);border:1px solid transparent;box-shadow:var(--shadow-soft)}.app-surface{border-radius:var(--radius-md);border:1px solid var(--surface-border);background:rgb(var(--navy-900) / .55);box-shadow:var(--shadow-soft)}.module-page{display:flex;flex-direction:column;gap:1rem}.module-subtle-card{border-radius:var(--radius-md);border:1px solid rgb(var(--navy-700) / .62);background:rgb(var(--navy-900) / .48);box-shadow:var(--shadow-soft)}.module-list-item{border:1px solid rgb(var(--navy-700) / .7);background:rgb(var(--navy-900) / .35);border-radius:var(--radius-md);transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.module-list-item:hover{border-color:rgb(var(--cyan-500) / .4);background:rgb(var(--navy-800) / .42)}.module-list-item.is-active{border-color:rgb(var(--cyan-500) / .58);background:rgb(var(--cyan-500) / .12)}.module-table-scroll{border-radius:var(--radius-md);border:1px solid rgb(var(--navy-700) / .48);background:rgb(var(--navy-950) / .22)}.module-metric{border-radius:var(--radius-md);border:1px solid rgb(var(--navy-700) / .62);background:rgb(var(--navy-900) / .48);box-shadow:inset 0 1px rgb(var(--navy-700) / .18)}.module-form-grid{display:grid;gap:.75rem;grid-template-columns:repeat(1,minmax(0,1fr))}@media(min-width:768px){.module-form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.module-form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.module-form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.module-form-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}#root .overflow-x-auto,#root .overflow-auto{scrollbar-width:thin;scrollbar-color:rgb(var(--navy-600)) transparent}#root .overflow-x-auto::-webkit-scrollbar,#root .overflow-auto::-webkit-scrollbar{width:10px;height:10px}#root .overflow-x-auto::-webkit-scrollbar-thumb,#root .overflow-auto::-webkit-scrollbar-thumb{background:rgb(var(--navy-600) / .8);border-radius:999px;border:2px solid transparent;background-clip:content-box}#root .overflow-x-auto::-webkit-scrollbar-track,#root .overflow-auto::-webkit-scrollbar-track{background:transparent}#root table[class*=min-w-],#root table.min-w-full,#root table.w-full.text-sm,#root table.text-sm{border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);overflow:hidden}#root table[class*=min-w-] thead th,#root table.min-w-full thead th,#root table.w-full.text-sm thead th,#root table.text-sm thead th{background:rgb(var(--navy-800) / .92);color:rgb(var(--gray-300));font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid rgb(var(--navy-700) / .85)}#root table[class*=min-w-] th,#root table.min-w-full th,#root table.w-full.text-sm th,#root table.text-sm th,#root table[class*=min-w-] td,#root table.min-w-full td,#root table.w-full.text-sm td,#root table.text-sm td{padding:.62rem .74rem;border-bottom:1px solid rgb(var(--navy-700) / .42)}#root table[class*=min-w-] tbody tr:hover,#root table.min-w-full tbody tr:hover,#root table.w-full.text-sm tbody tr:hover,#root table.text-sm tbody tr:hover{background:rgb(var(--navy-800) / .34)}@keyframes app-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-card,.app-banner,.app-surface{animation:app-enter .26s ease-out both}@media(max-width:1023px){.app-sidebar{box-shadow:none}}@media(max-width:767px){.app-banner{display:block}}@media(prefers-reduced-motion:reduce){.app-card,.app-banner,.app-surface{animation:none}.app-btn,.app-card,.app-input{transition:none}}
