/* GREENFALL — round 4: logbook, upgrades, endgame, trade panels */
.lb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lb-card .top { align-items: flex-start; }
.lb-card .lb-ic { min-width: 76px; width: 76px; height: 76px; display: flex; align-items: center; justify-content: center; font-size: 30px; opacity: .9; }
.lb-img { width: 76px; height: 76px; object-fit: contain; border-radius: 10px; background: radial-gradient(circle at 50% 35%, rgba(77,255,154,.18), rgba(0,0,0,.35)); }
.lb-card .sub i { color: #9dffd0; font-style: normal; font-weight: 700; }
.lb-card.locked h4 { letter-spacing: .3em; opacity: .55; }
.lb-card.locked { filter: grayscale(.8); }
.lb-card .chips { margin: 6px 0 4px; }
#mflash { transition: none; }
.up-mats { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.phase-bar { display: flex; gap: 6px; margin: 8px 0; }
.phase-bar .ph { flex: 1; padding: 6px 8px; border: 1px solid rgba(125,255,192,.25); border-radius: 8px; background: rgba(8,20,18,.6); font-size: 11px; text-align: center; opacity: .55; }
.phase-bar .ph.on { opacity: 1; border-color: #7dffc0; box-shadow: 0 0 12px rgba(77,255,154,.25); }
.phase-bar .ph.done { opacity: .9; background: rgba(40,120,80,.35); }
.req-list { margin: 6px 0; padding: 0; list-style: none; }
.req-list li { display: flex; gap: 8px; align-items: center; padding: 4px 6px; margin: 3px 0; border-radius: 6px; background: rgba(0,0,0,.25); font-size: 12px; }
.req-list li.ok { color: #7dffc0; } .req-list li.no { color: #ffb347; }
.req-list li .bar { flex: 1; height: 5px; border-radius: 3px; background: rgba(255,255,255,.1); overflow: hidden; } .req-list li .bar i { display: block; height: 100%; background: #4dff9a; }
.lb-card .sub{max-height:none!important}
