*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f7f5f2;--surface: #ffffff;--border: #e8e4df;--text: #1a1714;--muted: #6b6560;--accent: #c8773a;--accent-hover: #b5672e;--badge-bg: #fff3eb;--badge-text: #c8773a;--sidebar-w: 260px;--radius: 10px;--shadow: 0 1px 4px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);font-size:15px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;border:none;background:none}input[type=range]{width:100%;accent-color:var(--accent)}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;height:100%}.sidebar-inner{padding:20px 16px;display:flex;flex-direction:column;gap:24px}.filter-group-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:10px}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:5px 11px;border-radius:20px;font-size:12.5px;border:1.5px solid var(--border);color:var(--muted);background:var(--bg);transition:all .12s;white-space:nowrap}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip-active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.chip-active:hover{color:#fff}.store-select{width:100%;padding:8px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:13.5px;background:var(--bg);color:var(--text);cursor:pointer;outline:none}.store-select:focus{border-color:var(--accent)}.price-labels{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:8px}.range-wrap{display:flex;flex-direction:column;gap:6px}.clear-filters{width:100%;padding:9px;border-radius:8px;border:1.5px solid var(--border);font-size:13px;color:var(--muted);background:var(--bg);transition:all .12s}.clear-filters:hover{border-color:var(--accent);color:var(--accent)}.topbar{display:flex;align-items:center;gap:16px;padding:0 20px;height:60px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.topbar-left{display:flex;align-items:center;gap:14px;flex-shrink:0}.sidebar-toggle{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:background .15s,color .15s}.sidebar-toggle:hover{background:var(--bg);color:var(--text)}.brand{display:flex;align-items:baseline;gap:6px}.brand-icon{font-size:20px}.brand-name{font-size:17px;font-weight:700;letter-spacing:-.3px;color:var(--text)}.brand-sub{font-size:11px;font-weight:600;color:var(--accent);background:var(--badge-bg);padding:2px 6px;border-radius:4px;letter-spacing:.5px}.topbar-center{flex:1;max-width:480px}.search-wrap{position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-input{width:100%;height:38px;padding:0 14px 0 38px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg);color:var(--text);transition:border-color .15s;outline:none}.search-input:focus{border-color:var(--accent);background:var(--surface)}.search-input::placeholder{color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.result-count{font-size:13px;color:var(--muted);white-space:nowrap}.of-total{opacity:.7}.sort-select{height:36px;padding:0 10px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;background:var(--bg);color:var(--text);cursor:pointer;outline:none}.sort-select:focus{border-color:var(--accent)}.demo-badge{font-size:11px;font-weight:600;background:#fff3eb;color:var(--accent);border:1px solid #f4c49a;padding:3px 8px;border-radius:5px}.updated-label{font-size:12px;color:var(--muted);white-space:nowrap}.item-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.item-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-image-link{display:block}.card-image-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg)}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .3s}.item-card:hover .card-image{transform:scale(1.04)}.discount-badge{position:absolute;top:10px;left:10px;background:#e8453c;color:#fff;font-size:11px;font-weight:700;padding:3px 7px;border-radius:5px;letter-spacing:.3px}.room-badge{position:absolute;top:10px;right:10px;background:#ffffffe0;border-radius:6px;padding:3px 6px;font-size:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}.card-store{font-size:11px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.card-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-name a:hover{color:var(--accent)}.card-price-row{display:flex;align-items:baseline;gap:8px;margin-top:2px}.card-price{font-size:16px;font-weight:700;color:var(--text)}.card-original{font-size:12.5px;color:var(--muted);text-decoration:line-through}.card-delivery{font-size:12px;color:var(--muted);margin-top:2px}.card-cta{display:inline-block;margin-top:auto;padding-top:12px;font-size:13px;font-weight:600;color:var(--accent);transition:color .15s}.card-cta:hover{color:var(--accent-hover)}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;color:var(--muted);gap:10px}.empty-icon{font-size:48px}.empty-state h2{font-size:18px;color:var(--text)}.empty-state p{font-size:14px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:var(--muted)}.loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.content-area{display:flex;flex:1;overflow:hidden}.main-content{flex:1;overflow-y:auto;padding:24px}.app-layout.sidebar-closed .sidebar{display:none}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f7f5f299;z-index:10}.main-content{position:relative}
