@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.login-form-label{font-weight:500;font-size:14px;color:#333;margin-bottom:6px}.login{background:#f5f8fb;height:100vh;display:flex;align-items:center;justify-content:center}.login .app-version{margin-top:16px;text-align:center;display:block}.login .ant-card{box-shadow:0 4px 12px #00000014;border-radius:12px;padding:24px;background:#fff}.login .ant-input,.login .ant-input-password{border-radius:8px}.login h1{font-size:24px;font-weight:600;color:#1890ff;text-align:center;margin-bottom:12px;letter-spacing:.5px}.login .ant-btn{background-color:#1890ff;color:#fff;border:none;width:100%;border-radius:8px}.login .ant-btn:hover{background-color:#1677cc}.ant-table{font-family:Inter,Roboto,Segoe UI,sans-serif;font-size:12px;border-radius:8px;overflow:hidden;background-color:#fff}.ant-table .ant-table-thead{background-color:#f9fafb}.ant-table .ant-table-thead>tr>th{font-weight:600;color:#666;background-color:#f9fafb;padding:10px 12px;border-bottom:1px solid #eaeaea;text-transform:uppercase;font-size:11px}.ant-table .ant-table-tbody>tr{transition:background .2s ease}.ant-table .ant-table-tbody>tr:nth-child(odd){background-color:#fcfcfc}.ant-table .ant-table-tbody>tr:hover{background-color:#f0f7ff}.ant-table .ant-table-tbody>tr>td{padding:10px 12px;color:#333;border-bottom:1px solid #f0f0f0;vertical-align:middle;white-space:nowrap}.ant-table .ant-table-cell{border-bottom:1px solid #f0f0f0}.admin-interface,.products{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}.admin-subtitle,.products__subtitle{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.admin-section-title,.products__title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-card,.products__header,.products__table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.admin-table .ant-table,.products__table-container .ant-table{font-family:var(--font-primary);font-size:14px;line-height:1.5}.admin-table .ant-table .ant-table-thead>tr>th,.products__table-container .ant-table .ant-table-thead>tr>th{background:var(--color-bg-card);border-bottom:2px solid var(--color-border-strong);font-family:var(--font-primary)!important;font-weight:700!important;font-size:12px!important;color:var(--color-text-primary)!important;text-transform:uppercase;letter-spacing:.05em;padding:16px;height:56px}.admin-table .ant-table .ant-table-tbody>tr,.products__table-container .ant-table .ant-table-tbody>tr{height:64px}.admin-table .ant-table .ant-table-tbody>tr:nth-child(2n),.products__table-container .ant-table .ant-table-tbody>tr:nth-child(2n){background:#fafbfc}.admin-table .ant-table .ant-table-tbody>tr:hover,.products__table-container .ant-table .ant-table-tbody>tr:hover{background:#f3f4f6!important;cursor:pointer}.admin-table .ant-table .ant-table-tbody>tr>td,.products__table-container .ant-table .ant-table-tbody>tr>td{padding:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:14px;line-height:1.5;vertical-align:middle}.products{padding:24px;max-width:1280px;margin:0 auto}.products__header{padding:24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.products__header-content{flex:1}.products__header-actions{display:flex;gap:12px;align-items:center}.products__header-actions .btn{height:48px;padding:0 24px;font-size:16px;font-weight:500}.products__search{width:300px}.products__search .ant-input-affix-wrapper{height:48px;border-radius:6px;font-family:var(--font-primary)}.products__subtitle{margin-top:4px}.products__table-container{padding:0;overflow:hidden}.products__table-container .products-pagination{padding:24px;border-top:1px solid var(--color-border);background:var(--color-bg-card);display:flex!important;justify-content:center!important}.products__table-container .products-pagination .ant-pagination{display:flex!important;justify-content:center!important;align-items:center}.products__table-container .products-pagination .ant-pagination .ant-pagination-total-text{font-family:var(--font-primary);color:var(--color-text-secondary);font-size:14px}.products__table-container .products-pagination .ant-pagination .ant-pagination-item,.products__table-container .products-pagination .ant-pagination .ant-pagination-prev,.products__table-container .products-pagination .ant-pagination .ant-pagination-next,.products__table-container .products-pagination .ant-pagination .ant-pagination-jump-prev,.products__table-container .products-pagination .ant-pagination .ant-pagination-jump-next,.products__table-container .products-pagination .ant-pagination .ant-pagination-options .ant-select .ant-select-selector{font-family:var(--font-primary);border-radius:6px}.products__table-container .ant-pagination{justify-content:center!important;display:flex!important}.product-table__product-name{font-weight:600;color:var(--color-text-primary);cursor:pointer;text-decoration:none}.product-table__product-name:hover{color:var(--color-primary);text-decoration:underline}.product-table__cnk{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;color:var(--color-text-secondary);font-weight:400}.product-table__category{font-weight:500;color:var(--color-text-secondary);word-wrap:break-word;word-break:break-word;white-space:pre-wrap;max-width:200px;line-height:1.4}.product-table__ean{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;color:var(--color-text-secondary);font-weight:400}.product-table__manufacturer{font-size:13px;color:var(--color-text-tertiary)}.product-table__price{font-weight:600;color:var(--color-text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.stock-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:13px;font-weight:600;text-align:center;min-width:40px}.stock-badge--in-stock{background-color:#f0f9ff;color:var(--color-success);border:1px solid #BBF7D0}.stock-badge--out-of-stock{background-color:#fef2f2;color:var(--color-error);border:1px solid #FECACA}.status-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-badge--active{background-color:#f0fdf4;color:var(--color-success);border:1px solid #BBF7D0}.status-badge--inactive{background-color:#f3f4f6;color:var(--color-text-tertiary);border:1px solid #D1D5DB}.status-badge--in-stock{background-color:#f0fdf4;color:var(--color-success);border:1px solid #BBF7D0}.status-badge--low-stock{background-color:#fffbeb;color:var(--color-warning);border:1px solid #FED7AA}.status-badge--out-of-stock{background-color:#fef2f2;color:var(--color-error);border:1px solid #FECACA}.status-badge--discontinued,.status-badge--unknown{background-color:#f3f4f6;color:var(--color-text-tertiary);border:1px solid #D1D5DB}.admin-interface,.users{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}.admin-subtitle,.users__subtitle{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.admin-section-title,.users__title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-card,.users__header,.users__table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.admin-table .ant-table,.users__table-container .ant-table{font-family:var(--font-primary);font-size:14px;line-height:1.5}.admin-table .ant-table .ant-table-thead>tr>th,.users__table-container .ant-table .ant-table-thead>tr>th{background:var(--color-bg-card);border-bottom:2px solid var(--color-border-strong);font-family:var(--font-primary)!important;font-weight:700!important;font-size:12px!important;color:var(--color-text-primary)!important;text-transform:uppercase;letter-spacing:.05em;padding:16px;height:56px}.admin-table .ant-table .ant-table-tbody>tr,.users__table-container .ant-table .ant-table-tbody>tr{height:64px}.admin-table .ant-table .ant-table-tbody>tr:nth-child(2n),.users__table-container .ant-table .ant-table-tbody>tr:nth-child(2n){background:#fafbfc}.admin-table .ant-table .ant-table-tbody>tr:hover,.users__table-container .ant-table .ant-table-tbody>tr:hover{background:#f3f4f6!important;cursor:pointer}.admin-table .ant-table .ant-table-tbody>tr>td,.users__table-container .ant-table .ant-table-tbody>tr>td{padding:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:14px;line-height:1.5;vertical-align:middle}.users{padding:24px;max-width:1280px;margin:0 auto}.users__header{padding:24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.users__header-content{flex:1}.users__header-actions{display:flex;gap:12px;align-items:center}.users__header-actions .btn{height:48px;padding:0 24px;font-size:16px;font-weight:500}.users__subtitle{margin-top:4px}.users__table-container{padding:0;overflow:hidden}.users__table-container .users-pagination{padding:24px;border-top:1px solid var(--color-border);background:var(--color-bg-card);display:flex!important;justify-content:center!important}.users__table-container .users-pagination .ant-pagination{display:flex!important;justify-content:center!important;align-items:center}.users__table-container .users-pagination .ant-pagination .ant-pagination-total-text{font-family:var(--font-primary);color:var(--color-text-secondary);font-size:14px}.users__table-container .users-pagination .ant-pagination .ant-pagination-item,.users__table-container .users-pagination .ant-pagination .ant-pagination-prev,.users__table-container .users-pagination .ant-pagination .ant-pagination-next,.users__table-container .users-pagination .ant-pagination .ant-pagination-jump-prev,.users__table-container .users-pagination .ant-pagination .ant-pagination-jump-next,.users__table-container .users-pagination .ant-pagination .ant-pagination-options .ant-select .ant-select-selector{font-family:var(--font-primary);border-radius:6px}.users__table-container .ant-pagination{justify-content:center!important;display:flex!important}.user-table__user{display:flex;flex-direction:column;gap:4px}.user-table__user-name{font-weight:600;color:var(--color-text-primary);cursor:pointer;text-decoration:none}.user-table__user-name:hover{color:var(--color-primary);text-decoration:underline}.user-table__user-email{font-size:13px;color:var(--color-text-tertiary);font-weight:400}.user-table__role{font-weight:500;color:var(--color-text-secondary)}.user-table__actions{display:flex;align-items:center;gap:8px}.admin-interface,.user-detail{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}.admin-title,.user-detail__title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-subtitle,.user-detail__subtitle{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.admin-card,.user-detail__header,.user-detail__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.user-detail{padding:24px;max-width:1400px;margin:0 auto}.user-detail__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.user-detail__loading p{color:var(--color-text-secondary);margin:16px 0}.user-detail__header{padding:24px;margin-bottom:24px;display:flex;align-items:flex-start;gap:24px}.user-detail__header .btn{height:48px;padding:0 24px;font-size:16px;font-weight:500}.user-detail__back-button{flex-shrink:0;margin-top:4px}.user-detail__title-section{flex:1}.user-detail__title{margin:0 0 4px}.user-detail__subtitle{margin:0}.user-detail__content{display:grid;grid-template-columns:1fr 2fr;gap:24px}@media (max-width: 1200px){.user-detail__content{grid-template-columns:1fr}}.user-detail__form-section{display:flex;flex-direction:column}.user-detail__card{padding:24px}.user-detail__section-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 24px;font-family:var(--font-primary)}.user-detail__form-group{margin-bottom:20px}.user-detail__form-group:last-child{margin-bottom:0}.user-detail__label{display:block;font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:6px;font-family:var(--font-primary)}.user-detail__readonly-field{padding:10px 12px;background:#f5f5f5;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;font-family:var(--font-primary);color:var(--color-text-secondary)}.user-detail__input{width:100%;font-family:var(--font-primary);font-size:14px}.user-detail__input .ant-input{border-radius:6px;border:1px solid var(--color-border);padding:10px 12px;font-family:var(--font-primary)}.user-detail__input .ant-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.user-detail__input.ant-input{border-radius:6px;border:1px solid var(--color-border);padding:10px 12px;font-family:var(--font-primary)}.user-detail__input.ant-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.user-detail__input.ant-input-password .ant-input{border:none;padding:0;box-shadow:none}.user-detail__select{width:100%;font-family:var(--font-primary)}.user-detail__select .ant-select-selector{border-radius:6px;border:1px solid var(--color-border);padding:10px 12px;font-family:var(--font-primary);height:42px}.user-detail__select .ant-select-selector:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.user-detail__select.ant-select .ant-select-selector{height:42px;padding:10px 12px;display:flex;align-items:center}.user-detail__select.ant-select .ant-select-selector .ant-select-selection-item,.user-detail__select.ant-select .ant-select-selector .ant-select-selection-placeholder{line-height:20px;height:20px;display:flex;align-items:center}.user-detail__select.ant-select .ant-select-arrow{top:50%!important;transform:translateY(-50%)!important;right:12px!important;margin-top:0!important}.user-detail .ant-form-item{margin-bottom:0}.user-detail .ant-form-item-explain-error{margin-top:4px;font-size:12px}.admin-interface,.roles{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}.admin-subtitle,.roles__subtitle{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.admin-section-title,.roles__title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-card,.roles__header,.roles__table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.admin-table .ant-table,.roles__table-container .ant-table{font-family:var(--font-primary);font-size:14px;line-height:1.5}.admin-table .ant-table .ant-table-thead>tr>th,.roles__table-container .ant-table .ant-table-thead>tr>th{background:var(--color-bg-card);border-bottom:2px solid var(--color-border-strong);font-family:var(--font-primary)!important;font-weight:700!important;font-size:12px!important;color:var(--color-text-primary)!important;text-transform:uppercase;letter-spacing:.05em;padding:16px;height:56px}.admin-table .ant-table .ant-table-tbody>tr,.roles__table-container .ant-table .ant-table-tbody>tr{height:64px}.admin-table .ant-table .ant-table-tbody>tr:nth-child(2n),.roles__table-container .ant-table .ant-table-tbody>tr:nth-child(2n){background:#fafbfc}.admin-table .ant-table .ant-table-tbody>tr:hover,.roles__table-container .ant-table .ant-table-tbody>tr:hover{background:#f3f4f6!important;cursor:pointer}.admin-table .ant-table .ant-table-tbody>tr>td,.roles__table-container .ant-table .ant-table-tbody>tr>td{padding:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:14px;line-height:1.5;vertical-align:middle}.roles{padding:24px;max-width:1280px;margin:0 auto}.roles__header{padding:24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.roles__header-content{flex:1}.roles__header-actions{display:flex;gap:12px;align-items:center}.roles__header-actions .btn{height:48px;padding:0 24px;font-size:16px;font-weight:500}.roles__subtitle{margin-top:4px}.roles__table-container{padding:0;overflow:hidden}.roles__table-container .roles-pagination{padding:24px;border-top:1px solid var(--color-border);background:var(--color-bg-card);display:flex!important;justify-content:center!important}.roles__table-container .roles-pagination .ant-pagination{display:flex!important;justify-content:center!important;align-items:center}.roles__table-container .roles-pagination .ant-pagination .ant-pagination-total-text{font-family:var(--font-primary);color:var(--color-text-secondary);font-size:14px}.roles__table-container .roles-pagination .ant-pagination .ant-pagination-item,.roles__table-container .roles-pagination .ant-pagination .ant-pagination-prev,.roles__table-container .roles-pagination .ant-pagination .ant-pagination-next,.roles__table-container .roles-pagination .ant-pagination .ant-pagination-jump-prev,.roles__table-container .roles-pagination .ant-pagination .ant-pagination-jump-next,.roles__table-container .roles-pagination .ant-pagination .ant-pagination-options .ant-select .ant-select-selector{font-family:var(--font-primary);border-radius:6px}.roles__table-container .ant-pagination{justify-content:center!important;display:flex!important}.role-table__role-name{font-weight:600;color:var(--color-text-primary);cursor:pointer;text-decoration:none;font-size:14px}.role-table__role-name:hover{color:var(--color-primary);text-decoration:underline}.role-table__role-description{font-size:13px;color:var(--color-text-tertiary);font-weight:400;margin-top:2px}.role-table__privileges{font-size:13px;color:var(--color-text-secondary)}.role-table__privileges ul{margin:0;padding-left:16px;list-style:disc;line-height:1.6}.role-table__privileges ul li{margin-bottom:4px;font-family:var(--font-primary)}.role-table__privileges .expand-btn{font-family:var(--font-primary);font-size:12px;color:var(--color-primary);padding:4px 0;height:auto;margin-top:8px;border:none;background:none}.role-table__privileges .expand-btn:hover{color:#1d4ed8;background:#2563eb0d}.admin-interface,.role-detail{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}.admin-title,.role-detail__title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-subtitle,.role-detail__subtitle{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.admin-card,.role-detail__header,.role-detail__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.role-detail{padding:24px;max-width:1400px;margin:0 auto}.role-detail__loading,.role-detail__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.role-detail__loading p,.role-detail__loading h3,.role-detail__error p,.role-detail__error h3{color:var(--color-text-secondary);margin:16px 0}.role-detail__header{padding:24px;margin-bottom:24px;display:flex;align-items:flex-start;gap:24px}.role-detail__header .btn{height:48px;padding:0 24px;font-size:16px;font-weight:500}.role-detail__back-button{flex-shrink:0;margin-top:4px}.role-detail__title-section{flex:1}.role-detail__title{margin:0 0 4px}.role-detail__subtitle{margin:0}.role-detail__content{display:grid;grid-template-columns:1fr 2fr;gap:24px}@media (max-width: 1200px){.role-detail__content{grid-template-columns:1fr}}.role-detail__form-section,.role-detail__privileges-section{display:flex;flex-direction:column}.role-detail__card{padding:24px;height:fit-content}.role-detail__section-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px;font-family:var(--font-primary)}.role-detail__section-description{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px;line-height:1.5}.role-detail__form-group{margin-bottom:20px}.role-detail__form-group:last-child{margin-bottom:0}.role-detail__label{display:block;font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:6px;font-family:var(--font-primary)}.role-detail__input{width:100%;font-family:var(--font-primary);font-size:14px}.role-detail__input .ant-input{border-radius:6px;border:1px solid var(--color-border);padding:10px 12px;font-family:var(--font-primary)}.role-detail__input .ant-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.role-detail__transfer-container{margin-bottom:20px}.role-detail__transfer .ant-transfer .ant-transfer-list{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-card)}.role-detail__transfer .ant-transfer .ant-transfer-list-header{background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);padding:12px 16px}.role-detail__transfer .ant-transfer .ant-transfer-list-header .ant-transfer-list-header-title{font-family:var(--font-primary);font-weight:600;font-size:13px;color:var(--color-text-primary)}.role-detail__transfer .ant-transfer .ant-transfer-list-search{padding:12px 16px;border-bottom:1px solid var(--color-border)}.role-detail__transfer .ant-transfer .ant-transfer-list-search .ant-input{font-family:var(--font-primary);border-radius:6px}.role-detail__transfer .ant-transfer .ant-transfer-list-content .ant-transfer-list-content-item{padding:12px 16px;border-bottom:1px solid var(--color-border)}.role-detail__transfer .ant-transfer .ant-transfer-list-content .ant-transfer-list-content-item:hover{background:var(--color-bg-subtle)}.role-detail__transfer .ant-transfer .ant-transfer-list-content .ant-transfer-list-content-item:last-child{border-bottom:none}.role-detail__transfer .ant-transfer .ant-transfer-operation{flex-direction:column;margin:0 16px}.role-detail__transfer .ant-transfer .ant-transfer-operation .ant-btn{margin:4px 0;border-radius:6px;font-family:var(--font-primary)}.role-detail__privilege-summary{padding:16px;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--color-border)}.role-detail__privilege-count{font-family:var(--font-primary);font-size:14px;color:var(--color-text-secondary)}.role-detail__privilege-count strong{color:var(--color-primary);font-weight:600}.privilege-transfer-item__title{font-family:var(--font-primary);font-weight:600;font-size:14px;color:var(--color-text-primary);margin-bottom:2px}.privilege-transfer-item__description{font-family:var(--font-primary);font-size:12px;color:var(--color-text-tertiary);line-height:1.4}.admin-interface,.wholesaler-config{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}.admin-subtitle,.wholesaler-config__subtitle{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.admin-section-title,.wholesaler-config__title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-card,.wholesaler-config__header,.wholesaler-config__table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.admin-table .ant-table,.wholesaler-config__table-container .ant-table{font-family:var(--font-primary);font-size:14px;line-height:1.5}.admin-table .ant-table .ant-table-thead>tr>th,.wholesaler-config__table-container .ant-table .ant-table-thead>tr>th{background:var(--color-bg-card);border-bottom:2px solid var(--color-border-strong);font-family:var(--font-primary)!important;font-weight:700!important;font-size:12px!important;color:var(--color-text-primary)!important;text-transform:uppercase;letter-spacing:.05em;padding:16px;height:56px}.admin-table .ant-table .ant-table-tbody>tr,.wholesaler-config__table-container .ant-table .ant-table-tbody>tr{height:64px}.admin-table .ant-table .ant-table-tbody>tr:nth-child(2n),.wholesaler-config__table-container .ant-table .ant-table-tbody>tr:nth-child(2n){background:#fafbfc}.admin-table .ant-table .ant-table-tbody>tr:hover,.wholesaler-config__table-container .ant-table .ant-table-tbody>tr:hover{background:#f3f4f6!important;cursor:pointer}.admin-table .ant-table .ant-table-tbody>tr>td,.wholesaler-config__table-container .ant-table .ant-table-tbody>tr>td{padding:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:14px;line-height:1.5;vertical-align:middle}.wholesaler-config{padding:24px;max-width:1280px;margin:0 auto}.wholesaler-config__header{padding:24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.wholesaler-config__header-content{flex:1}.wholesaler-config__header-actions{display:flex;gap:12px;align-items:center}.wholesaler-config__header-actions .btn{height:48px;padding:0 24px;font-size:16px;font-weight:500}.wholesaler-config__subtitle{margin-top:4px}.wholesaler-config__table-container{padding:0;overflow:hidden}.wholesaler-config__table-container .wholesaler-pagination{padding:24px;border-top:1px solid var(--color-border);background:var(--color-bg-card);display:flex!important;justify-content:center!important}.wholesaler-config__table-container .wholesaler-pagination .ant-pagination{display:flex!important;justify-content:center!important;align-items:center}.wholesaler-config__table-container .wholesaler-pagination .ant-pagination .ant-pagination-total-text{font-family:var(--font-primary);color:var(--color-text-secondary);font-size:14px}.wholesaler-config__table-container .wholesaler-pagination .ant-pagination .ant-pagination-item,.wholesaler-config__table-container .wholesaler-pagination .ant-pagination .ant-pagination-prev,.wholesaler-config__table-container .wholesaler-pagination .ant-pagination .ant-pagination-next,.wholesaler-config__table-container .wholesaler-pagination .ant-pagination .ant-pagination-jump-prev,.wholesaler-config__table-container .wholesaler-pagination .ant-pagination .ant-pagination-jump-next,.wholesaler-config__table-container .wholesaler-pagination .ant-pagination .ant-pagination-options .ant-select .ant-select-selector{font-family:var(--font-primary);border-radius:6px}.wholesaler-config__table-container .ant-pagination{justify-content:center!important;display:flex!important}.wholesaler-table__name{font-weight:600;color:var(--color-text-primary);cursor:pointer;text-decoration:none}.wholesaler-table__name:hover{color:var(--color-primary);text-decoration:underline}.wholesaler-table__code{font-family:Courier New,monospace;font-size:13px;font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-subtle);padding:4px 8px;border-radius:4px;display:inline-block}.wholesaler-table__endpoint{font-family:Courier New,monospace;font-size:12px;color:var(--color-text-secondary);word-break:break-all}.admin-interface{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}.admin-card,.system-diagnostics__collapse .ant-collapse-header,.system-diagnostics__collapse .ant-collapse-content .ant-collapse-content-box .ant-table-wrapper,.system-diagnostics__error{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.admin-table .ant-table,.system-diagnostics__collapse .ant-collapse-content .ant-collapse-content-box .ant-table-wrapper .ant-table{font-family:var(--font-primary);font-size:14px;line-height:1.5}.admin-table .ant-table .ant-table-thead>tr>th,.system-diagnostics__collapse .ant-collapse-content .ant-collapse-content-box .ant-table-wrapper .ant-table .ant-table-thead>tr>th{background:var(--color-bg-card);border-bottom:2px solid var(--color-border-strong);font-family:var(--font-primary)!important;font-weight:700!important;font-size:12px!important;color:var(--color-text-primary)!important;text-transform:uppercase;letter-spacing:.05em;padding:16px;height:56px}.admin-table .ant-table .ant-table-tbody>tr,.system-diagnostics__collapse .ant-collapse-content .ant-collapse-content-box .ant-table-wrapper .ant-table .ant-table-tbody>tr{height:64px}.admin-table .ant-table .ant-table-tbody>tr:nth-child(2n),.system-diagnostics__collapse .ant-collapse-content .ant-collapse-content-box .ant-table-wrapper .ant-table .ant-table-tbody>tr:nth-child(2n){background:#fafbfc}.admin-table .ant-table .ant-table-tbody>tr:hover,.system-diagnostics__collapse .ant-collapse-content .ant-collapse-content-box .ant-table-wrapper .ant-table .ant-table-tbody>tr:hover{background:#f3f4f6!important;cursor:pointer}.admin-table .ant-table .ant-table-tbody>tr>td,.system-diagnostics__collapse .ant-collapse-content .ant-collapse-content-box .ant-table-wrapper .ant-table .ant-table-tbody>tr>td{padding:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:14px;line-height:1.5;vertical-align:middle}.system-diagnostics{padding:24px}.system-diagnostics__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.system-diagnostics__header-content{flex:1}.system-diagnostics__header-actions{display:flex;gap:12px;align-items:center}.system-diagnostics__header-actions .btn{height:40px;padding:0 20px;font-size:14px;font-weight:500}.system-diagnostics__title{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.system-diagnostics__subtitle{font-size:14px;color:var(--color-text-secondary);margin:4px 0 0}.system-diagnostics__container{background:transparent;padding:0;overflow:hidden}.system-diagnostics__collapse{background:transparent}.system-diagnostics__collapse .ant-collapse-item{border:none;margin-bottom:0;background:transparent}.system-diagnostics__collapse .ant-collapse-item:not(:last-child){margin-bottom:16px}.system-diagnostics__collapse .ant-collapse-header{padding:20px 24px;border-radius:8px!important;font-weight:600;font-size:16px;background:var(--color-bg-card)!important;border:none}.system-diagnostics__collapse .ant-collapse-header .collapse-header{display:flex;align-items:center;gap:12px;color:var(--color-text-primary)}.system-diagnostics__collapse .ant-collapse-header .collapse-header .collapse-icon{font-size:18px;color:var(--color-primary)}.system-diagnostics__collapse .ant-collapse-header .collapse-header .collapse-title{font-family:var(--font-primary);font-weight:600}.system-diagnostics__collapse .ant-collapse-content{border:none;background:transparent}.system-diagnostics__collapse .ant-collapse-content .ant-collapse-content-box{padding:0;margin-top:16px;background:transparent}.system-diagnostics__collapse .ant-collapse-content .ant-collapse-content-box .ant-table-wrapper{border-radius:8px;overflow:hidden}.system-diagnostics__collapse .ant-collapse-content .ant-collapse-content-box .ant-table-wrapper .ant-pagination{background:var(--color-bg-card);padding:16px 24px;margin:0;border-top:1px solid var(--color-border);text-align:center;display:flex;justify-content:center;align-items:center}.system-diagnostics__collapse .ant-collapse-arrow{color:var(--color-primary);font-size:12px}.system-diagnostics__card .ant-card-head{background:var(--color-bg-card);border-bottom:1px solid var(--color-border)}.system-diagnostics__card .ant-card-head .ant-card-head-title{font-weight:600;color:var(--color-text-primary)}.system-diagnostics__card .ant-card-head .ant-card-head-title .anticon{margin-right:8px;color:var(--color-primary)}.system-diagnostics__card .ant-card-body{padding:20px}.system-diagnostics__descriptions{margin-bottom:20px}.system-diagnostics__descriptions .ant-descriptions-item-label{font-weight:600;color:var(--color-text-secondary)}.system-diagnostics__descriptions .ant-descriptions-item-content{color:var(--color-text-primary)}.system-diagnostics__section-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:20px 0 12px;border-bottom:1px solid var(--color-border);padding-bottom:8px}.system-diagnostics__error{padding:40px;text-align:center}.system-diagnostics__error h3{color:var(--color-error);margin-bottom:8px}.system-diagnostics__error p{color:var(--color-text-secondary);margin:0}@media (max-width: 1200px){.system-diagnostics__cards{grid-template-columns:1fr}}.admin-interface,.cf-config{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}.admin-subtitle,.cf-config__subtitle{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.admin-section-title,.cf-config__title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-card,.cf-config__header,.cf-config .config-collapse .ant-collapse-header,.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box .ant-descriptions,.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box .smtp-placeholder{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.cf-config{padding:24px;max-width:1280px;margin:0 auto}.cf-config__header{padding:24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.cf-config__header-content{flex:1}.cf-config__subtitle{margin-top:4px}.cf-config__container{background:transparent;padding:0}.cf-config .config-collapse{background:transparent}.cf-config .config-collapse .ant-collapse-item{border:none;margin-bottom:0;background:transparent}.cf-config .config-collapse .ant-collapse-item:not(:last-child){margin-bottom:16px}.cf-config .config-collapse .ant-collapse-header{padding:20px 24px;border-radius:8px!important;font-weight:600;font-size:16px;background:var(--color-bg-card)!important;border:none}.cf-config .config-collapse .ant-collapse-header .collapse-header{display:flex;align-items:center;gap:12px;color:var(--color-text-primary)}.cf-config .config-collapse .ant-collapse-header .collapse-header .collapse-icon{font-size:18px;color:var(--color-primary)}.cf-config .config-collapse .ant-collapse-header .collapse-header .collapse-title{font-family:var(--font-primary);font-weight:600}.cf-config .config-collapse .ant-collapse-content{border:none;background:transparent}.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box{padding:0;margin-top:16px;background:transparent}.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box .ant-descriptions{border-radius:8px!important;overflow:hidden}.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box .ant-descriptions .ant-descriptions-item-label{font-weight:600;color:var(--color-text-primary);background:var(--color-bg-secondary)}.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box .ant-descriptions .ant-descriptions-item-content{color:var(--color-text-secondary)}.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box .ant-descriptions .ant-descriptions-header{border-radius:8px 8px 0 0!important}.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box .ant-descriptions .ant-descriptions-view{border-radius:8px!important}.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box .smtp-placeholder{padding:40px 24px;text-align:center;border-radius:8px!important}.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box .smtp-placeholder p{color:var(--color-text-secondary);margin:8px 0;font-family:var(--font-primary)}.cf-config .config-collapse .ant-collapse-content .ant-collapse-content-box .smtp-placeholder p:first-child{font-weight:500;color:var(--color-text-primary)}.cf-config .config-collapse .ant-collapse-arrow{color:var(--color-primary);font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border)}.admin-interface,.system-settings{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}.admin-subtitle,.system-settings__subtitle{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.admin-section-title,.system-settings__title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-card,.system-settings__header,.system-settings__table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.admin-table .ant-table,.system-settings__table-container .ant-table{font-family:var(--font-primary);font-size:14px;line-height:1.5}.admin-table .ant-table .ant-table-thead>tr>th,.system-settings__table-container .ant-table .ant-table-thead>tr>th{background:var(--color-bg-card);border-bottom:2px solid var(--color-border-strong);font-family:var(--font-primary)!important;font-weight:700!important;font-size:12px!important;color:var(--color-text-primary)!important;text-transform:uppercase;letter-spacing:.05em;padding:16px;height:56px}.admin-table .ant-table .ant-table-tbody>tr,.system-settings__table-container .ant-table .ant-table-tbody>tr{height:64px}.admin-table .ant-table .ant-table-tbody>tr:nth-child(2n),.system-settings__table-container .ant-table .ant-table-tbody>tr:nth-child(2n){background:#fafbfc}.admin-table .ant-table .ant-table-tbody>tr:hover,.system-settings__table-container .ant-table .ant-table-tbody>tr:hover{background:#f3f4f6!important;cursor:pointer}.admin-table .ant-table .ant-table-tbody>tr>td,.system-settings__table-container .ant-table .ant-table-tbody>tr>td{padding:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:14px;line-height:1.5;vertical-align:middle}.system-settings{padding:24px;max-width:1280px;margin:0 auto}.system-settings__header{padding:24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.system-settings__header-content{flex:1}.system-settings__header-actions{display:flex;gap:12px;align-items:center}.system-settings__header-actions .btn{height:48px;padding:0 24px;font-size:16px;font-weight:500}.system-settings__main-header{margin-bottom:24px;padding:0 24px}.system-settings__subtitle{margin-top:4px}.system-settings__tab-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.system-settings__tab-subtitle{font-size:14px;color:var(--color-text-secondary);margin:4px 0 0}.system-settings__tabs .ant-tabs-nav{margin-bottom:0}.system-settings__tabs .ant-tabs-nav .ant-tabs-tab{font-size:16px;font-weight:500}.system-settings__tabs .ant-tabs-nav .ant-tabs-tab .anticon{margin-right:8px}.system-settings__tabs .ant-tabs-content-holder{padding:24px}.system-settings__table-container{padding:0;overflow:hidden}.system-settings__table-container .settings-pagination{padding:24px;border-top:1px solid var(--color-border);background:var(--color-bg-card);display:flex!important;justify-content:center!important}.system-settings__table-container .settings-pagination .ant-pagination{display:flex!important;justify-content:center!important;align-items:center}.system-settings__table-container .settings-pagination .ant-pagination .ant-pagination-total-text{font-family:var(--font-primary);color:var(--color-text-secondary);font-size:14px}.system-settings__table-container .settings-pagination .ant-pagination .ant-pagination-item,.system-settings__table-container .settings-pagination .ant-pagination .ant-pagination-prev,.system-settings__table-container .settings-pagination .ant-pagination .ant-pagination-next,.system-settings__table-container .settings-pagination .ant-pagination .ant-pagination-jump-prev,.system-settings__table-container .settings-pagination .ant-pagination .ant-pagination-jump-next,.system-settings__table-container .settings-pagination .ant-pagination .ant-pagination-options .ant-select .ant-select-selector{font-family:var(--font-primary);border-radius:6px}.system-settings__table-container .ant-pagination{justify-content:center!important;display:flex!important}.system-settings__setting{display:flex;flex-direction:column;gap:4px}.system-settings__setting-name{font-weight:600;color:var(--color-text-primary);font-size:14px}.system-settings__setting-description{font-size:13px;color:var(--color-text-tertiary);font-weight:400}.system-settings__category{font-size:13px;color:var(--color-text-secondary);font-weight:500}.system-settings__key{font-family:Courier New,monospace;font-size:12px;background:var(--color-bg-subtle);padding:4px 6px;border-radius:4px;color:var(--color-text-secondary);border:1px solid var(--color-border)}.system-settings__readonly-value{font-size:14px;color:var(--color-text-secondary);font-style:italic}.system-settings__number-input,.system-settings__text-input{font-family:var(--font-primary);font-size:14px;padding:6px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-card);color:var(--color-text-primary);width:100%;max-width:200px}.system-settings__number-input:focus,.system-settings__text-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.system-settings__number-input{max-width:100px}.admin-interface,.qls{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}.admin-subtitle,.qls__subtitle{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.admin-section-title,.qls__title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-card,.qls__header,.qls__table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.admin-table .ant-table,.qls__table-container .ant-table{font-family:var(--font-primary);font-size:14px;line-height:1.5}.admin-table .ant-table .ant-table-thead>tr>th,.qls__table-container .ant-table .ant-table-thead>tr>th{background:var(--color-bg-card);border-bottom:2px solid var(--color-border-strong);font-family:var(--font-primary)!important;font-weight:700!important;font-size:12px!important;color:var(--color-text-primary)!important;text-transform:uppercase;letter-spacing:.05em;padding:16px;height:56px}.admin-table .ant-table .ant-table-tbody>tr,.qls__table-container .ant-table .ant-table-tbody>tr{height:64px}.admin-table .ant-table .ant-table-tbody>tr:nth-child(2n),.qls__table-container .ant-table .ant-table-tbody>tr:nth-child(2n){background:#fafbfc}.admin-table .ant-table .ant-table-tbody>tr:hover,.qls__table-container .ant-table .ant-table-tbody>tr:hover{background:#f3f4f6!important;cursor:pointer}.admin-table .ant-table .ant-table-tbody>tr>td,.qls__table-container .ant-table .ant-table-tbody>tr>td{padding:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:14px;line-height:1.5;vertical-align:middle}.qls{padding:24px;max-width:1280px;margin:0 auto}.qls__header{padding:24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.qls__header-content{flex:1}.qls__subtitle{margin-top:4px}.qls__table-container{padding:0;overflow:hidden}.qls__table-container .qls-pagination{padding:24px;border-top:1px solid var(--color-border);background:var(--color-bg-card);display:flex!important;justify-content:center!important}.qls__table-container .qls-pagination .ant-pagination{display:flex!important;justify-content:center!important;align-items:center}.qls__table-container .qls-pagination .ant-pagination .ant-pagination-total-text{font-family:var(--font-primary);color:var(--color-text-secondary);font-size:14px}.qls__table-container .qls-pagination .ant-pagination .ant-pagination-item,.qls__table-container .qls-pagination .ant-pagination .ant-pagination-prev,.qls__table-container .qls-pagination .ant-pagination .ant-pagination-next,.qls__table-container .qls-pagination .ant-pagination .ant-pagination-jump-prev,.qls__table-container .qls-pagination .ant-pagination .ant-pagination-jump-next,.qls__table-container .qls-pagination .ant-pagination .ant-pagination-options .ant-select .ant-select-selector{font-family:var(--font-primary);border-radius:6px}.qls__table-container .ant-pagination{justify-content:center!important;display:flex!important}.qls-table__product{font-weight:600;color:var(--color-text-primary);cursor:pointer;text-decoration:none}.qls-table__product:hover{color:var(--color-primary);text-decoration:underline}.qls-table__combination{font-weight:500;color:var(--color-text-secondary)}.qls-table__combination:hover{color:var(--color-primary)}.qls-table__mapping{font-weight:600;color:var(--color-text-primary);font-family:Monaco,Menlo,Consolas,monospace;font-size:14px;letter-spacing:.5px}.qls-table__country{font-weight:400;color:var(--color-text-secondary)}:root{--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-text-primary: #111827;--color-text-secondary: #4B5563;--color-text-tertiary: #6B7280;--color-bg-subtle: #F9FAFB;--color-bg-card: #FFFFFF;--color-border: #E5E7EB;--color-border-strong: #D1D5DB;--color-primary: #2563EB;--color-success: #059669;--color-warning: #D97706;--color-error: #DC2626}.admin-interface,.admin-layout{font-family:var(--font-primary);background:var(--color-bg-subtle);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);color:var(--color-text-primary);margin:0;line-height:1.25}.admin-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-subtitle{font-size:14px;font-weight:400;color:var(--color-text-secondary);line-height:1.5}.admin-section-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.admin-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px 2px #0000000d}.admin-table .ant-table{font-family:var(--font-primary);font-size:14px;line-height:1.5}.admin-table .ant-table .ant-table-thead>tr>th{background:var(--color-bg-card);border-bottom:2px solid var(--color-border-strong);font-family:var(--font-primary)!important;font-weight:700!important;font-size:12px!important;color:var(--color-text-primary)!important;text-transform:uppercase;letter-spacing:.05em;padding:16px;height:56px}.admin-table .ant-table .ant-table-tbody>tr{height:64px}.admin-table .ant-table .ant-table-tbody>tr:nth-child(2n){background:#fafbfc}.admin-table .ant-table .ant-table-tbody>tr:hover{background:#f3f4f6!important;cursor:pointer}.admin-table .ant-table .ant-table-tbody>tr>td{padding:16px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:14px;line-height:1.5;vertical-align:middle}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-family:var(--font-primary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border:1px solid transparent}.status-badge--active{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.status-badge--inactive{background:#fef3c7;color:#92400e;border-color:#fde68a}.btn{font-family:var(--font-primary);font-size:14px;font-weight:500;border-radius:6px;padding:0 16px;height:40px;line-height:1;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn--primary:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.btn--primary:disabled{opacity:.5;cursor:not-allowed;background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn--secondary{background:var(--color-bg-card);color:var(--color-text-secondary);border-color:var(--color-border)}.btn--secondary:hover{color:var(--color-text-primary);border-color:var(--color-border-strong);background:#f9fafb}.btn--secondary:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-card);color:var(--color-text-secondary);border-color:var(--color-border)}.btn--danger{background:var(--color-bg-card);color:var(--color-error);border-color:var(--color-border)}.btn--danger:hover{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.btn--danger:disabled{opacity:.5;cursor:not-allowed}.btn--link{background:transparent;color:var(--color-primary);border:none;height:auto;padding:8px}.btn--link:hover{color:#1d4ed8;background:#2563eb0d;text-decoration:underline}.action-toolbar{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:6px;padding:16px;margin-bottom:16px;display:flex;align-items:center;gap:12px}.action-toolbar__info{font-size:14px;color:var(--color-text-secondary);margin-right:auto}.action-toolbar__actions{display:flex;gap:8px}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:280px;background:var(--color-bg-card);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:relative;height:100vh;flex-shrink:0}.admin-sidebar__header{padding:24px 20px;border-bottom:1px solid var(--color-border);background:var(--color-bg-card)}.admin-sidebar__title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0;font-family:var(--font-primary)}.admin-sidebar__subtitle{font-size:13px;color:var(--color-text-secondary);margin:4px 0 0;font-family:var(--font-primary)}.admin-sidebar__nav{flex:1;padding:16px 0;overflow-y:auto}.admin-sidebar__section{margin-bottom:24px}.admin-sidebar__section:last-child{margin-bottom:0}.admin-sidebar__section-title{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px 20px;font-family:var(--font-primary)}.admin-sidebar__nav-item{display:flex;align-items:center;padding:12px 20px;color:var(--color-text-secondary);text-decoration:none;font-family:var(--font-primary);font-size:14px;font-weight:500;border:none;background:none;width:100%;cursor:pointer;transition:all .15s ease}.admin-sidebar__nav-item:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.admin-sidebar__nav-item--active{background:#2563eb14;color:var(--color-primary);border-right:3px solid var(--color-primary);font-weight:600}.admin-sidebar__nav-item--active:hover{background:#2563eb1f;color:var(--color-primary)}.admin-sidebar__nav-item--active .admin-sidebar__nav-icon{color:var(--color-primary)}.admin-sidebar__nav-icon{width:20px;height:20px;margin-right:12px;color:var(--color-text-tertiary);transition:color .15s ease}.admin-sidebar__nav-text{flex:1}.admin-sidebar__footer{padding:20px;border-top:1px solid var(--color-border);background:var(--color-bg-card)}.admin-content{flex:1;background:var(--color-bg-subtle);min-height:100vh}.admin-content__container{max-width:1400px;margin:0 auto;padding:0}@media (max-width: 768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;height:auto}.admin-content{margin-left:0}}.integration-container{padding:0}.integration-tabs .ant-tabs-tab{font-weight:500;font-size:16px}.integration-tabs .ant-tabs-content-holder{padding-top:0}.cf-sla-overview .ant-card-head{border-bottom:1px solid #e5e7eb}.cf-sla-overview .ant-card-head .ant-card-head-title{font-size:18px;font-weight:600;color:#1f2937}.cf-sla-overview .ant-table .ant-table-thead>tr>th{background-color:#f9fafb;color:#374151;font-weight:600;border-bottom:1px solid #e5e7eb}.cf-sla-overview .ant-table .ant-table-tbody>tr>td{border-bottom:1px solid #f3f4f6}.cf-sla-overview .ant-table .ant-table-tbody>tr:hover>td{background-color:#f8fafc}.cf-sla-overview .status-active{color:#059669;font-weight:500}.cf-sla-overview .status-inactive{color:#dc2626;font-weight:500}.ant-pagination{margin-top:16px;text-align:right}:root{--menu-bg-color: #1f2937;--menu-border-color: #4b5563}html,body,#root{margin:0;padding:0;height:100%;width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:#111827;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*:focus{outline:2px solid #2563eb!important;outline-offset:2px!important}.skip-link{position:absolute;top:-40px;left:6px;background:#2563eb;color:#fff;padding:8px;z-index:9999;text-decoration:none;border-radius:4px;font-size:16px;font-weight:600}.skip-link:focus{top:6px}.ant-switch,.ant-switch-handle,.ant-tag,.ant-badge,.ant-progress,.ant-statistic,.ant-pagination *,.ant-pagination .ant-pagination-item,.ant-pagination .ant-pagination-prev,.ant-pagination .ant-pagination-next,.ant-pagination .ant-pagination-jump-prev,.ant-pagination .ant-pagination-jump-next{min-height:auto!important;min-width:auto!important}@media (prefers-contrast: high){*{border-color:#000!important}.ant-card{border:2px solid #000000!important}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#vh-content{height:calc(100vh - 64px);overflow-y:auto!important;overflow-x:hidden}#vh-content::-webkit-scrollbar{width:6px}#vh-content::-webkit-scrollbar-track{background:#f1f1f1}#vh-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}#vh-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.vi-sider{background:var(--menu-bg-color)!important;border-right:1px solid var(--menu-border-color);height:100vh;box-shadow:2px 0 8px #00000026}.vi-sider .vi-sider-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 16px;border-bottom:1px solid var(--menu-border-color);background:var(--menu-bg-color)}.vi-sider .vi-sider-header .vi-title{color:#fff!important;margin:0;font-size:18px;font-weight:600;letter-spacing:.025em;line-height:1.5}.vi-sider .vi-sider-header .toggle-btn{font-size:16px;cursor:pointer;color:#fff!important;padding:4px;border-radius:4px;transition:background-color .2s}.vi-sider .vi-sider-header .toggle-btn:hover{background-color:#ffffff1a}.vi-sider .vi-menu{background:transparent!important;border:none}.vi-sider .vi-menu.ant-menu-dark{background:transparent!important}.vi-sider .vi-menu .ant-menu-item{margin:4px 12px;border-radius:8px;transition:all .2s ease;color:#f9fafb!important;font-weight:500;height:44px;line-height:44px;font-size:16px}.vi-sider .vi-menu .ant-menu-item:hover{background-color:#ffffff26!important;color:#fff!important}.vi-sider .vi-menu .ant-menu-item.ant-menu-item-selected{background-color:#2563eb!important;color:#fff!important;font-weight:600}.vi-sider .vi-menu .ant-menu-item .anticon,.vi-sider .vi-menu .ant-menu-item .lucide-icon{font-size:16px;margin-right:12px;color:inherit!important;flex-shrink:0}.vi-sider .vi-menu .ant-menu-item .ant-menu-title-content{display:flex;align-items:center;justify-content:space-between;width:100%}.vi-sider .vi-menu .ant-menu-item .ant-menu-title-content .menu-item-left{display:flex;align-items:center}.vi-sider .vi-menu .ant-menu-item .ant-menu-title-content .menu-item-left .anticon,.vi-sider .vi-menu .ant-menu-item .ant-menu-title-content .menu-item-left .lucide-icon{margin-right:12px;flex-shrink:0}.vi-sider .vi-menu .ant-menu-item a{color:inherit!important;text-decoration:none;display:flex;align-items:center;width:100%}.vi-sider .vi-menu .ant-menu-item .ant-badge{margin-left:auto}.vi-sider .vi-menu .ant-menu-item .ant-badge .ant-badge-count{background:#ef4444;border:none;font-size:10px;font-weight:700;min-width:16px;height:16px;line-height:16px;padding:0;border-radius:8px;box-shadow:0 0 0 1px #1f2937}.vi-sider .vi-menu .ant-menu-submenu .ant-menu-submenu-title{color:#f9fafb!important;font-weight:500;height:44px;line-height:44px;margin:4px 12px;border-radius:8px;padding-left:16px!important;font-size:16px}.vi-sider .vi-menu .ant-menu-submenu .ant-menu-submenu-title:hover{background-color:#ffffff26!important;color:#fff!important}.vi-sider .vi-menu .ant-menu-submenu .ant-menu-submenu-title .anticon,.vi-sider .vi-menu .ant-menu-submenu .ant-menu-submenu-title .lucide-icon{color:inherit!important;margin-right:12px;flex-shrink:0}.vi-sider .vi-menu .ant-menu-submenu .ant-menu-submenu-title .ant-menu-submenu-arrow{color:inherit!important;right:16px}.vi-sider .vi-menu .ant-menu-submenu .ant-menu-sub{background:transparent!important}.vi-sider .vi-menu .ant-menu-submenu .ant-menu-sub .ant-menu-item{padding-left:48px!important;color:#ffffffbf!important;font-size:13px;height:36px;line-height:36px}.vi-sider .vi-menu .ant-menu-submenu .ant-menu-sub .ant-menu-item:hover{color:#fff!important}.vi-sider .vi-menu .ant-menu-submenu .ant-menu-sub .ant-menu-item.ant-menu-item-selected{background-color:#1890ffcc!important}.vi-sider.ant-layout-sider-collapsed .vi-sider-header{padding:16px 8px;justify-content:center}.vi-sider.ant-layout-sider-collapsed .vi-sider-header .vi-title{display:none}.vi-sider.ant-layout-sider-collapsed .vi-sider-header .toggle-btn{margin:0}.vi-sider.ant-layout-sider-collapsed .vi-menu .ant-menu-item{margin:4px 8px;padding:0!important;text-align:center}.vi-sider.ant-layout-sider-collapsed .vi-menu .ant-menu-item .anticon,.vi-sider.ant-layout-sider-collapsed .vi-menu .ant-menu-item .lucide-icon{margin-right:0!important;font-size:18px}.vi-sider.ant-layout-sider-collapsed .vi-menu .ant-menu-item a{position:relative}.vi-sider.ant-layout-sider-collapsed .vi-menu .ant-menu-item a .ant-badge{position:absolute;top:4px;right:4px}.vi-sider.ant-layout-sider-collapsed .vi-menu .ant-menu-item a .ant-badge .ant-badge-count{transform:scale(.7);min-width:12px;height:12px;line-height:12px;font-size:8px}.vi-sider.ant-layout-sider-collapsed .vi-menu .ant-menu-submenu .ant-menu-submenu-title{margin:4px 8px;padding:0!important;text-align:center}.vi-sider.ant-layout-sider-collapsed .vi-menu .ant-menu-submenu .ant-menu-submenu-title .anticon{margin:0!important;font-size:18px}.vi-sider.ant-layout-sider-collapsed .vi-menu .ant-menu-submenu .ant-menu-submenu-title .ant-menu-submenu-arrow{display:none}.dashboard-container .ant-card,.batch-management-container .ant-card{border-radius:8px;border:1px solid #e5e7eb;background:#fff;box-shadow:none}.dashboard-container .ant-card.ant-card-hoverable:hover,.batch-management-container .ant-card.ant-card-hoverable:hover{box-shadow:none;border-color:#e5e7eb}.dashboard-container .ant-card .ant-card-head,.batch-management-container .ant-card .ant-card-head{border-bottom:1px solid #f3f4f6;padding:16px 20px;background:#fff;border-radius:8px 8px 0 0}.dashboard-container .ant-card .ant-card-head .ant-card-head-title,.batch-management-container .ant-card .ant-card-head .ant-card-head-title{font-size:18px;font-weight:600;color:#111827;line-height:1.5}.dashboard-container .ant-card .ant-card-body,.batch-management-container .ant-card .ant-card-body{padding:20px}.dashboard-container .ant-table-wrapper .ant-table,.batch-management-container .ant-table-wrapper .ant-table{font-size:16px;line-height:1.5}.dashboard-container .ant-table-wrapper .ant-table .ant-table-thead>tr>th,.batch-management-container .ant-table-wrapper .ant-table .ant-table-thead>tr>th{background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:600;color:#111827;padding:14px 16px;font-size:16px;line-height:1.5}.dashboard-container .ant-table-wrapper .ant-table .ant-table-thead>tr>th.ant-table-column-sort,.batch-management-container .ant-table-wrapper .ant-table .ant-table-thead>tr>th.ant-table-column-sort{background:#f9fafb}.dashboard-container .ant-table-wrapper .ant-table .ant-table-tbody>tr>td,.batch-management-container .ant-table-wrapper .ant-table .ant-table-tbody>tr>td{padding:14px 16px;border-bottom:1px solid #f3f4f6;color:#111827;font-size:16px;line-height:1.5}.dashboard-container .ant-table-wrapper .ant-table .ant-table-tbody>tr:last-child>td,.batch-management-container .ant-table-wrapper .ant-table .ant-table-tbody>tr:last-child>td{border-bottom:none}.dashboard-container .ant-table-wrapper .ant-table-container .ant-table-content,.batch-management-container .ant-table-wrapper .ant-table-container .ant-table-content{overflow:visible}.ant-tag{border-radius:6px;font-weight:600;padding:6px 12px;border:none;font-size:14px;line-height:1.5}.ant-tag.ant-tag-green{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.ant-tag.ant-tag-blue{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.ant-tag.ant-tag-orange{background:#fed7aa;color:#9a3412;border:1px solid #fdba74}.ant-tag.ant-tag-red{background:#fecaca;color:#991b1b;border:1px solid #f87171}.ant-progress .ant-progress-bg{border-radius:4px}.ant-progress .ant-progress-success-bg{background:#52c41a}.ant-btn{border-radius:6px;font-weight:500;box-shadow:none;font-size:14px;padding:4px 15px;height:32px}.ant-btn.ant-btn-sm{font-size:12px;padding:0 7px;height:24px}.ant-btn.ant-btn-primary{background:#2563eb;border:none;color:#fff}.ant-btn.ant-btn-primary:hover{background:#1d4ed8;box-shadow:none;color:#fff}.ant-btn.ant-btn-primary:focus{background:#1d4ed8;box-shadow:0 0 0 2px #93c5fd;outline:2px solid transparent;color:#fff}.ant-btn.ant-btn-primary:active{background:#1e40af;color:#fff}.ant-btn.ant-btn-sm{padding:6px 12px;font-size:14px;min-height:36px}.ant-btn:focus{box-shadow:0 0 0 2px #93c5fd;outline:2px solid transparent}.ant-switch{min-height:auto!important;min-width:auto!important}.ant-statistic .ant-statistic-title{font-size:14px;color:#8c8c8c;font-weight:500;margin-bottom:8px}.ant-statistic .ant-statistic-content{font-size:28px;font-weight:700;color:#262626}.ant-statistic .ant-statistic-content .ant-statistic-content-value{line-height:1.2}.ant-statistic .ant-statistic-content .ant-statistic-content-prefix,.ant-statistic .ant-statistic-content .ant-statistic-content-suffix{font-size:20px}.filter-section .ant-card-body{padding:20px 24px}.filter-section .ant-select .ant-select-selector{border-radius:6px;border:1px solid #d9d9d9}.filter-section .ant-select .ant-select-selector:hover{border-color:#40a9ff}.filter-section .ant-input{border-radius:6px;border:1px solid #d9d9d9}.filter-section .ant-input:hover,.filter-section .ant-input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff1a}.ant-badge .ant-badge-count{font-weight:600;border-radius:10px;min-width:20px;height:20px;line-height:18px;font-size:12px}.dashboard-container{background:linear-gradient(180deg,#fafbfc,#f6f8fa);min-height:100vh;position:relative}.dashboard-container .dashboard-counter{font-size:32px;font-weight:700;line-height:1;transition:all .4s cubic-bezier(.25,.46,.45,.94);background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-container .recharts-wrapper .recharts-cartesian-grid-horizontal line,.dashboard-container .recharts-wrapper .recharts-cartesian-grid-vertical line{stroke:#f0f0f0}.dashboard-container .recharts-wrapper .recharts-tooltip-wrapper .recharts-default-tooltip{background:#fffffff5;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 4px 12px #00000026}.dashboard-container .machine-status-card .ant-card-body{padding:20px;height:343px;overflow:hidden}.dashboard-container .machine-status-card .loading-container{display:flex;flex-direction:column;justify-content:center;alignItems:center;height:100%}.dashboard-container .machine-status-card .machine-status-content{height:100%;display:flex;flex-direction:column}.dashboard-container .machine-status-card .status-chart-container{position:relative;height:180px;margin-bottom:16px}.dashboard-container .machine-status-card .status-chart-container .chart-center-info{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.dashboard-container .machine-status-card .status-chart-container .chart-center-info .total-machines{font-size:24px;font-weight:700;line-height:1;margin-bottom:4px}.dashboard-container .machine-status-card .machine-list{flex:1;overflow-y:auto;margin-bottom:12px}.dashboard-container .machine-status-card .machine-list::-webkit-scrollbar{width:4px}.dashboard-container .machine-status-card .machine-list::-webkit-scrollbar-track{background:#f5f5f5;border-radius:2px}.dashboard-container .machine-status-card .machine-list::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:2px}.dashboard-container .machine-status-card .machine-list::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.dashboard-container .machine-status-card .machine-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:12px;margin-bottom:8px;transition:all .2s ease}.dashboard-container .machine-status-card .machine-item:hover{background:#f5f5f5;border-color:#e6f7ff;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.dashboard-container .machine-status-card .machine-item:last-child{margin-bottom:0}.dashboard-container .machine-status-card .machine-item .machine-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.dashboard-container .machine-status-card .machine-item .machine-status-indicator{display:flex;align-items:center;gap:8px;flex:1}.dashboard-container .machine-status-card .machine-item .machine-status-indicator .status-dot{width:10px;height:10px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #0000001a;animation:pulse 2s infinite}.dashboard-container .machine-status-card .machine-item .machine-status-indicator .status-dot.running{animation:pulse-green 2s infinite}.dashboard-container .machine-status-card .machine-item .machine-status-indicator .status-dot.error,.dashboard-container .machine-status-card .machine-item .machine-status-indicator .status-dot.blocked{animation:pulse-red 2s infinite}.dashboard-container .machine-status-card .machine-item .machine-status-indicator .machine-name{font-size:13px;color:#262626;line-height:1.2}.dashboard-container .machine-status-card .machine-item .machine-metrics{display:flex;flex-direction:column;gap:4px;text-align:right}.dashboard-container .machine-status-card .machine-item .machine-metrics .metric{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.dashboard-container .machine-status-card .machine-item .current-batch{margin-top:6px}.dashboard-container .machine-status-card .machine-item .current-batch .ant-tag{margin:0;font-size:10px;padding:2px 6px;border-radius:4px}.dashboard-container .machine-status-card .machine-item .machine-alert{display:flex;align-items:center;gap:4px;margin-top:6px;padding:4px 6px;background:#ff4d4f0d;border-radius:4px;border-left:2px solid #f5222d}.dashboard-container .machine-status-card .machine-actions{padding-top:8px;border-top:1px solid #f0f0f0;text-align:center}@keyframes pulse{0%{box-shadow:0 0 0 1px #0000001a,0 0 0 0 currentColor}70%{box-shadow:0 0 0 1px #0000001a,0 0 0 4px transparent}to{box-shadow:0 0 0 1px #0000001a,0 0 0 0 transparent}}@keyframes pulse-green{0%{box-shadow:0 0 0 1px #0000001a,0 0 #52c41a66}70%{box-shadow:0 0 0 1px #0000001a,0 0 0 4px #52c41a66}to{box-shadow:0 0 0 1px #0000001a,0 0 0 0 transparent}}@keyframes pulse-red{0%{box-shadow:0 0 0 1px #0000001a,0 0 #f5222d66}70%{box-shadow:0 0 0 1px #0000001a,0 0 0 4px #f5222d66}to{box-shadow:0 0 0 1px #0000001a,0 0 0 0 transparent}}.batch-management-container{background:#fafbfc}@media (max-width: 768px){.dashboard-container,.batch-management-container,.dashboard-container .ant-card .ant-card-body,.batch-management-container .ant-card .ant-card-body{padding:16px!important}.dashboard-container .ant-table-wrapper .ant-table-content,.batch-management-container .ant-table-wrapper .ant-table-content{overflow-x:auto}.dashboard-container .ant-statistic .ant-statistic-content,.batch-management-container .ant-statistic .ant-statistic-content{font-size:24px}}
