.svg-defs{position:absolute;width:0;height:0;overflow:hidden}nav button svg,.logout svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.password-eye svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.login-sub{margin-bottom:20px}.login-submit{min-height:45px;margin-top:20px}.secure-footer{border-top:1px solid var(--line);margin-top:22px;padding-top:15px;color:#607796;font-size:10px}.security-note{background:#0b2134;border:1px solid #1c4868;color:#a9c7e8;padding:11px;border-radius:10px;font-size:11px;margin:16px 0}.qr{display:block;width:190px;height:190px;background:#fff;padding:8px;border-radius:13px;margin:12px auto}.twofa-title{font-weight:750;margin:18px 0 12px}.otp-boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.otp-boxes input{text-align:center;font-size:22px;font-weight:800;padding:12px 4px;min-width:0}.otp-boxes input.invalid{border-color:var(--red);animation:shake .3s}.text-button{border:0;background:transparent;color:#7fa7f8;margin-top:17px;cursor:pointer}.monitor-kpis{grid-template-columns:repeat(4,1fr)}.monitor-panel{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#0b1e33;border:1px solid #254264;padding:14px;border-radius:12px}.scan-ring{width:48px;height:48px;border:4px solid #23466a;border-top-color:var(--cyan);border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}.worker-summary{display:grid;gap:8px;margin-bottom:14px}.worker-summary>div{display:flex;justify-content:space-between;align-items:center;background:#0b192b;border:1px solid #1c3048;border-radius:9px;padding:9px 11px}.empty-mini,.empty-row{color:var(--muted);text-align:center;padding:22px!important}.modal-section{font-size:13px;color:#9eb8dc;margin:22px 0 12px}.audit-message{margin-top:16px;padding:12px;border:1px solid #5a4620;background:#312714;border-radius:10px;color:#f5ce73}.toast{overflow:hidden;min-width:320px}.toast div{display:grid;gap:3px}.toast b{color:#6ee7b7}.toast span{color:#b4c5dc;font-size:12px}.toast>i{position:absolute;left:0;bottom:0;height:3px;background:var(--green);width:100%}.toast.show>i{animation:toastTimer 5s linear forwards}@keyframes toastTimer{to{transform:translateX(-100%)}}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@media(max-width:1050px){.monitor-kpis{grid-template-columns:1fr 1fr}}@media(max-width:720px){.monitor-kpis{grid-template-columns:1fr}.monitor-panel{grid-template-columns:auto 1fr}.monitor-panel button{grid-column:1/-1}.otp-boxes{gap:5px}.toast{left:14px;right:14px;min-width:0}}


/* CONTROL PANEL BUTTON STATES */
button[onclick^="changeControlMode"],
button[onclick="scanControlNow()"],
button[onclick^="approveAllControlCandidates"],
button[onclick="control()"] {
  border: 1px solid #c9ddd6 !important;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    transform .18s ease !important;
}

/* Hover tombol mode */
button[onclick^="changeControlMode"]:not(:disabled):hover {
  color: #086b55 !important;
  background: #e8f7f1 !important;
  border-color: #2da782 !important;
  box-shadow: 0 7px 18px rgba(20, 125, 96, .14) !important;
  transform: translateY(-1px);
}

/* Mode nonaktif */
button[onclick="changeControlMode('INACTIVE')"].danger {
  color: #d94c62 !important;
  background: #fff5f6 !important;
  border-color: #e99aa6 !important;
}

button[onclick="changeControlMode('INACTIVE')"].danger:hover {
  color: #b4233b !important;
  background: #ffe9ec !important;
  border-color: #dc6476 !important;
}

/* Mode aktif Manual atau Otomatis */
button[onclick^="changeControlMode"].primary {
  color: #fff !important;
  background: #249b78 !important;
  border-color: #249b78 !important;
  box-shadow: 0 6px 16px rgba(36, 155, 120, .18) !important;
}

button[onclick^="changeControlMode"].primary:hover {
  color: #fff !important;
  background: #177b5e !important;
  border-color: #177b5e !important;
}

/* Tombol utama: Baca User List */
button[onclick="scanControlNow()"]:not(:disabled):hover {
  color: #fff !important;
  background: #177b5e !important;
  border-color: #177b5e !important;
  box-shadow: 0 7px 18px rgba(20, 125, 96, .22) !important;
  transform: translateY(-1px);
}

/* Tombol Setujui Semua dan Muat Ulang */
button[onclick^="approveAllControlCandidates"]:not(:disabled):hover,
button[onclick="control()"]:not(:disabled):hover {
  color: #086b55 !important;
  background: #e8f7f1 !important;
  border-color: #2da782 !important;
  box-shadow: 0 6px 15px rgba(20, 125, 96, .12) !important;
  transform: translateY(-1px);
}

/* Semua tombol nonaktif */
#content button:disabled {
  color: #9aa8a3 !important;
  background: #edf2f0 !important;
  border-color: #d8e1de !important;
  box-shadow: none !important;
  opacity: .62 !important;
  cursor: not-allowed !important;
  transform: none !important;
  filter: grayscale(.25);
}

