*,:after,:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;font-size:16px;height:100%;max-width:100vw;overflow-x:hidden!important;overflow-y:scroll;scrollbar-gutter:stable;text-rendering:optimizeLegibility}:root{--body-background-color:#f5f7fa;--transition-timing:cubic-bezier(0.4,0.0,0.2,1);--transition-timing-professional:cubic-bezier(0.23,1,0.32,1);--transition-duration:0.3s;--transition-duration-fast:0.15s;--transition-duration-slow:0.4s;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--border-radius-sm:0.375rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--border-radius-xl:1rem}html[data-theme=dark]{--body-background-color:#121620}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;background-color:var(--body-background-color);color:#fff;font-family:Roboto,Helvetica,Arial,sans-serif;line-height:1.5;min-height:100%;position:relative}body,body.dark-theme{transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-duration) var(--transition-timing)}body.dark-theme{background-color:#121620}body.light-theme{background-color:#f5f7fa;transition:background-color .3s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition-duration) var(--transition-timing)}canvas,img,picture,svg,video{backface-visibility:hidden;display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px;-webkit-transition:background-color .15s ease;transition:background-color .15s ease;-webkit-transition:background-color var(--transition-duration-fast) ease;transition:background-color var(--transition-duration-fast) ease}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}:focus-visible{outline:2px solid #059df5;outline-offset:2px;transition:outline-offset .15s ease;transition:outline-offset var(--transition-duration-fast) ease}::selection{background-color:#059df54d;color:#fff}.app-container{display:flex;flex-direction:column;min-height:100vh}.content-container{flex:1 1;padding:24px;width:100%}@media (max-width:600px){.content-container{padding:16px}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-bold{font-weight:700}.text-medium{font-weight:500}.text-primary{color:#059df5}.text-primary,.text-success{transition:color .15s ease;transition:color var(--transition-duration-fast) ease}.text-success{color:#4caf50}.text-warning{color:#ff9800}.text-error,.text-warning{transition:color .15s ease;transition:color var(--transition-duration-fast) ease}.text-error{color:#f44336}.text-muted{color:#ffffffb3;transition:color .15s ease;transition:color var(--transition-duration-fast) ease}.mt-0{margin-top:0}.mt-1{margin-top:.25rem;margin-top:var(--spacing-xs)}.mt-2{margin-top:.5rem;margin-top:var(--spacing-sm)}.mt-3{margin-top:1rem;margin-top:var(--spacing-md)}.mt-4{margin-top:1.5rem;margin-top:var(--spacing-lg)}.mt-5{margin-top:2rem;margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:1rem;margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.ml-0{margin-left:0}.ml-1{margin-left:.25rem;margin-left:var(--spacing-xs)}.ml-2{margin-left:.5rem;margin-left:var(--spacing-sm)}.ml-3{margin-left:1rem;margin-left:var(--spacing-md)}.ml-4{margin-left:1.5rem;margin-left:var(--spacing-lg)}.ml-5{margin-left:2rem;margin-left:var(--spacing-xl)}.mr-0{margin-right:0}.mr-1{margin-right:.25rem;margin-right:var(--spacing-xs)}.mr-2{margin-right:.5rem;margin-right:var(--spacing-sm)}.mr-3{margin-right:1rem;margin-right:var(--spacing-md)}.mr-4{margin-right:1.5rem;margin-right:var(--spacing-lg)}.mr-5{margin-right:2rem;margin-right:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:.25rem;padding:var(--spacing-xs)}.p-2{padding:.5rem;padding:var(--spacing-sm)}.p-3{padding:1rem;padding:var(--spacing-md)}.p-4{padding:1.5rem;padding:var(--spacing-lg)}.p-5{padding:2rem;padding:var(--spacing-xl)}.d-flex{display:flex}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.align-center{align-items:center}.align-stretch{align-items:stretch}.d-none{display:none}.d-block{display:block}.d-inline-block{display:inline-block}.w-100{width:100%}.h-100{height:100%}.card{background-color:#272727;border-radius:12px;box-shadow:0 4px 12px #00000026;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-duration) var(--transition-timing)}.card:hover{box-shadow:0 8px 24px #0003;transform:translateY(-2px);will-change:transform,box-shadow}.card-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:16px 20px;transition:border-color .15s ease;transition:border-color var(--transition-duration-fast) ease}.card-title{font-size:1.125rem;font-weight:600;margin:0}.card-content{padding:20px}.card-footer{border-top:1px solid #ffffff1a;padding:16px 20px;transition:border-color .15s ease;transition:border-color var(--transition-duration-fast) ease}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;min-height:36px;outline:none;padding:8px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-duration) var(--transition-timing)}.btn:hover{will-change:transform,background-color,box-shadow}.btn:not(:hover){will-change:auto}.btn:active{transform:scale(.98)}.btn-primary{background-color:#059df5;color:#fff}.btn-primary:hover{background-color:#006fc1;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.btn-outlined{background-color:initial;border:1.5px solid #059df5;color:#059df5}.btn-outlined:hover{background-color:#059df514}.btn-text{background-color:initial;color:#059df5}.btn-text:hover{background-color:#059df514}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover{background-color:#d32f2f;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.btn-sm{font-size:.8125rem;min-height:30px;padding:4px 12px}.btn-lg{font-size:1rem;min-height:44px;padding:10px 20px}.btn-icon{margin-right:8px}.btn-round{align-items:center;border-radius:50%;display:inline-flex;height:36px;justify-content:center;padding:0;width:36px}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.form-group{margin-bottom:16px}.form-label{color:#fffc;display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;transition:color .15s ease;transition:color var(--transition-duration-fast) ease}.form-control{background-color:#ffffff0f;border:1px solid #fff3;border-radius:8px;color:#fff;padding:10px 14px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-duration) var(--transition-timing);width:100%}.form-control:focus{border-color:#059df5;box-shadow:0 0 0 2px #059df540;outline:none}.form-control::placeholder{color:#ffffff80;transition:color .15s ease;transition:color var(--transition-duration-fast) ease}.form-control:disabled{cursor:not-allowed;opacity:.6}.form-helper-text{color:#fff9;display:block;font-size:.75rem;margin-top:4px;transition:color .15s ease;transition:color var(--transition-duration-fast) ease}.form-error{color:#f44336}.table-container{background-color:#272727;border-radius:8px;overflow-x:auto;width:100%}.table{border-collapse:initial;border-spacing:0;width:100%}.table th{background-color:#ffffff0a;border-bottom:1px solid #ffffff1f;font-weight:600;text-align:left}.table td,.table th{color:#fff;padding:12px 16px;transition:background-color .15s ease;transition:background-color var(--transition-duration-fast) ease}.table td{border-bottom:1px solid #ffffff14}.table tr:last-child td{border-bottom:none}.table tr:hover td{background-color:#ffffff0a}.alert{align-items:center;border-radius:8px;display:flex;margin-bottom:16px;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-duration) var(--transition-timing)}.alert-icon{margin-right:12px}.alert-info{background-color:#059df526;border-left:4px solid #059df5;color:#059df5}.alert-success{background-color:#4caf5026;border-left:4px solid #4caf50;color:#4caf50}.alert-warning{background-color:#ff980026;border-left:4px solid #ff9800;color:#ff9800}.alert-error{background-color:#f4433626;border-left:4px solid #f44336;color:#f44336}.badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.75rem;font-weight:500;line-height:1;padding:4px 8px;transition:all .15s ease;transition:all var(--transition-duration-fast) ease}.badge-primary{background-color:#059df533;color:#059df5}.badge-success{background-color:#4caf5033;color:#4caf50}.badge-warning{background-color:#ff980033;color:#ff9800}.badge-error{background-color:#f4433633;color:#f44336}.badge-outlined{background-color:initial;border:1px solid}.avatar{align-items:center;background-color:#059df5;border-radius:50%;color:#fff;display:flex;font-weight:500;height:40px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-duration) var(--transition-timing);width:40px}.avatar-sm{font-size:.875rem;height:32px;width:32px}.avatar-lg{font-size:1.125rem;height:48px;width:48px}.tooltip{display:inline-block;position:relative}.tooltip-text{background-color:#333;border-radius:6px;color:#fff;font-size:.75rem;opacity:0;padding:5px 10px;pointer-events:none;position:absolute;text-align:center;transform:translateY(4px);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-duration) var(--transition-timing),transform var(--transition-duration) var(--transition-timing);z-index:1}.tooltip:hover .tooltip-text{opacity:1;transform:translateY(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s cubic-bezier(.4,0,.2,1);animation:fadeIn var(--transition-duration) var(--transition-timing)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-in-up{animation:slideInUp .3s cubic-bezier(.4,0,.2,1);animation:slideInUp var(--transition-duration) var(--transition-timing);will-change:opacity,transform}@media print{*{background:#0000!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}body{margin:0;padding:0}.no-print{display:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.switch{display:inline-block;font-size:17px;height:2em;position:relative;width:3.5em}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:5px;bottom:0;box-shadow:inset 2px 5px 10px #0000004d;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-duration) var(--transition-timing);will-change:background-color,box-shadow}.slider:before{background-color:#fff;border-radius:0;bottom:.3em;content:"";height:1.4em;left:.3em;position:absolute;transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-duration) var(--transition-timing);width:.1em;will-change:transform}input:checked+.slider{background-color:#4169e1;box-shadow:inset 2px 5px 10px #000}input:checked+.slider:before{transform:translateX(2.8em) rotate(1turn)}.smooth-transition{transition:all .3s cubic-bezier(.23,1,.32,1);transition:all var(--transition-duration) var(--transition-timing-professional)}.smooth-transition-fast{transition:all .15s cubic-bezier(.23,1,.32,1);transition:all var(--transition-duration-fast) var(--transition-timing-professional)}.smooth-transition-slow{transition:all .4s cubic-bezier(.23,1,.32,1);transition:all var(--transition-duration-slow) var(--transition-timing-professional)}.layout-stable{backface-visibility:hidden;contain:layout style paint;isolation:isolate;transform:translateZ(0)}.content-container{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border-radius:.75rem;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.23,1,.32,1);transition:all var(--transition-duration) var(--transition-timing-professional)}.content-container:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.vertical-rhythm>*+*{margin-top:1rem;margin-top:var(--spacing-md)}.vertical-rhythm-lg>*+*{margin-top:1.5rem;margin-top:var(--spacing-lg)}.vertical-rhythm-xl>*+*{margin-top:2rem;margin-top:var(--spacing-xl)}.form-section{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.form-row{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.form-group{margin-bottom:1rem;margin-bottom:var(--spacing-md)}.report-container{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-radius:1rem;border-radius:var(--border-radius-xl);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);margin:1rem 0;margin:var(--spacing-md) 0;padding:1.5rem;padding:var(--spacing-lg);transition:all .4s cubic-bezier(.23,1,.32,1);transition:all var(--transition-duration-slow) var(--transition-timing-professional)}.report-container:hover{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-2px)}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;border-radius:inherit;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.button-enhanced{transition:all .15s cubic-bezier(.23,1,.32,1);transition:all var(--transition-duration-fast) var(--transition-timing-professional)}.button-enhanced:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px) translateZ(0)}.button-enhanced:active{transform:translateY(0) translateZ(0);transition-duration:.15s;transition-duration:var(--transition-duration-fast)}.focus-ring:focus-visible{border-radius:.375rem;border-radius:var(--border-radius-sm);outline:2px solid #4f46e5;outline-offset:2px}@media (prefers-reduced-motion:reduce){.button-enhanced,.content-container,.report-container,.smooth-transition,.smooth-transition-fast,.smooth-transition-slow{animation:none!important;transform:none!important;transition:none!important}}.scroll-to-top-button{backface-visibility:hidden;isolation:isolate;transform:translateZ(0);will-change:transform,opacity}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-to-top-button{transition:none!important}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 #1e88e566;transform:scale(1)}70%{box-shadow:0 0 0 10px #1e88e500;transform:scale(1.05)}to{box-shadow:0 0 0 0 #1e88e500;transform:scale(1)}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes shimmer{0%{background-position:-200% 0;opacity:.6}50%{opacity:1}to{background-position:200% 0;opacity:.6}}@keyframes loading{0%{left:-20%;width:30%}50%{width:30%}to{left:100%;width:30%}}.login-page .typing-animation{animation:typing 3.5s steps(40);margin:0 auto;overflow:hidden;white-space:nowrap}.login-page .float{animation:float 6s ease-in-out infinite}.login-page .shimmer{animation:shimmer 2s ease-in-out infinite}.login-page .pulse{animation:pulse 2s infinite}.login-page input:-webkit-autofill,.login-page input:-webkit-autofill:active,.login-page input:-webkit-autofill:focus,.login-page input:-webkit-autofill:hover{-webkit-text-fill-color:#263238!important;-webkit-box-shadow:inset 0 0 0 30px #ffffffe6!important;font-size:inherit!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.login-page{box-sizing:border-box;height:100vh;justify-content:center!important}@media (min-width:1600px){.login-page{padding-top:10vh}}.login-page :focus-visible{outline:2px solid #1e88e5;outline-offset:2px}.login-page ::selection{background-color:#1e88e54d;color:#263238}.login-page .MuiFormControl-root{position:relative}.login-page{align-items:center;justify-content:center;min-height:100vh;padding:1rem}.login-page,.login-page form{display:flex;flex-direction:column}.login-page form{position:relative;width:100%}@media (min-width:768px){.login-page{padding:1.5rem}}@media (min-width:1024px){.login-page{padding:2rem}}@media (min-width:1440px){.login-page{padding:2.5rem}}.calibration-chart-container{-webkit-overflow-scrolling:touch;backface-visibility:hidden;background-color:#fff;background-color:var(--chart-background,var(--background-paper,#fff));border:1px solid #0000001f;border:1px solid var(--chart-border,var(--divider,#0000001f));border-radius:8px;height:100%;min-height:300px;overflow:hidden;position:relative;scrollbar-width:thin;transform:translateZ(0);width:100%;will-change:scroll-position}.desktop-chart-container{cursor:move;overflow:hidden!important;touch-action:none}.desktop-chart-container .calibration-chart,.desktop-chart-container canvas{background-color:#fff;background-color:var(--chart-background,var(--background-paper,#fff))}.desktop-chart-container::-webkit-scrollbar-track{background:#f1f1f1;background:var(--chart-background,#f1f1f1);border:1px solid #e0e0e0;border:1px solid var(--chart-border,#e0e0e0);border-radius:6px}.desktop-chart-container::-webkit-scrollbar-thumb{background:#aaa;background:var(--chart-text,#aaa);border:1px solid #888;border:1px solid var(--chart-axis,#888);border-radius:6px}.desktop-chart-container::-webkit-scrollbar-thumb:hover{background:#888;background:var(--chart-axis,#888)}.mobile-chart-container{overflow:auto!important;touch-action:pan-x pan-y}.calibration-chart-container::-webkit-scrollbar{height:12px;width:12px}.calibration-chart-container::-webkit-scrollbar-track{background:#f1f1f1;background:var(--chart-background,#f1f1f1);border:1px solid #e0e0e0;border:1px solid var(--chart-border,#e0e0e0);border-radius:6px}.calibration-chart-container::-webkit-scrollbar-thumb{background:#aaa;background:var(--chart-text,#aaa);border:1px solid #888;border:1px solid var(--chart-axis,#888);border-radius:6px}.calibration-chart-container::-webkit-scrollbar-thumb:hover{background:#888;background:var(--chart-axis,#888)}.calibration-chart,.calibration-chart-container canvas{background-color:#fff;background-color:var(--chart-background,var(--background-paper,#fff));display:block;height:auto;transform:translateZ(0)}.calibration-chart{min-height:300px}.calibration-block{transition:opacity .15s ease,filter .15s ease;will-change:opacity,filter}.calibration-tooltip{box-shadow:0 4px 8px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.4;max-width:200px;pointer-events:none!important}.calibration-tooltip,.help-tooltip{background:#fff;background:var(--chart-background,var(--background-paper,#fff));border:1px solid #0000001a;border:1px solid var(--chart-border,#0000001a);border-radius:8px;padding:12px 16px;transition:opacity .2s ease;z-index:1000}.help-tooltip{box-shadow:0 4px 12px #0003;color:#333;color:var(--chart-text,var(--text-primary,#333));line-height:1.5;max-width:230px}.mobile-controls circle{cursor:pointer;transition:fill .2s ease}.mobile-controls circle:hover{fill:#e0e0e0}.mobile-controls text{cursor:pointer;-webkit-user-select:none;user-select:none}@media (max-width:768px){.calibration-tooltip{font-size:12px;max-width:150px;padding:8px 12px}.calibration-block{stroke-width:1px;transition:none}}.mobile-chart-container{height:auto!important;min-height:0!important;min-height:auto!important}@media (max-width:480px){.calibration-tooltip{font-size:11px;max-width:130px;padding:6px 10px}.calibration-chart-container::-webkit-scrollbar{height:6px;width:6px}.calibration-block{filter:none!important}.calibration-chart-container{height:auto!important}.calibration-chart,.calibration-chart-container{min-height:0!important;min-height:auto!important}}@supports (-webkit-touch-callout:none){.calibration-chart-container{-webkit-overflow-scrolling:touch;overflow-x:auto!important}}@media print{.calibration-chart-container{height:auto!important;overflow:visible!important}.calibration-chart,.calibration-chart-container canvas{height:auto!important;page-break-inside:avoid;width:100%!important}.calibration-tooltip,.help-tooltip,.mobile-controls{display:none!important}}