:root{--primary: #21A038;--primary-hover: #1D8F32;--primary-light: rgba(33,160,56,.08);--primary-glow: rgba(33,160,56,.2);--dark: #1A1A1A;--dark-hover: #252525;--bg: #F5F6F8;--surface: #FFFFFF;--border: #E8EAED;--border-light: #F0F1F3;--text: #1C1C1E;--text-light: #48484A;--secondary: #8E8E93;--success: #21A038;--warning: #FF9F0A;--danger: #FF453A;--info: #0A84FF;--radius: 14px;--radius-sm: 8px;--radius-xs: 6px;--radius-lg: 20px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 20px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.04);--shadow-lg: 0 8px 40px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.04);--transition: all .2s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 260px;--header-height: 64px;--font-mono: "JetBrains Mono", "Fira Code", monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;font-size:14px;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--primary-glow);color:var(--text)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}code{font-family:var(--font-mono)}.app-layout{display:flex;min-height:100vh}.main-area{flex:1;margin-left:var(--sidebar-width);transition:var(--transition)}.content{padding:28px;max-width:1440px;margin:0 auto}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,#1a1a1a,#111);color:#fff;position:fixed;top:0;left:0;bottom:0;z-index:100;display:flex;flex-direction:column;transition:var(--transition);overflow-y:auto;border-right:1px solid rgba(255,255,255,.06)}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.sidebar-logo{padding:22px 24px;font-size:18px;font-weight:700;letter-spacing:-.3px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:10px}.sidebar-nav{flex:1;padding:12px 8px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:11px 16px;color:#ffffff8c;transition:var(--transition-fast);border:none;background:none;width:100%;text-align:left;font-size:13.5px;font-weight:500;min-height:44px;border-radius:var(--radius-sm);margin-bottom:2px;letter-spacing:-.1px}.sidebar-item:hover{color:#ffffffe6;background:#ffffff12}.sidebar-item.active{color:#fff;background:var(--primary);box-shadow:0 2px 12px #21a0384d;font-weight:600}.sidebar-item svg{width:20px;height:20px;flex-shrink:0;opacity:.85}.sidebar-item.active svg{opacity:1}.header{height:var(--header-height);background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:50}.header-search{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 16px;width:320px;transition:var(--transition)}.header-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);background:var(--surface)}.header-search input{border:none;background:none;outline:none;flex:1;font-size:13.5px;color:var(--text)}.header-right{display:flex;align-items:center;gap:16px}.header-user{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,#1D8F32 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;box-shadow:0 2px 8px #21a03840}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-title{font-size:26px;font-weight:750;color:var(--dark);letter-spacing:-.5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-size:13.5px;font-weight:550;border:none;transition:var(--transition);min-height:44px;min-width:44px;white-space:nowrap;letter-spacing:-.1px;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 100%);pointer-events:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px #21a03840}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 4px 16px #21a0384d;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#e03a30;transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--bg);border-color:#d0d2d5}.btn-secondary:after{display:none}.btn-ghost{background:none;color:var(--secondary);padding:8px}.btn-ghost:after{display:none}.btn-ghost:hover{color:var(--text);background:var(--primary-light)}.btn-sm{padding:6px 12px;font-size:12.5px;min-height:34px;min-width:34px}.btn-icon{padding:8px;border-radius:var(--radius-sm)}.btn-success{background:var(--success);color:#fff;border:none}.btn-success:hover{background:#1d8f32}.btn-success:disabled{opacity:.6;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:var(--transition)}.card-body{padding:22px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);transition:var(--transition);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),#34D058);opacity:0;transition:var(--transition)}.stat-card:hover:before{opacity:1}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .stat-value{font-size:30px;font-weight:800;color:var(--dark);margin-top:8px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.stat-card .stat-label{font-size:12.5px;color:var(--secondary);font-weight:550;text-transform:uppercase;letter-spacing:.3px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:12px 16px;font-size:11.5px;font-weight:650;color:var(--secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border);background:var(--bg);white-space:nowrap}td{padding:13px 16px;font-size:13.5px;border-bottom:1px solid var(--border-light);vertical-align:middle}tr{transition:var(--transition-fast)}tr:hover td{background:var(--primary-light)}.table-actions{display:flex;gap:4px}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:100px;font-size:11.5px;font-weight:650;letter-spacing:.2px}.badge-active{background:#21a0381a;color:var(--success)}.badge-hidden{background:#ff9f0a1a;color:var(--warning)}.badge-archive{background:#ff453a1a;color:var(--danger)}.form-group{margin-bottom:18px}.form-label{display:block;font-size:12.5px;font-weight:600;color:var(--text-light);margin-bottom:6px;letter-spacing:-.1px}.form-input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13.5px;color:var(--text);background:var(--surface);transition:var(--transition);min-height:44px}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-input:disabled{background:var(--bg);color:var(--secondary);cursor:not-allowed}.form-input::placeholder{color:var(--secondary);opacity:.7}textarea.form-input{min-height:100px;resize:vertical;line-height:1.6}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238E8E93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .25s cubic-bezier(.34,1.56,.64,1)}.modal-lg{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--border)}.modal-title{font-size:18px;font-weight:700;letter-spacing:-.3px}.modal-body{padding:26px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 26px;border-top:1px solid var(--border);background:var(--bg);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:16px;flex-wrap:wrap;gap:8px}.pagination-info{font-size:12.5px;color:var(--secondary)}.pagination-buttons{display:flex;gap:4px}.filter-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.filter-bar .form-input{width:auto;min-width:160px}.search-input{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:0 14px;min-width:260px;transition:var(--transition)}.search-input input{border:none;outline:none;background:none;padding:10px 0;font-size:13.5px;flex:1;min-height:44px}.search-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.checkbox{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--border-light) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-text{height:14px;width:80%;margin-bottom:10px}.skeleton-card{height:80px;margin-bottom:10px}.tooltip-wrapper{position:relative;display:inline-flex}.tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--dark);color:#fff;padding:6px 12px;border-radius:var(--radius-xs);font-size:12px;font-weight:500;white-space:nowrap;z-index:200;pointer-events:none;animation:fadeIn .15s ease;box-shadow:0 4px 12px #0003}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d0d0d,#1a1a1a,#0d0d0d);position:relative}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,rgba(33,160,56,.08) 0%,transparent 60%),radial-gradient(circle at 70% 60%,rgba(33,160,56,.05) 0%,transparent 60%);pointer-events:none}.login-card{background:var(--surface);border-radius:var(--radius-lg);padding:44px;width:100%;max-width:400px;box-shadow:var(--shadow-lg);position:relative}.login-title{font-size:26px;font-weight:750;color:var(--dark);text-align:center;margin-bottom:6px;letter-spacing:-.5px}.login-subtitle{font-size:14px;color:var(--secondary);text-align:center;margin-bottom:36px}.image-list{display:flex;gap:8px;flex-wrap:wrap}.image-thumb{width:60px;height:60px;border-radius:var(--radius-sm);object-fit:cover;border:2px solid var(--border);transition:var(--transition)}.image-thumb:hover{border-color:var(--primary);transform:scale(1.05)}.image-thumb.main{border-color:var(--primary)}.image-thumb-sm{width:32px;height:32px;border-radius:var(--radius-xs);object-fit:cover;flex-shrink:0}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:var(--transition);box-shadow:var(--shadow)}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.product-card-image{width:100%;height:180px;object-fit:cover;background:var(--bg)}.product-card-body{padding:16px}.product-card-name{font-weight:650;font-size:15px;margin-bottom:4px}.product-card-geo{font-size:12px;color:var(--secondary);margin-bottom:8px}.product-card-price{font-weight:800;font-size:18px;color:var(--primary);letter-spacing:-.3px}.product-card-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border-light)}.empty-state{text-align:center;padding:60px 20px;color:var(--secondary)}.empty-state svg{width:48px;height:48px;margin-bottom:16px;opacity:.4}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:40px;text-align:center;color:var(--secondary);transition:var(--transition);cursor:pointer}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--primary);background:var(--primary-light)}.import-preview{max-height:400px;overflow:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.burger-btn{display:none;background:none;border:none;padding:8px;color:var(--text)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}@media (max-width: 768px){:root{--sidebar-width: 0px}.sidebar{transform:translate(-100%);width:260px}.sidebar.open{transform:translate(0)}.sidebar-overlay.show,.burger-btn{display:block}.main-area{margin-left:0}.content{padding:16px}.header-search{width:100%;max-width:none}.page-header{flex-direction:column;align-items:flex-start}.filter-bar{flex-direction:column}.filter-bar .form-input,.search-input{width:100%;min-width:auto}.form-row,.form-row-3{grid-template-columns:1fr}.modal{max-width:100%;margin:0;border-radius:0;max-height:100vh}.stats-grid{grid-template-columns:1fr 1fr}table{font-size:13px}th,td{padding:8px 10px}}@media (max-width: 480px){.stats-grid,.products-grid{grid-template-columns:1fr}}.form-input-sm{padding:4px 8px!important;font-size:12px!important;height:32px!important;min-height:32px!important}select.form-input-sm{padding-right:24px!important}.inline-edit{border-color:var(--primary)!important;box-shadow:0 0 0 2px var(--primary-glow)!important}.btn-xs{padding:2px 4px;min-height:24px;min-width:24px}.catalog-tree{padding:4px 0}.catalog-node{border-bottom:1px solid var(--border-light)}.catalog-node:last-child{border-bottom:none}.catalog-row{display:flex;align-items:center;padding:12px 18px;cursor:pointer;transition:var(--transition-fast);gap:10px}.catalog-row:hover{background:var(--primary-light)}.catalog-region{font-weight:650;font-size:14.5px}.catalog-city{padding-left:36px;font-size:13.5px}.catalog-district{padding-left:60px;font-size:13px}.catalog-toggle{flex-shrink:0;width:24px;display:flex;align-items:center;justify-content:center;color:var(--secondary);transition:var(--transition-fast)}.catalog-icon{flex-shrink:0;width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.region-icon{background:linear-gradient(135deg,#21a0381f,#21a0380f);color:var(--primary)}.city-icon{background:linear-gradient(135deg,#21a03814,#21a03808);color:var(--primary-hover)}.catalog-info{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.catalog-name{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.1px}.catalog-meta{font-size:11.5px;color:var(--secondary);font-weight:500;background:var(--bg);padding:2px 8px;border-radius:100px}.catalog-actions{display:flex;gap:2px;flex-shrink:0}.catalog-children{background:#00000002}.catalog-products{background:#00000003}.catalog-empty-products{padding:14px 18px 14px 84px;color:var(--secondary);font-size:13px;font-style:italic}.catalog-product-row{display:flex;align-items:center;padding:9px 18px 9px 84px;gap:12px;border-top:1px solid rgba(0,0,0,.03);transition:var(--transition-fast)}.catalog-product-row:hover{background:var(--primary-light)}.product-icon{flex-shrink:0;color:var(--primary);opacity:.5}.product-name-cell{flex:1;min-width:0}.product-name-text{font-weight:600;font-size:13px;cursor:pointer;padding:3px 6px;border-radius:var(--radius-xs);transition:var(--transition-fast);display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-name-text:hover{background:var(--bg)}.product-price-cell{flex-shrink:0;min-width:90px}.product-price-text{cursor:pointer;padding:3px 8px;border-radius:var(--radius-xs);font-size:13px;transition:var(--transition-fast);font-variant-numeric:tabular-nums}.product-price-text:hover{background:var(--bg)}.product-status-cell{flex-shrink:0}.toggle-btn{background:none;border:none;padding:2px;color:var(--secondary);transition:color .2s;cursor:pointer}.toggle-btn.active{color:var(--success)}.product-stock-cell{flex-shrink:0;font-size:13px;color:var(--text);display:flex;align-items:center;gap:4px;min-width:80px}.stock-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:2px 8px;background:#21a03814;color:var(--success);font-weight:700;font-size:12.5px;border-radius:100px;font-variant-numeric:tabular-nums}.stock-label{font-size:11.5px;color:var(--secondary)}.product-actions-cell{flex-shrink:0;display:flex;gap:2px}@media (max-width: 768px){.catalog-city{padding-left:18px}.catalog-district{padding-left:36px}.catalog-product-row{padding-left:50px;flex-wrap:wrap;gap:6px}.product-name-cell{flex-basis:100%}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}