#content button:disabled:hover {
  color: #9aa8a3 !important;
  background: #edf2f0 !important;
  border-color: #d8e1de !important;
  box-shadow: none !important;
  transform: none !important;
}


/* CONTROL PANEL CUSTOM DIALOG */
.control-dialog {
  text-align: center;
  padding: 8px 10px 4px;
}

.control-dialog-icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 15px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #e8f8f2;
  color: #108264;
  border: 1px solid #b8e3d4;
  font-size: 25px;
  font-weight: 900;
  box-shadow: 0 10px 25px rgba(20,130,98,.13);
}

.control-dialog.warning .control-dialog-icon {
  background: #fff7df;
  color: #a66d05;
  border-color: #efd896;
}

.control-dialog.danger .control-dialog-icon {
  background: #fff0f2;
  color: #cf4258;
  border-color: #efb0ba;
}

.control-dialog-eyebrow {
  margin: 0 0 8px;
  color: #16866e;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .18em;
}

.control-dialog h2 {
  margin: 0;
  color: #102a23;
  font-size: 23px;
  letter-spacing: -.025em;
}

.control-dialog-message {
  max-width: 510px;
  margin: 11px auto 0;
  color: #627a73;
  line-height: 1.65;
}

.control-dialog-detail {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 19px 0 0;
  padding: 13px 14px;
  text-align: left;
  color: #35665a;
  background: #eff9f5;
  border: 1px solid #c9e7dc;
  border-radius: 12px;
  line-height: 1.5;
}

.control-dialog.warning .control-dialog-detail {
  color: #765715;
  background: #fff9e9;
  border-color: #efdda7;
}

.control-dialog.danger .control-dialog-detail {
  color: #8e3543;
  background: #fff3f4;
  border-color: #efc3ca;
}

.control-dialog-shield {
  flex: none;
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #20a57f;
  font-size: 11px;
  font-weight: 900;
}

.control-dialog-label {
  display: block;
  margin: 19px 0 7px;
  color: #45635b;
  font-size: 11px;
  font-weight: 750;
  text-align: left;
}

.control-dialog-label b {
  color: #c64155;
}

.control-dialog-input {
  width: 100%;
  min-height: 105px;
  resize: vertical;
  padding: 12px 13px;
  color: #15362d;
  background: #f8fbfa;
  border: 1px solid #ccded8;
  border-radius: 11px;
  outline: none;
  font: inherit;
}

.control-dialog-input:focus {
  border-color: #20a37e;
  box-shadow: 0 0 0 3px rgba(32,163,126,.12);
}

.control-dialog-input.invalid {
  border-color: #db5267;
  box-shadow: 0 0 0 3px rgba(219,82,103,.1);
}

.control-dialog-error {
  min-height: 17px;
  margin: 5px 0 0;
  color: #c64155;
  font-size: 11px;
  text-align: left;
}

.control-dialog-actions {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 10px;
  margin-top: 21px;
}

.control-dialog-actions button {
  min-height: 43px;
}

.control-dialog .control-confirm-button:hover {
  filter: brightness(1.07);
  transform: translateY(-1px);
}

@media(max-width:600px) {
  .control-dialog {
    padding: 4px 0 0;
  }

  .control-dialog-actions {
    grid-template-columns: 1fr;
  }

  .control-dialog-actions .control-confirm-button {
    grid-row: 1;
  }
}


/* DEPOSIT SETTINGS CONTROL PANEL */
.deposit-settings-grid {
  display: grid;
  grid-template-columns:
    minmax(220px,.75fr)
    minmax(320px,1.4fr)
    auto;
  gap: 14px;
  align-items: end;
}

.deposit-settings-grid label > span {
  display: block;
  margin-bottom: 7px;
  color: #36564e;
  font-size: 11px;
  font-weight: 800;
}

.deposit-settings-grid label small {
  display: block;
  margin-top: 6px;
  color: #81938e;
  font-size: 10px;
}

.deposit-amount-input {
  position: relative;
}

.deposit-amount-input b {
  position: absolute;
  left: 13px;
  top: 50%;
  z-index: 1;
  color: #147c62;
  transform: translateY(-50%);
}

.deposit-amount-input input {
  padding-left: 38px;
}

