/* =========================================================
   VERSI 34 - PERBAIKAN ROLE SISWA & MOBILE
   ========================================================= */

/* Avatar pojok kanan atas hanya untuk desktop.
   Di HP/tablet harus kembali hanya icon menu hamburger. */
@media (max-width:1100px){
  .app-body .site-header .user-chip,
  .app-body .site-header .user-chip.user-chip-mini-v33,
  .app-body .site-header .avatar-mini-v33{
    display:none !important;
  }

  .app-body .mobile-menu-btn{
    display:flex !important;
  }
}

/* Sidebar: pastikan kartu bantuan lama tidak muncul */
.app-sidebar .help-card{
  display:none !important;
}

/* Dashboard siswa: hapus teks pembina/PIC dari markup sudah dilakukan.
   Berikut rapikan tampilan mobile dan tombol absensi. */
.joined-item-v34 .joined-info-v34 .muted{
  display:none !important;
}

@media (max-width:760px){
  .joined-list-v34{
    gap:22px !important;
  }

  .joined-item-v34{
    display:grid !important;
    grid-template-columns:118px 1fr !important;
    gap:16px 18px !important;
    align-items:start !important;
    padding:20px 0 !important;
  }

  .joined-item-v34 img{
    width:118px !important;
    height:92px !important;
    border-radius:14px !important;
    grid-column:1 / 2 !important;
    grid-row:1 / 2 !important;
  }

  .joined-info-v34{
    grid-column:2 / 3 !important;
    grid-row:1 / 2 !important;
    min-width:0 !important;
  }

  .joined-info-v34 b{
    display:block !important;
    font-size:20px !important;
    line-height:1.22 !important;
    margin-bottom:8px !important;
  }

  .joined-attendance-v34{
    grid-column:1 / -1 !important;
    width:100% !important;
    font-size:17px !important;
  }

  .joined-attendance-v34 b{
    font-size:22px !important;
    color:#082f49 !important;
  }

  .joined-absensi-btn-v34{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-height:52px !important;
    border-radius:14px !important;
    font-size:18px !important;
    white-space:normal !important;
  }
}

/* Daftar Ekskul: jika sisa pilihan sudah penuh, kartu lain dibuat tidak bisa diklik */
.choice-card-v34{
  position:relative;
}

.choice-card-v34.is-disabled-v34{
  opacity:.55;
  cursor:not-allowed;
  background:#f8fbff;
  box-shadow:none !important;
}

.choice-card-v34.is-disabled-v34 *{
  pointer-events:none;
}

.limit-info-v34{
  color:#64748b;
  font-weight:800;
  margin-top:16px;
}

/* Menu pembayaran: status belum bayar dibuat kecil, merah, tidak menabrak */
.pay-header-v34{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}

.pay-header-v34 h2{
  margin-top:0;
}

.pay-status-v34,
.pay-status-v33.pay-status-v34{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:34px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
  margin-top:2px !important;
}

.pay-status-v34.is-unpaid{
  background:#fff1f2 !important;
  color:#dc2626 !important;
  border:1px solid #fecdd3 !important;
}

.pay-status-v34.is-waiting{
  background:#fff7ed !important;
  color:#c2410c !important;
  border:1px solid #fed7aa !important;
}

.pay-status-v34.is-paid{
  background:#ecfdf5 !important;
  color:#059669 !important;
  border:1px solid #a7f3d0 !important;
}

.payment-actions-v34{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* Kelola Akun HP: cegah shape, nama panjang, dan tombol nabrak */
.account-profile-card-v33,
.account-upload-v33,
.account-profile-main-v33,
.account-profile-main-v33 > div{
  min-width:0 !important;
  max-width:100% !important;
}

.account-profile-card-v33{
  overflow:hidden !important;
}

.account-profile-main-v33 h2{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

.account-upload-v33{
  width:100% !important;
}

.upload-row-v33 input[type="file"]{
  min-width:0 !important;
  max-width:100% !important;
}

@media (max-width:760px){
  .account-profile-card-v33{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:18px !important;
    border-radius:18px !important;
  }

  .account-profile-main-v33{
    display:grid !important;
    grid-template-columns:82px 1fr !important;
    gap:16px !important;
    align-items:start !important;
  }

  .account-avatar-v33{
    width:76px !important;
    height:76px !important;
    flex-basis:76px !important;
    font-size:28px !important;
  }

  .account-profile-main-v33 h2{
    font-size:24px !important;
    line-height:1.18 !important;
    margin-top:0 !important;
  }

  .account-upload-v33{
    padding:16px !important;
    border-radius:16px !important;
    overflow:hidden !important;
  }

  .upload-row-v33{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .upload-row-v33 input[type="file"],
  .upload-row-v33 .btn,
  .account-upload-v33 .btn{
    width:100% !important;
  }

  .app-content{
    overflow-x:hidden !important;
  }

  .pay-header-v34{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .pay-status-v34,
  .pay-status-v33.pay-status-v34{
    justify-self:start !important;
    margin-top:0 !important;
  }

  .payment-actions-v34{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .payment-actions-v34 .btn{
    width:100% !important;
  }
}
