:root{--bg:#0b0f14;--card:#121a24;--muted:#9fb0c3;--text:#e7eef7;--accent:#67e8f9;--line:#223042}
*{box-sizing:border-box} body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial; background:linear-gradient(180deg,#071018,#0b0f14); color:var(--text)}
.container{max-width:1100px;margin:0 auto;padding:16px}
.topbar{position:sticky;top:0;background:rgba(10,15,20,.85);backdrop-filter: blur(10px);border-bottom:1px solid var(--line);z-index:10}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-weight:800;color:var(--text);text-decoration:none}
.nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nav a{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:10px}
.nav a:hover{background:rgba(255,255,255,.06);color:var(--text)}
.btn{background:rgba(103,232,249,.12);border:1px solid rgba(103,232,249,.25);color:var(--text)}
h1,h2,h3{margin:10px 0 8px}
.card{background:rgba(18,26,36,.9);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.grid{display:grid;gap:14px}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:220px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}
.badge{display:inline-block;padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}
.kv{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:14px}
.kv b{color:var(--text)}
.input, textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text)}
label{display:block;margin:10px 0 6px;color:var(--muted);font-size:13px}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row > *{flex:1 1 220px}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
button,.button{cursor:pointer;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);text-decoration:none;display:inline-block}
button.primary,.button.primary{background:rgba(103,232,249,.14);border-color:rgba(103,232,249,.3)}
table{width:100%;border-collapse:separate;border-spacing:0 8px}
td,th{padding:10px 12px}
tr{background:rgba(255,255,255,.03);border:1px solid var(--line)}
tr td:first-child, tr th:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}
tr td:last-child, tr th:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}
.small{font-size:12px;color:var(--muted)}
hr{border:none;border-top:1px solid var(--line);margin:14px 0}
.lot-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.2)}
.notice{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(103,232,249,.08);color:var(--text)}
.error{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,90,90,.35);background:rgba(255,90,90,.08)}
.footer{border-top:1px solid var(--line);margin-top:24px}
/* ==========================
   Auction Lots Grid (Fix)
   Matches auction.php classes:
   .lot-grid .lot-card .imgwrap .body .title .meta .price .timer
   ========================== */

.lot-grid{
  display: grid;
  gap: 16px;

  /* fixed-size tiles so 1-2 lots don't become huge */
  grid-template-columns: repeat(auto-fill, minmax(240px, 240px));

  /* center tiles when there are only a few lots */
  justify-content: center;
  align-items: start;

  margin-top: 12px;
}

.lot-card{
  display: block;
  width: 240px;              /* must match the column width above */
  text-decoration: none;
  color: inherit;
  border-radius: 16px;
  background: rgba(18,26,36,.9);
  border: 1px solid var(--line);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  overflow: hidden;
  transition: transform .12s ease, border-color .12s ease;
}

.lot-card:hover{
  transform: translateY(-2px);
  border-color: rgba(103,232,249,.35);
}

.lot-card .imgwrap{
  width: 100%;
  height: 180px;             /* consistent thumbnail height */
  background: rgba(255,255,255,.04);
  display:flex;
  align-items:center;
  justify-content:center;
}

.lot-card .imgwrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;         /* crop nicely like auction sites */
  display: block;
}

.lot-card .body{
  padding: 12px 12px 14px;
}

.lot-card .title{
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 10px;
  color: var(--text);
}

.lot-card .meta{
  display:flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
}

.lot-card .price{
  font-size: 20px;
  font-weight: 900;
  color: var(--text);
}

.lot-card .timer{
  font-size: 12px;
  color: var(--muted);
  text-align: right;
}

/* Mobile: allow slightly smaller tiles */
@media (max-width: 520px){
  .lot-grid{
    grid-template-columns: repeat(auto-fill, minmax(200px, 200px));
  }
  .lot-card{
    width: 200px;
  }
  .lot-card .imgwrap{
    height: 150px;
  }
}