.harvest-layout{display:grid;grid-template-columns:320px 1fr;gap:1rem;align-items:start}
@media(max-width:900px){.harvest-layout{grid-template-columns:1fr}}
.harvest-summary, .harvest-stage{background:var(--surface);border:1px solid var(--border-gold);border-radius:8px;box-shadow:0 3px 12px rgba(0,0,0,.10)}
.harvest-summary{position:sticky;top:76px;padding:1.1rem}
.harvest-title{font-family:var(--font-ui);color:var(--gold);font-size:1.25rem;margin:0 0 .35rem}
.harvest-sub{color:var(--text-muted);font-size:.9rem;margin:0 0 1rem}
.summary-grid{display:grid;grid-template-columns:1fr auto;gap:.45rem .9rem;margin-bottom:1.3rem}
.summary-grid strong{color:var(--text)}
.summary-grid span{color:var(--text-muted)}
.summary-grid b{color:var(--gold-dark)}
.progress-track{height:24px;border-radius:999px;background:var(--c-inset);border:1px solid var(--border);position:relative}
.progress-fill{height:100%;min-width:30px;border-radius:999px;background:linear-gradient(90deg,var(--c-accent),var(--c-accent-2));display:flex;align-items:center;padding-left:10px;color:var(--c-accent-ink);font-size:.76rem;font-weight:800;white-space:nowrap}
.harvest-stage{overflow:hidden;margin-bottom:.8rem}
.stage-head{width:100%;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:.55rem .75rem;border:0;border-bottom:1px solid transparent;background:var(--surface);cursor:pointer;text-align:left}
.harvest-stage.open .stage-head{border-bottom-color:var(--border)}
.stage-name{font-weight:800;color:var(--gold-dark)}
.stage-mini{height:22px}
.stage-body{display:none}
.harvest-stage.open .stage-body{display:block}
.harvest-table{width:100%;border-collapse:collapse}
.harvest-table th{background:var(--c-inset);color:var(--text);font-size:.78rem;text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--border)}
.harvest-table td{padding:.65rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--c-line) 75%,transparent);vertical-align:middle;font-size:.85rem}
.harvest-table tr:nth-child(even) td{background:color-mix(in srgb,var(--c-inset) 45%,transparent)}
.monster-cell{display:flex;align-items:center;gap:.65rem;min-width:220px}
.monster-cell img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}
.monster-ph{width:42px;height:42px;border-radius:6px;background:var(--surface3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}
.monster-name{font-weight:800;color:var(--c-text)}
.monster-level{color:var(--text-muted);font-size:.8rem;margin-top:.12rem}
.status{font-weight:800;font-size:.82rem;color:var(--c-red)}
.status.done{color:var(--green)}
.status.trade{color:var(--blue)}
.harvest-qty-control{display:flex;align-items:center;justify-content:flex-end;gap:.32rem;white-space:nowrap}
.harvest-qty-btn{width:28px;height:28px;border:1px solid var(--border-gold);border-radius:5px;background:var(--surface2);color:var(--gold-dark);font-family:var(--font-ui);font-size:.9rem;font-weight:900;line-height:1;cursor:pointer;transition:all .15s;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.harvest-qty-btn:hover:not(:disabled){background:var(--c-inset);color:var(--gold);box-shadow:0 2px 8px var(--c-accent-soft)}
.harvest-qty-btn:disabled{opacity:.45;cursor:not-allowed}
.qty-box{width:44px;height:28px;border:1px solid var(--border);border-radius:4px;background:var(--surface);text-align:center;color:var(--text);font-weight:700;pointer-events:none}
.trade-note{display:block;margin-top:.18rem;color:var(--blue);font-size:.72rem}
.coords{white-space:nowrap;color:var(--gold-dark)}
.empty-login{margin-bottom:1rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--text-muted);font-size:.88rem}
.summary-divider{height:1px;background:var(--border);margin:1rem 0}
.summary-section-title{font-family:var(--font-ui);font-size:.92rem;color:var(--gold-dark);font-weight:700;margin:0 0 .55rem;letter-spacing:.02em}
.summary-section-title span{float:right;font-family:inherit;color:var(--text-muted);font-size:.82rem;font-weight:400}
.progress-track-total{height:28px;border-radius:999px;background:var(--c-inset);border:1px solid var(--border-gold);position:relative}
.progress-fill-total{height:100%;min-width:36px;border-radius:999px;background:linear-gradient(90deg,var(--c-accent),var(--c-accent-2));display:flex;align-items:center;padding-left:12px;color:var(--c-accent-ink);font-size:.78rem;font-weight:800;white-space:nowrap}
.monster-cell-clickable{cursor:pointer;border-radius:8px;padding:.25rem .35rem;margin:-.25rem -.35rem;transition:background .15s,box-shadow .15s}
.monster-cell-clickable:hover, .monster-cell-clickable:focus-visible{background:var(--c-inset);box-shadow:0 0 0 1px var(--c-line-accent);outline:none}
.archi-info-modal{position:fixed;inset:0;z-index:1400;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:1rem}
.archi-info-modal.is-hidden{display:none}
.archi-info-card{width:min(94vw,760px);max-height:92vh;overflow:auto;display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.1rem;position:relative;background:var(--surface);border:1px solid var(--border-gold);border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.36);padding:1.1rem;outline:none}
.archi-info-card:focus-visible{box-shadow:0 24px 70px rgba(0,0,0,.36),0 0 0 3px var(--c-accent-glow)}
.archi-info-close{position:absolute;top:.75rem;right:.75rem;border:1px solid var(--border);border-radius:7px;background:var(--surface2);color:var(--text-muted);font-family:var(--font-ui);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.35rem .7rem;cursor:pointer}
.archi-info-close:hover{border-color:var(--border-gold);color:var(--gold);background:var(--c-surface-hi)}
.archi-info-visual{min-height:260px;border:1px solid var(--c-line);border-radius:10px;background:linear-gradient(180deg,var(--c-surface-hi),var(--c-inset));display:flex;align-items:center;justify-content:center;padding:1rem}
.archi-info-visual img{width:auto;height:auto;max-width:190px;max-height:190px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 12px 20px rgba(0,0,0,.20))}
.archi-info-ph{width:160px;height:160px;border:1px solid var(--border);border-radius:10px;background:var(--surface3);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:3rem}
.archi-info-body{min-width:0;padding:.4rem .2rem .2rem}
.archi-info-kicker{display:inline-flex;margin-bottom:.4rem;padding:.2rem .55rem;border:1px solid var(--c-line);border-radius:999px;background:var(--c-inset);color:var(--gold-dark);font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.archi-info-body h2{font-family:var(--font-ui);color:var(--gold);font-size:1.35rem;line-height:1.12;margin:0 4.5rem .35rem 0}
.archi-info-monster{color:var(--text-muted);font-size:.92rem;margin-bottom:.9rem}
.archi-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}
.archi-info-grid div{border:1px solid var(--c-line);border-radius:8px;background:var(--c-surface);padding:.7rem}
.archi-info-grid span{display:block;margin-bottom:.2rem;color:var(--text-muted);font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.archi-info-grid strong{color:var(--gold-dark);font-size:.98rem}
.archi-info-section h3{font-family:var(--font-ui);color:var(--gold-dark);font-size:.82rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .55rem}
.archi-info-zones{display:flex;flex-direction:column;gap:.45rem}
.archi-zone-row{border:1px solid var(--border);border-radius:8px;background:var(--surface2);padding:.65rem .75rem}
.archi-zone-row strong{display:block;color:var(--text);font-size:.9rem}
.archi-zone-row span{display:block;color:var(--text-muted);font-size:.8rem;margin-top:.12rem}
.archi-zone-map-link{display:inline-flex;margin-top:.45rem;border:1px solid var(--border-gold);border-radius:6px;background:var(--c-inset);color:var(--gold-dark);padding:.3rem .55rem;font-family:var(--font-ui);font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:all .15s}
.archi-zone-map-link:hover{background:var(--c-surface-hi);color:var(--gold);box-shadow:0 2px 8px var(--c-accent-soft)}
.archi-info-loading, .archi-info-empty{border:1px dashed var(--c-line);border-radius:8px;background:var(--c-surface);color:var(--text-muted);font-size:.86rem;padding:.8rem}
@media(max-width:700px){.archi-info-card{grid-template-columns:1fr;padding:.9rem}.archi-info-visual{min-height:190px}.archi-info-visual img{max-width:170px;max-height:170px}.archi-info-body h2{font-size:1.1rem;margin-right:4rem}.archi-info-grid{grid-template-columns:1fr}.archi-zone-map-link{width:100%;justify-content:center}}
.harvest-view-tabs{display:flex;gap:.4rem;margin-bottom:.8rem;border-bottom:1px solid var(--border)}
.harvest-view-tab{font-family:var(--font-ui);font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.42rem 1rem;border-radius:4px 4px 0 0;border:1px solid transparent;border-bottom:none;color:var(--text-muted);background:none;cursor:pointer;transition:all .2s;position:relative;bottom:-1px;display:inline-flex;align-items:center;gap:.45rem}
.harvest-view-tab:hover{color:var(--gold);border-color:var(--border)}
.harvest-view-tab.active{border-color:var(--border-gold);border-bottom-color:var(--bg);color:var(--gold);background:var(--surface)}
.harvest-view-count{min-width:20px;height:20px;padding:0 .4rem;border-radius:999px;background:var(--c-inset);border:1px solid var(--c-line);color:var(--gold-dark);font-size:.68rem;display:inline-flex;align-items:center;justify-content:center}
.zone-overview{background:var(--surface);border:1px solid var(--border-gold);border-radius:8px;box-shadow:0 3px 12px rgba(0,0,0,.10);padding:.9rem 1rem;margin-bottom:.8rem}
.zone-overview-title{margin:0 0 .65rem;color:var(--text-muted);font-size:.9rem}
.zone-overview-title b{color:var(--gold-dark)}
.zone-overview-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.zone-chip{border:1px solid var(--border-gold);border-radius:999px;background:var(--surface2);color:var(--text);font-family:var(--font-ui);font-size:.8rem;padding:.3rem .7rem;cursor:pointer;transition:all .15s}
.zone-chip b{color:var(--red);margin-right:.15rem}
.zone-chip:hover{background:var(--c-inset);color:var(--gold-dark);box-shadow:0 2px 8px var(--c-accent-soft)}
.zone-head{grid-template-columns:minmax(0,auto) auto minmax(120px,1fr)}
.zone-head-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.zone-missing-count{color:var(--red);font-weight:800;font-size:.8rem;white-space:nowrap}
.zone-split{color:var(--text-muted);font-size:.72rem;white-space:nowrap}
.zone-group{scroll-margin-top:76px}
.zone-missing-list{list-style:none;margin:0;padding:0}
.zone-missing-list li{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.6rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--c-line) 75%,transparent)}
.zone-missing-list li:nth-child(even){background:color-mix(in srgb,var(--c-inset) 45%,transparent)}
.zone-missing-list li:last-child{border-bottom:0}
.zone-missing-list .monster-cell{min-width:0}
.zone-row-tags{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.zone-stage-tag{border:1px solid var(--c-line);border-radius:999px;background:var(--c-surface);color:var(--gold-dark);font-size:.7rem;font-weight:800;padding:.15rem .5rem;white-space:nowrap}
@media(max-width:700px){.zone-head{grid-template-columns:1fr auto}.zone-head .stage-mini{grid-column:1/-1}.zone-missing-list li{flex-direction:column;align-items:flex-start}}
.guide-layout{display:grid;grid-template-columns:minmax(180px,230px) minmax(0,1fr);gap:.8rem;align-items:start}
.guide-list{background:var(--surface);border:1px solid var(--border-gold);border-radius:8px;box-shadow:0 3px 12px rgba(0,0,0,.10);max-height:calc(100vh - 110px);overflow:auto;position:sticky;top:76px}
.guide-stage{border-bottom:1px solid var(--border)}
.guide-stage:last-child{border-bottom:0}
.guide-list-tools{display:flex;gap:.35rem;padding:.45rem .5rem;border-bottom:1px solid var(--border);background:var(--surface2)}
.guide-list-tool{flex:1;border:1px solid var(--border-gold);border-radius:5px;background:var(--surface);color:var(--gold-dark);font-family:var(--font-ui);font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:.3rem .4rem;cursor:pointer;transition:all .15s}
.guide-list-tool:hover{background:var(--c-inset);color:var(--gold)}
.guide-stage-title{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:.45rem;width:100%;margin:0;padding:.5rem .75rem;border:0;border-bottom:1px solid var(--border);background:var(--c-inset);color:var(--gold-dark);font-family:var(--font-ui);font-weight:800;font-size:.82rem;text-align:left;cursor:pointer}
.guide-stage-title:hover{background:var(--c-inset)}
.guide-stage-title:focus-visible{outline:2px solid color-mix(in srgb,var(--c-line-accent) 60%,transparent);outline-offset:-2px}
.guide-stage-name{flex:1;min-width:0}
.guide-stage-missing{color:var(--red);font-size:.74rem;white-space:nowrap}
.guide-stage-chevron{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-3px 2px 0;transition:transform .15s;flex-shrink:0}
.guide-stage.collapsed .guide-stage-chevron{transform:rotate(-45deg);margin-top:0}
.guide-stage.collapsed .guide-stage-items{display:none}
.guide-stage.collapsed .guide-stage-title{border-bottom-color:transparent}
.guide-stage-items{display:flex;flex-direction:column}
.guide-item{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.45rem .75rem;border:0;border-left:3px solid transparent;border-bottom:1px solid color-mix(in srgb,var(--c-line) 60%,transparent);background:none;text-align:left;cursor:pointer;font-family:var(--font-ui);transition:background .15s}
.guide-item:hover{background:var(--c-inset)}
.guide-item.active{background:var(--c-inset);border-left-color:var(--gold)}
.guide-item:focus-visible{outline:2px solid color-mix(in srgb,var(--c-line-accent) 60%,transparent);outline-offset:-2px}
.guide-item-name{color:var(--c-text);font-weight:800;font-size:.85rem}
.guide-item-zone{color:var(--text-muted);font-size:.74rem}
.guide-detail{background:var(--surface);border:1px solid var(--border-gold);border-radius:8px;box-shadow:0 3px 12px rgba(0,0,0,.10);padding:1rem;position:sticky;top:76px;min-height:260px}
.guide-detail-empty{border:1px dashed var(--c-line);border-radius:8px;background:var(--c-surface);color:var(--text-muted);font-size:.9rem;padding:1rem}
.guide-detail-head{display:flex;flex-wrap:wrap;gap:.8rem 1rem;align-items:center;margin-bottom:1rem}
.guide-detail-visual{width:110px;height:110px;flex-shrink:0;border:1px solid var(--c-line);border-radius:10px;background:linear-gradient(180deg,var(--c-surface-hi),var(--c-inset));display:flex;align-items:center;justify-content:center}
.guide-detail-visual img{max-width:92px;max-height:92px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.20))}
.guide-detail-title{min-width:0;flex:1 1 160px}
.guide-detail-title h2{font-family:var(--font-ui);color:var(--gold);font-size:1.12rem;line-height:1.2;margin:0 0 .3rem;overflow-wrap:anywhere}
.guide-detail-title .archi-info-monster{margin-bottom:0}
.guide-detail-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.guide-detail-grid strong.status{color:var(--red)}
.guide-detail-grid strong.status.trade{color:var(--blue)}
.guide-detail-grid strong.status.done{color:var(--green)}
.guide-area{margin-bottom:.6rem}
.guide-area-name{margin:0 0 .35rem;color:var(--gold-dark);font-weight:800;font-size:.84rem}
.guide-zone-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .6rem;margin-bottom:.35rem}
.guide-zone-row .archi-zone-map-link{margin-top:0;flex-shrink:0}
.guide-detail-actions{display:flex;justify-content:space-between;gap:.5rem;margin-top:1rem;flex-wrap:wrap}
.guide-btn{border:1px solid var(--border-gold);border-radius:6px;background:var(--surface2);color:var(--gold-dark);font-family:var(--font-ui);font-size:.74rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:.45rem .8rem;cursor:pointer;transition:all .15s;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.guide-btn:hover:not(:disabled){background:var(--c-surface-hi);color:var(--gold);box-shadow:0 2px 8px var(--c-accent-soft)}
.guide-btn:disabled{opacity:.45;cursor:not-allowed}
.guide-btn-primary{background:var(--c-inset);border-color:var(--gold)}
.guide-detail-hint{margin:.6rem 0 0;color:var(--text-dim);font-size:.74rem;text-align:center}
.guide-minimap{margin-bottom:.7rem}
.guide-minimap:empty{display:none}
.guide-minimap-stage{position:relative;overflow:hidden;border:1px solid var(--c-line);border-radius:8px;background:#9bcfc1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);cursor:crosshair}
.guide-minimap-tile{position:absolute;max-width:none;user-select:none;pointer-events:none}
.guide-minimap-cell{position:absolute;background:rgba(40,255,90,.42);box-shadow:inset 0 0 0 1.5px #39ff6a,0 0 8px rgba(57,255,106,.75);pointer-events:none}
.guide-minimap-cell.focus{background:rgba(255,40,40,.45);box-shadow:inset 0 0 0 2px #ff2b2b,0 0 10px rgba(255,43,43,.85)}
.guide-minimap .map-zaap{position:absolute;z-index:6;width:0;height:0;pointer-events:none}
.guide-minimap .map-zaap-icon,.guide-minimap .map-zaap-label{position:absolute;left:0;top:0;transform:translate(-50%,-50%)}
.guide-minimap .map-zaap-icon{width:20px;height:20px;pointer-events:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55))}
.guide-minimap .map-zaap-icon svg{width:20px;height:20px;display:block}
.guide-minimap .map-zaap-label{transform:translate(-50%,13px);white-space:nowrap;padding:2px 6px;border-radius:4px;background:rgba(8,9,10,.86);border:1px solid var(--c-line-strong);color:var(--c-text);font:800 10px/1.1 var(--font-ui);opacity:0;transition:opacity .15s}
.guide-minimap .show-zaap-names .map-zaap-label,.guide-minimap .map-zaap:hover .map-zaap-label{opacity:1}
.guide-minimap-caption{margin-top:.35rem;color:var(--text-muted);font-size:.76rem}
.guide-minimap-empty{border:1px dashed var(--c-line);border-radius:8px;background:var(--c-surface);color:var(--text-muted);font-size:.84rem;padding:.7rem}
.guide-zone-actions{display:inline-flex;gap:.35rem;flex-wrap:wrap}
button.archi-zone-map-link{cursor:pointer}
.guide-zone-row.active{border-color:var(--border-gold);background:var(--c-inset)}
@media(max-width:900px){.guide-layout{grid-template-columns:1fr}.guide-list{position:static;max-height:45vh}.guide-detail{position:static}}
@media(max-width:700px){.guide-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-detail-head{flex-direction:column;align-items:flex-start}.guide-detail-title{flex:none}.guide-zone-row{flex-direction:column;align-items:flex-start}}
.harvest-user-form{display:flex;gap:.4rem;margin-bottom:.6rem}
.harvest-user-form input{flex:1;min-width:0;padding:.42rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:.86rem}
.harvest-user-form input:focus{outline:none;border-color:var(--border-gold)}
.harvest-user-form button{border:1px solid var(--border-gold);border-radius:6px;background:var(--surface);color:var(--gold-dark);font-weight:800;font-size:.8rem;padding:.42rem .8rem;cursor:pointer}
.harvest-user-form button:hover{background:var(--c-inset);color:var(--gold)}
.harvest-friends{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}
.harvest-friend{padding:.22rem .6rem;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--text-muted);font-size:.8rem;text-decoration:none}
.harvest-friend:hover{border-color:var(--border-gold);color:var(--gold-dark)}
.harvest-friend.active{border-color:var(--border-gold);background:var(--c-inset);color:var(--gold-dark);font-weight:700}
.harvest-back{display:inline-block;color:var(--gold-dark);font-size:.84rem;font-weight:700;text-decoration:none}
.harvest-back:hover{text-decoration:underline}

/* --------------------------------------------------------------------------
   Tema moderno (tokens en theme/tokens.css)
   -------------------------------------------------------------------------- */
html[data-theme] .page-layout .harvest-view-tabs { gap: .4rem; margin-bottom: .8rem; border-bottom: 0 !important; }

/* Barras de progreso finas con brillo */
html[data-theme] .page-layout :is(.progress-track, .progress-track-total) {
  height: 18px !important;
  overflow: visible;
  background: var(--c-inset-2) !important;
  border: 0 !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .12) !important;
}
html[data-theme] .page-layout :is(.progress-fill, .progress-fill-total) {
  min-width: 38px !important;
  padding: 0 0 0 8px !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  color: var(--c-on-accent) !important;
  background: linear-gradient(90deg, var(--c-accent), var(--c-accent-2)) !important;
  box-shadow: 0 0 14px -2px color-mix(in srgb, var(--c-accent) 60%, transparent);
  transition: width .9s var(--ease);
}

