:root{
  --bg:#0f0f0f; --bg2:#161616; --panel:#1b1b1d; --line:#2a2a2e;
  --text:#f4f4f5; --muted:#9a9aa2; --blue:#3b82f6; --blue2:#2563eb;
  --ok:#22c55e; --warn:#f59e0b; --danger:#ef4444; --radius:14px;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.55;
}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:1.9rem;margin:.2em 0 .3em}
h2{font-size:1.35rem}
h3{font-size:1.05rem;margin:.2em 0 .8em}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.wrap{max-width:1040px;margin:0 auto;padding:28px 20px 80px}

/* Top bar */
.topbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 22px;background:var(--bg2);border-bottom:1px solid var(--line);
}
.topbar nav a,.link-btn{margin-left:18px;color:var(--muted);font-weight:500}
.topbar nav a.active{color:var(--text)}
.link-btn{background:none;border:none;cursor:pointer;font-size:1rem}
.brand{font-weight:700;font-size:1.15rem;letter-spacing:.3px}
.brand span{color:var(--blue);margin-left:2px}

/* Status bar */
.status-bar{
  display:flex;gap:26px;flex-wrap:wrap;padding:12px 22px;
  background:linear-gradient(90deg,#14141a,#101015);border-bottom:1px solid var(--line);
  font-size:.95rem;color:var(--muted)
}
.status-bar strong{color:var(--text)}

/* Panels & cards */
.panel{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 22px;margin:18px 0;
}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:720px){.grid-3{grid-template-columns:1fr}}
label{display:block;font-size:.85rem;color:var(--muted);margin:10px 0 5px}
input,select{
  width:100%;padding:10px 12px;background:#0d0d0f;border:1px solid var(--line);
  border-radius:9px;color:var(--text);font-size:.95rem;outline:none
}
input:focus,select:focus{border-color:var(--blue)}
input[type=range]{padding:0}
.row{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.row.between{justify-content:space-between}

/* Buttons */
.btn-primary,.btn-ghost{
  display:inline-block;padding:11px 20px;border-radius:10px;font-weight:600;
  cursor:pointer;border:1px solid transparent;font-size:.95rem;text-align:center
}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue2);text-decoration:none}
.btn-primary:disabled{opacity:.45;cursor:not-allowed}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--blue);text-decoration:none}
.btn-mini{padding:6px 12px;border-radius:8px;border:1px solid var(--line);
  background:#0d0d0f;color:var(--text);cursor:pointer;font-size:.85rem;margin:2px}
.btn-mini.ok{border-color:var(--ok);color:var(--ok)}
.btn-mini.danger{border-color:var(--danger);color:var(--danger)}

/* Dropzone */
.dropzone{
  border:2px dashed var(--line);border-radius:var(--radius);padding:30px;
  text-align:center;transition:.15s;background:#0d0d0f
}
.dropzone.drag{border-color:var(--blue);background:#10131b}
.link{color:var(--blue);cursor:pointer;text-decoration:underline}
.thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.thumbs img{width:74px;height:74px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}

/* Tables */
.table-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.92rem}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.4px}
.nowrap{white-space:nowrap}
td textarea,td input{width:100%;min-width:140px;background:#0d0d0f;border:1px solid var(--line);
  border-radius:7px;color:var(--text);padding:7px;font:inherit;resize:vertical}
.count{background:var(--blue);color:#fff;border-radius:20px;padding:1px 10px;font-size:.85rem;vertical-align:middle}

/* Alerts */
.alert{padding:12px 16px;border-radius:10px;margin:14px 0;font-size:.95rem}
.alert.ok{background:rgba(34,197,94,.12);border:1px solid var(--ok);color:#bbf7d0}
.alert.error{background:rgba(239,68,68,.12);border:1px solid var(--danger);color:#fecaca}
.alert.warn{background:rgba(245,158,11,.12);border:1px solid var(--warn);color:#fde68a}

/* Auth */
.auth-body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}
.auth-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);
  border-radius:18px;padding:30px 28px}
.auth-card .brand{font-size:1.4rem;margin-bottom:2px}
.tabs{display:flex;gap:6px;margin:18px 0}
.tabs a{flex:1;text-align:center;padding:9px;border-radius:9px;background:#0d0d0f;
  border:1px solid var(--line);color:var(--muted)}
.tabs a.active{color:var(--text);border-color:var(--blue)}
.auth-card button{width:100%;margin-top:18px}

/* Pricing */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}
@media(max-width:720px){.plan-grid{grid-template-columns:1fr}}
.plan-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 22px;position:relative}
.plan-card.highlight{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}
.plan-card .badge{position:absolute;top:-11px;right:18px;background:var(--blue);color:#fff;
  font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px}
.plan-card .price{font-size:1.9rem;font-weight:700;margin:6px 0 12px}
.plan-card ul{list-style:none;padding:0;margin:0 0 18px;color:var(--muted)}
.plan-card li{padding:5px 0;border-bottom:1px solid var(--line)}
.plan-card .btn-primary{width:100%}
.validity-note{background:#101015;border:1px solid var(--line);border-radius:10px;
  padding:14px 16px;color:var(--muted)}
.buy-box{background:var(--panel);border:1px solid var(--blue);border-radius:var(--radius);
  padding:24px;margin-top:24px}
.pay-numbers{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0}
.pay-numbers div{background:#0d0d0f;border:1px solid var(--line);border-radius:10px;padding:12px 16px}
.pay-numbers span{display:block;color:var(--muted);font-size:.8rem}
.pay-numbers strong{font-size:1.05rem}
.footer-note{color:var(--muted);font-size:.85rem;margin-top:30px;text-align:center}

/* Ended box */
.ended-box{background:var(--panel);border:1px solid var(--warn);border-radius:var(--radius);
  padding:30px;text-align:center}
.ended-box .btn-primary,.ended-box .btn-ghost{margin:8px 6px 0}
