*{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f8fafc;background:#0f172a;font-synthesis:none}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(139,92,246,.18),transparent 34rem),#0f172a}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c4b5fd;outline-offset:3px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);border-bottom:1px solid rgba(148,163,184,.2);background:rgba(15,23,42,.92);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.brand-button{display:flex;align-items:center;gap:.7rem;text-align:left;color:#fff;border:0;background:none}.brand-button small,.brand-button strong{display:block}.brand-button small{color:#a78bfa}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#7c3aed}.main-nav,.top-actions,.binder-actions,.dialog-actions,.page-controls,.page-selector,.filter-row{display:flex;align-items:center;gap:.75rem}.nav-button{padding:.65rem .85rem;color:#cbd5e1;border:0;border-radius:.65rem;background:transparent}.nav-button.active,.nav-button:hover{color:#fff;background:rgba(124,58,237,.25)}.page-container{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem}.view>h1,h1,h2,h3,p{margin-top:0}.hero-panel,.content-card,.search-panel{border:1px solid rgba(148,163,184,.2);border-radius:1.2rem;background:rgba(30,41,59,.76);box-shadow:0 1.5rem 4rem rgba(2,6,23,.2)}.hero-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:2rem;align-items:center;padding:clamp(1.5rem,5vw,3rem)}.hero-panel>div>p:last-child,.muted{color:#94a3b8;line-height:1.65}.eyebrow{margin-bottom:.35rem;color:#c4b5fd;font-size:.77rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.stat-card{padding:1rem;border-radius:1rem;background:rgba(15,23,42,.78)}.stat-card span{display:block;color:#94a3b8;font-size:.84rem}.stat-card strong{font-size:2rem}.section-heading,.binder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.75rem 0 1rem}.binder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.binder-card{overflow:hidden;border:1px solid rgba(148,163,184,.2);border-radius:1rem;background:#111827}.binder-cover{display:grid;min-height:145px;place-items:center;font-size:3rem;background:linear-gradient(135deg,rgba(124,58,237,.92),rgba(49,46,129,.92))}.binder-details{padding:1rem}.binder-details p{min-height:46px;color:#94a3b8;line-height:1.5}.primary-button,.secondary-button,.ghost-button,.danger-button,.icon-button{min-height:44px;padding:.7rem 1rem;border:0;border-radius:.75rem;font-weight:750}.primary-button{color:#fff;background:#7c3aed}.primary-button:hover{background:#6d28d9}.secondary-button{color:#ede9fe;background:rgba(124,58,237,.2)}.ghost-button{color:#e2e8f0;background:rgba(148,163,184,.12)}.danger-button{color:#fecaca;background:rgba(220,38,38,.16)}.icon-button{width:44px;padding:0;color:#e2e8f0;background:rgba(148,163,184,.12);font-size:1.5rem}.file-label{display:inline-flex;align-items:center}.file-label input{display:none}.empty-state{padding:3rem 1rem;text-align:center;border:2px dashed rgba(148,163,184,.28);border-radius:1rem}.empty-state p,.binder-help{color:#94a3b8}.page-controls{justify-content:space-between;padding:1rem;border-radius:1rem;background:rgba(30,41,59,.75)}.page-selector label{font-weight:700}.page-selector select{width:auto}.pocket-grid{display:grid;gap:1rem;margin-top:1rem;max-width:1000px;margin-left:auto;margin-right:auto}.pocket{position:relative;min-width:0;aspect-ratio:5/7;border:2px dashed rgba(148,163,184,.35);border-radius:.8rem;background:rgba(30,41,59,.55);overflow:hidden}.pocket.empty{display:grid;place-items:center;color:#94a3b8}.pocket.empty:hover{border-color:#a78bfa;background:rgba(124,58,237,.12)}.pocket img{width:100%;height:100%;object-fit:cover;display:block}.pocket-number{position:absolute;top:.35rem;left:.35rem;padding:.25rem .45rem;border-radius:.45rem;background:rgba(2,6,23,.82);font-size:.75rem;font-weight:800}.search-panel{padding:1rem;margin-bottom:1rem}.search-panel label{display:block;margin-bottom:.45rem}.result-list{display:grid;gap:.75rem}.result-card{display:grid;grid-template-columns:72px 1fr auto;gap:1rem;align-items:center;padding:.85rem;border:1px solid rgba(148,163,184,.2);border-radius:1rem;background:#111827}.result-card img{width:72px;border-radius:.45rem}.result-card p{margin-bottom:.25rem;color:#94a3b8}.badge{display:inline-block;padding:.25rem .5rem;border-radius:999px;background:rgba(124,58,237,.2);font-size:.75rem}.scryfall-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;max-height:55vh;overflow:auto}.scryfall-card{padding:.65rem;text-align:left;color:#fff;border:1px solid rgba(148,163,184,.2);border-radius:.8rem;background:#0f172a}.scryfall-card:hover{border-color:#a78bfa}.scryfall-card img{width:100%;border-radius:.6rem}.scryfall-card strong,.scryfall-card small{display:block;margin-top:.35rem}.scryfall-card small{color:#94a3b8}.inline-search{display:flex;gap:.75rem}.inline-search input{flex:1}.filter-row{justify-content:flex-end;margin-bottom:1rem}dialog{width:min(560px,calc(100% - 2rem));padding:0;color:#f8fafc;border:1px solid rgba(148,163,184,.25);border-radius:1.2rem;background:#111827}dialog:has(.wide-dialog){width:min(900px,calc(100% - 2rem))}dialog::backdrop{background:rgba(2,6,23,.82);backdrop-filter:blur(5px)}.dialog-form{display:grid;gap:1rem;padding:1.5rem}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dialog-actions{justify-content:flex-end}.dialog-form label{display:grid;gap:.45rem;font-weight:650}.checkbox-row{display:flex!important;align-items:center}.checkbox-row input{width:20px!important;min-height:20px!important}input,select,textarea{width:100%;min-height:46px;padding:.75rem;color:#f8fafc;border:1px solid #475569;border-radius:.7rem;background:#0f172a}textarea{resize:vertical}.card-detail-preview{display:grid;grid-template-columns:160px 1fr;gap:1rem}.card-detail-preview img{width:100%;border-radius:.7rem}.toast{position:fixed;right:1rem;bottom:1rem;max-width:360px;padding:1rem;border-radius:.8rem;background:#ede9fe;color:#312e81;font-weight:750;transform:translateY(160%);transition:transform .25s;z-index:50}.toast.visible{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:860px){.topbar{align-items:stretch;flex-direction:column}.main-nav,.top-actions{flex-wrap:wrap}.hero-panel{grid-template-columns:1fr}.binder-toolbar,.section-heading,.page-controls{align-items:stretch;flex-direction:column}.page-selector{justify-content:center}.result-card{grid-template-columns:60px 1fr}.result-card>.binder-actions{grid-column:1/-1}.card-detail-preview{grid-template-columns:1fr}.card-detail-preview img{max-width:220px}.stats-grid{grid-template-columns:1fr}.inline-search{flex-direction:column}}
/* Correzioni versione 3 */
dialog#card-dialog {
  width: min(980px, calc(100% - 2rem));
}

.wide-dialog {
  max-height: 88vh;
  overflow: hidden;
}

#scryfall-results {
  max-height: 58vh;
  overflow-y: auto;
  padding-right: .35rem;
}

.scryfall-grid {
  grid-template-columns: repeat(auto-fill, minmax(125px, 1fr));
  align-items: start;
}

.scryfall-card {
  display: block;
  min-width: 0;
}

.scryfall-card img {
  display: block;
  width: 100%;
  max-height: 245px;
  object-fit: contain;
  background: #020617;
}

.scryfall-card strong {
  font-size: .88rem;
  overflow-wrap: anywhere;
}

.scryfall-card small {
  line-height: 1.35;
}

.print-confirmation {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 1.25rem;
  align-items: start;
}

.print-confirmation img {
  width: 100%;
  max-height: 255px;
  object-fit: contain;
  border-radius: .7rem;
  background: #020617;
}

.print-data {
  display: grid;
  gap: .45rem;
}

.print-data p {
  margin: 0;
}

.pocket {
  cursor: pointer;
}

.pocket.filled {
  border-style: solid;
  border-color: rgba(167, 139, 250, .55);
  background: #020617;
}

.pocket.filled img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #020617;
}

.pocket-card-fallback {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: .8rem;
  text-align: center;
  color: #ede9fe;
  background: linear-gradient(145deg, #312e81, #111827);
}

.pocket-finish {
  position: absolute;
  right: .35rem;
  bottom: .35rem;
  padding: .22rem .4rem;
  border-radius: .4rem;
  color: #111827;
  background: rgba(237, 233, 254, .92);
  font-size: .68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.backup-help {
  color: #94a3b8;
  font-size: .82rem;
}

@media (max-width: 640px) {
  .scryfall-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scryfall-card img {
    max-height: 210px;
  }

  .print-confirmation {
    grid-template-columns: 1fr;
  }

  .print-confirmation img {
    max-width: 190px;
    margin: 0 auto;
  }
}

/* Miglioramenti versione 4 */
.search-tools {
  display: grid;
  gap: .85rem;
}

.finish-filter {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  color: #cbd5e1;
  font-size: .9rem;
}

.finish-filter select {
  width: min(240px, 100%);
}

.finish-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  margin-top: .55rem;
}

.finish-availability {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: .2rem .45rem;
  border-radius: 999px;
  color: #cbd5e1;
  background: rgba(148, 163, 184, .13);
  font-size: .68rem;
  font-weight: 800;
}

.finish-availability.available {
  color: #f5f3ff;
  background: rgba(124, 58, 237, .42);
}

.finish-availability.foil.available {
  color: #111827;
  background: linear-gradient(100deg, #fde68a, #c4b5fd, #a7f3d0);
}

.finish-availability.etched.available {
  color: #fff;
  background: linear-gradient(100deg, #475569, #7c3aed);
}

.scryfall-card.filtered-out {
  display: none;
}

.edit-card-actions {
  display: grid;
  gap: 1rem;
}

.edit-card-actions > .secondary-button {
  justify-self: start;
}

@media (max-width: 640px) {
  .finish-filter {
    align-items: stretch;
    flex-direction: column;
  }

  .finish-filter select {
    width: 100%;
  }

  .edit-card-actions > .secondary-button {
    width: 100%;
  }
}

/* Personalizzazione raccoglitori — versione 5 */
.binder-toolbar-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.binder-cover {
  position: relative;
  background-size: cover;
  background-position: center;
}

.binder-cover.has-art::after,
.binder-cover-large.has-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(2, 6, 23, .82), rgba(2, 6, 23, .12) 58%, rgba(2, 6, 23, .28));
}

.binder-cover > *,
.binder-cover-large > * {
  position: relative;
  z-index: 1;
}

.binder-cover-title {
  position: absolute;
  left: .85rem;
  right: .85rem;
  bottom: .75rem;
  margin: 0;
  color: #fff;
  font-size: 1rem;
  text-shadow: 0 2px 8px rgba(0,0,0,.9);
}

.binder-cover-large {
  position: relative;
  min-height: 280px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 1rem;
  background:
    linear-gradient(135deg, rgba(124, 58, 237, .92), rgba(49, 46, 129, .92));
  background-size: cover;
  background-position: center;
}

.binder-cover-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem;
}

.binder-cover-overlay strong {
  max-width: 80%;
  font-size: clamp(1.35rem, 4vw, 2.3rem);
  text-shadow: 0 3px 12px rgba(0,0,0,.95);
}

.binder-cover-symbol {
  font-size: 2.2rem;
  text-shadow: 0 3px 12px rgba(0,0,0,.95);
}

.art-result-selected {
  border-color: #c4b5fd !important;
  box-shadow: 0 0 0 3px rgba(196,181,253,.22);
}

