/* Saved library: quiet, aligned, and scoped away from the planner and other routes. */
.product-route-state--saved{display:block!important;padding:0!important}
.saved-library{width:min(1040px,calc(100% - 64px));margin:44px auto 80px;color:var(--navy,#0b1c34);text-align:left}
.saved-library *{box-sizing:border-box}
.saved-library svg{width:20px;height:20px;flex:none}
.saved-library__header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}
.saved-library__eyebrow{display:block;margin-bottom:8px;color:#66788f;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.saved-library h1{margin:0;font-family:var(--font-d,inherit);font-size:38px;line-height:1.12;letter-spacing:-.035em}
.saved-library__header p{margin:10px 0 0;color:#5b6d85;font-size:15px;line-height:1.6}
.saved-library__discover{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 16px;border:1px solid #d5deea;border-radius:8px;background:#fff;color:#0b1c34;font:inherit;font-size:13px;font-weight:750;text-decoration:none;cursor:pointer;white-space:nowrap}
.saved-library__toolbar{padding:20px;border:1px solid #d9e1ec;border-radius:12px;background:rgba(255,255,255,.94)}
.saved-library__filters{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.saved-library__filters button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:7px;background:transparent;color:#5b6d85;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.saved-library__filters button[aria-pressed=true]{background:#0b1c34;color:#fff}
.saved-library__filters button span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 5px;border-radius:4px;background:#eef2f7;color:#425773;font-size:11px}
.saved-library__filters button[aria-pressed=true] span{background:#30435d;color:#fff}
.saved-library__controls{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px}
.saved-library__controls label{display:block;min-width:0;margin:0}
.saved-library__label{display:block;margin-bottom:8px;color:#425773;font-size:12px;font-weight:700;line-height:1.4}
.saved-library__input-wrap{position:relative;display:block}
.saved-library__input-wrap svg{position:absolute;top:15px;left:14px;width:18px;height:18px;color:#6c7f96;pointer-events:none}
.saved-library input,.saved-library select{display:block;width:100%;height:48px;border:1px solid #cdd8e6;border-radius:7px;background:#fff;color:#0b1c34;font:inherit;font-size:14px;line-height:1.4;box-shadow:none}
.saved-library input{padding:12px 14px 12px 42px}
.saved-library input::placeholder{color:#71839a;opacity:1}
.saved-library select{padding:10px 34px 10px 12px}
.saved-library__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 12px;color:#61728a;font-size:12px;line-height:1.5}
.saved-library__summary p{margin:0;font-weight:650}
.saved-library__list{display:grid;gap:14px}
.saved-entry{overflow:hidden;border:1px solid #d9e1ec;border-radius:12px;background:#fff}
.saved-entry__link{display:grid;grid-template-columns:96px minmax(0,1fr) 20px;align-items:center;gap:22px;padding:24px;color:inherit;text-decoration:none;transition:background-color .15s ease}
.saved-entry__visual{position:relative;display:grid;place-items:center;width:96px;height:96px;overflow:hidden;border:1px solid #e5ebf2;border-radius:8px;background:#f1f5fa}
.saved-entry__fallback{display:block;width:32px!important;height:32px!important;object-fit:contain!important}
.saved-entry__photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.saved-entry__copy{display:flex;flex-direction:column;min-width:0;gap:7px}
.saved-entry__kind{color:#5a708d;font-size:10px;line-height:1.5;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.saved-entry__kind>span{padding:0 4px;color:#9aabc1}
.saved-entry h2{margin:0 0 3px;color:#0b1c34;font-family:var(--font-d,inherit);font-size:21px;font-weight:750;line-height:1.35;letter-spacing:-.022em;overflow-wrap:anywhere}
.saved-entry__fact{display:flex;align-items:flex-start;gap:8px;color:#5b6d85;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.saved-entry__fact svg{width:15px;height:15px;margin-top:2px;color:#71859f}
.saved-entry__price{margin-top:3px;color:#253e5e;font-size:13px;font-weight:700;line-height:1.4}
.saved-entry__chevron{color:#56708f}
.saved-entry__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:5px 24px;border-top:1px solid #e6ebf2;background:#fbfcfe}
.saved-entry__footer>span{color:#64768d;font-size:11px;line-height:1.5}
.saved-entry__remove{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:#596c84;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.saved-entry__remove svg{width:16px;height:16px}
.saved-entry__remove:hover:not(:disabled){border-color:#ebcbcd;background:#fff4f3;color:#a32a32}
.saved-library button:disabled{cursor:wait;opacity:.6}
.saved-library :is(a,button,input,select):focus-visible{outline:2px solid #35678f;outline-offset:3px}
.saved-entry__link:focus-visible{outline-offset:-4px}
.saved-entry__link:hover{background:#f8fafd}
.saved-library__discover:hover{border-color:#9caec5;background:#f8fafd}
.saved-library__filters button:hover:not([aria-pressed=true]){background:#edf2f8;color:#0b1c34}
.saved-library__notice{margin-top:16px;padding:12px 16px;border-left:3px solid #35678f;border-radius:4px;background:#edf3fb;color:#284562;font-size:13px;line-height:1.5}
.saved-library__notice[data-kind=error]{border-color:#b84147;background:#fff4f3;color:#902a32}
.saved-library__notice[hidden]{display:none}
.saved-library__undo-list{display:grid;gap:8px;margin-top:8px}
.saved-library__undo-list:empty{display:none}
.saved-library__undo{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;border:1px solid #d9e1ec;border-radius:8px;background:#fff;color:#5b6d85;font-size:12px;line-height:1.5}
.saved-library__undo>span{overflow-wrap:anywhere;min-width:0}
.saved-library__undo strong{color:#253e5e;font-weight:700}
.saved-library__undo button{flex:none;min-height:44px;padding:8px 12px;border:0;border-radius:6px;background:#edf3fb;color:#183e67;font:inherit;font-weight:750;cursor:pointer}
.saved-library__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:40px 24px;border:1px solid #d9e1ec;border-radius:12px;background:#fff;text-align:center}
.saved-library__empty>svg{width:30px;height:30px;margin-bottom:20px;color:#35678f}
.saved-library__empty h2{margin:0;color:#0b1c34;font-family:var(--font-d,inherit);font-size:22px;line-height:1.35;letter-spacing:-.02em}
.saved-library__empty p{max-width:460px;margin:12px 0 24px;color:#5b6d85;font-size:14px;line-height:1.65}
.saved-library__loading{padding:32px;border:1px solid #d9e1ec;border-radius:12px;background:#fff;color:#5b6d85;font-size:14px}
@media(max-width:720px){
 .saved-library{width:calc(100% - 32px);margin:26px auto 100px}
 .saved-library__header{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:24px}
 .saved-library h1{font-size:30px}
 .saved-library__header p{font-size:14px}
 .saved-library__toolbar{padding:16px}
 .saved-library__filters{gap:4px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .saved-library__filters button{gap:5px;padding:10px 5px;font-size:11px}
 .saved-library__filters button span{min-width:19px;padding:2px 4px;font-size:10px}
 .saved-library__controls{grid-template-columns:minmax(0,1fr);gap:14px}
 .saved-library input,.saved-library select{font-size:16px}
 .saved-library__summary{align-items:flex-start;flex-direction:column;gap:4px}
 .saved-entry__link{grid-template-columns:56px minmax(0,1fr);align-items:start;gap:14px;padding:18px 16px}
 .saved-entry__visual{width:56px;height:56px;border-radius:7px}
 .saved-entry__fallback{width:26px!important;height:26px!important}
 .saved-entry__chevron{display:none}
 .saved-entry h2{font-size:17px;line-height:1.35}
 .saved-entry__kind{font-size:9px}
 .saved-entry__fact{font-size:12px}
 .saved-entry__footer{padding:5px 16px}
 .saved-library__empty{padding:32px 20px}
 .saved-library__empty h2{font-size:20px}
 .saved-library__undo{padding:8px 12px;gap:8px}
}
@media(prefers-reduced-motion:reduce){.saved-entry__link{transition:none}}
