.ubq-quiz-wrap {
    border: 1px solid #ddd;
    padding: 20px;
    background: #fff;
    margin: 20px 0;
    border-radius: 6px;
}

.ubq-quiz-title {
    margin-top: 0;
    margin-bottom: 15px;
}

.ubq-quiz-content {
    margin-bottom: 20px;
}

.ubq-question {
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid #eee;
    border-radius: 6px;
    background: #fafafa;
}

.ubq-question-title {
    margin-top: 0;
    margin-bottom: 12px;
}

.ubq-option {
    display: block;
    margin-bottom: 10px;
    cursor: pointer;
}

.ubq-option input {
    margin-right: 8px;
}

.ubq-submit-btn {
    background: #2271b1;
    color: #fff;
    border: none;
    padding: 10px 18px;
    cursor: pointer;
    border-radius: 4px;
}

.ubq-submit-btn:hover {
    background: #135e96;
}

.ubq-submit-btn:disabled {
    background: #8aa9c0;
    cursor: not-allowed;
}

.ubq-result {
    margin-top: 20px;
}

.ubq-info-box,
.ubq-success-box,
.ubq-fail-box,
.ubq-error-box {
    padding: 14px 16px;
    border-radius: 4px;
}

.ubq-info-box {
    background: #eef6fc;
    border-left: 4px solid #2271b1;
}

.ubq-success-box {
    background: #edf9f0;
    border-left: 4px solid #1e8e3e;
}

.ubq-fail-box {
    background: #fff4e5;
    border-left: 4px solid #d97706;
}

.ubq-error-box {
    background: #fdecec;
    border-left: 4px solid #c62828;
}

.ubq-question-error {
    border-color: #c62828;
    background: #fff8f8;
}

.ubq-history-wrap {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}

.ubq-history-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.ubq-history-table th,
.ubq-history-table td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left;
}

.ubq-history-table th {
    background: #f6f7f7;
}

.ubq-status-pass {
    color: #1e8e3e;
    font-weight: 600;
}

.ubq-status-fail {
    color: #d97706;
    font-weight: 600;
}

.ubq-timer-box {
    background: #eef5fb;
    border-left: 4px solid #2271b1;
    padding: 18px 20px;
    margin-bottom: 24px;
    border-radius: 6px;
}

.ubq-timer {
    font-weight: 700;
    margin-left: 10px;
    font-size: 18px;
}

.ubq-timer-warning {
    color: #c62828;
}

.ubq-question {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 22px;
    margin-bottom: 22px;
}

.ubq-question-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 18px;
}

.ubq-question-type-note {
    display: inline-block;
    margin-left: 10px;
    font-size: 13px;
    font-weight: 500;
    color: #666;
}

.ubq-option {
    display: block;
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.ubq-option input[type="radio"],
.ubq-option input[type="checkbox"] {
    margin-right: 10px;
}

.ubq-option-correct {
    background: #e8f7e8 !important;
    border: 1px solid #28a745 !important;
}

.ubq-option-correct,
.ubq-option-correct span {
    color: #1f7a31 !important;
    font-weight: 600;
}

.ubq-option-wrong {
    background: #fdeaea !important;
    border: 1px solid #dc3545 !important;
}

.ubq-option-wrong,
.ubq-option-wrong span {
    color: #b42318 !important;
    font-weight: 600;
}

.ubq-option-missed {
    box-shadow: inset 0 0 0 1px #28a745;
}

.ubq-question-error {
    border-color: #dc3545 !important;
}

.ubq-submit-wrap {
    margin-top: 20px;
}

.ubq-submit-btn {
    background: #2271b1;
    color: #fff;
    border: none;
    padding: 12px 22px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
}

.ubq-submit-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.ubq-success-box,
.ubq-fail-box,
.ubq-error-box,
.ubq-info-box {
    padding: 16px 18px;
    border-radius: 6px;
    margin-top: 20px;
}

.ubq-success-box {
    background: #ecfdf3;
    border: 1px solid #28a745;
}

.ubq-fail-box {
    background: #fff4e5;
    border: 1px solid #d97706;
}

.ubq-error-box {
    background: #fdeaea;
    border: 1px solid #dc3545;
}

.ubq-info-box {
    background: #eef5fb;
    border: 1px solid #2271b1;
}

.ubq-attempt-history {
    margin-top: 30px;
}

.ubq-history-table {
    width: 100%;
    border-collapse: collapse;
}

.ubq-history-table th,
.ubq-history-table td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left;
}

.ubq-status-pass {
    color: #1f7a31;
    font-weight: 700;
}

.ubq-status-fail {
    color: #b45309;
    font-weight: 700;
}