:root{
  --bg:#0c100d; --bg2:#121a14; --card:#16201a;
  --gold:#d8b46a; --gold2:#f0d9a0; --green:#1f7a4d; --green-l:#2fa968;
  --text:#eef2ec; --muted:#9aa79c; --line:#243029; --red:#c75d5d;
}
*{box-sizing:border-box; margin:0; padding:0}
body{
  font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:radial-gradient(1200px 600px at 50% -10%,#16241a 0%,var(--bg) 55%);
  color:var(--text); line-height:1.5; min-height:100vh;
}
a{color:inherit; text-decoration:none}
.wrap{max-width:1100px; margin:0 auto; padding:0 18px}

/* NAV */
header.nav{border-bottom:1px solid var(--line); background:rgba(10,14,11,.7); backdrop-filter:blur(8px); position:sticky; top:0; z-index:20}
.nav-in{display:flex; align-items:center; gap:18px; height:62px}
.logo{font-size:13px; letter-spacing:4px; color:var(--gold); font-weight:800; white-space:nowrap}
.nav-links{display:flex; gap:6px; margin-left:auto; align-items:center; flex-wrap:wrap}
.nav-links a{padding:8px 13px; border-radius:9px; font-size:14px; color:var(--muted)}
.nav-links a:hover{color:var(--text); background:var(--card)}
.nav-links a.primary{background:linear-gradient(135deg,var(--gold),var(--gold2)); color:#1a1305; font-weight:700}
.nav-links a.primary:hover{filter:brightness(1.06)}
.badge{display:inline-block; min-width:18px; padding:0 5px; background:var(--red); color:#fff; border-radius:10px; font-size:11px; font-weight:700; text-align:center}

/* FLASH */
.flash{padding:12px 16px; border-radius:11px; margin:16px 0; font-size:14px}
.flash.ok{background:#15301f; border:1px solid var(--green-l); color:#d6f0e0}
.flash.error{background:#301717; border:1px solid var(--red); color:#f0d6d6}

/* HERO / SEARCH */
.hero{text-align:center; padding:34px 0 8px}
.hero h1{font-size:32px; margin-bottom:8px}
.hero h1 span{color:var(--gold2)}
.hero p{color:var(--muted); max-width:600px; margin:0 auto}
.search{background:linear-gradient(135deg,#15241b,#101813); border:1px solid var(--line);
  border-radius:18px; padding:22px; margin:22px auto; max-width:680px; box-shadow:0 20px 50px rgba(0,0,0,.4)}
.search h2{font-size:18px; margin-bottom:4px}
.search p{color:var(--muted); font-size:14px; margin-bottom:14px}
.field{display:flex; gap:10px; flex-wrap:wrap}
.field input{flex:1; min-width:200px; background:#0b110d; border:1px solid var(--line); color:var(--text);
  padding:14px 15px; border-radius:11px; font-size:17px; letter-spacing:1px; outline:none}
.field input:focus{border-color:var(--gold)}

/* BUTTONS */
.btn{background:linear-gradient(135deg,var(--gold),var(--gold2)); color:#1a1305; border:none;
  padding:13px 22px; border-radius:11px; font-size:15px; font-weight:700; cursor:pointer; display:inline-block}
.btn:active{transform:scale(.98)}
.btn.green{background:var(--green); color:#fff}
.btn.green:hover{background:var(--green-l)}
.btn.ghost{background:transparent; border:1px solid var(--line); color:var(--text)}
.btn.small{padding:8px 13px; font-size:13px}
.btn.danger{background:transparent; border:1px solid var(--red); color:#e9a3a3}

/* RESULT */
.res-hit,.res-miss{border-radius:14px; padding:16px 18px; margin-top:14px; max-width:680px; margin-left:auto; margin-right:auto}
.res-hit{background:linear-gradient(135deg,#1d3a26,#16271c); border:1px solid var(--green-l)}
.res-miss{background:#16201a; border:1px solid var(--line)}
.res-hit .big{font-size:19px; color:var(--gold2); font-weight:700}

/* FILTERS */
.filters{display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin:18px 0}
.filters a{padding:7px 14px; border:1px solid var(--line); border-radius:20px; font-size:13px; color:var(--muted)}
.filters a.active{border-color:var(--gold); color:var(--gold2)}

/* GRID + CARDS */
.section-title{margin:26px 0 14px; font-size:21px; display:flex; align-items:center; gap:10px}
.section-title:before{content:""; width:4px; height:21px; background:var(--gold); border-radius:3px}
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; padding-bottom:40px}
.card{background:var(--card); border:1px solid var(--line); border-radius:15px; overflow:hidden; transition:transform .12s,border-color .12s; position:relative}
.card:hover{transform:translateY(-4px); border-color:var(--gold)}
.card.flash-hit{border-color:var(--green-l); box-shadow:0 0 0 2px var(--green-l)}
.promo-tag{position:absolute; top:10px; right:10px; z-index:3; background:var(--gold); color:#1a1305; font-size:10px; font-weight:800; padding:3px 8px; border-radius:20px}

.note{height:140px; position:relative; display:flex; align-items:center; justify-content:center;
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 6px,transparent 6px 12px),
    linear-gradient(135deg,#234a33,#16301f); border-bottom:1px solid var(--line)}
.note img{width:100%; height:100%; object-fit:cover}
.note .denom{position:absolute; top:9px; left:11px; font-size:21px; font-weight:800; color:var(--gold2); opacity:.9}
.note .series{position:absolute; top:11px; right:13px; font-family:"Courier New",monospace; color:var(--gold2); font-size:13px}
.note .num{font-family:"Courier New",monospace; font-size:24px; letter-spacing:3px; color:#fff;
  background:rgba(0,0,0,.35); padding:6px 13px; border-radius:8px; border:1px solid rgba(216,180,106,.4)}

.card-body{padding:13px 15px}
.pattern{display:inline-block; font-size:11px; color:var(--gold2); background:rgba(216,180,106,.12);
  border:1px solid rgba(216,180,106,.3); padding:3px 9px; border-radius:20px; margin-bottom:9px}
.price{font-size:21px; font-weight:800}
.price small{font-size:12px; color:var(--muted); font-weight:400}
.card-foot{display:flex; justify-content:space-between; align-items:center; margin-top:11px; font-size:12px; color:var(--muted)}
.status-pill{font-size:11px; padding:2px 8px; border-radius:20px; border:1px solid var(--line)}
.status-pending{color:#e6c878; border-color:#5c4d1e}
.status-active{color:#8fe0b3; border-color:#2c5c3f}
.status-sold{color:var(--red); border-color:#5c2c2c}
.status-rejected{color:var(--muted)}

/* FORMS / PAGES */
.panel{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px; margin:22px auto; max-width:560px}
.panel.wide{max-width:100%}
.panel h2{margin-bottom:16px}
label{display:block; font-size:13px; color:var(--muted); margin:12px 0 5px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],textarea,select{
  width:100%; background:#0b110d; border:1px solid var(--line); color:var(--text);
  padding:11px 13px; border-radius:10px; font-size:15px; outline:none; font-family:inherit}
input:focus,textarea:focus,select:focus{border-color:var(--gold)}
textarea{min-height:90px; resize:vertical}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.muted{color:var(--muted)}
.center{text-align:center}
.mt{margin-top:16px}

/* TABLES */
table{width:100%; border-collapse:collapse; margin-top:10px}
th,td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); font-size:14px}
th{color:var(--muted); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.5px}

/* DETAIL */
.detail{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:24px 0}
@media(max-width:720px){.detail{grid-template-columns:1fr} .row2{grid-template-columns:1fr}}
.detail .note{height:240px; border-radius:14px; border:1px solid var(--line)}
.detail .num{font-size:30px}

footer.ft{border-top:1px solid var(--line); padding:24px 0 40px; color:var(--muted); font-size:13px; text-align:center}
.stats-row{display:flex; gap:14px; flex-wrap:wrap; margin:6px 0 18px}
.stat{background:var(--card); border:1px solid var(--line); border-radius:13px; padding:13px 20px; min-width:110px; text-align:center}
.stat b{display:block; font-size:22px; color:var(--gold2)}
.stat span{font-size:12px; color:var(--muted)}

/* PHOTO IN CARDS */
.note-photo{height:140px; overflow:hidden; background:#0b110d; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:center}
.note-photo img{width:100%; height:100%; object-fit:cover; display:block}

/* PHOTO ON DETAIL PAGE */
.detail-photo{border-radius:14px; overflow:hidden; border:1px solid var(--line); max-height:280px; background:#0b110d}
.detail-photo img{width:100%; height:100%; object-fit:cover; display:block}

/* NOTE LARGE (detail, no photo) */
.note.large{height:240px; border-radius:14px; border:1px solid var(--line)}
.note.large .denom{font-size:30px}
.note.large .num{font-size:30px}

/* CURRENCY BADGE */
.curr-badge{position:absolute; top:10px; left:10px; z-index:3;
  background:rgba(0,0,0,.65); color:var(--gold2); font-size:10px; font-weight:800;
  padding:3px 8px; border-radius:20px; border:1px solid rgba(216,180,106,.4)}

/* CURRENCY FILTER (top row) */
.filters-curr{border-bottom:1px solid var(--line); padding-bottom:10px; margin-bottom:2px}
.filters-curr a.active{background:rgba(216,180,106,.12)}

/* DENOMINATION PRESETS */
.denom-presets{display:flex; gap:7px; flex-wrap:wrap; margin-bottom:8px}
.preset-btn{background:var(--bg2); border:1px solid var(--line); color:var(--gold2);
  padding:5px 13px; border-radius:20px; font-size:13px; cursor:pointer}
.preset-btn:hover{border-color:var(--gold); background:rgba(216,180,106,.1)}

/* SELLER CONTACT BLOCK */
.seller-contact{display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  background:rgba(216,180,106,.08); border:1px solid rgba(216,180,106,.25);
  border-radius:11px; padding:11px 15px; margin-bottom:14px; font-size:14px}
.seller-links{color:var(--gold2); font-weight:700; font-size:15px}
.buyer-contact-cell{color:var(--gold2); font-weight:600}

/* FILE INPUT */
input[type=file]{width:100%; background:#0b110d; border:2px dashed var(--line); color:var(--muted);
  padding:14px 13px; border-radius:10px; font-size:14px; cursor:pointer}
input[type=file]:hover{border-color:var(--gold); color:var(--text)}