@media (max-width: 860px) {
  .binder-toolbar-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Versione 6: Bulk, set automatici e modifica Wants */
.set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.set-card{padding:1rem;border:1px solid rgba(148,163,184,.2);border-radius:1rem;background:#111827}
.set-card h3{margin-bottom:.35rem}.set-progress{height:9px;overflow:hidden;border-radius:99px;background:#0f172a;margin:.8rem 0}.set-progress span{display:block;height:100%;background:#7c3aed}
.set-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:.85rem}
.checklist-card{position:relative;overflow:hidden;padding:.55rem;border:1px solid rgba(148,163,184,.2);border-radius:.8rem;background:#111827}
.checklist-card img{display:block;width:100%;aspect-ratio:5/7;object-fit:contain;border-radius:.55rem;background:#020617}
.checklist-card.missing{filter:grayscale(1);opacity:.42}
.checklist-card.owned{border-color:#8b5cf6;box-shadow:0 0 0 2px rgba(139,92,246,.18)}
.checklist-card strong,.checklist-card small{display:block;margin-top:.35rem}.checklist-card small{color:#94a3b8}
.owned-count{position:absolute;top:.8rem;right:.8rem;padding:.25rem .45rem;border-radius:999px;background:#7c3aed;color:#fff;font-size:.72rem;font-weight:850}
.bulk-quantity{font-size:1.15rem;font-weight:850}
@media(max-width:640px){.set-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Versione 7 Cloud */
.auth-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  background:
    radial-gradient(circle at top left, rgba(124,58,237,.23), transparent 34rem),
    radial-gradient(circle at bottom right, rgba(59,130,246,.15), transparent 30rem),
    #020617;
}
.auth-card {
  width: min(460px, 100%);
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 1.3rem;
  background: rgba(15,23,42,.94);
  box-shadow: 0 24px 80px rgba(0,0,0,.42);
}
.auth-brand { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }
.auth-brand h1 { margin:.15rem 0 0; }
.auth-brand small { color:#a78bfa; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; padding:.35rem; margin-bottom:1rem; border-radius:.8rem; background:#020617; }
.auth-tab { padding:.7rem; border:0; border-radius:.6rem; color:#94a3b8; background:transparent; font-weight:800; cursor:pointer; }
.auth-tab.active { color:#fff; background:#312e81; }
.config-warning { margin-bottom:1rem; padding:1rem; border:1px solid rgba(245,158,11,.4); border-radius:.8rem; background:rgba(245,158,11,.1); }
.config-warning p { margin:.4rem 0 0; }
.cloud-status { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .65rem; border-radius:999px; color:#94a3b8; background:#0f172a; font-size:.78rem; font-weight:850; }
.cloud-status::before { content:""; width:.55rem; height:.55rem; border-radius:50%; background:#64748b; }
.cloud-status.syncing::before { background:#f59e0b; animation:pulse-cloud 1s infinite; }
.cloud-status.synced::before { background:#22c55e; }
.cloud-status.error::before { background:#ef4444; }
.cloud-status.offline::before { background:#64748b; }
@keyframes pulse-cloud { 50% { opacity:.3; } }
#app-shell[hidden], #auth-screen[hidden] { display:none !important; }

.version-label{display:inline-block;margin-left:.45rem;padding:.16rem .4rem;border-radius:999px;background:rgba(124,58,237,.2);color:#c4b5fd;font-size:.62rem;vertical-align:middle}

/* Versione 9: quantità rapida, profilo e autenticazione */
.profile-avatar-button{display:grid;place-items:center;width:42px;height:42px;padding:0;overflow:hidden;border:2px solid rgba(196,181,253,.45);border-radius:50%;color:#fff;background:#312e81;font-weight:900}.profile-avatar-button img,.profile-avatar-large img{width:100%;height:100%;object-fit:cover}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.profile-card{padding:1.35rem}.profile-card.danger-zone{grid-column:1/-1;border-color:rgba(239,68,68,.35)}.profile-header{display:flex;align-items:center;gap:1rem}.profile-avatar-large{display:grid;flex:0 0 auto;place-items:center;width:112px;height:112px;padding:0;overflow:hidden;border:3px solid rgba(196,181,253,.5);border-radius:50%;color:#fff;background:#312e81;font-size:2.4rem;font-weight:900}.profile-form{padding:1rem 0 0}.avatar-art-card img{aspect-ratio:1/1;object-fit:cover;object-position:center 20%}.auth-divider{display:flex;align-items:center;gap:.75rem;color:#64748b;font-size:.78rem}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#334155}.google-button{min-height:46px;padding:.7rem 1rem;border:1px solid #475569;border-radius:.75rem;color:#f8fafc;background:#fff;color:#1f2937;font-weight:800}.google-g{display:inline-grid;place-items:center;margin-right:.45rem;color:#4285f4;font-size:1.1rem;font-weight:950}
@media(max-width:760px){.profile-grid{grid-template-columns:1fr}.profile-card.danger-zone{grid-column:auto}.profile-header{align-items:flex-start;flex-direction:column}.top-actions .profile-avatar-button{order:-1}}

/* Versione 10: controlli quantità coerenti per raccoglitori e Bulk */
.quantity-control{display:inline-grid;grid-template-columns:1.75rem minmax(1.8rem,auto) 1.75rem;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(2,6,23,.9);box-shadow:0 4px 14px rgba(0,0,0,.34);font-weight:900}
.quantity-button{display:grid;place-items:center;width:1.75rem;min-height:1.75rem;padding:0;border:0;color:#fff;background:transparent;font-size:1rem;font-weight:950;line-height:1}
.quantity-button:hover{background:#7c3aed}.quantity-button:active{transform:scale(.94)}
.quantity-value{min-width:1.8rem;padding:0 .28rem;text-align:center;color:#fff;font-size:.75rem;line-height:1.75rem;border-right:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}
.pocket-quantity-control{position:absolute;left:50%;bottom:.3rem;z-index:4;transform:translateX(-50%)}
.bulk-quantity-slot{display:flex;justify-content:flex-start;margin:.38rem 0 .42rem}.bulk-quantity-control{position:static;background:#020617}
@media(max-width:520px){.quantity-control{grid-template-columns:1.6rem minmax(1.65rem,auto) 1.6rem}.quantity-button{width:1.6rem;min-height:1.6rem}.quantity-value{line-height:1.6rem}.pocket-finish{font-size:.58rem;padding:.18rem .3rem}.pocket-quantity-control{bottom:.25rem}}


/* Magic Binder 1.1.0 — Binder UX */
.page-flip-button {
  min-height: 40px;
  padding: .55rem .8rem;
  border: 1px solid rgba(167, 139, 250, .45);
  border-radius: 999px;
  color: #ede9fe;
  background: rgba(124, 58, 237, .16);
  font-weight: 800;
  white-space: nowrap;
}

.page-flip-button:hover:not(:disabled) {
  background: rgba(124, 58, 237, .3);
}

.page-flip-button:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.binder-name-editor {
  display: grid;
  gap: .5rem;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 1rem;
  background: rgba(15, 23, 42, .55);
}

.binder-name-editor > label {
  font-weight: 750;
}

@media (max-width: 640px) {
  .page-flip-button {
    width: 100%;
  }
}

/* Magic Binder 1.2.0 — Binder Organizer */
.page-side-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:84px;
  min-height:40px;
  padding:.5rem .8rem;
  border:1px solid rgba(148,163,184,.24);
  border-radius:999px;
  color:#c4b5fd;
  background:rgba(15,23,42,.72);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
}

#selection-mode-button.active{
  color:#fff;
  background:rgba(124,58,237,.35);
  box-shadow:0 0 0 2px rgba(167,139,250,.18);
}

.selection-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:1rem 0;
  padding:.8rem 1rem;
  border:1px solid rgba(167,139,250,.35);
  border-radius:1rem;
  background:rgba(76,29,149,.18);
}
.selection-toolbar-actions{display:flex;align-items:center;gap:.65rem}

.pocket-selection-mark{
  display:none;
  position:absolute;
  top:.45rem;
  right:.45rem;
  z-index:6;
  width:1.9rem;
  height:1.9rem;
  place-items:center;
  border:2px solid rgba(255,255,255,.8);
  border-radius:50%;
  color:#fff;
  background:rgba(15,23,42,.84);
  font-weight:950;
}
#selection-toolbar:not([hidden]) ~ .binder-help + .pocket-grid .pocket-selection-mark{display:grid}
.pocket.selected-for-move{
  border-color:#a78bfa;
  box-shadow:0 0 0 4px rgba(124,58,237,.35),0 0 30px rgba(124,58,237,.24);
}
.pocket.selected-for-move .pocket-selection-mark{background:#7c3aed}

.move-dialog-layout{gap:1.2rem}
.move-selection-summary{display:grid;gap:.65rem;max-height:230px;overflow:auto;padding-right:.25rem}
.move-selection-item{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:.8rem;
  padding:.65rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:.85rem;
  background:rgba(15,23,42,.58);
}
.move-selection-item img{width:54px;aspect-ratio:5/7;object-fit:cover;border-radius:.4rem;background:#020617}
.move-selection-item strong,.move-selection-item small{display:block}
.move-selection-item small{margin-top:.2rem;color:#94a3b8}
.move-quantity-box{display:grid;justify-items:end;gap:.3rem}
.move-quantity-control{position:static}

.move-destination-controls{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);
  gap:1rem;
  align-items:end;
}
.field-label{display:block;margin-bottom:.45rem;font-weight:650}
.move-side-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.move-side-toggle .active{color:#fff;background:#7c3aed}
.move-side-toggle button:disabled{opacity:.4;cursor:not-allowed}

.move-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.7rem}
.move-preview-heading p{margin:.25rem 0 0}
.move-target-status{
  flex:0 0 auto;
  padding:.4rem .65rem;
  border-radius:999px;
  color:#cbd5e1;
  background:rgba(148,163,184,.12);
  font-size:.76rem;
  font-weight:800;
}
.move-target-status.ready{color:#dcfce7;background:rgba(34,197,94,.16)}
.move-target-status.error{color:#fecaca;background:rgba(239,68,68,.16)}

.move-pocket-preview{display:grid;gap:.65rem}
.move-preview-pocket{
  position:relative;
  display:grid;
  min-width:0;
  aspect-ratio:5/7;
  place-items:center;
  overflow:hidden;
  padding:.35rem;
  border:2px dashed rgba(148,163,184,.35);
  border-radius:.75rem;
  color:#cbd5e1;
  background:rgba(30,41,59,.55);
}
.move-preview-pocket.available:hover{border-color:#a78bfa;background:rgba(124,58,237,.12)}
.move-preview-pocket.occupied{cursor:not-allowed;border-style:solid;opacity:.58}
.move-preview-pocket img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.move-preview-pocket.occupied>span:not(.move-target-order){position:absolute;top:.3rem;left:.3rem;z-index:2;padding:.18rem .35rem;border-radius:.35rem;background:rgba(2,6,23,.84);font-size:.68rem;font-weight:850}
.move-preview-pocket small{font-size:.66rem;color:#94a3b8}
.move-preview-pocket.move-target{border-style:solid;border-color:#a78bfa;box-shadow:0 0 0 3px rgba(124,58,237,.26);background:rgba(124,58,237,.18)}
.move-preview-pocket.move-start{box-shadow:0 0 0 4px rgba(196,181,253,.38)}
.move-target-order{
  position:absolute;
  top:.3rem;
  right:.3rem;
  z-index:5;
  display:grid;
  place-items:center;
  width:1.65rem;
  height:1.65rem;
  border-radius:50%;
  color:#fff;
  background:#7c3aed;
  font-size:.72rem;
  font-weight:950;
}

@media(max-width:760px){
  .selection-toolbar,.move-preview-heading{align-items:stretch;flex-direction:column}
  .selection-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}
  .move-selection-item{grid-template-columns:46px 1fr}
  .move-selection-item img{width:46px}
  .move-quantity-box{grid-column:1/-1;justify-items:start}
  .move-destination-controls{grid-template-columns:1fr}
  .move-target-status{align-self:flex-start}
  .page-side-label{width:100%}
}

/* Magic Binder 1.2.0 — Move dialog viewport/scroll fix */
#move-card-dialog{
  max-height:calc(100dvh - 2rem);
  overflow:hidden;
}

#move-card-dialog .move-dialog-layout{
  max-height:calc(100dvh - 2rem);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

#move-card-dialog .dialog-heading{
  position:sticky;
  top:-1.5rem;
  z-index:8;
  margin:-1.5rem -1.5rem 0;
  padding:1.5rem 1.5rem 1rem;
  border-bottom:1px solid rgba(148,163,184,.14);
  background:#111827;
}

#move-card-dialog .dialog-actions{
  position:sticky;
  bottom:-1.5rem;
  z-index:8;
  margin:0 -1.5rem -1.5rem;
  padding:1rem 1.5rem 1.5rem;
  border-top:1px solid rgba(148,163,184,.14);
  background:#111827;
}

@media(max-height:760px){
  #move-card-dialog{
    max-height:calc(100dvh - 1rem);
  }
  #move-card-dialog .move-dialog-layout{
    max-height:calc(100dvh - 1rem);
    padding:1rem;
  }
  #move-card-dialog .dialog-heading{
    top:-1rem;
    margin:-1rem -1rem 0;
    padding:1rem 1rem .8rem;
  }
  #move-card-dialog .dialog-actions{
    bottom:-1rem;
    margin:0 -1rem -1rem;
    padding:.8rem 1rem 1rem;
  }
}

/* Magic Binder 1.3.0 — Friends Stage 2: profilo social e username */
.social-profile-notice{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  margin-top:1rem;
  padding:.85rem 1rem;
  border:1px solid rgba(245,158,11,.4);
  border-radius:.85rem;
  color:#fde68a;
  background:rgba(120,53,15,.2);
}
.social-profile-notice[hidden]{display:none!important}
.social-profile-notice strong{color:#fef3c7}
.profile-social-help{margin:0}
.field-status{display:block;margin-top:.38rem;font-size:.76rem;line-height:1.35}
.field-status.neutral{color:#94a3b8}
.field-status.checking{color:#c4b5fd}
.field-status.success{color:#86efac}
.field-status.error{color:#fca5a5}
#profile-username{text-transform:none}

/* Magic Binder 1.3.0 — Friends Stage 3 */
.friends-nav-button{display:inline-flex;align-items:center;gap:.4rem}
.nav-badge{
  display:inline-grid;
  min-width:1.25rem;
  height:1.25rem;
  padding:0 .3rem;
  place-items:center;
  border-radius:999px;
  color:#fff;
  background:#7c3aed;
  font-size:.68rem;
  font-weight:900;
}
.nav-badge[hidden]{display:none!important}
.social-gate{margin-top:1rem}
.friends-search-card{margin-bottom:1rem}
.friends-search-card>label{display:block;margin:.8rem 0 .4rem;font-weight:700}
.friends-search-card>input{width:100%}
.friends-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}
.friends-main-card{margin-top:1rem}
.friends-card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.friends-card-heading h2{display:flex;align-items:center;gap:.55rem;margin:.15rem 0 0}
.count-pill{
  display:inline-grid;
  min-width:1.7rem;
  height:1.7rem;
  padding:0 .45rem;
  place-items:center;
  border-radius:999px;
  color:#ddd6fe;
  background:rgba(124,58,237,.18);
  font-size:.78rem;
  font-weight:900;
}
.friends-list{display:grid;gap:.65rem}
.compact-list{margin-top:.8rem;max-height:340px;overflow:auto;padding-right:.2rem}
.friend-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.85rem;
  padding:.75rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:.9rem;
  background:rgba(15,23,42,.5);
}
.friend-avatar{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(167,139,250,.3);
  border-radius:50%;
  color:#ede9fe;
  background:rgba(124,58,237,.2);
  font-weight:900;
}
.friend-avatar img{width:100%;height:100%;object-fit:cover}
.friend-row-copy{min-width:0}
.friend-row-copy strong,.friend-row-copy span,.friend-row-copy small{display:block}
.friend-row-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.friend-row-copy span{margin-top:.1rem;color:#c4b5fd;font-size:.84rem}
.friend-row-copy small{margin-top:.18rem;color:#94a3b8}
.friend-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}
.compact-button{min-height:34px;padding:.42rem .7rem;font-size:.78rem}
.danger-ghost-button{
  border:1px solid rgba(248,113,113,.32);
  border-radius:.65rem;
  color:#fca5a5;
  background:rgba(127,29,29,.12);
  cursor:pointer;
  font-weight:750;
}
.danger-ghost-button:hover{background:rgba(127,29,29,.25)}
.friend-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:.35rem .65rem;
  border-radius:999px;
  font-size:.73rem;
  font-weight:850;
}
.friend-status-pill.accepted{color:#86efac;background:rgba(22,101,52,.22)}
.friend-status-pill.pending{color:#fde68a;background:rgba(120,53,15,.22)}
.friends-search-hint,.friends-empty-mini{
  padding:.8rem;
  border:1px dashed rgba(148,163,184,.2);
  border-radius:.75rem;
  color:#94a3b8;
  text-align:center;
}
.friends-search-hint.error{color:#fca5a5}
.friends-empty-state{margin:0}
.friends-loading-status{min-height:1.2em}
@media(max-width:880px){
  .friends-dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .friend-row{grid-template-columns:auto minmax(0,1fr)}
  .friend-row-actions{grid-column:1/-1;justify-content:flex-start}
  .friend-row-actions button{flex:1}
}


/* Magic Binder 1.3.2 — rifinitura Social / menu account */
.account-menu-wrap{
  position:relative;
  flex:0 0 auto;
}
.account-menu{
  position:absolute;
  top:calc(100% + .7rem);
  right:0;
  z-index:60;
  width:min(260px,calc(100vw - 2rem));
  padding:.45rem;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.24);
  border-radius:1rem;
  background:rgba(15,23,42,.98);
  box-shadow:0 18px 50px rgba(2,6,23,.55);
  backdrop-filter:blur(18px);
}
.account-menu[hidden]{display:none!important}
.account-menu-item{
  display:flex;
  width:100%;
  min-height:42px;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.65rem .75rem;
  border:0;
  border-radius:.7rem;
  color:#e2e8f0;
  background:transparent;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  font:inherit;
  font-weight:750;
}
.account-menu-item:hover,
.account-menu-item:focus-visible{
  color:#fff;
  background:rgba(124,58,237,.22);
}
.account-menu-file{
  position:relative;
}
.account-menu-file input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.account-menu-danger{color:#fca5a5}
.account-menu-danger:hover{background:rgba(127,29,29,.22)}
.account-menu-separator{
  height:1px;
  margin:.35rem .45rem;
  background:rgba(148,163,184,.18);
}

/* La pagina amici usa card con padding proprio e contenuti che possono restringersi. */
#friends-view .content-card{
  min-width:0;
  padding:1.15rem;
}
#friends-view .friends-card-heading,
#friends-view .friends-card-heading>div,
#friends-view .friends-card-heading h2{
  min-width:0;
  max-width:100%;
}
#friends-view .friends-card-heading h2{
  flex-wrap:wrap;
  overflow-wrap:anywhere;
}
#friends-view .eyebrow{
  max-width:100%;
  overflow-wrap:anywhere;
}
#friends-view .friends-dashboard-grid>*{
  min-width:0;
}
.friend-row{
  min-width:0;
  max-width:100%;
}
.friend-row-copy{
  min-width:0;
  overflow:hidden;
}
.friend-row-copy strong,
.friend-row-copy span,
.friend-row-copy small{
  max-width:100%;
  overflow-wrap:anywhere;
}
.friend-row-copy strong{
  white-space:normal;
}
.friend-row-actions{
  min-width:0;
}
.friends-search-hint,
.friends-empty-mini,
.friends-empty-state{
  max-width:100%;
  overflow-wrap:anywhere;
}

/* Lo stato username è informativo solo durante modifica/validazione. */
#profile-username-status:empty{display:none}

/* Header più leggero: azioni account raccolte sotto l'avatar. */
.top-actions{flex:0 0 auto}

@media(max-width:1040px){
  .topbar{flex-wrap:wrap}
  .main-nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}
}
@media(max-width:700px){
  #friends-view .content-card{padding:1rem}
  .friends-card-heading h2{font-size:1.2rem}
  .profile-grid{grid-template-columns:1fr}
  .account-menu{position:fixed;top:72px;right:1rem}
}


/* Magic Binder 1.3.3 — UI polish: copertine, logo e dialog personalizzazione */
.brand-logo{
  display:block;
  width:42px;
  height:42px;
  flex:0 0 42px;
  object-fit:cover;
  border-radius:12px;
  box-shadow:0 0 0 1px rgba(196,181,253,.28),0 8px 24px rgba(2,6,23,.28);
}
.auth-brand .brand-logo{
  width:54px;
  height:54px;
  flex-basis:54px;
  border-radius:15px;
}

/* La copertina mostra solo l'artwork: il nome resta nei dettagli della card. */
.binder-cover{
  min-height:145px;
}
.binder-cover.has-art::after,
.binder-cover-large.has-art::after{
  display:none;
}
.binder-cover-title,
.binder-cover-symbol,
.binder-cover-overlay{
  display:none!important;
}

/* Personalizzazione raccoglitore: dialog contenuto nel viewport e scrollabile. */
#binder-custom-dialog{
  max-height:calc(100dvh - 2rem);
  overflow:hidden;
}
#binder-custom-dialog .wide-dialog{
  max-height:calc(100dvh - 2rem);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#binder-custom-dialog .dialog-heading{
  position:sticky;
  top:-1.5rem;
  z-index:8;
  margin:-1.5rem -1.5rem 0;
  padding:1.5rem 1.5rem 1rem;
  border-bottom:1px solid rgba(148,163,184,.14);
  background:#111827;
}
#binder-custom-dialog .binder-custom-actions{
  position:sticky;
  bottom:-1.5rem;
  z-index:8;
  margin:0 -1.5rem -1.5rem;
  padding:1rem 1.5rem 1.5rem;
  border-top:1px solid rgba(148,163,184,.14);
  background:#111827;
}
#binder-custom-dialog #binder-art-results{
  max-height:none;
  overflow:visible;
}
#apply-binder-cover-button:disabled{
  cursor:not-allowed;
  opacity:.48;
}

@media(max-height:760px){
  #binder-custom-dialog,
  #binder-custom-dialog .wide-dialog{
    max-height:calc(100dvh - 1rem);
  }
  #binder-custom-dialog .wide-dialog{
    padding:1rem;
  }
  #binder-custom-dialog .dialog-heading{
    top:-1rem;
    margin:-1rem -1rem 0;
    padding:1rem 1rem .8rem;
  }
  #binder-custom-dialog .binder-custom-actions{
    bottom:-1rem;
    margin:0 -1rem -1rem;
    padding:.8rem 1rem 1rem;
  }
}

/* Magic Binder 1.4.0 — Binder visibility */
.binder-title-row{
  display:flex;
  align-items:center;
  gap:.65rem;
  min-width:0;
}

.binder-title-row h3{
  min-width:0;
  overflow-wrap:anywhere;
}

.binder-sharing-badge{
  flex:0 0 auto;
  padding:.24rem .55rem;
  border:1px solid rgba(167,139,250,.45);
  border-radius:999px;
  background:rgba(124,58,237,.16);
  color:#c4b5fd;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.binder-visibility-editor{
  display:grid;
  gap:.8rem;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(10,18,34,.35);
}

.binder-visibility-editor h3{
  margin:.15rem 0 0;
}

.binder-visibility-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}

.binder-visibility-option{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  padding:.85rem;
  border:1px solid var(--border);
  border-radius:14px;
  cursor:pointer;
  background:rgba(15,23,42,.5);
}

.binder-visibility-option:has(input:checked){
  border-color:rgba(139,92,246,.75);
  background:rgba(124,58,237,.12);
  box-shadow:0 0 0 1px rgba(139,92,246,.16) inset;
}

.binder-visibility-option input{
  margin-top:.18rem;
  accent-color:#8b5cf6;
}

.binder-visibility-option span{
  display:grid;
  gap:.2rem;
  min-width:0;
}

.binder-visibility-option small{
  color:var(--muted);
  line-height:1.4;
}

.binder-visibility-status{
  margin:0;
}

.binder-visibility-status.shared{
  color:#86efac;
}

.error-text{
  color:#fca5a5 !important;
}

@media (max-width:700px){
  .binder-visibility-options{grid-template-columns:1fr;}
  .binder-title-row{align-items:flex-start;flex-direction:column;gap:.35rem;}
}


/* Magic Binder 1.4.0 — Shared Binders Stage 3 */
.friend-public-identity{display:flex;align-items:center;gap:1rem;margin-top:.8rem}
.friend-public-identity h1{margin:0 0 .25rem}
.friend-avatar.large{width:76px;height:76px;flex:0 0 76px;font-size:1.5rem}
.friend-profile-heading{align-items:flex-start}
.friend-profile-heading .ghost-button{margin-bottom:.8rem}
.shared-binder-grid{margin-top:1rem}
.shared-binder-card .binder-cover{min-height:170px;background-position:center;background-size:cover}
.read-only-mini,.read-only-pill{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .55rem;border-radius:999px;color:#ddd6fe;background:rgba(124,58,237,.22);font-size:.72rem;font-weight:800;white-space:nowrap}
.shared-binder-toolbar{align-items:flex-start}
.shared-binder-toolbar>div{min-width:0}
.read-only-pocket{cursor:default}
.read-only-pocket.empty:hover{border-color:rgba(148,163,184,.35);background:rgba(30,41,59,.55)}
.read-only-pocket-grid{padding-bottom:1rem}
.shared-quantity-badge{position:absolute;left:50%;bottom:.35rem;transform:translateX(-50%);padding:.25rem .55rem;border-radius:999px;background:rgba(2,6,23,.88);color:#fff;font-size:.78rem;font-weight:900;box-shadow:0 4px 14px rgba(2,6,23,.35)}
@media(max-width:680px){.friend-public-identity{align-items:flex-start}.friend-avatar.large{width:62px;height:62px;flex-basis:62px}.shared-binder-toolbar{flex-direction:column}.read-only-pill{align-self:flex-start}}

/* Magic Binder 1.5.0 — List Checker */
.list-import-dialog{
  width:min(980px,calc(100vw - 1rem));
  max-width:min(980px,calc(100vw - 1rem));
  max-height:calc(100dvh - 1rem);
  overflow:hidden;
}
.list-import-layout{
  box-sizing:border-box;
  width:100%;
  max-height:calc(100dvh - 2rem);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-bottom:0;
}
.list-import-layout .dialog-heading{
  position:sticky;
  top:-1.5rem;
  z-index:8;
  margin:-1.5rem -1.5rem 1.25rem;
  padding:1.5rem 1.5rem 1rem;
  background:#111827;
  border-bottom:1px solid rgba(148,163,184,.14);
}
.list-import-actions{
  position:sticky;
  bottom:-1.5rem;
  z-index:8;
  margin:1rem -1.5rem -1.5rem;
  padding:1rem 1.5rem 1.5rem;
  background:#111827;
  border-top:1px solid rgba(148,163,184,.14);
}
#list-import-input-step label{
  display:block;
  margin-bottom:.6rem;
  font-weight:800;
}
#list-import-text{
  box-sizing:border-box;
  display:block;
  width:100%;
  min-height:260px;
  padding:1rem 1.1rem;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  line-height:1.55;
}
#list-import-text::placeholder{
  font-family:inherit;
  color:var(--muted);
  opacity:.9;
}
.list-import-step,.list-import-results-step{
  display:grid;
  gap:1.15rem;
  min-width:0;
}
.list-import-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
  margin:.25rem 0 .15rem;
}
.list-summary-card{
  min-width:0;
  padding:1rem 1.05rem;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(15,23,42,.56);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.9rem;
}
.list-summary-card span{
  min-width:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.25;
}
.list-summary-card strong{
  flex:0 0 auto;
  font-size:1.35rem;
  line-height:1;
}
.list-import-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin:.15rem 0 .2rem;
}
.list-filter-group{display:flex;gap:.4rem;flex-wrap:wrap}
.list-filter{
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(15,23,42,.55);
  color:var(--text);
  padding:.48rem .8rem;
  cursor:pointer;
  font:inherit;
  font-weight:700;
}
.list-filter.active{
  border-color:rgba(139,92,246,.8);
  background:rgba(124,58,237,.22);
  color:#ddd6fe;
}
.list-import-results{
  display:grid;
  gap:.85rem;
  min-width:0;
  padding-bottom:.5rem;
}
.list-check-card{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:1rem;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(15,23,42,.48);
  min-width:0;
}
.list-check-card.missing{border-color:rgba(248,113,113,.3)}
.list-check-card.complete{border-color:rgba(74,222,128,.25)}
.list-check-card>img{
  width:92px;
  aspect-ratio:488/680;
  object-fit:cover;
  border-radius:8px;
  background:rgba(30,41,59,.8);
}
.list-check-body{min-width:0;display:grid;gap:.65rem}
.list-check-heading{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}
.list-check-heading h3{margin:0;overflow-wrap:anywhere}
.list-check-counts{display:flex;gap:.5rem;flex-wrap:wrap}
.list-check-pill{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  padding:.32rem .62rem;
  border-radius:999px;
  background:rgba(30,41,59,.8);
  font-size:.76rem;
  font-weight:800;
  line-height:1.2;
}
.list-check-pill.good{background:rgba(22,163,74,.16);color:#86efac}
.list-check-pill.bad{background:rgba(220,38,38,.16);color:#fca5a5}
.list-location-list{display:grid;gap:.38rem;margin:.2rem 0 0;padding:0;list-style:none}
.list-location-item{
  padding:.6rem .75rem;
  border-radius:10px;
  background:rgba(2,6,23,.35);
  color:var(--muted);
  font-size:.86rem;
  overflow-wrap:anywhere;
}
.list-location-item strong{color:var(--text)}
.list-unresolved{padding:.7rem;border-radius:12px;background:rgba(245,158,11,.09);color:#fde68a;font-size:.86rem}

@media(max-width:700px){
  .list-import-summary{grid-template-columns:1fr}
  .list-summary-card{padding:.85rem .9rem}
  .list-check-card{grid-template-columns:64px minmax(0,1fr);gap:.75rem;padding:.8rem}
  .list-check-card>img{width:64px}
  .list-check-heading{display:grid}
  .list-import-layout{padding:1rem;max-height:calc(100dvh - 1rem)}
  .list-import-layout .dialog-heading{top:-1rem;margin:-1rem -1rem 1rem;padding:1rem}
  .list-import-actions{bottom:-1rem;margin:1rem -1rem -1rem;padding:.8rem 1rem 1rem}
}

/* Magic Binder 1.5.1 — Binder settings polish */
.binder-settings-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:.85rem;
}

.binder-pages-editor,
.binder-visibility-editor{
  display:grid;
  align-content:start;
  gap:.6rem;
  min-width:0;
  padding:.85rem;
  border:1px solid rgba(148,163,184,.22);
  border-radius:14px;
  background:rgba(10,18,34,.3);
}

.binder-pages-editor h3,
.binder-visibility-editor h3{
  margin:.1rem 0 0;
  font-size:1rem;
}

.binder-page-count-control{
  display:grid;
  grid-template-columns:42px minmax(74px,96px) 42px minmax(0,1fr);
  gap:.45rem;
  align-items:center;
}

.binder-page-count-control input{
  min-width:0;
  min-height:40px;
  padding:.55rem .6rem;
  text-align:center;
}

.compact-button{
  min-height:40px;
  padding:.35rem .5rem;
  font-size:1.15rem;
}

.binder-page-count-status,
.binder-visibility-status{
  margin:0;
  font-size:.82rem;
  line-height:1.35;
}

.binder-visibility-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem;
}

.binder-visibility-option{
  position:relative;
  display:block;
  padding:0;
  border:0;
  background:transparent;
}

.binder-visibility-option input{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}

.binder-visibility-option span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.55rem .75rem;
  border:1px solid rgba(148,163,184,.25);
  border-radius:10px;
  color:#cbd5e1;
  background:rgba(15,23,42,.55);
  font-weight:800;
  cursor:pointer;
}

.binder-visibility-option:has(input:checked) span{
  border-color:rgba(139,92,246,.78);
  color:#fff;
  background:rgba(124,58,237,.22);
  box-shadow:0 0 0 1px rgba(139,92,246,.12) inset;
}

.binder-visibility-option:focus-within span{
  outline:3px solid #c4b5fd;
  outline-offset:2px;
}

#binder-page-reduction-dialog{
  width:min(620px,calc(100% - 2rem));
}

.page-reduction-dialog-form{
  max-height:min(82vh,680px);
  overflow:auto;
}

.warning-panel{
  padding:.9rem 1rem;
  border:1px solid rgba(248,113,113,.38);
  border-radius:12px;
  color:#fecaca;
  background:rgba(127,29,29,.18);
  line-height:1.5;
}

.page-reduction-actions{
  flex-wrap:wrap;
}

@media (max-width:760px){
  .binder-settings-grid{grid-template-columns:1fr;}
  .binder-page-count-control{grid-template-columns:42px minmax(70px,1fr) 42px;}
  .binder-page-count-control #save-binder-page-count-button{grid-column:1/-1;}
  .page-reduction-actions{align-items:stretch;flex-direction:column;}
  .page-reduction-actions button{width:100%;}
}


/* v1.5.3 — Search & Shared Binder UX */
.card-search-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;align-items:end}
.card-search-filters label{display:grid;gap:.4rem;font-weight:700}
.shared-binder-heading-main{display:grid;gap:.9rem;min-width:0}
.shared-binder-heading-main>.compact-button{justify-self:start}
.shared-binder-search-panel{margin-top:0;margin-bottom:1rem}
.shared-search-results{display:grid;gap:.55rem;margin-top:.9rem;padding-top:.9rem;border-top:1px solid rgba(148,163,184,.18)}
.shared-search-summary{color:#c4b5fd;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.shared-search-result{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border:1px solid rgba(148,163,184,.18);border-radius:.8rem;background:rgba(15,23,42,.62)}
.shared-search-result>div{display:grid;gap:.18rem;min-width:0}
.shared-search-result strong{overflow-wrap:anywhere}
.shared-search-result span{color:#94a3b8;font-size:.82rem}
.shared-search-empty{margin:0}
.read-only-pocket.shared-search-highlight{border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(167,139,250,.35),0 0 28px rgba(124,58,237,.28)}
@media(max-width:760px){.card-search-filters{grid-template-columns:1fr}.shared-search-result{align-items:stretch;flex-direction:column}.shared-search-result .compact-button{align-self:flex-start}}


/* v1.5.3 — ricerca globale profilo amico + import lista */
.friend-global-search-card{margin:1rem 0 1.25rem;padding:1rem}
.friend-global-search-form{display:grid;gap:.45rem;margin-top:.8rem}
.friend-global-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:center}
.friend-global-result{display:grid;gap:.6rem;padding:.8rem;border:1px solid rgba(148,163,184,.18);border-radius:.9rem;background:rgba(15,23,42,.45)}
.friend-global-result-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.friend-global-result-heading h3{margin:0;overflow-wrap:anywhere}
.friend-global-locations{display:grid;gap:.45rem}
.friend-list-check-body{grid-column:1/-1}
#friend-list-import-dialog .list-import-layout{max-height:min(88vh,820px);overflow:auto}
#friend-list-import-dialog .list-import-results{max-height:min(48vh,520px);overflow:auto;padding-right:.25rem}
@media(max-width:760px){.friend-global-search-row{grid-template-columns:1fr}.friend-global-search-row button{width:100%}.friend-global-result-heading{align-items:flex-start}.friend-global-locations .shared-search-result{flex-direction:column;align-items:stretch}}


/* v1.6.0 — notifiche e interesse carte */
.notifications-wrap{position:relative;display:flex;align-items:center;justify-content:center}
.notification-count-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;height:34px;padding:0 .58rem;
  border:0;border-radius:999px;
  background:#7c3aed;color:#fff;
  font-weight:900;font-size:.86rem;line-height:1;
  box-shadow:0 8px 24px rgba(124,58,237,.32);
}
.notification-count-button:hover{background:#6d28d9}
.notification-count-button[hidden]{display:none!important}
.notifications-panel{
  position:absolute;top:calc(100% + .7rem);right:0;
  width:min(430px,calc(100vw - 2rem));
  max-height:min(620px,72vh);
  overflow:hidden;
  border:1px solid rgba(148,163,184,.24);
  border-radius:1rem;background:#111827;
  box-shadow:0 24px 70px rgba(2,6,23,.55);
  z-index:45;
}
.notifications-panel-heading{
  position:sticky;top:0;z-index:2;
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1rem;border-bottom:1px solid rgba(148,163,184,.16);
  background:rgba(17,24,39,.97);backdrop-filter:blur(12px)
}
.notifications-panel-heading h3{margin-bottom:0}
.notifications-list{display:grid;gap:.55rem;max-height:calc(min(620px,72vh) - 92px);padding:.75rem;overflow-y:auto}
.notifications-empty{padding:1.4rem;text-align:center;color:#94a3b8}
.notification-item{
  display:flex;align-items:center;justify-content:space-between;gap:.9rem;
  padding:.85rem;border:1px solid rgba(148,163,184,.16);
  border-radius:.85rem;background:rgba(15,23,42,.72)
}
.notification-item.unread{border-color:rgba(167,139,250,.48);background:rgba(124,58,237,.11)}
.notification-copy{display:grid;gap:.25rem;min-width:0}
.notification-copy strong,.notification-copy span{overflow-wrap:anywhere}
.notification-copy span{color:#cbd5e1;font-size:.88rem;line-height:1.4}
.notification-copy small{color:#64748b;font-size:.75rem}
.shared-pocket-slot{display:grid;gap:.45rem;min-width:0}
.card-interest-button{
  width:100%;min-height:36px;padding:.45rem .65rem;
  border:1px solid rgba(167,139,250,.35);border-radius:.7rem;
  color:#ede9fe;background:rgba(124,58,237,.14);font-weight:800
}
.card-interest-button:hover:not(:disabled){background:rgba(124,58,237,.25);border-color:#a78bfa}
.card-interest-button.active,.card-interest-button:disabled{opacity:.78;cursor:default}
.notification-pocket-highlight{
  border-color:#facc15!important;
  box-shadow:0 0 0 4px rgba(250,204,21,.3),0 0 30px rgba(250,204,21,.18)!important
}
@media(max-width:680px){
  .notifications-panel{position:fixed;top:76px;right:1rem;left:1rem;width:auto;max-height:76vh}
  .notification-item{align-items:stretch;flex-direction:column}
  .notification-item .compact-button{align-self:flex-start}
}

/* v1.6.0 final — gestione Interessi + badge categoria */
.account-menu-item-with-badge{gap:1rem}
.account-menu-count-badge{
  display:inline-grid;place-items:center;
  min-width:1.55rem;height:1.55rem;padding:0 .42rem;
  border-radius:999px;background:#7c3aed;color:#fff;
  font-size:.72rem;font-weight:900;line-height:1;
  flex:0 0 auto;
}
.account-menu-count-badge[hidden]{display:none!important}

#interests-view .content-card{min-width:0;padding:1.15rem}
.interests-card{display:grid;gap:1rem}
.interests-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;
}
.segmented-control{
  display:inline-flex;align-items:center;gap:.3rem;
  padding:.28rem;border:1px solid rgba(148,163,184,.2);
  border-radius:.85rem;background:rgba(15,23,42,.55);
}
.segmented-control.compact{margin-left:auto}
.segment-button{
  display:inline-flex;align-items:center;gap:.45rem;
  min-height:38px;padding:.48rem .72rem;
  border:0;border-radius:.65rem;
  color:#cbd5e1;background:transparent;font-weight:800;
}
.segment-button:hover{color:#fff;background:rgba(124,58,237,.12)}
.segment-button.active{color:#fff;background:rgba(124,58,237,.28)}
.segment-button .count-pill{min-width:1.35rem;height:1.35rem;padding:0 .3rem;font-size:.68rem}
.interests-list{display:grid;gap:.75rem}
.interest-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;align-items:center;
  padding:1rem;border:1px solid rgba(148,163,184,.18);
  border-radius:1rem;background:rgba(15,23,42,.55);
}
.interest-row.active{border-color:rgba(167,139,250,.32)}
.interest-row.resolved{opacity:.82}
.interest-row-main{display:grid;gap:.7rem;min-width:0}
.interest-row-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;min-width:0}
.interest-row-title>div{min-width:0}
.interest-row-title h3{margin:0 0 .2rem;overflow-wrap:anywhere}
.interest-row-title p{margin:0;color:#94a3b8;overflow-wrap:anywhere}
.interest-status-pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:30px;padding:.32rem .62rem;border-radius:999px;
  font-size:.72rem;font-weight:900;white-space:nowrap;
}
.interest-status-pill.active{color:#ddd6fe;background:rgba(124,58,237,.2)}
.interest-status-pill.resolved{color:#86efac;background:rgba(22,101,52,.22)}
.interest-status-pill.rejected{color:#fecaca;background:rgba(153,27,27,.28)}
.interest-meta-grid{display:flex;gap:.55rem 1rem;flex-wrap:wrap;color:#cbd5e1;font-size:.86rem}
.interest-meta-grid span{overflow-wrap:anywhere}
.interest-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.interests-empty{padding:2rem 1rem}

@media(max-width:760px){
  .interests-toolbar{align-items:stretch;flex-direction:column}
  .segmented-control,.segmented-control.compact{width:100%;margin-left:0;overflow-x:auto}
  .segment-button{flex:1;justify-content:center;white-space:nowrap}
  .interest-row{grid-template-columns:1fr}
  .interest-row-actions{justify-content:flex-start}
  .interest-row-actions button{flex:1}
}

/* v1.7.0 — Liste Wants / Scatole Bulk */
.organization-panel{display:grid;grid-template-columns:1fr auto;gap:14px 18px;align-items:start;margin:0 0 18px;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--panel)}
.organization-panel h2{margin:2px 0 4px}.organization-panel .organization-chips{grid-column:1/-1}
.organization-chips{display:flex;flex-wrap:wrap;gap:9px;align-items:center;min-height:34px}
.organization-chip{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--panel-strong)}
.organization-chip button{border:0;background:transparent;color:inherit;cursor:pointer}
.organization-chip-main{display:flex;gap:8px;align-items:center;padding:7px 11px}
.organization-chip-main span{min-width:22px;padding:2px 6px;border-radius:999px;background:var(--accent-soft);text-align:center;font-size:.78rem}
.organization-chip-edit,.organization-chip-delete{width:32px;border-left:1px solid var(--border)!important}
.organization-chip-delete:hover{background:rgba(190,60,60,.12)}
.organization-search-grid{display:grid;grid-template-columns:minmax(180px,.35fr) 1fr;gap:14px}
.organization-search-grid label,.organization-filter-row label{display:grid;gap:7px}
.organization-filter-row{display:flex;gap:14px;flex-wrap:wrap;align-items:end}
.inline-organization-select{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:.82rem;color:var(--muted)}
.inline-organization-select select{max-width:190px;padding:6px 28px 6px 8px}
.compact-dialog{max-width:480px}
@media(max-width:720px){.organization-panel{grid-template-columns:1fr}.organization-panel .organization-chips{grid-column:auto}.organization-search-grid{grid-template-columns:1fr}}


/* v1.7.2 hotfix — organizer layout + organization dialog */
.collection-organizer{
  display:grid;
  gap:.8rem;
  margin:0 0 1rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(148,163,184,.2);
  border-radius:1rem;
  background:rgba(30,41,59,.62);
}
.collection-organizer-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.collection-organizer-heading>div{
  display:flex;
  align-items:baseline;
  gap:.7rem;
  min-width:0;
  flex-wrap:wrap;
}
.collection-organizer-label{
  font-size:1rem;
  font-weight:800;
  color:#f8fafc;
}
.collection-organizer-heading .muted{
  margin:0;
  font-size:.86rem;
}
.collection-organizer .organization-chips{
  min-height:0;
}
#organization-dialog{
  width:min(520px,calc(100vw - 2rem));
  max-width:520px;
  max-height:calc(100dvh - 2rem);
  overflow:auto;
}
#organization-dialog .organization-dialog-form{
  display:grid;
  gap:1rem;
  padding:1.5rem;
}
#organization-dialog .dialog-heading{
  position:static;
  margin:0;
  padding:0 0 1rem;
  background:transparent;
  border-bottom:1px solid rgba(148,163,184,.14);
}
#organization-dialog .dialog-heading h2{
  margin:0;
}
#organization-dialog .dialog-actions{
  position:static;
  margin:.25rem 0 0;
  padding:1rem 0 0;
  background:transparent;
  border-top:1px solid rgba(148,163,184,.14);
  flex-wrap:wrap;
}
#organization-dialog label{
  display:grid;
  gap:.5rem;
  min-width:0;
  font-weight:650;
}
#organization-dialog input{
  min-width:0;
}
@media(max-width:620px){
  .collection-organizer-heading{
    align-items:stretch;
    flex-direction:column;
  }
  .collection-organizer-heading .primary-button{
    width:100%;
  }
  #organization-dialog .dialog-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}


/* v1.7.x — Liste Wants e Scatole visualizzate come raccoglitori */
.organization-card-grid{
  margin-top:1rem;
}
.organization-card{
  display:flex;
  flex-direction:column;
  min-height:265px;
}
.organization-card-open{
  display:block;
  flex:1;
  width:100%;
  padding:0;
  color:inherit;
  text-align:left;
  border:0;
  background:transparent;
}
.organization-card-cover{
  position:relative;
  display:grid;
  min-height:155px;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 25% 20%,rgba(167,139,250,.3),transparent 36%),
    linear-gradient(135deg,rgba(76,29,149,.95),rgba(30,41,59,.98));
}
.organization-card-unassigned .organization-card-cover{
  background:
    radial-gradient(circle at 25% 20%,rgba(148,163,184,.18),transparent 36%),
    linear-gradient(135deg,#334155,#111827);
}
.organization-card-details{
  min-height:92px;
}
.organization-card-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.7rem;
}
.organization-card-title-row h3{
  margin-bottom:.35rem;
  overflow-wrap:anywhere;
}
.organization-card-details p{
  min-height:0;
  margin:0;
}
.organization-card-actions{
  display:flex;
  gap:.55rem;
  padding:0 1rem 1rem;
}
.organization-card-actions button{
  flex:1;
}
.organization-detail-toolbar{
  align-items:center;
}
.section-heading-actions{
  display:flex;
  gap:.65rem;
  align-items:center;
}
#bulk-box-detail-view .result-card,
#want-list-detail-view .result-card{
  grid-template-columns:72px minmax(0,1fr) auto;
}
@media(max-width:680px){
  .organization-detail-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .organization-detail-toolbar>button{
    width:100%;
  }
  #bulk-box-detail-view .result-card,
  #want-list-detail-view .result-card{
    grid-template-columns:64px minmax(0,1fr);
  }
  #bulk-box-detail-view .result-card>.binder-actions,
  #want-list-detail-view .result-card>.binder-actions{
    grid-column:1/-1;
  }
}


