.saved-library { padding:var(--space-7) 0 var(--space-10); min-height:70vh; }
.saved-library [hidden] { display:none !important; }
.saved-library>.wrap { max-width:1120px; }
.saved-library-back { display:inline-flex; align-items:center; min-height:44px; font-size:var(--text-sm); margin-block:var(--space-3); text-decoration:underline; }
.saved-library-intro,.saved-library-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--space-4); }
.saved-library-intro { margin-block:var(--space-5); }
.saved-library-intro h1 { font-size:var(--text-3xl); margin-block:var(--space-2); }
.saved-library-intro p { color:var(--color-text-muted); }
.saved-library-intro .btn { min-height:44px; letter-spacing:0; }
.saved-library-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:var(--space-8); padding-top:var(--space-5); }
.saved-library h2 { font:600 var(--text-lg)/1.35 var(--font-body); }
.saved-library-sidebar h2 { font-size:var(--text-sm); margin-bottom:var(--space-3); }
.saved-library-sidebar nav { display:grid; gap:var(--space-1); }
.saved-library-sidebar nav button { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); min-height:44px; width:100%; padding:var(--space-2) var(--space-3); border:1px solid transparent; border-radius:var(--radius-sm); background:transparent; color:var(--color-text); text-align:left; font:500 var(--text-sm)/1.4 var(--font-body); cursor:pointer; }
.saved-library-sidebar nav button[aria-pressed=true] { background:var(--color-surface); border-color:var(--color-primary); color:var(--color-primary); }
.saved-library-sidebar nav span { font-variant-numeric:tabular-nums; }
.saved-library-allowance { margin-top:var(--space-5); border-top:1px solid var(--color-divider); padding-top:var(--space-4); font-size:var(--text-sm); }
.saved-library-allowance p { margin-block:var(--space-2); color:var(--color-text-muted); }
.saved-library-main { min-width:0; padding:0; }
.saved-library-tools { display:grid; grid-template-columns:minmax(0,1fr) 165px; gap:var(--space-3); margin-block:var(--space-4); }
.saved-library-tools label { display:grid; gap:var(--space-2); font-size:var(--text-xs); font-weight:600; }
.saved-library-tools input,.saved-library-tools select,.saved-library-mobile-filter select { width:100%; min-width:0; min-height:44px; border:1px solid var(--color-border); border-radius:var(--radius-sm); padding:var(--space-2) var(--space-3); font:400 16px/1.4 var(--font-body); background:var(--color-surface); color:var(--color-text); color-scheme:light; }
.saved-library select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235c6b53' stroke-width='1.5'/%3E%3C/svg%3E"); background-position:right 12px center; background-repeat:no-repeat; padding-right:30px; }
[data-theme="dark"] .saved-library input,[data-theme="dark"] .saved-library select { color-scheme:dark; }
.saved-library-mobile-filter { display:none; }
.saved-library-row { padding:var(--space-5) 0; border-bottom:1px solid var(--color-divider); }
.saved-library-row:first-child { padding-top:var(--space-2); }
.saved-library-row-main { display:grid; grid-template-columns:136px minmax(0,1fr) 44px; gap:var(--space-4); align-items:start; }
.saved-library-image { width:136px; height:96px; object-fit:contain; padding:var(--space-3); background:transparent; }
.saved-library-row h3 { font:600 var(--text-lg)/1.4 var(--font-body); margin:0 0 var(--space-1); overflow-wrap:anywhere; }
.saved-library-row .species-meta { margin:0 0 var(--space-2); }
.saved-library-row .species-saved-label { margin:0 0 var(--space-1); }
.saved-library-row .species-facts { margin-block:var(--space-2); }
.saved-library-row .species-actions { margin-bottom:0; }
.saved-library-row .species-save-heart { margin-top:0; }
.saved-library-permanent { display:block; color:var(--color-text-muted); font-size:var(--text-xs); margin-top:var(--space-2); }
.saved-library-row details { margin-top:var(--space-4); font-size:var(--text-sm); }
.saved-library-row summary { cursor:pointer; min-height:44px; display:list-item; align-content:center; font-weight:600; color:var(--color-primary); }
.saved-library-row details p { margin-block:var(--space-3); line-height:1.65; }
.saved-library-row details h4 { margin-top:var(--space-4); }
.saved-library-row a:not(.btn) { text-decoration:underline; }
.saved-library-row .species-restriction { margin-top:var(--space-3); }
.saved-library-empty { padding:var(--space-7) var(--space-5); text-align:center; border:1px solid var(--color-divider); border-radius:var(--radius-md); background:var(--color-surface); }
.saved-library-empty p { margin-block:var(--space-3); color:var(--color-text-muted); }
.saved-library button:focus-visible,.saved-library a:focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
@media(max-width:700px){
  .saved-library { padding-top:var(--space-4); }
  .saved-library-intro { margin-block:var(--space-3); gap:var(--space-2); }
  .saved-library-intro h1 { font-size:28px; }
  .saved-library-intro .eyebrow,.saved-library-intro p { display:none; }
  .saved-library-layout { grid-template-columns:1fr; gap:var(--space-4); padding-top:var(--space-3); }
  .saved-library-sidebar nav { display:none; }
  .saved-library-mobile-filter { display:grid; gap:var(--space-2); font-size:var(--text-xs); font-weight:600; }
  .saved-library-sidebar h2 { display:none; }
  .saved-library-allowance { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:var(--space-3); margin-top:var(--space-3); padding-top:var(--space-3); font-size:var(--text-xs); }
  .saved-library-allowance strong { grid-column:1; }
  .saved-library-allowance p { grid-column:1; margin-bottom:0; }
  .saved-library-allowance button { grid-column:2; grid-row:1/3; align-self:center; min-height:44px; }
  .saved-library-tools { grid-template-columns:minmax(0,1fr) 138px; }
  .saved-library-row-main { grid-template-columns:72px minmax(0,1fr) 44px; gap:var(--space-2); }
  .saved-library-image { width:72px; height:64px; padding:var(--space-1); }
  .saved-library-row .species-save-heart { width:44px; min-height:44px; }
  .saved-library-row h3 { font-size:var(--text-base); }
}
@media(max-width:370px){.saved-library-tools{grid-template-columns:1fr;}}
