@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root{
  --void:#070A12;
  --panel:#0E1420;
  --panel-raised:#131B2C;
  --line: rgba(148,178,255,0.14);
  --line-soft: rgba(148,178,255,0.08);
  --cyan:#00E5C7;
  --cyan-dim: rgba(0,229,199,0.14);
  --violet:#B24BF3;
  --violet-dim: rgba(178,75,243,0.14);
  --amber:#FFB020;
  --danger:#FF4D6D;
  --text:#E7ECF5;
  --text-dim:#7C8AA3;
  --radius:10px;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  background:
    radial-gradient(900px 500px at 12% -8%, rgba(0,229,199,0.10), transparent 60%),
    radial-gradient(800px 480px at 100% 0%, rgba(178,75,243,0.10), transparent 55%),
    var(--void);
  color:var(--text);
  font-family:'Space Grotesk', sans-serif;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
::selection{ background:var(--cyan); color:var(--void); }
:focus-visible{ outline:2px solid var(--cyan); outline-offset:2px; }
a{ color:var(--cyan); }

.mono{ font-family:'JetBrains Mono', monospace; }

/* ---------- shell ---------- */
.shell{ max-width:900px; margin:0 auto; padding:28px 20px 90px; }
.topbar{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:26px; }
.brand{ display:flex; align-items:center; gap:11px; }
.brand .mark{ width:36px;height:36px;border-radius:9px; background:linear-gradient(135deg, var(--cyan), var(--violet)); display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono'; font-weight:700; font-size:15px; color:var(--void); }
.brand .name{ font-weight:700; font-size:19px; letter-spacing:0.2px; }
.brand .sub{ font-family:'JetBrains Mono'; font-size:10.5px; color:var(--text-dim); letter-spacing:.16em; text-transform:uppercase; margin-top:1px; }

.navlink{ font-family:'JetBrains Mono'; font-size:11.5px; color:var(--text-dim); text-decoration:none; border:1px solid var(--line); padding:8px 14px; border-radius:7px; transition:.15s; }
.navlink:hover{ color:var(--cyan); border-color:var(--cyan); }

/* ---------- HUD bracket-corner panel (signature element) ---------- */
.panel{ position:relative; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:26px; margin-bottom:16px; }
.panel::before, .panel::after,
.panel .bc-tl, .panel .bc-tr, .panel .bc-bl, .panel .bc-br{ content:""; position:absolute; width:16px; height:16px; border-color:var(--cyan); opacity:.55; }
.panel::before{ top:-1px; left:-1px; border-top:2px solid var(--cyan); border-left:2px solid var(--cyan); border-radius:6px 0 0 0; }
.panel::after{ bottom:-1px; right:-1px; border-bottom:2px solid var(--violet); border-right:2px solid var(--violet); border-radius:0 0 6px 0; }

.eyebrow{ font-family:'JetBrains Mono'; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--cyan); margin:0 0 8px; display:flex; align-items:center; gap:8px; }
.eyebrow::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--cyan); box-shadow:0 0 8px var(--cyan); }
h1.title{ font-size:24px; font-weight:700; margin:0 0 4px; letter-spacing:-0.2px; }
p.lede{ color:var(--text-dim); font-size:13.5px; margin:0 0 20px; line-height:1.55; }

/* chips */
.chipgrid{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{ display:flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--panel-raised); padding:9px 13px; border-radius:8px; cursor:pointer; font:500 13px 'Space Grotesk'; color:var(--text); transition:.12s; }
.chip:hover{ border-color:var(--cyan); box-shadow:0 0 0 1px var(--cyan) inset; }
.chip.selected{ border-color:var(--cyan); background:var(--cyan-dim); color:var(--cyan); box-shadow:0 0 14px -4px var(--cyan); }
.chip .logo{ width:20px;height:20px;border-radius:50%; display:flex; align-items:center; justify-content:center; font:700 8px 'JetBrains Mono'; color:var(--void); flex-shrink:0; object-fit:contain; }
.chip.catalog-added{ opacity:.6; }
img.logo{ object-fit:contain; }
.empty{ font-size:13px; color:var(--text-dim); border:1px dashed var(--line); border-radius:8px; padding:16px; font-family:'JetBrains Mono'; }

