.product-card{background-color:#fff;border:none;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;position:relative;display:flex;flex-direction:column;height:100%;padding:12px}.product-card:hover{box-shadow:0 8px 20px #00000040;transform:translateY(-4px)}.product-card--disabled{opacity:.6;cursor:not-allowed}.product-card--disabled:hover{transform:none;box-shadow:var(--shadow-sm)}.product-card--in-cart{border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff1a}.product-card__image-container{position:relative;overflow:hidden;background-color:#f8f9fa;width:calc(100% + 24px);height:140px;border-radius:16px 16px 0 0;margin:-12px -12px 12px}.product-card__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.product-card:hover .product-card__image{transform:scale(1.05)}.product-card--disabled .product-card__image{filter:grayscale(50%)}.product-card__availability{position:absolute;top:var(--spacing-2);left:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.product-card__availability.available{background-color:var(--color-success-light);color:var(--color-success)}.product-card__availability.out-of-stock{background-color:var(--color-warning-light);color:var(--color-warning)}.product-card__availability.unavailable{background-color:var(--color-danger-light);color:var(--color-danger)}.product-card__cart-badge{position:absolute;top:var(--spacing-2);right:var(--spacing-2);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-full);min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);animation:bounce-in .3s ease;box-shadow:var(--shadow-sm)}.cart-badge-text{line-height:1}.product-card__info{padding:0;flex:1;display:flex;flex-direction:column}.product-card__header{display:flex;align-items:flex-start;justify-content:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.product-card__name{font-size:15px;font-weight:700;color:#1a1a4e;line-height:1.3;margin:0 0 6px;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.product-card__weight{font-size:var(--font-size-xs);color:var(--color-text-muted);background-color:var(--color-gray-100);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius);white-space:nowrap;flex-shrink:0}.product-card__description{font-size:11px;color:#888;line-height:1.4;margin:0 0 12px;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;flex:1}.product-card__footer{margin-top:auto}.product-card__price-section{margin-bottom:0}.product-card__price{font-size:18px;font-weight:700;color:#5b4fc4;margin:0;text-align:center}.product-card__actions{display:flex;align-items:center;justify-content:center}.product-card__add-btn{background-color:#f5f5f5;color:#1a1a4e;padding:12px 24px;border-radius:30px;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;width:100%;border:2px solid #e0e0e0;cursor:pointer}.product-card__add-btn:hover{background-color:#e8e8e8;border-color:#d0d0d0;transform:scale(1.02)}.product-card__add-btn:active{transform:translateY(0)}.product-card__add-btn:disabled{background-color:var(--color-gray-300);cursor:not-allowed;transform:none}.add-btn-icon{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1}.add-btn-text{font-size:var(--font-size-sm)}.product-card__quantity-controls{display:flex;align-items:center;background-color:#f8f9fa;border-radius:25px;padding:6px;gap:12px;border:2px solid #e0e0e0;width:100%;justify-content:space-between}.quantity-btn{width:36px;height:36px;background-color:transparent;color:#1a1a4e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;transition:all .3s ease;border:2px solid #d0d0d0}.quantity-btn:hover{background-color:#f0f0f0;border-color:#b0b0b0;transform:scale(1.05)}.quantity-display{min-width:40px;text-align:center;font-weight:700;color:#1a1a4e;font-size:18px}.product-card__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;cursor:pointer;z-index:1}.product-card--disabled .product-card__overlay{cursor:not-allowed}.product-card__actions{position:relative;z-index:2}.dark-theme .product-card{background-color:var(--color-gray-800);border-color:var(--color-gray-700)}.dark-theme .product-card__image-container{background-color:var(--color-gray-700)}.dark-theme .product-card__weight{background-color:var(--color-gray-700);color:var(--color-gray-300)}.dark-theme .product-card__quantity-controls{background-color:var(--color-gray-700)}.dark-theme .quantity-btn{background-color:var(--color-gray-600);color:var(--color-gray-200)}.dark-theme .quantity-btn:hover{background-color:var(--color-gray-500)}@media (max-width: 480px){.product-card__info{padding:var(--spacing-3)}.product-card__name{font-size:var(--font-size-sm)}.product-card__description{font-size:var(--font-size-xs)}.product-card__price{font-size:var(--font-size-base)}.product-card__add-btn{padding:var(--spacing-2);min-height:40px}.add-btn-text{font-size:var(--font-size-xs)}.quantity-btn{width:32px;height:32px;font-size:var(--font-size-sm)}}@media (prefers-contrast: high){.product-card{border-width:2px}.product-card--in-cart{border-width:3px}.quantity-btn{border:1px solid var(--color-gray-400)}}.product-card:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.product-card__add-btn:focus,.quantity-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media (pointer: coarse){.product-card__add-btn{min-height:48px}.quantity-btn{width:44px;height:44px;font-size:var(--font-size-lg)}.product-card:hover .product-card__image,.product-card:hover{transform:none}}.category-filter{background-color:#fff;border-bottom:1px solid #e9ecef;position:relative}.category-filter--disabled{opacity:.6;pointer-events:none}.category-filter--loading{overflow:hidden}.category-filter__container{display:flex;overflow-x:auto;scroll-behavior:smooth;gap:12px;padding:16px;scrollbar-width:none;-ms-overflow-style:none}.category-filter__container::-webkit-scrollbar{display:none}.category-filter__item{position:relative;background-color:#f8f9fa;border:1px solid transparent;border-radius:20px;padding:12px 16px;font-size:14px;font-weight:500;color:#666;white-space:nowrap;flex-shrink:0;transition:all .2s ease;cursor:pointer;display:flex;align-items:center;min-height:44px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.category-filter__item:hover{background-color:var(--color-gray-200);color:var(--color-text);transform:translateY(-1px)}.category-filter__item:active{transform:translateY(0)}.category-filter__item--active{background-color:#007aff;color:#fff;font-weight:600}.category-filter__item--active:hover{background-color:var(--color-primary-hover)}.category-filter__item:disabled{opacity:.5;cursor:not-allowed;transform:none}.category-item__content{display:flex;align-items:center;gap:var(--spacing-2)}.category-item__icon{font-size:var(--font-size-base);line-height:1;flex-shrink:0}.category-item__image{width:20px;height:20px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.category-item__name{line-height:var(--line-height-tight)}.category-item__count{background-color:#ffffff4d;color:currentColor;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-left:var(--spacing-1);line-height:1;min-width:20px;text-align:center}.category-filter__item:not(.category-filter__item--active) .category-item__count{background-color:var(--color-gray-300);color:var(--color-text-muted)}.category-item__indicator{position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:24px;height:3px;background-color:var(--color-primary);border-radius:var(--radius-full) var(--radius-full) 0 0}.category-filter__item--active .category-item__indicator{background-color:#fff}.category-filter__empty{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-4);color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.empty-icon{font-size:var(--font-size-base);opacity:.6}.category-filter__loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-6)}.category-loading-skeleton{display:flex;gap:var(--spacing-2);overflow:hidden}.category-skeleton-item{width:100px;height:36px;background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;border-radius:var(--radius-full);animation:shimmer 1.5s infinite;flex-shrink:0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.category-filter__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dark-theme .category-filter{background-color:var(--color-gray-800);border-bottom-color:var(--color-gray-700)}.dark-theme .category-filter__item{background-color:var(--color-gray-700);color:var(--color-gray-300)}.dark-theme .category-filter__item:hover{background-color:var(--color-gray-600);color:var(--color-gray-100)}.dark-theme .category-filter__item:not(.category-filter__item--active) .category-item__count{background-color:var(--color-gray-600);color:var(--color-gray-400)}.dark-theme .category-skeleton-item{background:linear-gradient(90deg,var(--color-gray-700) 25%,var(--color-gray-600) 50%,var(--color-gray-700) 75%);background-size:200% 100%}.dark-theme .category-filter__loading-overlay{background-color:#0009}@media (max-width: 640px){.category-filter__container{padding:var(--spacing-3) var(--spacing-4);gap:var(--spacing-2)}.category-filter__item{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);min-height:40px}.category-item__icon{font-size:var(--font-size-sm)}.category-item__image{width:16px;height:16px}.category-item__count{font-size:var(--font-size-xs);padding:2px var(--spacing-1);min-width:16px}.category-skeleton-item{width:80px;height:32px}}@media (max-width: 480px){.category-filter__container{padding:var(--spacing-2) var(--spacing-3)}.category-filter__item{padding:var(--spacing-2);min-height:36px}}@media (prefers-contrast: high){.category-filter__item{border:1px solid var(--color-gray-400)}.category-filter__item--active{border-color:var(--color-primary)}.category-item__indicator{height:4px}}.category-filter__item:focus{outline:2px solid var(--color-primary);outline-offset:2px;z-index:1}@media (pointer: coarse){.category-filter__item{min-height:48px;padding:var(--spacing-3) var(--spacing-4)}.category-filter__item:hover{transform:none}}@media (prefers-reduced-motion: reduce){.category-filter__item{transition:none}.category-skeleton-item{animation:none}}[dir=rtl] .category-filter__container{direction:rtl}[dir=rtl] .category-item__content{flex-direction:row-reverse}.category-filter__container:before,.category-filter__container:after{content:"";position:absolute;top:0;bottom:0;width:20px;pointer-events:none;z-index:1}.category-filter__container:before{left:0;background:linear-gradient(to right,var(--color-white),transparent)}.category-filter__container:after{right:0;background:linear-gradient(to left,var(--color-white),transparent)}.dark-theme .category-filter__container:before{background:linear-gradient(to right,var(--color-gray-800),transparent)}.dark-theme .category-filter__container:after{background:linear-gradient(to left,var(--color-gray-800),transparent)}.cart-sidebar{position:fixed;top:0;right:0;width:100%;max-width:400px;height:100vh;background-color:#fff;box-shadow:-2px 0 10px #0000001a;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.cart-sidebar--open{transform:translate(0)}.cart-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);border-bottom:1px solid var(--color-border-light);background-color:var(--color-white);position:sticky;top:0;z-index:1}.cart-header__title{display:flex;flex-direction:column;gap:var(--spacing-1)}.cart-header__title h2{font-size:18px;font-weight:600;color:#333;margin:0}.cart-header__count{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.cart-header__close{width:40px;height:40px;background-color:var(--color-gray-100);color:var(--color-text-secondary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.cart-header__close:hover{background-color:var(--color-gray-200);color:var(--color-text)}.cart-header__close:active{transform:scale(.95)}.cart-sidebar__content{flex:1;display:flex;flex-direction:column;overflow:hidden}.cart-sidebar__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);text-align:center}.empty-cart-icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-4);opacity:.6}.cart-sidebar__empty h3{font-size:var(--font-size-lg);color:var(--color-text);margin-bottom:var(--spacing-2)}.cart-sidebar__empty p{color:var(--color-text-secondary);margin:0}.cart-sidebar__items{flex:1;overflow-y:auto;padding:var(--spacing-4);padding-bottom:var(--spacing-2)}.cart-item{display:flex;gap:12px;padding:12px;background-color:#fff;border:none;border-radius:8px;margin-bottom:8px;box-shadow:none;border-bottom:1px solid #f0f0f0}.cart-item:last-child{margin-bottom:0}.cart-item__image-container{flex-shrink:0;width:50px;height:50px;border-radius:8px;overflow:hidden;background-color:#f5f5f5}.cart-item__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.cart-item__details{flex:1;display:flex;flex-direction:column;gap:var(--spacing-2)}.cart-item__name{font-size:14px;font-weight:500;color:#333;line-height:1.3;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.cart-item__price-info{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-2)}.item-unit-price{font-size:var(--font-size-xs);color:var(--color-text-muted)}.item-total-price{font-size:14px;font-weight:600;color:#333}.cart-item__controls{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.cart-item__quantity-controls{display:flex;align-items:center;background-color:transparent;border-radius:20px;padding:4px;gap:8px;border:1px solid #ddd}.quantity-btn{width:24px;height:24px;background-color:#f0f0f0;color:#333;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;transition:all .2s ease;border:1px solid #ddd}.quantity-btn:hover{background-color:var(--color-gray-50);transform:scale(1.05)}.quantity-btn:active{transform:scale(.95)}.quantity-btn:disabled{background-color:var(--color-gray-200);color:var(--color-gray-400);cursor:not-allowed;transform:none}.quantity-btn--decrease{color:var(--color-danger)}.quantity-btn--increase{color:var(--color-success)}.quantity-display{min-width:20px;text-align:center;font-weight:600;color:#333;font-size:12px}.cart-item__remove-btn{width:32px;height:32px;background-color:var(--color-danger-light);color:var(--color-danger);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.cart-item__remove-btn:hover{background-color:var(--color-danger);color:#fff;transform:scale(1.05)}.cart-item__remove-btn:active{transform:scale(.95)}.cart-sidebar__summary{background-color:var(--color-gray-50);padding:var(--spacing-4);border-top:1px solid var(--color-border-light);position:sticky;bottom:0}.cart-summary__details{margin-bottom:var(--spacing-4)}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.summary-row:last-child{margin-bottom:0}.summary-price{font-weight:var(--font-weight-medium);color:var(--color-text)}.summary-warning{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);background-color:var(--color-warning-light);color:var(--color-warning);border-radius:var(--radius);font-size:var(--font-size-sm);margin:var(--spacing-3) 0}.warning-icon{font-size:var(--font-size-base);flex-shrink:0}.summary-total{padding-top:var(--spacing-3);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text)}.total-price{font-size:var(--font-size-lg);color:var(--color-primary)}.cart-sidebar__checkout-btn{width:100%;background-color:#007aff;color:#fff;padding:16px;border-radius:12px;font-size:16px;font-weight:600;transition:all .2s ease;min-height:52px;margin:16px;width:calc(100% - 32px)}.cart-sidebar__checkout-btn:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.cart-sidebar__checkout-btn:active{transform:translateY(0)}.checkout-btn--disabled{background-color:var(--color-gray-300)!important;color:var(--color-gray-500)!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.cart-sidebar__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;opacity:0;animation:fade-in .2s ease forwards;pointer-events:auto}@keyframes fade-in{to{opacity:1}}.dark-theme .cart-sidebar{background-color:var(--color-gray-800)}.dark-theme .cart-sidebar__header{background-color:var(--color-gray-800);border-bottom-color:var(--color-gray-700)}.dark-theme .cart-header__close{background-color:var(--color-gray-700);color:var(--color-gray-300)}.dark-theme .cart-header__close:hover{background-color:var(--color-gray-600);color:var(--color-gray-100)}.dark-theme .cart-item{background-color:var(--color-gray-700);border-color:var(--color-gray-600)}.dark-theme .cart-item__image-container,.dark-theme .cart-item__quantity-controls{background-color:var(--color-gray-600)}.dark-theme .quantity-btn{background-color:var(--color-gray-500);color:var(--color-gray-200)}.dark-theme .quantity-btn:hover{background-color:var(--color-gray-400)}.dark-theme .cart-item__remove-btn{background-color:#dc354533}.dark-theme .cart-sidebar__summary{background-color:var(--color-gray-700);border-top-color:var(--color-gray-600)}.dark-theme .summary-total{border-top-color:var(--color-gray-600)}.dark-theme .summary-warning{background-color:#ffc10733}@media (max-width: 1024px){.cart-sidebar{width:100%;height:100vh}}@media (max-width: 640px){.cart-sidebar{width:100%}.cart-sidebar__header{padding:var(--spacing-3) var(--spacing-4)}.cart-sidebar__items{padding:var(--spacing-3)}.cart-item{padding:var(--spacing-2);gap:var(--spacing-2)}.cart-item__image-container{width:50px;height:50px}.cart-item__name,.item-unit-price,.item-total-price{font-size:var(--font-size-xs)}.cart-sidebar__summary{padding:var(--spacing-3)}.cart-sidebar__checkout-btn{padding:var(--spacing-3);font-size:var(--font-size-sm);min-height:48px}}@media (pointer: coarse){.cart-header__close{width:48px;height:48px}.quantity-btn{width:32px;height:32px}.cart-item__remove-btn{width:36px;height:36px}.cart-sidebar__checkout-btn{min-height:56px}}@media (prefers-contrast: high){.cart-sidebar{border-left:2px solid var(--color-gray-400)}.cart-item{border-width:2px}.quantity-btn,.cart-item__remove-btn{border:1px solid currentColor}}.cart-sidebar:focus-within{outline:2px solid var(--color-primary);outline-offset:-2px}.cart-header__close:focus,.quantity-btn:focus,.cart-item__remove-btn:focus,.cart-sidebar__checkout-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){.cart-sidebar{transition:none}.quantity-btn,.cart-item__remove-btn,.cart-sidebar__checkout-btn{transition:none;transform:none}.cart-sidebar__overlay{animation:none;opacity:1}}.catalog{min-height:100vh;background:#f8f9fa;display:flex;flex-direction:column;position:relative}.catalog-header{background-color:#fff;border-bottom:1px solid #e9ecef;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a}.catalog-header__content{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-4);max-width:100%}.catalog-title{font-size:18px;font-weight:600;color:#333;margin:0}.catalog-cart-toggle{position:relative;background-color:var(--color-primary);color:#fff;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-lg);min-width:48px;min-height:48px;transition:all var(--transition)}.catalog-cart-toggle:hover{background-color:var(--color-primary-hover);transform:scale(1.05)}.catalog-cart-toggle:active{transform:scale(.98)}.catalog-cart-toggle:disabled{background-color:var(--color-gray-300);cursor:not-allowed;transform:none}.cart-icon{display:block}.cart-badge{position:absolute;top:-8px;right:-8px;background-color:var(--color-danger);color:#fff;border-radius:var(--radius-full);min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);animation:bounce-in .3s ease}@keyframes bounce-in{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.catalog-main{flex:1;display:flex;position:relative;overflow:hidden}.catalog-content{flex:1;padding:var(--spacing-4);overflow-y:auto;transition:margin-right var(--transition)}.catalog--cart-open .catalog-content{margin-right:320px}.catalog-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-6)}.catalog-section-title{font-size:28px;font-weight:700;color:#1a1a4e;margin:0;text-align:center;border-bottom:3px solid #1a1a4e;padding:16px 0 8px}.catalog-products-count{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.catalog-products-grid{display:grid;grid-template-columns:repeat(2,minmax(170px,200px));gap:12px;margin-bottom:var(--spacing-8);padding:20px 12px 0;max-width:800px;margin-left:auto;margin-right:auto;justify-content:center}.catalog-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);text-align:center;color:var(--color-text-secondary)}.catalog-loading p{margin-top:var(--spacing-4);font-size:var(--font-size-base)}.catalog-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);text-align:center;color:var(--color-text-secondary);grid-column:1 / -1}.empty-icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-4);opacity:.6}.catalog-empty h3{font-size:var(--font-size-lg);color:var(--color-text);margin-bottom:var(--spacing-2)}.catalog-empty p{font-size:var(--font-size-base);margin:0}.catalog-error{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--spacing-6)}.error-container{text-align:center;max-width:var(--max-width-md);padding:var(--spacing-8);background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.error-title{font-size:var(--font-size-xl);color:var(--color-text);margin-bottom:var(--spacing-2)}.error-message{color:var(--color-text-secondary);margin-bottom:var(--spacing-6)}.catalog-cart-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:var(--z-modal-backdrop);display:none}.catalog-bottom-bar{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:var(--z-fixed);display:none;padding:0 16px}.bottom-bar-cart-btn{background-color:var(--color-primary);color:#fff;padding:8px 16px;border-radius:20px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;transition:all .2s ease;box-shadow:0 2px 8px #00000026;border:none;white-space:nowrap}.bottom-bar-cart-btn:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.bottom-bar-cart-btn:active{transform:translateY(0);box-shadow:0 2px 6px #00000026}.cart-count{font-size:14px;font-weight:600;opacity:.95}.cart-divider{opacity:.5;font-size:12px}.cart-total{font-size:15px;font-weight:700}.cart-arrow{font-size:16px;font-weight:700;margin-left:4px}@media (max-width: 1024px){.catalog--cart-open .catalog-content{margin-right:0}.catalog-cart-overlay{display:block}}@media (max-width: 640px){.catalog-header__content{padding:var(--spacing-3) var(--spacing-4)}.catalog-title{font-size:var(--font-size-lg)}.catalog-cart-toggle{min-width:44px;min-height:44px;padding:var(--spacing-2)}.catalog-content{padding:var(--spacing-3)}.catalog-products-grid{grid-template-columns:repeat(2,minmax(170px,200px));gap:12px}.catalog-section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.catalog-section-title{font-size:var(--font-size-xl)}.catalog-bottom-bar{display:block}.catalog-content{padding-bottom:calc(var(--spacing-20) + env(safe-area-inset-bottom))}.catalog-loading,.catalog-empty{padding:var(--spacing-8)}.error-container{padding:var(--spacing-6);margin:0 var(--spacing-4)}}@media (max-width: 480px){.catalog-products-grid{grid-template-columns:repeat(2,minmax(160px,180px));gap:10px;max-width:100%}.catalog-content{padding:var(--spacing-2)}.catalog-section-title{font-size:var(--font-size-lg)}}@media (min-width: 768px){.catalog-products-grid{grid-template-columns:repeat(4,minmax(190px,230px));max-width:1000px;gap:12px;padding:0 12px}}.dark-theme .catalog{background-color:var(--color-gray-900)}.dark-theme .catalog-header{background-color:var(--color-gray-800);border-bottom-color:var(--color-gray-700)}.dark-theme .catalog-bottom-bar{background-color:var(--color-gray-800);border-top-color:var(--color-gray-700)}.dark-theme .error-container{background-color:var(--color-gray-800)}@media (prefers-contrast: high){.catalog-header{border-bottom-width:2px}.catalog-bottom-bar{border-top-width:2px}.catalog-cart-toggle{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){.catalog-cart-toggle,.bottom-bar-cart-btn{transition:none}.cart-badge{animation:none}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:480px;width:100%;overflow:hidden}.login-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 30px;text-align:center}.login-header h1{font-size:2.5rem;margin:0 0 10px;font-weight:700}.login-subtitle{font-size:1rem;margin:0;opacity:.9}.login-content{padding:40px 30px}.login-message{text-align:center;margin-bottom:30px}.login-message h2{font-size:1.5rem;color:#2d3748;margin:0 0 15px;font-weight:600}.login-message p{font-size:.95rem;color:#718096;line-height:1.6;margin:0}.login-benefits{display:flex;flex-direction:column;gap:15px;margin-bottom:35px}.benefit-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f7fafc;border-radius:10px;transition:transform .2s}.benefit-item:hover{transform:translate(5px)}.benefit-icon{font-size:1.5rem;flex-shrink:0}.benefit-text{font-size:.95rem;color:#4a5568;font-weight:500}.login-button-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:25px}.telegram-bot-link{display:block;text-decoration:none;width:100%;max-width:400px}.telegram-bot-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 32px;background:linear-gradient(135deg,#08c,#229ed9);color:#fff;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0088cc4d}.telegram-bot-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #08c6;background:linear-gradient(135deg,#229ed9,#08c)}.telegram-bot-button:active{transform:translateY(0)}.telegram-icon{width:28px;height:28px}.login-hint{margin-top:1.5rem;text-align:center;color:#666;font-size:14px;line-height:1.6;max-width:400px}.telegram-login-button{display:flex;justify-content:center}.login-loading{text-align:center;padding:15px;color:#667eea;font-weight:500}.login-note{text-align:center;padding-top:20px;border-top:1px solid #e2e8f0}.login-note p{font-size:.8rem;color:#a0aec0;line-height:1.5;margin:0}@media (prefers-color-scheme: dark){.login-container{background:#1a202c}.login-message h2{color:#e2e8f0}.login-message p{color:#a0aec0}.benefit-item{background:#2d3748}.benefit-text{color:#cbd5e0}.login-note{border-top-color:#2d3748}.login-note p{color:#718096}}@media (max-width: 480px){.login-page{padding:10px}.login-header{padding:30px 20px}.login-header h1{font-size:2rem}.login-content{padding:30px 20px}.login-message h2{font-size:1.3rem}.benefit-item{padding:10px}}.app{min-height:100vh;background-color:var(--color-background);display:flex;flex-direction:column;position:relative}.app--loading{align-items:center;justify-content:center;text-align:center}.loading-container{padding:var(--spacing-8);max-width:var(--max-width-sm);margin:0 auto}.loading-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:var(--spacing-6) 0 var(--spacing-2)}.loading-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}.app--error{align-items:center;justify-content:center;text-align:center;padding:var(--spacing-6)}.error-container{max-width:var(--max-width-sm);padding:var(--spacing-8);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow)}.error-icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-4)}.error-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.error-message{color:var(--color-text-secondary);font-size:var(--font-size-base);margin-bottom:var(--spacing-6)}.error-retry-btn{background-color:var(--color-primary);color:#fff;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius);font-weight:var(--font-weight-medium);transition:background-color var(--transition)}.error-retry-btn:hover{background-color:var(--color-primary-hover)}.error-retry-btn:active{transform:translateY(1px)}@media (max-width: 640px){.loading-container,.error-container{padding:var(--spacing-6);margin:0 var(--spacing-4)}.loading-title,.error-title{font-size:var(--font-size-lg)}.error-icon{font-size:var(--font-size-3xl)}}.tg-theme{--color-background: var(--tg-theme-bg-color, var(--color-background));--color-text: var(--tg-theme-text-color, var(--color-text));--color-primary: var(--tg-theme-button-color, var(--color-primary))}@supports (padding-bottom: env(safe-area-inset-bottom)){.app{padding-bottom:env(safe-area-inset-bottom)}}.page-enter{opacity:0;transform:translate(100%)}.page-enter-active{opacity:1;transform:translate(0);transition:opacity var(--transition-slow),transform var(--transition-slow)}.page-exit{opacity:1;transform:translate(0)}.page-exit-active{opacity:0;transform:translate(-100%);transition:opacity var(--transition-slow),transform var(--transition-slow)}@media print{.app{background:#fff;color:#000}.loading-container,.error-container{box-shadow:none;border:1px solid #ccc}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
 */*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.static{position:static}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.mt-0\.5{margin-top:.125rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.h-12{height:3rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.max-h-24{max-height:6rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-2{width:.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-full{width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pr-2{padding-right:.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-6xl{font-size:3.75rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{--color-primary: #007bff;--color-primary-hover: #0056b3;--color-primary-light: #e3f2fd;--color-success: #28a745;--color-success-light: #d4edda;--color-warning: #ffc107;--color-warning-light: #fff3cd;--color-danger: #dc3545;--color-danger-light: #f8d7da;--color-info: #17a2b8;--color-info-light: #d1ecf1;--color-white: #ffffff;--color-gray-50: #f8f9fa;--color-gray-100: #e9ecef;--color-gray-200: #dee2e6;--color-gray-300: #ced4da;--color-gray-400: #adb5bd;--color-gray-500: #6c757d;--color-gray-600: #495057;--color-gray-700: #343a40;--color-gray-800: #212529;--color-gray-900: #000000;--color-background: var(--color-white);--color-surface: var(--color-white);--color-text: var(--color-gray-800);--color-text-secondary: var(--color-gray-600);--color-text-muted: var(--color-gray-500);--color-border: var(--color-gray-200);--color-border-light: var(--color-gray-100);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--radius-sm: .25rem;--radius: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--transition-fast: .15s ease;--transition: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--max-width-sm: 24rem;--max-width-md: 28rem;--max-width-lg: 32rem;--max-width-xl: 36rem;--max-width-2xl: 42rem;--max-width-full: 100%;--grid-cols-1: repeat(1, minmax(0, 1fr));--grid-cols-2: repeat(2, minmax(0, 1fr));--grid-cols-3: repeat(3, minmax(0, 1fr));--grid-cols-4: repeat(4, minmax(0, 1fr))}.dark-theme{--color-background: var(--color-gray-900);--color-surface: var(--color-gray-800);--color-text: var(--color-gray-100);--color-text-secondary: var(--color-gray-300);--color-text-muted: var(--color-gray-400);--color-border: var(--color-gray-700);--color-border-light: var(--color-gray-600);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3)}html{font-size:16px;height:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);height:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}p,h1,h2,h3,h4,h5,h6,span,div[role=article],div[role=main]{-webkit-user-select:text;-moz-user-select:text;user-select:text}#root{height:100%;isolation:isolate}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-2)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-base)}h5{font-size:var(--font-size-sm)}h6{font-size:var(--font-size-xs)}p{margin-bottom:var(--spacing-4)}small{font-size:var(--font-size-sm);color:var(--color-text-muted)}strong{font-weight:var(--font-weight-semibold)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-align:center;cursor:pointer;transition:all var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{display:block;width:100%;padding:var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius);background-color:var(--color-background);color:var(--color-text);font-size:var(--font-size-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-muted);opacity:1}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}.loading-spinner{width:2rem;height:2rem;border:2px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.loading-spinner-small{width:1rem;height:1rem;border:1px solid var(--color-border);border-top:1px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}html{scroll-behavior:smooth}*:focus{outline:2px solid var(--color-primary);outline-offset:2px}button:focus{outline-offset:2px}@media (prefers-contrast: high){:root{--color-border: var(--color-gray-800);--shadow: none;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-300:disabled{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}
