*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{height:100%;overflow-x:hidden}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:Inter,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;transition:background-color .3s ease,color .3s ease}:root{color-scheme:light dark;--header-height:64px;--drawer-width:280px;--content-padding:24px;--z-drawer:1200;--z-header:1100;--z-backdrop:1000;--z-dialog:1500;--z-dialog-backdrop:1400;--mui-palette-background-default:#fff;--mui-palette-background-paper:#f0f0f0;--mui-palette-text-primary:rgba(0,0,0,.87);--mui-palette-text-secondary:rgba(0,0,0,.6);--mui-palette-primary-main:#1976d2;--mui-palette-secondary-main:#9c27b0;--mui-palette-action-active:rgba(0,0,0,.54);--mui-palette-action-hover:rgba(0,0,0,.04)}[data-color-scheme=dark]{--mui-palette-background-default:#121212;--mui-palette-background-paper:#1e1e1e;--mui-palette-text-primary:#fff;--mui-palette-text-secondary:hsla(0,0%,100%,.7);--mui-palette-primary-main:#90caf9;--mui-palette-secondary-main:#ce93d8;--mui-palette-action-active:hsla(0,0%,100%,.7);--mui-palette-action-hover:hsla(0,0%,100%,.08)}body{background-color:var(--mui-palette-background-default);color:var(--mui-palette-text-primary)}.app-root{min-height:100vh;display:flex;flex-direction:column;width:100%;max-width:100vw;overflow-x:hidden;flex:1 1}#portal-root{isolation:isolate;position:relative;z-index:var(--z-dialog)}a{color:inherit;text-decoration:none;outline-offset:2px}a:focus-visible{outline:2px solid var(--mui-palette-primary-main);outline-offset:2px;border-radius:2px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,1px,1px)!important;white-space:nowrap!important;border:0!important}@media (pointer:fine){*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.28);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.4)}}@media (pointer:coarse){*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}}@media (max-width:600px){:root{--content-padding:16px}}@media (prefers-contrast:high){.MuiCard-root,.MuiPaper-root{border:1px solid}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff!important;color:#000!important}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;font-family:system-ui,sans-serif;text-align:center}.error-title{color:#dc2626;font-size:2.25rem}.error-message,.error-title{margin-bottom:16px}.error-button{padding:8px 16px;background-color:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer}.error-details{margin-top:20px;max-width:600px;width:100%}.error-summary{cursor:pointer;margin-bottom:8px}.error-pre{background-color:#f3f4f6;padding:12px;border-radius:4px;overflow-x:auto;font-size:12px;text-align:left}.emulator-debug-container{position:fixed;top:10px;right:10px;background:rgba(0,0,0,.8);color:#fff;padding:16px;border-radius:8px;font-size:12px;font-family:monospace;max-width:400px;z-index:9999;border:1px solid #444}.emulator-debug-title{margin:0 0 10px;color:#ff6b35}.emulator-debug-section{margin-bottom:10px}.emulator-debug-pre{margin:5px 0;font-size:10px;color:#ccc;background-color:#1e1e1e;padding:8px;border-radius:4px;white-space:pre-wrap;word-wrap:break-word}.emulator-debug-button{background:#4caf50;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:12px;margin-bottom:10px;width:100%}.emulator-debug-result{padding:8px;border-radius:4px;font-size:11px}.emulator-debug-result.success{background:#2d5a27}.emulator-debug-result.error{background:#5a2727}.emulator-debug-footer{margin-top:10px;font-size:10px;color:#888}