*{box-sizing:border-box}body{margin:0;background:#071120;font-family:Arial,Helvetica,sans-serif;color:#fff}.wrap{width:min(1850px,calc(100% - 20px));margin:28px auto}h1{text-align:center;color:#ffd45a;font-size:46px;margin:0 0 24px}.panel{background:#111d33;border:1px solid #d9a61f;border-radius:18px;padding:22px}.summary{display:grid;gap:12px;margin-bottom:16px}.summary-five{grid-template-columns:repeat(5,1fr)}.card{background:#0b1729;border:1px solid rgba(255,220,90,.3);border-radius:12px;padding:15px;text-align:center}.card small{display:block;color:#9fb0c9;margin-bottom:6px}.card b{font-size:26px;color:#ffd45a}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}input,select,textarea{border:0;border-radius:8px;padding:0 12px;font-size:15px;background:#f2f5fb;color:#111827}input,select{height:44px}textarea{min-height:90px;padding:12px;resize:vertical}#search{flex:1;min-width:260px}#giftCode,#statusFilter{min-width:170px}button{height:44px;border:0;border-radius:8px;padding:0 18px;font-weight:900;cursor:pointer}.gold{background:#e5b82b;color:#071120}.manual{background:#2563eb;color:#fff}.back{background:#263852;color:#fff}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;table-layout:auto}th,td{padding:8px 8px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}th{color:#ffd45a;font-size:11px;text-transform:uppercase;white-space:nowrap}.success{color:#4cff6a;font-weight:900}.waiting-redeem{color:#aab8cd;font-weight:900}.safe{color:#4cff6a;font-weight:900}.medium{color:#ffd54a;font-weight:900}.high{color:#ff5555;font-weight:900}.pending{color:#ffd45a;font-weight:900}.approved{color:#52e386;font-weight:900}.rejected{color:#ff6969;font-weight:900}.waiting-player{color:#aab8cd;font-weight:900}.action-buttons{display:flex;align-items:center;gap:7px;white-space:nowrap}.action-buttons button{height:34px;padding:0 11px;font-size:11px}.approve-action{background:#23954c;color:#fff}.reject-action{background:#c93434;color:#fff}.approved-state{color:#52e386;font-weight:900}.rejected-state{color:#ff6969;font-weight:900}.waiting-state{color:#aab8cd;font-weight:900}.same-ip-button{min-width:42px;height:32px;padding:0 12px;border-radius:8px;color:#fff}.same-ip-safe{background:#179c4b}.same-ip-medium{background:#d49c13;color:#111827}.same-ip-high{background:#d43232}.empty{text-align:center;color:#aab8cd;padding:26px}.message{display:none;margin-bottom:14px;padding:12px;border-radius:9px}.message.error{display:block;background:rgba(190,45,45,.2);border:1px solid #e75c5c;color:#ffb4b4}.top-menu{position:fixed;top:18px;right:20px;display:flex;gap:10px;z-index:999999}.top-menu a{display:flex;align-items:center;justify-content:center;height:42px;padding:0 18px;border-radius:10px;font-weight:800;font-size:14px;text-decoration:none;color:#fff}.top-menu .home{background:#16a34a}.top-menu .logout{background:#dc2626}.manual-modal{display:none;position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.72);padding:24px;align-items:center;justify-content:center}.manual-modal.show{display:flex}.manual-modal-box{width:min(720px,100%);background:#111d33;border:2px solid #d9a61f;border-radius:18px;padding:22px}.manual-modal-head{display:flex;justify-content:space-between;align-items:center}.manual-modal-head h2{color:#ffd45a;margin:0}.manual-modal-head button{background:#c93434;color:#fff;width:42px;padding:0}.manual-modal label{display:block;color:#ffd45a;font-weight:900;margin:16px 0 7px}.manual-modal input,.manual-modal select,.manual-modal textarea{width:100%}.manual-status{margin-top:12px;padding:11px;border-radius:8px;background:#263852;color:#cbd5e1;font-weight:900}.manual-status.ok{background:#12562b;color:#b8f7cc}.manual-status.error{background:#7d1f1f;color:#ffc0c0}.manual-status.warning{background:#765214;color:#ffe29a}.manual-player-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.manual-player-grid>div{background:#0b1729;border-radius:10px;padding:12px}.manual-player-grid small{display:block;color:#9fb0c9;margin-bottom:5px}.manual-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}@media(max-width:850px){.wrap{width:calc(100% - 18px);margin-top:74px}h1{font-size:34px}.summary-five{grid-template-columns:repeat(2,1fr)}#search,#giftCode,#statusFilter,.toolbar button{width:100%}.manual-player-grid{grid-template-columns:1fr}}

.manual.disabled{
    background:#4b5563 !important;
    color:#d1d5db !important;
    cursor:not-allowed !important;
    opacity:.75;
}


/* NEW PLAYER PROGRESS V1.4 */

.lv-low{
  color:#cbd5e1;
  font-weight:900;
}

.lv-mid{
  color:#60a5fa;
  font-weight:900;
}

.lv-high{
  color:#facc15;
  font-weight:900;
}

.lv-max{
  color:#4ade80;
  font-weight:900;
  text-shadow:0 0 8px rgba(74,222,128,.32);
}

.active-recent{
  color:#4ade80;
  font-weight:900;
  white-space:nowrap;
}

.active-today{
  color:#60a5fa;
  font-weight:900;
  white-space:nowrap;
}

.active-week{
  color:#facc15;
  font-weight:900;
  white-space:nowrap;
}

.active-inactive{
  color:#fb7185;
  font-weight:900;
  white-space:nowrap;
}

.active-unknown{
  color:#94a3b8;
  font-weight:800;
  white-space:nowrap;
}


/* COMPACT STATUS + DATETIME */

.waiting-state,
.approved-state,
.rejected-state,
.waiting-player,
.approved,
.rejected{
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  white-space:nowrap;
}

.datetime-cell{
  min-width:92px;
  white-space:nowrap;
  line-height:1.1;
}

.datetime-cell span{
  display:block;
}

.datetime-date{
  font-size:12px;
  font-weight:700;
  color:#ffffff;
}

.datetime-time{
  margin-top:3px;
  font-size:12px;
  font-weight:700;
  color:#dbeafe;
}


/* COMPACT RISK */

.safe,
.medium,
.high{
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.2px;
}

/* =========================================================
   NEW PLAYER CENTER — UI POLISH V1.5
   ========================================================= */

/* ---------- Table header ---------- */

.table-wrap th{
  padding-top:10px !important;
  padding-bottom:10px !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:.05px !important;
  white-space:nowrap !important;
}

/* ---------- General table cells ---------- */

.table-wrap td{
  font-size:13px;
  vertical-align:middle;
}

/* ---------- Code Status ---------- */

.success,
.waiting-redeem{
  font-size: 13px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

.waiting-redeem{
  display:inline-block;
  max-width:74px;
  white-space:normal !important;
}

/* ---------- Risk ---------- */

.safe,
.medium,
.high{
  font-size: 13px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}

/* ---------- Decision column ---------- */

.waiting-player,
.waiting-state,
.approved,
.approved-state,
.rejected,
.rejected-state,
.pending{
  font-size:11px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

.waiting-player,
.waiting-state{
  display:inline-block;
  max-width:95px;
  white-space:normal !important;
}

.approved,
.approved-state,
.rejected,
.rejected-state,
.pending{
  white-space:nowrap !important;
}

/* ---------- Action column ---------- */

.action-buttons{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  white-space:nowrap !important;
}

.action-buttons button{
  height:32px !important;
  min-height:32px !important;
  padding:0 10px !important;
  border-radius:8px !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:800 !important;
}

.action-buttons .approve-action,
.action-buttons .reject-action{
  min-width:auto !important;
}

/* ---------- Same IP button ---------- */

.same-ip-button{
  min-width:38px !important;
  height:31px !important;
  padding:0 9px !important;
  font-size:12px !important;
  font-weight:800 !important;
}

/* ---------- Level ---------- */

.lv-low,
.lv-mid,
.lv-high,
.lv-max{
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.lv-low{
  color:#cbd5e1 !important;
}

.lv-mid{
  color:#60a5fa !important;
}

.lv-high{
  color:#facc15 !important;
}

.lv-max{
  color:#4ade80 !important;
  text-shadow:0 0 7px rgba(74,222,128,.28);
}

/* ---------- Last Active ---------- */

.active-recent,
.active-today,
.active-week,
.active-inactive,
.active-unknown{
  font-size:13px !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

.active-recent{
  color:#4ade80 !important;
}

.active-today{
  color:#60a5fa !important;
}

.active-week{
  color:#facc15 !important;
}

.active-inactive{
  color:#fb7185 !important;
}

.active-unknown{
  color:#94a3b8 !important;
}

/* ---------- Date/Time: exactly two lines ---------- */

.datetime-cell{
  min-width:92px !important;
  width:92px;
  white-space:nowrap !important;
  line-height:1.05 !important;
  text-align:left;
}

.datetime-cell .datetime-date,
.datetime-cell .datetime-time{
  display:block !important;
  white-space:nowrap !important;
}

.datetime-cell .datetime-date{
  font-size:11px !important;
  line-height:1.05 !important;
  font-weight:700 !important;
}

.datetime-cell .datetime-time{
  margin-top:3px !important;
  font-size:11px !important;
  line-height:1.05 !important;
  font-weight:700 !important;
}

/* ---------- Keep important columns readable ---------- */

.table-wrap th:nth-child(4),
.table-wrap td:nth-child(4){
  text-align:center;
}

.table-wrap th:nth-child(5),
.table-wrap td:nth-child(5){
  min-width:88px;
}

.table-wrap th:nth-child(6),
.table-wrap td:nth-child(6),
.table-wrap th:nth-child(13),
.table-wrap td:nth-child(13),
.table-wrap th:nth-child(15),
.table-wrap td:nth-child(15){
  min-width:92px;
}

/* ---------- Row spacing ---------- */

.table-wrap tbody td{
  padding-top:9px !important;
  padding-bottom:9px !important;
}

/* ---------- Responsive protection ---------- */

@media(max-width:1450px){

  .table-wrap td{
    font-size:12px;
  }

  .action-buttons button{
    padding:0 8px !important;
    font-size:9px !important;
  }

  .waiting-player,
  .waiting-state,
  .approved,
  .approved-state,
  .rejected,
  .rejected-state,
  .safe,
  .medium,
  .high,
  .success,
  .waiting-redeem{
    font-size:10px !important;
  }
}


.summary-six{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:12px;
}

