/* =========================
   BASE PAGINATION ITEM
========================= */
.tutor-quiz-question-paginate-item{
    width:28px !important;
    height:28px !important;

    border-radius:6px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    text-decoration:none !important;

    font-size:12px !important;
    font-weight:600 !important;

    transition:all .2s ease;
    position:relative;
}
  
  /* =========================
   UNANSWERED
  ========================= */
  .tutor-quiz-question-paginate-item.tutor-quiz-question-unanswered{
    background:#e5e7eb !important;
    border-color:#e5e7eb !important;
    color:#374151 !important;
  }
  
  /* =========================
   ANSWERED
  ========================= */
  .tutor-quiz-question-paginate-item.tutor-quiz-question-answered{
    background:#22c55e !important;
    border-color:#22c55e !important;
    color:#fff !important;
  }
  
  .tutor-quiz-question-paginate-item.tutor-quiz-question-answered.active{
      box-shadow:
          0 0 0 4px rgba(34,197,94,.75),
          0 8px 20px rgba(34,197,94,.45);
  }
  
  /* =========================
   ACTIVE
  ========================= */
  .tutor-quiz-question-paginate-item.active{
    background:#2563eb !important;
    color:#fff !important;
    border-color:#2563eb !important;
  
    box-shadow:
        0 0 0 3px rgba(37,99,235,.45),
        0 6px 16px rgba(37,99,235,.25);
  
    transform:scale(1.05);
  }
  
  /* =========================
   FLAG INDICATOR
  ========================= */
  .tutor-quiz-question-paginate-item.medx-flagged::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:0;
    height:0;
    border-top:18px solid #ef4444;
    border-left:18px solid transparent;
    border-top-right-radius:6px;
    z-index:2;
  }
  
  /* =========================
   FLAG BUTTON
  ========================= */
  .medx-flag-btn{
    width:18px;
    height:18px;
    margin:6px auto 0;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  
  .medx-flag-btn::before{
    content:"";
    width:0;
    height:0;
    border-left:6px solid #d1d5db;
    border-top:4px solid transparent;
    border-bottom:4px solid transparent;
    transform:translateX(1px);
  }
  
  .medx-flag-btn:hover::before{
    border-left-color:#f59e0b;
    transform:scale(1.2) translateX(1px);
  }
  
  .medx-flag-btn.active::before{
    border-left-color:#ef4444 !important;
  }
  
  /* =========================
   MODAL
  ========================= */
  
  .medx-submit-modal{
    position:fixed;
    inset:0;
    z-index:99999;
    display:none;
  }
  
  .medx-submit-modal.show{
    display:block;
  }
  
  /* =========================
   OVERLAY
  ========================= */
  
  .medx-submit-overlay{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.65);
    backdrop-filter:blur(4px);
  }
  
  /* =========================
   BOX
  ========================= */
  
  .medx-submit-box{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:480px;
    max-width:92%;
  
    background:#ffffff;
  
    border-radius:22px;
  
    padding:28px;
  
    box-shadow:
        0 24px 80px rgba(0,0,0,.18);
  
    animation:medxModalIn .2s ease;
  }
  
  @keyframes medxModalIn{
    from{
        opacity:0;
        transform:translate(-50%,-48%);
    }
    to{
        opacity:1;
        transform:translate(-50%,-50%);
    }
  }
  
  /* =========================
   TITLE
  ========================= */
  
  .medx-submit-title{
    font-size:28px;
    font-weight:700;
    color:#0f172a;
    margin-bottom:18px;
  }
  
  /* =========================
   CONTENT
  ========================= */
  
  .medx-submit-content{
    color:#475569;
    line-height:1.6;
    font-size:15px;
  }
  
  /* =========================
   SUCCESS STATE
  ========================= */
  
  .medx-submit-success{
    text-align:center;
    padding:10px 0;
  }
  
  .medx-submit-success-icon{
    font-size:48px;
    margin-bottom:12px;
  }
  
  .medx-submit-success-title{
    font-size:20px;
    font-weight:700;
    color:#0f172a;
    margin-bottom:8px;
  }
  
  .medx-submit-success-desc{
    color:#64748b;
    font-size:15px;
  }
  
  /* =========================
   WARNING STATE
  ========================= */
  
  .medx-submit-warning-title{
    font-size:18px;
    font-weight:700;
    color:#0f172a;
    margin-bottom:6px;
  }
  
  .medx-submit-warning-desc{
    color:#64748b;
    margin-bottom:14px;
  }
  
  .medx-submit-warning-footer{
    margin-top:18px;
    font-weight:600;
    color:#334155;
  }
  
  /* =========================
   INFO BOX
  ========================= */
  
  .medx-submit-info{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:14px;
    padding:16px;
  }
  
  /* =========================
   ROW
  ========================= */
  
  .medx-submit-row{
    display:flex;
    align-items:center;
    gap:12px;
  }
  
  .medx-submit-row:not(:last-child){
    margin-bottom:12px;
  }
  
  /* =========================
   ICON
  ========================= */
  
  .medx-submit-icon{
    font-size:22px;
    line-height:1;
    flex-shrink:0;
  }
  
  .medx-submit-text{
    font-size:15px;
    color:#334155;
    font-weight:500;
  }
  
  /* =========================
   ACTIONS
  ========================= */
  
  .medx-submit-actions{
    display:flex;
    justify-content:flex-end;
    gap:12px;
    margin-top:24px;
  }
  
  /* =========================
   BUTTON BASE
  ========================= */
  
  .medx-btn{
    border:none;
    cursor:pointer;
  
    padding:13px 20px;
  
    border-radius:12px;
  
    font-size:15px;
    font-weight:600;
  
    transition:all .2s ease;
  }
  
  /* =========================
   SECONDARY
  ========================= */
  
  .medx-btn-secondary{
    background:#f8fafc !important;
    border:1px solid #cbd5e1 !important;
    color:#475569 !important;
  }
  
  .medx-btn-secondary:hover{
    background:#eef2f7 !important;
    border-color:#94a3b8 !important;
  }
  
  /* =========================
   PRIMARY
  ========================= */
  
  .medx-btn-primary{
    background:#2563eb !important;
    color:#ffffff !important;
    border:1px solid #2563eb !important;
  }
  
  .medx-btn-primary:hover{
    background:#1d4ed8 !important;
    border-color:#1d4ed8 !important;
    transform:translateY(-1px);
  }
  
  /* =========================
   MOBILE
  ========================= */
  
  @media(max-width:640px){
  
    .medx-submit-box{
        width:95%;
        padding:22px;
    }
  
    .medx-submit-title{
        font-size:24px;
    }
  
    .medx-submit-actions{
        flex-direction:column;
    }
  
    .medx-btn{
        width:100%;
    }
  }
  
  /* =========================
   SUBMIT ICONS
  ========================= */
  
  .medx-icon-warning::before{
    content:"!";
    display:flex;
    align-items:center;
    justify-content:center;
  
    width:22px;
    height:22px;
  
    border-radius:999px;
  
    background:#f59e0b;
    color:#fff;
  
    font-size:14px;
    font-weight:700;
  }
  
  .medx-icon-flag::before{
    content:"?";
  
    display:flex;
    align-items:center;
    justify-content:center;
  
    width:22px;
    height:22px;
  
    border-radius:999px;
  
    background:#ef4444;
    color:#fff;
  
    font-size:13px;
    font-weight:700;
  }
  
  /* =========================
     QUIZ QUESTION
  ========================= */
  
  .quiz-question-title{
      font-size:18px !important;
      line-height:1.6 !important;
      font-weight:500 !important;
  }
  
  .question-marks{
      font-size:13px !important;
      color:#64748b !important;
  }
  
  /* Collapse sidebar */
  body.medx-sidebar-collapsed .tutor-course-single-sidebar{
      display: none !important;
  }
  
  /* Perlebar area konten */
  body.medx-sidebar-collapsed .tutor-course-single-content{
      width: 100% !important;
      margin-left: 0 !important;
  }
  
  /* =========================
     QUIZ LAYOUT
  ========================= */
  
  #tutor-quiz-attempt-questions-wrap{
      display:flex;
      align-items:flex-start;
      gap:24px;
  }
  
  #tutor-answering-quiz{
      flex:1;
      order:1;
      min-width:0;
  }
  
  .tutor-quiz-questions-pagination{
      order:2;
      width:220px;
      flex-shrink:0;
      position:sticky;
      top:20px;
  }
  
  .medx-pagination-group{
      display:block;
      width:100%;
      margin-bottom:10px;
  }
  
  .medx-pagination-group summary{
      cursor:pointer;
      font-weight:600;
  }
  
  .tutor-quiz-questions-pagination ul{
      display:block !important;
      padding:0;
  }
  
  .medx-pagination-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin-top:8px;
  }