.catch-card,.catch-image-wrapper{position:relative;overflow:hidden}.catches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px}.catch-card{background:var(--bg-card);border-radius:12px;transition:transform .2s,box-shadow .2s;cursor:pointer}.catch-image-placeholder,.catch-image-wrapper{background:linear-gradient(135deg,var(--bg-hover),var(--bg-dark))}.catch-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.2)}.catch-image-wrapper{height:180px}.catch-image{width:100%;object-fit:cover;transition:transform .3s;position:relative}.catch-card:hover .catch-image{transform:scale(1.05)}.catch-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px}.catch-status-badge{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);font-size:14px;font-weight:700}.catch-status-badge.approved{background:rgba(46,204,113,.9);color:#fff}.catch-status-badge.pending{background:rgba(243,156,18,.9);color:#fff}.catch-content{padding:12px 16px}.catch-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.catch-fish{font-size:16px;font-weight:600;color:var(--gold);margin:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.catch-weight{font-size:14px;font-weight:500;color:var(--txt1);background:var(--bg-hover);padding:2px 6px;border-radius:12px}.catch-date{font-size:11px;color:var(--txt3);white-space:nowrap}.catch-bait,.catch-location{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--txt2);margin-top:6px}.catch-bait svg,.catch-location svg{flex-shrink:0;opacity:.6}.catch-bait span,.catch-location span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catch-bait span{white-space:normal;line-height:1.3}.catch-footer{padding:10px 16px 12px;border-top:1px solid var(--border);background:var(--bg-card)}.catch-actions{display:flex;gap:16px}.catch-comment,.catch-like{display:flex;align-items:center;gap:4px;background:0 0;border:none;color:var(--txt3);font-size:12px;cursor:pointer;padding:4px 8px;border-radius:20px;transition:.2s}.catch-comment:hover,.catch-like:hover{background:var(--bg-hover);color:var(--gold)}.catch-like.liked{color:#ff6b6b}.catch-like.liked:hover{color:#ff8787;background:rgba(255,107,107,.1)}.catch-comment svg,.catch-like svg{transition:transform .2s}.catch-comment:hover svg,.catch-like:hover svg{transform:scale(1.1)}@media (max-width:768px){.catches-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.catch-image-wrapper{height:160px}.catch-content{padding:10px 12px}.catch-fish{font-size:14px}.catch-weight{font-size:12px}.catch-footer{padding:8px 12px 10px}}@media (max-width:480px){.catches-grid{grid-template-columns:1fr}}
.catch-image-upload {
  position: relative;
  margin-top: 10px;
}

.catch-image-upload input[type="file"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

.catch-image-placeholder,
.catch-image-preview {
  border: 2px dashed var(--border);
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  background: var(--bg-hover);
  transition: all 0.3s ease;
  min-height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.catch-image-placeholder svg {
  fill: var(--txt3);
  margin-bottom: 10px;
}

.catch-image-preview {
  position: relative;
  padding: 10px;
}

.catch-image-preview img {
  max-width: 100%;
  max-height: 200px;
  border-radius: 5px;
}

.catch-remove-image {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  background: rgba(0,0,0,0.5);
  border: none;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.catch-remove-image:hover {
  background: rgba(255,0,0,0.7);
}