:root{
  --bg-deep:#0A0E17;
  --bg-panel:#121829;
  --bg-panel-2:#19223A;
  --gold:#C9A961;
  --gold-bright:#E3C888;
  --text-primary:#F1F3F8;
  --text-muted:#8B93A9;
  --text-dim:#5C6478;
  --line:rgba(201,169,97,0.16);
  --line-soft:rgba(255,255,255,0.07);
  --green:#55D68B;
  --red:#E5697A;
  --radius-s:6px;
  --radius-m:12px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--bg-deep);
  color:var(--text-primary);
  font-family:'IBM Plex Sans Arabic', sans-serif;
  line-height:1.7;
}
a{color:inherit; text-decoration:none;}
.mono{font-family:'IBM Plex Mono', monospace;}

.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 28px; border-bottom:1px solid var(--line-soft);
}
.logo{font-size:20px; font-weight:700;}
.logo .mark{color:var(--gold);}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:11px 22px; border-radius:var(--radius-s); font-size:14.5px; font-weight:500;
  border:none; cursor:pointer; font-family:inherit;
}
.btn-primary{background:var(--gold); color:#1A1305;}
.btn-outline{background:transparent; border:1px solid var(--line-soft); color:var(--text-primary);}
.btn-sm{padding:8px 16px; font-size:13.5px;}
.btn:disabled{opacity:.5; cursor:not-allowed;}

/* Auth pages */
.auth-wrap{
  min-height:calc(100vh - 73px);
  display:flex; align-items:center; justify-content:center; padding:40px 20px;
}
.auth-card{
  width:100%; max-width:400px; background:var(--bg-panel);
  border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:36px;
}
.auth-card h1{font-size:22px; margin-bottom:6px;}
.auth-card p.sub{color:var(--text-muted); font-size:14px; margin-bottom:28px;}
.field{margin-bottom:16px;}
.field label{display:block; font-size:13.5px; color:var(--text-muted); margin-bottom:7px;}
.field input, .field select, .field textarea{
  width:100%; background:var(--bg-deep); border:1px solid var(--line-soft);
  border-radius:var(--radius-s); padding:11px 14px; color:var(--text-primary);
  font-family:inherit; font-size:14.5px;
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--gold);}
.form-msg{font-size:13.5px; padding:10px 14px; border-radius:var(--radius-s); margin-bottom:16px; display:none;}
.form-msg.error{display:block; background:rgba(229,105,122,0.1); color:var(--red); border:1px solid rgba(229,105,122,0.3);}
.form-msg.success{display:block; background:rgba(85,214,139,0.1); color:var(--green); border:1px solid rgba(85,214,139,0.3);}
.auth-card .switch{margin-top:22px; text-align:center; font-size:13.5px; color:var(--text-muted);}
.auth-card .switch a{color:var(--gold-bright);}

/* Dashboard */
.dash-wrap{max-width:1000px; margin:0 auto; padding:32px 24px 80px;}
.dash-head{margin-bottom:32px;}
.dash-head h1{font-size:24px; margin-bottom:4px;}
.dash-head p{color:var(--text-muted); font-size:14.5px;}
.banner{padding:14px 18px; border-radius:var(--radius-s); margin-bottom:24px; font-size:14.5px;}
.banner.success{background:rgba(85,214,139,0.1); border:1px solid rgba(85,214,139,0.3); color:var(--green);}
.banner.failed{background:rgba(229,105,122,0.1); border:1px solid rgba(229,105,122,0.3); color:var(--red);}

.tabs{display:flex; gap:8px; border-bottom:1px solid var(--line-soft); margin-bottom:24px;}
.tab{padding:12px 4px; font-size:14.5px; color:var(--text-muted); cursor:pointer; border-bottom:2px solid transparent; margin-left:24px;}
.tab.active{color:var(--gold-bright); border-color:var(--gold);}
.panel{display:none;}
.panel.active{display:block;}

