@media (max-width:640px){a[role=button],button,input[type=button],input[type=submit]{min-height:44px;padding:12px 16px}.space-y-4>*+*{margin-top:1.5rem}.space-y-6>*+*{margin-top:2rem}body{font-size:16px;line-height:1.6}input,select,textarea{font-size:16px;min-height:44px;padding:12px 16px}[role=dialog]{width:calc(100vw - 32px);max-height:calc(100vh - 64px);margin:32px 16px}.button-group{display:flex;flex-direction:column;gap:12px}.button-group a,.button-group button{width:100%}.mobile-stack{flex-direction:column!important}table{display:block;overflow-x:auto;white-space:nowrap}.recharts-wrapper{width:100%!important}video{width:100%;height:auto;max-height:60vh}.pagination{gap:8px}.pagination button{min-width:44px;padding:12px}}@media (min-width:641px) and (max-width:1024px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}aside{width:280px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.recording-layout{flex-direction:column}}@media (max-width:896px) and (orientation:landscape){.recorder-controls{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);padding:12px;border-top:1px solid #e5e7eb;z-index:40}[role=dialog]{max-height:calc(100vh - 32px)}}@supports (padding:env(safe-area-inset-bottom)){.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-top{padding-top:env(safe-area-inset-top)}.safe-left{padding-left:env(safe-area-inset-left)}.safe-right{padding-right:env(safe-area-inset-right)}}@media (max-width:640px){*{-webkit-overflow-scrolling:touch}.overflow-auto,.overflow-x-auto,.overflow-y-auto{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}body{overflow-x:hidden}img{max-width:100%;height:auto}ol,ul{padding-left:1.5rem}.mobile-nav-list{gap:8px}.mobile-nav-item{width:100%}}@media (max-width:640px){:focus-visible{outline-width:3px;outline-offset:3px}*{-webkit-tap-highlight-color:rgba(59,130,246,.2)}}@media print{.no-print,aside,nav{display:none!important}body{font-size:12pt;line-height:1.5}h1,h2,h3{page-break-after:avoid}a[href]:after{content:" (" attr(href) ")"}}