/* Reset & base */
*{box-sizing:border-box}html,body{margin:0;padding:0}
:root{--bg:#0b1220;--panel:#0f1730;--muted:#93a4bf;--text:#eaf0ff;--brand:#4f7cff;--ok:#10b981;--warn:#f59e0b;--err:#ef4444;--stroke:#223158}
body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5;}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1100px;margin:auto;padding:18px}
.flex{display:flex;gap:14px}.between{justify-content:space-between}.center{align-items:center}
.hide{display:none !important}.small{font-size:.9rem;color:var(--muted)}

/* Header */
.site-header{border-bottom:1px solid var(--stroke);background:rgba(15,23,48,.6);backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}
.brand{font-weight:800;letter-spacing:.5px;color:#fff}.brand .dot{color:var(--brand)}

/* Footer */
.site-footer{border-top:1px solid var(--stroke);margin-top:40px}

/* Panels & cards */
.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:16px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.15)}
.grid{display:grid;gap:16px}.col-2{grid-template-columns:1fr}.col-3{grid-template-columns:1fr}.col-4{grid-template-columns:1fr}
@media(min-width:880px){.col-2{grid-template-columns:1fr 1fr}.col-3{grid-template-columns:2fr 1fr 1fr}.col-4{grid-template-columns:repeat(4,1fr)}}

/* Forms */
form{display:grid;gap:12px}
label{display:grid;gap:6px;font-weight:600;color:#cdd9ff}
input,select{background:#0b1220;border:1px solid var(--stroke);border-radius:12px;padding:12px;color:#fff;outline:none}
input:focus,select:focus{border-color:#3856a8}
.btn{border:0;border-radius:12px;padding:12px 14px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}
.btn.ghost{background:transparent;border:1px solid var(--stroke)}
.btn.ok{background:var(--ok)}.btn.warn{background:var(--warn)}.btn.err{background:var(--err)}
.row{display:flex;gap:10px;flex-wrap:wrap}
.help{color:var(--muted);font-size:.92rem}

/* Tables */
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px dashed var(--stroke);font-size:.95rem}
th{color:#cdd9ff;text-align:left}

/* Alerts */
.alert{padding:10px 12px;border-radius:12px;border:1px solid var(--stroke);background:#0b1220}
.alert.ok{border-color:#14532d;background:#0a1a12;color:#b7f7ce}
.alert.err{border-color:#4c0f14;background:#17090b;color:#fbbfc6}

/* Auth layouts */
.auth-wrap{max-width:520px;margin:40px auto}
.auth-head{margin-bottom:12px}
.tabs{display:flex;gap:6px;margin-bottom:14px}
.tab{flex:1;text-align:center;padding:10px;border:1px solid var(--stroke);border-radius:10px;cursor:pointer;background:#0b1220}
.tab.active{background:var(--panel);border-color:#3a54a5}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:50}
.modal{background:var(--panel);border:1px solid var(--stroke);border-radius:16px;max-width:520px;width:92%;padding:16px}
.modal h3{margin-top:0}
.copy{cursor:pointer;font-size:.9rem;color:var(--muted);}
.mask{letter-spacing:2px}


/* Crypto modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;}
.modal{background:#fff;border-radius:16px;padding:20px;max-width:760px;width:92%;box-shadow:0 20px 60px rgba(0,0,0,.2);}
.modal .grid{gap:16px;}
.copy-row{display:flex;gap:8px;align-items:center}
.copy-row input{flex:1}
.qr-wrap{display:flex;align-items:center;justify-content:center}


/* === Enhancements: Crypto deposit modal (scoped to #crypto-modal) === */
#crypto-modal .modal{
  background:#fff;
  color:#000;
  border:1px solid #e5e7eb; /* subtle light border for contrast */
  border-radius:16px;
  width:min(92vw, 720px);
  padding:22px;
}

/* Ensure all text elements appear black inside the crypto popup */
#crypto-modal .modal h1,
#crypto-modal .modal h2,
#crypto-modal .modal h3,
#crypto-modal .modal p,
#crypto-modal .modal label,
#crypto-modal .modal span,
#crypto-modal .modal a,
#crypto-modal .modal .help,
#crypto-modal .modal .small,
#crypto-modal .modal .copy,
#crypto-modal .modal .mask{
  color:#000 !important;
}

/* Inputs/selects styled for light surface inside crypto modal */
#crypto-modal .modal input,
#crypto-modal .modal select{
  background:#fff;
  color:#000;
  border:1px solid #d1d5db;
  box-shadow:none;
}

/* Links readable on white */
#crypto-modal .modal a{ text-decoration: underline; }

/* Buttons maintain brand fills but text stays readable; ghost buttons use light outlines */
#crypto-modal .modal .btn{ border-radius:12px; }
#crypto-modal .modal .btn.ghost{ background:#fff; border:1px solid #d1d5db; }
#crypto-modal .modal .btn.ok{ color:#fff; }
#crypto-modal .modal .btn.warn{ color:#fff; }

/* Layout & responsiveness */
#crypto-modal .modal .grid.col-2{ grid-template-columns: 1fr; }
#crypto-modal .modal .qr-wrap img{ max-width:100%; height:auto; }

@media (min-width: 720px){
  #crypto-modal .modal .grid.col-2{ grid-template-columns: 1.2fr .8fr; }
}

@media (max-width: 480px){
  #crypto-modal .modal .row{ flex-direction: column; }
  #crypto-modal .modal .btn{ width:100%; }
}

/* Improve copy-row alignment */
#crypto-modal .modal .copy-row input{ background:#fff; color:#111; border:1px solid #d1d5db; }
#crypto-modal .modal .copy-row .btn.ghost{ border-color:#d1d5db; }


#crypto-modal .modal strong{ color:#000 !important; }

#crypto-modal .modal .alert{ color:#000; background:#f8fafc; border:1px solid #e5e7eb; }


/* Ensure copy button text black inside crypto modal */
#crypto-modal .modal .btn.ghost,
#crypto-modal .modal #btn-copy-addr{
  color:#000 !important;
}


/* toast */
.toast{position:fixed;right:16px;bottom:16px;padding:10px 14px;border-radius:10px;background:#2e7d32;color:#fff;box-shadow:0 6px 30px rgba(0,0,0,.15);font-weight:600;z-index:9999}
.toast.err{background:#c62828}


/* Fees table (responsive) */
.fees-table{display:grid;gap:8px;margin-top:8px}
.fees-table .ft-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--stroke);border-radius:12px;padding:10px}
.fees-table .ft-row div:last-child{font-weight:800}
@media(min-width:700px){.fees-table{grid-template-columns:1fr}}
