:root{--primary:#007aff;--primary-hover:#0056b3;--success:#34c759;--danger:#ff3b30;--badge-purple:#8e44ad;--bg-color:#f7f9fd;--bg-card:#fff;--text-dark:#1d1d1f;--text-light:#86868b;--border-color:#ebebeb;--info-box:#f4f5f7;--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius:16px;--radius-sm:10px;--shadow:0 4px 14px #00000008}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-dark);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--text-dark);-webkit-tap-highlight-color:transparent;text-decoration:none}button{cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit}.container{max-width:600px;margin:0 auto;padding:1rem}.light-header{color:var(--text-dark);background-color:#fff;border-bottom-right-radius:20px;border-bottom-left-radius:20px;padding:2.5rem 1.25rem 1.25rem;box-shadow:0 4px 15px #0000000a}.light-header h1{letter-spacing:-.5px;color:var(--text-dark);margin-bottom:.75rem;font-size:1.5rem;font-weight:800}.search-pill{border:1px solid var(--border-color);width:100%;color:var(--text-dark);background-color:#f5f5f7;border-radius:999px;outline:none;padding:.65rem 1rem;font-size:.95rem;transition:border-color .2s}.search-pill:focus{border-color:var(--primary)}.search-pill::placeholder{color:#a0a0a5}.filter-container{scrollbar-width:none;gap:.5rem;padding:1rem 1.25rem .5rem;display:flex;overflow-x:auto}.filter-container::-webkit-scrollbar{display:none}.filter-pill{white-space:nowrap;color:var(--text-light);background-color:#0000;border:none;border-radius:999px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.filter-pill.active{background-color:var(--primary);color:#fff;box-shadow:0 4px 8px #007aff33}.list-item{background-color:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border-color);align-items:center;gap:.85rem;margin-bottom:.75rem;padding:.85rem 1rem;transition:transform .1s;display:flex}.list-item:active{transform:scale(.98)}.icon-box{width:40px;height:40px;color:var(--primary);background-color:#eff3f8;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.badge{text-transform:uppercase;border-radius:999px;padding:.2rem .6rem;font-size:.65rem;font-weight:700;display:inline-block}.badge.purple{background-color:var(--badge-purple);color:#fff}.badge.green{background-color:var(--success);color:#fff}.badge.red{background-color:var(--danger);color:#fff}.badge.dark{color:#fff;background-color:#1a1a1a}.badge.neutral{background-color:var(--info-box);color:var(--text-dark)}.info-container{background-color:var(--info-box);border-radius:var(--radius);border:1px solid var(--border-color);margin-bottom:1.25rem;padding:1.25rem}.form-group{margin-bottom:1rem}.form-label{color:var(--text-dark);margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.form-control{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-dark);background-color:#fff;outline:none;padding:.85rem;font-size:.95rem;font-weight:500;transition:border-color .2s}.form-control:focus{border-color:var(--primary)}.btn{text-align:center;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.9rem 1.25rem;font-size:.95rem;font-weight:700;transition:transform .15s,background-color .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:#fff}.btn-outline{border:1px solid var(--border-color);color:var(--text-dark);background-color:#0000}.bottom-nav{background-color:var(--bg-card);padding:.25rem 1rem calc(.25rem + env(safe-area-inset-bottom));z-index:9999;border-top:1px solid var(--border-color);justify-content:space-around;align-items:center;height:64px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 20px #0000000a}.nav-item{color:#a0a0a5;flex-direction:column;justify-content:center;align-items:center;width:50px;height:50px;transition:color .15s;display:flex}.nav-item.active{color:var(--primary)}.fab-pill-btn{color:#fff;letter-spacing:.5px;background-color:#1c1c1e;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:.95rem;font-weight:500;display:flex;transform:translateY(-16px);box-shadow:0 10px 25px #0003}.options-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.option-btn{border:1px solid var(--border-color);color:var(--text-dark);border-radius:var(--radius-sm);text-align:center;background-color:#fff;padding:.85rem;font-size:.9rem;font-weight:600;transition:all .2s}.option-btn.selected{background-color:var(--primary);border-color:var(--primary);color:#fff}.option-btn.selected.danger{background-color:var(--danger);border-color:var(--danger);color:#fff}:root{--glass-bg:#ffffffb3;--glass-border:#fff6;--shadow-lg:0 8px 32px #0000001a}@media (prefers-color-scheme:dark){:root{--glass-bg:#1e1e1ebf;--glass-border:#ffffff1a;--shadow-lg:0 8px 32px #0009}}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);border-radius:var(--radius)}.bottom-nav{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--glass-border)}.app-header{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #007bff66}70%{transform:scale(1.05);box-shadow:0 0 0 10px #007bff00}to{transform:scale(1);box-shadow:0 0 #007bff00}}.animate-slide-up{animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUp}.leaflet-popup-content-wrapper{border-radius:var(--radius);background:var(--bg-card);color:var(--text-dark);box-shadow:var(--shadow-hover)}.leaflet-popup-tip{background:var(--bg-card)}.marker-available{filter:hue-rotate(240deg)saturate(2)}.marker-unavailable{filter:hue-rotate(150deg)saturate(2)}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--border-color) 50%, var(--bg-card) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}
