button,a[role=button],[role=button],input[type=button],input[type=submit],select,label{touch-action:manipulation;-webkit-tap-highlight-color:#0000001a;min-width:44px;min-height:44px}button+button,a[role=button]+button,[role=button]+button,button+a[role=button],a[role=button]+a[role=button]{margin-left:8px}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=password],textarea,select{appearance:none;font-size:16px!important}@supports (padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}header,.mobile-header{padding-top:max(.5rem, env(safe-area-inset-top))}}@media (hover:none) and (pointer:coarse){button:hover:not(:active),a:hover:not(:active),[role=button]:hover:not(:active){box-shadow:none!important;transform:none!important}button:active,a:active,[role=button]:active{opacity:.8;transform:scale(.98)}}.scroll-container,.overflow-y-auto,.overflow-x-auto{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}button,[role=button],.icon-button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[class*=motion]{transition:none!important;animation:none!important}}img{max-width:100%;height:auto;display:block}img[loading=lazy]{background:var(--bg-soft)}.skeleton{background:var(--bg-soft);border-radius:var(--radius-md);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:1.5s ease-in-out infinite skeleton-loading;position:absolute;inset:0}@keyframes skeleton-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.dark .skeleton:after{background:linear-gradient(90deg,#0000,#ffffff1a,#0000)}.no-zoom{touch-action:manipulation}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-left{padding-left:env(safe-area-inset-left)}.safe-right{padding-right:env(safe-area-inset-right)}.table-responsive-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gf-border) transparent;-webkit-overflow-scrolling:touch;overflow-x:auto}.table-responsive-wrapper::-webkit-scrollbar{height:8px}.table-responsive-wrapper::-webkit-scrollbar-track{background:0 0}.table-responsive-wrapper::-webkit-scrollbar-thumb{background:var(--gf-border);border-radius:4px}@media (min-width:640px){button,a[role=button],[role=button]{min-width:40px;min-height:40px}}@media (min-width:1024px){button:hover:not(:active),a:hover:not(:active),[role=button]:hover:not(:active){transition:transform .2s;transform:translateY(-2px)}button,a[role=button],[role=button]{min-width:auto;min-height:auto}}:focus-visible{outline:2px solid var(--gf-brand);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.mobile-card{border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--gf-border);margin-bottom:.75rem;padding:1rem}@media (min-width:640px){.mobile-card{padding:1.5rem}}.mobile-table-card{background:var(--card);border:1px solid var(--gf-border);border-radius:var(--radius-lg);flex-direction:column;gap:.75rem;margin-bottom:.75rem;padding:1rem;display:flex}.mobile-table-card-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.mobile-table-card-label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.mobile-table-card-value{color:var(--foreground);text-align:right;flex:1;font-size:.875rem}.mobile-drawer-overlay{-webkit-backdrop-filter:blur(4px);background:#00000080}.touch-manipulation{touch-action:manipulation}.no-select{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.scroll-smooth-touch{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media (max-width:639px){.kpi-grid,[class*=kpi-card]{width:100%!important;max-width:100%!important}.dashboard-sidebar{display:none}[role=dialog]{border-radius:12px 12px 0 0!important;max-width:100vw!important;max-height:90vh!important;margin:0!important}form .grid,form [class*=grid-cols]{grid-template-columns:1fr!important}.mobile-hidden{display:none!important}[role=tablist]{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}[role=tablist]::-webkit-scrollbar{display:none}main,.page-content{max-width:100vw;overflow-x:hidden}.recharts-wrapper{max-height:200px!important}}@media (min-width:640px) and (max-width:1023px){.tablet-2col{grid-template-columns:repeat(2,1fr)!important}}@media print{.no-print,nav,aside,[role=navigation],.mobile-header{display:none!important}body{color:#000;font-size:12pt}}
.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.focus-visible:focus,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #3b82f6}.skip-to-main{color:#fff;z-index:100;background:#000;padding:8px;text-decoration:none;position:absolute;top:-40px;left:0}.skip-to-main:focus{top:0}.icon-button{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:inline-flex}.icon-button:hover{background-color:#0000000d}.icon-button:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){button,a,input,select,textarea{border-width:2px}}@media (prefers-color-scheme:dark){.skip-to-main{color:#000;background:#fff}.focus-visible:focus,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#60a5fa}}
