.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-truncate-2{-webkit-line-clamp:2}.text-truncate-2,.text-truncate-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.text-truncate-3{-webkit-line-clamp:3}.container-responsive{width:100%;max-width:100%;padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto}@media (min-width:640px){.container-responsive{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.container-responsive{padding-left:2rem;padding-right:2rem}}@media (min-width:1024px){.container-responsive{padding-left:2.5rem;padding-right:2.5rem}}.flex-responsive{display:flex;flex-direction:column;gap:.75rem}@media (min-width:640px){.flex-responsive{flex-direction:row;align-items:center}}.btn-responsive{width:100%;justify-content:center}@media (min-width:640px){.btn-responsive{width:auto;justify-content:flex-start}}.card-responsive{padding:1rem}@media (min-width:640px){.card-responsive{padding:1.5rem}}@media (min-width:768px){.card-responsive{padding:2rem}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:600px;width:100%}.form-responsive{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.form-responsive{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.form-responsive{grid-template-columns:1fr 1fr 1fr}}.nav-responsive{display:flex;flex-direction:column;gap:.5rem}@media (min-width:768px){.nav-responsive{flex-direction:row;align-items:center}}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:40;display:none}.sidebar-overlay.active{display:block}.modal-responsive{width:95vw;max-width:95vw;max-height:95vh;margin:2.5vh auto}@media (min-width:640px){.modal-responsive{width:90vw;max-width:500px}}@media (min-width:768px){.modal-responsive{width:80vw;max-width:600px}}@media (min-width:1024px){.modal-responsive{width:70vw;max-width:700px}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.focus-visible-ring{outline:none;border-radius:.375rem}.safe-area-padding{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.touch-target{min-height:44px;min-width:44px}@media print{.no-print{display:none!important}.print-break-before{page-break-before:always}.print-break-after{page-break-after:always}}@media (prefers-color-scheme:dark){.responsive-border{border-color:rgb(55 65 81)}.responsive-bg{background-color:rgb(17 24 39)}}@media (prefers-contrast:high){.responsive-text{font-weight:600}.responsive-border{border-width:2px}}@media (prefers-reduced-motion:reduce){.responsive-transition{transition:none}.responsive-animation{animation:none}}@media (orientation:landscape) and (max-height:500px){.landscape-compact{padding-top:.5rem;padding-bottom:.5rem}}.responsive-text{font-size:.875rem;line-height:1.25rem}@media (min-width:640px){.responsive-text{font-size:1rem;line-height:1.5rem}}.responsive-heading{font-size:1.25rem;line-height:1.75rem}@media (min-width:640px){.responsive-heading{font-size:1.5rem;line-height:2rem}}@media (min-width:768px){.responsive-heading{font-size:1.875rem;line-height:2.25rem}}@media (hover:none) and (pointer:coarse){.touch-focus:focus{outline:3px solid #3b82f6;outline-offset:2px}}@container (min-width: 640px){.container-query-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}}@container (min-width: 1024px){.container-query-grid{grid-template-columns:repeat(3,1fr)}}.grid-responsive-1{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.grid-responsive-1{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-responsive-1{grid-template-columns:repeat(3,1fr)}}.grid-responsive-2{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:768px){.grid-responsive-2{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.grid-responsive-2{grid-template-columns:repeat(3,1fr)}}.flex-responsive-col{display:flex;flex-direction:column;gap:1rem}@media (min-width:640px){.flex-responsive-col{flex-direction:row}}.flex-responsive-wrap{display:flex;flex-wrap:wrap;gap:.5rem}@media (min-width:640px){.flex-responsive-wrap{gap:1rem}}.spacing-responsive{padding:1rem}@media (min-width:640px){.spacing-responsive{padding:1.5rem}}@media (min-width:1024px){.spacing-responsive{padding:2rem}}.responsive-img{width:100%;height:auto;max-width:100%;object-fit:contain}.responsive-video{position:relative;width:100%;height:0;padding-bottom:56.25%}.responsive-video iframe,.responsive-video video{position:absolute;top:0;left:0;width:100%;height:100%}