.ml-auto{margin-inline-start:auto}.mr-auto{margin-inline-end:auto}.mx-auto{margin-inline:auto}.ml-1{margin-inline-start:0.25rem}.ml-2{margin-inline-start:0.5rem}.ml-3{margin-inline-start:0.75rem}.ml-4{margin-inline-start:1rem}.ml-6{margin-inline-start:1.5rem}.ml-8{margin-inline-start:2rem}.mr-1{margin-inline-end:0.25rem}.mr-2{margin-inline-end:0.5rem}.mr-3{margin-inline-end:0.75rem}.mr-4{margin-inline-end:1rem}.mr-6{margin-inline-end:1.5rem}.mr-8{margin-inline-end:2rem}.pl-1{padding-inline-start:0.25rem}.pl-2{padding-inline-start:0.5rem}.pl-3{padding-inline-start:0.75rem}.pl-4{padding-inline-start:1rem}.pl-6{padding-inline-start:1.5rem}.pl-8{padding-inline-start:2rem}.pr-1{padding-inline-end:0.25rem}.pr-2{padding-inline-end:0.5rem}.pr-3{padding-inline-end:0.75rem}.pr-4{padding-inline-end:1rem}.pr-6{padding-inline-end:1.5rem}.pr-8{padding-inline-end:2rem}.px-2{padding-inline:0.5rem}.px-3{padding-inline:0.75rem}.px-4{padding-inline:1rem}.px-6{padding-inline:1.5rem}.px-8{padding-inline:2rem}.text-start{text-align:start}.text-end{text-align:end}.start-0{inset-inline-start:0}.end-0{inset-inline-end:0}.start-auto{inset-inline-start:auto}.end-auto{inset-inline-end:auto}.-start-1{inset-inline-start:-0.25rem}.-end-1{inset-inline-end:-0.25rem}.border-s{border-inline-start-width:1px}.border-e{border-inline-end-width:1px}.border-s-2{border-inline-start-width:2px}.border-e-2{border-inline-end-width:2px}.border-s-4{border-inline-start-width:4px}.border-e-4{border-inline-end-width:4px}.border-s-gray-200{border-inline-start-color:#e5e7eb}.border-e-gray-200{border-inline-end-color:#e5e7eb}.rounded-s{border-start-start-radius:0.25rem;border-end-start-radius:0.25rem}.rounded-e{border-start-end-radius:0.25rem;border-end-end-radius:0.25rem}.rounded-s-lg{border-start-start-radius:0.5rem;border-end-start-radius:0.5rem}.rounded-e-lg{border-start-end-radius:0.5rem;border-end-end-radius:0.5rem}.flex-row-dir{display:flex;flex-direction:row}.flex-row-reverse-dir{display:flex;flex-direction:row-reverse}[dir="rtl"] .flip-rtl{transform:scaleX(-1)}.no-flip-rtl{}.dropdown-start{inset-inline-start:0;inset-inline-end:auto}.dropdown-end{inset-inline-start:auto;inset-inline-end:0}.input-icon-start{padding-inline-start:2.5rem}.input-icon-end{padding-inline-end:2.5rem}.icon-start{position:absolute;inset-inline-start:0.75rem;top:50%;transform:translateY(-50%)}.icon-end{position:absolute;inset-inline-end:0.75rem;top:50%;transform:translateY(-50%)}.breadcrumb-separator::after{content:"/";margin-inline:0.5rem}[dir="rtl"] .breadcrumb-separator::after{content:"\\"}table{text-align:start}th,td{text-align:start}th:first-child,td:first-child{padding-inline-start:1rem}th:last-child,td:last-child{padding-inline-end:1rem}.badge-start{margin-inline-end:0.5rem}.badge-end{margin-inline-start:0.5rem}.shadow-start{box-shadow:-2px 0 8px rgba(0,0,0,0.1)}[dir="rtl"] .shadow-start{box-shadow:2px 0 8px rgba(0,0,0,0.1)}.shadow-end{box-shadow:2px 0 8px rgba(0,0,0,0.1)}[dir="rtl"] .shadow-end{box-shadow:-2px 0 8px rgba(0,0,0,0.1)}@keyframes slideInStart{from{transform:translateX(-100%)}to{transform:translateX(0)}}[dir="rtl"] @keyframes slideInStart{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideInEnd{from{transform:translateX(100%)}to{transform:translateX(0)}}[dir="rtl"] @keyframes slideInEnd{from{transform:translateX(-100%)}to{transform:translateX(0)}}.force-ltr{direction:ltr;text-align:start}.force-rtl{direction:rtl;text-align:start}.bidi-isolate{unicode-bidi:isolate}@media print{body{direction:inherit}.no-print{display:none}}:root{--touch-target-min:44px;--touch-target-comfortable:48px;--touch-target-large:56px;--mobile-padding-xs:0.5rem;--mobile-padding-sm:0.75rem;--mobile-padding-md:1rem;--mobile-padding-lg:1.5rem;--mobile-padding-xl:2rem;--desktop-padding-xs:0.75rem;--desktop-padding-sm:1rem;--desktop-padding-md:1.5rem;--desktop-padding-lg:2rem;--desktop-padding-xl:3rem;--container-mobile:100%;--container-tablet:48rem;--container-desktop:80rem;--container-wide:96rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--z-dropdown:50;--z-sticky:100;--z-modal-backdrop:900;--z-modal:1000;--z-toast:1100}.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.touch-target-comfortable{min-height:var(--touch-target-comfortable);min-width:var(--touch-target-comfortable)}.touch-target-large{min-height:var(--touch-target-large);min-width:var(--touch-target-large)}@media (max-width:767px){button:not(.touch-target-none),a.btn:not(.touch-target-none),input[type="button"]:not(.touch-target-none),input[type="submit"]:not(.touch-target-none),input[type="reset"]:not(.touch-target-none),.interactive:not(.touch-target-none){min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0.75rem 1rem}a[role="button"]:not(.touch-target-none),a.button:not(.touch-target-none),a.btn-mobile:not(.touch-target-none){min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0.75rem 1rem;display:inline-flex;align-items:center;justify-content:center}button[aria-label]:not([aria-label=""]):not(:has(span)):not(:has(div)),.icon-button,.btn-icon{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0.625rem}select:not(.touch-target-none),textarea:not(.touch-target-none){min-height:var(--touch-target-min);padding:0.75rem 1rem}input[type="checkbox"]+label,input[type="radio"]+label,label:has(input[type="checkbox"]),label:has(input[type="radio"]){min-height:var(--touch-target-min);display:inline-flex;align-items:center;padding:0.5rem 0}nav a:not(.touch-target-none),.nav-link:not(.touch-target-none){min-height:var(--touch-target-min);padding:0.75rem 1rem;display:flex;align-items:center}table a:not(.touch-target-none),.table-action:not(.touch-target-none){min-height:var(--touch-target-min);padding:0.5rem 0.75rem;display:inline-flex;align-items:center}.card a:not(.touch-target-none),.card button:not(.touch-target-none){min-height:var(--touch-target-min);padding:0.75rem 1rem}.touch-spacing>*+*{margin-top:0.5rem}.touch-spacing-horizontal>*+*{margin-left:0.5rem}button+button,a+button,button+a,a+a{margin-left:0.5rem}.flex-col button+button,.flex-col a+button,.flex-col button+a,.flex-col a+a,.space-y-2 button,.space-y-2 a,.space-y-3 button,.space-y-3 a,.space-y-4 button,.space-y-4 a{margin-top:0.5rem;margin-left:0}}button,a[role="button"],input[type="button"],input[type="submit"],input[type="reset"],.btn,.button{min-height:var(--touch-target-min);display:inline-flex;align-items:center;justify-content:center;padding:0.625rem 1rem}.icon-button,.btn-icon,button[aria-label]:not([aria-label=""]):empty{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0.625rem}nav a,.nav-link,.navigation a{min-height:var(--touch-target-min);display:inline-flex;align-items:center;padding:0.5rem 0.75rem}.container-responsive{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--mobile-padding-md);padding-right:var(--mobile-padding-md)}@media (min-width:640px){.container-responsive{padding-left:var(--mobile-padding-lg);padding-right:var(--mobile-padding-lg)}}@media (min-width:768px){.container-responsive{max-width:var(--container-tablet);padding-left:var(--desktop-padding-md);padding-right:var(--desktop-padding-md)}}@media (min-width:1024px){.container-responsive{max-width:var(--container-desktop);padding-left:var(--desktop-padding-lg);padding-right:var(--desktop-padding-lg)}}@media (min-width:1536px){.container-responsive{max-width:var(--container-wide)}}.p-mobile-sm{padding:var(--mobile-padding-sm)}.p-mobile-md{padding:var(--mobile-padding-md)}.p-mobile-lg{padding:var(--mobile-padding-lg)}.px-mobile-sm{padding-left:var(--mobile-padding-sm);padding-right:var(--mobile-padding-sm)}.px-mobile-md{padding-left:var(--mobile-padding-md);padding-right:var(--mobile-padding-md)}.px-mobile-lg{padding-left:var(--mobile-padding-lg);padding-right:var(--mobile-padding-lg)}.py-mobile-sm{padding-top:var(--mobile-padding-sm);padding-bottom:var(--mobile-padding-sm)}.py-mobile-md{padding-top:var(--mobile-padding-md);padding-bottom:var(--mobile-padding-md)}.py-mobile-lg{padding-top:var(--mobile-padding-lg);padding-bottom:var(--mobile-padding-lg)}@media (min-width:768px){.p-mobile-sm{padding:var(--desktop-padding-sm)}.p-mobile-md{padding:var(--desktop-padding-md)}.p-mobile-lg{padding:var(--desktop-padding-lg)}.px-mobile-sm{padding-left:var(--desktop-padding-sm);padding-right:var(--desktop-padding-sm)}.px-mobile-md{padding-left:var(--desktop-padding-md);padding-right:var(--desktop-padding-md)}.px-mobile-lg{padding-left:var(--desktop-padding-lg);padding-right:var(--desktop-padding-lg)}.py-mobile-sm{padding-top:var(--desktop-padding-sm);padding-bottom:var(--desktop-padding-sm)}.py-mobile-md{padding-top:var(--desktop-padding-md);padding-bottom:var(--desktop-padding-md)}.py-mobile-lg{padding-top:var(--desktop-padding-lg);padding-bottom:var(--desktop-padding-lg)}}.m-mobile-sm{margin:var(--mobile-padding-sm)}.m-mobile-md{margin:var(--mobile-padding-md)}.m-mobile-lg{margin:var(--mobile-padding-lg)}.mx-mobile-sm{margin-left:var(--mobile-padding-sm);margin-right:var(--mobile-padding-sm)}.mx-mobile-md{margin-left:var(--mobile-padding-md);margin-right:var(--mobile-padding-md)}.mx-mobile-lg{margin-left:var(--mobile-padding-lg);margin-right:var(--mobile-padding-lg)}.my-mobile-sm{margin-top:var(--mobile-padding-sm);margin-bottom:var(--mobile-padding-sm)}.my-mobile-md{margin-top:var(--mobile-padding-md);margin-bottom:var(--mobile-padding-md)}.my-mobile-lg{margin-top:var(--mobile-padding-lg);margin-bottom:var(--mobile-padding-lg)}@media (min-width:768px){.m-mobile-sm{margin:var(--desktop-padding-sm)}.m-mobile-md{margin:var(--desktop-padding-md)}.m-mobile-lg{margin:var(--desktop-padding-lg)}.mx-mobile-sm{margin-left:var(--desktop-padding-sm);margin-right:var(--desktop-padding-sm)}.mx-mobile-md{margin-left:var(--desktop-padding-md);margin-right:var(--desktop-padding-md)}.mx-mobile-lg{margin-left:var(--desktop-padding-lg);margin-right:var(--desktop-padding-lg)}.my-mobile-sm{margin-top:var(--desktop-padding-sm);margin-bottom:var(--desktop-padding-sm)}.my-mobile-md{margin-top:var(--desktop-padding-md);margin-bottom:var(--desktop-padding-md)}.my-mobile-lg{margin-top:var(--desktop-padding-lg);margin-bottom:var(--desktop-padding-lg)}}.gap-mobile-sm{gap:var(--mobile-padding-sm)}.gap-mobile-md{gap:var(--mobile-padding-md)}.gap-mobile-lg{gap:var(--mobile-padding-lg)}@media (min-width:768px){.gap-mobile-sm{gap:var(--desktop-padding-sm)}.gap-mobile-md{gap:var(--desktop-padding-md)}.gap-mobile-lg{gap:var(--desktop-padding-lg)}}.text-mobile-xs{font-size:var(--text-xs);line-height:var(--leading-normal)}.text-mobile-sm{font-size:var(--text-sm);line-height:var(--leading-normal)}.text-mobile-base{font-size:var(--text-base);line-height:var(--leading-normal)}.text-mobile-lg{font-size:var(--text-lg);line-height:var(--leading-normal)}.text-mobile-xl{font-size:var(--text-xl);line-height:var(--leading-tight)}.heading-1{font-size:var(--text-2xl);line-height:var(--leading-tight);font-weight:700}.heading-2{font-size:var(--text-xl);line-height:var(--leading-tight);font-weight:600}.heading-3{font-size:var(--text-lg);line-height:var(--leading-tight);font-weight:600}.heading-4{font-size:var(--text-base);line-height:var(--leading-normal);font-weight:600}@media (min-width:768px){.heading-1{font-size:var(--text-3xl)}.heading-2{font-size:var(--text-2xl)}.heading-3{font-size:var(--text-xl)}.heading-4{font-size:var(--text-lg)}}@media (min-width:1024px){.heading-1{font-size:var(--text-4xl)}.heading-2{font-size:var(--text-3xl)}}@media (max-width:767px){body{font-size:var(--text-base);line-height:var(--leading-normal)}small,.text-xs{font-size:var(--text-sm)}}.text-readable{max-width:65ch}.stack-mobile{display:flex;flex-direction:column;gap:var(--mobile-padding-md)}@media (min-width:768px){.stack-mobile{flex-direction:row;gap:var(--desktop-padding-md)}}.full-mobile{width:100%}@media (min-width:768px){.full-mobile{width:auto}}.hide-mobile{display:none}@media (min-width:768px){.hide-mobile{display:block}}.show-mobile{display:block}@media (min-width:768px){.show-mobile{display:none}}.input-mobile{width:100%;min-height:var(--touch-target-min);padding:0.75rem 1rem;font-size:var(--text-base);line-height:var(--leading-normal);border:1px solid #d1d5db;border-radius:0.375rem;-webkit-appearance:none;appearance:none;transition:border-color 0.2s,box-shadow 0.2s}.input-mobile:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}.input-mobile:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:0.6}.input-mobile.is-valid{border-color:#10b981}.input-mobile.is-valid:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,0.1)}.input-mobile.is-invalid,.input-mobile.border-red-500{border-color:#ef4444}.input-mobile.is-invalid:focus,.input-mobile.border-red-500:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,0.1)}.btn-mobile{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);padding:0.75rem 1.5rem;font-size:var(--text-base);font-weight:500;line-height:1;border-radius:0.375rem;transition:all 0.2s;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn-mobile-full{width:100%}@media (min-width:768px){.btn-mobile-full{width:auto}}.select-mobile{width:100%;min-height:var(--touch-target-min);padding:0.75rem 2.5rem 0.75rem 1rem;font-size:var(--text-base);line-height:var(--leading-normal);border:1px solid #d1d5db;border-radius:0.375rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;-webkit-appearance:none;appearance:none}.checkbox-mobile,.radio-mobile{width:1.25rem;height:1.25rem;cursor:pointer;flex-shrink:0}.checkbox-mobile:disabled,.radio-mobile:disabled{cursor:not-allowed;opacity:0.5}.form-field-spacing{margin-bottom:1rem}@media (min-width:768px){.form-field-spacing{margin-bottom:1.25rem}}.form-grid-2{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:768px){.form-grid-2{grid-template-columns:repeat(2,1fr);gap:1.5rem}}.form-grid-3{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:768px){.form-grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.form-section{padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid #e5e7eb}.form-section:first-child{padding-top:0;margin-top:0;border-top:none}.form-label{display:block;font-size:0.875rem;font-weight:500;color:#374151;margin-bottom:0.5rem}.form-label-required::after{content:'*';color:#ef4444;margin-left:0.25rem}.form-help-text{font-size:0.75rem;color:#6b7280;margin-top:0.25rem;line-height:1.5}.form-error-text{font-size:0.75rem;color:#ef4444;margin-top:0.25rem;line-height:1.5}.form-success-text{font-size:0.75rem;color:#10b981;margin-top:0.25rem;line-height:1.5}.card-mobile{background:white;border-radius:0.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1);padding:var(--mobile-padding-md);margin-bottom:var(--mobile-padding-md)}@media (min-width:768px){.card-mobile{padding:var(--desktop-padding-md);margin-bottom:var(--desktop-padding-md)}}.card-mobile-interactive{cursor:pointer;transition:all 0.2s;-webkit-tap-highlight-color:transparent}.card-mobile-interactive:active{transform:scale(0.98);box-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}@media (min-width:768px){.card-mobile-interactive:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1)}.card-mobile-interactive:active{transform:none}}.table-mobile{display:block;width:100%}@media (max-width:767px){.table-mobile thead{display:none}.table-mobile tbody,.table-mobile tr{display:block;width:100%}.table-mobile tr{background:white;border-radius:0.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1);padding:var(--mobile-padding-md);margin-bottom:var(--mobile-padding-md)}.table-mobile td{display:flex;justify-content:space-between;align-items:center;padding:0.5rem 0;border-bottom:1px solid #f3f4f6}.table-mobile td:last-child{border-bottom:none}.table-mobile td::before{content:attr(data-label);font-weight:600;margin-right:1rem}}.modal-backdrop{position:fixed;inset:0;background-color:rgba(0,0,0,0.5);z-index:var(--z-modal-backdrop);transition:opacity 0.3s ease}.modal-backdrop.fade-enter{opacity:0}.modal-backdrop.fade-enter-active{opacity:1}.modal-backdrop.fade-leave{opacity:1}.modal-backdrop.fade-leave-active{opacity:0}.modal-mobile{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;padding:0;pointer-events:none}@media (min-width:768px){.modal-mobile{align-items:center;padding:var(--desktop-padding-md)}}.modal-mobile-content{background:white;width:100%;max-height:90vh;overflow-y:auto;border-radius:1rem 1rem 0 0;padding:var(--mobile-padding-lg);pointer-events:auto;transform:translateY(0);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);position:relative;box-shadow:0 -4px 6px -1px rgba(0,0,0,0.1),0 -2px 4px -1px rgba(0,0,0,0.06)}@media (min-width:768px){.modal-mobile-content{max-width:32rem;border-radius:0.5rem;padding:var(--desktop-padding-lg);box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)}}.modal-mobile-content.slide-enter{transform:translateY(100%)}.modal-mobile-content.slide-enter-active{transform:translateY(0)}.modal-mobile-content.slide-leave{transform:translateY(0)}.modal-mobile-content.slide-leave-active{transform:translateY(100%)}.modal-drag-handle{width:40px;height:4px;background-color:#d1d5db;border-radius:2px;margin:0 auto 1rem;cursor:grab;touch-action:none}.modal-drag-handle:active{cursor:grabbing}@media (min-width:768px){.modal-drag-handle{display:none}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.modal-title{font-size:var(--text-xl);font-weight:600;color:#111827;margin:0}@media (min-width:768px){.modal-title{font-size:var(--text-2xl)}}.modal-close-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0.5rem;color:#6b7280;background:transparent;border:none;border-radius:0.375rem;cursor:pointer;transition:all 0.2s;-webkit-tap-highlight-color:transparent}.modal-close-button:hover{color:#111827;background-color:#f3f4f6}.modal-close-button:active{transform:scale(0.95)}.modal-body{margin-bottom:1.5rem}.modal-footer{display:flex;flex-direction:column;gap:0.75rem;padding-top:1rem;border-top:1px solid #e5e7eb}@media (min-width:768px){.modal-footer{flex-direction:row;justify-content:flex-end;gap:1rem}}.modal-footer .btn-mobile{width:100%}@media (min-width:768px){.modal-footer .btn-mobile{width:auto}}.modal-bottom-sheet{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;padding:0;pointer-events:none}.modal-bottom-sheet-content{background:white;width:100%;max-height:60vh;overflow-y:auto;border-radius:1rem 1rem 0 0;padding:var(--mobile-padding-md);pointer-events:auto;transform:translateY(0);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 -4px 6px -1px rgba(0,0,0,0.1),0 -2px 4px -1px rgba(0,0,0,0.06)}@media (min-width:768px){.modal-bottom-sheet{align-items:center;padding:var(--desktop-padding-md)}.modal-bottom-sheet-content{max-width:28rem;max-height:none;border-radius:0.5rem;padding:var(--desktop-padding-md);box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)}}.bottom-sheet-actions{display:flex;flex-direction:column;gap:0.5rem}.bottom-sheet-action{display:flex;align-items:center;min-height:var(--touch-target-comfortable);padding:0.75rem 1rem;font-size:var(--text-base);font-weight:500;color:#374151;background:transparent;border:none;border-radius:0.5rem;cursor:pointer;transition:background-color 0.2s;-webkit-tap-highlight-color:transparent;text-align:left;width:100%}.bottom-sheet-action:hover{background-color:#f3f4f6}.bottom-sheet-action:active{background-color:#e5e7eb}.bottom-sheet-action.destructive{color:#ef4444}.bottom-sheet-action.destructive:hover{background-color:#fef2f2}.bottom-sheet-action.destructive:active{background-color:#fee2e2}.bottom-sheet-action-icon{width:1.25rem;height:1.25rem;margin-right:0.75rem;flex-shrink:0}.modal-fullscreen-mobile{position:fixed;inset:0;z-index:var(--z-modal);background:white;overflow-y:auto;transform:translateX(0);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1)}@media (min-width:768px){.modal-fullscreen-mobile{position:relative;inset:auto;max-width:48rem;margin:2rem auto;border-radius:0.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)}}.modal-fullscreen-mobile.slide-enter{transform:translateX(100%)}.modal-fullscreen-mobile.slide-enter-active{transform:translateX(0)}.modal-fullscreen-mobile.slide-leave{transform:translateX(0)}.modal-fullscreen-mobile.slide-leave-active{transform:translateX(100%)}.modal-swipe-indicator{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,#3b82f6,#8b5cf6);transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out;border-radius:2px 2px 0 0}.modal-sm .modal-mobile-content{max-width:24rem}.modal-md .modal-mobile-content{max-width:32rem}.modal-lg .modal-mobile-content{max-width:48rem}.modal-xl .modal-mobile-content{max-width:64rem}body.modal-open{overflow:hidden;position:fixed;width:100%}@media (min-width:768px){body.modal-open{overflow:auto;position:static}}.modal-loading{display:flex;align-items:center;justify-content:center;padding:2rem}.modal-loading-spinner{width:2rem;height:2rem;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-confirm .modal-body{text-align:center;padding:1rem 0}.modal-confirm .modal-icon{width:3rem;height:3rem;margin:0 auto 1rem;padding:0.75rem;border-radius:50%;background-color:#fef2f2;color:#ef4444}.modal-confirm.success .modal-icon{background-color:#f0fdf4;color:#10b981}.modal-confirm.warning .modal-icon{background-color:#fffbeb;color:#f59e0b}.modal-confirm.info .modal-icon{background-color:#eff6ff;color:#3b82f6}.no-tap-highlight{-webkit-tap-highlight-color:transparent}.touch-active:active{opacity:0.7;transform:scale(0.98)}@media (max-width:767px){html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}}.touch-gap-sm{gap:0.5rem}.touch-gap-md{gap:0.75rem}.touch-gap-lg{gap:1rem}.touch-group>*+*{margin-top:0.5rem}.touch-group-horizontal{display:flex;flex-wrap:wrap;gap:0.5rem}.touch-group-vertical{display:flex;flex-direction:column;gap:0.5rem}a.touch-link{min-height:var(--touch-target-min);display:inline-flex;align-items:center;padding:0.5rem 0.75rem;-webkit-tap-highlight-color:transparent}a.touch-icon-link{min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:inline-flex;align-items:center;justify-content:center;padding:0.625rem;-webkit-tap-highlight-color:transparent}.nav-mobile{display:flex;flex-direction:column;gap:0.25rem}.nav-mobile-item{display:flex;align-items:center;min-height:var(--touch-target-comfortable);padding:0.75rem 1rem;font-size:var(--text-base);font-weight:500;border-radius:0.375rem;transition:background-color 0.2s;-webkit-tap-highlight-color:transparent}.nav-mobile-item:active{background-color:rgba(0,0,0,0.05)}.focus-mobile:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.skip-to-main{position:absolute;top:-100px;left:0;background:#3b82f6;color:white;padding:0.75rem 1.5rem;text-decoration:none;z-index:9999}.skip-to-main:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}html{font-size:16px}body{font-size:1rem;line-height:1.5}.text-scale-container{max-width:100%;overflow-wrap:break-word;word-wrap:break-word;hyphens:auto}h1,.text-4xl{font-size:2.25rem}h2,.text-3xl{font-size:1.875rem}h3,.text-2xl{font-size:1.5rem}h4,.text-xl{font-size:1.25rem}h5,.text-lg{font-size:1.125rem}h6,.text-base{font-size:1rem}.text-sm{font-size:0.875rem}.text-xs{font-size:0.75rem}h1,h2,h3,h4,h5,h6{line-height:1.25}p,li,td,th,label,input,select,textarea,button{line-height:1.5}*{max-width:100%}html,body,.container,.container-responsive,table,thead,tbody,tr{max-width:none}.flex-text-container{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:flex-start}.grid-text-adaptive{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1rem}button,.btn,.btn-mobile,a[role="button"]{padding:0.5em 1em;min-height:2.75em;white-space:normal;text-align:center}.icon-button,.btn-icon{min-width:2.75em;min-height:2.75em;padding:0.5em}input,select,textarea{padding:0.5em 0.75em;min-height:2.75em;font-size:1rem}label{display:block;margin-bottom:0.5em;overflow-wrap:break-word}td,th{padding:0.75em 1em;overflow-wrap:break-word}nav a,.nav-link{padding:0.5em 0.75em;min-height:2.75em;display:flex;align-items:center}.card,.card-mobile{padding:1em}.modal-mobile-content,.modal-bottom-sheet-content{padding:1.5em;max-width:90vw}.fixed-width-safe{min-width:0;flex-shrink:1}img{max-width:100%;height:auto}.flex-text-safe{min-width:0;overflow-wrap:break-word}.grid-text-safe{min-width:0;overflow:hidden}.dropdown-menu,select{font-size:1rem;max-width:100%}.badge,.tag{padding:0.25em 0.75em;font-size:0.875em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tooltip{font-size:0.875rem;padding:0.5em 0.75em;max-width:20em}.space-y-1>*+*{margin-top:0.25rem}.space-y-2>*+*{margin-top:0.5rem}.space-y-3>*+*{margin-top:0.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}.space-x-1>*+*{margin-left:0.25rem}.space-x-2>*+*{margin-left:0.5rem}.space-x-3>*+*{margin-left:0.75rem}.space-x-4>*+*{margin-left:1rem}.space-x-6>*+*{margin-left:1.5rem}.space-x-8>*+*{margin-left:2rem}@media (max-width:767px){.table-mobile tr{padding:1em}.table-mobile td{padding:0.5em 0;display:flex;flex-direction:column;align-items:flex-start;gap:0.25em}.table-mobile td::before{font-weight:600;margin-right:0;margin-bottom:0.25em}}@media (min-width:768px){table{table-layout:auto}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (min-width:768px){.modal-mobile-content{max-width:min(90vw,32rem);max-height:90vh;overflow-y:auto}}.form-grid-2,.form-grid-3{grid-template-columns:1fr}@media (min-width:768px){.form-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}body{color:#1f2937;background-color:#f9fafb}a{color:#2563eb}a:hover{color:#1d4ed8}.text-container{overflow:visible;min-height:fit-content}.absolute-text-safe{position:relative}.flex>*{min-width:0;flex-shrink:1}.flex-wrap-text{flex-wrap:wrap;word-break:break-word}ul,ol{padding-left:1.5em}li{margin-bottom:0.5em}.form-error-text,.form-help-text,.form-success-text{font-size:0.875rem;line-height:1.5;margin-top:0.5em;display:block}svg{width:1em;height:1em;flex-shrink:0}button svg,.btn svg{width:1.25em;height:1.25em}.toast,.notification{padding:1em 1.5em;font-size:1rem;max-width:90vw}.breadcrumb{font-size:0.875rem;padding:0.5em 0}.breadcrumb li{margin-bottom:0}.pagination{display:flex;flex-wrap:wrap;gap:0.5em}.pagination a,.pagination button{min-width:2.75em;min-height:2.75em;padding:0.5em}.progress-bar{min-height:0.5rem;border-radius:0.25rem}.tabs{display:flex;flex-wrap:wrap;gap:0.5em}.tab{padding:0.75em 1.5em;font-size:1rem;white-space:nowrap}.accordion-header{padding:1em 1.5em;font-size:1rem}.accordion-content{padding:1em 1.5em}.status-indicator{padding:0.25em 0.75em;font-size:0.875em;border-radius:0.25rem}code,pre{font-size:0.875em;line-height:1.5;overflow-x:auto}blockquote{padding:1em 1.5em;margin:1em 0;border-left:0.25rem solid #e5e7eb}.alert{padding:1em 1.5em;font-size:1rem;line-height:1.5;border-radius:0.5rem}@media (min-resolution:2dppx){button,a[role="button"],.btn{min-height:44px;min-width:44px}}@media (max-width:640px){.container-responsive{padding-left:1rem;padding-right:1rem}.grid-text-adaptive,.form-grid-2,.form-grid-3,.dashboard-grid{grid-template-columns:1fr}.flex-text-container{flex-direction:column}button,.btn{width:100%}}.gpu-accelerated{transform:translateZ(0);will-change:transform}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}@media print{.no-print{display:none !important}.print-full-width{width:100% !important;max-width:none !important}}.dashboard-card-actions{display:flex;flex-direction:column;gap:0.75rem}@media (min-width:768px){.dashboard-card-actions{flex-direction:row;gap:1rem}}.dashboard-primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);padding:0.75rem 1.5rem;font-size:var(--text-base);font-weight:500;border-radius:0.5rem;transition:all 0.2s;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%}@media (min-width:768px){.dashboard-primary-action{width:auto}}.dashboard-secondary-actions{display:none}@media (min-width:768px){.dashboard-secondary-actions{display:flex;gap:0.5rem}}.dashboard-mobile-menu-toggle{display:flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0.5rem;border-radius:0.5rem;transition:background-color 0.2s;-webkit-tap-highlight-color:transparent}@media (min-width:768px){.dashboard-mobile-menu-toggle{display:none}}@media (max-width:767px){.dashboard-actions-container{display:flex;flex-direction:column;gap:0.75rem}.dashboard-actions-container>*{width:100%}}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (min-width:1024px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}}.dashboard-card{background:white;border-radius:0.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1);display:flex;flex-direction:column;transition:box-shadow 0.2s}.dashboard-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1)}.dashboard-card-content{padding:1rem;flex:1}@media (min-width:768px){.dashboard-card-content{padding:1.5rem}}.dashboard-card-footer{padding:1rem;padding-top:0}@media (min-width:768px){.dashboard-card-footer{padding:1.5rem;padding-top:0}}.dashboard-icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0.5rem;border-radius:0.5rem;transition:all 0.2s;-webkit-tap-highlight-color:transparent}.dashboard-icon-button:active{transform:scale(0.95)}.dashboard-badge{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;font-size:0.75rem;font-weight:600;border-radius:9999px;margin-left:0.5rem}.collapsible-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0.5rem;border-radius:0.5rem;transition:all 0.2s;-webkit-tap-highlight-color:transparent}.collapsible-toggle:active{background-color:rgba(0,0,0,0.05)}.collapse-enter-active,.collapse-leave-active{transition:all 0.3s ease;max-height:1000px;overflow:hidden}.collapse-enter-from,.collapse-leave-to{max-height:0;opacity:0}.multistep-progress-bar{transition:width 0.3s ease-in-out}.step-indicator{transition:all 0.2s ease-in-out}.step-indicator.completed{background-color:#2563eb;border-color:#2563eb}.step-indicator.current{background-color:white;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,0.1)}.step-indicator.future{background-color:white;border-color:#d1d5db}.collapsible-section{transition:all 0.2s ease-in-out}.collapsible-section[aria-expanded="true"]{background-color:#f9fafb}[data-step]{animation:fadeIn 0.3s ease-in-out}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:767px){.multistep-progress-mobile{padding:0.75rem 0}.multistep-navigation{flex-direction:column-reverse;gap:0.75rem}.multistep-navigation button{width:100%}.collapsible-section-header{padding:1rem}.collapsible-section-content{padding:1rem;padding-top:0}}@media (min-width:768px){.multistep-navigation{flex-direction:row;justify-content:space-between}.multistep-navigation button{width:auto;min-width:120px}.collapsible-section-header{padding:1rem 1.5rem}.collapsible-section-content{padding:1rem 1.5rem;padding-top:0}}.progress-connector{position:absolute;top:50%;left:50%;width:100%;height:2px;transform:translateY(-50%);z-index:-1}.progress-connector.completed{background-color:#2563eb}.progress-connector.incomplete{background-color:#e5e7eb}.step-valid::after{content:'✓';position:absolute;top:-4px;right:-4px;width:20px;height:20px;background-color:#10b981;color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:bold}.step-invalid::after{content:'!';position:absolute;top:-4px;right:-4px;width:20px;height:20px;background-color:#ef4444;color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:bold}html{scroll-behavior:smooth}.multistep-navigation button:focus,.collapsible-section button:focus{outline:2px solid #2563eb;outline-offset:2px}.multistep-submit-loading{position:relative;color:transparent}.multistep-submit-loading::after{content:'';position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid #ffffff;border-radius:50%;border-top-color:transparent;animation:spinner 0.6s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}.review-section{background-color:#f9fafb;border-radius:0.5rem;padding:1rem}.review-section h3{font-weight:600;color:#374151;margin-bottom:0.5rem;display:flex;align-items:center;justify-content:space-between}.review-section .edit-button{font-size:0.875rem;color:#2563eb;text-decoration:none;padding:0.25rem 0.5rem;border-radius:0.25rem;transition:background-color 0.2s}.review-section .edit-button:hover{background-color:#dbeafe}.review-section dl{display:grid;gap:0.5rem}.review-section dt{color:#6b7280;font-size:0.875rem}.review-section dd{font-weight:500;color:#111827}@media (max-width:767px){.review-section{padding:0.75rem}.review-section dl{grid-template-columns:1fr}}@media (min-width:768px){.review-section{padding:1.5rem}.review-section dl{grid-template-columns:repeat(2,1fr)}}:root{--duration-fast:150ms;--duration-normal:250ms;--duration-slow:350ms;--duration-slower:500ms;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-smooth:cubic-bezier(0.4,0,0.2,1);--origin-top:top;--origin-bottom:bottom;--origin-left:left;--origin-right:right;--origin-center:center}html{scroll-behavior:smooth}*{-webkit-overflow-scrolling:touch}.smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.menu-slide-enter{transform:translateX(100%);opacity:0}.menu-slide-enter-active{transform:translateX(0);opacity:1;transition:transform var(--duration-slow) var(--ease-out),opacity var(--duration-normal) var(--ease-out)}.menu-slide-leave{transform:translateX(0);opacity:1}.menu-slide-leave-active{transform:translateX(100%);opacity:0;transition:transform var(--duration-normal) var(--ease-in),opacity var(--duration-fast) var(--ease-in)}.menu-backdrop-enter{opacity:0}.menu-backdrop-enter-active{opacity:1;transition:opacity var(--duration-normal) var(--ease-out)}.menu-backdrop-leave{opacity:1}.menu-backdrop-leave-active{opacity:0;transition:opacity var(--duration-fast) var(--ease-in)}.hamburger-line{transition:transform var(--duration-normal) var(--ease-in-out),opacity var(--duration-fast) var(--ease-in-out)}.hamburger-open .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger-open .hamburger-line:nth-child(2){opacity:0}.hamburger-open .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-link{position:relative;transition:color var(--duration-fast) var(--ease-out)}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:currentColor;transition:width var(--duration-normal) var(--ease-out)}.nav-link:hover::after,.nav-link:focus::after,.nav-link[aria-current="page"]::after{width:100%}.dropdown-enter{opacity:0;transform:translateY(-10px) scale(0.95)}.dropdown-enter-active{opacity:1;transform:translateY(0) scale(1);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.dropdown-leave{opacity:1;transform:translateY(0) scale(1)}.dropdown-leave-active{opacity:0;transform:translateY(-10px) scale(0.95);transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.card-expandable{transition:all var(--duration-normal) var(--ease-in-out);overflow:hidden}.card-expandable.expanded{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}.card-content-collapse{max-height:0;opacity:0;overflow:hidden;transition:max-height var(--duration-slow) var(--ease-in-out),opacity var(--duration-normal) var(--ease-in-out),padding var(--duration-normal) var(--ease-in-out)}.card-content-collapse.expanded{max-height:2000px;opacity:1}.accordion-item{transition:margin var(--duration-normal) var(--ease-in-out)}.accordion-item.active{margin-top:0.5rem;margin-bottom:0.5rem}.accordion-header{transition:background-color var(--duration-fast) var(--ease-out)}.accordion-header:hover{background-color:rgba(0,0,0,0.02)}.accordion-header.active{background-color:rgba(59,130,246,0.05)}.expand-icon{transition:transform var(--duration-normal) var(--ease-in-out)}.expanded .expand-icon{transform:rotate(180deg)}.card-slide-down{animation:slideDown var(--duration-normal) var(--ease-out)}@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.card-slide-up{animation:slideUp var(--duration-normal) var(--ease-out)}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-stagger{animation:fadeInUp var(--duration-normal) var(--ease-out) backwards}.card-stagger:nth-child(1){animation-delay:0ms}.card-stagger:nth-child(2){animation-delay:50ms}.card-stagger:nth-child(3){animation-delay:100ms}.card-stagger:nth-child(4){animation-delay:150ms}.card-stagger:nth-child(5){animation-delay:200ms}.card-stagger:nth-child(n+6){animation-delay:250ms}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,0.1);border-top-color:#3b82f6;border-radius:50%;animation:spin 0.8s linear infinite}.spinner-sm{width:20px;height:20px;border-width:2px}.spinner-lg{width:60px;height:60px;border-width:6px}@keyframes spin{to{transform:rotate(360deg)}}.pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}.skeleton{background:linear-gradient( 90deg,#f0f0f0 0%,#e0e0e0 20%,#f0f0f0 40%,#f0f0f0 100% );background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.loading-dots{display:inline-flex;align-items:center;gap:4px}.loading-dots span{width:8px;height:8px;border-radius:50%;background-color:currentColor;animation:dotPulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:0.2s}.loading-dots span:nth-child(3){animation-delay:0.4s}@keyframes dotPulse{0%,80%,100%{opacity:0.3;transform:scale(0.8)}40%{opacity:1;transform:scale(1)}}.progress-bar{position:relative;height:4px;background-color:#e5e7eb;border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background-color:#3b82f6;transition:width var(--duration-slow) var(--ease-out)}.progress-bar-indeterminate{position:absolute;top:0;left:0;height:100%;width:30%;background-color:#3b82f6;animation:progressIndeterminate 1.5s ease-in-out infinite}@keyframes progressIndeterminate{0%{left:-30%}100%{left:100%}}.btn-press{transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.btn-press:active{transform:scale(0.96);box-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}.btn-ripple{position:relative;overflow:hidden}.btn-ripple::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background-color:rgba(255,255,255,0.5);transform:translate(-50%,-50%);transition:width var(--duration-slow) var(--ease-out),height var(--duration-slow) var(--ease-out),opacity var(--duration-slow) var(--ease-out);opacity:0}.btn-ripple:active::after{width:300px;height:300px;opacity:1;transition:width 0s,height 0s,opacity 0s}.hover-lift{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}.modal-fade-enter{opacity:0}.modal-fade-enter-active{opacity:1;transition:opacity var(--duration-normal) var(--ease-out)}.modal-fade-leave{opacity:1}.modal-fade-leave-active{opacity:0;transition:opacity var(--duration-fast) var(--ease-in)}.modal-slide-up-enter{transform:translateY(100%);opacity:0}.modal-slide-up-enter-active{transform:translateY(0);opacity:1;transition:transform var(--duration-slow) var(--ease-out),opacity var(--duration-normal) var(--ease-out)}.modal-slide-up-leave{transform:translateY(0);opacity:1}.modal-slide-up-leave-active{transform:translateY(100%);opacity:0;transition:transform var(--duration-normal) var(--ease-in),opacity var(--duration-fast) var(--ease-in)}.modal-scale-enter{transform:scale(0.9);opacity:0}.modal-scale-enter-active{transform:scale(1);opacity:1;transition:transform var(--duration-normal) var(--ease-out),opacity var(--duration-normal) var(--ease-out)}.modal-scale-leave{transform:scale(1);opacity:1}.modal-scale-leave-active{transform:scale(0.9);opacity:0;transition:transform var(--duration-fast) var(--ease-in),opacity var(--duration-fast) var(--ease-in)}.toast-slide-in{animation:toastSlideIn var(--duration-normal) var(--ease-out)}@keyframes toastSlideIn{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.toast-slide-out{animation:toastSlideOut var(--duration-fast) var(--ease-in)}@keyframes toastSlideOut{from{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.input-animated{transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.input-animated:focus{transform:scale(1.01)}.label-float{transition:transform var(--duration-normal) var(--ease-out),font-size var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out)}.label-float.active{transform:translateY(-1.5rem);font-size:0.75rem;color:#3b82f6}.checkbox-animated,.radio-animated{transition:all var(--duration-fast) var(--ease-out)}.checkbox-animated:checked,.radio-animated:checked{animation:checkBounce var(--duration-normal) var(--ease-bounce)}@keyframes checkBounce{0%{transform:scale(1)}50%{transform:scale(1.2)}100%{transform:scale(1)}}.page-fade-enter{opacity:0}.page-fade-enter-active{opacity:1;transition:opacity var(--duration-normal) var(--ease-out)}.page-fade-leave{opacity:1}.page-fade-leave-active{opacity:0;transition:opacity var(--duration-fast) var(--ease-in)}.page-slide-enter{transform:translateX(100%)}.page-slide-enter-active{transform:translateX(0);transition:transform var(--duration-slow) var(--ease-out)}.page-slide-leave{transform:translateX(0)}.page-slide-leave-active{transform:translateX(-100%);transition:transform var(--duration-slow) var(--ease-in)}.fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fade-out{animation:fadeOut var(--duration-fast) var(--ease-in)}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.bounce{animation:bounce 1s ease-in-out}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.shake{animation:shake var(--duration-slow) var(--ease-in-out)}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.rotate-180{transition:transform var(--duration-normal) var(--ease-in-out);transform:rotate(180deg)}.rotate-0{transition:transform var(--duration-normal) var(--ease-in-out);transform:rotate(0deg)}.scale-up{animation:scaleUp var(--duration-normal) var(--ease-out)}@keyframes scaleUp{from{transform:scale(0.9);opacity:0}to{transform:scale(1);opacity:1}}.scale-down{animation:scaleDown var(--duration-fast) var(--ease-in)}@keyframes scaleDown{from{transform:scale(1);opacity:1}to{transform:scale(0.9);opacity:0}}.gpu-accelerated{transform:translateZ(0);will-change:transform}@media (max-width:767px){.card-stagger{animation-duration:200ms}.menu-slide-enter-active,.menu-slide-leave-active{transition-duration:250ms}}@media (prefers-reduced-motion:reduce){.card-expandable,.accordion-item,.expand-icon,.nav-link,.btn-press,.hover-lift,.input-animated,.label-float{transition:none !important;animation:none !important}}img[data-src]{background-color:#f3f4f6;min-height:100px}img[data-src]:not(.lazy-loaded){filter:blur(5px);transition:filter 0.3s ease-in-out}img.lazy-loaded{filter:blur(0)}[data-lazy-content]:not(.lazy-loaded){opacity:0;transform:translateY(20px);transition:opacity 0.4s ease-out,transform 0.4s ease-out}[data-lazy-content].lazy-loaded{opacity:1;transform:translateY(0)}.lazy-skeleton{background:linear-gradient( 90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75% );background-size:200% 100%;animation:loading 1.5s ease-in-out infinite}@keyframes loading{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){img[data-src]:not(.lazy-loaded),[data-lazy-content]:not(.lazy-loaded){transition:none}.lazy-skeleton{animation:none;background:#f0f0f0}}@media (max-width:768px){img.lazy-loaded,[data-lazy-content].lazy-loaded{transition-duration:0.2s}img[data-src]:not(.lazy-loaded){filter:blur(3px)}}.skeleton{background:linear-gradient( 90deg,#f0f0f0 0%,#e0e0e0 20%,#f0f0f0 40%,#f0f0f0 100% );background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:0.25rem}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (prefers-color-scheme:dark){.skeleton{background:linear-gradient( 90deg,#2d2d2d 0%,#3d3d3d 20%,#2d2d2d 40%,#2d2d2d 100% )}}.skeleton-text{height:1rem;margin-bottom:0.5rem}.skeleton-text-sm{height:0.875rem;margin-bottom:0.375rem}.skeleton-text-lg{height:1.25rem;margin-bottom:0.625rem}.skeleton-heading{height:2rem;margin-bottom:1rem;width:60%}.skeleton-avatar{width:3rem;height:3rem;border-radius:50%}.skeleton-avatar-sm{width:2rem;height:2rem;border-radius:50%}.skeleton-avatar-lg{width:4rem;height:4rem;border-radius:50%}.skeleton-button{height:2.75rem;width:8rem;border-radius:0.375rem}.skeleton-input{height:2.75rem;width:100%;border-radius:0.375rem}.skeleton-card{height:10rem;width:100%;border-radius:0.5rem}.skeleton-image{width:100%;padding-bottom:56.25%;border-radius:0.5rem;position:relative}.skeleton-card-layout{background:white;border-radius:0.5rem;padding:1rem;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1)}@media (min-width:768px){.skeleton-card-layout{padding:1.5rem}}.skeleton-table-row{display:flex;gap:1rem;padding:1rem;border-bottom:1px solid #e5e7eb}.skeleton-table-cell{flex:1;height:1rem}.progress-bar{width:100%;height:0.5rem;background-color:#e5e7eb;border-radius:9999px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background-color:#3b82f6;border-radius:9999px;transition:width 0.3s ease}.progress-bar-indeterminate .progress-bar-fill{width:30%;animation:progress-indeterminate 1.5s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translateX(-100%)}100%{transform:translateX(400%)}}.spinner{width:2rem;height:2rem;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spinner-rotate 0.8s linear infinite}.spinner-sm{width:1rem;height:1rem;border-width:2px}.spinner-lg{width:3rem;height:3rem;border-width:4px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.spinner-label{font-size:0.875rem;color:#6b7280;text-align:center}.dots-spinner{display:flex;gap:0.5rem;align-items:center;justify-content:center}.dots-spinner-dot{width:0.5rem;height:0.5rem;background-color:#3b82f6;border-radius:50%;animation:dots-bounce 1.4s ease-in-out infinite}.dots-spinner-dot:nth-child(1){animation-delay:-0.32s}.dots-spinner-dot:nth-child(2){animation-delay:-0.16s}@keyframes dots-bounce{0%,80%,100%{transform:scale(0);opacity:0.5}40%{transform:scale(1);opacity:1}}.loading-overlay{position:fixed;inset:0;background-color:rgba(255,255,255,0.9);display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(2px)}.loading-overlay-dark{background-color:rgba(0,0,0,0.8)}.loading-inline{display:flex;align-items:center;justify-content:center;padding:1rem;min-height:4rem}.btn-loading{position:relative;color:transparent !important;pointer-events:none}.btn-loading::after{content:'';position:absolute;width:1rem;height:1rem;top:50%;left:50%;margin-left:-0.5rem;margin-top:-0.5rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spinner-rotate 0.6s linear infinite}.offline-indicator{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);background-color:#ef4444;color:white;padding:0.75rem 1.5rem;border-radius:9999px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);display:flex;align-items:center;gap:0.5rem;z-index:1000;animation:slide-up 0.3s ease-out}@keyframes slide-up{from{transform:translateX(-50%) translateY(100%);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.slow-connection-warning{background-color:#f59e0b;color:white;padding:0.75rem 1rem;text-align:center;font-size:0.875rem;display:flex;align-items:center;justify-content:center;gap:0.5rem}.fade-in{animation:fade-in 0.3s ease-in}@keyframes fade-in{from{opacity:0}to{opacity:1}}.slide-in{animation:slide-in 0.3s ease-out}@keyframes slide-in{from{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.empty-state-icon{width:4rem;height:4rem;color:#9ca3af;margin-bottom:1rem}.empty-state-title{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:0.5rem}.empty-state-description{font-size:0.875rem;color:#6b7280;max-width:28rem;margin-bottom:1.5rem}.empty-state-action{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0.75rem 1.5rem;font-size:0.875rem;font-weight:500;color:white;background-color:#3b82f6;border-radius:0.375rem;transition:background-color 0.2s}.empty-state-action:hover{background-color:#2563eb}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center}.error-state-icon{width:3rem;height:3rem;color:#ef4444;margin-bottom:1rem}.error-state-title{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:0.5rem}.error-state-message{font-size:0.875rem;color:#6b7280;max-width:28rem;margin-bottom:1.5rem}.error-state-actions{display:flex;gap:0.75rem;flex-wrap:wrap;justify-content:center}.retry-button{display:inline-flex;align-items:center;gap:0.5rem;min-height:2.75rem;padding:0.75rem 1.5rem;font-size:0.875rem;font-weight:500;color:white;background-color:#3b82f6;border:none;border-radius:0.375rem;cursor:pointer;transition:background-color 0.2s}.retry-button:hover{background-color:#2563eb}.retry-button:disabled{background-color:#9ca3af;cursor:not-allowed}.toast-container{position:fixed;top:1rem;right:1rem;z-index:1100;display:flex;flex-direction:column;gap:0.5rem;max-width:calc(100vw - 2rem)}@media (max-width:640px){.toast-container{top:auto;bottom:1rem;left:1rem;right:1rem}}.toast{background:white;border-radius:0.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);padding:1rem;display:flex;align-items:flex-start;gap:0.75rem;min-width:20rem;max-width:100%;animation:toast-slide-in 0.3s ease-out}@keyframes toast-slide-in{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:640px){.toast{min-width:100%}@keyframes toast-slide-in{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}}.toast-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.toast-content{flex:1;min-width:0}.toast-title{font-size:0.875rem;font-weight:600;color:#111827;margin-bottom:0.25rem}.toast-message{font-size:0.875rem;color:#6b7280}.toast-close{flex-shrink:0;width:1.25rem;height:1.25rem;color:#9ca3af;background:none;border:none;cursor:pointer;padding:0;transition:color 0.2s}.toast-close:hover{color:#374151}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}.loading-hidden{display:none}.loading-only{display:none}.is-loading .loading-only{display:block}.is-loading .loading-hidden{display:none}.loading-disabled{pointer-events:none;opacity:0.6;cursor:not-allowed}.pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}.swipe-wrapper{position:relative;overflow:hidden;touch-action:pan-y}.swipe-item{position:relative;z-index:2;background:white;transition:transform 0.3s ease-out,opacity 0.3s ease-out;touch-action:pan-y}.swipe-delete-action{position:absolute;top:0;right:0;bottom:0;width:150px;background:linear-gradient(90deg,#ef4444 0%,#dc2626 100%);display:flex;align-items:center;justify-content:center;gap:0.5rem;color:white;font-weight:600;opacity:0;transition:opacity 0.2s ease-out;z-index:1}.swipe-delete-action svg{width:1.5rem;height:1.5rem}.swipe-confirm-bar{position:absolute;top:0;left:0;right:0;bottom:0;background:#fef2f2;border:2px solid #ef4444;display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1rem;z-index:3;animation:slideInRight 0.3s ease-out}.swipe-confirm-bar span{color:#991b1b;font-weight:600;font-size:0.875rem}.swipe-confirm-actions{display:flex;gap:0.5rem}.swipe-confirm-btn{padding:0.5rem 1rem;border-radius:0.375rem;font-weight:600;font-size:0.875rem;border:none;cursor:pointer;min-height:44px;min-width:80px;transition:all 0.2s ease}.swipe-cancel-btn{background:white;color:#374151;border:1px solid #d1d5db}.swipe-cancel-btn:hover{background:#f9fafb}.swipe-delete-btn{background:#ef4444;color:white}.swipe-delete-btn:hover{background:#dc2626}.swipe-delete-btn:active{transform:scale(0.95)}[data-swipe-dismiss]{touch-action:none}[data-swipe-dismiss] .modal-content,[data-swipe-dismiss] [role="dialog"]{transition:transform 0.3s ease-out;touch-action:none}.modal-backdrop,.backdrop{transition:opacity 0.3s ease-out}.swipe-handle{width:40px;height:4px;background:#d1d5db;border-radius:2px;margin:0.5rem auto 1rem;flex-shrink:0}.modal-bottom-sheet{position:fixed;bottom:0;left:0;right:0;max-height:90vh;background:white;border-radius:1rem 1rem 0 0;box-shadow:0 -4px 6px -1px rgba(0,0,0,0.1);transform:translateY(0);transition:transform 0.3s ease-out}.modal-bottom-sheet.entering{transform:translateY(100%)}.modal-bottom-sheet.entered{transform:translateY(0)}.modal-bottom-sheet.exiting{transform:translateY(100%)}.swipe-carousel{position:relative;overflow:hidden;touch-action:pan-y}.carousel-track{display:flex;transition:transform 0.3s ease-out;touch-action:pan-y}.carousel-item{flex:0 0 100%;width:100%}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.9);border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all 0.2s ease;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.carousel-nav:hover{background:white;box-shadow:0 4px 6px rgba(0,0,0,0.15)}.carousel-nav:active{transform:translateY(-50%) scale(0.95)}.carousel-prev{left:1rem}.carousel-next{right:1rem}.carousel-nav svg{width:1.5rem;height:1.5rem;color:#374151}@media (max-width:768px){.carousel-nav{display:none}}.carousel-indicators{display:flex;justify-content:center;gap:0.5rem;padding:1rem 0}.carousel-indicator{width:8px;height:8px;border-radius:50%;background:#d1d5db;border:none;padding:0;cursor:pointer;transition:all 0.2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.carousel-indicator::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;transition:all 0.2s ease}.carousel-indicator.active{color:#3b82f6}.carousel-indicator.active::before{width:24px;border-radius:4px}.swipe-item:active,.carousel-item:active{opacity:0.95}.swipe-wrapper,.swipe-carousel,[data-swipe-dismiss]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}@keyframes slideInUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutDown{from{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.swipe-confirm-btn:focus,.carousel-nav:focus,.carousel-indicator:focus{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion:reduce){.swipe-item,.swipe-delete-action,.carousel-track,.carousel-nav,.carousel-indicator,[data-swipe-dismiss] .modal-content,[data-swipe-dismiss] [role="dialog"]{transition:none}.swipe-confirm-bar{animation:none}}@media (max-width:640px){.swipe-delete-action{width:100px;font-size:0.875rem}.swipe-confirm-bar{flex-direction:column;gap:0.5rem;padding:1rem}.swipe-confirm-actions{width:100%}.swipe-confirm-btn{flex:1}}@media (prefers-color-scheme:dark){.swipe-item{background:#1f2937}.swipe-confirm-bar{background:#7f1d1d;border-color:#991b1b}.swipe-confirm-bar span{color:#fecaca}.swipe-cancel-btn{background:#374151;color:#f9fafb;border-color:#4b5563}.swipe-cancel-btn:hover{background:#4b5563}.carousel-nav{background:rgba(31,41,55,0.9)}.carousel-nav:hover{background:#1f2937}.carousel-nav svg{color:#f9fafb}}:root{--ripple-color:rgba(0,0,0,0.1);--ripple-color-light:rgba(255,255,255,0.3);--ripple-color-primary:rgba(59,130,246,0.3);--ripple-color-success:rgba(16,185,129,0.3);--ripple-color-danger:rgba(239,68,68,0.3);--active-bg-light:rgba(0,0,0,0.05);--active-bg-dark:rgba(0,0,0,0.1);--focus-ring-color:#3b82f6;--focus-ring-offset:2px;--focus-ring-width:2px;--transition-fast:0.15s;--transition-normal:0.2s;--transition-slow:0.3s}button:not(:disabled):active,.btn:not(:disabled):active,.button:not(:disabled):active,input[type="button"]:not(:disabled):active,input[type="submit"]:not(:disabled):active,input[type="reset"]:not(:disabled):active{transform:scale(0.97);transition:transform var(--transition-fast) ease-out}.btn-primary:not(:disabled):active,.bg-blue-600:not(:disabled):active,.bg-blue-500:not(:disabled):active{background-color:#1e40af !important;box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.2)}.btn-secondary:not(:disabled):active,.bg-gray-600:not(:disabled):active,.bg-gray-500:not(:disabled):active{background-color:#374151 !important;box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.2)}.btn-success:not(:disabled):active,.bg-green-600:not(:disabled):active,.bg-green-500:not(:disabled):active{background-color:#047857 !important;box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.2)}.btn-danger:not(:disabled):active,.bg-red-600:not(:disabled):active,.bg-red-500:not(:disabled):active{background-color:#b91c1c !important;box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.2)}.btn-warning:not(:disabled):active,.bg-yellow-600:not(:disabled):active,.bg-yellow-500:not(:disabled):active{background-color:#b45309 !important;box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.2)}.btn-outline:not(:disabled):active,button[class*="border-"]:not(:disabled):active{background-color:var(--active-bg-light);transform:scale(0.97)}.btn-ghost:not(:disabled):active,.btn-text:not(:disabled):active{background-color:var(--active-bg-light);transform:scale(0.97)}.icon-button:not(:disabled):active,.btn-icon:not(:disabled):active,button[aria-label]:not(:disabled):active{background-color:var(--active-bg-light);transform:scale(0.95)}button:disabled,.btn:disabled,.button:disabled{cursor:not-allowed;opacity:0.5;transform:none !important}a:not(.no-active):active{opacity:0.7;transition:opacity var(--transition-fast) ease-out}a.btn:active,a[role="button"]:active,a.button:active{transform:scale(0.97);transition:transform var(--transition-fast) ease-out}nav a:active,.nav-link:active,.navigation a:active{background-color:var(--active-bg-light)}.card-link:active,a.card:active{transform:scale(0.98);box-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}input:not([type="checkbox"]):not([type="radio"]):focus,textarea:focus,select:focus{outline:none;border-color:var(--focus-ring-color);box-shadow:0 0 0 3px rgba(59,130,246,0.1);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}input[type="checkbox"]:active,input[type="radio"]:active{transform:scale(1.1);transition:transform var(--transition-fast) ease-out}select:active{border-color:var(--focus-ring-color)}.ripple-container{position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.ripple{position:absolute;border-radius:50%;background-color:var(--ripple-color);transform:scale(0);animation:ripple-animation 0.6s ease-out;pointer-events:none}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}.ripple-light{background-color:var(--ripple-color-light)}.ripple-primary{background-color:var(--ripple-color-primary)}.ripple-success{background-color:var(--ripple-color-success)}.ripple-danger{background-color:var(--ripple-color-danger)}button.ripple-effect,.btn.ripple-effect,a[role="button"].ripple-effect{position:relative;overflow:hidden}*:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);transition:outline-offset var(--transition-fast)}button:focus-visible,.btn:focus-visible,.button:focus-visible,input[type="button"]:focus-visible,input[type="submit"]:focus-visible,input[type="reset"]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 4px rgba(59,130,246,0.1)}a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:0.25rem}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--focus-ring-color);box-shadow:0 0 0 3px rgba(59,130,246,0.1)}input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 4px rgba(59,130,246,0.1)}.card:focus-visible,.card-link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 4px rgba(59,130,246,0.1)}nav a:focus-visible,.nav-link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-2px;background-color:rgba(59,130,246,0.05)}.modal-close-button:focus-visible,[aria-label="Close"]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);background-color:rgba(59,130,246,0.1)}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.7}}.pulse-on-touch:active{animation:pulse 0.3s ease-in-out}@keyframes bounce{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.bounce-on-touch:active{animation:bounce 0.3s ease-in-out}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.shake-on-error{animation:shake 0.3s ease-in-out}.btn-loading{position:relative;color:transparent !important;pointer-events:none}.btn-loading::after{content:'';position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:spin 0.6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(0,0,0,0.1);border-top-color:currentColor;border-radius:50%;animation:spin 0.6s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-lg{width:24px;height:24px;border-width:3px}@media (hover:hover) and (pointer:fine){button:not(:disabled):hover,.btn:not(:disabled):hover,.button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}a:not(.no-hover):hover{opacity:0.8;transition:opacity var(--transition-normal)}.card:hover,.card-link:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);transform:translateY(-2px);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.icon-button:not(:disabled):hover,.btn-icon:not(:disabled):hover{background-color:var(--active-bg-light);transition:background-color var(--transition-normal)}nav a:hover,.nav-link:hover{background-color:rgba(59,130,246,0.05);transition:background-color var(--transition-normal)}}@media (max-width:767px){button:hover,.btn:hover,a:hover,.card:hover{transform:none;box-shadow:none}button:active,.btn:active,.button:active{transform:scale(0.95);transition:transform 0.1s ease-out}.ripple{animation:ripple-animation-mobile 0.8s ease-out}@keyframes ripple-animation-mobile{to{transform:scale(5);opacity:0}}*:focus-visible{outline-width:3px;outline-offset:3px}}@media (prefers-contrast:high){*:focus-visible{outline-width:3px;outline-color:currentColor}button:active,.btn:active{outline:3px solid currentColor}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}.ripple{animation:none;display:none}button:active,.btn:active,a:active{transform:none}}.no-touch-feedback:active{transform:none !important;opacity:1 !important}.enhanced-touch-feedback:active{transform:scale(0.93);box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.2)}.subtle-touch-feedback:active{opacity:0.9}.no-tap-highlight{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tap-highlight-primary{-webkit-tap-highlight-color:rgba(59,130,246,0.3)}.tap-highlight-success{-webkit-tap-highlight-color:rgba(16,185,129,0.3)}.tap-highlight-danger{-webkit-tap-highlight-color:rgba(239,68,68,0.3)}.feedback-success{animation:success-pulse 0.5s ease-in-out}@keyframes success-pulse{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,0.4)}50%{box-shadow:0 0 0 10px rgba(16,185,129,0)}}.feedback-error{animation:error-shake 0.5s ease-in-out}@keyframes error-shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.feedback-warning{animation:warning-pulse 0.5s ease-in-out}@keyframes warning-pulse{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,0.4)}50%{box-shadow:0 0 0 10px rgba(245,158,11,0)}}.debug-touch-targets button,.debug-touch-targets a,.debug-touch-targets input,.debug-touch-targets select,.debug-touch-targets textarea{outline:1px dashed rgba(255,0,0,0.3) !important;outline-offset:0 !important}.debug-touch-targets button::after,.debug-touch-targets a::after{content:attr(aria-label);position:absolute;bottom:100%;left:0;background:rgba(0,0,0,0.8);color:white;font-size:10px;padding:2px 4px;border-radius:2px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 0.2s}.debug-touch-targets button:hover::after,.debug-touch-targets a:hover::after{opacity:1}*:focus{outline:2px solid #3b82f6;outline-offset:2px}*:focus-visible{outline:3px solid #3b82f6;outline-offset:3px;box-shadow:0 0 0 4px rgba(59,130,246,0.2)}*:focus:not(:focus-visible){outline:none;box-shadow:none}button:focus-visible,a[role="button"]:focus-visible,input[type="button"]:focus-visible,input[type="submit"]:focus-visible,input[type="reset"]:focus-visible,.btn:focus-visible,.button:focus-visible{outline:3px solid #3b82f6;outline-offset:2px;box-shadow:0 0 0 4px rgba(59,130,246,0.2)}.btn-primary:focus-visible,.bg-blue-600:focus-visible,.bg-blue-500:focus-visible{outline:3px solid #1e40af;outline-offset:2px;box-shadow:0 0 0 4px rgba(30,64,175,0.3)}.btn-danger:focus-visible,.bg-red-600:focus-visible,.bg-red-500:focus-visible,.text-red-600:focus-visible{outline:3px solid #dc2626;outline-offset:2px;box-shadow:0 0 0 4px rgba(220,38,38,0.2)}.btn-success:focus-visible,.bg-green-600:focus-visible,.bg-green-500:focus-visible{outline:3px solid #16a34a;outline-offset:2px;box-shadow:0 0 0 4px rgba(22,163,74,0.2)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #3b82f6;outline-offset:0;border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,0.1)}input.is-invalid:focus-visible,input.border-red-500:focus-visible,textarea.is-invalid:focus-visible,textarea.border-red-500:focus-visible{outline:3px solid #dc2626;outline-offset:0;border-color:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,0.1)}input.is-valid:focus-visible,textarea.is-valid:focus-visible{outline:3px solid #16a34a;outline-offset:0;border-color:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,0.1)}input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible{outline:3px solid #3b82f6;outline-offset:2px;box-shadow:0 0 0 4px rgba(59,130,246,0.2)}a:focus-visible{outline:3px solid #3b82f6;outline-offset:2px;box-shadow:0 0 0 4px rgba(59,130,246,0.15);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}nav a:focus-visible,.nav-link:focus-visible{outline:3px solid #3b82f6;outline-offset:-2px;background-color:rgba(59,130,246,0.1);box-shadow:inset 0 0 0 2px #3b82f6}.skip-to-main:focus,.skip-link:focus{position:fixed;top:0;left:0;z-index:9999;padding:1rem 1.5rem;background-color:#3b82f6;color:white;font-weight:600;text-decoration:none;outline:3px solid #1e40af;outline-offset:2px;box-shadow:0 4px 6px rgba(0,0,0,0.1)}.modal-mobile:focus-within,.modal-mobile-content:focus-within{}.modal-mobile-content [tabindex="0"]:first-of-type:focus-visible,.modal-mobile-content button:first-of-type:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}.modal-close-button:focus-visible{outline:3px solid #3b82f6;outline-offset:2px;background-color:#f3f4f6;box-shadow:0 0 0 4px rgba(59,130,246,0.2)}[role="menu"] a:focus-visible,[role="menu"] button:focus-visible,[role="menuitem"]:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px;background-color:rgba(59,130,246,0.1);box-shadow:inset 0 0 0 2px #3b82f6}[aria-haspopup="true"]:focus-visible{outline:3px solid #3b82f6;outline-offset:2px;box-shadow:0 0 0 4px rgba(59,130,246,0.2)}.card-mobile-interactive:focus-visible,[tabindex="0"].card:focus-visible{outline:3px solid #3b82f6;outline-offset:2px;box-shadow:0 0 0 4px rgba(59,130,246,0.1),0 4px 6px -1px rgba(0,0,0,0.1)}tr[tabindex="0"]:focus-visible,.table-row-focusable:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px;background-color:rgba(59,130,246,0.05)}[role="tab"]:focus-visible{outline:3px solid #3b82f6;outline-offset:-2px;box-shadow:inset 0 0 0 2px #3b82f6;z-index:1}[role="tab"][aria-selected="true"]:focus-visible{outline:3px solid #1e40af;outline-offset:-2px;box-shadow:inset 0 0 0 2px #1e40af}@media (max-width:767px){*:focus-visible{outline-width:4px;outline-offset:4px}button:focus-visible,a[role="button"]:focus-visible{outline-width:4px;outline-offset:3px;box-shadow:0 0 0 6px rgba(59,130,246,0.2)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-width:4px;box-shadow:0 0 0 6px rgba(59,130,246,0.15)}nav a:focus-visible,.nav-mobile-item:focus-visible{outline-width:4px;outline-offset:-3px}}.form-group:focus-within{position:relative}.form-group:focus-within::before{content:'';position:absolute;left:-8px;top:0;bottom:0;width:4px;background-color:#3b82f6;border-radius:2px}.search-container:focus-within{box-shadow:0 0 0 3px rgba(59,130,246,0.2);border-radius:0.375rem}.keyboard-user *:focus{outline:3px solid #3b82f6;outline-offset:2px}.mouse-user *:focus:not(:focus-visible){outline:none}@media (prefers-contrast:high){*:focus-visible{outline-width:4px;outline-color:currentColor}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-width:4px;outline-style:solid;outline-color:currentColor}}@media (prefers-reduced-motion:reduce){*:focus-visible{transition:none}button:focus-visible,a:focus-visible,input:focus-visible{transition:none}}.tab-order-1{order:1}.tab-order-2{order:2}.tab-order-3{order:3}.tab-order-4{order:4}.tab-order-5{order:5}.focusable-skip{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.focusable-skip:focus{position:fixed;top:1rem;left:1rem;width:auto;height:auto;padding:1rem 1.5rem;background-color:#3b82f6;color:white;z-index:9999;border-radius:0.375rem;font-weight:600;box-shadow:0 4px 6px rgba(0,0,0,0.1)}button:disabled,input:disabled,textarea:disabled,select:disabled,[aria-disabled="true"]{cursor:not-allowed;opacity:0.6;pointer-events:none}button:disabled:focus,input:disabled:focus,textarea:disabled:focus,select:disabled:focus{outline:none;box-shadow:none}body.modal-open>*:not(.modal-mobile):not(.modal-backdrop){}.modal-mobile-content{}.modal-mobile-content .focus-trap-start:focus,.modal-mobile-content .focus-trap-end:focus{}.keyboard-shortcut{display:inline-flex;align-items:center;padding:0.125rem 0.375rem;font-size:0.75rem;font-weight:600;font-family:monospace;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:0.25rem;color:#6b7280;margin-left:0.5rem}.keyboard-shortcut kbd{font-family:inherit}.dark .keyboard-shortcut,.bg-gray-900 .keyboard-shortcut{background-color:#374151;border-color:#4b5563;color:#d1d5db}.sr-announce{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}[aria-live="polite"],[aria-live="assertive"]{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.multistep-progress-mobile{display:block}@media (min-width:768px){.multistep-progress-mobile{display:none}}.multistep-progress-desktop{display:none}@media (min-width:768px){.multistep-progress-desktop{display:block}}.multistep-progress-bar{transition:width 0.3s ease-in-out}.multistep-step-indicator{transition:all 0.2s ease-in-out}.multistep-connector{transition:background-color 0.3s ease-in-out}.multistep-step{animation:fadeIn 0.3s ease-in-out}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.multistep-step-heading{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1rem}@media (min-width:768px){.multistep-step-heading{font-size:1.5rem}}.multistep-navigation{display:flex;flex-direction:column-reverse;gap:0.75rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}@media (min-width:768px){.multistep-navigation{flex-direction:row;justify-content:space-between}}.multistep-nav-button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0.5rem 1.5rem;font-size:1rem;font-weight:500;border-radius:0.375rem;transition:all 0.2s ease-in-out;cursor:pointer;-webkit-tap-highlight-color:transparent}.multistep-nav-button{width:100%}@media (min-width:768px){.multistep-nav-button{width:auto}}.multistep-nav-prev{border:1px solid #d1d5db;background-color:#ffffff;color:#374151}.multistep-nav-prev:hover{background-color:#f9fafb}.multistep-nav-prev:active{background-color:#f3f4f6}.multistep-nav-next{background-color:#2563eb;color:#ffffff;border:none}.multistep-nav-next:hover{background-color:#1d4ed8}.multistep-nav-next:active{background-color:#1e40af}.multistep-nav-next:disabled{background-color:#9ca3af;cursor:not-allowed}.multistep-nav-icon{width:1.25rem;height:1.25rem}.multistep-nav-icon-left{margin-right:0.5rem}.multistep-nav-icon-right{margin-left:0.5rem}.multistep-collapsible{border:1px solid #e5e7eb;border-radius:0.5rem;margin-bottom:1rem;overflow:hidden}.multistep-collapsible-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem;text-align:left;background-color:#ffffff;transition:background-color 0.2s ease-in-out;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:transparent}@media (min-width:768px){.multistep-collapsible-header{padding:1rem 1.5rem}}.multistep-collapsible-header:hover{background-color:#f9fafb}.multistep-collapsible-header:active{background-color:#f3f4f6}.multistep-collapsible-title{font-size:1rem;font-weight:600;color:#1f2937;display:flex;align-items:center}@media (min-width:768px){.multistep-collapsible-title{font-size:1.125rem}}.multistep-required-badge{margin-left:0.5rem;font-size:0.75rem;font-weight:400;color:#dc2626}.multistep-collapsible-description{font-size:0.875rem;color:#6b7280;margin-top:0.25rem}.multistep-collapsible-icon{width:1.25rem;height:1.25rem;color:#6b7280;transition:transform 0.2s ease-in-out;flex-shrink:0;margin-left:1rem}.multistep-collapsible-icon.expanded{transform:rotate(180deg)}.multistep-collapsible-content{padding:0 1rem 1rem 1rem}@media (min-width:768px){.multistep-collapsible-content{padding:0 1.5rem 1.5rem 1.5rem}}.multistep-review{background-color:#f9fafb;border-radius:0.5rem;padding:1rem}@media (min-width:768px){.multistep-review{padding:1.5rem}}.multistep-review-section{margin-bottom:1rem}.multistep-review-section:not(:last-child){border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.multistep-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem}.multistep-review-title{font-size:1rem;font-weight:600;color:#374151}.multistep-review-edit{font-size:0.875rem;color:#2563eb;text-decoration:none;padding:0.25rem 0.5rem;border-radius:0.25rem;transition:all 0.2s ease-in-out;min-height:32px;display:inline-flex;align-items:center}.multistep-review-edit:hover{color:#1d4ed8;background-color:#eff6ff}.multistep-review-data{display:grid;grid-template-columns:1fr;gap:0.5rem;font-size:0.875rem}@media (min-width:768px){.multistep-review-data{grid-template-columns:repeat(2,1fr)}}.multistep-review-label{color:#6b7280}.multistep-review-value{font-weight:500;color:#111827}.multistep-step-invalid{border-color:#ef4444}.multistep-validation-message{display:flex;align-items:start;padding:0.75rem 1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:0.375rem;margin-bottom:1rem;font-size:0.875rem;color:#991b1b}.multistep-validation-icon{width:1.25rem;height:1.25rem;flex-shrink:0;margin-right:0.5rem;margin-top:0.125rem}.multistep-loading{position:relative;pointer-events:none;opacity:0.6}.multistep-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid #ffffff;border-top-color:transparent;border-radius:50%;animation:spin 0.6s linear infinite;margin-right:0.5rem}@keyframes spin{to{transform:rotate(360deg)}}.multistep-nav-button:focus,.multistep-collapsible-header:focus{outline:2px solid #2563eb;outline-offset:2px}.multistep-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-contrast:high){.multistep-step-indicator{border-width:3px}.multistep-nav-button{border-width:2px}}@media (prefers-reduced-motion:reduce){.multistep-progress-bar,.multistep-step-indicator,.multistep-connector,.multistep-collapsible-icon,.multistep-nav-button{transition:none}.multistep-step{animation:none}}@media print{.multistep-step{display:block !important;page-break-inside:avoid}.multistep-navigation{display:none}.multistep-collapsible-content{display:block !important}.multistep-collapsible-icon{display:none}}