/* v1.8.0 — Mazzi */
.deck-grid{margin-top:1rem}
.deck-card{display:flex;flex-direction:column}
.deck-card-open{display:block;flex:1;width:100%;padding:0;color:inherit;text-align:left;border:0;background:transparent}
.deck-card-cover{min-height:165px;background:radial-gradient(circle at 25% 20%,rgba(167,139,250,.34),transparent 35%),linear-gradient(135deg,#4c1d95,#111827);background-position:center;background-size:cover}
.deck-card-cover.has-image{min-height:190px}
.deck-card .binder-details p{min-height:0}
.deck-card-actions{display:flex;gap:.55rem;padding:0 1rem 1rem}
.deck-card-actions button{flex:1}
.deck-detail-actions{display:flex;gap:.65rem;align-items:center}
.deck-section-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}
.deck-section-tab{min-height:40px;padding:.55rem .8rem;color:#cbd5e1;border:1px solid rgba(148,163,184,.2);border-radius:.7rem;background:rgba(30,41,59,.68);font-weight:750}
.deck-section-tab.active{color:#fff;border-color:rgba(167,139,250,.65);background:rgba(124,58,237,.28)}
.deck-list-controls{display:grid;grid-template-columns:100px minmax(145px,1fr);gap:.55rem;align-items:end;min-width:260px}
.deck-list-controls label{display:grid;gap:.3rem;color:#94a3b8;font-size:.78rem}
.deck-list-controls input,.deck-list-controls select{min-height:38px;padding:.5rem}
.deck-list-controls .remove-deck-card{grid-column:1/-1}
.deck-import-dialog{width:min(900px,calc(100vw - 1rem));max-width:900px;max-height:calc(100dvh - 1rem);overflow:hidden}
.deck-import-layout{max-height:calc(100dvh - 2rem);overflow-y:auto;overflow-x:hidden}
#deck-import-text{min-height:320px}
.deck-import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}
.deck-import-summary>div{padding:1rem;border-radius:.9rem;background:rgba(15,23,42,.72);text-align:center}
.deck-import-summary strong,.deck-import-summary span{display:block}
.deck-import-summary strong{font-size:1.7rem}
.deck-import-summary span{margin-top:.25rem;color:#94a3b8;font-size:.82rem}
.deck-import-review-list{display:grid;gap:.65rem;max-height:50vh;overflow:auto;padding-right:.2rem}
.deck-import-row{display:grid;grid-template-columns:38px 1fr auto;gap:.8rem;align-items:center;padding:.8rem;border:1px solid rgba(148,163,184,.2);border-radius:.8rem;background:#0f172a}
.deck-import-row.unresolved{border-color:rgba(248,113,113,.4)}
.deck-import-row-status{display:grid;width:32px;height:32px;place-items:center;border-radius:999px;background:rgba(34,197,94,.15);font-weight:900}
.deck-import-row.unresolved .deck-import-row-status{background:rgba(239,68,68,.15);color:#fecaca}
.deck-import-row p,.deck-import-row small{margin:0;color:#94a3b8}
.deck-import-review-actions{position:sticky;bottom:-1.5rem;margin:1rem -1.5rem -1.5rem;padding:1rem 1.5rem 1.5rem;background:#111827;border-top:1px solid rgba(148,163,184,.14)}
@media(max-width:760px){
  .deck-detail-toolbar{align-items:stretch;flex-direction:column}
  .deck-detail-actions{display:grid;grid-template-columns:1fr 1fr}
  .deck-list-card{grid-template-columns:64px minmax(0,1fr)}
  .deck-list-controls{grid-column:1/-1;min-width:0}
  .deck-import-summary{grid-template-columns:1fr}
}


/* v1.8.0 refinement — deck editor */
.deck-detail-actions{flex-wrap:wrap}
.deck-list-actions{display:flex;gap:.55rem;min-width:170px}
.deck-list-actions button{flex:1}
.deck-card-dialog{width:min(920px,calc(100vw - 1rem));max-width:920px;max-height:calc(100dvh - 1rem);overflow:hidden}
.deck-card-dialog-layout{max-height:calc(100dvh - 2rem);overflow-y:auto}
.deck-card-fields{display:grid;grid-template-columns:140px minmax(200px,1fr);gap:.75rem}
.deck-card-fields label{display:grid;gap:.4rem}
.deck-card-selected-preview{display:grid;grid-template-columns:72px 1fr;gap:.85rem;align-items:center;padding:.8rem;border:1px solid rgba(148,163,184,.2);border-radius:.9rem;background:#0f172a}
.deck-card-selected-preview img{width:72px;border-radius:.45rem}
.deck-card-selected-preview p{margin:.25rem 0 0;color:#94a3b8}
.deck-card-search-panel{margin:0}
.deck-single-card-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;max-height:42vh;overflow:auto}
.deck-single-result{display:grid;grid-template-columns:54px 1fr;gap:.65rem;align-items:center;padding:.55rem;text-align:left;color:#f8fafc;border:1px solid rgba(148,163,184,.2);border-radius:.75rem;background:#0f172a}
.deck-single-result:hover,.deck-single-result.selected{border-color:#a78bfa;background:rgba(124,58,237,.14)}
.deck-single-result img{width:54px;border-radius:.35rem}
.deck-single-result strong,.deck-single-result small{display:block}
.deck-single-result small{margin-top:.2rem;color:#94a3b8}
.deck-cover-editor{display:grid;gap:.75rem;padding:1rem;border:1px solid rgba(148,163,184,.18);border-radius:.9rem;background:rgba(15,23,42,.52)}
.deck-cover-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.deck-cover-editor-heading p{margin:.2rem 0 0}
.deck-cover-preview{min-height:120px;border-radius:.8rem;overflow:hidden;background:#0f172a}
.deck-cover-preview img{display:block;width:100%;height:150px;object-fit:cover}
.deck-cover-placeholder{display:grid;min-height:120px;place-items:center;color:#94a3b8}
.deck-cover-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.6rem;max-height:260px;overflow:auto}
.deck-cover-result{padding:.4rem;color:#f8fafc;text-align:left;border:1px solid rgba(148,163,184,.2);border-radius:.65rem;background:#0f172a}
.deck-cover-result.selected,.deck-cover-result:hover{border-color:#a78bfa}
.deck-cover-result img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.45rem}
.deck-cover-result span{display:block;margin-top:.35rem;font-size:.78rem}
@media(max-width:680px){
  .deck-card-fields{grid-template-columns:1fr}
  .deck-list-actions{grid-column:1/-1;width:100%}
  .deck-cover-editor-heading{flex-direction:column}
}


/* v1.8.0 — complete print browser */
.deck-single-card-results{
  max-height:min(58vh,680px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.deck-single-result{
  min-height:86px;
}
.deck-single-result small+small{
  margin-top:.18rem;
  color:#c4b5fd;
}


/* v1.8.0 hotfix — deck import confirmation */
#deck-import-confirm:disabled{
  opacity:.68;
  cursor:wait;
}
.deck-import-final-status{
  min-height:.25rem;
}


/* v1.8.6 — Unified Card Search */
.deck-card-search-filters{
  margin-top:.8rem;
}
#deck-card-dialog .card-search-filters{
  grid-template-columns:repeat(3,minmax(150px,1fr));
}
@media(max-width:720px){
  #deck-card-dialog .card-search-filters{
    grid-template-columns:1fr;
  }
}


/* v1.8.7 — Card click + overflow actions */
.collection-clickable-card{
  position:relative;
  cursor:pointer;
  overflow:visible;
}
.collection-clickable-card:focus-visible{
  outline:2px solid #a78bfa;
  outline-offset:3px;
}
.collection-clickable-card .binder-details{
  pointer-events:none;
}
.collection-card-menu-toggle{
  position:absolute;
  z-index:12;
  top:.55rem;
  right:-.75rem;
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  padding:0;
  border:1px solid rgba(148,163,184,.28);
  border-radius:999px;
  color:#f8fafc;
  background:#1e293b;
  box-shadow:0 8px 20px rgba(2,6,23,.34);
  cursor:pointer;
  font-size:1.4rem;
  font-weight:900;
  line-height:1;
}
.collection-card-menu-toggle:hover,
.collection-card-menu-toggle[aria-expanded="true"]{
  border-color:#a78bfa;
  background:#312e81;
}
.collection-card-menu{
  position:absolute;
  z-index:20;
  top:3rem;
  right:-.75rem;
  display:none;
  min-width:190px;
  overflow:hidden;
  padding:.35rem;
  border:1px solid rgba(148,163,184,.25);
  border-radius:.85rem;
  background:#111827;
  box-shadow:0 18px 45px rgba(2,6,23,.52);
}
.collection-card-menu.open{
  display:grid;
}
.collection-card-menu-item{
  width:100%;
  padding:.7rem .8rem;
  color:#f8fafc;
  text-align:left;
  border:0;
  border-radius:.55rem;
  background:transparent;
  cursor:pointer;
  font-weight:700;
}
.collection-card-menu-item:hover{
  background:rgba(124,58,237,.2);
}
.collection-card-menu-item.danger{
  color:#fecaca;
}
.collection-card-menu-item.danger:hover{
  background:rgba(239,68,68,.14);
}
.organization-card-open,
.deck-card-open{
  display:block;
  width:100%;
  color:inherit;
  text-align:left;
}
.organization-card-actions,
.deck-card-actions{
  display:none!important;
}
@media(max-width:680px){
  .collection-card-menu-toggle,
  .collection-card-menu{
    right:.45rem;
  }
}


/* v1.8.8 — Global inventory search */
.collection-search-summary{
  margin-bottom:.8rem;
  padding:.8rem 1rem;
  border:1px solid rgba(167,139,250,.24);
  border-radius:.85rem;
  color:#cbd5e1;
  background:rgba(124,58,237,.08);
}
.collection-search-summary strong{
  color:#fff;
  font-size:1.15rem;
}


/* v1.9.0 — Inventory movement */
.inventory-move-dialog{
  width:min(860px,calc(100vw - 1rem));
  max-width:860px;
  max-height:calc(100dvh - 1rem);
  overflow:hidden;
}
.inventory-move-layout{
  max-height:calc(100dvh - 2rem);
  overflow-y:auto;
}
.inventory-move-items{
  display:grid;
  gap:.65rem;
}
.inventory-move-item{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:.8rem;
  align-items:center;
  padding:.7rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:.8rem;
  background:#0f172a;
}
.inventory-move-item img{
  width:58px;
  border-radius:.4rem;
}
.inventory-move-item strong,
.inventory-move-item small{
  display:block;
}
.inventory-move-item small{
  margin-top:.2rem;
  color:#94a3b8;
}
.inventory-destination-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.inventory-destination-grid label,
.inventory-suboptions label{
  display:grid;
  gap:.4rem;
}
.inventory-suboptions{
  display:grid;
  gap:.6rem;
  padding:.9rem;
  border:1px solid rgba(148,163,184,.16);
  border-radius:.8rem;
  background:rgba(15,23,42,.48);
}
@media(max-width:680px){
  .inventory-destination-grid{
    grid-template-columns:1fr;
  }
  .inventory-move-item{
    grid-template-columns:52px minmax(0,1fr);
  }
  .inventory-move-quantity{
    grid-column:1/-1;
  }
}

.inventory-selectable{
  position:relative;
  cursor:pointer;
}
.inventory-selectable.selected{
  outline:2px solid #a78bfa;
  outline-offset:2px;
  background:rgba(124,58,237,.08);
}
.inventory-select-toggle{
  position:absolute;
  z-index:4;
  top:.55rem;
  left:.55rem;
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  padding:0;
  border:1px solid rgba(167,139,250,.5);
  border-radius:999px;
  color:#fff;
  background:#1e293b;
  cursor:pointer;
  font-weight:900;
}
.inventory-selectable.selected .inventory-select-toggle{
  background:#6d28d9;
}
.organization-detail-actions{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}

/* v1.9.1 — Wants <-> Inventario */
#want-to-inventory-preview .card-detail-preview,
#inventory-to-want-preview .card-detail-preview{
  margin-bottom:.4rem;
}
#want-to-inventory-preview img,
#inventory-to-want-preview img{
  max-height:180px;
}
#want-list .binder-actions{
  flex-wrap:wrap;
}


/* v1.9.2 — Managed item action menus */
.managed-item-card,
.bulk-result-card,
.deck-list-card{
  position:relative;
  overflow:visible;
}
.managed-item-card .item-actions-toggle,
.bulk-result-card .item-actions-toggle,
.deck-list-card .item-actions-toggle{
  top:.5rem;
  right:.5rem;
}
.managed-item-card .item-actions-menu,
.bulk-result-card .item-actions-menu,
.deck-list-card .item-actions-menu{
  top:3rem;
  right:.5rem;
}
.want-status-inline{
  display:flex;
  align-items:center;
  gap:.55rem;
  width:max-content;
  max-width:100%;
  margin-top:.65rem;
  color:#94a3b8;
  font-size:.82rem;
  font-weight:700;
}
.want-status-inline select{
  min-height:34px;
  padding:.35rem .55rem;
}
#wants-list-import-results{
  max-height:48vh;
  overflow:auto;
}
#want-list .result-card{
  padding-right:3.4rem;
}
@media(max-width:680px){
  .managed-item-card .item-actions-toggle,
  .bulk-result-card .item-actions-toggle,
  .deck-list-card .item-actions-toggle,
  .managed-item-card .item-actions-menu,
  .bulk-result-card .item-actions-menu,
  .deck-list-card .item-actions-menu{
    right:.45rem;
  }
}

/* v1.9.3 — Wants multi-selection */
.want-selection-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.75rem 0;}
.want-selection-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;width:100%;}
#want-list .want-select-toggle{top:.55rem;right:.55rem;}
#want-list .inventory-selected{outline:2px solid currentColor;outline-offset:2px;}

/* v1.9.5 — Operazioni massive unificate */
.selection-toolbar-actions {
  flex-wrap: wrap;
}
.selection-toolbar-actions .danger-button:disabled,
.selection-toolbar-actions .primary-button:disabled,
.selection-toolbar-actions .secondary-button:disabled {
  opacity: .5;
  cursor: not-allowed;
}


/* v1.10.0 — Community 2.0 / Wants Match */
.friend-global-search-row{
  flex-wrap:wrap;
}
.friend-wants-match-card{
  margin-top:1rem;
}
.friend-wants-match-heading{
  align-items:flex-start;
}
.friend-wants-match-results{
  display:grid;
  gap:1rem;
  margin-top:1rem;
}
.friend-wants-match-item{
  overflow:hidden;
  border:1px solid rgba(148,163,184,.22);
  border-radius:1rem;
  background:rgba(15,23,42,.58);
}
.friend-wants-match-card-main{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:1rem;
  align-items:start;
  padding:1rem;
}
.friend-wants-match-card-main img{
  width:92px;
  border-radius:.55rem;
  box-shadow:0 8px 24px rgba(2,6,23,.32);
}
.friend-wants-match-info{
  min-width:0;
}
.friend-wants-match-title-row{
  display:flex;
  gap:.65rem;
  align-items:center;
  justify-content:space-between;
}
.friend-wants-match-title-row h3{
  margin:0;
}
.friend-wants-match-counts{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem 1rem;
  margin-top:.75rem;
  color:#cbd5e1;
  font-size:.92rem;
}
.friend-wants-match-locations{
  display:grid;
  gap:.55rem;
  padding:0 1rem 1rem;
}
.friend-wants-match-location{
  display:flex;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
  padding:.75rem .85rem;
  border:1px solid rgba(148,163,184,.16);
  border-radius:.75rem;
  background:#0f172a;
}
.friend-wants-match-location-text{
  display:grid;
  gap:.15rem;
}
.friend-wants-match-location-text span{
  color:#94a3b8;
  font-size:.88rem;
}
.friend-wants-match-actions{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.compact-empty-state{
  min-height:140px;
}
@media(max-width:720px){
  .friend-wants-match-card-main{
    grid-template-columns:68px minmax(0,1fr);
  }
  .friend-wants-match-card-main img{
    width:68px;
  }
  .friend-wants-match-location{
    align-items:flex-start;
    flex-direction:column;
  }
  .friend-wants-match-actions{
    width:100%;
    justify-content:flex-start;
  }
}


/* v1.10.1 — Wants Match spacing + reset UX */
.friend-wants-match-card{
  padding:1.15rem;
}
.friend-wants-match-heading{
  gap:1rem;
  padding:0 .15rem .35rem;
}
.friend-wants-match-heading > div{
  min-width:0;
}
.friend-wants-match-heading .eyebrow{
  margin-top:0;
}
.friend-wants-match-heading h2{
  margin:.15rem 0 .35rem;
}
#friend-wants-match-summary{
  margin:0;
}
#close-friend-wants-match{
  flex:0 0 auto;
}
.friend-wants-match-results{
  margin-top:1.15rem;
}
@media(max-width:720px){
  .friend-wants-match-card{
    padding:.9rem;
  }
  .friend-wants-match-heading{
    align-items:flex-start;
  }
}


/* v1.10.2 — Wants Match ↔ Interessi */
.shared-want-badge{
  position:absolute;
  left:.45rem;
  bottom:.45rem;
  z-index:3;
  padding:.25rem .48rem;
  border-radius:999px;
  background:rgba(30,41,59,.92);
  border:1px solid rgba(196,181,253,.7);
  color:#ddd6fe;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.02em;
  pointer-events:none;
}
.card-interest-button[data-interest-state="active"],
.friend-wants-match-actions [data-interest-state="active"]{
  opacity:.85;
}
.card-interest-button[data-interest-state="rejected"],
.card-interest-button[data-interest-state="resolved"],
.friend-wants-match-actions [data-interest-state="rejected"],
.friend-wants-match-actions [data-interest-state="resolved"]{
  opacity:.62;
}


/* v1.10.3 — resolved/rejected interests can be sent again */
.card-interest-button[data-interest-state="available-again"],
.friend-wants-match-actions [data-interest-state="available-again"]{
  opacity:1;
}


/* v1.10.4 — quantità Interessi */
.card-interest-quantity-form{
  width:min(520px,calc(100vw - 2rem));
}
.card-interest-quantity-card{
  display:grid;
  gap:.25rem;
  padding:.8rem .9rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:.8rem;
  background:#0f172a;
}
.card-interest-quantity-card span{
  color:#94a3b8;
  font-size:.9rem;
}
.card-interest-quantity-picker{
  display:grid;
  grid-template-columns:54px minmax(70px,110px) 54px;
  gap:.7rem;
  align-items:center;
  justify-content:center;
  margin:.35rem 0;
}
.card-interest-quantity-picker strong{
  display:grid;
  min-height:48px;
  place-items:center;
  border:1px solid rgba(167,139,250,.4);
  border-radius:.75rem;
  background:#111827;
  font-size:1.35rem;
}
.card-interest-quantity-picker button{
  min-height:48px;
  font-size:1.35rem;
}


/* v1.10.5 — Wants selector + bulk interests */
.friend-wants-selector-toolbar,
.friend-wants-match-bulk-toolbar{
  display:flex;
  gap:.75rem;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-top:1rem;
}
.friend-wants-selector-toolbar > div,
.friend-wants-match-bulk-toolbar{
  display:flex;
  gap:.6rem;
  align-items:center;
  flex-wrap:wrap;
}
.friend-wants-selector-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:.7rem;
  margin-top:.8rem;
  max-height:48vh;
  overflow:auto;
  padding:.15rem;
}
.friend-want-select-card{
  position:relative;
  display:grid;
  grid-template-columns:28px 54px minmax(0,1fr);
  gap:.7rem;
  align-items:center;
  width:100%;
  padding:.7rem;
  border:1px solid rgba(148,163,184,.2);
  border-radius:.8rem;
  background:#0f172a;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.friend-want-select-card.selected{
  border-color:rgba(167,139,250,.85);
  outline:2px solid rgba(124,58,237,.28);
}
.friend-want-select-card img{
  width:54px;
  border-radius:.35rem;
}
.friend-want-select-indicator{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border:1px solid rgba(167,139,250,.55);
  border-radius:999px;
  font-weight:900;
}
.friend-want-select-copy{
  display:grid;
  gap:.18rem;
  min-width:0;
}
.friend-want-select-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.friend-want-select-copy small{
  color:#94a3b8;
}
.friend-wants-selector-actions{
  margin-top:.9rem;
}
.friend-wants-match-bulk-toolbar{
  margin-bottom:.4rem;
}
#friend-wants-bulk-status{
  min-height:1.3em;
  margin:.35rem 0 .7rem;
}
@media(max-width:640px){
  .friend-wants-selector-list{
    grid-template-columns:1fr;
  }
  .friend-wants-match-bulk-toolbar > button{
    width:100%;
  }
}


/* v1.10.6 — Wants Match per Liste */
.friend-wants-selector-heading{
  display:grid;
  gap:.25rem;
  margin-top:1rem;
}
.friend-wants-selector-heading p{
  margin:0;
}
.friend-wants-list-selector{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:.8rem;
  margin-top:1rem;
}
.friend-want-list-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:.8rem;
  align-items:center;
  width:100%;
  min-height:104px;
  padding:.9rem;
  border:1px solid rgba(148,163,184,.2);
  border-radius:.9rem;
  background:#0f172a;
  color:inherit;
  text-align:left;
  cursor:pointer;
  transition:transform .12s ease,border-color .12s ease,background .12s ease;
}
.friend-want-list-card:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:rgba(167,139,250,.75);
  background:rgba(30,41,59,.9);
}
.friend-want-list-card.featured{
  border-color:rgba(139,92,246,.55);
  background:rgba(91,33,182,.13);
}
.friend-want-list-card:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.friend-want-list-icon{
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border:1px solid rgba(167,139,250,.5);
  border-radius:.75rem;
  color:#ddd6fe;
  font-size:1.2rem;
  font-weight:900;
}
.friend-want-list-copy{
  display:grid;
  gap:.18rem;
  min-width:0;
}
.friend-want-list-copy strong{
  font-size:1rem;
}
.friend-want-list-copy small{
  color:#94a3b8;
}
.friend-want-list-copy > span{
  margin-top:.18rem;
  color:#c4b5fd;
  font-size:.84rem;
  font-weight:750;
}
@media(max-width:640px){
  .friend-wants-list-selector{
    grid-template-columns:1fr;
  }
}


/* v1.11.0 — Importazione pagina da foto */
.photo-import-heading{
  align-items:flex-start;
}
.photo-import-config{
  margin-bottom:1rem;
}
.photo-import-config-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
}
.photo-import-config-grid label,
.photo-import-search-row label,
.photo-import-search-filters label{
  display:grid;
  gap:.4rem;
}
.photo-import-file-label input{
  min-height:42px;
}
.photo-import-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  gap:1rem;
  align-items:start;
}
.photo-import-preview-card,
.photo-import-editor-card,
.photo-import-review-card{
  min-width:0;
}
.photo-import-panel-heading{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:.8rem;
}
.photo-import-panel-heading h2,
.photo-import-panel-heading p{
  margin-top:0;
}
.photo-import-photo-stage{
  position:relative;
  display:grid;
  width:min(100%,720px);
  margin:0 auto;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.25);
  border-radius:1rem;
  background:#020617;
}
.photo-import-photo-stage.empty{
  min-height:420px;
  aspect-ratio:auto !important;
}
.photo-import-photo-stage > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#020617;
}
.photo-import-photo-placeholder{
  display:grid;
  gap:.4rem;
  place-content:center;
  min-height:420px;
  padding:2rem;
  text-align:center;
  color:#94a3b8;
}
.photo-import-photo-placeholder strong{
  color:#e2e8f0;
}
.photo-import-overlay-grid{
  position:absolute;
  inset:0;
  z-index:3;
  display:grid;
  gap:4px;
  padding:4px;
}
.photo-import-overlay-pocket{
  display:grid;
  align-content:center;
  justify-items:center;
  gap:.2rem;
  min-width:0;
  padding:.3rem;
  border:2px solid rgba(226,232,240,.55);
  border-radius:.4rem;
  background:rgba(2,6,23,.18);
  color:#fff;
  text-shadow:0 1px 3px #000;
  cursor:pointer;
}
.photo-import-overlay-pocket:hover,
.photo-import-overlay-pocket.selected{
  border-color:#c4b5fd;
  background:rgba(91,33,182,.32);
}
.photo-import-overlay-pocket strong{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:999px;
  background:rgba(15,23,42,.9);
}
.photo-import-overlay-pocket span{
  width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.72rem;
  font-weight:700;
  text-align:center;
}
.photo-import-overlay-pocket.status-added,
.photo-import-overlay-pocket.status-replaced{
  border-color:rgba(196,181,253,.95);
}
.photo-import-overlay-pocket.status-cleared{
  border-style:dashed;
  border-color:rgba(248,113,113,.9);
}
.photo-import-photo-actions{
  display:flex;
  justify-content:center;
  gap:.5rem;
  margin-top:.7rem;
}
.photo-import-photo-note{
  margin-bottom:0;
  text-align:center;
}
.photo-import-current-card{
  margin-bottom:1rem;
}
.photo-import-card-preview{
  align-items:flex-start;
}
.photo-import-card-preview img{
  width:90px;
  max-height:126px;
  object-fit:cover;
}
.photo-import-search-block{
  display:grid;
  gap:.8rem;
  padding-top:.8rem;
  border-top:1px solid rgba(148,163,184,.16);
}
.photo-import-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.6rem;
  align-items:end;
}
.photo-import-search-filters{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;
}
.photo-import-search-results{
  display:grid;
  gap:.55rem;
  max-height:48vh;
  overflow:auto;
  padding-right:.15rem;
}
.photo-import-search-result{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:.7rem;
  align-items:center;
  padding:.65rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:.75rem;
  background:#0f172a;
}
.photo-import-search-result > img{
  width:64px;
  border-radius:.35rem;
}
.photo-import-search-result-copy{
  display:grid;
  gap:.15rem;
  min-width:0;
}
.photo-import-search-result-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.photo-import-search-result-copy span,
.photo-import-search-result-copy small{
  color:#94a3b8;
  font-size:.82rem;
}
.photo-import-search-result-actions{
  display:flex;
  gap:.35rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.photo-import-pocket-actions{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  margin-top:1rem;
}
.photo-import-review-card{
  margin-top:1rem;
}
.photo-import-review-grid{
  display:grid;
  gap:.55rem;
}
.photo-import-review-pocket{
  position:relative;
  display:grid;
  gap:.3rem;
  justify-items:center;
  min-width:0;
  min-height:135px;
  padding:.5rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:.7rem;
  background:#0f172a;
  color:inherit;
  cursor:pointer;
}
.photo-import-review-pocket.selected{
  outline:2px solid #a78bfa;
  outline-offset:2px;
}
.photo-import-review-pocket.status-added,
.photo-import-review-pocket.status-replaced{
  border-color:rgba(167,139,250,.75);
}
.photo-import-review-pocket.status-cleared{
  border-color:rgba(248,113,113,.7);
  border-style:dashed;
}
.photo-import-review-pocket img{
  width:52px;
  max-height:73px;
  border-radius:.3rem;
  object-fit:cover;
}
.photo-import-review-pocket strong{
  width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.78rem;
}
.photo-import-review-pocket small{
  color:#94a3b8;
  font-size:.7rem;
}
.photo-import-review-number{
  position:absolute;
  top:.35rem;
  left:.35rem;
  display:grid;
  width:23px;
  height:23px;
  place-items:center;
  border-radius:999px;
  background:#1e293b;
  font-size:.72rem;
  font-weight:900;
}
.photo-import-review-empty,
.photo-import-review-fallback{
  display:grid;
  min-height:73px;
  place-items:center;
  color:#64748b;
  font-size:.75rem;
  text-align:center;
}
@media(max-width:980px){
  .photo-import-config-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .photo-import-workspace{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .photo-import-config-grid,
  .photo-import-search-filters,
  .photo-import-search-row{
    grid-template-columns:1fr;
  }
  .photo-import-photo-stage.empty,
  .photo-import-photo-placeholder{
    min-height:320px;
  }
  .photo-import-search-result{
    grid-template-columns:54px minmax(0,1fr);
  }
  .photo-import-search-result > img{
    width:54px;
  }
  .photo-import-search-result-actions{
    grid-column:1/-1;
    justify-content:flex-start;
  }
}


/* v1.11.1 — Photo Import UI polish */
.photo-import-config,
.photo-import-preview-card,
.photo-import-editor-card,
.photo-import-review-card{
  padding:1.2rem;
}

.photo-import-config-grid{
  padding-top:.15rem;
}

.photo-import-config-grid label{
  gap:.5rem;
  padding-top:.05rem;
}

.photo-import-panel-heading{
  padding:.1rem .05rem .45rem;
  margin-bottom:1rem;
}

.photo-import-panel-heading .eyebrow{
  margin:0 0 .25rem;
}

.photo-import-panel-heading h2{
  margin:.1rem 0 0;
}

.photo-import-preview-card .photo-import-photo-stage,
.photo-import-editor-card #photo-import-pocket-empty-state{
  margin-top:.25rem;
}

.photo-import-review-card .photo-import-panel-heading{
  margin-bottom:.9rem;
}

#photo-import-config-status{
  margin:.8rem 0 0;
}