.card{background:var(--bg-panel); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:22px; margin-bottom:14px;}
.order-top{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px;}
.order-title{font-size:16px; font-weight:500;}
.order-meta{font-size:13px; color:var(--text-muted); margin-top:4px;}
.badge{font-size:12.5px; padding:5px 12px; border-radius:999px; white-space:nowrap;}
.badge.pending_payment, .badge.pending_bank_transfer{background:rgba(201,169,97,0.15); color:var(--gold-bright);}
.badge.paid, .badge.provisioning, .badge.in_progress, .badge.manual_registration_pending, .badge.bank_transfer_review{background:rgba(90,140,255,0.15); color:#8FB0FF;}
.badge.active, .badge.delivered, .badge.domain_registered{background:rgba(85,214,139,0.15); color:var(--green);}
.badge.payment_failed, .badge.domain_registration_failed, .badge.cancelled{background:rgba(229,105,122,0.15); color:var(--red);}
.order-amount{font-family:'IBM Plex Mono', monospace; font-size:15px; margin-top:10px;}
.empty{color:var(--text-muted); font-size:14.5px; padding:30px 0; text-align:center;}

.plan-pick{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:24px;}
.plan-pick .opt{background:var(--bg-panel); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:18px; cursor:pointer; text-align:center;}
.plan-pick .opt.selected{border-color:var(--gold);}
.plan-pick .opt .p-name{font-size:14.5px; margin-bottom:6px;}
.plan-pick .opt .p-price{font-family:'IBM Plex Mono', monospace; color:var(--gold-bright); font-size:15px;}

.domain-row{display:flex; gap:0; margin-bottom:18px; max-width:460px;}
.domain-row input{flex:1; background:var(--bg-panel); border:1px solid var(--line-soft); border-radius:var(--radius-s) 0 0 var(--radius-s); padding:12px 14px; color:var(--text-primary); font-family:inherit;}
.domain-row button{border-radius:0 var(--radius-s) var(--radius-s) 0;}
.domain-results{margin-bottom:20px;}
.domain-result{display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border:1px solid var(--line-soft); border-radius:var(--radius-s); margin-bottom:8px;}
.domain-result.unavailable{opacity:.5;}
.domain-result .dname{font-family:'IBM Plex Mono', monospace;}

@media (max-width:640px){
  .plan-pick{grid-template-columns:1fr;}
  .dash-wrap{padding:24px 16px 60px;}
}

/* Admin */
.admin-badge{font-size:12px; color:var(--gold-bright); border:1px solid var(--line); padding:3px 10px; border-radius:999px;}
table.admin-table{width:100%; border-collapse:collapse;}
table.admin-table th{text-align:right; font-size:12.5px; color:var(--text-dim); font-weight:400; padding:0 10px 12px; border-bottom:1px solid var(--line);}
table.admin-table td{padding:14px 10px; border-bottom:1px solid var(--line-soft); font-size:14px; vertical-align:middle;}
table.admin-table select{background:var(--bg-deep); border:1px solid var(--line-soft); border-radius:var(--radius-s); padding:7px 10px; color:var(--text-primary); font-family:inherit; font-size:13px;}
.filter-row{display:flex; gap:10px; margin-bottom:20px; flex-wrap:wrap;}
.filter-row select, .filter-row input{background:var(--bg-panel); border:1px solid var(--line-soft); border-radius:var(--radius-s); padding:9px 14px; color:var(--text-primary); font-family:inherit; font-size:14px;}
.ticket-row{cursor:pointer;}
.ticket-row:hover{background:var(--bg-panel-2);}
.reply-box{display:flex; gap:8px; margin-top:14px;}
.reply-box textarea{flex:1; background:var(--bg-deep); border:1px solid var(--line-soft); border-radius:var(--radius-s); padding:10px 14px; color:var(--text-primary); font-family:inherit; font-size:14px; resize:vertical;}
.stat-mini{display:flex; gap:14px; margin-bottom:28px; flex-wrap:wrap;}
.stat-mini .box{background:var(--bg-panel); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:16px 22px; min-width:120px;}
.stat-mini .box .n{font-size:22px; font-weight:700; color:var(--gold-bright); font-family:'IBM Plex Mono', monospace;}
.stat-mini .box .l{font-size:12.5px; color:var(--text-muted); margin-top:4px;}
