.products-page{max-width:1400px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-8)}.products-page__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin:0 0 var(--space-5);letter-spacing:-.02em}.products-page__search{margin-bottom:var(--space-5)}.search-input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.products-page__categories{margin-bottom:var(--space-5);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.products-page__categories::-webkit-scrollbar{height:4px}.products-page__categories::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-full)}.products-page__categories::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-full)}.category-pill-row{display:flex;gap:var(--space-2);padding-bottom:var(--space-2)}.category-pill{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:all var(--transition-base)}.category-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.category-pill--active,.category-pill--active:hover{font-weight:var(--font-weight-semibold);background:var(--color-primary);color:var(--white);border-color:var(--color-primary)}.products-page__filters{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-5);align-items:center}.filter-group{display:flex;align-items:center;gap:var(--space-2)}.filter-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.filter-select{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary)}.filter-checkbox{cursor:pointer;accent-color:var(--color-primary)}.results-count{margin-left:auto;font-size:var(--font-size-sm);color:var(--color-text-muted)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-5)}.product-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--green-200)}.product-card__image{width:100%;height:200px;object-fit:cover;background:var(--gray-100)}.product-card__body{padding:var(--space-4);display:flex;flex-direction:column;flex:1}.product-card__category{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.06em}.product-card__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2);line-height:1.4;color:var(--color-text-primary)}.product-card__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-3);line-height:1.5;flex:1}.product-card__footer{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-2)}.product-card__price{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.product-card__bulk-note{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);display:block;margin-top:var(--space-1)}.product-card__badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.stock-status{font-size:var(--font-size-sm);margin-top:var(--space-2)}.stock-status--out{color:var(--color-error);font-weight:var(--font-weight-medium)}.stock-status--in{color:var(--green-700)}@media(max-width:640px){.products-page{padding:var(--space-4) var(--space-3) var(--space-6)}.products-page__filters{flex-direction:column;align-items:stretch}.products-page__filters .results-count{margin-left:0}.products-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}}.footer{background:var(--gray-800);color:var(--gray-200);margin-top:auto;padding:var(--space-7) var(--space-4) var(--space-5)}.footer-content{max-width:1200px;margin:0 auto var(--space-6);display:grid;grid-template-columns:1fr;gap:var(--space-6)}.footer-logo-link{display:inline-block;text-decoration:none;margin-bottom:var(--space-4);transition:opacity var(--transition-base)}.footer-logo-link:hover{opacity:.9}.footer-logo-image{height:88px;width:auto;object-fit:contain;background:var(--white);border-radius:var(--radius-md);padding:var(--space-2);box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.2)}.footer-section--brand p{max-width:38ch}.footer-rating{display:inline-flex;align-items:center;gap:var(--space-2);margin:var(--space-4) 0;color:var(--gray-200);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-base)}.footer-rating:hover{color:var(--green-400)}.footer-rating svg{color:#f5b700;flex-shrink:0}.footer-rating strong{color:var(--white);font-weight:var(--font-weight-semibold)}.footer-rating:hover strong{color:inherit}.footer-section h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--white);margin-bottom:var(--space-4)}.footer-section p{font-size:var(--font-size-sm);color:var(--gray-400);line-height:1.6;margin:0}.footer-nav{display:flex;flex-direction:column;gap:var(--space-3)}.footer-nav a{color:var(--gray-300);text-decoration:none;font-size:var(--font-size-sm);transition:color var(--transition-base)}.footer-nav a:hover{color:var(--green-400)}.footer-contact{margin-top:var(--space-4);font-size:var(--font-size-sm);color:var(--gray-300);display:flex;flex-direction:column;gap:var(--space-3)}.footer-contact p{margin:0;color:inherit;display:flex;align-items:flex-start;gap:var(--space-2)}.footer-contact svg{color:var(--green-400);flex-shrink:0;margin-top:2px}.footer-contact a{color:var(--gray-300);text-decoration:none}.footer-contact a:hover{color:var(--green-400)}.footer-payment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin-bottom:var(--space-4)}.footer-payment-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:#ffffff0d;border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--gray-300)}.footer-payment-item svg{color:var(--green-400);flex-shrink:0}.footer-services{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--gray-400)}.footer-services span{display:flex;align-items:center;gap:var(--space-2)}.footer-services svg{color:var(--green-400);flex-shrink:0}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:var(--space-6);border-top:1px solid var(--gray-700);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.footer-bottom p{font-size:var(--font-size-sm);color:var(--gray-400);margin:0}.footer-to-top{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:1px solid var(--gray-700);color:var(--gray-300);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-base),color var(--transition-base)}.footer-to-top:hover{border-color:var(--green-400);color:var(--green-400)}@media(min-width:640px){.footer-content{grid-template-columns:repeat(2,1fr);gap:var(--space-7)}.footer-bottom{flex-direction:row;justify-content:space-between}}@media(min-width:1024px){.footer{padding:var(--space-8) var(--space-5) var(--space-5)}.footer-content{grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-6)}}@media(max-width:640px){.footer-logo-image{height:68px;padding:var(--space-1)}}.pwa-install-prompt{position:fixed;bottom:0;left:0;right:0;z-index:1000;padding:var(--space-4);background:#00000080;animation:slideUp .3s ease-out}@media(prefers-reduced-motion:reduce){.pwa-install-prompt{animation:none}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.pwa-install-content{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-lg);max-width:400px;margin:0 auto;position:relative}.pwa-install-logo{width:48px;height:48px;object-fit:contain}.pwa-install-icon{font-size:3rem;text-align:center;margin-bottom:var(--space-4)}.pwa-install-text{text-align:center;margin-bottom:var(--space-4)}.pwa-install-text h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.pwa-install-text p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.pwa-install-steps{text-align:left;background:var(--gray-50);padding:var(--space-4);border-radius:var(--radius-md);margin-top:var(--space-4)}.pwa-install-steps p{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.pwa-install-steps ol{margin:0;padding-left:var(--space-5);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.8}.pwa-install-steps li{margin-bottom:var(--space-2)}.ios-icon{font-size:var(--font-size-xl);vertical-align:middle}.pwa-install-button{width:100%;padding:var(--space-3) var(--space-5);background:var(--color-primary);color:var(--white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-base);margin-top:var(--space-4)}.pwa-install-button:hover{background:var(--color-primary-hover)}.pwa-install-button:active{transform:scale(.98)}.pwa-dismiss-button{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;font-size:var(--font-size-xl);color:var(--gray-400);cursor:pointer;padding:var(--space-1);line-height:1;transition:color var(--transition-base);-webkit-tap-highlight-color:transparent}.pwa-dismiss-button:hover{color:var(--gray-600)}@media(min-width:768px){.pwa-install-content{padding:var(--space-6)}.pwa-install-text h3{font-size:var(--font-size-2xl)}.pwa-install-text p{font-size:var(--font-size-base)}}.login-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:loginModalFadeIn .2s ease-out}@media(prefers-reduced-motion:reduce){.login-modal-overlay,.login-modal{animation:none}}@keyframes loginModalFadeIn{0%{opacity:0}to{opacity:1}}.login-modal{position:relative;background:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px;width:100%;animation:loginModalSlideIn .25s ease-out}@keyframes loginModalSlideIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.login-modal-close{position:absolute;top:var(--space-3);right:var(--space-3);width:2rem;height:2rem;padding:0;border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-2xl);line-height:1;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.login-modal-close:hover{background:var(--gray-100);color:var(--color-text-primary)}.login-modal-brand{text-align:center;margin-bottom:var(--space-5);padding-right:var(--space-6)}.login-modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin:0 0 var(--space-1) 0}.login-modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.login-modal-google-btn{width:100%;padding:var(--space-3) var(--space-5);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:var(--white);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-3);transition:background var(--transition-base),box-shadow var(--transition-base);-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-sm)}.login-modal-google-btn:hover:not(:disabled){background:var(--gray-50);box-shadow:var(--shadow-md)}.login-modal-google-btn:active:not(:disabled){transform:scale(.99)}.login-modal-google-btn:disabled{opacity:.7;cursor:not-allowed}.login-modal-google-logo{flex-shrink:0}.login-modal-error{margin:var(--space-4) 0 0 0;padding:var(--space-3);font-size:var(--font-size-sm);color:var(--color-error-text);background:var(--color-error-bg);border:1px solid #fecaca;border-radius:var(--radius-sm)}.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background)}.layout main{flex:1}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-2) 0;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header-content{max-width:1280px;margin:0 auto;padding:0 var(--space-4);display:flex;align-items:center;gap:var(--space-5)}.logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;transition:opacity var(--transition-base)}.logo:hover{opacity:.9}.logo-image{height:44px;width:auto;object-fit:contain;display:block;border-radius:var(--radius-sm)}.primary-nav{display:none;align-items:center;gap:var(--space-1)}.nav-link{color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--transition-base),background var(--transition-base);white-space:nowrap}.nav-link:hover{color:var(--color-primary);background:var(--color-primary-light)}.nav-link--active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.header-search{display:none;align-items:center;gap:var(--space-2);flex:1;max-width:420px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--gray-50);color:var(--color-text-secondary);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.header-search:focus-within{border-color:var(--color-primary);background:var(--color-surface)}.header-search input{border:none;background:transparent;outline:none;font-size:var(--font-size-sm);color:var(--color-text-primary);width:100%;font-family:inherit}.header-search input::placeholder{color:var(--color-text-muted)}.header-actions{display:none;align-items:center;gap:var(--space-3);margin-left:auto;flex-shrink:0}.icon-link{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);color:var(--color-text-secondary);transition:background var(--transition-base),color var(--transition-base)}.icon-link:hover{background:var(--color-primary-light);color:var(--color-primary)}.nav-cart-badge{position:absolute;top:-2px;right:-2px;background:var(--color-error);color:var(--white);border-radius:var(--radius-full);min-width:18px;height:18px;padding:0 4px;font-size:.65rem;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold)}.account-menu{position:relative}.account-trigger{display:flex;align-items:center;gap:var(--space-1);height:40px;padding:0 var(--space-2) 0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--transition-base),color var(--transition-base)}.account-trigger:hover{border-color:var(--color-primary);color:var(--color-primary)}.account-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);display:flex;flex-direction:column;gap:2px;z-index:110}.account-dropdown a,.account-dropdown button{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:none;border:none;cursor:pointer;text-align:left;width:100%;font-family:inherit}.account-dropdown a:hover,.account-dropdown button:hover{background:var(--color-primary-light);color:var(--color-primary)}.account-dropdown a svg,.account-dropdown button svg{color:var(--color-text-muted);flex-shrink:0}.account-dropdown a:hover svg,.account-dropdown button:hover svg{color:var(--color-primary)}.account-dropdown__divider{height:1px;background:var(--color-border);margin:var(--space-2) 0}.sign-in-btn,.sign-out-btn{border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);cursor:pointer;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);min-height:40px;transition:background var(--transition-base),transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.sign-in-btn{background:var(--color-primary);color:var(--white)}.sign-in-btn:hover{background:var(--color-primary-hover)}.sign-out-btn{background:var(--color-error);color:var(--white)}.sign-out-btn:hover{background:#c82333}.sign-in-btn:active,.sign-out-btn:active{transform:scale(.98)}.mobile-menu-toggle{display:block;background:none;border:none;cursor:pointer;padding:var(--space-2);margin-left:auto;z-index:101;-webkit-tap-highlight-color:transparent}.hamburger{display:flex;flex-direction:column;justify-content:space-around;width:24px;height:20px;background:transparent;border:none;cursor:pointer;padding:0}.hamburger span{width:100%;height:2px;background-color:var(--color-primary);border-radius:2px;transition:all var(--transition-base);transform-origin:center}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.nav{position:fixed;top:0;right:-100%;width:300px;max-width:85vw;height:100vh;background:var(--color-surface);display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-7) var(--space-5) var(--space-6);gap:0;box-shadow:var(--shadow-lg);transition:right .3s ease;z-index:100;overflow-y:auto}.nav.open{right:0}.mobile-search{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--gray-50);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.mobile-search input{border:none;background:transparent;outline:none;font-size:var(--font-size-base);color:var(--color-text-primary);width:100%;font-family:inherit}.nav-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:var(--space-4) 0 var(--space-2)}.nav-section-label:first-of-type{margin-top:0}.nav a{color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-base);transition:color var(--transition-base),background var(--transition-base);padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);min-height:44px;display:flex;align-items:center;gap:var(--space-2);width:100%;position:relative;border-bottom:1px solid var(--color-border);-webkit-tap-highlight-color:transparent}.nav a:hover{background:var(--color-primary-light);color:var(--color-primary)}.nav .sign-in-btn,.nav .sign-out-btn{width:100%;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);min-height:48px}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:99;animation:fadeIn .2s ease}@media(prefers-reduced-motion:reduce){.mobile-menu-overlay{animation:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-content{flex:1;max-width:1280px;width:100%;margin:0 auto;padding:var(--space-5) var(--space-4)}@media(min-width:768px){.header-content{padding:0 var(--space-5)}.logo-image{height:48px}.primary-nav,.header-search,.header-actions{display:flex}.mobile-menu-toggle,.mobile-menu-overlay,.nav{display:none}.main-content{padding:var(--space-6) var(--space-5)}}@media(min-width:1024px){.header-search{max-width:480px}}:root{--green-50: #f0f9f4;--green-100: #dbf0e3;--green-200: #b8e0c9;--green-300: #8ccaa8;--green-400: #5aad82;--green-500: #358f63;--green-600: #1a5f3f;--green-700: #154d33;--green-800: #113f2a;--green-900: #0d3021;--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--color-primary: var(--green-600);--color-primary-hover: var(--green-700);--color-primary-light: var(--green-50);--color-text-primary: var(--gray-900);--color-text-secondary: var(--gray-600);--color-text-muted: var(--gray-500);--color-border: var(--gray-200);--color-background: var(--gray-50);--color-surface: var(--white);--color-success-bg: #d4edda;--color-success-text: #155724;--color-warning-bg: #fff3cd;--color-warning-text: #856404;--color-error-bg: #f8d7da;--color-error-text: #721c24;--color-error: #dc3545;--color-info-bg: #d1ecf1;--color-info-text: #0c5460;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(17, 63, 42, .06);--shadow-md: 0 6px 16px rgba(17, 63, 42, .1);--shadow-lg: 0 16px 32px rgba(17, 63, 42, .14);--shadow-focus: 0 0 0 3px rgba(26, 95, 63, .25);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", 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-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease;--transition-base: .2s ease;font-family:var(--font-family);line-height:1.5;font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:var(--font-weight-medium);color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}button,input,select,textarea{font-family:var(--font-family)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}.badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);display:inline-block;white-space:nowrap}.badge--success{background:var(--color-success-bg);color:var(--color-success-text)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge--error{background:var(--color-error-bg);color:var(--color-error-text)}.badge--info{background:var(--color-info-bg);color:var(--color-info-text)}.btn-primary{padding:var(--space-3) var(--space-5);background:var(--color-primary);color:var(--white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast);text-decoration:none;display:inline-block;text-align:center}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);color:var(--white)}.btn-primary:disabled{background:var(--gray-300);cursor:not-allowed}.btn-secondary{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast)}.btn-secondary:hover{background:var(--color-primary-hover)}.btn-danger{padding:var(--space-2) var(--space-4);background:var(--color-error);color:var(--white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:opacity var(--transition-fast)}.btn-danger:disabled{cursor:not-allowed;opacity:.6}.btn-muted{padding:var(--space-2) var(--space-4);background:var(--gray-500);color:var(--white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.btn-block{width:100%}.status-badge{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:inline-block}.status-badge--pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-badge--info{background:var(--color-info-bg);color:var(--color-info-text)}.status-badge--success{background:var(--color-success-bg);color:var(--color-success-text)}.status-badge--error{background:var(--color-error-bg);color:var(--color-error-text)}.status-badge--neutral{background:var(--gray-200);color:var(--gray-700)}.panel{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.panel__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-text-primary)}.form-label .required-mark{color:var(--color-error)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary)}.form-input--error,.form-textarea--error,.form-select--error{border-color:var(--color-error)}.field-error{color:var(--color-error);font-size:var(--font-size-sm);margin:0}.form-banner{padding:var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.form-banner--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.form-banner--error{background:var(--color-error-bg);color:var(--color-error-text)}.form-banner--success{background:var(--color-success-bg);color:var(--color-success-text)}.form-banner a{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.summary-row{display:flex;justify-content:space-between;margin-bottom:var(--space-2);color:var(--color-text-secondary)}.summary-row strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.summary-row--total{border-top:1px solid var(--color-border);margin-top:var(--space-4);padding-top:var(--space-4);display:flex;justify-content:space-between;align-items:center}.summary-row--total .label{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.summary-row--total .amount{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}.contact-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.contact-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--green-200)}.contact-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.contact-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--white);border-radius:var(--radius-md);flex-shrink:0}.contact-card-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.contact-card-content{display:flex;flex-direction:column;gap:var(--space-4)}.contact-item{margin:0;color:var(--color-text-secondary);line-height:1.6;font-size:var(--font-size-sm)}.contact-item strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);display:block;margin-bottom:var(--space-1);font-size:var(--font-size-sm)}.contact-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold);margin-top:var(--space-2);font-size:var(--font-size-sm);transition:gap var(--transition-fast)}.contact-link:hover{gap:var(--space-2);color:var(--color-primary)}.contact-link-inline{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium)}.contact-link-inline:hover{text-decoration:underline}.highlight-text{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.payment-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.payment-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--gray-50);border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.payment-item svg{color:var(--color-primary);flex-shrink:0}@media(min-width:640px){.contact-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.contact-grid{grid-template-columns:repeat(3,1fr)}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal{background:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg)}.modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-4)}.admin-tabs{display:flex;gap:var(--space-2);border-bottom:2px solid var(--color-border);overflow-x:auto}.admin-tab{padding:var(--space-3) var(--space-5);border:none;background:transparent;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--color-text-secondary);font-weight:var(--font-weight-normal);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast)}.admin-tab:hover{color:var(--color-primary)}.admin-tab--active{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-2)}.stat-card__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0;font-variant-numeric:tabular-nums}.admin-list{display:flex;flex-direction:column;gap:var(--space-4)}.admin-list-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface)}.admin-list-item--inactive{background:var(--gray-50)}.admin-list-item__row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.admin-list-item__name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);margin:0;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.admin-list-item__meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:var(--space-2) 0 0}.admin-list-item__meta svg{color:var(--color-text-muted);flex-shrink:0}.admin-list-item__actions{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-end;flex-shrink:0}.sms-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);text-decoration:none;font-weight:var(--font-weight-medium);color:var(--white);background:var(--color-primary);white-space:nowrap}.sms-link:hover{background:var(--color-primary-hover);color:var(--white)}.sms-link--success{background:var(--green-500)}.sms-link--info{background:var(--color-info-text)}.sms-link--warning{background:#b45309}.sms-link--error{background:var(--color-error)}.state-message{text-align:center;padding:var(--space-7) var(--space-4);color:var(--color-text-secondary)}.state-message--error{color:var(--color-error)}.state-message p{font-size:var(--font-size-lg);margin-bottom:var(--space-3)}