/* Etapas */
html[data-theme] .page-layout .harvest-stage .stage-head { background: transparent !important; border-radius: var(--r-card); }
html[data-theme] .page-layout .harvest-stage .stage-head:hover { background: var(--c-accent-soft) !important; }
html[data-theme] .page-layout .harvest-stage.open .stage-head {
  border-bottom-color: var(--c-line) !important;
  border-radius: var(--r-card) var(--r-card) 0 0;
}
html[data-theme] .stage-name { color: var(--c-text) !important; font-weight: 600 !important; }

/* Estado de cada monstruo */
html[data-theme] .status { border-radius: var(--r-ctl) !important; font-weight: 600 !important; border-color: transparent !important; }
html[data-theme] .status.done    { background: var(--c-tint-green) !important; color: var(--c-green) !important; }
html[data-theme] .status.trade   { background: var(--c-tint-blue) !important;  color: var(--c-blue) !important; }
html[data-theme] .status.missing { background: var(--c-tint-red) !important;   color: var(--c-red) !important; }
html[data-theme] .status { display: inline-block; padding: .16rem .5rem; line-height: 1.3; white-space: nowrap; }

/* Resumen: cifras con el color de su estado (obtenido · falta · intercambiable) */
html[data-theme] .harvest-summary .summary-grid b { font-weight: 600 !important; }
html[data-theme] .harvest-summary .summary-grid b:nth-of-type(1) { color: var(--c-green) !important; }
html[data-theme] .harvest-summary .summary-grid b:nth-of-type(2) { color: var(--c-red) !important; }
html[data-theme] .harvest-summary .summary-grid b:nth-of-type(3) { color: var(--c-blue) !important; }
html[data-theme] .summary-divider { background: var(--c-line) !important; }
/* "0/337 — 0%" no cabía en el mínimo de la barra: la barra crece con su texto */
html[data-theme] .page-layout :is(.progress-fill, .progress-fill-total) { min-width: max-content !important; padding-right: 8px !important; }

