.btn,[role=button],button{min-height:44px;min-width:44px;padding:12px 16px;touch-action:manipulation}.btn-icon,.btn-sm{min-height:44px;min-width:44px;padding:10px;display:flex;align-items:center;justify-content:center}[tabindex]:not([tabindex="-1"]),a{min-height:44px;display:inline-flex;align-items:center;padding:8px 4px;text-decoration:none}input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px;transform:scale(1.5);margin:4px}label{min-height:44px;display:flex;align-items:center;padding:8px 4px;cursor:pointer}.responsive-grid{display:grid;gap:16px;width:100%;grid-template-columns:1fr;@media (min-width:640px){grid-template-columns:repeat(2,1fr);gap:20px}@media (min-width:768px){grid-template-columns:repeat(3,1fr);gap:24px}@media (min-width:1024px){grid-template-columns:repeat(4,1fr);gap:28px}}.grid-form{display:grid;gap:16px;grid-template-columns:1fr;@media (min-width:640px){grid-template-columns:repeat(2,1fr)}@media (min-width:1024px){grid-template-columns:repeat(3,1fr)}}.grid-cards{display:grid;gap:16px;grid-template-columns:1fr;@media (min-width:480px){grid-template-columns:repeat(2,1fr)}@media (min-width:768px){grid-template-columns:repeat(3,1fr)}@media (min-width:1200px){grid-template-columns:repeat(4,1fr)}}.grid-auto{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-item-span-2{@media (min-width:640px){grid-column:span 2}}.grid-item-full{grid-column:1/-1}.scroll-container{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;transform:translateZ(0);will-change:scroll-position;scroll-behavior:smooth;scrollbar-width:thin}.scroll-container::-webkit-scrollbar{width:8px}.scroll-container::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:4px}.scroll-container::-webkit-scrollbar-thumb{background:rgba(0,0,0,.3);border-radius:4px}.scroll-container::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.5)}.virtual-scroll{height:400px;overflow:auto;contain:layout style paint}.scroll-trigger{height:20px;margin:10px 0}.scroll-container-with-shadow{position:relative}.scroll-container-with-shadow:after,.scroll-container-with-shadow:before{content:"";position:absolute;left:0;right:0;height:10px;pointer-events:none;z-index:1;transition:opacity .3s ease}.scroll-container-with-shadow:before{top:0;background:linear-gradient(180deg,rgba(255,255,255,1),rgba(255,255,255,0));opacity:0}.scroll-container-with-shadow:after{bottom:0;background:linear-gradient(0deg,rgba(255,255,255,1),rgba(255,255,255,0));opacity:0}.scroll-container-with-shadow.scroll-bottom:after,.scroll-container-with-shadow.scroll-top:before{opacity:1}input,select,textarea{min-height:44px;padding:12px 16px;font-size:16px;border:2px solid #e2e8f0;border-radius:8px;width:100%;box-sizing:border-box;transform:translateZ(0);outline:none;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}input:invalid,select:invalid,textarea:invalid{border-color:#ef4444}input:disabled,select:disabled,textarea:disabled{background-color:#f8fafc;cursor:not-allowed;opacity:.6}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;height:20px;width:20px;background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23999' viewBox='0 0 24 24'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") no-repeat 50%;cursor:pointer}textarea{min-height:88px;resize:vertical;font-family:inherit;line-height:1.5}select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23666' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px}.input-group{display:flex;gap:8px;align-items:stretch}.input-group input{flex:1;margin:0}.input-group .input-addon{min-width:44px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:0 12px;font-size:14px;color:#64748b}.floating-label{position:relative}.floating-label input{padding-top:20px;padding-bottom:8px}.floating-label input:not(:-moz-placeholder)+label{top:8px;font-size:12px;color:#3b82f6}.floating-label input:focus+label,.floating-label input:not(:placeholder-shown)+label{top:8px;font-size:12px;color:#3b82f6}.floating-label label{position:absolute;top:16px;left:16px;font-size:16px;color:#64748b;pointer-events:none;transition:all .2s ease;background:white;padding:0 4px;margin:0;min-height:auto}.safe-area-container{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.safe-area-pb{padding-bottom:env(safe-area-inset-bottom)}body{overflow-x:hidden}.mobile-container{max-width:100%;padding:16px;margin:0 auto}@media (min-width:640px){.mobile-container{padding:24px}}@media (min-width:1024px){.mobile-container{max-width:1200px;padding:32px}}.sticky-header{top:0;border-bottom:1px solid #e2e8f0}.sticky-footer,.sticky-header{position:sticky;z-index:50;background:white;padding:12px 16px;min-height:60px;display:flex;align-items:center}.sticky-footer{bottom:0;border-top:1px solid #e2e8f0;justify-content:center}.skip-link{position:absolute;top:-40px;left:6px;background:#000;color:white;padding:8px;z-index:100;text-decoration:none;border-radius:4px}.skip-link:focus{top:6px}.touch-spacing>*+*{margin-top:16px}.touch-spacing-sm>*+*{margin-top:12px}.touch-spacing-lg>*+*{margin-top:24px}.mobile-only{display:block}@media (min-width:768px){.mobile-only{display:none!important}}.desktop-only{display:none}@media (min-width:768px){.desktop-only{display:block}}.tablet-up{display:none}@media (min-width:640px){.tablet-up{display:block}}[role=button],a,button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.active\:scale-95:active{transform:scale(.95)}@media (hover:hover){[role=button]:hover,button:hover{opacity:.9}}a{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}