.deposit-settings-save {
  min-height: 43px;
  padding-left: 20px;
  padding-right: 20px;
  white-space: nowrap;
  align-self: start;
  margin-top: 22px;
}

.deposit-settings-preview {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
  margin-top: 17px;
}

.deposit-settings-preview > div {
  padding: 12px 14px;
  background: #f5faf8;
  border: 1px solid #dce9e4;
  border-radius: 11px;
}

.deposit-settings-preview span {
  display: block;
  margin-bottom: 5px;
  color: #7b9089;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.deposit-settings-preview strong {
  color: #193b32;
  font-size: 12px;
}

.deposit-settings-info {
  display: flex;
  gap: 12px;
  margin-top: 12px;
  padding: 12px 14px;
  color: #496a61;
  background: #eff8f5;
  border: 1px solid #d2e8e0;
  border-radius: 11px;
  font-size: 11px;
}

.deposit-settings-info b {
  flex: none;
  color: #14775f;
}

@media(max-width:900px) {
  .deposit-settings-grid {
    grid-template-columns: 1fr 1fr;
  }

  .deposit-settings-save {
    grid-column: 1/-1;
    margin-top: 0;
  }
}

@media(max-width:700px) {
  .deposit-settings-preview {
    grid-template-columns: 1fr;
  }
}

@media(max-width:620px) {
  .deposit-settings-grid {
    grid-template-columns: 1fr;
  }

  .deposit-settings-save {
    grid-column: auto;
  }

  .deposit-settings-info {
    display: grid;
    gap: 4px;
  }
}


/* =========================================================
   Control Panel — Status colors & candidate pagination
   ========================================================= */

.badge.orange {
  color: #a54808;
  background: #fff0df;
  border: 1px solid #f6d2aa;
}

.badge.yellow {
  color: #8a6408;
  background: #fff7d6;
  border: 1px solid #ead58a;
}

.badge.blue {
  color: #1d61a8;
  background: #e7f2ff;
  border: 1px solid #bfdcff;
}

.badge.purple {
  color: #6253be;
  background: #eeeafd;
  border: 1px solid #ddd5fa;
}

.badge.gray {
  color: #64736f;
  background: #edf2f0;
  border: 1px solid #d7e0dd;
}

.badge.green {
  border: 1px solid #bde8d8;
}

.badge.red {
  border: 1px solid #f2c1c7;
}

.control-pagination {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding-top: 16px;
  color: #607770;
  font-size: 12px;
}

.control-page-size {
  display: flex;
  align-items: center;
  gap: 9px;
}

.control-page-size select {
  width: auto;
  min-width: 105px;
  padding: 8px 30px 8px 10px;
}

.control-page-info {
  text-align: center;
}

.control-page-info b {
  color: #173d33;
}

.control-page-actions,
.control-page-numbers {
  display: flex;
  align-items: center;
  gap: 7px;
}

.control-page-numbers button {
  min-width: 34px;
}

.control-page-actions button:disabled {
  cursor: not-allowed;
  opacity: .42;
  box-shadow: none;
}

