:root{--bg-color: var(--tg-theme-bg-color, #ffffff);--text-color: var(--tg-theme-text-color, #000000);--hint-color: var(--tg-theme-hint-color, #999999);--link-color: var(--tg-theme-link-color, #2481cc);--button-color: var(--tg-theme-button-color, #2481cc);--button-text-color: var(--tg-theme-button-text-color, #ffffff);--secondary-bg-color: var(--tg-theme-secondary-bg-color, #f1f1f1);--success-color: #34c759;--warning-color: #ff9500;--danger-color: #ff3b30;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--radius: 12px;--radius-sm: 8px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;min-height:100vh;background-color:var(--bg-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased}a{color:var(--link-color);text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;background:none}.container{padding:var(--spacing-md)}.card{background-color:var(--secondary-bg-color);border-radius:var(--radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.card-title{font-size:13px;font-weight:600;color:var(--hint-color);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.3px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-weight:500;font-size:14px;transition:opacity .15s}.btn:active{opacity:.7}.btn-primary{background-color:var(--button-color);color:var(--button-text-color)}.btn-secondary{background-color:var(--secondary-bg-color);color:var(--text-color)}.btn-success{background-color:var(--success-color);color:#fff}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-block{width:100%}.btn-sm{padding:6px 10px;font-size:13px}.text-hint{color:var(--hint-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.spinner{width:32px;height:32px;border:3px solid var(--secondary-bg-color);border-top-color:var(--button-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:var(--spacing-md)}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.metric-card{background-color:var(--secondary-bg-color);border-radius:var(--radius);padding:var(--spacing-md);text-align:center}.metric-value{font-size:22px;font-weight:700;line-height:1.2}.metric-label{font-size:11px;color:var(--hint-color);text-transform:uppercase;letter-spacing:.3px;margin-top:2px}.metric-sub{font-size:12px;color:var(--hint-color);margin-top:2px}.metric-trend{font-size:12px;font-weight:500;margin-top:2px}.metric-trend.positive{color:var(--success-color)}.metric-trend.negative{color:var(--danger-color)}.alert-item{display:flex;align-items:center;justify-content:space-between;padding:10px var(--spacing-md);background-color:var(--secondary-bg-color);border-radius:var(--radius);margin-bottom:var(--spacing-xs);gap:var(--spacing-sm)}.alert-name{font-size:14px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-badge{font-size:11px;font-weight:500;padding:3px 8px;border-radius:10px;background-color:var(--danger-color);color:#fff;white-space:nowrap}.alert-badge.warning{background-color:var(--warning-color)}.product-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--secondary-bg-color);border-radius:var(--radius);margin-bottom:var(--spacing-sm)}.product-img{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;background-color:var(--bg-color)}.product-img-placeholder{background:linear-gradient(135deg,var(--secondary-bg-color) 0%,var(--bg-color) 100%);position:relative}.product-img-placeholder:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;transform:translate(-50%,-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23999999'%3E%3Cpath d='M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'/%3E%3C/svg%3E");background-size:contain;opacity:.5}.product-rank{width:24px;height:24px;border-radius:50%;background-color:var(--button-color);color:var(--button-text-color);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.product-info{flex:1;min-width:0}.product-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-sku{font-size:12px;color:var(--hint-color);margin-top:2px}.product-stats{text-align:right;flex-shrink:0}.product-price{font-size:15px;font-weight:600}.product-meta{font-size:11px;color:var(--hint-color);margin-top:2px}.search-input{width:100%;padding:10px var(--spacing-md);border:none;border-radius:var(--radius);background-color:var(--secondary-bg-color);color:var(--text-color);font-size:15px}.search-input::placeholder{color:var(--hint-color)}.search-input:focus{outline:none}.sort-tabs{display:flex;gap:var(--spacing-xs);overflow-x:auto;padding:var(--spacing-sm) 0;margin:0 calc(-1 * var(--spacing-md));padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.sort-btn{display:flex;align-items:center;gap:3px;padding:6px 10px;border-radius:var(--radius-sm);background-color:var(--secondary-bg-color);color:var(--hint-color);font-size:13px;font-weight:500;white-space:nowrap}.sort-btn.active{background-color:var(--button-color);color:var(--button-text-color)}.empty-state{text-align:center;padding:40px var(--spacing-md)}.empty-icon{font-size:48px;margin-bottom:var(--spacing-md)}.empty-text{font-size:16px;font-weight:500;margin-bottom:var(--spacing-xs)}.empty-hint{font-size:14px;color:var(--hint-color)}.detail-image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);background-color:var(--secondary-bg-color)}.detail-header{margin:var(--spacing-md) 0}.detail-header h1{font-size:18px;font-weight:600;margin:0 0 var(--spacing-xs);line-height:1.3}.detail-header p{font-size:13px;color:var(--hint-color);margin:0}.detail-card{background-color:var(--secondary-bg-color);border-radius:var(--radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.stat{text-align:center;padding:var(--spacing-sm);background-color:var(--secondary-bg-color);border-radius:var(--radius)}.stat-value{font-size:18px;font-weight:700}.stat-label{font-size:10px;color:var(--hint-color);text-transform:uppercase;margin-top:2px}.stat-trend{font-size:11px;font-weight:500;margin-top:2px}.stat-trend.positive{color:var(--success-color)}.stat-trend.negative{color:var(--danger-color)}.stock-bar{height:6px;border-radius:3px;background-color:var(--bg-color);overflow:hidden;margin-top:var(--spacing-sm)}.stock-fill{height:100%;border-radius:3px;transition:width .3s ease}.rec-card{background-color:var(--secondary-bg-color);border-radius:var(--radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.rec-product{font-size:14px;font-weight:500;margin-bottom:var(--spacing-xs)}.rec-change{font-size:15px;margin-bottom:var(--spacing-xs)}.rec-change .up{color:var(--success-color);margin-left:var(--spacing-xs)}.rec-change .down{color:var(--danger-color);margin-left:var(--spacing-xs)}.rec-reason{font-size:12px;color:var(--hint-color);margin-bottom:var(--spacing-md)}.rec-actions{display:flex;gap:var(--spacing-sm)}.rec-actions .btn{flex:1}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--bg-color);border-radius:var(--radius-sm)}