.photo-import-search-block{
  margin-top:.3rem;
}

@media(max-width:640px){
  .photo-import-config,
  .photo-import-preview-card,
  .photo-import-editor-card,
  .photo-import-review-card{
    padding:.9rem;
  }
}


/* v1.11.2 — Riconoscimento assistito foto */
.photo-import-recognition-progress{
  display:grid;
  gap:.45rem;
  margin:.8rem 0 .15rem;
}
.photo-import-progress-track{
  position:relative;
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(148,163,184,.18);
}
.photo-import-progress-track > span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:currentColor;
  transition:width .18s ease;
}
.photo-import-recognition-progress p{
  margin:0;
  text-align:center;
}
.photo-import-recognition-suggestion{
  display:grid;
  gap:.75rem;
  margin:0 0 1rem;
  padding:.85rem;
  border:1px solid rgba(167,139,250,.38);
  border-radius:.85rem;
  background:rgba(91,33,182,.10);
}
.photo-import-suggestion-copy{
  min-width:0;
}
.photo-import-suggestion-copy .eyebrow{
  margin:0 0 .25rem;
}
.photo-import-suggestion-copy h3{
  margin:.1rem 0 .3rem;
}
.photo-import-suggestion-copy p{
  margin:.15rem 0;
}
.photo-import-suggestion-actions{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
}
.photo-import-review-pocket .photo-import-review-fallback{
  color:#c4b5fd;
}
.photo-import-overlay-pocket span:first-letter{
  text-transform:none;
}
@media(max-width:640px){
  .photo-import-photo-actions{
    flex-wrap:wrap;
  }
  #photo-import-recognize{
    order:-1;
    width:100%;
  }
}