/* Tablas y listas: filas alternas con un tinte muy suave (antes gris claro) */
html[data-theme] .page-layout :is(.harvest-table tr:nth-child(even) td, .zone-missing-list li:nth-child(even)) {
  background: color-mix(in srgb, var(--c-inset) 45%, transparent) !important;
}
html[data-theme] .page-layout .harvest-table th {
  background: var(--c-inset) !important;
  color: var(--c-text-2) !important;
  font-weight: 600 !important;
  border-bottom-color: var(--c-line) !important;
}
html[data-theme] .page-layout .harvest-table td { border-bottom-color: var(--c-line) !important; }
html[data-theme] .page-layout .monster-cell { min-width: 190px !important; }
html[data-theme] .monster-cell img { filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .35)) !important; }
html[data-theme] :is(.monster-name, .guide-item-name) { color: var(--c-text) !important; font-weight: 600 !important; }
html[data-theme] :is(.monster-level, .guide-item-zone) { color: var(--c-text-3) !important; }
html[data-theme] .coords { color: var(--c-accent-ink) !important; font-variant-numeric: tabular-nums; }
html[data-theme] .page-layout .qty-box {
  background: var(--c-field) !important;
  border-color: var(--c-line-strong) !important;
  border-radius: var(--r-ctl) !important;
}

