@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/fonts/roboto-latin-300-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/roboto-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/roboto-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/roboto-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/fonts/roboto-latin-ext-300-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/roboto-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/roboto-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/roboto-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-y:scroll}body{overflow:hidden auto}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-thumb{background:#c1c1c1;border:2px solid #f1f1f1;border-radius:6px}*{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-display:swap;contain:layout style;background-color:#f5f5f5;height:100%;font-family:Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Twemoji Mozilla,sans-serif}#root{flex-direction:column;height:100%;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.app-startup-loader,.app-loader-shell{--app-loader-size:72px;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:24px;display:flex}.app-startup-loader{background:#f5f7fb;min-height:100vh}.app-loader-content{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex;position:relative}.app-loader-mark{width:var(--app-loader-size);height:var(--app-loader-size);min-width:var(--app-loader-size);min-height:var(--app-loader-size);isolation:isolate;flex:none;place-items:center;display:grid;position:relative}.app-loader-ring{will-change:transform;border:2px solid #1976d2;border-color:#1976d2 #14b8a6 #1976d229 #1976d229;border-radius:50%;animation:1.6s linear infinite appLoaderRingSpin;position:absolute;top:0;bottom:0;left:0;right:0}.app-loader-core{color:#fff;font-size:calc(var(--app-loader-size) * .32);letter-spacing:0;background:#102a43;border-radius:50%;place-items:center;font-weight:800;line-height:1;display:grid;position:absolute;top:10%;bottom:10%;left:10%;right:10%;overflow:hidden;box-shadow:0 10px 26px #102a433d}.app-loader-fill{will-change:transform;background:linear-gradient(#14b8a6 0%,#1976d2 100%);height:100%;animation:2.4s ease-in-out infinite appLoaderCoreFill;position:absolute;top:100%;left:-25%;right:-25%}.app-loader-fill:before{content:"";background:#ffffff4d;border-radius:45%;width:120%;height:32%;animation:1.2s ease-in-out infinite alternate appLoaderWave;position:absolute;top:-16%;left:-10%}.app-loader-brand{z-index:1;text-shadow:0 1px 3px #00000047;position:relative}.app-loader-label{color:#455a64;margin:0;font-size:.875rem;font-weight:500;line-height:1.5}.app-loader-visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes appLoaderRingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes appLoaderCoreFill{0%{transform:translateY(6%)}45%,55%{transform:translateY(-82%)}to{transform:translateY(6%)}}@keyframes appLoaderWave{0%{transform:translate(-8%)rotate(-2deg)}to{transform:translate(8%)rotate(2deg)}}@media (prefers-reduced-motion:reduce){.app-loader-ring,.app-loader-fill,.app-loader-fill:before{animation:none}.app-loader-fill{transform:translateY(-58%)}}.loading-container{box-sizing:border-box;justify-content:center;align-items:center;min-height:200px;display:flex;position:relative}.loading-container.full-height{min-height:100vh;padding:0}.content-container{box-sizing:border-box;transition:opacity .2s ease-in-out;position:relative}.content-container.loading{min-height:200px}.loading-fade-in{animation:.3s ease-in-out fadeIn}.loading-fade-out{animation:.2s ease-in-out fadeOut}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.loading-wrapper{min-height:inherit;position:relative}.loading-wrapper.has-content{min-height:auto}.dashboard-container{height:100vh;display:flex;overflow:hidden}.dashboard-sidebar{background:#fff;border-right:1px solid #e0e0e0;width:280px;min-width:280px;overflow-y:auto}.dashboard-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.dashboard-header{background:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.dashboard-content{background:#f5f5f5;flex:1;padding:24px;overflow-y:auto}.widget-container{background:#fff;border-radius:8px;flex-direction:column;height:100%;padding:16px;display:flex;box-shadow:0 2px 4px #0000001a}.widget-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:8px;display:flex}.widget-title{color:#333;font-size:18px;font-weight:600}.widget-content{flex:1;overflow:hidden}@media (max-width:768px){.dashboard-sidebar{z-index:1000;width:100%;transition:left .3s;position:fixed;top:0;left:-100%}.dashboard-sidebar.open{left:0}.dashboard-content{padding:16px}}.text-center{text-align:center}.text-right{text-align:right}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.p-16{padding:16px}.p-24{padding:24px}