/* v1.11.3 — OCR robusto */
.photo-import-config-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}


/* v1.11.4 — Diagnostica OCR */
.photo-import-diagnostics{
  margin-top:.9rem;
  padding:.8rem;
  border:1px solid rgba(148,163,184,.22);
  border-radius:.85rem;
  background:rgba(15,23,42,.65);
}
.photo-import-diagnostics > summary{
  cursor:pointer;
  font-weight:800;
}
.photo-import-diagnostics > p{
  margin:.6rem 0 .8rem;
}
.photo-import-diagnostics-list{
  display:grid;
  gap:.8rem;
}
.photo-import-diagnostic-card{
  display:grid;
  gap:.6rem;
  padding:.75rem;
  border:1px solid rgba(148,163,184,.16);
  border-radius:.75rem;
  background:#0f172a;
}
.photo-import-diagnostic-heading{
  display:flex;
  gap:.7rem;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.photo-import-diagnostic-heading span{
  color:#c4b5fd;
  font-size:.86rem;
}
.photo-import-diagnostic-final{
  padding:.45rem .55rem;
  border-radius:.55rem;
  background:rgba(30,41,59,.75);
  color:#cbd5e1;
  font-size:.84rem;
}
.photo-import-diagnostic-attempts{
  display:grid;
  gap:.55rem;
}
.photo-import-diagnostic-attempt{
  display:grid;
  grid-template-columns:minmax(160px,240px) minmax(0,1fr);
  gap:.7rem;
  padding:.55rem;
  border:1px solid rgba(148,163,184,.12);
  border-radius:.65rem;
}
.photo-import-diagnostic-crop{
  display:grid;
  place-items:center;
  min-height:70px;
  padding:.25rem;
  overflow:hidden;
  border-radius:.45rem;
  background:#fff;
}
.photo-import-diagnostic-crop img{
  width:100%;
  max-height:130px;
  object-fit:contain;
}
.photo-import-diagnostic-copy{
  display:grid;
  gap:.18rem;
  min-width:0;
  font-size:.8rem;
}
.photo-import-diagnostic-copy code{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:#e2e8f0;
}
.photo-import-diagnostic-outcome{
  margin-top:.2rem;
  color:#c4b5fd;
  font-weight:700;
}
@media(max-width:720px){
  .photo-import-diagnostic-attempt{
    grid-template-columns:1fr;
  }
}


/* v1.13.0 — Adaptive Page Geometry */
.photo-import-overlay-grid.adaptive-geometry{
  display:block;
  padding:0;
  pointer-events:none;
}
.photo-import-overlay-grid.adaptive-geometry .photo-import-overlay-pocket{
  position:absolute;
  pointer-events:auto;
  min-width:0;
  min-height:0;
}


.photo-import-rectification-previews {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  margin-top: 8px;
}

.photo-import-rectification-previews figure {
  margin: 0;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.55);
}

