.save-search-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4375rem .875rem;font-family:var(--font);font-size:.75rem;font-weight:600;letter-spacing:.03em;color:var(--accent);background:var(--accent-light);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;transition:all var(--fast);white-space:nowrap;flex-shrink:0}.save-search-btn:hover{background:var(--accent);color:#fff}.save-search-btn i{font-size:.8125rem}.save-search-backdrop{display:none;position:fixed;inset:0;z-index:200;background:rgb(0 0 0 / .4);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.save-search-backdrop--open{display:block}.save-search-modal{display:none;position:fixed;bottom:0;left:0;right:0;z-index:210;background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:1.25rem 1.25rem 2rem;box-shadow:0 -6px 32px rgb(0 0 0 / .12);max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(100%);transition:transform .25s cubic-bezier(.4,0,.2,1)}.save-search-modal--open{display:block;transform:translateY(0)}.save-search-modal__handle{width:40px;height:4px;background:var(--border-hover);border-radius:2px;margin:0 auto .875rem}.save-search-modal__title{font-size:1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.875rem;display:flex;align-items:center;gap:.5rem}.save-search-modal__title i{color:var(--accent)}.save-search-modal__filters{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;min-height:1.5rem}.save-search-modal__filter-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:600;color:var(--text-muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:99px;padding:.1875rem .625rem}.save-search-modal__no-filters{font-size:.8125rem;color:var(--text-dim);font-style:italic}.save-search-modal__label{display:block;font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}.save-search-modal__input{width:100%;padding:.625rem .75rem;font-family:var(--font);font-size:.9375rem;color:var(--text);background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color var(--fast);margin-bottom:1rem}.save-search-modal__input:focus{border-color:var(--accent)}.save-search-modal__input::placeholder{color:var(--text-dim)}.save-search-modal__push{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem 1rem;margin-bottom:1rem}.save-search-modal__push-row{display:flex;align-items:flex-start;gap:.75rem}.save-search-modal__push-icon{font-size:1.375rem;color:var(--accent);flex-shrink:0;margin-top:.125rem}.save-search-modal__push-text{flex:1}.save-search-modal__push-headline{font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:.1875rem}.save-search-modal__push-sub{font-size:.75rem;color:var(--text-muted);line-height:1.45}.save-search-modal__push--granted .save-search-modal__push-icon{color:var(--success)}.save-search-modal__push--denied .save-search-modal__push-icon{color:var(--text-dim)}.save-search-modal__actions{display:flex;flex-direction:column;gap:.625rem;margin-top:.25rem}.save-search-modal__msg{font-size:.8125rem;border-radius:var(--radius);padding:.625rem .875rem;margin-top:.75rem}.save-search-modal__msg--success{background:#f0fdf4;color:var(--success);border:1px solid #bbf7d0}.save-search-modal__msg--error{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.btn--ghost{background:#fff0;color:var(--text-muted);border-color:#fff0}.btn--ghost:hover{color:var(--text);background:var(--bg-raised);border-color:#fff0}@media (min-width:640px){.save-search-modal{bottom:auto;top:50%;left:50%;right:auto;transform:translate(-50%,-50%) scale(.96);opacity:0;border-radius:var(--radius-lg);max-width:440px;width:100%;transition:transform .2s ease,opacity .2s ease;max-height:90vh}.save-search-modal--open{transform:translate(-50%,-50%) scale(1);opacity:1}.save-search-modal__handle{display:none}.save-search-modal__actions{flex-direction:row-reverse}.save-search-modal__actions .btn--ghost{flex:0 0 auto;width:auto;padding:.6875rem 1.25rem}.save-search-modal__actions .btn--primary{flex:1}}