/* deposit */
.depositgrid{ display:grid; grid-template-columns:200px 1fr; gap:24px; align-items:start; }
@media (max-width:640px){ .depositgrid{ grid-template-columns:1fr; } }
.qrbox{ position:relative; background:#fff; border-radius:10px; padding:14px; display:flex; align-items:center; justify-content:center; }
.qrbox::before, .qrbox::after{ content:""; position:absolute; width:18px; height:18px; border-color:var(--cyan); }
.qrbox::before{ top:-6px; left:-6px; border-top:2px solid var(--cyan); border-left:2px solid var(--cyan); }
.qrbox::after{ bottom:-6px; right:-6px; border-bottom:2px solid var(--violet); border-right:2px solid var(--violet); }
.qrbox img, .qrbox canvas{ width:100%; height:auto; }

.field-label{ font-family:'JetBrains Mono'; font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--text-dim); margin:0 0 7px; }
.addr-row{ display:flex; gap:8px; align-items:center; background:var(--panel-raised); border:1px solid var(--line); border-radius:8px; padding:11px 12px; }
.addr-row .addr{ font-family:'JetBrains Mono'; font-size:12.5px; word-break:break-all; color:var(--text); flex:1; }
.copybtn{ flex-shrink:0; border:1px solid var(--line); background:transparent; color:var(--cyan); font:600 11px 'JetBrains Mono'; padding:7px 11px; border-radius:6px; cursor:pointer; }
.copybtn:hover{ border-color:var(--cyan); background:var(--cyan-dim); }
.copybtn.copied{ background:var(--cyan); border-color:var(--cyan); color:var(--void); }
.warn{ display:flex; gap:8px; background:rgba(255,77,109,0.08); border:1px solid rgba(255,77,109,0.3); color:#FF8FA3; font-size:12px; padding:10px 12px; border-radius:7px; margin-top:12px; line-height:1.45; }

.formgrid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }
@media (max-width:640px){ .formgrid{ grid-template-columns:1fr; } }
.field{ display:flex; flex-direction:column; gap:6px; }
.field.full{ grid-column:1/-1; }
input, textarea, select{ font:500 13.5px 'Space Grotesk'; padding:10px 12px; border:1px solid var(--line); border-radius:7px; background:var(--panel-raised); color:var(--text); }
input::placeholder, textarea::placeholder{ color:var(--text-dim); }
input:focus, textarea:focus, select:focus{ border-color:var(--cyan); }
textarea{ resize:vertical; min-height:56px; }
.amtwrap{ display:flex; gap:8px; }
.amtwrap input{ flex:1; font-family:'JetBrains Mono'; }

.targetbox{ margin-top:18px; padding:16px; background:var(--panel-raised); border:1px solid var(--cyan); border-radius:9px; box-shadow:0 0 24px -8px var(--cyan); }
.targetbox .k{ font-family:'JetBrains Mono'; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:var(--text-dim); }
.targetbox .v{ font-family:'JetBrains Mono'; font-weight:700; font-size:26px; margin-top:5px; display:flex; align-items:center; gap:10px; color:var(--cyan); }
.targetbox .hint{ font-size:12px; color:var(--text-dim); margin-top:9px; line-height:1.5; }
.timerpill{ font-family:'JetBrains Mono'; font-size:11px; font-weight:600; background:var(--violet-dim); color:var(--violet); border:1px solid rgba(178,75,243,0.4); padding:3px 9px; border-radius:999px; }