@media(max-width:760px) {
  .control-pagination {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .control-page-size,
  .control-page-actions {
    justify-content: space-between;
  }

  .control-page-info {
    text-align: left;
  }

  .control-page-numbers {
    display: none;
  }
}


/* GLOBAL API BALANCE ALERT */
.api-balance-alert{
  margin:0 24px 16px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:12px;
  color:#7f1d1d;
  background:linear-gradient(135deg,#fff7ed,#fff1f2);
  border:1px solid #fda4af;
  border-left:4px solid #e11d48;
  border-radius:12px;
  box-shadow:0 10px 28px rgba(127,29,29,.10);
}

.api-balance-alert.hidden{
  display:none!important;
}

.api-balance-alert-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  color:#fff;
  background:#e11d48;
  border-radius:50%;
  font-size:18px;
  font-weight:800;
}

.api-balance-alert-copy{
  min-width:0;
  display:flex;
  flex:1;
  flex-direction:column;
  gap:3px;
}

.api-balance-alert-copy strong{
  color:#881337;
  font-size:14px;
}

.api-balance-alert-copy span{
  color:#9f1239;
  font-size:13px;
  line-height:1.45;
}

.api-balance-alert-close{
  min-height:36px;
  padding:0 14px;
  color:#881337;
  background:#fff;
  border:1px solid #fda4af;
  border-radius:9px;
  cursor:pointer;
  font-weight:700;
}

.api-balance-alert-close:hover{
  color:#fff;
  background:#be123c;
  border-color:#be123c;
}

@media(max-width:720px){
  .api-balance-alert{
    margin:0 14px 14px;
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .api-balance-alert-copy{
    width:calc(100% - 50px);
  }

  .api-balance-alert-close{
    width:100%;
  }
}
.review-health-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.review-time,.review-reason{display:block;margin-top:6px;color:var(--muted);font-weight:400;line-height:1.35}
.review-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:250px}
.review-json{max-height:340px;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f3f8f6;white-space:pre-wrap;word-break:break-word;font-size:12px}
.bulk-review-card{border-left:4px solid #2aa77c}
.bulk-review-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:16px}
.bulk-review-stats>div{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#f5faf8;display:flex;flex-direction:column;gap:5px}
.bulk-review-stats span{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.04em}
.bulk-review-stats strong{font-size:21px;color:var(--ink)}
.bulk-progress{height:9px;background:#e3eeea;border-radius:999px;overflow:hidden;margin-top:14px}
.bulk-progress i{display:block;height:100%;background:linear-gradient(90deg,#3ad0a4,#24896e);border-radius:inherit;transition:width .35s ease}
.bulk-review-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:13px}
.worker-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.worker-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.worker-form .security-note,.worker-form .modal-actions{grid-column:1/-1}.worker-security-note{background:#eff9f5;color:#17654f;border-color:#c8e8dc}
@media(max-width:900px){.review-health-grid{grid-template-columns:1fr 1fr}.bulk-review-stats{grid-template-columns:1fr 1fr}.bulk-review-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.worker-form{grid-template-columns:1fr}.worker-form .security-note,.worker-form .modal-actions{grid-column:auto}}

.auto-start-options{
  display:grid;
  gap:10px;
  margin:18px 0;
}
.auto-start-option{
  display:grid;
  gap:5px;
  width:100%;
  padding:14px 16px;
  text-align:left;
}
.auto-start-option b{color:#17322b;font-size:13px}
.auto-start-option span{color:#667b75;font-size:11px;line-height:1.45}
.auto-start-option:hover:not(:disabled){border-color:#2ca47f;background:#eff9f5}
.worker-stats div{background:#f1f8f5!important;border-color:#d5e7df!important;color:#12251f!important}.worker-stats b{color:#132a22!important}.worker-stats small{color:#567068!important}.worker-test-all{border-color:#78c9ad;background:#effaf6;color:#166b52}.worker-bulk-test-list{display:grid;gap:8px;margin:18px 0}.worker-bulk-test-list>div{display:grid;grid-template-columns:28px 1fr minmax(100px,auto);align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:9px}.worker-bulk-test-list span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#e8f5f0;color:#187258;font-weight:800}.worker-bulk-test-list small{text-align:right;color:var(--muted)}.worker-bulk-test-list .testing{border-color:#e0b64f;background:#fff9e8}.worker-bulk-test-list .success{border-color:#72c7a8;background:#effaf6}.worker-bulk-test-list .success small{color:#167052;font-weight:800}.worker-bulk-test-list .failed{border-color:#e3979f;background:#fff1f2}.worker-bulk-test-list .failed small{color:#a92f3c;white-space:normal}
.worker-select span{background:#f4faf7!important;border-color:#9fcbbd!important;box-shadow:inset 0 0 0 1px #fff}.worker-select:hover span{border-color:#299875!important;background:#eaf7f2!important}.worker-select input:checked+span{background:#31aa83!important;border-color:#258c6d!important;box-shadow:none}.worker-select input:checked+span:after{color:#fff!important}
.worker-pool-head{align-items:flex-start;gap:16px}.worker-status-row,.worker-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.worker-head-actions{justify-content:flex-end}.worker-card-actions .btn{flex:1;min-width:92px}.worker-select{margin:0;cursor:pointer}.worker-select input{position:absolute;opacity:0;width:1px}.worker-select span{display:block;width:20px;height:20px;border:1px solid var(--line);border-radius:6px;background:#081423;position:relative}.worker-select input:checked+span{background:var(--green);border-color:var(--green)}.worker-select input:checked+span:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#06251c;font-size:13px;font-weight:900}.worker-selected{border-color:#28a77e;box-shadow:0 0 0 2px #28a77e26}.worker-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:13px 0}.worker-stats div{padding:8px 5px;background:#091624;border:1px solid var(--line);border-radius:8px;text-align:center}.worker-stats b,.worker-stats small{display:block}.worker-stats b{font-size:13px}.worker-stats small{font-size:8px;color:var(--muted);margin-top:3px}.btn:disabled,.primary:disabled{opacity:.45;cursor:not-allowed}@media(max-width:720px){.worker-pool-head{display:block}.worker-head-actions{justify-content:flex-start;margin-top:12px}.worker-head-actions>*{flex:1}}