/* Faltantes por zona: la cabecera tiene 3 columnas (nombre · faltan · barra);
   theme-overrides.css la forzaba a 2 y la barra caía debajo */
html[data-theme] .page-layout .stage-head.zone-head { grid-template-columns: minmax(0, auto) auto minmax(120px, 1fr) !important; }
html[data-theme] .zone-overview-title b { color: var(--c-accent-ink) !important; }
html[data-theme] .page-layout .zone-chip {
  background: var(--c-inset) !important;
  border: 1px solid var(--c-line-strong) !important;
  color: var(--c-text) !important;
  box-shadow: none !important;
  transition: background .2s var(--ease), border-color .2s var(--ease);
}
html[data-theme] .page-layout .zone-chip:hover { background: var(--c-accent-soft) !important; border-color: var(--c-line-accent) !important; }
html[data-theme] .zone-chip b { color: var(--c-red) !important; font-weight: 600; }
html[data-theme] .zone-split { color: var(--c-text-3) !important; }
html[data-theme] .zone-stage-tag {
  background: var(--c-inset-2) !important;
  border-color: transparent !important;
  color: var(--c-text-2) !important;
  font-weight: 600 !important;
}

/* Guía de caza: la lista y la ficha son las tarjetas; el contenedor no lleva otra encima */
html[data-theme] .page-layout .harvest-view .guide-layout {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
html[data-theme] .page-layout :is(.guide-list, .guide-detail) {
  background: var(--c-surface) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: var(--r-card) !important;
  box-shadow: var(--c-shadow) !important;
}
html[data-theme] .guide-list { scrollbar-width: thin; scrollbar-color: var(--c-line-strong) transparent; }
html[data-theme] .page-layout :is(.guide-stage, .guide-list-tools) { border-color: var(--c-line) !important; }
html[data-theme] .page-layout .guide-list-tools { background: var(--c-surface) !important; }
html[data-theme] .page-layout .guide-stage-title {
  background: var(--c-surface-hi) !important;
  border-bottom-color: var(--c-line) !important;
  color: var(--c-text) !important;
  font-weight: 600 !important;
}
html[data-theme] .page-layout .guide-stage-title:hover { background: var(--c-inset-2) !important; }
html[data-theme] .guide-stage-missing { color: var(--c-red) !important; font-weight: 600; }
/* Elementos de la lista: filas planas (cards.css los dibuja como tarjetitas pegadas) */
html[data-theme] .page-layout .harvest-view .guide-list .guide-item {
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-bottom: 1px solid var(--c-line) !important;
  border-radius: 0 !important;
}
html[data-theme] .page-layout .harvest-view .guide-list .guide-item:hover { background: var(--c-inset) !important; }
html[data-theme] .page-layout .harvest-view .guide-list .guide-item.active {
  background: var(--c-accent-soft) !important;
  border-left-color: var(--c-accent) !important;
}
html[data-theme] .guide-item.active .guide-item-name { color: var(--c-accent-ink) !important; }

/* Ficha del archi (guía y ventana): título en Geist, cifras en texto normal */
html[data-theme] :is(.guide-detail-title h2, .archi-info-body h2) {
  font-family: var(--font-ui) !important;
  font-variant: normal !important;
  text-transform: none !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  color: var(--c-text) !important;
}
html[data-theme] .archi-info-kicker {
  background: var(--c-accent-soft) !important;
  border-color: var(--c-line-accent) !important;
  color: var(--c-accent-ink) !important;
  font-weight: 600 !important;
}
html[data-theme] :is(.archi-info-grid div, .archi-zone-row) {
  background: var(--c-inset) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: var(--r-inner) !important;
}
html[data-theme] .archi-info-grid span { color: var(--c-text-3) !important; font-weight: 600 !important; }
html[data-theme] .archi-info-grid strong { color: var(--c-text) !important; font-weight: 600; }
html[data-theme] .archi-info-grid strong.status { background: none !important; padding: 0; }
html[data-theme] :is(.archi-info-section h3, .guide-area-name) { color: var(--c-accent-ink) !important; font-weight: 600 !important; }
html[data-theme] :is(.archi-info-visual, .guide-detail-visual) {
  background: var(--c-inset) !important;
  border-color: var(--c-line) !important;
}
html[data-theme] :is(.archi-info-visual img, .guide-detail-visual img) { filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .45)) !important; }
html[data-theme] :is(.archi-info-loading, .archi-info-empty, .guide-detail-empty, .guide-minimap-empty) {
  background: transparent !important;
  border: 1.5px dashed var(--c-line-strong) !important;
  border-radius: var(--r-inner) !important;
  color: var(--c-text-3) !important;
}
html[data-theme] .guide-zone-row.active { background: var(--c-accent-soft) !important; border-color: var(--c-line-accent) !important; }
html[data-theme] :is(.guide-minimap-caption, .guide-detail-hint) { color: var(--c-text-3) !important; }

