.mock-exam-page { background: #f6f8fb; min-height: 70vh; }
.mock-exam-shell { max-width: 1160px; margin: 0 auto; padding: 36px 16px; }
.mock-exam-toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 18px; }
.mock-exam-toolbar input, .mock-exam-toolbar select { min-height: 38px; border: 1px solid #d9e1ec; border-radius: 6px; padding: 0 10px; background: #fff; }
.mock-exam-table { width: 100%; background: #fff; border-collapse: collapse; box-shadow: 0 8px 24px rgba(15, 40, 72, .08); }
.mock-exam-table th, .mock-exam-table td { padding: 14px 16px; border-bottom: 1px solid #e8edf4; text-align: left; vertical-align: middle; }
.mock-exam-table th { color: #33516f; background: #f9fbfe; font-weight: 700; }
.mock-exam-btn { border: 0; border-radius: 6px; padding: 9px 14px; background: #4f6fb7; color: #fff; cursor: pointer; text-decoration: none; display: inline-block; }
.mock-exam-btn.secondary { background: #eef3fb; color: #31517f; }
.mock-exam-btn.danger { background: #ba4545; }
.mock-exam-btn:disabled { opacity: .6; cursor: not-allowed; }
.mock-exam-action-group { display: flex; flex-wrap: wrap; gap: 8px; }
.mock-exam-render { color: #1c2c3d; line-height: 1.65; }
.mock-node-image { max-width: 100%; margin: 10px 0; border: 1px solid #e1e7ef; border-radius: 6px; }
.mock-question { background: #fff; border: 1px solid #e3eaf2; border-radius: 8px; padding: 18px; margin-bottom: 16px; }
.mock-question-title { font-weight: 700; margin-bottom: 10px; color: #223b59; }
.mock-options { margin-top: 12px; display: grid; gap: 8px; }
.mock-option { display: flex; gap: 8px; padding: 10px; border: 1px solid #e1e8f1; border-radius: 6px; background: #fbfdff; }
.mock-option input { margin-top: 6px; }
.mock-answer { color: #236b3a; font-weight: 700; margin-top: 10px; }
.mock-exam-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; align-items: start; }
.mock-exam-main, .mock-exam-side { background: #fff; border: 1px solid #e4ebf4; border-radius: 8px; padding: 18px; }
.mock-exam-side { position: sticky; top: 88px; max-height: calc(100vh - 110px); display: flex; flex-direction: column; }
.mock-card-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 16px; }
.mock-card-grid button { height: 36px; border: 1px solid #cfdae8; background: #fff; border-radius: 5px; }
.mock-card-grid button.active { background: #4f6fb7; color: #fff; }
.mock-card-grid button.answered { border-color: #4e9d64; color: #2c763b; }
.mock-submit-wrap { margin-top: auto; padding-top: 12px; border-top: 1px solid #e8edf4; }
.mock-record-correct { color: #1c7d3d; font-weight: 700; }
.mock-record-wrong { color: #b33a3a; font-weight: 700; }
@media (max-width: 900px) {
  .mock-exam-layout { grid-template-columns: 1fr; }
  .mock-exam-side { position: static; max-height: none; }
}

/* ===== Collapsible sidebar toggle button ===== */
.me-side-collapse-btn{position:absolute;right:8px;top:8px;width:28px;height:28px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:#6c757d;z-index:5;transition:all .15s}
.me-side-collapse-btn:hover{background:#ede7f6;color:#512DA8;border-color:#512DA8}
.me-side-collapse-btn .arrow{transition:transform .2s}
.me-side-collapsed .me-side-collapse-btn .arrow{transform:rotate(180deg)}
.me-side-expand-btn{position:fixed;right:8px;top:50%;transform:translateY(-50%);width:36px;height:48px;background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:16px;color:#6c757d;z-index:20;box-shadow:-2px 0 8px rgba(0,0,0,.1)}
.me-side-expand-btn:hover{background:#ede7f6;color:#512DA8;border-color:#512DA8}
