:root{--text:#4b4b4f;--text-h:#08060d;--bg:#fff;--surface:#f5f5f5;--border:#e0e0e2;--accent:var(--text-h);--accent-bg:#08060d0d;--accent-border:#08060d4d;--success:#22c55e;--success-bg:#22c55e1f;--error:#ef4444;--error-bg:#ef44441f;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-xxl:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:999px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f5f5f6;--bg:#16171a;--surface:#232327;--border:#34353a;--accent:var(--text-h);--accent-bg:#f5f5f614;--accent-border:#f5f5f64d;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}*{box-sizing:border-box}body,p{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}.spinner{animation:.8s linear infinite spinner-rotate}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.registration-form{gap:var(--space-md);text-align:center;flex-direction:column;width:100%;max-width:360px;display:flex}.registration-form__title{color:var(--text-h);margin:0;font-size:20px;font-weight:700}.registration-form__subtitle{color:var(--text);margin:0;font-size:13px}.registration-form__field{text-align:left;color:var(--text);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.registration-form__field input,.registration-form__field textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text-h);font:inherit;padding:var(--space-sm) var(--space-md);resize:vertical;font-size:14px;font-weight:400}.registration-form__field input{height:40px}.registration-form__error{padding:var(--space-sm);color:var(--error);background:var(--error-bg);border-radius:var(--radius-sm);margin:0;font-size:13px}.registration-form__submit{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-md);background:var(--accent);height:44px;color:var(--bg);font:inherit;cursor:pointer;border:none;font-weight:700;display:flex}.registration-form__submit:disabled{opacity:.5;cursor:not-allowed}.registration-form__back{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.registration-form__back:hover{color:var(--text-h)}.registration-form--success{align-items:center}.registration-form__success-text{color:var(--text);margin:0;font-size:14px;line-height:1.5}.auth-gate{padding:var(--space-lg);flex:1;justify-content:center;align-items:center;display:flex}.auth-gate__form{gap:var(--space-md);text-align:center;flex-direction:column;width:100%;max-width:360px;display:flex}.auth-gate__brand{flex-direction:column;align-items:center;gap:6px;display:flex}.auth-gate__brand-logo{filter:invert();width:auto;height:38px}@media (prefers-color-scheme:dark){.auth-gate__brand-logo{filter:none}}.auth-gate__brand-sub{text-transform:uppercase;letter-spacing:.08em;color:var(--text);font-size:13px;font-weight:500}.auth-gate__subtitle{color:var(--text);font-size:14px}.auth-gate__password-wrap{position:relative}.auth-gate__input{width:100%;height:44px;padding:0 40px 0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text-h);font:inherit;font-size:15px}.auth-gate__password-toggle{width:40px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.auth-gate__password-toggle:hover{color:var(--text-h)}.auth-gate__password-toggle svg{width:18px;height:18px}.auth-gate__error{padding:var(--space-sm);color:var(--error);background:var(--error-bg);border-radius:var(--radius-sm);margin:0;font-size:13px}.auth-gate__submit{border-radius:var(--radius-md);background:var(--accent);height:44px;color:var(--bg);font:inherit;cursor:pointer;border:none;font-weight:700}.auth-gate__register-link{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.auth-gate__register-link:hover{color:var(--text-h)}.auth-gate__submit:disabled{opacity:.5;cursor:not-allowed}.quantity-selector{border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;display:inline-flex;overflow:hidden}.quantity-selector__step{background:var(--surface);width:32px;height:32px;color:var(--text-h);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.quantity-selector__step:disabled{color:var(--text);opacity:.4;cursor:not-allowed}.quantity-selector__step:hover:not(:disabled){background:var(--accent-bg)}.quantity-selector__input{border:none;border-inline:1px solid var(--border);text-align:center;background:var(--bg);width:44px;height:32px;color:var(--text-h);font:inherit;-moz-appearance:textfield;font-size:14px}.quantity-selector__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-selector__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tier-badge-list{gap:var(--space-xs);margin:var(--space-xs) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.tier-badge{border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text);background:var(--surface);padding:2px 8px;font-size:12px}.tier-badge--active{border-color:var(--success);color:var(--success);background:var(--success-bg);font-weight:600}.product-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);text-align:left;flex-direction:column;display:flex;overflow:hidden}.product-card__thumb{aspect-ratio:4/3;background:var(--surface);justify-content:center;align-items:center;display:flex}.product-card__thumb img{object-fit:contain;width:100%;height:100%}.product-card__thumb-placeholder{color:var(--text);font-size:32px;font-weight:600}.product-card__body{gap:var(--space-xs);padding:var(--space-md);flex-direction:column;flex:1;display:flex}.product-card__category{text-transform:uppercase;letter-spacing:.08em;color:var(--text);font-size:11px}.product-card__name{color:var(--text-h);margin:0;font-size:15px;font-weight:600}.product-card__details-link{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px;text-decoration:underline}.product-card__details-link:hover{color:var(--text-h)}.product-card__variation-select{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text-h);padding:6px 8px;font-size:13px}.product-card__price-row{align-items:baseline;gap:var(--space-sm);display:flex}.product-card__price{color:var(--text-h);font-size:18px;font-weight:700}.product-card__price-regular{color:var(--text);font-size:13px;text-decoration:line-through}.stock-badge{border-radius:var(--radius-full);align-self:flex-start;padding:2px 8px;font-size:12px;font-weight:600}.stock-badge--in{color:var(--success);background:var(--success-bg)}.stock-badge--out{color:var(--error);background:var(--error-bg)}.product-card__footer{justify-content:space-between;align-items:center;gap:var(--space-sm);padding-top:var(--space-sm);margin-top:auto;display:flex}.product-card__add{border-radius:var(--radius-md);background:var(--accent);height:32px;color:var(--bg);font:inherit;cursor:pointer;border:none;flex:1;font-size:13px;font-weight:600}.product-card__add:disabled{opacity:.4;cursor:not-allowed}.product-card__add:hover:not(:disabled){opacity:.85}.product-card-skeleton{border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.product-card-skeleton__thumb{aspect-ratio:4/3}.product-card-skeleton__body{gap:var(--space-sm);padding:var(--space-md);flex-direction:column;display:flex}.product-card-skeleton__line{border-radius:var(--radius-sm);height:12px}.product-card-skeleton__line--name{width:80%;height:15px}.product-card-skeleton__line--price{width:45%;height:18px;margin-top:var(--space-xs)}.product-card-skeleton__line--footer{border-radius:var(--radius-md);width:100%;height:32px;margin-top:auto}.product-card-skeleton__thumb,.product-card-skeleton__line{background:var(--surface);animation:1.4s ease-in-out infinite product-card-skeleton-pulse}@keyframes product-card-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.product-detail-modal__overlay{padding:var(--space-lg);z-index:30;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.product-detail-modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:80vh;box-shadow:var(--shadow);padding:var(--space-lg);overflow-y:auto}.product-detail-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.product-detail-modal__title{color:var(--text-h);margin:0;font-size:17px}.product-detail-modal__close{color:var(--text);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:22px;line-height:1}.product-detail-modal__status{justify-content:center;align-items:center;gap:var(--space-xs);color:var(--text);text-align:center;padding:var(--space-lg) 0;margin:0;display:flex}.product-detail-modal__description{color:var(--text-h);margin:0;font-size:14px;line-height:1.6}@media (width<=768px){.product-detail-modal__overlay{padding:var(--space-md);align-items:flex-end}.product-detail-modal{max-height:70vh}}.product-row td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);vertical-align:middle}.product-row__name-cell{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.product-row__name{color:var(--text-h);font-size:14px;font-weight:600}.product-row__details-link{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.product-row__details-link:hover{color:var(--text-h)}.product-row__variation-select{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text-h);margin-top:4px;padding:4px 6px;font-size:12px}.product-row__price-cell{white-space:nowrap}.product-row__price{color:var(--text-h);font-weight:700}.product-row__tier-hint{color:var(--success);font-size:11px;display:block}.product-row__stock-cell{white-space:nowrap}.product-row__action-cell{align-items:center;gap:var(--space-sm);white-space:nowrap;display:flex}.product-row__add{height:32px;padding:0 var(--space-md);border-radius:var(--radius-md);background:var(--accent);color:var(--bg);font:inherit;cursor:pointer;border:none;font-size:13px;font-weight:600}.product-row__add:disabled{opacity:.4;cursor:not-allowed}.product-row__add:hover:not(:disabled){opacity:.85}.catalog-toolbar{z-index:10;gap:var(--space-sm);padding:var(--space-lg);padding-bottom:var(--space-md);background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;display:flex;position:sticky;top:0}.catalog-toolbar__row{gap:var(--space-sm);display:flex}.catalog-toolbar__search{height:40px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text-h);font:inherit;flex:1;font-size:14px}.catalog-toolbar__layout{border:1px solid var(--border);border-radius:var(--radius-md);flex-shrink:0;display:flex;overflow:hidden}.catalog-layout-btn{background:var(--bg);width:40px;height:40px;color:var(--text);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.catalog-layout-btn svg{width:15px;height:15px}.catalog-layout-btn:first-child{border-right:1px solid var(--border)}.catalog-layout-btn--active{background:var(--accent);color:var(--bg)}.catalog-refresh-btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);width:40px;height:40px;color:var(--text);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.catalog-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.catalog-refresh-icon,.catalog-refresh-btn .spinner{width:15px;height:15px}.catalog-grid__status--error{align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.catalog-grid__retry{height:36px;padding:0 var(--space-lg);border-radius:var(--radius-md);background:var(--accent);color:var(--bg);font:inherit;cursor:pointer;border:none;font-weight:600}.catalog-toolbar__error{padding:var(--space-sm) var(--space-md);background:var(--error-bg);color:var(--error);border-radius:var(--radius-sm);align-items:center;gap:var(--space-sm);margin:0;font-size:12px;display:flex}.catalog-toolbar__error-retry{color:var(--error);font:inherit;cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600;text-decoration:underline}.catalog-toolbar__chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.catalog-chip{border:1px solid var(--border);border-radius:var(--radius-full);font:inherit;color:var(--text);background:var(--bg);cursor:pointer;white-space:nowrap;padding:4px 12px;font-size:12px}.catalog-chip--active{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600}.catalog-section__title{padding:var(--space-lg) var(--space-lg) 0;color:var(--text-h);margin:0;font-size:15px;font-weight:700}.catalog-grid{gap:var(--space-lg);padding:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.catalog-grid__status{padding:var(--space-xxl);text-align:center;color:var(--text)}.catalog-table-wrapper{padding:var(--space-lg);overflow-x:auto}.catalog-table{border-collapse:collapse;width:100%;font-size:13px}.catalog-table thead th{text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);color:var(--text);text-transform:uppercase;letter-spacing:.06em;font-size:12px}@media (width<=768px){.catalog-toolbar{padding:var(--space-md);padding-bottom:var(--space-sm)}.catalog-section__title{padding:var(--space-md) var(--space-md) 0}.catalog-grid{gap:var(--space-md);padding:var(--space-md);grid-template-columns:1fr}.catalog-table-wrapper{padding:var(--space-md)}}.cart-panel{bottom:100%;right:var(--space-lg);left:var(--space-lg);max-width:420px;margin-left:auto;margin-bottom:var(--space-sm);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-lg);position:absolute}.cart-panel__header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.cart-panel__header h2{color:var(--text-h);margin:0;font-size:16px}.cart-panel__close{cursor:pointer;color:var(--text);background:0 0;border:none;font-size:20px;line-height:1}.cart-panel__empty{color:var(--text);text-align:center;padding:var(--space-lg) 0}.cart-panel__list{gap:var(--space-md);flex-direction:column;max-height:300px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cart-panel__line{align-items:center;gap:var(--space-sm);display:flex}.cart-panel__line-info{flex-direction:column;flex:1;min-width:0;display:flex}.cart-panel__line-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.cart-panel__line-price{color:var(--text);font-size:12px}.cart-panel__remove{color:var(--error);cursor:pointer;background:0 0;border:none;font-size:12px}@media (width<=768px){.cart-panel{left:var(--space-sm);right:var(--space-sm);max-width:none}}.floating-cart-bar{z-index:20;position:sticky;bottom:0}.floating-cart-bar__bar{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--bg);border-top:1px solid var(--border);box-shadow:var(--shadow);display:flex}.floating-cart-bar__summary{align-items:center;gap:var(--space-xs);font:inherit;color:var(--text-h);cursor:pointer;text-align:left;background:0 0;border:none;font-weight:600;display:flex}.floating-cart-bar__chevron{width:14px;height:14px;color:var(--text);transition:transform .2s}.floating-cart-bar__chevron--open{transform:rotate(180deg)}.floating-cart-bar__cta{justify-content:center;align-items:center;gap:var(--space-xs);height:40px;padding:0 var(--space-xl);border-radius:var(--radius-md);background:var(--accent);color:var(--bg);font:inherit;cursor:pointer;white-space:nowrap;border:none;font-weight:700;display:flex}.floating-cart-bar__cta:disabled,.floating-cart-bar__summary:disabled{opacity:.5;cursor:not-allowed}.floating-cart-bar__error{padding:var(--space-sm) var(--space-lg);color:var(--error);background:var(--error-bg);margin:0;font-size:13px}.floating-cart-bar__success{padding:var(--space-sm) var(--space-lg);color:var(--success);background:var(--success-bg);margin:0;font-size:13px}@media (width<=768px){.floating-cart-bar__bar{padding:var(--space-sm) var(--space-md)}.floating-cart-bar__cta{white-space:normal;text-align:center;padding:0 var(--space-md);font-size:13px}}.guide{max-width:640px;padding:var(--space-lg);gap:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.guide__title{color:var(--text-h);margin:0;font-size:20px}.guide__intro{color:var(--text);margin:0;font-size:14px}.guide__steps{gap:var(--space-md);flex-direction:column;display:flex}.guide__step{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-lg)}.guide__step-title{margin:0 0 var(--space-xs);color:var(--text-h);font-size:15px}.guide__step-text{color:var(--text);margin:0;font-size:13px;line-height:1.6}.guide__footer{color:var(--text);text-align:center;font-size:13px}@media (width<=768px){.guide{padding:var(--space-md)}}.order-history{max-width:480px;padding:var(--space-lg);gap:var(--space-md);flex-direction:column;margin:0 auto;display:flex}.order-history__form{gap:var(--space-sm);display:flex}.order-history__input{height:40px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text-h);font:inherit;flex:1;font-size:14px}.order-history__submit{justify-content:center;align-items:center;gap:var(--space-xs);height:40px;padding:0 var(--space-lg);border-radius:var(--radius-md);background:var(--accent);color:var(--bg);font:inherit;cursor:pointer;white-space:nowrap;border:none;font-weight:600;display:flex}.order-history__submit:disabled{opacity:.5;cursor:not-allowed}.order-history__error{padding:var(--space-sm);color:var(--error);background:var(--error-bg);border-radius:var(--radius-sm);margin:0;font-size:13px}.order-history__empty{color:var(--text);text-align:center;padding:var(--space-lg) 0}.order-history__count{color:var(--text);margin:0;font-size:12px}.order-history__list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.order-history__item{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.order-history__row{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg);font:inherit;cursor:pointer;text-align:left;border:none;font-size:13px;display:flex}.order-history__row:disabled{cursor:default}.order-history__chevron{width:12px;height:12px;color:var(--text);flex-shrink:0;transition:transform .2s}.order-history__chevron--open{transform:rotate(180deg)}.order-history__items{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border);background:var(--surface);gap:var(--space-xs);flex-direction:column;margin:0;list-style:none;display:flex}.order-history__item-line{justify-content:space-between;align-items:baseline;gap:var(--space-sm);color:var(--text);font-size:12px;display:flex}.order-history__date{color:var(--text)}.order-history__status{color:var(--text-h);font-size:12px;font-weight:600}.order-history__status--ok{color:var(--success)}.order-history__status--error{color:var(--error)}.order-history__total{color:var(--text-h);font-weight:700}@media (width<=768px){.order-history{padding:var(--space-md)}.order-history__form{flex-direction:column}}.app{flex-direction:column;flex:1;min-height:100svh;display:flex}.app__header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.app__brand{align-items:center;gap:8px;min-width:0;display:flex}.app__brand-logo{filter:invert();width:auto;height:20px;display:block}@media (prefers-color-scheme:dark){.app__brand-logo{filter:none}}.app__brand-sep{color:var(--border)}.app__brand-sub{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.app__nav{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.app__nav-btn{border-radius:var(--radius-md);font:inherit;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 12px;font-size:13px}.app__nav-btn--active{border-color:var(--border);background:var(--surface);color:var(--text-h);font-weight:600}.app__logout-btn{border-radius:var(--radius-md);margin-left:var(--space-xs);padding:6px 12px;padding-left:var(--space-md);border:1px solid #0000;border-left:1px solid var(--border);font:inherit;color:var(--text);cursor:pointer;background:0 0;font-size:13px}.app__logout-btn:hover{color:var(--text-h)}.app__main{flex:1}@media (width<=768px){.app__header{padding:var(--space-sm) var(--space-md)}}@media (width<=480px){.app__brand-sep,.app__brand-sub{display:none}}.mock-transfer{min-height:100svh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.mock-transfer__card{text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg);max-width:420px;padding:var(--space-xxl) var(--space-xl)}.mock-transfer__badge{border-radius:var(--radius-full);background:var(--surface);color:var(--text);margin-bottom:var(--space-md);padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.mock-transfer__title{margin:0 0 var(--space-sm);color:var(--text-h);font-size:22px}.mock-transfer__text{color:var(--text);margin:0;font-size:14px;line-height:1.5}.mock-transfer__text code{font-family:var(--mono);background:var(--surface);border-radius:4px;padding:1px 4px}