/* Ver la de otra persona */
html[data-theme] .page-layout .harvest-user-form input { background: var(--c-field) !important; border-color: var(--c-line-strong) !important; }
html[data-theme] .page-layout .harvest-user-form input:focus { border-color: var(--c-line-accent) !important; }
html[data-theme] .page-layout .harvest-friend {
  background: var(--c-inset) !important;
  border-color: var(--c-line-strong) !important;
  color: var(--c-text-2) !important;
}
html[data-theme] .page-layout .harvest-friend:hover { color: var(--c-text) !important; border-color: var(--c-line-hover) !important; }
html[data-theme] .page-layout .harvest-friend.active {
  background: var(--c-accent-soft) !important;
  border-color: var(--c-line-accent) !important;
  color: var(--c-accent-ink) !important;
}
html[data-theme] .harvest-back { color: var(--c-accent-ink) !important; }
html[data-theme] .page-layout .empty-login {
  background: var(--c-inset) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: var(--r-inner) !important;
  color: var(--c-text-2) !important;
}

/* Ventana del archi: botón Cerrar como los demás secundarios */
html[data-theme] .archi-info-close {
  background: var(--c-inset) !important;
  border: 1px solid var(--c-line-strong) !important;
  border-radius: var(--r-ctl) !important;
  color: var(--c-text) !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
html[data-theme] .archi-info-close:hover { background: var(--c-inset-2) !important; border-color: var(--c-line-hover) !important; }

/* Móvil: la tabla ancha estiraba la columna (1fr = mínimo del contenido) y toda la página
   se salía por la derecha. La columna no crece y la tabla se desplaza dentro de la etapa. */
html[data-theme] .harvest-layout > * { min-width: 0; }
@media (max-width: 900px) {
  html[data-theme] .page-layout .harvest-layout { grid-template-columns: minmax(0, 1fr) !important; }
  html[data-theme] .page-layout .harvest-stage.open .stage-body { overflow-x: auto; }
}
@media (max-width: 700px) {
  html[data-theme] .page-layout .harvest-view-tabs { flex-wrap: wrap; }
  html[data-theme] .page-layout .harvest-view-tab { padding: .42rem .7rem !important; }
  html[data-theme] .page-layout .monster-cell { min-width: 150px !important; }
  html[data-theme] .page-layout :is(.harvest-table th, .harvest-table td) { padding: .55rem .6rem !important; }
}

/* Ocres conseguidos y botón para concluir la cosecha */
.harvest-ocres{display:flex;align-items:center;gap:.65rem;margin-top:.85rem;padding:.6rem .75rem;border:1px solid var(--border-gold);border-radius:10px;background:var(--c-inset)}
.harvest-ocres-num{min-width:42px;height:42px;padding:0 .4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#f3c55a,#c98a1c);color:#2a1700;font-family:var(--font-ui);font-size:1.15rem;font-weight:900;box-shadow:0 0 0 2px rgba(255,236,170,.45) inset}
.harvest-ocres-label{color:var(--gold-dark);font-family:var(--font-ui);font-size:.86rem;font-weight:800;letter-spacing:.02em}
.harvest-conclude{width:100%;margin-top:.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.6rem 1rem;border:1px solid var(--c-line-accent,var(--border-gold));border-radius:8px;background:linear-gradient(135deg,#e8c96a,#c9a84c 48%,#9a6e14);color:#1c1200;font-family:var(--font-ui);font-size:.82rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:transform .15s,box-shadow .15s}
.harvest-conclude:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.2)}
.harvest-conclude:disabled{opacity:.6;cursor:wait;transform:none}
.harvest-conclude svg{width:16px;height:16px}
.harvest-conclude-note{margin:.45rem 0 0;color:var(--text-muted);font-size:.78rem;line-height:1.45}

/* Ocres en paralelo: varias almas de cada objetivo en "Tengo" = varios Ocres a la vez */
.ocres-parallel{display:flex;flex-direction:column;gap:.4rem}
.ocres-parallel-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.15rem}
.ocres-parallel-num{min-width:38px;height:38px;padding:0 .4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--c-inset);border:1px solid var(--border-gold);color:var(--gold);font-family:var(--font-ui);font-size:1.1rem;font-weight:900}
.ocres-parallel-label{color:var(--text-muted);font-size:.8rem;font-weight:700;line-height:1.3}
.ocre-track{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:.5rem}
.ocre-track-name{font-family:var(--font-ui);font-size:.74rem;font-weight:800;color:var(--gold-dark);white-space:nowrap}
.ocre-track.complete .ocre-track-name{color:var(--c-green)}
html[data-theme] .page-layout .ocre-track.complete .progress-fill, .ocre-track.complete .progress-fill{background:linear-gradient(90deg,color-mix(in srgb,var(--c-green) 70%,#000),var(--c-green)) !important;color:#0d1a05 !important}
.ocres-parallel-note{margin:.1rem 0 0;font-size:.74rem;color:var(--text-muted)}
