:root{--bg-color:#f8fafc;--surface-color:#fff;--primary-color:#4f46e5;--primary-hover:#4338ca;--text-dark:#0f172a;--text-light:#64748b;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-hover:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--radius-md:.5rem;--radius-lg:1rem;--transition-fast:.15s ease-in-out;--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--type-restaurant:#ec4899;--type-grocery:#10b981;--type-delivery:#3b82f6}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-dark);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;overflow-x:hidden}h1{letter-spacing:-.025em;font-size:1.5rem;font-weight:700}h2{letter-spacing:-.025em;font-size:1.25rem;font-weight:600}h3{font-size:1.125rem;font-weight:600}p{color:var(--text-light)}.header{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:40;background:#fffc;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:1rem 1.5rem;display:flex}.logo-area{align-items:center;gap:.75rem;display:flex}.logo-icon{background:linear-gradient(135deg, var(--primary-color), #8b5cf6);color:#fff;border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;font-size:1.125rem;font-weight:700;display:flex;box-shadow:0 4px 14px #4f46e563}.btn-primary{background-color:var(--primary-color);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);border:none;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.w-full{justify-content:center;width:100%}.main-content{max-width:1280px;margin:2rem auto;padding:0 1.5rem}.search-wrapper{flex-grow:1;min-width:250px;max-width:400px;margin-right:auto}.search-input{border:1px solid var(--border-color);width:100%;transition:all var(--transition-fast);background-color:var(--surface-color);box-shadow:var(--shadow-sm);color:var(--text-dark);border-radius:9999px;outline:none;padding:.625rem 1rem;font-family:inherit;font-size:.875rem}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.filters{background:var(--surface-color);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:9999px;gap:.5rem;padding:.375rem;display:flex}.filter-btn{color:var(--text-light);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:9999px;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500}.filter-btn:hover{color:var(--text-dark)}.filter-btn.active{background-color:var(--text-dark);color:#fff}.view-toggles{background:var(--surface-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);gap:.5rem;padding:.375rem;display:flex}.view-btn{color:var(--text-light);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.375rem;display:flex}.view-btn:hover{color:var(--text-dark)}.view-btn.active{background-color:var(--bg-color);color:var(--primary-color)}.view-container{animation:fadeIn var(--transition-normal);display:none}.view-container.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.table-wrapper{background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow:hidden}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border-color);padding:1rem 1.5rem}.data-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);background-color:#f8fafc;font-size:.75rem;font-weight:600}.data-table tbody tr{transition:background-color var(--transition-fast)}.data-table tbody tr:hover{background-color:#f1f5f9}.data-table tbody tr:last-child td{border-bottom:none}.table-logo{object-fit:cover;vertical-align:middle;border-radius:.25rem;width:32px;height:32px;margin-right:.75rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.card{background:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md);transition:all var(--transition-normal);flex-direction:column;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.card-image-wrapper{background-color:#e2e8f0;justify-content:center;align-items:center;height:140px;display:flex;position:relative;overflow:hidden}.card-bg-gradient{background:linear-gradient(135deg,#4f46e51a,#10b9811a);position:absolute;inset:0}.card-logo{object-fit:contain;border-radius:var(--radius-md);width:64px;height:64px;box-shadow:var(--shadow-sm);z-index:10;background:#fff;padding:4px;position:relative}.card-body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.card-title{color:var(--text-dark);margin:0}.badge{text-transform:uppercase;letter-spacing:.025em;border-radius:9999px;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge.Restaurant{color:var(--type-restaurant);background-color:#ec48991a}.badge.Grocery{color:var(--type-grocery);background-color:#10b9811a}.badge.Delivery{color:var(--type-delivery);background-color:#3b82f61a}.card-cert{color:#d97706;align-items:center;gap:.375rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:flex}.card-desc{flex:1;margin-bottom:1rem;font-size:.875rem}.tags{flex-wrap:wrap;gap:.375rem;margin-bottom:1.25rem;display:flex}.tag{color:var(--text-light);background-color:#f1f5f9;border-radius:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.card-footer{border-top:1px solid var(--border-color);gap:.5rem;padding-top:1rem;display:flex}.btn-secondary{text-align:center;background:var(--bg-color);color:var(--text-dark);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all var(--transition-fast);flex:1;padding:.5rem;font-size:.875rem;font-weight:500;text-decoration:none}.btn-secondary:hover{background:var(--border-color)}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:all var(--transition-normal);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;visibility:visible}.modal{background:var(--surface-color);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-hover);transition:all var(--transition-normal);overflow:hidden;transform:scale(.95)}.modal-overlay.open .modal{transform:scale(1)}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{margin:0}.close-btn{color:var(--text-light);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;font-size:1.5rem;line-height:1}.close-btn:hover{color:var(--text-dark)}.modal-body{padding:1.5rem}.modal-desc{margin-bottom:1.5rem;font-size:.875rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-dark);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-group input,.form-group select{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;transition:border-color var(--transition-fast);outline:none;padding:.625rem .75rem;font-family:inherit;font-size:.875rem}.form-group input:focus,.form-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}@media (width<=768px){.controls-bar{flex-direction:column;align-items:stretch}.search-wrapper{width:100%;max-width:none;margin-bottom:.5rem;margin-right:0}.kosher-filter-wrapper{width:100%;margin-bottom:.5rem;max-width:none!important}.filters{white-space:nowrap;box-sizing:border-box;border-radius:8px;max-width:100%;padding-bottom:4px;overflow-x:auto}.view-toggles{display:none}.view-container{display:none!important}#cardContainer{display:block!important}}.notification-area{z-index:100;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:2rem;right:2rem}.notification{background:var(--surface-color);color:var(--text-dark);border-radius:var(--radius-md);box-shadow:var(--shadow-hover);border-left:4px solid var(--primary-color);animation:slideInUp var(--transition-normal);pointer-events:auto;align-items:center;gap:.75rem;min-width:250px;padding:1rem 1.5rem;font-weight:500;display:flex}.notification.error{border-left-color:#ef4444}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.notification.fading{animation:fadeOut var(--transition-fast) forwards}.spinner{width:1.25rem;height:1.25rem;animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