.photo-import-rectification-previews img {
  display: block;
  width: 100%;
  max-height: 210px;
  object-fit: contain;
  border-radius: 6px;
  background: white;
}

.photo-import-rectification-previews figcaption {
  margin-top: 6px;
  color: #9fb7da;
  font-size: 0.78rem;
  text-align: center;
}

@media (max-width: 760px) {
  .photo-import-rectification-previews {
    grid-template-columns: 1fr;
  }
}


/* v1.15.7 — Apply all recognition suggestions */
.photo-import-review-actions{
  display:flex;
  gap:.65rem;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}

@media(max-width:640px){
  .photo-import-review-card .photo-import-panel-heading{
    align-items:stretch;
    flex-direction:column;
  }

  .photo-import-review-actions{
    justify-content:stretch;
  }

  .photo-import-review-actions > button{
    flex:1 1 100%;
  }
}


/* v1.15.10 — Apply All must look unmistakably interactive when enabled. */
#photo-import-apply-all-suggestions:not(:disabled) {
  opacity: 1;
  cursor: pointer;
  filter: none;
}

#photo-import-apply-all-suggestions:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}


/* v1.16.2 — printing can always be changed after assignment. */
.photo-import-current-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:.65rem;
}


/* v1.16.5 — Responsive photo-import review header */
#photo-import-review-header,
.photo-import-review-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

