*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f172a;--bg-card:#1e293b;--bg-surface:#1a2332;--bg-deep:#0c1222;--primary:#3b82f6;--primary-hover:#2563eb;--accent:#f59e0b;--danger:#ef4444;--text:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#334155;--success:#22c55e;--warning:#f59e0b;--radius:12px;--radius-sm:8px}[data-brand=avtoreal]{--bg:#0a0a0a;--bg-card:#1a1a1a;--bg-surface:#141414;--bg-deep:#050505;--primary:#ff4d00;--primary-hover:#e04400;--border:#2a2a2a;--text:#f5f5f5;--text-secondary:#a0a0a0;--text-muted:#666}html,body{height:100%;overflow-x:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}#root{min-height:100vh}.app{max-width:480px;min-height:100vh;margin:0 auto;padding-bottom:40px;position:relative}.app:before,.app:after{content:"";pointer-events:none;z-index:0;border-radius:50%;position:fixed}.app:before{background:radial-gradient(circle,#3b82f61f 0%,#0000 70%);width:55%;height:55%;top:-15%;left:-25%}.app:after{background:radial-gradient(circle,#8b5cf614 0%,#0000 70%);width:55%;height:55%;bottom:-15%;right:-25%}.loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.screen{z-index:1;padding:16px;animation:.2s fadeIn;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.city-screen{flex-direction:column;justify-content:center;align-items:center;gap:40px;min-height:100vh;display:flex}.logo{text-align:center}.logo-icon{-webkit-backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 16px;font-size:40px;display:flex;box-shadow:0 8px 32px #0003}.logo h1{letter-spacing:2px;font-size:28px;font-weight:700}.subtitle{color:var(--text-secondary);margin-top:4px;font-size:14px}.city-list{width:100%;max-width:320px}.label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;text-align:center;margin-bottom:12px;font-size:13px}.city-btn{-webkit-backdrop-filter:blur(12px)saturate(150%);border-radius:var(--radius);width:100%;color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;align-items:center;gap:12px;margin-bottom:10px;padding:16px 20px;font-family:inherit;font-size:16px;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:flex;transform:translateZ(0)}.city-btn:hover{background:#ffffff14;border-color:#3b82f64d;transform:translateY(-1px)translateZ(0);box-shadow:0 4px 20px #3b82f61f}.city-btn:active{background:#ffffff0f;transform:translateY(0)translateZ(0)}.city-icon{font-size:20px}.menu-screen{padding-top:24px}.menu-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.menu-header h2{letter-spacing:1px;font-size:22px;font-weight:700}.city-tag{-webkit-backdrop-filter:blur(8px);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:8px 14px;font-family:inherit;font-size:13px;transition:background .15s,border-color .15s,color .15s}.city-tag:hover{color:var(--text);background:#ffffff14;border-color:#3b82f64d}.menu-cards{flex-direction:column;gap:16px;display:flex}.menu-card{-webkit-backdrop-filter:blur(16px)saturate(150%);cursor:pointer;color:var(--text);text-align:left;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;align-items:flex-start;gap:8px;padding:32px 24px;font-family:inherit;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.menu-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 10%,#ffffff1f 50%,#0000 90%);height:1px;position:absolute;top:0;left:0;right:0}.menu-card:hover{transform:translateY(-2px)translateZ(0)}.wheels-card{background:#3b82f60f;border-color:#3b82f61f;box-shadow:0 4px 24px #3b82f60f}.wheels-card:hover{background:#3b82f61a;border-color:#3b82f640;box-shadow:0 8px 32px #3b82f626}.tires-card{background:#a855f70f;border-color:#a855f71f;box-shadow:0 4px 24px #a855f70f}.tires-card:hover{background:#a855f71a;border-color:#a855f740;box-shadow:0 8px 32px #a855f726}.menu-card-icon{font-size:36px}.menu-card-title{font-size:22px;font-weight:700}.menu-card-desc{color:var(--text-secondary);font-size:14px}.catalog-header{background:var(--bg);z-index:10;align-items:center;gap:12px;margin-bottom:16px;padding:8px 0;display:flex;position:sticky;top:0}.back-btn{color:var(--primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;min-height:44px;margin:-10px -12px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s;display:flex}.back-btn:hover{background:var(--bg-surface)}.back-btn:active{background:var(--bg-card)}.catalog-header h2{font-size:20px;font-weight:600}.filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.filter-select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:100px;color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;flex:1;padding:10px 28px 10px 12px;font-family:inherit;font-size:13px}.filter-select:focus{border-color:var(--primary);outline:none}.filter-select option{background:var(--bg-card);color:var(--text);padding:8px}.filter-reset{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);width:40px;color:var(--text-muted);cursor:pointer;font-size:14px;transition:all .15s}.filter-reset:hover{border-color:var(--danger);color:var(--danger)}.products-count{color:var(--text-muted);font-size:13px}.products-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sort-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:6px 12px;font-family:inherit;font-size:12px;transition:color .15s,border-color .15s,background .15s}.sort-btn:hover{border-color:var(--primary);color:var(--text-secondary)}.sort-btn.sort-active{color:var(--primary);background:#3b82f61a;border-color:#3b82f64d}.product-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.product-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:inherit;text-align:left;flex-direction:column;width:100%;padding:0;font-family:inherit;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.product-card.order-only{opacity:.75}.product-img{aspect-ratio:1;background:var(--bg-deep);position:relative;overflow:hidden}.product-img img{object-fit:cover;width:100%;height:100%;animation:.3s imgReveal}@keyframes imgReveal{0%{opacity:0}to{opacity:1}}.badge-stock,.badge-order{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:600;position:absolute;top:8px;left:8px}.badge-stock{color:#fff;background:#22c55ee6}.badge-order{color:#fff;background:#f59e0be6}.product-info{padding:10px}.product-brand{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:12px}.product-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:12px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.product-bottom{justify-content:space-between;align-items:center;display:flex}.product-price{color:var(--accent);font-size:15px;font-weight:700}.product-qty{color:var(--text-muted);font-size:12px}.product-card-wrap{position:relative}.fav-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;z-index:2;background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:transform .15s,color .15s;display:flex;position:absolute;top:6px;right:6px}.fav-btn:active{transform:scale(1.2)}.fav-btn.fav-active{color:#ef4444}.btn-fav-detail{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);width:52px;min-width:52px;height:52px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;font-size:22px;transition:color .15s,border-color .15s;display:flex}.btn-fav-detail.fav-active{color:#ef4444;border-color:#ef44444d}.product-actions{gap:10px;display:flex}.product-actions .btn-order{flex:1}.fav-card{background:#ef44440f;border-color:#ef44441f;box-shadow:0 4px 24px #ef44440f}.fav-card:hover{background:#ef44441a;border-color:#ef444440;box-shadow:0 8px 32px #ef444426}.product-detail{animation:.2s fadeIn}.product-detail-img{border-radius:var(--radius);background:var(--bg-deep);margin-bottom:20px;position:relative;overflow:hidden}.product-detail-img img{aspect-ratio:1;object-fit:cover;width:100%}.product-detail-img .badge-stock,.product-detail-img .badge-order{padding:5px 12px;font-size:12px;top:12px;left:12px}.product-detail-info{padding:0 4px}.product-detail-brand{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:12px}.product-detail-name{margin-bottom:20px;font-size:18px;font-weight:600;line-height:1.3}.specs-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;display:grid}.spec{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;padding:12px}.spec-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px;display:block}.spec-value{font-size:16px;font-weight:600;display:block}.product-detail-price{color:var(--accent);margin-bottom:16px;font-size:28px;font-weight:700}.btn-order{background:linear-gradient(135deg, var(--primary) 0%, #6366f1 100%);border-radius:var(--radius);color:#fff;cursor:pointer;border:none;width:100%;padding:16px;font-family:inherit;font-size:16px;font-weight:600;transition:all .15s;box-shadow:0 4px 16px #3b82f64d}.btn-order:hover{transform:translateY(-1px);box-shadow:0 6px 24px #3b82f666}.btn-order:active{transform:translateY(0)}.btn-primary{background:var(--primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,transform .15s}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{transform:translateY(1px)}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px}.empty-state p{margin-bottom:16px;font-size:16px}.loading-inline{justify-content:center;padding:40px 0;display:flex}.load-more{justify-content:center;padding:20px 0;display:flex}.load-more .btn-primary{min-width:200px}.load-more .btn-primary:disabled{opacity:.6;cursor:wait}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:flex-end;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-overlay.privacy-overlay{z-index:1100}.modal{background:var(--bg-card);border-radius:16px 16px 0 0;width:100%;max-width:480px;padding:24px 20px 32px;animation:.2s slideUp}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-title{margin-bottom:8px;font-size:18px;font-weight:600}.modal-text{color:var(--text-secondary);margin-bottom:4px;font-size:14px}.modal-price{color:var(--accent);margin-bottom:16px;font-size:20px;font-weight:700}.modal-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);margin-bottom:12px;padding:14px 16px;font-family:inherit;font-size:16px}.modal-input:focus{border-color:var(--primary);outline:none}.modal-error{color:var(--danger);margin-bottom:8px;font-size:13px}.btn-cancel{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;margin-top:8px;padding:12px;font-family:inherit;font-size:14px;transition:all .15s}.btn-cancel:hover{border-color:var(--text-muted);color:var(--text)}.btn-cancel:disabled,.btn-order:disabled{opacity:.5;cursor:not-allowed}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, #253347 50%, var(--bg-card) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.skeleton-img{aspect-ratio:1;border-radius:0}.skeleton-info{flex-direction:column;gap:6px;padding:10px;display:flex}.skeleton-line{height:12px}.skeleton-line-sm{width:40%;height:12px}.skeleton-line-lg{width:85%;height:12px}.skeleton-line-md{width:60%;height:12px}.skeleton-line-price{width:50%;height:16px;margin-top:4px}.modal-input.phone-valid{border-color:var(--success)}.modal-input.phone-invalid{border-color:var(--danger)}.orders-card{background:#22c55e0f;border-color:#22c55e1f;box-shadow:0 4px 24px #22c55e0f}.orders-card:hover{background:#22c55e1a;border-color:#22c55e40;box-shadow:0 8px 32px #22c55e26}.orders-list{flex-direction:column;gap:12px;display:flex}.order-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.order-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.order-number{color:var(--text-secondary);font-size:14px;font-weight:600}.order-status{border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600}.status-new{color:#60a5fa;background:#3b82f626}.status-processing{color:#fbbf24;background:#f59e0b26}.status-completed{color:#4ade80;background:#22c55e26}.status-cancelled{color:#f87171;background:#ef444426}.order-card-body{margin-bottom:10px}.order-product{align-items:baseline;gap:8px;display:flex}.order-type-badge{color:var(--primary);white-space:nowrap;font-size:12px;font-weight:600}.order-product-name{color:var(--text);font-size:13px;line-height:1.3}.order-client{color:var(--text-secondary);margin-top:6px;font-size:12px}.order-phone{color:var(--text-muted)}.order-card-footer{justify-content:space-between;align-items:center;display:flex}.order-price{color:var(--accent);font-size:15px;font-weight:700}.order-date{color:var(--text-muted);font-size:12px}.orders-skeleton{flex-direction:column;gap:12px;display:flex}.order-skeleton-card{padding:16px}.consent-label{cursor:pointer;color:var(--text-secondary);align-items:flex-start;gap:10px;margin-bottom:12px;font-size:13px;line-height:1.4;display:flex}.consent-checkbox{width:18px;min-width:18px;height:18px;accent-color:var(--primary);margin-top:2px}.consent-text{flex:1}.consent-link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;text-decoration:underline}.consent-link:hover{color:var(--primary-hover)}.privacy-modal{max-height:80vh;overflow-y:auto}.privacy-content{color:var(--text-secondary);margin-bottom:16px;font-size:13px;line-height:1.6}.privacy-content p{margin-bottom:10px}.privacy-content ul{margin:6px 0 10px 20px}.privacy-content li{margin-bottom:4px}.logo-avtoreal{color:#ff4d00;border:2px solid #ff4d00;font-weight:800;font-size:32px!important}.logo-title-avtoreal{letter-spacing:3px;font-size:28px;font-weight:800}.logo-title-avtoreal .logo-accent{color:#ff4d00}[data-brand=avtoreal] .app:before{background:radial-gradient(circle,#ff4d001f 0%,#0000 70%)}[data-brand=avtoreal] .app:after{background:radial-gradient(circle,#ff4d0014 0%,#0000 70%)}[data-brand=avtoreal] .wheels-card{background:#ff4d000f;border-color:#ff4d001f;box-shadow:0 4px 24px #ff4d000f}[data-brand=avtoreal] .wheels-card:hover{background:#ff4d001a;border-color:#ff4d0040;box-shadow:0 8px 32px #ff4d0026}[data-brand=avtoreal] .tires-card{background:#ff78320f;border-color:#ff78321f;box-shadow:0 4px 24px #ff78320f}[data-brand=avtoreal] .tires-card:hover{background:#ff78321a;border-color:#ff783240;box-shadow:0 8px 32px #ff783226}[data-brand=avtoreal] .btn-order{background:linear-gradient(135deg,#ff4d00 0%,#ff6b2b 100%);box-shadow:0 4px 16px #ff4d004d}[data-brand=avtoreal] .btn-order:hover{box-shadow:0 6px 24px #ff4d0066}[data-brand=avtoreal] .sort-btn.sort-active{color:var(--primary);background:#ff4d001a;border-color:#ff4d004d}[data-brand=avtoreal] .city-btn:hover{border-color:#ff4d004d;box-shadow:0 4px 20px #ff4d001f}[data-brand=avtoreal] .city-tag:hover{border-color:#ff4d004d}[data-brand=avtoreal] .skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, #2a2a2a 50%, var(--bg-card) 75%);background-size:200% 100%}.markup-card{background:#f59e0b0f;border-color:#f59e0b1f;box-shadow:0 4px 24px #f59e0b0f}.markup-card:hover{background:#f59e0b1a;border-color:#f59e0b40;box-shadow:0 8px 32px #f59e0b26}.markup-screen{padding-top:8px}.markup-screen .markup-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.markup-label{margin-bottom:4px;font-size:16px;font-weight:600}.markup-hint{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.markup-input-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.markup-input{text-align:center;flex:1;font-weight:700;font-size:24px!important}.markup-unit{color:var(--text-secondary);font-size:24px;font-weight:700}.markup-example{background:var(--bg-surface);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px}.markup-example-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:12px}.markup-example-text{color:var(--text-secondary);font-size:14px}.markup-example-text b{color:var(--accent)}.dev-badge{border:1px solid var(--border);color:var(--text-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#1e293bcc;border-radius:6px;padding:4px 10px;font-size:12px;position:fixed;bottom:8px;right:8px}
