*,:before,:after{box-sizing:border-box}:root{--bg:#0f0f13;--surface:#1a1a23;--surface2:#22222e;--border:#2e2e3d;--accent:#7c5cfc;--accent2:#e05cfc;--text:#e8e8f0;--muted:#888;--green:#4ade80;--red:#f87171;--yellow:#fbbf24;--radius:14px}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:12px;padding:16px 24px;display:flex;position:sticky;top:0}.header-icon{font-size:1.5rem}header h1{background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.25rem;font-weight:700}header .subtitle{color:var(--muted);margin-left:auto;font-size:.8rem}.filters{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 24px;display:flex}.filters input,.filters select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;padding:8px 12px;font-size:.875rem}.filters input:focus,.filters select:focus{border-color:var(--accent)}.filters input{width:220px}.btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.875rem;font-weight:600}.btn:hover{opacity:.85}.btn.ghost{border:1px solid var(--border);color:var(--text);background:0 0}.stats-bar{color:var(--muted);padding:10px 24px;font-size:.8rem}.stats-bar .count{color:var(--text);font-weight:600}.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;padding:16px 24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.card:hover{border-color:var(--accent)}.card-photo,.card-photo-placeholder{width:100%;height:180px}.card-photo{object-fit:cover;background:var(--surface2)}.card-photo-placeholder{background:linear-gradient(135deg, var(--surface2), var(--bg));justify-content:center;align-items:center;font-size:3rem;display:flex}.card-body{flex-direction:column;gap:8px;padding:16px;display:flex}.card-header-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card-name{font-size:1.05rem;font-weight:700;line-height:1.3}.card-rating{color:var(--yellow);white-space:nowrap;font-size:.8rem}.badge-row{flex-wrap:wrap;gap:6px;display:flex}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:3px 8px;font-size:.7rem;font-weight:600}.badge-type{color:#a78bfa;background:#7c5cfc33}.badge-source{color:#60a5fa;background:#60a5fa26}.badge-open{color:var(--green);background:#4ade8026}.badge-closed{color:var(--red);background:#f8717126}.badge-price{color:var(--yellow);background:#fbbf2426}.card-address,.card-vibe,.card-method{font-size:.82rem;line-height:1.5}.card-address,.card-method{color:var(--muted)}.confidence-bar{background:var(--border);border-radius:2px;height:3px;overflow:hidden}.confidence-fill{background:linear-gradient(90deg, var(--accent), var(--accent2));height:100%}.card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.card-links{flex-wrap:wrap;gap:8px;display:flex}.card-link{color:var(--accent);font-size:.75rem;font-weight:600;text-decoration:none}.card-link:hover{text-decoration:underline}.card-footer-right{align-items:center;gap:8px;display:flex}.card-date{color:var(--muted);font-size:.7rem}.delete-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.95rem}.delete-btn:hover{color:var(--red)}.empty-state{text-align:center;color:var(--muted);grid-column:1/-1;padding:80px 20px}.empty-state .emoji{margin-bottom:12px;font-size:3rem}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.pagination{justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.page-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:7px 14px;font-size:.875rem}.page-btn:hover,.page-btn.active{border-color:var(--accent);color:var(--accent)}.page-btn:disabled{opacity:.4;cursor:not-allowed}