#photo-import-review-header > :first-child,
.photo-import-review-header > :first-child {
  flex: 1 1 420px;
  min-width: 0;
}

#photo-import-review-actions,
.photo-import-review-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  flex: 0 1 auto;
  max-width: 100%;
}

#photo-import-review-actions button,
.photo-import-review-actions button,
#photo-import-apply-all-suggestions,
#photo-import-confirm {
  white-space: nowrap;
  max-width: 100%;
}

@media (max-width: 980px) {
  #photo-import-review-actions,
  .photo-import-review-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  #photo-import-review-actions,
  .photo-import-review-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  #photo-import-review-actions button,
  .photo-import-review-actions button,
  #photo-import-apply-all-suggestions,
  #photo-import-confirm {
    width: 100%;
    white-space: normal;
  }
}


/* v1.16.6 — Definitive review header/action spacing */
.photo-import-review-card .photo-import-panel-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: start;
  column-gap: 28px;
  row-gap: 18px;
  width: 100%;
}

/* This is the TEXT column, not the outer layout container. */
.photo-import-review-card .photo-import-review-header {
  display: block;
  min-width: 0;
  width: 100%;
}

.photo-import-review-card .photo-import-review-header > * {
  max-width: 100%;
}

/* Keep the two actions deliberately separated instead of relying on
   flex-wrap to decide where the second button lands. */