.btn{ font:600 13.5px 'Space Grotesk'; padding:12px 20px; border-radius:8px; border:1px solid transparent; cursor:pointer; letter-spacing:.01em; }
.btn-primary{ background:linear-gradient(135deg, var(--cyan), #00b8a3); color:var(--void); }
.btn-primary:hover{ box-shadow:0 0 18px -4px var(--cyan); }
.btn-primary:disabled{ opacity:.35; cursor:not-allowed; box-shadow:none; }
.btn-ghost{ background:transparent; border-color:var(--line); color:var(--text); }
.btn-ghost:hover{ border-color:var(--cyan); color:var(--cyan); }
.btn-danger{ background:transparent; border-color:rgba(255,77,109,0.4); color:var(--danger); }
.btn-danger:hover{ background:rgba(255,77,109,0.08); }
.btn-sm{ padding:7px 12px; font-size:11.5px; border-radius:6px; }

.stamp{ display:inline-flex; align-items:center; gap:6px; font-family:'JetBrains Mono'; font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:4px 10px; border-radius:5px; }
.stamp::before{ content:""; width:6px; height:6px; border-radius:50%; }
.stamp.pending{ color:var(--amber); background:rgba(255,176,32,0.1); } .stamp.pending::before{ background:var(--amber); box-shadow:0 0 6px var(--amber); }
.stamp.confirmed{ color:var(--cyan); background:var(--cyan-dim); } .stamp.confirmed::before{ background:var(--cyan); box-shadow:0 0 6px var(--cyan); }
.stamp.expired{ color:var(--text-dim); background:rgba(124,138,163,0.1); } .stamp.expired::before{ background:var(--text-dim); }
.stamp.cancelled{ color:var(--danger); background:rgba(255,77,109,0.1); } .stamp.cancelled::before{ background:var(--danger); box-shadow:0 0 6px var(--danger); }

.confirmwrap{ text-align:center; padding:46px 26px; }
.confirmwrap .mark{ width:54px;height:54px;border-radius:14px; background:linear-gradient(135deg, var(--cyan), var(--violet)); color:var(--void); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; font-size:24px; font-weight:700; }
.confirmwrap h2{ font-size:22px; margin:0 0 8px; }
.confirmwrap p{ color:var(--text-dim); font-size:13.5px; max-width:380px; margin:0 auto 22px; line-height:1.55; }

/* ---------- admin ---------- */
.gatewrap{ max-width:340px; margin:70px auto; text-align:center; }
.gatewrap .mark{ width:44px;height:44px;border-radius:11px; background:linear-gradient(135deg, var(--cyan), var(--violet)); color:var(--void); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-weight:700; font-family:'JetBrains Mono'; }
.gatewrap h2{ margin:0 0 6px; }
.gatewrap p{ color:var(--text-dim); font-size:13px; margin:0 0 20px; }
.gatewrap input{ width:100%; margin-bottom:10px; }
.gatewrap .btn{ width:100%; }
.errmsg{ color:var(--danger); font-size:12.5px; margin-bottom:12px; font-family:'JetBrains Mono'; }

.adminhead{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:10px; }
.tabs{ display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:22px; }
.tabs a{ padding:10px 4px; margin-right:22px; font:600 13px 'Space Grotesk'; color:var(--text-dim); text-decoration:none; border-bottom:2px solid transparent; display:inline-block; margin-bottom:-1px; }
.tabs a.active{ color:var(--cyan); border-color:var(--cyan); }

.coincard{ border:1px solid var(--line); border-radius:9px; padding:16px; margin-bottom:12px; background:var(--panel-raised); }
.coincard-head{ display:flex; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
.coincard-head .logo{ width:28px;height:28px;border-radius:50%; display:flex; align-items:center; justify-content:center; font:700 10px 'JetBrains Mono'; color:var(--void); }
.coincard-head .name{ font-weight:700; font-size:14.5px; }
.coincard-head .sym{ font-family:'JetBrains Mono'; font-size:11px; color:var(--text-dim); }
.netrow{ display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px dashed var(--line); font-size:12.5px; flex-wrap:wrap; }
.netrow .nname{ width:130px; flex-shrink:0; font-weight:600; }
.netrow .naddr{ font-family:'JetBrains Mono'; color:var(--text-dim); flex:1; word-break:break-all; min-width:180px; }

.addform{ display:grid; gap:8px; margin-top:12px; padding-top:12px; border-top:1px dashed var(--line); }
.addform.row3{ grid-template-columns:1fr 1fr 90px auto; align-items:end; }
.addform.row4{ grid-template-columns:110px 1fr 1fr auto; align-items:end; }
@media (max-width:700px){ .addform.row3, .addform.row4{ grid-template-columns:1fr; } }
.addform label{ font-family:'JetBrains Mono'; font-size:9.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--text-dim); display:block; margin-bottom:4px; }

table.ledger{ width:100%; border-collapse:collapse; font-size:12.5px; }
table.ledger th{ text-align:left; font-family:'JetBrains Mono'; font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--text-dim); padding:9px 10px; border-bottom:1px solid var(--line); white-space:nowrap; }
table.ledger td{ padding:11px 10px; border-bottom:1px dashed var(--line-soft); vertical-align:top; }
table.ledger tr:hover td{ background:rgba(0,229,199,0.04); }
.tag{ font-family:'JetBrains Mono'; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:2px 7px; border-radius:4px; background:var(--panel); border:1px solid var(--line); }
.rowactions{ display:flex; gap:6px; flex-wrap:wrap; }
.footer-note{ text-align:center; color:var(--text-dim); font-size:11px; margin-top:28px; letter-spacing:.02em; font-family:'JetBrains Mono'; }
.flash-ok{ background:var(--cyan-dim); border:1px solid var(--cyan); color:var(--cyan); padding:10px 14px; border-radius:8px; font-size:12.5px; margin-bottom:16px; }
.flash-err{ background:rgba(255,77,109,0.08); border:1px solid rgba(255,77,109,0.4); color:var(--danger); padding:10px 14px; border-radius:8px; font-size:12.5px; margin-bottom:16px; }
