:root{--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--app-bar-height: 56px;--bottom-nav-height: 56px;--drawer-width: 280px;--touch-target-min: 44px;--touch-target-comfortable: 48px;--z-drawer: 1200;--z-modal: 1300;--z-snackbar: 1400;--z-tooltip: 1500}html{height:-webkit-fill-available}body{min-height:100vh;min-height:-webkit-fill-available;min-height:100dvh;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}button,a,[role=button]{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}input,textarea,select,button{font-size:16px}.safe-top{padding-top:var(--sat)}.safe-right{padding-right:var(--sar)}.safe-bottom{padding-bottom:var(--sab)}.safe-left{padding-left:var(--sal)}.safe-all{padding-top:var(--sat);padding-right:var(--sar);padding-bottom:var(--sab);padding-left:var(--sal)}.container{width:100%;padding-left:16px;padding-right:16px;margin-left:auto;margin-right:auto}@media(min-width:600px){.container{padding-left:24px;padding-right:24px;max-width:540px}}@media(min-width:900px){.container{max-width:720px}}@media(min-width:1200px){.container{max-width:960px}}@media(min-width:1536px){.container{max-width:1140px}}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.pull-to-refresh{overscroll-behavior-y:contain}.momentum-scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%}.sticky-header{position:sticky;top:0;padding-top:var(--sat);z-index:var(--z-drawer);background:inherit}.fixed-bottom{position:fixed;bottom:0;left:0;right:0;padding-bottom:var(--sab);z-index:var(--z-drawer)}img{max-width:100%;height:auto}.touch-target{min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:inline-flex;align-items:center;justify-content:center}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid #1976d2;outline-offset:2px}@media(prefers-color-scheme:dark){:root{color-scheme:dark}}@media print{.no-print{display:none!important}.print-only{display:block!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(orientation:landscape)and (max-height:500px){:root{--app-bar-height: 48px;--bottom-nav-height: 48px}}@media(prefers-contrast:high){:root{--focus-ring-color: #000}a,button{text-decoration:underline}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInFromTop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#0000000f 25%,#0000001f,#0000000f 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite}.animate-slide-in-right{animation:slideInFromRight .3s ease-out}.animate-slide-in-left{animation:slideInFromLeft .3s ease-out}.animate-slide-in-bottom{animation:slideInFromBottom .3s ease-out}.animate-slide-in-top{animation:slideInFromTop .3s ease-out}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.page-enter{opacity:0;transform:translate(20px)}.page-enter-active{opacity:1;transform:translate(0);transition:opacity .3s ease-out,transform .3s ease-out}.page-exit{opacity:1;transform:translate(0)}.page-exit-active{opacity:0;transform:translate(-20px);transition:opacity .3s ease-out,transform .3s ease-out}@media(prefers-reduced-motion:reduce){.animate-slide-in-right,.animate-slide-in-left,.animate-slide-in-bottom,.animate-slide-in-top,.animate-fade-in,.animate-scale-in,.animate-pulse,.animate-shake,.skeleton,.spinner{animation:none}.page-enter,.page-enter-active,.page-exit,.page-exit-active{transition:none}}