.photo-import-review-card .photo-import-review-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 14px !important;
  row-gap: 14px !important;
  min-width: max-content;
  max-width: 100%;
}

.photo-import-review-card .photo-import-review-actions > button {
  display: block;
  width: 100%;
  margin: 0 !important;
  white-space: nowrap;
}

/* Defensive fallback even if another old rule strips flex gap. */
.photo-import-review-card
  #photo-import-apply-all-suggestions
  + #photo-import-confirm {
  margin-top: 14px !important;
}

@media (max-width: 920px) {
  .photo-import-review-card .photo-import-panel-heading {
    grid-template-columns: minmax(0, 1fr);
  }

  .photo-import-review-card .photo-import-review-actions {
    width: 100%;
    min-width: 0;
  }

  .photo-import-review-card .photo-import-review-actions > button {
    width: 100%;
    white-space: normal;
  }
}


/* v1.17.0 — Shared Wants */
.want-list-sharing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin:0 0 1rem;padding:1rem 1.15rem}
.want-list-sharing-copy h3{margin:.05rem 0 .25rem}.want-list-sharing-copy p:last-child{margin-bottom:0}
.want-list-visibility-options{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.want-list-visibility-status{grid-column:1/-1;margin:0}.want-list-visibility-status.shared{color:#c4b5fd}
.organization-shared-badge{color:#ddd6fe;background:rgba(124,58,237,.28)}
.friend-shared-section{display:grid;gap:.8rem;margin-top:1.25rem}.friend-shared-section .friends-card-heading{margin-bottom:0}
.shared-want-list-grid{margin-top:0}.shared-want-list-card{min-height:245px}.shared-want-cover{color:#ede9fe;font-size:3.2rem;font-weight:900}
.shared-want-items{margin-top:1rem}.shared-want-item{grid-template-columns:72px minmax(0,1fr)}.shared-want-copy{min-width:0}.shared-want-copy h3{margin-bottom:.35rem}
.shared-want-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin:.4rem 0}.shared-want-image-fallback{display:grid;width:72px;aspect-ratio:5/7;place-items:center;border-radius:.45rem;color:#c4b5fd;background:#020617;font-weight:900}
.shared-want-list-toolbar{align-items:center}

/* v1.17.0 — Smartphone responsive pass 1 */
@media(max-width:760px){
  html{-webkit-text-size-adjust:100%}body{overflow-x:hidden}
  .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.65rem .75rem}
  .brand-button{min-width:0;gap:.55rem}.brand-logo{width:36px;height:36px;flex-basis:36px;border-radius:10px}.brand-button span{min-width:0}.brand-button small{font-size:.68rem}.brand-button strong{max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}
  .top-actions{min-width:0;gap:.4rem;flex-wrap:nowrap;justify-content:flex-end}#new-binder-button{min-height:40px;padding:.55rem .7rem;font-size:.82rem}
  .main-nav{grid-column:1/-1;order:3;width:100%;justify-content:flex-start;flex-wrap:nowrap;gap:.25rem;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding-bottom:.1rem}.main-nav::-webkit-scrollbar{display:none}.nav-button{flex:0 0 auto;min-height:40px;padding:.55rem .72rem;font-size:.9rem;white-space:nowrap}
  .page-container{width:100%;padding:1rem .75rem 3rem}.section-heading,.binder-toolbar{margin:1rem 0}.section-heading-actions,.organization-detail-actions{display:grid;grid-template-columns:1fr;width:100%}.section-heading-actions>button,.organization-detail-actions>button{width:100%}
  .binder-grid,.organization-card-grid,.deck-grid,.shared-binder-grid,.shared-want-list-grid{grid-template-columns:1fr}.hero-panel{padding:1.15rem}.content-card,.search-panel{border-radius:.9rem}
  .result-card,#bulk-box-detail-view .result-card,#want-list-detail-view .result-card,.shared-want-item{grid-template-columns:58px minmax(0,1fr);gap:.7rem;padding:.75rem}.result-card img,.shared-want-item img,.shared-want-image-fallback{width:58px}.result-card>.binder-actions{grid-column:1/-1}.binder-actions{width:100%;flex-wrap:wrap}
  .page-controls{gap:.6rem;padding:.75rem}.page-controls>button{width:100%}.page-selector{width:100%;flex-wrap:wrap}
  dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);overflow:auto}input,select,textarea{font-size:16px}.toast{left:.75rem;right:.75rem;bottom:.75rem;max-width:none}
  .want-list-sharing{grid-template-columns:1fr;padding:.9rem}.want-list-visibility-options{justify-content:flex-start}.want-list-visibility-status{grid-column:auto}.shared-want-list-toolbar{align-items:stretch;flex-direction:column}.read-only-pill{align-self:flex-start}
  .photo-import-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.photo-import-photo-actions>button{width:100%;min-width:0;padding:.62rem .45rem}.photo-import-overlay-pocket strong{width:32px;height:32px;font-size:.88rem}.photo-import-overlay-pocket span{display:none}.photo-import-photo-note{font-size:.9rem}.photo-import-recognition-progress{font-size:.92rem}
}
@media(max-width:480px){
  .topbar{padding:.55rem .6rem}#new-binder-button{font-size:0;width:40px;padding:0}#new-binder-button::before{content:"+";font-size:1.3rem}.page-container{padding:.85rem .55rem 2.5rem}
  .photo-import-config,.photo-import-preview-card,.photo-import-editor-card,.photo-import-review-card{padding:.75rem}#photo-import-review-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.photo-import-review-pocket{min-height:128px}.dialog-form{padding:1rem}
}
