:root{--color-background: #f3efe8;--color-primary: #4a3f35;--color-secondary: #8b7e6a;--color-accent: #c2a56a;--color-border: #d8d1c4;--color-surface: #ebe6dc;--color-surface-highlight: #f8f5ef;--color-success: #5d7a5d;--color-error: #8b5a5a;--font-serif: "Crimson Pro", Georgia, serif;--font-sans: "Source Sans 3", system-ui, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--max-width: 800px;--border-radius: 4px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-primary);line-height:1.7;min-height:100vh}#app{display:flex;flex-direction:column;min-height:100vh;max-width:1200px;margin:0 auto;padding:var(--space-lg)}.layout{display:flex;gap:var(--space-xl);flex:1}.main{flex:1;max-width:var(--max-width)}.header{text-align:center;padding:var(--space-2xl) 0 var(--space-lg);border-bottom:none;margin-bottom:var(--space-md)}.category-tabs{display:flex;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.tab-button{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-family:var(--font-sans);font-size:.95rem;font-weight:500;color:var(--color-secondary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;cursor:pointer;transition:all .2s ease}.tab-button:hover{background-color:var(--color-surface-highlight);border-color:var(--color-secondary)}.tab-button.active{background-color:var(--color-primary);color:var(--color-background);border-color:var(--color-primary)}.tab-icon{font-size:1.1rem}.tab-label{font-weight:500}.title{font-family:var(--font-serif);font-size:2rem;font-weight:500;color:var(--color-primary);letter-spacing:.02em;margin-bottom:var(--space-sm)}.subtitle{font-family:var(--font-serif);font-size:1rem;color:var(--color-secondary);font-style:italic}.saved-sidebar{width:280px;flex-shrink:0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-md);height:fit-content;position:sticky;top:var(--space-lg);max-height:calc(100vh - 2 * var(--space-lg));overflow-y:auto}.saved-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.saved-title{font-family:var(--font-serif);font-size:1rem;font-weight:500;color:var(--color-primary)}.saved-count{background-color:var(--color-accent);color:var(--color-background);font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:10px}.saved-list{display:flex;flex-direction:column;gap:var(--space-sm)}.saved-empty{font-size:.8rem;color:var(--color-secondary);text-align:center;padding:var(--space-lg) var(--space-sm)}.saved-item{background-color:var(--color-surface-highlight);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-sm)}.saved-item-title{font-size:.8rem;font-weight:500;color:var(--color-primary);margin-bottom:var(--space-xs);line-height:1.3}.saved-item-price{font-size:.875rem;font-weight:600;color:var(--color-primary)}.saved-item-per-unit{font-size:.75rem;color:var(--color-success);margin-left:var(--space-xs)}.saved-item-meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-xs);font-size:.7rem;color:var(--color-secondary)}.saved-item-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-sm)}.saved-item-link,.saved-item-remove{font-size:.7rem;padding:2px 8px;border-radius:var(--border-radius);cursor:pointer;text-decoration:none}.saved-item-link{background-color:var(--color-accent);color:var(--color-background);border:none}.saved-item-link:hover{opacity:.9}.saved-item-remove{background-color:transparent;color:var(--color-secondary);border:1px solid var(--color-border)}.saved-item-remove:hover{background-color:var(--color-error);color:var(--color-background);border-color:var(--color-error)}.saved-actions{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.clear-saved-button{width:100%;padding:var(--space-xs) var(--space-sm);font-size:.8rem;color:var(--color-secondary);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer}.clear-saved-button:hover{background-color:var(--color-error);color:var(--color-background);border-color:var(--color-error)}.save-button{padding:2px 10px;font-size:.75rem;color:var(--color-secondary);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.save-button:hover{background-color:var(--color-accent);color:var(--color-background);border-color:var(--color-accent)}.save-button.saved{background-color:var(--color-success);color:var(--color-background);border-color:var(--color-success)}.search-section{margin-bottom:var(--space-xl)}.search-form{display:flex;flex-direction:column;gap:var(--space-md)}.search-label{font-family:var(--font-serif);font-size:1.1rem;color:var(--color-primary)}.search-input-wrapper{display:flex;gap:var(--space-sm)}.search-input{flex:1;padding:var(--space-md);font-family:var(--font-sans);font-size:1rem;color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);outline:none;transition:border-color .2s ease}.search-input::placeholder{color:var(--color-secondary);opacity:.7}.search-input:focus{border-color:var(--color-accent)}.search-button{padding:var(--space-md) var(--space-lg);font-family:var(--font-sans);font-size:1rem;font-weight:500;color:var(--color-background);background-color:var(--color-primary);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.search-button:hover{background-color:var(--color-secondary)}.search-button:disabled{opacity:.6;cursor:not-allowed}.search-hint{font-size:.875rem;color:var(--color-secondary)}.country-selector{margin-top:var(--space-lg);padding-top:var(--space-md)}.country-selector-label{font-family:var(--font-serif);font-size:.875rem;color:var(--color-secondary);margin-bottom:var(--space-sm)}.country-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.country-chip{padding:var(--space-xs) var(--space-sm);font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:var(--color-secondary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all .2s ease;min-width:36px;text-align:center}.country-chip:hover{background-color:var(--color-surface-highlight);border-color:var(--color-secondary)}.country-chip.active{background-color:var(--color-accent);color:var(--color-background);border-color:var(--color-accent)}.depth-selector{margin-top:var(--space-md);padding-top:var(--space-sm)}.depth-selector-label{font-family:var(--font-serif);font-size:.875rem;color:var(--color-secondary);margin-bottom:var(--space-sm)}.depth-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.depth-chip{padding:var(--space-xs) var(--space-sm);font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:var(--color-secondary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all .2s ease;text-align:center}.depth-chip:hover{background-color:var(--color-surface-highlight);border-color:var(--color-secondary)}.depth-chip.active{background-color:var(--color-accent);color:var(--color-background);border-color:var(--color-accent)}.common-searches{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.common-searches-label{font-family:var(--font-serif);font-size:.875rem;color:var(--color-secondary);margin-bottom:var(--space-md)}.common-searches-list{display:flex;flex-wrap:wrap;gap:var(--space-sm);max-height:160px;overflow-y:auto;padding-right:var(--space-xs)}.search-chip{padding:var(--space-xs) var(--space-md);font-family:var(--font-sans);font-size:.875rem;color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;cursor:pointer;transition:all .2s ease}.search-chip:hover{background-color:var(--color-surface-highlight);border-color:var(--color-accent);color:var(--color-primary)}.search-chip:active{background-color:var(--color-accent);color:var(--color-background)}.loading-section{padding:var(--space-xl)}.progress-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-xl)}.progress-stage{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--color-primary);margin-bottom:var(--space-sm);text-align:center}.progress-message{font-size:1rem;color:var(--color-primary);margin-bottom:var(--space-xs);text-align:center}.progress-detail{font-size:.875rem;color:var(--color-secondary);margin-bottom:var(--space-lg);text-align:center;font-style:italic}.progress-bar-container{width:100%;height:8px;background-color:var(--color-border);border-radius:4px;overflow:hidden;margin-bottom:var(--space-lg)}.progress-bar{height:100%;width:0%;background-color:var(--color-accent);border-radius:4px;transition:width .3s ease}.progress-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.stat-item{font-size:.8rem;color:var(--color-secondary);background-color:var(--color-surface-highlight);padding:var(--space-xs) var(--space-sm);border-radius:12px;border:1px solid var(--color-border)}.progress-note{font-size:.75rem;color:var(--color-secondary);text-align:center;opacity:.8}.error-section{text-align:center;padding:var(--space-xl);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius)}.error-text{color:var(--color-error);margin-bottom:var(--space-md)}.retry-button{padding:var(--space-sm) var(--space-lg);font-family:var(--font-sans);font-size:.875rem;color:var(--color-primary);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.retry-button:hover{background-color:var(--color-surface-highlight)}.results-section{display:flex;flex-direction:column;gap:var(--space-lg)}.best-deal-card{padding:var(--space-lg);background-color:var(--color-surface-highlight);border:2px solid var(--color-accent);border-radius:var(--border-radius)}.best-deal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.best-deal-badge{font-family:var(--font-serif);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent)}.best-deal-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--color-primary);margin-bottom:var(--space-md);line-height:1.4}.best-deal-price-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-sm)}.best-deal-price{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--color-primary)}.best-deal-per-unit{font-size:1rem;color:var(--color-success);font-weight:500}.best-deal-meta{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--color-secondary)}.best-deal-vendor{color:var(--color-secondary)}.best-deal-link{color:var(--color-accent);text-decoration:none}.best-deal-link:hover{text-decoration:underline}.results-list{display:flex;flex-direction:column;gap:var(--space-md)}.results-heading{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;color:var(--color-secondary);margin-bottom:var(--space-sm)}.result-card{padding:var(--space-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:border-color .2s ease}.result-card:hover{border-color:var(--color-secondary)}.result-title{font-family:var(--font-serif);font-size:1rem;font-weight:500;color:var(--color-primary);margin-bottom:var(--space-sm);line-height:1.4}.result-price-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-xs)}.result-price{font-weight:500;color:var(--color-primary)}.result-per-unit{font-size:.875rem;color:var(--color-success)}.result-meta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--color-secondary)}.result-quantity,.result-vendor{color:var(--color-secondary)}.result-link{color:var(--color-accent);text-decoration:none;font-size:.8rem}.result-link:hover{text-decoration:underline}.result-confidence{font-size:.75rem;color:var(--color-secondary);opacity:.7}.results-meta{text-align:center;font-size:.8rem;color:var(--color-secondary);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.footer{text-align:center;padding:var(--space-xl) 0 var(--space-md);margin-top:var(--space-xl);border-top:1px solid var(--color-border)}.footer p{font-size:.8rem;color:var(--color-secondary)}.hidden{display:none!important}.verification-badge{font-size:.65rem;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.verification-badge.verified{background-color:var(--color-success);color:var(--color-surface-highlight)}.cross-vendor-badge{font-size:.65rem;padding:2px 8px;border-radius:10px;background-color:var(--color-surface);border:1px solid var(--color-accent);color:var(--color-accent);font-weight:500}.savings-badge{font-size:.7rem;padding:3px 10px;border-radius:12px;background-color:var(--color-success);color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.shipping-badge{font-size:.65rem;padding:2px 8px;border-radius:10px;background-color:#4a7c59;color:#fff;font-weight:500}.shipping-badge-small{font-size:.6rem;padding:2px 6px;border-radius:8px;background-color:#4a7c59;color:#fff;font-weight:500}.coupon-badge{font-size:.65rem;padding:2px 8px;border-radius:10px;background-color:#7c5a4a;color:#fff;font-weight:500}.coupon-badge-small{font-size:.6rem;padding:2px 6px;border-radius:8px;background-color:#7c5a4a;color:#fff;font-weight:500}.discount-badge{font-size:.7rem;padding:3px 10px;border-radius:12px;background-color:#c44;color:#fff;font-weight:600;text-transform:uppercase}.discount-badge-small{font-size:.6rem;padding:2px 6px;border-radius:8px;background-color:#c44;color:#fff;font-weight:600}.original-price{font-size:1rem;color:var(--color-secondary);text-decoration:line-through;margin-right:var(--space-sm)}.product-upc{font-size:.7rem;color:var(--color-secondary);font-family:monospace}.result-header{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-xs)}.result-header .result-title{margin-bottom:0}@media (max-width: 900px){.layout{flex-direction:column}.saved-sidebar{width:100%;position:static;max-height:none;order:-1;margin-bottom:var(--space-lg)}.saved-list{flex-direction:row;flex-wrap:wrap}.saved-item{flex:1;min-width:200px;max-width:300px}.saved-empty{width:100%}}@media (max-width: 600px){:root{--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem}.title{font-size:1.5rem}.category-tabs{flex-direction:column;align-items:stretch;gap:var(--space-xs)}.tab-button{justify-content:center;padding:var(--space-sm)}.country-chips{justify-content:center}.search-input-wrapper{flex-direction:column}.search-button{width:100%}.best-deal-price-row,.result-price-row{flex-direction:column;gap:var(--space-xs)}.best-deal-meta,.result-meta{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.saved-item{min-width:100%}}.solar-section{padding:var(--space-lg) 0}.solar-header{margin-bottom:var(--space-lg)}.solar-header h2{font-family:var(--font-serif);font-size:1.5rem;color:var(--color-primary);margin-bottom:var(--space-xs)}.solar-subtitle{color:var(--color-secondary);font-size:.9rem}.solar-meta{color:var(--color-secondary);font-size:.8rem;margin-top:var(--space-xs)}.solar-filters{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius)}.solar-filter-group{display:flex;align-items:center;gap:var(--space-xs)}.solar-filter-group label{font-size:.85rem;color:var(--color-secondary);font-weight:600}.solar-select{padding:4px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-background);font-family:var(--font-sans);font-size:.85rem;color:var(--color-primary)}.solar-input{width:70px;padding:4px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-background);font-family:var(--font-sans);font-size:.85rem;color:var(--color-primary)}.solar-country-chips{display:flex;flex-wrap:wrap;gap:4px}.solar-country-chip{padding:2px 10px;border:1px solid var(--color-border);border-radius:12px;font-size:.75rem;cursor:pointer;background:var(--color-background);color:var(--color-secondary);transition:all .2s}.solar-country-chip.active{background:var(--color-accent);color:var(--color-background);border-color:var(--color-accent)}.solar-country-chip:hover:not(.active){background:var(--color-surface-highlight);border-color:var(--color-secondary)}.solar-table-wrapper{overflow-x:auto}.solar-table{width:100%;border-collapse:collapse;font-size:.85rem}.solar-table thead{background:var(--color-surface-highlight);position:sticky;top:0}.solar-table th{padding:8px 10px;text-align:left;font-weight:600;color:var(--color-primary);border-bottom:2px solid var(--color-border);white-space:nowrap}.solar-table td{padding:6px 10px;border-bottom:1px solid var(--color-border)}.solar-row:nth-child(2n){background:var(--color-surface)}.solar-row:hover{background:var(--color-surface-highlight)}.solar-top10{font-weight:500}.solar-top10 .solar-col-rank{color:var(--color-accent);font-weight:700}.solar-col-ppw{font-size:.95rem}.solar-col-rank{width:40px;text-align:center}.solar-col-link a{color:var(--color-accent);text-decoration:none}.solar-col-link a:hover{text-decoration:underline}.solar-type-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.75rem}.solar-type-monocrystalline{background:#e8f5e9;color:#2e7d32}.solar-type-polycrystalline{background:#e3f2fd;color:#1565c0}.solar-type-thin-film{background:#fff3e0;color:#ef6c00}.solar-type-bifacial{background:#f3e5f5;color:#7b1fa2}.solar-type-unknown{background:#f5f5f5;color:#757575}.solar-ship-free{color:var(--color-success);font-weight:600}.solar-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);padding:var(--space-md)}.solar-page-btn{padding:6px 16px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-surface);cursor:pointer;font-family:var(--font-sans);font-size:.85rem;color:var(--color-primary)}.solar-page-btn:hover:not(:disabled){background:var(--color-surface-highlight)}.solar-page-btn:disabled{opacity:.5;cursor:not-allowed}.solar-page-info{font-size:.85rem;color:var(--color-secondary)}.solar-loading{text-align:center;padding:var(--space-2xl);color:var(--color-secondary)}.solar-empty{text-align:center;padding:var(--space-2xl)}.solar-empty-hint{color:var(--color-secondary);font-size:.85rem;margin-top:var(--space-sm)}@media (max-width: 900px){.solar-filters{flex-direction:column;align-items:stretch}.solar-table{font-size:.75rem}.solar-table th,.solar-table td{padding:4px 6px}.solar-col-eff,.solar-col-brand{display:none}}@media (max-width: 600px){.solar-col-type,.solar-col-country{display:none}}.solar-detail-row td{padding:0!important;border-bottom:2px solid var(--color-accent)}.solar-detail{padding:var(--space-lg);background:var(--color-surface-highlight);border-top:1px solid var(--color-border)}.solar-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-lg)}.solar-detail-title{font-family:var(--font-serif);font-size:1.1rem;color:var(--color-primary);margin-bottom:var(--space-sm)}.solar-detail-price-block{margin-bottom:var(--space-md)}.solar-detail-price{font-size:1.4rem;font-weight:700;color:var(--color-primary)}.solar-detail-ppw{font-size:.9rem;color:var(--color-accent);margin-left:var(--space-sm);font-weight:600}.solar-detail-vendor{font-size:.9rem;color:var(--color-text-light);margin-bottom:var(--space-md)}.solar-detail-link{display:inline-block;padding:8px 20px;background:var(--color-accent);color:#fff;text-decoration:none;border-radius:var(--border-radius);font-size:.9rem;font-weight:600;transition:opacity .2s}.solar-detail-link:hover{opacity:.85}.solar-detail-specs h4,.solar-detail-shipping h4{font-size:.9rem;color:var(--color-primary);margin-bottom:var(--space-sm);font-weight:600}.solar-spec-table{width:100%;font-size:.85rem}.solar-spec-table td{padding:4px 8px;border-bottom:1px solid var(--color-border)}.solar-spec-table td:first-child{font-weight:600;color:var(--color-text-light);width:40%}.solar-detail-confidence{font-size:.8rem;color:var(--color-text-light);margin-top:var(--space-sm)}.solar-detail-crawled{font-size:.75rem;color:var(--color-text-light)}.solar-row.expanded{background:var(--color-surface-highlight)!important}@media (max-width: 900px){.solar-detail-grid{grid-template-columns:1fr}}.stock-badge{padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.stock-in{background:#d4edda;color:#155724}.stock-out{background:#f8d7da;color:#721c24}.stock-unknown{background:var(--color-surface-highlight);color:var(--color-text-light)}
